[+] Project : adding Features detachables in order to improve performance
// clean code
This commit is contained in:
@@ -156,7 +156,7 @@ class CartControllerCore extends FrontController
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$discount['cumulable_reduction'] && ($discount['id_discount_type'] != 1 || !$hasUndiscountedProduct))
|
||||
if (!$discount['cumulable_reduction'] && ($discount['id_discount_type'] != Discount::PERCENT || !$hasUndiscountedProduct))
|
||||
if (Tools::getValue('ajax') == 'true')
|
||||
die('{"hasError" : true, "errors" : ["'.Tools::displayError('Cannot add this product because current voucher does not allow additional discounts.').'"]}');
|
||||
else
|
||||
|
||||
@@ -103,20 +103,24 @@ class CategoryControllerCore extends FrontController
|
||||
$rewrited_url = $this->context->link->getCategoryLink((int)$this->category->id, $this->category->link_rewrite);
|
||||
|
||||
/* Scenes (could be externalised to another controler if you need them */
|
||||
$this->context->smarty->assign('scenes', Scene::getScenes($this->category->id, $this->context->language->id, true, false));
|
||||
$scenes = Scene::getScenes($this->category->id, $this->context->language->id, true, false);
|
||||
$this->context->smarty->assign('scenes', $scenes);
|
||||
|
||||
/* Scenes images formats */
|
||||
if ($sceneImageTypes = ImageType::getImagesTypes('scenes'))
|
||||
if (sizeof($scenes))
|
||||
{
|
||||
foreach ($sceneImageTypes AS $sceneImageType)
|
||||
if ($sceneImageTypes = ImageType::getImagesTypes('scenes'))
|
||||
{
|
||||
if ($sceneImageType['name'] == 'thumb_scene')
|
||||
$thumbSceneImageType = $sceneImageType;
|
||||
elseif ($sceneImageType['name'] == 'large_scene')
|
||||
$largeSceneImageType = $sceneImageType;
|
||||
foreach ($sceneImageTypes AS $sceneImageType)
|
||||
{
|
||||
if ($sceneImageType['name'] == 'thumb_scene')
|
||||
$thumbSceneImageType = $sceneImageType;
|
||||
elseif ($sceneImageType['name'] == 'large_scene')
|
||||
$largeSceneImageType = $sceneImageType;
|
||||
}
|
||||
$this->context->smarty->assign('thumbSceneImageType', isset($thumbSceneImageType) ? $thumbSceneImageType : NULL);
|
||||
$this->context->smarty->assign('largeSceneImageType', isset($largeSceneImageType) ? $largeSceneImageType : NULL);
|
||||
}
|
||||
$this->context->smarty->assign('thumbSceneImageType', isset($thumbSceneImageType) ? $thumbSceneImageType : NULL);
|
||||
$this->context->smarty->assign('largeSceneImageType', isset($largeSceneImageType) ? $largeSceneImageType : NULL);
|
||||
}
|
||||
|
||||
$this->category->description = Tools::nl2br($this->category->description);
|
||||
|
||||
@@ -86,8 +86,8 @@ class GuestTrackingControllerCore extends FrontController
|
||||
'deliveryState' => (Validate::isLoadedObject($addressDelivery) AND $addressDelivery->id_state) ? new State((int)($addressDelivery->id_state)) : false,
|
||||
'is_guest' => true,
|
||||
'group_use_tax' => (Group::getPriceDisplayMethod($customer->id_default_group) == PS_TAX_INC),
|
||||
'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
|
||||
'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_,
|
||||
'CUSTOMIZE_FILE' => Product::CUSTOMIZE_FILE,
|
||||
'CUSTOMIZE_TEXTFIELD' => Product::CUSTOMIZE_TEXTFIELD,
|
||||
'use_tax' => Configuration::get('PS_TAX'),
|
||||
'customizedDatas' => $customizedDatas,
|
||||
'invoiceAddressFormatedValues' => $invoiceAddressFormatedValues,
|
||||
|
||||
@@ -141,7 +141,7 @@ class OrderDetailControllerCore extends FrontController
|
||||
'deliveryState' => (Validate::isLoadedObject($addressDelivery) AND $addressDelivery->id_state) ? new State($addressDelivery->id_state) : false,
|
||||
'is_guest' => false,
|
||||
'messages' => Message::getMessagesByOrderId((int)($order->id)),
|
||||
'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
|
||||
'CUSTOMIZE_FILE' => Product::CUSTOMIZE_FILE,
|
||||
'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_,
|
||||
'isRecyclable' => Configuration::get('PS_RECYCLABLE_PACK'),
|
||||
'use_tax' => Configuration::get('PS_TAX'),
|
||||
|
||||
@@ -54,11 +54,11 @@ class ParentOrderControllerCore extends FrontController
|
||||
{
|
||||
global $isVirtualCart;
|
||||
parent::preProcess();
|
||||
|
||||
|
||||
// Redirect to the good order process
|
||||
if (Configuration::get('PS_ORDER_PROCESS_TYPE') == 0 AND Dispatcher::getInstance()->getController() != 'order')
|
||||
Tools::redirect('index.php?controller=order');
|
||||
if (Configuration::get('PS_ORDER_PROCESS_TYPE') == 1 AND Dispatcher::getInstance()->getController() != 'order-opc')
|
||||
if (Configuration::get('PS_ORDER_PROCESS_TYPE') == 1 AND Dispatcher::getInstance()->getController() != 'orderopc')
|
||||
{
|
||||
if (isset($_GET['step']) AND $_GET['step'] == 3)
|
||||
Tools::redirect('index.php?controller=order-opc&isPaymentStep=true');
|
||||
@@ -88,7 +88,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
|
||||
if ($this->nbProducts)
|
||||
{
|
||||
if (Tools::isSubmit('submitAddDiscount') AND Tools::getValue('discount_name'))
|
||||
if (Tools::isSubmit('submitAddDiscount') && Tools::getValue('discount_name') && Discount::isFeatureActive())
|
||||
{
|
||||
$discountName = Tools::getValue('discount_name');
|
||||
if (!Validate::isDiscountName($discountName))
|
||||
@@ -114,7 +114,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
'discount_name' => Tools::safeOutput($discountName)
|
||||
));
|
||||
}
|
||||
elseif (isset($_GET['deleteDiscount']) AND Validate::isUnsignedId($_GET['deleteDiscount']))
|
||||
elseif (isset($_GET['deleteDiscount']) && Validate::isUnsignedId($_GET['deleteDiscount']) && Discount::isFeatureActive())
|
||||
{
|
||||
$this->context->cart->deleteDiscount((int)($_GET['deleteDiscount']));
|
||||
Tools::redirect('index.php?controller=order-opc');
|
||||
@@ -235,23 +235,26 @@ class ParentOrderControllerCore extends FrontController
|
||||
$customizedDatas = Product::getAllCustomizedDatas($this->context->cart->id);
|
||||
|
||||
// override customization tax rate with real tax (tax rules)
|
||||
foreach($summary['products'] AS &$productUpdate)
|
||||
if ($customizedDatas)
|
||||
{
|
||||
$productId = (int)(isset($productUpdate['id_product']) ? $productUpdate['id_product'] : $productUpdate['product_id']);
|
||||
$productAttributeId = (int)(isset($productUpdate['id_product_attribute']) ? $productUpdate['id_product_attribute'] : $productUpdate['product_attribute_id']);
|
||||
foreach($summary['products'] AS &$productUpdate)
|
||||
{
|
||||
$productId = (int)(isset($productUpdate['id_product']) ? $productUpdate['id_product'] : $productUpdate['product_id']);
|
||||
$productAttributeId = (int)(isset($productUpdate['id_product_attribute']) ? $productUpdate['id_product_attribute'] : $productUpdate['product_attribute_id']);
|
||||
|
||||
if (isset($customizedDatas[$productId][$productAttributeId]))
|
||||
$productUpdate['tax_rate'] = Tax::getProductTaxRate($productId, $this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')});
|
||||
}
|
||||
|
||||
if (isset($customizedDatas[$productId][$productAttributeId]))
|
||||
$productUpdate['tax_rate'] = Tax::getProductTaxRate($productId, $this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')});
|
||||
Product::addCustomizationPrice($summary['products'], $customizedDatas);
|
||||
}
|
||||
|
||||
Product::addCustomizationPrice($summary['products'], $customizedDatas);
|
||||
|
||||
|
||||
if ($free_ship = Tools::convertPrice((float)(Configuration::get('PS_SHIPPING_FREE_PRICE')), new Currency($this->context->cart->id_currency)))
|
||||
{
|
||||
$discounts = $this->context->cart->getDiscounts();
|
||||
$total_free_ship = $free_ship - ($summary['total_products_wt'] + $summary['total_discounts']);
|
||||
foreach ($discounts as $discount)
|
||||
if ($discount['id_discount_type'] == 3)
|
||||
if ($discount['id_discount_type'] == Discount::FREE_SHIPPING)
|
||||
{
|
||||
$total_free_ship = 0;
|
||||
break;
|
||||
@@ -271,8 +274,8 @@ class ParentOrderControllerCore extends FrontController
|
||||
'shippingCost' => $this->context->cart->getOrderTotal(true, Cart::ONLY_SHIPPING),
|
||||
'shippingCostTaxExc' => $this->context->cart->getOrderTotal(false, Cart::ONLY_SHIPPING),
|
||||
'customizedDatas' => $customizedDatas,
|
||||
'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
|
||||
'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_,
|
||||
'CUSTOMIZE_FILE' => Product::CUSTOMIZE_FILE,
|
||||
'CUSTOMIZE_TEXTFIELD' => Product::CUSTOMIZE_TEXTFIELD,
|
||||
'lastProductAdded' => $this->context->cart->getLastProduct(),
|
||||
'displayVouchers' => Discount::getVouchersToCartDisplay($this->context->language->id, (isset($this->context->customer->id) ? $this->context->customer->id : 0)),
|
||||
'currencySign' => $this->context->currency->sign,
|
||||
|
||||
@@ -127,12 +127,12 @@ class ProductControllerCore extends FrontController
|
||||
elseif (isset($_GET['deletePicture']) AND !$this->context->cart->deletePictureToProduct($this->product->id, Tools::getValue('deletePicture')))
|
||||
$this->errors[] = Tools::displayError('An error occurred while deleting the selected picture');
|
||||
|
||||
$files = $this->context->cart->getProductCustomization($this->product->id, _CUSTOMIZE_FILE_, true);
|
||||
$files = $this->context->cart->getProductCustomization($this->product->id, Product::CUSTOMIZE_FILE, true);
|
||||
$pictures = array();
|
||||
foreach($files as $file)
|
||||
$pictures['pictures_'.$this->product->id.'_'.$file['index']] = $file['value'];
|
||||
|
||||
$texts = $this->context->cart->getProductCustomization($this->product->id, _CUSTOMIZE_TEXTFIELD_, true);
|
||||
$texts = $this->context->cart->getProductCustomization($this->product->id, Product::CUSTOMIZE_TEXTFIELD, true);
|
||||
$textFields = array();
|
||||
foreach ($texts as $textField)
|
||||
$textFields['textFields_'.$this->product->id.'_'.$textField['index']] = str_replace('<br />', "\n", $textField['value']);
|
||||
@@ -375,7 +375,7 @@ class ProductControllerCore extends FrontController
|
||||
return false;
|
||||
$authorizedFileFields = array();
|
||||
foreach ($fieldIds AS $fieldId)
|
||||
if ($fieldId['type'] == _CUSTOMIZE_FILE_)
|
||||
if ($fieldId['type'] == Product::CUSTOMIZE_FILE)
|
||||
$authorizedFileFields[(int)($fieldId['id_customization_field'])] = 'file'.(int)($fieldId['id_customization_field']);
|
||||
$indexes = array_flip($authorizedFileFields);
|
||||
foreach ($_FILES AS $fieldName => $file)
|
||||
@@ -398,7 +398,7 @@ class ProductControllerCore extends FrontController
|
||||
else
|
||||
{
|
||||
// Store customization in database
|
||||
$cart->addPictureToProduct($this->product->id, $indexes[$fieldName], _CUSTOMIZE_FILE_, $fileName);
|
||||
$cart->addPictureToProduct($this->product->id, $indexes[$fieldName], Product::CUSTOMIZE_FILE, $fileName);
|
||||
}
|
||||
unlink($tmpName);
|
||||
}
|
||||
@@ -411,7 +411,7 @@ class ProductControllerCore extends FrontController
|
||||
return false;
|
||||
$authorizedTextFields = array();
|
||||
foreach ($fieldIds AS $fieldId)
|
||||
if ($fieldId['type'] == _CUSTOMIZE_TEXTFIELD_)
|
||||
if ($fieldId['type'] == Product::CUSTOMIZE_TEXTFIELD)
|
||||
$authorizedTextFields[(int)($fieldId['id_customization_field'])] = 'textField'.(int)($fieldId['id_customization_field']);
|
||||
$indexes = array_flip($authorizedTextFields);
|
||||
foreach ($_POST AS $fieldName => $value)
|
||||
@@ -420,7 +420,7 @@ class ProductControllerCore extends FrontController
|
||||
if (!Validate::isMessage($value))
|
||||
$this->errors[] = Tools::displayError('Invalid message');
|
||||
else
|
||||
$cart->addTextFieldToProduct($this->product->id, $indexes[$fieldName], _CUSTOMIZE_TEXTFIELD_, $value);
|
||||
$cart->addTextFieldToProduct($this->product->id, $indexes[$fieldName], Product::CUSTOMIZE_TEXTFIELD, $value);
|
||||
}
|
||||
elseif (in_array($fieldName, $authorizedTextFields) AND empty($value))
|
||||
$cart->deleteCustomizationToProduct((int)($this->product->id), $indexes[$fieldName]);
|
||||
|
||||
Reference in New Issue
Block a user