diff --git a/config/.gitkeep b/config/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/config/config.json b/config/config.json new file mode 100644 index 0000000000000000000000000000000000000000..106d2357e79b0301146da0907096f443a5326c9b --- /dev/null +++ b/config/config.json @@ -0,0 +1,4 @@ +{ + "platform_root": "\/var", + "connector_root": "\/var\/www" +} \ No newline at end of file diff --git a/config/features.json b/config/features.json new file mode 100644 index 0000000000000000000000000000000000000000..da7f3185325eb03daeb3eec75893bb7f9b053386 --- /dev/null +++ b/config/features.json @@ -0,0 +1,460 @@ + +{ + "entities": { + "Category": { + "pull": true, + "push": true, + "delete": true + }, + "CategoryAttr": { + "pull": true, + "push": true, + "delete": true + }, + "CategoryAttrI18n": { + "pull": true, + "push": true, + "delete": true + }, + "CategoryCustomerGroup": { + "pull": false, + "push": false, + "delete": false + }, + "CategoryI18n": { + "pull": true, + "push": true, + "delete": true + }, + "CategoryInvisibility": { + "pull": true, + "push": true, + "delete": true + }, + "ConfigGroup": { + "pull": false, + "push": false, + "delete": false + }, + "ConfigGroupI18n": { + "pull": false, + "push": false, + "delete": false + }, + "ConfigItem": { + "pull": false, + "push": false, + "delete": false + }, + "ConfigItemI18n": { + "pull": false, + "push": false, + "delete": false + }, + "ConfigItemPrice": { + "pull": false, + "push": false, + "delete": false + }, + "CrossSellingGroup": { + "pull": false, + "push": false, + "delete": false + }, + "CrossSellingGroupI18n": { + "pull": false, + "push": false, + "delete": false + }, + "Currency": { + "pull": true, + "push": false, + "delete": false + }, + "Customer": { + "pull": true, + "push": true, + "delete": true + }, + "CustomerAttr": { + "pull": false, + "push": false, + "delete": false + }, + "CustomerGroup": { + "pull": true, + "push": true, + "delete": false + }, + "CustomerGroupAttr": { + "pull": true, + "push": false, + "delete": false + }, + "CustomerGroupI18n": { + "pull": true, + "push": true, + "delete": true + }, + "CustomerGroupPackagingQuantity": { + "pull": false, + "push": false, + "delete": false + }, + "CustomerOrder": { + "pull": true, + "push": false, + "delete": true + }, + "CustomerOrderAttr": { + "pull": false, + "push": false, + "delete": false + }, + "CustomerOrderBillingAddress": { + "pull": true, + "push": true, + "delete": true + }, + "CustomerOrderItem": { + "pull": true, + "push": true, + "delete": true + }, + "CustomerOrderItemVariation": { + "pull": false, + "push": false, + "delete": false + }, + "CustomerOrderPaymentInfo": { + "pull": false, + "push": false, + "delete": false + }, + "CustomerOrderShippingAddress": { + "pull": true, + "push": true, + "delete": true + }, + "DeliveryNote": { + "pull": true, + "push": true, + "delete": true + }, + "DeliveryNoteItem": { + "pull": true, + "push": true, + "delete": true + }, + "DeliveryNoteItemInfo": { + "pull": false, + "push": false, + "delete": false + }, + "FileDownload": { + "pull": false, + "push": false, + "delete": false + }, + "FileDownloadI18n": { + "pull": false, + "push": false, + "delete": false + }, + "FileUpload": { + "pull": false, + "push": false, + "delete": false + }, + "FileUploadI18n": { + "pull": false, + "push": false, + "delete": false + }, + "Image": { + "pull": true, + "push": true, + "delete": true + }, + "Language": { + "pull": true, + "push": false, + "delete": false + }, + "Manufacturer": { + "pull": true, + "push": true, + "delete": true + }, + "ManufacturerI18n": { + "pull": true, + "push": true, + "delete": true + }, + "MeasurementUnit": { + "pull": true, + "push": true, + "delete": true + }, + "MeasurementUnitI18n": { + "pull": true, + "push": true, + "delete": true + }, + "ProductMediaFile": { + "pull": true, + "push": true, + "delete": true + }, + "ProductMediaFileAttr": { + "pull": true, + "push": true, + "delete": true + }, + "ProductMediaFileAttrI18n": { + "pull": true, + "push": true, + "delete": true + }, + "ProductMediaFileI18n": { + "pull": true, + "push": true, + "delete": true + }, + "PartsList": { + "pull": false, + "push": false, + "delete": false + }, + "Payment": { + "pull": true, + "push": false, + "delete": false + }, + "Product": { + "pull": true, + "push": true, + "delete": true + }, + "Product2Category": { + "pull": true, + "push": true, + "delete": true + }, + "ProductAttr": { + "pull": true, + "push": true, + "delete": true + }, + "ProductAttrI18n": { + "pull": true, + "push": true, + "delete": true + }, + "ProductConfigGroup": { + "pull": false, + "push": false, + "delete": false + }, + "CrossSelling": { + "pull": true, + "push": true, + "delete": true + }, + "ProductFileDownload": { + "pull": true, + "push": true, + "delete": true + }, + "ProductI18n": { + "pull": true, + "push": true, + "delete": true + }, + "ProductInvisibility": { + "pull": true, + "push": true, + "delete": true + }, + "ProductPartsList": { + "pull": false, + "push": false, + "delete": false + }, + "ProductPrice": { + "pull": true, + "push": true, + "delete": true + }, + "ProductPriceItem": { + "pull": true, + "push": true, + "delete": true + }, + "ProductSpecialPrice": { + "pull": false, + "push": false, + "delete": false + }, + "ProductSpecialPriceItem": { + "pull": false, + "push": false, + "delete": false + }, + "ProductSpecific": { + "pull": true, + "push": true, + "delete": true + }, + "ProductStockLevel": { + "pull": false, + "push": true, + "delete": false + }, + "ProductType": { + "pull": false, + "push": false, + "delete": false + }, + "ProductVarCombination": { + "pull": true, + "push": true, + "delete": true + }, + "ProductVariation": { + "pull": true, + "push": true, + "delete": true + }, + "ProductVariationI18n": { + "pull": true, + "push": true, + "delete": true + }, + "ProductVariationInvisibility": { + "pull": false, + "push": false, + "delete": false + }, + "ProductVariationValue": { + "pull": true, + "push": true, + "delete": true + }, + "ProductVariationValueDependency": { + "pull": false, + "push": false, + "delete": false + }, + "ProductVariationValueExtraCharge": { + "pull": false, + "push": false, + "delete": false + }, + "ProductVariationValueI18n": { + "pull": true, + "push": true, + "delete": true + }, + "ProductVariationValueInvisibility": { + "pull": false, + "push": false, + "delete": false + }, + "ProductWarehouseInfo": { + "pull": false, + "push": false, + "delete": false + }, + "Shipment": { + "pull": false, + "push": false, + "delete": false + }, + "ShippingClass": { + "pull": false, + "push": false, + "delete": false + }, + "Specific": { + "pull": true, + "push": true, + "delete": true + }, + "SpecificI18n": { + "pull": true, + "push": true, + "delete": true + }, + "SpecificValue": { + "pull": true, + "push": true, + "delete": true + }, + "SpecificValueI18n": { + "pull": true, + "push": true, + "delete": true + }, + "Statistic": { + "pull": true, + "push": true, + "delete": true + }, + "StatusChange": { + "pull": false, + "push": true, + "delete": false + }, + "TaxClass": { + "pull": false, + "push": false, + "delete": false + }, + "TaxRate": { + "pull": true, + "push": false, + "delete": false + }, + "TaxZone": { + "pull": false, + "push": false, + "delete": false + }, + "TaxZoneCountry": { + "pull": false, + "push": false, + "delete": false + }, + "Unit": { + "pull": true, + "push": true, + "delete": true + }, + "UnitI18n": { + "pull": true, + "push": true, + "delete": true + }, + "Warehouse": { + "pull": false, + "push": false, + "delete": false + } + }, + "flags": { + "var_combination_child_first": false, + "product_images_supported": true, + "category_images_supported": true, + "manufacturer_images_supported": true, + "specific_images_supported": false, + "specific_value_images_supported": false, + "config_group_images_supported": false, + "product_variation_value_images_supported": false, + "variation_products_supported": false, + "variation_combinations_supported": true, + "set_articles_supported": false, + "needs_finish_call": false, + "free_field_supported": false + } +} \ No newline at end of file diff --git a/plugins/.gitkeep b/plugins/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/bootstrap.php b/src/bootstrap.php index 7de102b5f461bb14c3e1b86aed088202d77de383..3c46bf408fc4c417af495da11c39d94070206b0c 100644 --- a/src/bootstrap.php +++ b/src/bootstrap.php @@ -7,6 +7,7 @@ require_once (__DIR__ . "/../vendor/autoload.php"); use jtl\Connector\Application\Application; +use jtl\Connector\Core\Logger\Logger; use jtl\Connector\Core\Rpc\RequestPacket; use jtl\Connector\Core\Rpc\ResponsePacket; use jtl\Connector\Core\Rpc\Error; @@ -36,6 +37,35 @@ function exception_handler(\Exception $exception) Response::send($responsepacket); } +function error_handler($errno, $errstr, $errfile, $errline, $errcontext) +{ + $types = array( + E_ERROR => array(Logger::ERROR, 'E_ERROR'), + E_WARNING => array(Logger::WARNING, 'E_WARNING'), + E_PARSE => array(Logger::WARNING, 'E_PARSE'), + E_NOTICE => array(Logger::NOTICE, 'E_NOTICE'), + E_CORE_ERROR => array(Logger::ERROR, 'E_CORE_ERROR'), + E_CORE_WARNING => array(Logger::WARNING, 'E_CORE_WARNING'), + E_CORE_ERROR => array(Logger::ERROR, 'E_COMPILE_ERROR'), + E_CORE_WARNING => array(Logger::WARNING, 'E_COMPILE_WARNING'), + E_USER_ERROR => array(Logger::ERROR, 'E_USER_ERROR'), + E_USER_WARNING => array(Logger::WARNING, 'E_USER_WARNING'), + E_USER_NOTICE => array(Logger::NOTICE, 'E_USER_NOTICE'), + E_STRICT => array(Logger::NOTICE, 'E_STRICT'), + E_RECOVERABLE_ERROR => array(Logger::ERROR, 'E_RECOVERABLE_ERROR'), + E_DEPRECATED => array(Logger::INFO, 'E_DEPRECATED'), + E_USER_DEPRECATED => array(Logger::INFO, 'E_USER_DEPRECATED') + ); + + if (isset($types[$errno])) { + $err = "(" . $types[$errno][1] . ") File ({$errfile}, {$errline}): {$errstr}"; + Logger::write($err, $types[$errno][0], 'global'); + } else { + Logger::write("File ({$errfile}, {$errline}): {$errstr}", Logger::ERROR, 'global'); + } +} + +set_error_handler('error_handler', E_ALL); set_exception_handler('exception_handler'); try {