14 date_default_timezone_set(
'GMT');
16 if (!defined(
'HANDSHAKING'))
18 define(
'HANDSHAKING',
false);
20 require_once(
'constants.php');
24 $sExtensionProgramDataPath =
"";
25 if (file_exists(SETTINGS_INI))
27 $aSettings = parse_ini_file(SETTINGS_INI);
28 if (isset($aSettings[
'revision']))
30 define(
'SDE_VERSION_DAYNO', $aSettings[
'revision']);
32 if (isset($aSettings[
'extension_program_data']))
34 $sExtensionProgramDataPath = $aSettings[
'extension_program_data'];
35 define(
'CACHE_ROOT', $sExtensionProgramDataPath);
36 define(
'DEFAULT_LOG_ROOT', CACHE_ROOT);
41 define(
'CACHE_ROOT', EXTENSIONS_ROOT .
'cache' . DS);
43 if (!file_exists(CACHE_ROOT))
45 mkdir(CACHE_ROOT, 0777,
true);
51 if (!is_file(VENDOR_ROOT .
'autoload.php'))
53 die(
'Composer is not installed. Please run "php composer.phar update" in the root to install Composer');
55 require_once(VENDOR_ROOT .
'autoload.php');
59 require_once(CLASSES_ROOT .
'AjaxStreamHandler.php');
60 require_once(CLASSES_ROOT .
'exception/SDException.php');
61 require_once(CLASSES_ROOT .
'exception/SDExitException.php');
62 require_once(CLASSES_ROOT .
'helper/Tools.php');
63 require_once(CLASSES_ROOT .
'CConfig.php');
64 require_once(CLASSES_ROOT .
'CLogger.php');
70 $sDetailsTempPath = CACHE_ROOT .
"details_temp.php";
71 $aDetailsTemp = load_config($sDetailsTempPath,
function() use ($sDetailsTempPath)
73 throw new \SDExtension\SDException\SDException(EXCEPTION_MSG_CANT_LOAD_CONFIG_FILE .
": $sDetailsTempPath", EXCEPTION_CODE_CANT_LOAD_CONFIG_FILE);
75 $sSiteName = arr_get($aDetailsTemp,
'sSiteName', DEFAULT_SITE_NAME);
76 $sSdeLogs = arr_get($aDetailsTemp,
'sSdeLogs', DEFAULT_LOG_ROOT);
77 $sSiteSdeDataFolder = arr_get($aDetailsTemp,
'sSiteSdeDataFolder', DEFAULT_CONFIG_ROOT);
78 define(
'LOG_CHANNEL_NAME', $sSiteName);
79 define(
'LOG_ROOT', $sSdeLogs . DS);
84 require_once(CLASSES_ROOT .
'exception/ValidatorException.php');
85 require_once(CLASSES_ROOT .
'exception/InvalidCurrencyException.php');
86 require_once(CLASSES_ROOT .
'helper/ExtensionHelper.php');
87 require_once(CLASSES_ROOT .
'helper/Array2XML.php');
88 require_once(CLASSES_ROOT .
'helper/XML2Array.php');
89 require_once(CLASSES_ROOT .
'CValidator.php');
90 require_once(CLASSES_ROOT .
'CSession.php');
91 require_once(CLASSES_ROOT .
'CTax.php');
92 require_once(CLASSES_ROOT .
'CControllerBase.php');
93 require_once(CLASSES_ROOT .
'soap/CSDApiSoapClient.php');
94 require_once(CLASSES_ROOT .
'soap/CSDApiSoapJobs.php');
95 require_once(CLASSES_ROOT .
'import/CFieldMapping.php');
96 require_once(CLASSES_ROOT .
'import/CImport.php');
102 $sConfigFileVersion = $sSiteSdeDataFolder .
"version.php";
103 $sConfigFileDetails = $sSiteSdeDataFolder .
"details.php";
104 $sVersion = load_config($sConfigFileVersion,
function() use ($sConfigFileVersion)
106 throw new \SDExtension\SDException\SDException(EXCEPTION_MSG_CANT_LOAD_CONFIG_FILE .
": $sConfigFileVersion", EXCEPTION_CODE_CANT_LOAD_CONFIG_FILE);
109 $sDetails = load_config($sConfigFileDetails,
function() use ($sConfigFileDetails)
111 throw new \SDExtension\SDException\SDException(EXCEPTION_MSG_CANT_LOAD_CONFIG_FILE .
": $sConfigFileDetails", EXCEPTION_CODE_CANT_LOAD_CONFIG_FILE);
117 $bDebug = ((int) \
SDExtension\CConfig::get(
'sdd-configuration.paths.logs.debug', 0) > 0);
120 error_reporting(E_ALL);
121 ini_set(
'display_errors', 1);
126 @ini_set(
'display_errors', 0);
135 require_once(CLASSES_ROOT .
'database/CDataBase.php');
136 require_once(CLASSES_ROOT .
'database/CDataBaseSqlServer.php');
137 require_once(CLASSES_ROOT .
'database/CDataBaseAccess.php');
138 require_once(CLASSES_ROOT .
'database/CDataBaseAccessNoPDO.php');
139 require_once(CLASSES_ROOT .
'database/CDataBaseFactory.php');
140 require_once(CLASSES_ROOT .
'database/table/CTable.php');
141 require_once(CLASSES_ROOT .
'database/table/catalog/COrderBase.php');
142 require_once(CLASSES_ROOT .
'database/table/catalog/COrderDetailBase.php');
143 require_once(CLASSES_ROOT .
'database/table/catalog/COrderHistoryBase.php');
144 require_once(CLASSES_ROOT .
'database/table/catalog/COrderTrackingBase.php');
145 require_once(CLASSES_ROOT .
'database/table/catalog/CPaymentHistoryBase.php');
146 require_once(CLASSES_ROOT .
'database/table/catalog/CPersonBase.php');
147 require_once(CLASSES_ROOT .
'database/table/catalog/CProductBase.php');
148 require_once(CLASSES_ROOT .
'database/table/catalog/CSetupBase.php');
149 require_once(CLASSES_ROOT .
'database/wrapper/CCatalogWrapper.php');
153 $sTableClassFolder = GetTableClassFolderByDBType();
154 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/COrder.php");
155 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/COrderDetail.php");
156 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/COrderHistory.php");
157 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/COrderTracking.php");
158 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/CPaymentHistory.php");
159 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/CPerson.php");
160 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/CProduct.php");
161 require_once(CLASSES_ROOT .
"database/table/catalog/$sTableClassFolder/CSetup.php");
168 $sExtensionName = basename($sExtensionProgramDataPath);
173 $sExtensionBootstrap = EXTENSIONS_APP_ROOT .
"app_bootstrap.php";
174 if (!file_exists($sExtensionBootstrap))
177 throw new \SDExtension\SDException\SDException(EXCEPTION_MSG_CANT_LOAD_EXTENSION .
": $sExtension", EXCEPTION_CODE_CANT_LOAD_EXTENSION);
179 require_once($sExtensionBootstrap);
185 catch (\
SDExtension\SDException\SDException $oException)
189 if ($oException instanceof \
SDExtension\SDException\SDExitException)
198 die($oException->getMessage());
203 defined(
'ORDER_NUMBER_PREFIX') || define(
'ORDER_NUMBER_PREFIX',
'EXTORD');
204 defined(
'CHANNEL_NAME') || define(
'CHANNEL_NAME',
'SDDExt');
205 defined(
'SDE_VERSION') || define(
'SDE_VERSION', SDE_VERSION_MAJOR .
"." . SDE_VERSION_MINOR .
"." . SDE_VERSION_MAINTENANCE);
206 defined(
'SDE_VERSION_DAYNO') || define(
'SDE_VERSION_DAYNO',
"1");
static get($sChannel="default", $sLogRoot="")
static init($sChannel="default", $sLogRoot="")
static add($aConfig, $sName=null)