Tutorial Extension  1.0.0
SellerDeck Extensions - Tutorial Extension
constants.php
1 <?php
2 
3 /**
4  * constants.php - Constants for SellerDeck Extenstions Framework
5  *
6  * @package SellerDeck Extensions
7  *
8  * @author Péter Erdődi
9  * @copyright © SellerDeck Ltd 2015. All rights reserved.
10  */
11 //
12 // General Constants
13 //
14 define('BR', "<br/>\n");
15 define('DS', DIRECTORY_SEPARATOR);
16 define('SIMPLE_DATE_FORMAT', 'Y-m-d');
17 define('SIMPLE_DATETIME_FORMAT', 'Y-m-d H:i');
18 define('CURRENT_DATE', date(SIMPLE_DATE_FORMAT));
19 define('SELLERDECK_DATE_FORMAT', 'Y/m/d H:i');
20 define('SELLERDECK_ALT_DATE_FORMAT', 'm/d/Y h:i:s A'); //Format string is %m/%d/%Y %I:%M:%S %p
21 define('MAX_INCREASE_ORDER_NUMBER', 5);
22 define('EXPIRY_LIMIT1', 60 * 60 * 24 * 2); // 2 days
23 define('EXPIRY_LIMIT2', 60 * 60 * 24 * 7); // 1 week
24 define('LOCK_FILE', "extension.lock");
25 define('LOCK_FILE_MAX_AGE', 60); // in seconds
26 //
27 // Defaults
28 //
29 define('DEFAULT_SITE_NAME', 'Site1');
30 define('DEFAULT_TIMER_INTERVAL', 15 * 60); // in seconds
31 define('DEFAULT_WEIGHT', 0.25); // in kilograms
32 //
33 // Controller constants
34 //
35 define('HTTP_METHOD_GET', 'get');
36 define('HTTP_METHOD_PUT', 'put');
37 define('HTTP_METHOD_POST', 'post');
38 define('CONTROLLER_PARAMETER_ACTION', 'action');
39 define('CONTROLLER_PARAMETER_FORMAT', 'format');
40 define('CONTROLLER_DEFAULT_ACTION', 'index');
41 define('FORMAT_ARRAY', 'array');
42 define('FORMAT_TEXT', 'text');
43 define('FORMAT_HTML', 'html');
44 define('FORMAT_XML', 'xml');
45 define('FORMAT_PHP', 'php');
46 define('FORMAT_JSON', 'json');
47 define('FORMAT_YAML', 'yaml');
48 define('FORMAT_STREAM', 'stream');
49 define('STATUS_SUCCESS', 'successs');
50 define('STATUS_FAIL', 'fail');
51 //
52 // EC message types
53 //
54 define('API_XML_VERSION', '1');
55 define('TIMER_CONFIGURATION', 'timer');
56 define('HANDSHAKE_VERSION_INFORMATION', 'version-information');
57 define('HANDSHAKE_SDD_CONFIGURATION', 'sdd-configuration');
58 define('HANDSHAKE_EXTENSION_CONFIGURATION', 'extension-configuration');
59 define('HANDSHAKE_CONFIGURATION', 'configuration');
60 //
61 // Standard paths and URLs
62 //
63 define('EXTENSIONS_ROOT', realpath(realpath(__DIR__) . DS . ".." . DS) . DS);
64 define('EXTENSIONS_APP_ROOT', EXTENSIONS_ROOT . 'app' . DS);
65 define('EXTENSION_VIEW_ROOT', EXTENSIONS_APP_ROOT . 'views' . DS);
66 define('EXTENSION_AJAX_VIEW_ROOT', EXTENSION_VIEW_ROOT . 'ajax' . DS);
67 define('VENDOR_ROOT', EXTENSIONS_ROOT . 'vendor' . DS);
68 define('FRAMEWORK_ROOT', EXTENSIONS_ROOT . 'framework' . DS);
69 define('CLASSES_ROOT', FRAMEWORK_ROOT . 'classes' . DS);
70 define('CONFIG_ROOT', FRAMEWORK_ROOT . 'config' . DS);
71 define('CLASSES_APP_ROOT', EXTENSIONS_APP_ROOT . 'classes' . DS);
72 define('CONFIG_APP_ROOT', EXTENSIONS_APP_ROOT . 'config' . DS);
73 define('INSTALL_ROOT', EXTENSIONS_APP_ROOT . 'install' . DS);
74 define('DEFAULT_CONFIG_ROOT', CONFIG_ROOT);
75 define('SETTINGS_INI', EXTENSIONS_ROOT . 'settings.ini');
76 //
77 // Configuration constants
78 //
79 define('CONFIG_PHP_HEADER', "<?php\n/**\n * %s\n *\n */\n return ");
80 define('CONFIG_PHP_FOOTER', ";\n");
81 //
82 // Table name constants
83 //
84 define('TABLE_ORDER', 'Order');
85 define('TABLE_PERSON', 'Person');
86 define('TABLE_ORDER_DETAIL', 'OrderDetail');
87 define('TABLE_ORDER_TRACKING', 'OrderTracking');
88 define('TABLE_ORDER_HISTORY', 'OrderHistory');
89 define('TABLE_PRODUCT', 'Product');
90 define('TABLE_PRODUCT_PROPERTIES', 'ProductProperties');
91 define('TABLE_PAYMENT_HISTORY', 'PaymentHistory');
92 define('TABLE_CONTROL_INFO', 'ControlInfo');
93 define('TABLE_WEIGHT_CONFIGURATION', 'WeightConfiguration');
94 define('TABLE_CATALOG_SECTION', 'Catalog section');
95 //
96 // Product Type constants
97 //
98 define('PRODUCT_TYPE_NORMAL', 0);
99 define('PRODUCT_TYPE_DUPLICATE', 1);
100 define('PRODUCT_TYPE_FRAGMENT', 2);
101 //
102 // Product Property Type constants
103 //
104 define('PRODUCT_PROPERTY_TYPE_SEARCHABLE_ITEM',1);
105 define('PRODUCT_PROPERTY_TYPE_ADDITIONAL_PROMPT',2);
106 define('PRODUCT_PROPERTY_TYPE_HTML_VARIABLE',3);
107 define('PRODUCT_PROPERTY_TYPE_PRICE_SCHEDULE',4);
108 define('PRODUCT_PROPERTY_TYPE_COMPONENT',5);
109 define('PRODUCT_PROPERTY_TYPE_ATTRIBUTE',6);
110 define('PRODUCT_PROPERTY_TYPE_CHOICE',7);
111 define('PRODUCT_PROPERTY_TYPE_PERMUTATION',8);
112 define('PRODUCT_PROPERTY_TYPE_SECTION_CLASSIFICATION',9);
113 //
114 // Tax constants
115 //
116 define('TAX_MODEL_SIMPLE', 0);
117 define('TAX_MODEL_ADVANCED', 1);
118 define('TAX_BY_ALWAYS_TAX', 0);
119 define('TAX_BY_INVOICE_ADDRESS', 1);
120 define('TAX_BY_DELIVERY_ADDRESS', 2);
121 define('ROUND_TAX_PER_ORDER_LINE', 0);
122 define('ROUND_TAX_PER_ORDER_ITEM', 1);
123 define('ROUND_TAX_PER_ORDER', 2);
124 define('TAX_IS_CUMULATIVE_FALSE', 0);
125 define('TAX_IS_CUMULATIVE_TRUE', 1);
126 define('ALLOW_EXEMPTION_DISALLOWED', 0);
127 define('ALLOW_EXEMPTION_ALLOWED', 1);
128 define('TAX_TREATMENT_ZERO', 0);
129 define('TAX_TREATMENT_EXEMPT', 1);
130 define('TAX_TREATMENT_TAX_1_APPLIES', 2);
131 define('TAX_TREATMENT_TAX_2_APPLIES', 3);
132 define('TAX_TREATMENT_BOTH_TAX_1_AND_TAX_2_APPLIES', 4);
133 define('TAX_ROUND_PER_LINE', 0);
134 define('TAX_ROUND_PER_ITEM', 1);
135 define('TAX_ROUND_PER_ORDER', 2);
136 define('TAX_ROUND_TRUNCATION', 0);
137 define('TAX_ROUND_SCIENTIFIC_DOWN', 1);
138 define('TAX_ROUND_SCIENTIFIC_NORMAL', 2);
139 define('TAX_ROUND_CEILING', 3);
140 define('TAX_ROUND_BANKERS', 4);
141 //
142 // Exceptions
143 //
144 define('EXCEPTION_MSG_EXTENSION_DISABLED', 'Extension is disabled');
145 define('EXCEPTION_MSG_SDD_INCOMPATIBLE', 'Extension requires SellerDeck %s or greater');
146 define('EXCEPTION_MSG_NO_DATA', 'No data on input stream');
147 define('EXCEPTION_MSG_EXTENSION_NOT_ENABLED_ON_THIS_PC', 'Extension is not enabled on this PC.');
148 define('EXCEPTION_MSG_CANT_LOAD_EXTENSION', 'Can\'t load extension');
149 define('EXCEPTION_MSG_CANT_LOAD_SETUP_SQL', 'Can\'t load Setup SQL');
150 define('EXCEPTION_MSG_CANT_LOAD_CONFIG_FILE', 'Can\'t load config file');
151 define('EXCEPTION_MSG_INVALID_CURRENCY', 'Invalid currency in the Order record: %s.');
152 define('EXCEPTION_MSG_INVALID_EMAIL', 'Invalid Email address in the Order record');
153 define('EXCEPTION_MSG_BULK_REFRESH_ORDERS', 'Error bulk refreshing Orders');
154 define('EXCEPTION_MSG_BULK_STOCK_UPDATE', 'Error bulk Stock update');
155 define('EXCEPTION_CODE_EXTENSION_DISABLED', 999);
156 define('EXCEPTION_CODE_SDD_INCOMPATIBLE', 998);
157 define('EXCEPTION_CODE_NO_DATA', 997);
158 define('EXCEPTION_CODE_EXTENSION_NOT_ENABLED_ON_THIS_PC', 996);
159 define('EXCEPTION_CODE_CANT_LOAD_EXTENSION', 501);
160 define('EXCEPTION_CODE_CANT_LOAD_SETUP_SQL', 502);
161 define('EXCEPTION_CODE_CANT_LOAD_CONFIG_FILE', 503);
162 define('EXCEPTION_CODE_INVALID_CURRENCY', 101);
163 define('EXCEPTION_CODE_INVALID_EMAIL', 102);
164 define('EXCEPTION_CODE_NETWORK_ERROR', 700);
165 define('EXCEPTION_CODE_BULK_REFRESH_ORDERS', 701);
166 define('EXCEPTION_CODE_BULK_STOCK_UPDATE', 702);
167 //
168 // Database Driver IDs
169 //
170 define('DB_CLASS_ACCESS', 'CDataBaseAccess');
171 define('DB_CLASS_ACCESS_NO_PDO', 'CDataBaseAccessNoPDO');
172 define('DB_CLASS_SQLSERVER', 'CDataBaseSqlServer');
173 define('DB_TYPE_ACCESS', 'MS Access');
174 define('DB_TYPE_SQLSERVER', 'MS SQL Server');
175 define('DB_CATALOG', 'Catalog DB');
176 define('DB_SHIPPING', 'Shipping DB');
177 define('DB_COMMON_DBO', 'dbo');
178 define('DB_AUTH_TYPE_NT', 'NT');
179 define('DB_AUTH_TYPE_DB', 'DB');
180 //
181 // SQL prefixes
182 //
183 define('SQL_EXPRESSION_PREFIX', 'EXPR:');
184 define('SQL_DATA_PREFIX', 'DATA:');
185 define('SQL_TYPE_INT', 'INT:');
186 define('SQL_TYPE_STRING', 'STR:');
187 define('SQL_COLUMN', 'COL:');
188 //
189 // Other, Database related constants
190 //
191 define('BOOP_OP_AND', 'AND');
192 define('BOOP_OP_OR', 'OR');
193 define('MAX_RETRY_BY_INSERT', 5);
194 define('INCREASE_ID_BY_INSERT', 1);
195 define('ACCDB_STRING', ', *.accdb');