Changeset 2864638
- Timestamp:
- 02/13/2023 06:32:20 PM (3 years ago)
- Location:
- buy-one-click-woocommerce
- Files:
-
- 22 edited
- 1 copied
-
tags/2.2.4 (copied) (copied from buy-one-click-woocommerce/trunk)
-
tags/2.2.4/README.md (modified) (1 diff)
-
tags/2.2.4/buycli-index.php (modified) (1 diff)
-
tags/2.2.4/readme.txt (modified) (1 diff)
-
tags/2.2.4/src/Common/ObjectWithConstantState.php (modified) (2 diffs)
-
tags/2.2.4/src/Controller/OrderController.php (modified) (1 diff)
-
tags/2.2.4/src/Core.php (modified) (3 diffs)
-
tags/2.2.4/src/Repository/Order.php (modified) (2 diffs)
-
tags/2.2.4/src/Service/Button.php (modified) (5 diffs)
-
tags/2.2.4/src/Service/ShortCodes.php (modified) (5 diffs)
-
tags/2.2.4/src/Utils/Hooks.php (modified) (3 diffs)
-
tags/2.2.4/src/ValueObject/OrderForm.php (modified) (4 diffs)
-
trunk/README.md (modified) (1 diff)
-
trunk/buycli-index.php (modified) (1 diff)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/src/Common/ObjectWithConstantState.php (modified) (2 diffs)
-
trunk/src/Controller/OrderController.php (modified) (1 diff)
-
trunk/src/Core.php (modified) (3 diffs)
-
trunk/src/Repository/Order.php (modified) (2 diffs)
-
trunk/src/Service/Button.php (modified) (5 diffs)
-
trunk/src/Service/ShortCodes.php (modified) (5 diffs)
-
trunk/src/Utils/Hooks.php (modified) (3 diffs)
-
trunk/src/ValueObject/OrderForm.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
buy-one-click-woocommerce/tags/2.2.4/README.md
r2774363 r2864638 46 46 return $newName; 47 47 }); 48 ``` 49 * All the hooks and filters of the plugin 50 ```php 51 Coderun\BuyOneClick\Utils\Hooks::class 48 52 ``` 49 53 -
buy-one-click-woocommerce/tags/2.2.4/buycli-index.php
r2860589 r2864638 5 5 * Plugin URI: http://zixn.ru/plagin-zakazat-v-odin-klik-dlya-woocommerce.html 6 6 * Description: Buy in one click for WooCommerce. The best plugin that adds to your online store purchase button in one click 7 * Version: 2.2. 37 * Version: 2.2.4 8 8 * Author: Djo 9 9 * Author URI: https://zixn.ru -
buy-one-click-woocommerce/tags/2.2.4/readme.txt
r2796162 r2864638 73 73 74 74 == Changelog == 75 = 2.2.4 = 76 * Improved compatibility with the plugin "coderun-buy-one-click-woocommerce-variations" 77 * Added new hooks 78 = 2.2.3 = 79 * Removed part of the old code 80 * Removed some of the unnecessary information from the settings 81 * Fixed a bug with duplicate orders when calculating the price of goods 75 82 = 2.2.2 = 76 83 * Fixed a problem with creating a zero order and an item with an empty price -
buy-one-click-woocommerce/tags/2.2.4/src/Common/ObjectWithConstantState.php
r2763482 r2864638 5 5 namespace Coderun\BuyOneClick\Common; 6 6 7 use function class_exists; 7 use Coderun\BuyOneClick\Utils\Hooks; 8 8 9 9 10 /** … … 26 27 */ 27 28 protected bool $variations = false; 28 29 29 30 protected function __construct() 30 31 { 31 if (class_exists('\Coderun\BuyOneClick\VariationsAddition')) { 32 $this->variations = true; 33 } 32 $this->variations = Hooks::filterVariationsPluginIsUsed($this); 34 33 } 35 34 -
buy-one-click-woocommerce/tags/2.2.4/src/Controller/OrderController.php
r2774363 r2864638 90 90 $_POST, 91 91 $notificationOptions, 92 ObjectWithConstantState::getInstance()->isVariations(),93 92 $files 94 93 ); -
buy-one-click-woocommerce/tags/2.2.4/src/Core.php
r2860589 r2864638 235 235 if ($this->commonOptions->isEnableButton()) { 236 236 $locationInProductCard = $this->commonOptions->getPositionButton(); //Позиция кнопки 237 if (ObjectWithConstantState::getInstance()->isVariations()) {238 $positionInVariations = VariationsAddition::getInstance()->getPositionButton();239 if ($positionInVariations !== false) {240 $locationInProductCard = $positionInVariations;241 }242 }243 237 add_action($locationInProductCard, [$this, 'styleAddFrontPage']); //Стили фронта 244 238 add_action($locationInProductCard, [$this, 'scriptAddFrontPage']); //Скрипты фронта … … 305 299 { 306 300 $variables = ['ajaxurl' => admin_url('admin-ajax.php')]; 307 $variables['variation'] = ObjectWithConstantState::getInstance()->isVariations() ? 1 :0;301 $variables['variation'] = 0; 308 302 $variables['tel_mask'] = str_replace(['\'', '"'], [], $this->commonOptions->getPhoneNumberInputMask()); 309 303 $variables['work_mode'] = $this->commonOptions->getPluginWorkMode(); … … 333 327 ]; 334 328 $variables['add_an_order_to_woo_commerce'] = $this->commonOptions->isAddAnOrderToWooCommerce(); 335 329 $variables = Hooks::filterInitFrontVariables($variables); 336 330 $outputList = [ 337 331 sprintf('<script type="text/javascript">%s', "\n"), -
buy-one-click-woocommerce/tags/2.2.4/src/Repository/Order.php
r2860589 r2864638 13 13 class Order 14 14 { 15 /** @var Order */ 15 16 protected static $_instance = null; 17 /** @var string */ 16 18 protected $order_table = 'wp_coderun_oneclickwoo_orders'; 17 19 … … 27 29 } 28 30 return self::$_instance; 29 }30 31 protected function __construct()32 {33 31 } 34 32 -
buy-one-click-woocommerce/tags/2.2.4/src/Service/Button.php
r2774363 r2864638 5 5 namespace Coderun\BuyOneClick\Service; 6 6 7 use Coderun\BuyOneClick\Common\ObjectWithConstantState; 7 8 use Coderun\BuyOneClick\Core; 8 9 use Coderun\BuyOneClick\Options\General as GeneralOptions; … … 11 12 use Coderun\BuyOneClick\SimpleDataObjects\ShortcodeParameters; 12 13 use Coderun\BuyOneClick\Templates\OrderButton; 14 use Coderun\BuyOneClick\Utils\Hooks; 13 15 use Coderun\BuyOneClick\Utils\Product as ProductUtils; 14 16 use Exception; … … 69 71 } 70 72 } 73 $this->initVariationAddon($productId); 71 74 72 75 return (new OrderButton())->render( … … 96 99 { 97 100 if ($this->commonOptions->getNameButton() and $this->commonOptions->getPositionButton()) { 101 $this->initVariationAddon((int)$params->id); 98 102 return (new OrderButton())->render( 99 103 new CustomOrderButtonDataObject( … … 142 146 return $stockStatus === 'outofstock' ? $name : $defaultName; 143 147 } 148 149 /** 150 * Инициализация для дополнения с вариативными товарами 151 * 152 * @param int|string $productId 153 * 154 * @return void 155 */ 156 protected function initVariationAddon($productId) 157 { 158 $product = wc_get_product($productId); 159 if (!$product instanceof \WC_Product_Variable) { 160 return; 161 } 162 Hooks::beforeDrawingOrderButtonOnlyForVariableProducts($this); 163 } 144 164 } -
buy-one-click-woocommerce/tags/2.2.4/src/Service/ShortCodes.php
r2774363 r2864638 5 5 namespace Coderun\BuyOneClick\Service; 6 6 7 use Coderun\BuyOneClick\Common\ObjectWithConstantState;8 7 use Coderun\BuyOneClick\Constant\ShortcodeParameters; 9 8 use Coderun\BuyOneClick\Constant\ShortCodes as ShortCodesConst; … … 11 10 use Coderun\BuyOneClick\Service\Factory\ButtonFactory as ButtonServiceFactory; 12 11 use Coderun\BuyOneClick\Core; 12 use Coderun\BuyOneClick\Utils\Hooks; 13 13 use Exception; 14 14 use Coderun\BuyOneClick\SimpleDataObjects\ShortcodeParameters as ShortcodeParametersObjects; 15 15 16 use function ob_get_contents; 17 use function ob_start; 18 use function ob_end_clean; 16 19 use function shortcode_atts; 17 20 use function array_filter; 18 21 use function is_numeric; 22 use function wc_get_product; 19 23 20 24 class ShortCodes … … 29 33 * @var array<string, string> 30 34 */ 31 protected $shortCodeFunctionMap = [35 protected array $shortCodeFunctionMap = [ 32 36 ShortCodesConst::VIEW_BUY_BUTTON => 'viewBuyButton', 33 37 ShortCodesConst::VIEW_BUY_BUTTON_CUSTOM => 'viewBuyButtonCustom', … … 82 86 $core->styleAddFrontPage(); 83 87 $core->scriptAddFrontPage(); 84 if ( ObjectWithConstantState::getInstance()->isVariations()) {85 $content = \Coderun\BuyOneClick\VariationsAddition::getInstance()->shortCode();88 if (!empty($params['id'])) { 89 $content = $this->initVariationAddon($params['id']); 86 90 } 87 91 $content .= ((new ButtonServiceFactory())->create())->getHtmlOrderButtons($params); … … 130 134 ); 131 135 } 136 137 /** 138 * Инициализация для дополнения с вариативными товарами 139 * 140 * @param int|string $productId 141 * 142 * @return string 143 */ 144 protected function initVariationAddon($productId): string 145 { 146 $product = wc_get_product($productId); 147 if (!$product instanceof \WC_Product_Variable) { 148 return ''; 149 } 150 ob_start(); 151 Hooks::beforeDrawingOrderButtonOnlyForVariableProducts($this); 152 $page = ob_get_contents(); 153 ob_end_clean(); 154 return $page; 155 } 132 156 } -
buy-one-click-woocommerce/tags/2.2.4/src/Utils/Hooks.php
r2763482 r2864638 4 4 5 5 namespace Coderun\BuyOneClick\Utils; 6 7 use function is_bool; 8 use function is_int; 9 use function is_string; 6 10 7 11 /** … … 23 27 * Вызывается после создания нового заказа 24 28 * 25 * @param array $arResult результат функции с заказом 26 * @param array $arLog лог(журнал 27 * плагина) 29 * @param array $arResult Результат функции с заказом 30 * @param array $arLog Лог(журнал плагина) 28 31 */ 29 32 public static function buyClickNewrder($arResult, $arLog) … … 100 103 return apply_filters('coderun_oneclickwoo_file_load_folder_path', $path); 101 104 } 105 106 /** 107 * Перед тем как будет нарисована кнопка быстрого заказа в карточке товара 108 * Только для вариативных товаров 109 * 110 * @param $context object|mixed текущий объект 111 * 112 * @return void 113 */ 114 public static function beforeDrawingOrderButtonOnlyForVariableProducts($context): void 115 { 116 do_action('buy_click_before_drawing_order_button_only_for_variable_products', $context); 117 } 118 119 /** 120 * Во время сборки массива пременных JS фронт 121 * 122 * @param array $variables 123 * 124 * @return array 125 */ 126 public static function filterInitFrontVariables(array $variables): array 127 { 128 return apply_filters('buy_click_init_front_variables', $variables) ?? $variables; 129 } 130 131 /** 132 * Принимает данные с формы, возвращает читабельную строку 133 * 134 * @param array $form 135 * 136 * @return string 137 */ 138 public static function filterDataAboutSelectedVariationFromForm(array $form): string 139 { 140 $result = apply_filters('buy_click_data_about_selected_variation_from_form', $form); 141 if (!is_string($result)) { 142 return ''; 143 } 144 return $result; 145 } 146 147 /** 148 * ИД вариативного товара с формы 149 * 150 * @param array $form 151 * 152 * @return int 153 */ 154 public static function filterGetIdOfSelectedVariation(array $form): int 155 { 156 $result = apply_filters('buy_click_get_id_of_selected_variation', $form); 157 if (!is_int($result)) { 158 return 0; 159 } 160 return $result; 161 } 162 163 /** 164 * Устанавливает признак активности плагина вариативных товаров 165 * 166 * @param $context 167 * 168 * @return bool 169 */ 170 public static function filterVariationsPluginIsUsed($context): bool 171 { 172 $result = apply_filters('buy_click_variations_plugin_is_used', $context); 173 if (!is_bool($result)) { 174 return false; 175 } 176 return $result; 177 } 102 178 } -
buy-one-click-woocommerce/tags/2.2.4/src/ValueObject/OrderForm.php
r2860589 r2864638 7 7 use Coderun\BuyOneClick\Exceptions\ObjectException; 8 8 use Coderun\BuyOneClick\Options\Notification as NotificationOptions; 9 use Coderun\BuyOneClick\Repository\Order;10 9 use Coderun\BuyOneClick\SimpleDataObjects\DownloadedFile; 10 use Coderun\BuyOneClick\Utils\Hooks; 11 11 use Coderun\BuyOneClick\Utils\Uuid as UuidUtils; 12 use Coderun\BuyOneClick\VariationsAddition;13 12 use WC_Data_Exception; 14 13 … … 117 116 array $formData, 118 117 NotificationOptions $notificationOptions, 119 bool $variationEnable = false,120 118 array $files = [] 121 119 ) { … … 144 142 ? 1 : intval($this->formDateParse('quantity_product')); 145 143 $this->fillInPriceWithTax(); 146 if ($variationEnable) { 147 $this->fillingWithVariations(); 148 } 144 $this->fillingWithVariations(); 149 145 $this->filesUrlCollection = $this->collectUrlToUploadedFiles($files); 150 146 foreach ($this->filesUrlCollection as $fileUrl) { … … 176 172 private function fillingWithVariations(): void 177 173 { 178 $pluginVariations = VariationsAddition::getInstance(); 179 $this->variationData = $pluginVariations->getVariableProductInfo($this->getFormsField()); 180 $variation_id = $pluginVariations->getVariationId($this->getFormsField()); 174 $this->variationData = Hooks::filterDataAboutSelectedVariationFromForm($this->getFormsField()); 175 $variation_id = Hooks::filterGetIdOfSelectedVariation($this->getFormsField()); 181 176 if ($variation_id > 0) { 182 177 $this->productIsVariable = true; 183 $this->productId = (int)$variation_id;178 $this->productId = $variation_id; 184 179 } 185 180 } -
buy-one-click-woocommerce/trunk/README.md
r2774363 r2864638 46 46 return $newName; 47 47 }); 48 ``` 49 * All the hooks and filters of the plugin 50 ```php 51 Coderun\BuyOneClick\Utils\Hooks::class 48 52 ``` 49 53 -
buy-one-click-woocommerce/trunk/buycli-index.php
r2860589 r2864638 5 5 * Plugin URI: http://zixn.ru/plagin-zakazat-v-odin-klik-dlya-woocommerce.html 6 6 * Description: Buy in one click for WooCommerce. The best plugin that adds to your online store purchase button in one click 7 * Version: 2.2. 37 * Version: 2.2.4 8 8 * Author: Djo 9 9 * Author URI: https://zixn.ru -
buy-one-click-woocommerce/trunk/readme.txt
r2796162 r2864638 73 73 74 74 == Changelog == 75 = 2.2.4 = 76 * Improved compatibility with the plugin "coderun-buy-one-click-woocommerce-variations" 77 * Added new hooks 78 = 2.2.3 = 79 * Removed part of the old code 80 * Removed some of the unnecessary information from the settings 81 * Fixed a bug with duplicate orders when calculating the price of goods 75 82 = 2.2.2 = 76 83 * Fixed a problem with creating a zero order and an item with an empty price -
buy-one-click-woocommerce/trunk/src/Common/ObjectWithConstantState.php
r2763482 r2864638 5 5 namespace Coderun\BuyOneClick\Common; 6 6 7 use function class_exists; 7 use Coderun\BuyOneClick\Utils\Hooks; 8 8 9 9 10 /** … … 26 27 */ 27 28 protected bool $variations = false; 28 29 29 30 protected function __construct() 30 31 { 31 if (class_exists('\Coderun\BuyOneClick\VariationsAddition')) { 32 $this->variations = true; 33 } 32 $this->variations = Hooks::filterVariationsPluginIsUsed($this); 34 33 } 35 34 -
buy-one-click-woocommerce/trunk/src/Controller/OrderController.php
r2774363 r2864638 90 90 $_POST, 91 91 $notificationOptions, 92 ObjectWithConstantState::getInstance()->isVariations(),93 92 $files 94 93 ); -
buy-one-click-woocommerce/trunk/src/Core.php
r2860589 r2864638 235 235 if ($this->commonOptions->isEnableButton()) { 236 236 $locationInProductCard = $this->commonOptions->getPositionButton(); //Позиция кнопки 237 if (ObjectWithConstantState::getInstance()->isVariations()) {238 $positionInVariations = VariationsAddition::getInstance()->getPositionButton();239 if ($positionInVariations !== false) {240 $locationInProductCard = $positionInVariations;241 }242 }243 237 add_action($locationInProductCard, [$this, 'styleAddFrontPage']); //Стили фронта 244 238 add_action($locationInProductCard, [$this, 'scriptAddFrontPage']); //Скрипты фронта … … 305 299 { 306 300 $variables = ['ajaxurl' => admin_url('admin-ajax.php')]; 307 $variables['variation'] = ObjectWithConstantState::getInstance()->isVariations() ? 1 :0;301 $variables['variation'] = 0; 308 302 $variables['tel_mask'] = str_replace(['\'', '"'], [], $this->commonOptions->getPhoneNumberInputMask()); 309 303 $variables['work_mode'] = $this->commonOptions->getPluginWorkMode(); … … 333 327 ]; 334 328 $variables['add_an_order_to_woo_commerce'] = $this->commonOptions->isAddAnOrderToWooCommerce(); 335 329 $variables = Hooks::filterInitFrontVariables($variables); 336 330 $outputList = [ 337 331 sprintf('<script type="text/javascript">%s', "\n"), -
buy-one-click-woocommerce/trunk/src/Repository/Order.php
r2860589 r2864638 13 13 class Order 14 14 { 15 /** @var Order */ 15 16 protected static $_instance = null; 17 /** @var string */ 16 18 protected $order_table = 'wp_coderun_oneclickwoo_orders'; 17 19 … … 27 29 } 28 30 return self::$_instance; 29 }30 31 protected function __construct()32 {33 31 } 34 32 -
buy-one-click-woocommerce/trunk/src/Service/Button.php
r2774363 r2864638 5 5 namespace Coderun\BuyOneClick\Service; 6 6 7 use Coderun\BuyOneClick\Common\ObjectWithConstantState; 7 8 use Coderun\BuyOneClick\Core; 8 9 use Coderun\BuyOneClick\Options\General as GeneralOptions; … … 11 12 use Coderun\BuyOneClick\SimpleDataObjects\ShortcodeParameters; 12 13 use Coderun\BuyOneClick\Templates\OrderButton; 14 use Coderun\BuyOneClick\Utils\Hooks; 13 15 use Coderun\BuyOneClick\Utils\Product as ProductUtils; 14 16 use Exception; … … 69 71 } 70 72 } 73 $this->initVariationAddon($productId); 71 74 72 75 return (new OrderButton())->render( … … 96 99 { 97 100 if ($this->commonOptions->getNameButton() and $this->commonOptions->getPositionButton()) { 101 $this->initVariationAddon((int)$params->id); 98 102 return (new OrderButton())->render( 99 103 new CustomOrderButtonDataObject( … … 142 146 return $stockStatus === 'outofstock' ? $name : $defaultName; 143 147 } 148 149 /** 150 * Инициализация для дополнения с вариативными товарами 151 * 152 * @param int|string $productId 153 * 154 * @return void 155 */ 156 protected function initVariationAddon($productId) 157 { 158 $product = wc_get_product($productId); 159 if (!$product instanceof \WC_Product_Variable) { 160 return; 161 } 162 Hooks::beforeDrawingOrderButtonOnlyForVariableProducts($this); 163 } 144 164 } -
buy-one-click-woocommerce/trunk/src/Service/ShortCodes.php
r2774363 r2864638 5 5 namespace Coderun\BuyOneClick\Service; 6 6 7 use Coderun\BuyOneClick\Common\ObjectWithConstantState;8 7 use Coderun\BuyOneClick\Constant\ShortcodeParameters; 9 8 use Coderun\BuyOneClick\Constant\ShortCodes as ShortCodesConst; … … 11 10 use Coderun\BuyOneClick\Service\Factory\ButtonFactory as ButtonServiceFactory; 12 11 use Coderun\BuyOneClick\Core; 12 use Coderun\BuyOneClick\Utils\Hooks; 13 13 use Exception; 14 14 use Coderun\BuyOneClick\SimpleDataObjects\ShortcodeParameters as ShortcodeParametersObjects; 15 15 16 use function ob_get_contents; 17 use function ob_start; 18 use function ob_end_clean; 16 19 use function shortcode_atts; 17 20 use function array_filter; 18 21 use function is_numeric; 22 use function wc_get_product; 19 23 20 24 class ShortCodes … … 29 33 * @var array<string, string> 30 34 */ 31 protected $shortCodeFunctionMap = [35 protected array $shortCodeFunctionMap = [ 32 36 ShortCodesConst::VIEW_BUY_BUTTON => 'viewBuyButton', 33 37 ShortCodesConst::VIEW_BUY_BUTTON_CUSTOM => 'viewBuyButtonCustom', … … 82 86 $core->styleAddFrontPage(); 83 87 $core->scriptAddFrontPage(); 84 if ( ObjectWithConstantState::getInstance()->isVariations()) {85 $content = \Coderun\BuyOneClick\VariationsAddition::getInstance()->shortCode();88 if (!empty($params['id'])) { 89 $content = $this->initVariationAddon($params['id']); 86 90 } 87 91 $content .= ((new ButtonServiceFactory())->create())->getHtmlOrderButtons($params); … … 130 134 ); 131 135 } 136 137 /** 138 * Инициализация для дополнения с вариативными товарами 139 * 140 * @param int|string $productId 141 * 142 * @return string 143 */ 144 protected function initVariationAddon($productId): string 145 { 146 $product = wc_get_product($productId); 147 if (!$product instanceof \WC_Product_Variable) { 148 return ''; 149 } 150 ob_start(); 151 Hooks::beforeDrawingOrderButtonOnlyForVariableProducts($this); 152 $page = ob_get_contents(); 153 ob_end_clean(); 154 return $page; 155 } 132 156 } -
buy-one-click-woocommerce/trunk/src/Utils/Hooks.php
r2763482 r2864638 4 4 5 5 namespace Coderun\BuyOneClick\Utils; 6 7 use function is_bool; 8 use function is_int; 9 use function is_string; 6 10 7 11 /** … … 23 27 * Вызывается после создания нового заказа 24 28 * 25 * @param array $arResult результат функции с заказом 26 * @param array $arLog лог(журнал 27 * плагина) 29 * @param array $arResult Результат функции с заказом 30 * @param array $arLog Лог(журнал плагина) 28 31 */ 29 32 public static function buyClickNewrder($arResult, $arLog) … … 100 103 return apply_filters('coderun_oneclickwoo_file_load_folder_path', $path); 101 104 } 105 106 /** 107 * Перед тем как будет нарисована кнопка быстрого заказа в карточке товара 108 * Только для вариативных товаров 109 * 110 * @param $context object|mixed текущий объект 111 * 112 * @return void 113 */ 114 public static function beforeDrawingOrderButtonOnlyForVariableProducts($context): void 115 { 116 do_action('buy_click_before_drawing_order_button_only_for_variable_products', $context); 117 } 118 119 /** 120 * Во время сборки массива пременных JS фронт 121 * 122 * @param array $variables 123 * 124 * @return array 125 */ 126 public static function filterInitFrontVariables(array $variables): array 127 { 128 return apply_filters('buy_click_init_front_variables', $variables) ?? $variables; 129 } 130 131 /** 132 * Принимает данные с формы, возвращает читабельную строку 133 * 134 * @param array $form 135 * 136 * @return string 137 */ 138 public static function filterDataAboutSelectedVariationFromForm(array $form): string 139 { 140 $result = apply_filters('buy_click_data_about_selected_variation_from_form', $form); 141 if (!is_string($result)) { 142 return ''; 143 } 144 return $result; 145 } 146 147 /** 148 * ИД вариативного товара с формы 149 * 150 * @param array $form 151 * 152 * @return int 153 */ 154 public static function filterGetIdOfSelectedVariation(array $form): int 155 { 156 $result = apply_filters('buy_click_get_id_of_selected_variation', $form); 157 if (!is_int($result)) { 158 return 0; 159 } 160 return $result; 161 } 162 163 /** 164 * Устанавливает признак активности плагина вариативных товаров 165 * 166 * @param $context 167 * 168 * @return bool 169 */ 170 public static function filterVariationsPluginIsUsed($context): bool 171 { 172 $result = apply_filters('buy_click_variations_plugin_is_used', $context); 173 if (!is_bool($result)) { 174 return false; 175 } 176 return $result; 177 } 102 178 } -
buy-one-click-woocommerce/trunk/src/ValueObject/OrderForm.php
r2860589 r2864638 7 7 use Coderun\BuyOneClick\Exceptions\ObjectException; 8 8 use Coderun\BuyOneClick\Options\Notification as NotificationOptions; 9 use Coderun\BuyOneClick\Repository\Order;10 9 use Coderun\BuyOneClick\SimpleDataObjects\DownloadedFile; 10 use Coderun\BuyOneClick\Utils\Hooks; 11 11 use Coderun\BuyOneClick\Utils\Uuid as UuidUtils; 12 use Coderun\BuyOneClick\VariationsAddition;13 12 use WC_Data_Exception; 14 13 … … 117 116 array $formData, 118 117 NotificationOptions $notificationOptions, 119 bool $variationEnable = false,120 118 array $files = [] 121 119 ) { … … 144 142 ? 1 : intval($this->formDateParse('quantity_product')); 145 143 $this->fillInPriceWithTax(); 146 if ($variationEnable) { 147 $this->fillingWithVariations(); 148 } 144 $this->fillingWithVariations(); 149 145 $this->filesUrlCollection = $this->collectUrlToUploadedFiles($files); 150 146 foreach ($this->filesUrlCollection as $fileUrl) { … … 176 172 private function fillingWithVariations(): void 177 173 { 178 $pluginVariations = VariationsAddition::getInstance(); 179 $this->variationData = $pluginVariations->getVariableProductInfo($this->getFormsField()); 180 $variation_id = $pluginVariations->getVariationId($this->getFormsField()); 174 $this->variationData = Hooks::filterDataAboutSelectedVariationFromForm($this->getFormsField()); 175 $variation_id = Hooks::filterGetIdOfSelectedVariation($this->getFormsField()); 181 176 if ($variation_id > 0) { 182 177 $this->productIsVariable = true; 183 $this->productId = (int)$variation_id;178 $this->productId = $variation_id; 184 179 } 185 180 }
Note: See TracChangeset
for help on using the changeset viewer.