mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-13 22:54:25 +01:00
780 lines
32 KiB
PHP
780 lines
32 KiB
PHP
<?php
|
|
|
|
if (! defined('APP_NAME')) {
|
|
define('APP_NAME', env('APP_NAME', 'Invoice Ninja'));
|
|
define('APP_DOMAIN', env('APP_DOMAIN', 'invoiceninja.com'));
|
|
define('CONTACT_EMAIL', env('MAIL_FROM_ADDRESS'));
|
|
define('CONTACT_NAME', env('MAIL_FROM_NAME'));
|
|
define('SITE_URL', env('APP_URL'));
|
|
|
|
define('ENV_DEVELOPMENT', 'local');
|
|
define('ENV_STAGING', 'staging');
|
|
|
|
define('RECENTLY_VIEWED', 'recent_history');
|
|
|
|
define('ENTITY_CLIENT', 'client');
|
|
define('ENTITY_CONTACT', 'contact');
|
|
define('ENTITY_INVOICE', 'invoice');
|
|
define('ENTITY_DOCUMENT', 'document');
|
|
define('ENTITY_INVOICE_ITEM', 'invoice_item');
|
|
define('ENTITY_INVITATION', 'invitation');
|
|
define('ENTITY_RECURRING_INVOICE', 'recurring_invoice');
|
|
define('ENTITY_RECURRING_QUOTE', 'recurring_quote');
|
|
define('ENTITY_PAYMENT', 'payment');
|
|
define('ENTITY_CREDIT', 'credit');
|
|
define('ENTITY_QUOTE', 'quote');
|
|
define('ENTITY_TASK', 'task');
|
|
define('ENTITY_TASK_STATUS', 'task_status');
|
|
define('ENTITY_ACCOUNT_GATEWAY', 'account_gateway');
|
|
define('ENTITY_USER', 'user');
|
|
define('ENTITY_TOKEN', 'token');
|
|
define('ENTITY_TAX_RATE', 'tax_rate');
|
|
define('ENTITY_PRODUCT', 'product');
|
|
define('ENTITY_ACTIVITY', 'activity');
|
|
define('ENTITY_VENDOR', 'vendor');
|
|
define('ENTITY_VENDOR_ACTIVITY', 'vendor_activity');
|
|
define('ENTITY_EXPENSE', 'expense');
|
|
define('ENTITY_PAYMENT_TERM', 'payment_term');
|
|
define('ENTITY_EXPENSE_ACTIVITY', 'expense_activity');
|
|
define('ENTITY_BANK_ACCOUNT', 'bank_account');
|
|
define('ENTITY_BANK_SUBACCOUNT', 'bank_subaccount');
|
|
define('ENTITY_EXPENSE_CATEGORY', 'expense_category');
|
|
define('ENTITY_PROJECT', 'project');
|
|
define('ENTITY_RECURRING_EXPENSE', 'recurring_expense');
|
|
define('ENTITY_CUSTOMER', 'customer');
|
|
define('ENTITY_SUBSCRIPTION', 'subscription');
|
|
define('ENTITY_PROPOSAL', 'proposal');
|
|
define('ENTITY_PROPOSAL_TEMPLATE', 'proposal_template');
|
|
define('ENTITY_PROPOSAL_SNIPPET', 'proposal_snippet');
|
|
define('ENTITY_PROPOSAL_CATEGORY', 'proposal_category');
|
|
define('ENTITY_PROPOSAL_INVITATION', 'proposal_invitation');
|
|
define('ENTITY_TICKET', 'ticket');
|
|
define('ENTITY_TICKET_COMMENT', 'ticket_comment');
|
|
define('ENTITY_TICKET_STATUS', 'ticket_status');
|
|
define('ENTITY_TICKET_CATEGORY', 'ticket_category');
|
|
define('ENTITY_TICKET_RELATION', 'ticket_relation');
|
|
define('ENTITY_TICKET_TEMPLATE', 'ticket_template');
|
|
define('ENTITY_TICKET_INVITATION', 'ticket_invitation');
|
|
|
|
$permissionEntities = [
|
|
ENTITY_CLIENT,
|
|
//ENTITY_CONTACT,
|
|
ENTITY_CREDIT,
|
|
ENTITY_EXPENSE,
|
|
ENTITY_INVOICE,
|
|
ENTITY_PAYMENT,
|
|
ENTITY_PRODUCT,
|
|
ENTITY_PROJECT,
|
|
ENTITY_PROPOSAL,
|
|
ENTITY_QUOTE,
|
|
'dashboard',
|
|
'reports',
|
|
ENTITY_TICKET,
|
|
ENTITY_TASK,
|
|
ENTITY_VENDOR,
|
|
];
|
|
|
|
define('PERMISSION_ENTITIES', json_encode($permissionEntities));
|
|
|
|
define('INVOICE_TYPE_STANDARD', 1);
|
|
define('INVOICE_TYPE_QUOTE', 2);
|
|
|
|
define('INVOICE_ITEM_TYPE_STANDARD', 1);
|
|
define('INVOICE_ITEM_TYPE_TASK', 2);
|
|
define('INVOICE_ITEM_TYPE_PENDING_GATEWAY_FEE', 3);
|
|
define('INVOICE_ITEM_TYPE_PAID_GATEWAY_FEE', 4);
|
|
define('INVOICE_ITEM_TYPE_LATE_FEE', 5);
|
|
|
|
define('PERSON_CONTACT', 'contact');
|
|
define('PERSON_USER', 'user');
|
|
define('PERSON_VENDOR_CONTACT', 'vendorcontact');
|
|
|
|
define('BASIC_SETTINGS', 'basic_settings');
|
|
define('ADVANCED_SETTINGS', 'advanced_settings');
|
|
|
|
define('ACCOUNT_COMPANY_DETAILS', 'company_details');
|
|
define('ACCOUNT_USER_DETAILS', 'user_details');
|
|
define('ACCOUNT_LOCALIZATION', 'localization');
|
|
define('ACCOUNT_NOTIFICATIONS', 'notifications');
|
|
define('ACCOUNT_IMPORT_EXPORT', 'import_export');
|
|
define('ACCOUNT_MANAGEMENT', 'account_management');
|
|
define('ACCOUNT_PAYMENTS', 'online_payments');
|
|
define('ACCOUNT_BANKS', 'bank_accounts');
|
|
define('ACCOUNT_IMPORT_EXPENSES', 'import_expenses');
|
|
define('ACCOUNT_MAP', 'import_map');
|
|
define('ACCOUNT_EXPORT', 'export');
|
|
define('ACCOUNT_TAX_RATES', 'tax_rates');
|
|
define('ACCOUNT_TICKETS', 'tickets');
|
|
define('ACCOUNT_PRODUCTS', 'products');
|
|
define('ACCOUNT_ADVANCED_SETTINGS', 'advanced_settings');
|
|
define('ACCOUNT_INVOICE_SETTINGS', 'invoice_settings');
|
|
define('ACCOUNT_INVOICE_DESIGN', 'invoice_design');
|
|
define('ACCOUNT_CLIENT_PORTAL', 'client_portal');
|
|
define('ACCOUNT_EMAIL_SETTINGS', 'email_settings');
|
|
define('ACCOUNT_REPORTS', 'reports');
|
|
define('ACCOUNT_USER_MANAGEMENT', 'user_management');
|
|
define('ACCOUNT_DATA_VISUALIZATIONS', 'data_visualizations');
|
|
define('ACCOUNT_TEMPLATES_AND_REMINDERS', 'templates_and_reminders');
|
|
define('ACCOUNT_API_TOKENS', 'api_tokens');
|
|
define('ACCOUNT_CUSTOMIZE_DESIGN', 'customize_design');
|
|
define('ACCOUNT_SYSTEM_SETTINGS', 'system_settings');
|
|
define('ACCOUNT_PAYMENT_TERMS', 'payment_terms');
|
|
|
|
define('ACTION_RESTORE', 'restore');
|
|
define('ACTION_ARCHIVE', 'archive');
|
|
define('ACTION_CLONE', 'clone');
|
|
define('ACTION_CONVERT', 'convert');
|
|
define('ACTION_DELETE', 'delete');
|
|
|
|
define('ACTIVITY_TYPE_CREATE_CLIENT', 1);
|
|
define('ACTIVITY_TYPE_ARCHIVE_CLIENT', 2);
|
|
define('ACTIVITY_TYPE_DELETE_CLIENT', 3);
|
|
define('ACTIVITY_TYPE_CREATE_INVOICE', 4);
|
|
define('ACTIVITY_TYPE_UPDATE_INVOICE', 5);
|
|
define('ACTIVITY_TYPE_EMAIL_INVOICE', 6);
|
|
define('ACTIVITY_TYPE_VIEW_INVOICE', 7);
|
|
define('ACTIVITY_TYPE_ARCHIVE_INVOICE', 8);
|
|
define('ACTIVITY_TYPE_DELETE_INVOICE', 9);
|
|
define('ACTIVITY_TYPE_CREATE_PAYMENT', 10);
|
|
//define('ACTIVITY_TYPE_UPDATE_PAYMENT', 11);
|
|
define('ACTIVITY_TYPE_ARCHIVE_PAYMENT', 12);
|
|
define('ACTIVITY_TYPE_DELETE_PAYMENT', 13);
|
|
define('ACTIVITY_TYPE_CREATE_CREDIT', 14);
|
|
//define('ACTIVITY_TYPE_UPDATE_CREDIT', 15);
|
|
define('ACTIVITY_TYPE_ARCHIVE_CREDIT', 16);
|
|
define('ACTIVITY_TYPE_DELETE_CREDIT', 17);
|
|
define('ACTIVITY_TYPE_CREATE_QUOTE', 18);
|
|
define('ACTIVITY_TYPE_UPDATE_QUOTE', 19);
|
|
define('ACTIVITY_TYPE_EMAIL_QUOTE', 20);
|
|
define('ACTIVITY_TYPE_VIEW_QUOTE', 21);
|
|
define('ACTIVITY_TYPE_ARCHIVE_QUOTE', 22);
|
|
define('ACTIVITY_TYPE_DELETE_QUOTE', 23);
|
|
define('ACTIVITY_TYPE_RESTORE_QUOTE', 24);
|
|
define('ACTIVITY_TYPE_RESTORE_INVOICE', 25);
|
|
define('ACTIVITY_TYPE_RESTORE_CLIENT', 26);
|
|
define('ACTIVITY_TYPE_RESTORE_PAYMENT', 27);
|
|
define('ACTIVITY_TYPE_RESTORE_CREDIT', 28);
|
|
define('ACTIVITY_TYPE_APPROVE_QUOTE', 29);
|
|
define('ACTIVITY_TYPE_CREATE_VENDOR', 30);
|
|
define('ACTIVITY_TYPE_ARCHIVE_VENDOR', 31);
|
|
define('ACTIVITY_TYPE_DELETE_VENDOR', 32);
|
|
define('ACTIVITY_TYPE_RESTORE_VENDOR', 33);
|
|
define('ACTIVITY_TYPE_CREATE_EXPENSE', 34);
|
|
define('ACTIVITY_TYPE_ARCHIVE_EXPENSE', 35);
|
|
define('ACTIVITY_TYPE_DELETE_EXPENSE', 36);
|
|
define('ACTIVITY_TYPE_RESTORE_EXPENSE', 37);
|
|
define('ACTIVITY_TYPE_VOIDED_PAYMENT', 39);
|
|
define('ACTIVITY_TYPE_REFUNDED_PAYMENT', 40);
|
|
define('ACTIVITY_TYPE_FAILED_PAYMENT', 41);
|
|
define('ACTIVITY_TYPE_CREATE_TASK', 42);
|
|
define('ACTIVITY_TYPE_UPDATE_TASK', 43);
|
|
define('ACTIVITY_TYPE_ARCHIVE_TASK', 44);
|
|
define('ACTIVITY_TYPE_DELETE_TASK', 45);
|
|
define('ACTIVITY_TYPE_RESTORE_TASK', 46);
|
|
define('ACTIVITY_TYPE_UPDATE_EXPENSE', 47);
|
|
define('ACTIVITY_TYPE_USER_UPDATE_TICKET', 48);
|
|
define('ACTIVITY_TYPE_USER_CLOSE_TICKET', 49);
|
|
define('ACTIVITY_TYPE_USER_MERGE_TICKET', 50);
|
|
define('ACTIVITY_TYPE_USER_SPLIT_TICKET', 51);
|
|
define('ACTIVITY_TYPE_CONTACT_OPEN_TICKET', 52);
|
|
define('ACTIVITY_TYPE_CONTACT_REOPEN_TICKET', 53);
|
|
define('ACTIVITY_TYPE_USER_REOPEN_TICKET', 54);
|
|
define('ACTIVITY_TYPE_CONTACT_REPLY_TICKET', 55);
|
|
define('ACTIVITY_TYPE_USER_VIEW_TICKET', 56);
|
|
|
|
|
|
define('DEFAULT_INVOICE_NUMBER', '0001');
|
|
define('RECENTLY_VIEWED_LIMIT', 20);
|
|
define('LOGGED_ERROR_LIMIT', 100);
|
|
define('RANDOM_KEY_LENGTH', 32);
|
|
define('MAX_NUM_USERS', 20);
|
|
define('MAX_IMPORT_ROWS', 5000);
|
|
define('MAX_SUBDOMAIN_LENGTH', 30);
|
|
define('MAX_IFRAME_URL_LENGTH', 250);
|
|
define('MAX_LOGO_FILE_SIZE', 200); // KB
|
|
define('MAX_FAILED_LOGINS', 10);
|
|
define('MAX_INVOICE_ITEMS', env('MAX_INVOICE_ITEMS', 100));
|
|
define('MAX_DOCUMENT_SIZE', env('MAX_DOCUMENT_SIZE', 10000)); // KB
|
|
define('MAX_EMAIL_DOCUMENTS_SIZE', env('MAX_EMAIL_DOCUMENTS_SIZE', 10000)); // Total KB
|
|
define('MAX_ZIP_DOCUMENTS_SIZE', env('MAX_EMAIL_DOCUMENTS_SIZE', 30000)); // Total KB (uncompressed)
|
|
define('MAX_EMAILS_SENT_PER_DAY', 300);
|
|
define('DOCUMENT_PREVIEW_SIZE', env('DOCUMENT_PREVIEW_SIZE', 300)); // pixels
|
|
define('DEFAULT_FONT_SIZE', 9);
|
|
define('DEFAULT_HEADER_FONT', 1); // Roboto
|
|
define('DEFAULT_BODY_FONT', 1); // Roboto
|
|
define('DEFAULT_SEND_RECURRING_HOUR', 8);
|
|
|
|
define('DEFAULT_BANK_OFX_VERSION', 102);
|
|
define('DEFAULT_BANK_APP_VERSION', 2500);
|
|
|
|
define('IMPORT_CSV', 'CSV');
|
|
define('IMPORT_JSON', 'JSON');
|
|
define('IMPORT_FRESHBOOKS', 'FreshBooks');
|
|
define('IMPORT_WAVE', 'Wave');
|
|
define('IMPORT_RONIN', 'Ronin');
|
|
define('IMPORT_HIVEAGE', 'Hiveage');
|
|
define('IMPORT_ZOHO', 'Zoho');
|
|
define('IMPORT_NUTCACHE', 'Nutcache');
|
|
define('IMPORT_INVOICEABLE', 'Invoiceable');
|
|
define('IMPORT_INVOICEPLANE', 'InvoicePlane');
|
|
define('IMPORT_HARVEST', 'Harvest');
|
|
define('IMPORT_STRIPE', 'Stripe');
|
|
define('IMPORT_PANCAKE', 'Pancake');
|
|
|
|
define('MAX_NUM_CLIENTS', 100);
|
|
define('MAX_NUM_CLIENTS_PRO', 40000);
|
|
define('MAX_NUM_CLIENTS_LEGACY', 500);
|
|
define('MAX_INVOICE_AMOUNT', 10000000000);
|
|
define('LEGACY_CUTOFF', 57800);
|
|
define('ERROR_DELAY', 3);
|
|
|
|
define('MAX_NUM_VENDORS', 100);
|
|
define('MAX_NUM_VENDORS_PRO', 20000);
|
|
|
|
define('STATUS_ACTIVE', 'active');
|
|
define('STATUS_ARCHIVED', 'archived');
|
|
define('STATUS_DELETED', 'deleted');
|
|
|
|
define('INVOICE_STATUS_DRAFT', 1);
|
|
define('INVOICE_STATUS_SENT', 2);
|
|
define('INVOICE_STATUS_VIEWED', 3);
|
|
define('INVOICE_STATUS_APPROVED', 4);
|
|
define('INVOICE_STATUS_PARTIAL', 5);
|
|
define('INVOICE_STATUS_PAID', 6);
|
|
define('INVOICE_STATUS_OVERDUE', -1);
|
|
define('INVOICE_STATUS_UNPAID', -2);
|
|
|
|
define('PAYMENT_STATUS_PENDING', 1);
|
|
define('PAYMENT_STATUS_VOIDED', 2);
|
|
define('PAYMENT_STATUS_FAILED', 3);
|
|
define('PAYMENT_STATUS_COMPLETED', 4);
|
|
define('PAYMENT_STATUS_PARTIALLY_REFUNDED', 5);
|
|
define('PAYMENT_STATUS_REFUNDED', 6);
|
|
|
|
define('TASK_STATUS_LOGGED', -1);
|
|
define('TASK_STATUS_RUNNING', -2);
|
|
define('TASK_STATUS_INVOICED', -3);
|
|
define('TASK_STATUS_PAID', -4);
|
|
|
|
define('EXPENSE_STATUS_LOGGED', 1);
|
|
define('EXPENSE_STATUS_PENDING', 2);
|
|
define('EXPENSE_STATUS_INVOICED', 3);
|
|
define('EXPENSE_STATUS_BILLED', 4);
|
|
define('EXPENSE_STATUS_PAID', 5);
|
|
define('EXPENSE_STATUS_UNPAID', 6);
|
|
|
|
define('CUSTOM_DESIGN1', 11);
|
|
define('CUSTOM_DESIGN2', 12);
|
|
define('CUSTOM_DESIGN3', 13);
|
|
|
|
define('FREQUENCY_WEEKLY', 1);
|
|
define('FREQUENCY_TWO_WEEKS', 2);
|
|
define('FREQUENCY_FOUR_WEEKS', 3);
|
|
define('FREQUENCY_MONTHLY', 4);
|
|
define('FREQUENCY_TWO_MONTHS', 5);
|
|
define('FREQUENCY_THREE_MONTHS', 6);
|
|
define('FREQUENCY_FOUR_MONTHS', 7);
|
|
define('FREQUENCY_SIX_MONTHS', 8);
|
|
define('FREQUENCY_ANNUALLY', 9);
|
|
define('FREQUENCY_TWO_YEARS', 10);
|
|
|
|
define('REPORT_FREQUENCY_DAILY', 'daily');
|
|
define('REPORT_FREQUENCY_WEEKLY', 'weekly');
|
|
define('REPORT_FREQUENCY_BIWEEKLY', 'biweekly');
|
|
define('REPORT_FREQUENCY_MONTHLY', 'monthly');
|
|
|
|
define('SESSION_TIMEZONE', 'timezone');
|
|
define('SESSION_CURRENCY', 'currency');
|
|
define('SESSION_CURRENCY_DECORATOR', 'currency_decorator');
|
|
define('SESSION_DATE_FORMAT', 'dateFormat');
|
|
define('SESSION_DATE_PICKER_FORMAT', 'datePickerFormat');
|
|
define('SESSION_DATETIME_FORMAT', 'datetimeFormat');
|
|
define('SESSION_COUNTER', 'sessionCounter');
|
|
define('SESSION_LOCALE', 'sessionLocale');
|
|
define('SESSION_USER_ACCOUNTS', 'userAccounts');
|
|
define('SESSION_REFERRAL_CODE', 'referralCode');
|
|
define('SESSION_LEFT_SIDEBAR', 'showLeftSidebar');
|
|
define('SESSION_RIGHT_SIDEBAR', 'showRightSidebar');
|
|
define('SESSION_DB_SERVER', 'dbServer');
|
|
|
|
define('SESSION_LAST_REQUEST_PAGE', 'SESSION_LAST_REQUEST_PAGE');
|
|
define('SESSION_LAST_REQUEST_TIME', 'SESSION_LAST_REQUEST_TIME');
|
|
|
|
define('CURRENCY_DOLLAR', 1);
|
|
define('CURRENCY_EURO', 3);
|
|
|
|
define('DEFAULT_TIMEZONE', 'US/Eastern');
|
|
define('DEFAULT_COUNTRY', 840); // United Stated
|
|
define('DEFAULT_CURRENCY', CURRENCY_DOLLAR);
|
|
define('DEFAULT_LANGUAGE', 1); // English
|
|
define('DEFAULT_DATE_FORMAT', 'M j, Y');
|
|
define('DEFAULT_DATE_PICKER_FORMAT', 'M d, yyyy');
|
|
define('DEFAULT_DATETIME_FORMAT', 'F j, Y g:i a');
|
|
define('DEFAULT_DATETIME_MOMENT_FORMAT', 'MMM D, YYYY h:mm:ss a');
|
|
define('DEFAULT_LOCALE', 'en');
|
|
define('DEFAULT_MAP_ZOOM', 10);
|
|
|
|
define('RESULT_SUCCESS', 'success');
|
|
define('RESULT_FAILURE', 'failure');
|
|
|
|
define('PAYMENT_LIBRARY_OMNIPAY', 1);
|
|
define('PAYMENT_LIBRARY_PHP_PAYMENTS', 2);
|
|
|
|
define('GATEWAY_AUTHORIZE_NET', 1);
|
|
define('GATEWAY_EWAY', 4);
|
|
define('GATEWAY_MOLLIE', 9);
|
|
define('GATEWAY_PAYFAST', 13);
|
|
define('GATEWAY_PAYPAL_EXPRESS', 17);
|
|
define('GATEWAY_PAYPAL_PRO', 18);
|
|
define('GATEWAY_SAGE_PAY_DIRECT', 20);
|
|
define('GATEWAY_SAGE_PAY_SERVER', 21);
|
|
define('GATEWAY_STRIPE', 23);
|
|
define('GATEWAY_TWO_CHECKOUT', 27);
|
|
define('GATEWAY_BEANSTREAM', 29);
|
|
define('GATEWAY_PSIGATE', 30);
|
|
define('GATEWAY_BITPAY', 42);
|
|
define('GATEWAY_DWOLLA', 43);
|
|
define('GATEWAY_CHECKOUT_COM', 47);
|
|
define('GATEWAY_CYBERSOURCE', 49);
|
|
define('GATEWAY_PAYTRACE', 56);
|
|
define('GATEWAY_WEPAY', 60);
|
|
define('GATEWAY_BRAINTREE', 61);
|
|
define('GATEWAY_CUSTOM1', 62);
|
|
define('GATEWAY_GOCARDLESS', 64);
|
|
define('GATEWAY_PAYMILL', 66);
|
|
define('GATEWAY_CUSTOM2', 67);
|
|
define('GATEWAY_CUSTOM3', 68);
|
|
|
|
// The customer exists, but only as a local concept
|
|
// The remote gateway doesn't understand the concept of customers
|
|
define('CUSTOMER_REFERENCE_LOCAL', 'local');
|
|
|
|
define('EVENT_CREATE_CLIENT', 1);
|
|
define('EVENT_CREATE_INVOICE', 2);
|
|
define('EVENT_CREATE_QUOTE', 3);
|
|
define('EVENT_CREATE_PAYMENT', 4);
|
|
define('EVENT_CREATE_VENDOR', 5);
|
|
define('EVENT_UPDATE_QUOTE', 6);
|
|
define('EVENT_DELETE_QUOTE', 7);
|
|
define('EVENT_UPDATE_INVOICE', 8);
|
|
define('EVENT_DELETE_INVOICE', 9);
|
|
define('EVENT_UPDATE_CLIENT', 10);
|
|
define('EVENT_DELETE_CLIENT', 11);
|
|
define('EVENT_DELETE_PAYMENT', 12);
|
|
define('EVENT_UPDATE_VENDOR', 13);
|
|
define('EVENT_DELETE_VENDOR', 14);
|
|
define('EVENT_CREATE_EXPENSE', 15);
|
|
define('EVENT_UPDATE_EXPENSE', 16);
|
|
define('EVENT_DELETE_EXPENSE', 17);
|
|
define('EVENT_CREATE_TASK', 18);
|
|
define('EVENT_UPDATE_TASK', 19);
|
|
define('EVENT_DELETE_TASK', 20);
|
|
define('EVENT_APPROVE_QUOTE', 21);
|
|
|
|
define('REQUESTED_PRO_PLAN', 'REQUESTED_PRO_PLAN');
|
|
define('NINJA_ACCOUNT_KEY', env('NINJA_ACCOUNT_KEY', 'zg4ylmzDkdkPOT8yoKQw9LTWaoZJx79h'));
|
|
define('NINJA_ACCOUNT_EMAIL', env('NINJA_ACCOUNT_EMAIL', 'contact@invoiceninja.com'));
|
|
define('NINJA_LICENSE_ACCOUNT_KEY', 'AsFmBAeLXF0IKf7tmi0eiyZfmWW9hxMT');
|
|
define('NINJA_GATEWAY_ID', GATEWAY_STRIPE);
|
|
define('NINJA_GATEWAY_CONFIG', 'NINJA_GATEWAY_CONFIG');
|
|
define('NINJA_WEB_URL', env('NINJA_WEB_URL', 'https://www.invoiceninja.com'));
|
|
define('NINJA_APP_URL', env('NINJA_APP_URL', 'https://app.invoiceninja.com'));
|
|
define('NINJA_DOCS_URL', env('NINJA_DOCS_URL', 'https://invoice-ninja.readthedocs.io/en/latest'));
|
|
define('NINJA_DATE', '2000-01-01');
|
|
define('NINJA_VERSION', '4.5.17' . env('NINJA_VERSION_SUFFIX'));
|
|
define('NINJA_TERMS_VERSION', '1.0.1');
|
|
|
|
define('SOCIAL_LINK_FACEBOOK', env('SOCIAL_LINK_FACEBOOK', 'https://www.facebook.com/invoiceninja'));
|
|
define('SOCIAL_LINK_TWITTER', env('SOCIAL_LINK_TWITTER', 'https://twitter.com/invoiceninja'));
|
|
define('SOCIAL_LINK_GITHUB', env('SOCIAL_LINK_GITHUB', 'https://github.com/invoiceninja/invoiceninja/'));
|
|
|
|
define('NINJA_FORUM_URL', env('NINJA_FORUM_URL', 'https://www.invoiceninja.com/forums/forum/support/'));
|
|
define('NINJA_CONTACT_URL', env('NINJA_CONTACT_URL', 'https://www.invoiceninja.com/contact/'));
|
|
define('NINJA_FROM_EMAIL', env('NINJA_FROM_EMAIL', 'maildelivery@invoiceninja.com'));
|
|
define('NINJA_IOS_APP_URL', 'https://itunes.apple.com/us/app/invoice-ninja/id1435514417?ls=1&mt=8');
|
|
define('NINJA_ANDROID_APP_URL', 'https://play.google.com/store/apps/details?id=com.invoiceninja.flutter');
|
|
define('RELEASES_URL', env('RELEASES_URL', 'https://github.com/invoiceninja/invoiceninja/releases'));
|
|
define('ZAPIER_URL', env('ZAPIER_URL', 'https://zapier.com/zapbook/invoice-ninja'));
|
|
define('OUTDATE_BROWSER_URL', env('OUTDATE_BROWSER_URL', 'http://browsehappy.com/'));
|
|
define('PDFMAKE_DOCS', env('PDFMAKE_DOCS', 'http://pdfmake.org/playground.html'));
|
|
define('PHANTOMJS_CLOUD', env('PHANTOMJS_CLOUD', 'http://api.phantomjscloud.com/api/browser/v2/'));
|
|
define('PHP_DATE_FORMATS', env('PHP_DATE_FORMATS', 'http://php.net/manual/en/function.date.php'));
|
|
define('REFERRAL_PROGRAM_URL', env('REFERRAL_PROGRAM_URL', 'https://www.invoiceninja.com/referral-program/'));
|
|
define('EMAIL_MARKUP_URL', env('EMAIL_MARKUP_URL', 'https://developers.google.com/gmail/markup'));
|
|
define('OFX_HOME_URL', env('OFX_HOME_URL', 'http://www.ofxhome.com/index.php/home/directory/all'));
|
|
define('GOOGLE_ANALYITCS_URL', env('GOOGLE_ANALYITCS_URL', 'https://www.google-analytics.com/collect'));
|
|
define('TRANSIFEX_URL', env('TRANSIFEX_URL', 'https://www.transifex.com/invoice-ninja/invoice-ninja'));
|
|
define('IP_LOOKUP_URL', env('IP_LOOKUP_URL', 'http://whatismyipaddress.com/ip/'));
|
|
define('CHROME_PDF_HELP_URL', 'https://support.google.com/chrome/answer/6213030?hl=en');
|
|
define('FIREFOX_PDF_HELP_URL', 'https://support.mozilla.org/en-US/kb/view-pdf-files-firefox');
|
|
|
|
define('MSBOT_LOGIN_URL', 'https://login.microsoftonline.com/common/oauth2/v2.0/token');
|
|
define('MSBOT_LUIS_URL', 'https://westus.api.cognitive.microsoft.com/luis/v2.0/apps');
|
|
define('SKYPE_API_URL', 'https://apis.skype.com/v3');
|
|
define('MSBOT_STATE_URL', 'https://state.botframework.com/v3');
|
|
define('INVOICEPLANE_IMPORT', 'https://github.com/turbo124/Plane2Ninja');
|
|
|
|
define('TIME_TRACKER_USER_AGENT', 'Time Tracker');
|
|
|
|
define('BOT_PLATFORM_WEB_APP', 'WebApp');
|
|
define('BOT_PLATFORM_SKYPE', 'Skype');
|
|
|
|
define('BLANK_IMAGE', 'data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=');
|
|
|
|
define('DB_NINJA_LOOKUP', 'db-ninja-0');
|
|
define('DB_NINJA_1', 'db-ninja-1');
|
|
define('DB_NINJA_2', 'db-ninja-2');
|
|
|
|
define('COUNT_FREE_DESIGNS', 4);
|
|
define('PRODUCT_ONE_CLICK_INSTALL', 1);
|
|
define('PRODUCT_INVOICE_DESIGNS', 2);
|
|
define('PRODUCT_WHITE_LABEL', 3);
|
|
define('PRODUCT_SELF_HOST', 4);
|
|
define('WHITE_LABEL_AFFILIATE_KEY', '92D2J5');
|
|
define('INVOICE_DESIGNS_AFFILIATE_KEY', 'T3RS74');
|
|
define('SELF_HOST_AFFILIATE_KEY', '8S69AD');
|
|
|
|
define('PLAN_PRICE_PRO_MONTHLY', env('PLAN_PRICE_PRO_MONTHLY', 10));
|
|
define('PLAN_PRICE_ENTERPRISE_MONTHLY_2', env('PLAN_PRICE_ENTERPRISE_MONTHLY_2', 14));
|
|
define('PLAN_PRICE_ENTERPRISE_MONTHLY_5', env('PLAN_PRICE_ENTERPRISE_MONTHLY_5', 26));
|
|
define('PLAN_PRICE_ENTERPRISE_MONTHLY_10', env('PLAN_PRICE_ENTERPRISE_MONTHLY_10', 36));
|
|
define('PLAN_PRICE_ENTERPRISE_MONTHLY_20', env('PLAN_PRICE_ENTERPRISE_MONTHLY_20', 44));
|
|
define('WHITE_LABEL_PRICE', env('WHITE_LABEL_PRICE', 30));
|
|
define('INVOICE_DESIGNS_PRICE', env('INVOICE_DESIGNS_PRICE', 10));
|
|
|
|
define('USER_TYPE_SELF_HOST', 'SELF_HOST');
|
|
define('USER_TYPE_CLOUD_HOST', 'CLOUD_HOST');
|
|
define('NEW_VERSION_AVAILABLE', 'NEW_VERSION_AVAILABLE');
|
|
|
|
define('TEST_USERNAME', env('TEST_USERNAME', 'user@example.com'));
|
|
define('TEST_PERMISSIONS_USERNAME', env('TEST_PERMISSIONS_USERNAME', 'permissions@example.com'));
|
|
define('TEST_PASSWORD', 'password');
|
|
define('API_SECRET', 'API_SECRET');
|
|
define('DEFAULT_API_PAGE_SIZE', 15);
|
|
define('MAX_API_PAGE_SIZE', 5000);
|
|
|
|
define('IOS_DEVICE', env('IOS_DEVICE', ''));
|
|
define('ANDROID_DEVICE', env('ANDROID_DEVICE', ''));
|
|
|
|
define('TOKEN_BILLING_DISABLED', 1);
|
|
define('TOKEN_BILLING_OPT_IN', 2);
|
|
define('TOKEN_BILLING_OPT_OUT', 3);
|
|
define('TOKEN_BILLING_ALWAYS', 4);
|
|
|
|
define('PAYMENT_TYPE_CREDIT', 1);
|
|
define('PAYMENT_TYPE_ACH', 5);
|
|
define('PAYMENT_TYPE_VISA', 6);
|
|
define('PAYMENT_TYPE_MASTERCARD', 7);
|
|
define('PAYMENT_TYPE_AMERICAN_EXPRESS', 8);
|
|
define('PAYMENT_TYPE_DISCOVER', 9);
|
|
define('PAYMENT_TYPE_DINERS', 10);
|
|
define('PAYMENT_TYPE_EUROCARD', 11);
|
|
define('PAYMENT_TYPE_NOVA', 12);
|
|
define('PAYMENT_TYPE_CREDIT_CARD_OTHER', 13);
|
|
define('PAYMENT_TYPE_PAYPAL', 14);
|
|
define('PAYMENT_TYPE_CARTE_BLANCHE', 17);
|
|
define('PAYMENT_TYPE_UNIONPAY', 18);
|
|
define('PAYMENT_TYPE_JCB', 19);
|
|
define('PAYMENT_TYPE_LASER', 20);
|
|
define('PAYMENT_TYPE_MAESTRO', 21);
|
|
define('PAYMENT_TYPE_SOLO', 22);
|
|
define('PAYMENT_TYPE_SWITCH', 23);
|
|
define('PAYMENT_TYPE_ALIPAY', 28);
|
|
define('PAYMENT_TYPE_SOFORT', 29);
|
|
define('PAYMENT_TYPE_SEPA', 30);
|
|
define('PAYMENT_TYPE_GOCARDLESS', 31);
|
|
define('PAYMENT_TYPE_BITCOIN', 32);
|
|
|
|
define('PAYMENT_METHOD_STATUS_NEW', 'new');
|
|
define('PAYMENT_METHOD_STATUS_VERIFICATION_FAILED', 'verification_failed');
|
|
define('PAYMENT_METHOD_STATUS_VERIFIED', 'verified');
|
|
|
|
define('GATEWAY_TYPE_CREDIT_CARD', 1);
|
|
define('GATEWAY_TYPE_BANK_TRANSFER', 2);
|
|
define('GATEWAY_TYPE_PAYPAL', 3);
|
|
define('GATEWAY_TYPE_BITCOIN', 4);
|
|
define('GATEWAY_TYPE_DWOLLA', 5);
|
|
define('GATEWAY_TYPE_CUSTOM1', 6);
|
|
define('GATEWAY_TYPE_ALIPAY', 7);
|
|
define('GATEWAY_TYPE_SOFORT', 8);
|
|
define('GATEWAY_TYPE_SEPA', 9);
|
|
define('GATEWAY_TYPE_GOCARDLESS', 10);
|
|
define('GATEWAY_TYPE_APPLE_PAY', 11);
|
|
define('GATEWAY_TYPE_CUSTOM2', 12);
|
|
define('GATEWAY_TYPE_CUSTOM3', 13);
|
|
define('GATEWAY_TYPE_TOKEN', 'token');
|
|
|
|
define('TEMPLATE_INVOICE', 'invoice');
|
|
define('TEMPLATE_QUOTE', 'quote');
|
|
define('TEMPLATE_PROPOSAL', 'proposal');
|
|
define('TEMPLATE_PARTIAL', 'partial');
|
|
define('TEMPLATE_PAYMENT', 'payment');
|
|
define('TEMPLATE_REMINDER1', 'reminder1');
|
|
define('TEMPLATE_REMINDER2', 'reminder2');
|
|
define('TEMPLATE_REMINDER3', 'reminder3');
|
|
define('TEMPLATE_REMINDER4', 'reminder4');
|
|
define('TEMPLATE_QUOTE_REMINDER1', 'quote_reminder1');
|
|
define('TEMPLATE_QUOTE_REMINDER2', 'quote_reminder2');
|
|
define('TEMPLATE_QUOTE_REMINDER3', 'quote_reminder3');
|
|
define('TEMPLATE_QUOTE_REMINDER4', 'quote_reminder4');
|
|
|
|
define('CUSTOM_MESSAGE_DASHBOARD', 'dashboard');
|
|
define('CUSTOM_MESSAGE_UNPAID_INVOICE', 'unpaid_invoice');
|
|
define('CUSTOM_MESSAGE_PAID_INVOICE', 'paid_invoice');
|
|
define('CUSTOM_MESSAGE_UNAPPROVED_QUOTE', 'unapproved_quote');
|
|
define('CUSTOM_MESSAGE_APPROVED_QUOTE', 'approved_quote');
|
|
define('CUSTOM_MESSAGE_UNAPPROVED_PROPOSAL', 'unapproved_proposal');
|
|
define('CUSTOM_MESSAGE_APPROVED_PROPOSAL', 'approved_proposal');
|
|
|
|
define('RESET_FREQUENCY_DAILY', 1);
|
|
define('RESET_FREQUENCY_WEEKLY', 2);
|
|
define('RESET_FREQUENCY_MONTHLY', 3);
|
|
define('RESET_FREQUENCY_QUATERLY', 4);
|
|
define('RESET_FREQUENCY_YEARLY', 5);
|
|
|
|
define('REMINDER_DIRECTION_AFTER', 1);
|
|
define('REMINDER_DIRECTION_BEFORE', 2);
|
|
|
|
define('REMINDER_FIELD_DUE_DATE', 1);
|
|
define('REMINDER_FIELD_INVOICE_DATE', 2);
|
|
|
|
define('FILTER_INVOICE_DATE', 'invoice_date');
|
|
define('FILTER_PAYMENT_DATE', 'payment_date');
|
|
|
|
define('ADDRESS_BILLING', 'billing_address');
|
|
define('ADDRESS_SHIPPING', 'shipping_address');
|
|
|
|
define('SOCIAL_GOOGLE', 'Google');
|
|
define('SOCIAL_FACEBOOK', 'Facebook');
|
|
define('SOCIAL_GITHUB', 'GitHub');
|
|
define('SOCIAL_LINKEDIN', 'LinkedIn');
|
|
|
|
define('USER_STATE_ACTIVE', 'active');
|
|
define('USER_STATE_PENDING', 'pending');
|
|
define('USER_STATE_DISABLED', 'disabled');
|
|
define('USER_STATE_ADMIN', 'admin');
|
|
define('USER_STATE_OWNER', 'owner');
|
|
|
|
define('API_SERIALIZER_ARRAY', 'array');
|
|
define('API_SERIALIZER_JSON', 'json');
|
|
|
|
define('EMAIL_DESIGN_PLAIN', 1);
|
|
define('EMAIL_DESIGN_LIGHT', 2);
|
|
define('EMAIL_DESIGN_DARK', 3);
|
|
|
|
define('BANK_LIBRARY_OFX', 1);
|
|
|
|
define('CURRENCY_DECORATOR_CODE', 'code');
|
|
define('CURRENCY_DECORATOR_SYMBOL', 'symbol');
|
|
define('CURRENCY_DECORATOR_NONE', 'none');
|
|
|
|
define('RESELLER_REVENUE_SHARE', 'A');
|
|
define('RESELLER_ACCOUNT_COUNT', 'B');
|
|
|
|
define('AUTO_BILL_OFF', 1);
|
|
define('AUTO_BILL_OPT_IN', 2);
|
|
define('AUTO_BILL_OPT_OUT', 3);
|
|
define('AUTO_BILL_ALWAYS', 4);
|
|
|
|
// These must be lowercase
|
|
define('PLAN_FREE', 'free');
|
|
define('PLAN_PRO', 'pro');
|
|
define('PLAN_ENTERPRISE', 'enterprise');
|
|
define('PLAN_WHITE_LABEL', 'white_label');
|
|
define('PLAN_TERM_MONTHLY', 'month');
|
|
define('PLAN_TERM_YEARLY', 'year');
|
|
|
|
define('SUBSCRIPTION_FORMAT_JSON', 'JSON');
|
|
define('SUBSCRIPTION_FORMAT_UBL', 'UBL');
|
|
|
|
// Pro
|
|
define('FEATURE_CUSTOMIZE_INVOICE_DESIGN', 'customize_invoice_design');
|
|
define('FEATURE_REMOVE_CREATED_BY', 'remove_created_by');
|
|
define('FEATURE_DIFFERENT_DESIGNS', 'different_designs');
|
|
define('FEATURE_EMAIL_TEMPLATES_REMINDERS', 'email_templates_reminders');
|
|
define('FEATURE_INVOICE_SETTINGS', 'invoice_settings');
|
|
define('FEATURE_CUSTOM_EMAILS', 'custom_emails');
|
|
define('FEATURE_PDF_ATTACHMENT', 'pdf_attachment');
|
|
define('FEATURE_MORE_INVOICE_DESIGNS', 'more_invoice_designs');
|
|
define('FEATURE_QUOTES', 'quotes');
|
|
define('FEATURE_TASKS', 'tasks');
|
|
define('FEATURE_TICKETS', 'tickets');
|
|
define('FEATURE_EXPENSES', 'expenses');
|
|
define('FEATURE_REPORTS', 'reports');
|
|
define('FEATURE_BUY_NOW_BUTTONS', 'buy_now_buttons');
|
|
define('FEATURE_API', 'api');
|
|
define('FEATURE_CLIENT_PORTAL_PASSWORD', 'client_portal_password');
|
|
define('FEATURE_CUSTOM_URL', 'custom_url');
|
|
|
|
define('FEATURE_MORE_CLIENTS', 'more_clients'); // No trial allowed
|
|
|
|
// Whitelabel
|
|
define('FEATURE_WHITE_LABEL', 'feature_white_label');
|
|
|
|
// Enterprise
|
|
define('FEATURE_DOCUMENTS', 'documents');
|
|
|
|
// No Trial allowed
|
|
define('FEATURE_USERS', 'users'); // Grandfathered for old Pro users
|
|
define('FEATURE_USER_PERMISSIONS', 'user_permissions');
|
|
|
|
// Pro users who started paying on or before this date will be able to manage users
|
|
define('PRO_USERS_GRANDFATHER_DEADLINE', '2016-06-04');
|
|
define('EXTRAS_GRANDFATHER_COMPANY_ID', 35089);
|
|
|
|
// WePay
|
|
define('WEPAY_PRODUCTION', 'production');
|
|
define('WEPAY_STAGE', 'stage');
|
|
define('WEPAY_CLIENT_ID', env('WEPAY_CLIENT_ID'));
|
|
define('WEPAY_CLIENT_SECRET', env('WEPAY_CLIENT_SECRET'));
|
|
define('WEPAY_AUTO_UPDATE', env('WEPAY_AUTO_UPDATE', false));
|
|
define('WEPAY_ENVIRONMENT', env('WEPAY_ENVIRONMENT', WEPAY_PRODUCTION));
|
|
define('WEPAY_THEME', env('WEPAY_THEME', '{"name":"Invoice Ninja","primary_color":"0b4d78","secondary_color":"0b4d78","background_color":"f8f8f8","button_color":"33b753"}'));
|
|
|
|
define('SKYPE_CARD_RECEIPT', 'message/card.receipt');
|
|
define('SKYPE_CARD_CAROUSEL', 'message/card.carousel');
|
|
define('SKYPE_CARD_HERO', '');
|
|
|
|
define('BOT_STATE_GET_EMAIL', 'get_email');
|
|
define('BOT_STATE_GET_CODE', 'get_code');
|
|
define('BOT_STATE_READY', 'ready');
|
|
define('SIMILAR_MIN_THRESHOLD', 50);
|
|
|
|
// https://docs.botframework.com/en-us/csharp/builder/sdkreference/attachments.html
|
|
define('SKYPE_BUTTON_OPEN_URL', 'openUrl');
|
|
define('SKYPE_BUTTON_IM_BACK', 'imBack');
|
|
define('SKYPE_BUTTON_POST_BACK', 'postBack');
|
|
define('SKYPE_BUTTON_CALL', 'call'); // "tel:123123123123"
|
|
define('SKYPE_BUTTON_PLAY_AUDIO', 'playAudio');
|
|
define('SKYPE_BUTTON_PLAY_VIDEO', 'playVideo');
|
|
define('SKYPE_BUTTON_SHOW_IMAGE', 'showImage');
|
|
define('SKYPE_BUTTON_DOWNLOAD_FILE', 'downloadFile');
|
|
|
|
define('INVOICE_FIELDS_CLIENT', 'client_fields');
|
|
define('INVOICE_FIELDS_INVOICE', 'invoice_fields');
|
|
define('INVOICE_FIELDS_ACCOUNT', 'account_fields');
|
|
define('INVOICE_FIELDS_PRODUCT', 'product_fields');
|
|
define('INVOICE_FIELDS_TASK', 'task_fields');
|
|
|
|
$creditCards = [
|
|
1 => ['card' => 'images/credit_cards/Test-Visa-Icon.png', 'text' => 'Visa'],
|
|
2 => ['card' => 'images/credit_cards/Test-MasterCard-Icon.png', 'text' => 'Master Card'],
|
|
4 => ['card' => 'images/credit_cards/Test-AmericanExpress-Icon.png', 'text' => 'American Express'],
|
|
8 => ['card' => 'images/credit_cards/Test-Diners-Icon.png', 'text' => 'Diners'],
|
|
16 => ['card' => 'images/credit_cards/Test-Discover-Icon.png', 'text' => 'Discover'],
|
|
];
|
|
define('CREDIT_CARDS', serialize($creditCards));
|
|
|
|
$cachedTables = [
|
|
'currencies' => 'App\Models\Currency',
|
|
'sizes' => 'App\Models\Size',
|
|
'industries' => 'App\Models\Industry',
|
|
'timezones' => 'App\Models\Timezone',
|
|
'dateFormats' => 'App\Models\DateFormat',
|
|
'datetimeFormats' => 'App\Models\DatetimeFormat',
|
|
'languages' => 'App\Models\Language',
|
|
'paymentTypes' => 'App\Models\PaymentType',
|
|
'countries' => 'App\Models\Country',
|
|
'invoiceDesigns' => 'App\Models\InvoiceDesign',
|
|
'invoiceStatus' => 'App\Models\InvoiceStatus',
|
|
'frequencies' => 'App\Models\Frequency',
|
|
'gateways' => 'App\Models\Gateway',
|
|
'gatewayTypes' => 'App\Models\GatewayType',
|
|
'fonts' => 'App\Models\Font',
|
|
'banks' => 'App\Models\Bank',
|
|
];
|
|
define('CACHED_TABLES', serialize($cachedTables));
|
|
|
|
// Fix for mPDF: https://github.com/kartik-v/yii2-mpdf/issues/9
|
|
define('_MPDF_TTFONTDATAPATH', storage_path('framework/cache/'));
|
|
|
|
/** STD constatns */
|
|
if(!defined('STDIN')) define('STDIN', fopen('php://stdin', 'r'));
|
|
if(!defined('STDOUT')) define('STDOUT', fopen('php://stdout', 'w'));
|
|
if(!defined('STDERR')) define('STDERR', fopen('php://stderr', 'w'));
|
|
|
|
/** Tickets constants */
|
|
define('TICKET_PRIORITY_LOW', 10);
|
|
define('TICKET_PRIORITY_MEDIUM', 20);
|
|
define('TICKET_PRIORITY_HIGH', 30);
|
|
|
|
define('TICKET_STATUS_NEW', 1);
|
|
define('TICKET_STATUS_OPEN',2);
|
|
define('TICKET_STATUS_CLOSED',3);
|
|
define('TICKET_STATUS_MERGED',4);
|
|
|
|
define('TICKET_CLIENT_NEW', 'ticket_client_new');
|
|
define('TICKET_CLIENT_UPDATE', 'ticket_client_update');
|
|
define('TICKET_INBOUND_NEW', 'ticket_inbound_new');
|
|
define('TICKET_INBOUND_NEW_INTERNAL', 'ticket_inbound_new_internal');
|
|
define('TICKET_INBOUND_REPLY', 'ticket_inbound_reply');
|
|
define('TICKET_INBOUND_CONTACT_REPLY', 'ticket_inbound_contact_reply');
|
|
define('TICKET_INBOUND_AGENT_REPLY', 'ticket_inbound_agent_reply');
|
|
define('TICKET_INBOUND_ADMIN_REPLY', 'ticket_inbound_admin_reply');
|
|
define('TICKET_AGENT_UPDATE', 'ticket_agent_update');
|
|
define('TICKET_AGENT_NEW', 'ticket_agent_new');
|
|
define('TICKET_MERGE', 'ticket_merge');
|
|
define('TICKET_ASSIGNED', 'ticket_assigned');
|
|
define('TICKET_OVERDUE', 'ticket_overdue');
|
|
define('TICKET_AGENT_CLOSED', 'ticket_agent_closed');
|
|
define('TICKET_SAVE_ONLY', 'ticket_save_only');
|
|
|
|
/* Default ticket statuses - Category - support*/
|
|
$supportTicketStatuses = [
|
|
trans('texts.new'),
|
|
trans('texts.open'),
|
|
trans('texts.closed'),
|
|
trans('texts.merged')
|
|
];
|
|
|
|
function uctrans($text, $data = [])
|
|
{
|
|
$locale = Session::get(SESSION_LOCALE);
|
|
$text = trans($text, $data);
|
|
|
|
return $locale == 'en' ? ucwords($text) : $text;
|
|
}
|
|
|
|
function utrans($text, $data = [])
|
|
{
|
|
$locale = Session::get(SESSION_LOCALE);
|
|
$text = trans($text, $data);
|
|
|
|
return $locale == 'en' ? strtoupper($text) : $text;
|
|
}
|
|
|
|
// optional trans: only return the string if it's translated
|
|
function otrans($text)
|
|
{
|
|
$locale = Session::get(SESSION_LOCALE);
|
|
|
|
if ($locale == 'en') {
|
|
return trans($text);
|
|
} else {
|
|
$string = trans($text);
|
|
$english = trans($text, [], 'en');
|
|
|
|
return $string != $english ? $string : '';
|
|
}
|
|
}
|
|
|
|
// include modules in translations
|
|
function mtrans($entityType, $text = false, $replace = [])
|
|
{
|
|
if (! $text) {
|
|
$text = $entityType;
|
|
}
|
|
|
|
// check if this has been translated in a module language file
|
|
if (! Utils::isNinjaProd() && $module = Module::find($entityType)) {
|
|
$key = "{$module->getLowerName()}::texts.{$text}";
|
|
$value = trans($key, $replace);
|
|
if ($key != $value) {
|
|
return $value;
|
|
}
|
|
}
|
|
|
|
return trans("texts.{$text}");
|
|
}
|
|
}
|