Plugin Directory

Changeset 3341206


Ignore:
Timestamp:
08/07/2025 06:28:28 PM (6 months ago)
Author:
UkrSolution
Message:

2.0.3

Location:
upc-ean-barcode-generator/trunk
Files:
4 added
2 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • upc-ean-barcode-generator/trunk/src/Core.php

    r3218304 r3341206  
    9090        global $wp_version;
    9191
    92         wp_enqueue_script("uegenerator_loader", plugin_dir_url(__FILE__)."../assets/js/index-2.0.2-basic-1736239113724.js", array("jquery"), 1736239113724, true);
     92        wp_enqueue_script("uegenerator_loader", plugin_dir_url(__FILE__)."../assets/js/index-2.0.3-basic-1754503987086.js", array("jquery"), 1754503987086, true);
    9393
    94     wp_enqueue_style('uegenerator_style', plugin_dir_url(__FILE__)."../assets/css/index-2.0.2-basic-1736239113724.css", false, 1736239113724);
     94    wp_enqueue_style('uegenerator_style', plugin_dir_url(__FILE__)."../assets/css/index-2.0.3-basic-1754503987086.css", false, 1754503987086);
    9595
    9696    $appJsPath = "";
     
    108108            'pluginUrl' => plugin_dir_url(__DIR__ ),
    109109            'ajaxUrl' => get_admin_url() . 'admin-ajax.php',
    110             'pluginVersion' => '2.0.2',
     110            'pluginVersion' => '2.0.3',
    111111            'nonce' => wp_create_nonce('wp_rest'),
     112            'ajaxNonce' => wp_create_nonce('uegen-ajax-nonce'),
    112113            'settings' => $this->settings->get(),
    113114            'codeStoreFieldOptions' => $this->settings->getCodeStoreFieldOptions(),
  • upc-ean-barcode-generator/trunk/src/features/DataSources/SpreadSheet.php

    r3218304 r3341206  
    66use UkrSolution\UpcEanGenerator\Exceptions\GeneratorException;
    77use UkrSolution\UpcEanGenerator\features\DataSources\Filters\PhpExcelChunkReadFilter;
     8use UkrSolution\UpcEanGenerator\Helpers\Request;
    89
    910class SpreadSheet
     
    3031    public function uploadDataFile()
    3132    {
     33        Request::checkNonce('uegen-ajax-nonce');
     34
    3235        if (!current_user_can('manage_options')) {
    3336            wp_die();
     
    8487    public function importFromFile()
    8588    {
     89        Request::checkNonce('uegen-ajax-nonce');
     90
    8691        if (!current_user_can('manage_options')) {
    8792            wp_die();
     
    305310    }
    306311
    307     public function getImportedFilesInfo($getResult = true)
    308     {
     312    public function getImportedFilesInfo($getResult = false)
     313    {
     314        if (!$getResult) {
     315            Request::checkNonce('uegen-ajax-nonce');
     316        }
     317
    309318        if (!current_user_can('manage_options')) {
    310319            wp_die();
     
    377386    public function deleteImportedFileData()
    378387    {
     388        Request::checkNonce('uegen-ajax-nonce');
     389
    379390        if (!current_user_can('manage_options')) {
    380391            wp_die();
  • upc-ean-barcode-generator/trunk/src/features/Integrations/AtumBarcode.php

    r3148766 r3341206  
    116116        );
    117117
     118        if (is_plugin_active('polylang/polylang.php')) {
     119            unset($args['lang']);
     120        }
     121
    118122        $simpleProductsIds = (new \WP_Query($args))->posts;
    119123
     
    124128        $productsVariationsParentsIds = wp_list_pluck($productsVariations, 'post_parent');
    125129
    126         $actualProductsIds = (new \WP_Query(array(
     130        $actualProductsArgs = array(
    127131            'post_type' => 'product',
    128132            'post_status' => static::POST_STATUSES,
     
    132136            'suppress_filters' => true,
    133137            'lang' => 'all',
    134         )))->posts;
     138        );
     139
     140        if (is_plugin_active('polylang/polylang.php')) {
     141            unset($actualProductsArgs['lang']);
     142        }
     143
     144        $actualProductsIds = (new \WP_Query($actualProductsArgs))->posts;
    135145
    136146        $args['post_parent__in'] = empty($actualProductsIds) ? array(0) : array_values($actualProductsIds);
     
    149159        );
    150160
     161        if (is_plugin_active('polylang/polylang.php')) {
     162            unset($args['lang']);
     163        }
     164
    151165        $result = new \WP_Query($args);
    152166        return $result;
    153 
    154167    }
    155168
  • upc-ean-barcode-generator/trunk/src/features/Integrations/AtumSupplierSku.php

    r3148766 r3341206  
    113113        );
    114114
     115        if (is_plugin_active('polylang/polylang.php')) {
     116            unset($args['lang']);
     117        }
     118
    115119        $simpleProductsIds = (new \WP_Query($args))->posts;
    116120
     
    121125        $productsVariationsParentsIds = wp_list_pluck($productsVariations, 'post_parent');
    122126
    123         $actualProductsIds = (new \WP_Query(array(
     127        $actualProductsArgs = array(
    124128            'post_type' => 'product',
    125129            'post_status' => static::POST_STATUSES,
     
    129133            'suppress_filters' => true,
    130134            'lang' => 'all',
    131         )))->posts;
     135        );
     136        if (is_plugin_active('polylang/polylang.php')) {
     137            unset($actualProductsArgs['lang']);
     138        }
     139        $actualProductsIds = (new \WP_Query($actualProductsArgs))->posts;
    132140
    133141        $args['post_parent__in'] = empty($actualProductsIds) ? array(0) : array_values($actualProductsIds);
     
    146154        );
    147155
     156        if (is_plugin_active('polylang/polylang.php')) {
     157            unset($args['lang']);
     158        }
     159
    148160        $result = new \WP_Query($args);
    149161        return $result;
    150 
    151162    }
    152163
  • upc-ean-barcode-generator/trunk/src/features/Integrations/CodeStoreField.php

    r3148766 r3341206  
    168168        );
    169169
     170        if (is_plugin_active('polylang/polylang.php')) {
     171            unset($args['lang']);
     172        }
     173
    170174        $simpleProductsIds = (new \WP_Query($args))->posts;
    171175
     
    176180        $productsVariationsParentsIds = wp_list_pluck($productsVariations, 'post_parent');
    177181
    178         $actualProductsIds = (new \WP_Query(array(
     182        $actualProductsArgs = array(
    179183            'post_type' => 'product',
    180184            'post_status' => static::POST_STATUSES,
     
    184188            'suppress_filters' => true,
    185189            'lang' => 'all',
    186         )))->posts;
     190        );
     191
     192        if (is_plugin_active('polylang/polylang.php')) {
     193            unset($actualProductsArgs['lang']);
     194        }
     195
     196        $actualProductsIds = (new \WP_Query($actualProductsArgs))->posts;
    187197
    188198        $args['post_parent__in'] = empty($actualProductsIds) ? array(0) : array_values($actualProductsIds);
     
    191201
    192202        $postsIds = array_merge($simpleProductsIds, $variationsIds);
     203
    193204        $args = array(
    194205            'post_type' => static::POST_TYPES,
     
    201212        );
    202213
     214        if (is_plugin_active('polylang/polylang.php')) {
     215            unset($args['lang']);
     216        }
     217
    203218        $result = new \WP_Query($args);
     219
    204220        return $result;
    205 
    206221    }
    207222
  • upc-ean-barcode-generator/trunk/src/features/Integrations/CustomField.php

    r3148766 r3341206  
    126126        );
    127127
     128        if (is_plugin_active('polylang/polylang.php')) {
     129            unset($args['lang']);
     130        }
     131
    128132        $simpleProductsIds = (new \WP_Query($args))->posts;
    129133
     
    134138        $productsVariationsParentsIds = wp_list_pluck($productsVariations, 'post_parent');
    135139
    136         $actualProductsIds = (new \WP_Query(array(
     140        $actualProductsArgs = array(
    137141            'post_type' => 'product',
    138142            'post_status' => static::POST_STATUSES,
     
    142146            'suppress_filters' => true,
    143147            'lang' => 'all',
    144         )))->posts;
     148        );
     149        if (is_plugin_active('polylang/polylang.php')) {
     150            unset($actualProductsArgs['lang']);
     151        }
     152        $actualProductsIds = (new \WP_Query($actualProductsArgs))->posts;
    145153
    146154        $args['post_parent__in'] = empty($actualProductsIds) ? array(0) : array_values($actualProductsIds);
     
    158166            'lang' => 'all',
    159167        );
     168
     169        if (is_plugin_active('polylang/polylang.php')) {
     170            unset($args['lang']);
     171        }
    160172
    161173        $result = new \WP_Query($args);
  • upc-ean-barcode-generator/trunk/src/features/Integrations/DefaultField.php

    r3148766 r3341206  
    120120        );
    121121
     122        if (is_plugin_active('polylang/polylang.php')) {
     123            unset($args['lang']);
     124        }
     125
    122126        $simpleProductsIds = (new \WP_Query($args))->posts;
    123127
     
    128132        $productsVariationsParentsIds = wp_list_pluck($productsVariations, 'post_parent');
    129133
    130         $actualProductsIds = (new \WP_Query(array(
    131              'post_type' => 'product',
    132              'post_status' => static::POST_STATUSES,
    133              'post__in' => empty($productsVariationsParentsIds) ? array(0) : array_values($productsVariationsParentsIds),
    134              'posts_per_page' => -1,
    135              'fields' => 'ids',
    136              'suppress_filters' => true,
    137              'lang' => 'all',
    138          )))->posts;
     134        $actualProductsArgs = array(
     135            'post_type' => 'product',
     136            'post_status' => static::POST_STATUSES,
     137            'post__in' => empty($productsVariationsParentsIds) ? array(0) : array_values($productsVariationsParentsIds),
     138            'posts_per_page' => -1,
     139            'fields' => 'ids',
     140            'suppress_filters' => true,
     141            'lang' => 'all',
     142        );
     143        if (is_plugin_active('polylang/polylang.php')) {
     144            unset($actualProductsArgs['lang']);
     145        }
     146        $actualProductsIds = (new \WP_Query($actualProductsArgs))->posts;
    139147
    140148        $args['post_parent__in'] = empty($actualProductsIds) ? array(0) : array_values($actualProductsIds);
     
    152160            'lang' => 'all',
    153161        );
     162
     163        if (is_plugin_active('polylang/polylang.php')) {
     164            unset($args['lang']);
     165        }
    154166
    155167        $result = new \WP_Query($args);
  • upc-ean-barcode-generator/trunk/src/features/Integrations/HwpGtin.php

    r3148766 r3341206  
    143143        );
    144144
     145        if (is_plugin_active('polylang/polylang.php')) {
     146            unset($args['lang']);
     147        }
     148
    145149        $simpleProductsIds = (new \WP_Query($args))->posts;
    146150
     
    163167        $productsVariationsParentsIds = wp_list_pluck($productsVariations, 'post_parent');
    164168
    165         $actualProductsIds = (new \WP_Query(array(
     169        $actualProductsArgs = array(
    166170            'post_type' => 'product',
    167171            'post_status' => static::POST_STATUSES,
     
    171175            'suppress_filters' => true,
    172176            'lang' => 'all',
    173         )))->posts;
     177        );
     178        if (is_plugin_active('polylang/polylang.php')) {
     179            unset($actualProductsArgs['lang']);
     180        }
     181        $actualProductsIds = (new \WP_Query($actualProductsArgs))->posts;
    174182
    175183        $args['post_parent__in'] = empty($actualProductsIds) ? array(0) : array_values($actualProductsIds);
     
    187195            'lang' => 'all',
    188196        );
     197
     198        if (is_plugin_active('polylang/polylang.php')) {
     199            unset($args['lang']);
     200        }
    189201
    190202        $result = new \WP_Query($args);
  • upc-ean-barcode-generator/trunk/src/features/codes/Codes.php

    r3218304 r3341206  
    55use UkrSolution\UpcEanGenerator\features\products\Products;
    66use UkrSolution\UpcEanGenerator\features\settings\Settings;
     7use UkrSolution\UpcEanGenerator\Helpers\Request;
    78use UkrSolution\UpcEanGenerator\Hooks;
    89
    910class Codes
    1011{
    11 
    1212    public function regenerateCode()
    1313    {
     14        Request::checkNonce('uegen-ajax-nonce');
     15
    1416        if (!current_user_can('manage_options')) {
    1517            wp_die();
     
    2426    public function generate($fieldName)
    2527    {
    26 
    2728        $settings = new Settings();
    2829        if ($settings->getField("general", "code-type", "upc") === "upc") {
  • upc-ean-barcode-generator/trunk/src/features/products/Products.php

    r3218304 r3341206  
    66use UkrSolution\UpcEanGenerator\features\DataSources\SpreadSheet;
    77use UkrSolution\UpcEanGenerator\features\settings\Settings;
     8use UkrSolution\UpcEanGenerator\Helpers\Request;
    89use UkrSolution\UpcEanGenerator\Hooks;
    910use function EasyWPSMTP\Vendor\GuzzleHttp\Psr7\str;
     
    5253        add_action('woocommerce_save_product_variation', array($this, 'woocommerce_save_product_variation'), 10, 2);
    5354
    54         add_action('save_post', array($this, 'addCodeValueForNewProduct'), 99999, 3);
     55        add_action('woocommerce_after_product_object_save', array($this, 'addCodeValueForNewProductWcAfterProductSave'), 10, 2);
    5556
    5657        add_action('edit_form_top', array($this, 'noFreeCodeFoundInDatabaseNotice'));
     
    185186    }
    186187
     188
     189    public function addCodeValueForNewProductWcAfterProductSave($product, $store)
     190    {
     191        $postId = $product->get_id();
     192        $post = get_post($product->get_id());
     193
     194        if ( (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
     195            return;
     196        }
     197
     198        $productIds = $product->is_type('variable') ? $product->get_children() : array($postId);
     199
     200        foreach ($productIds as $productId) {
     201            $value = $this->getProductCodeValue($productId);
     202
     203            if ('' !== $value && null !== $value) {
     204                continue;
     205            }
     206
     207            if (self::DATA_DATABASE === $this->newProductsCodeSource) {
     208                $codeRow = $this->spreadSheet->getFreeCode($this->settings->getField("general", "code-type", "upc"));
     209                if (!empty($codeRow)) {
     210                    $usedMetaKey = '';
     211                    if ($this->setProductCodeValue($productId, esc_attr($codeRow->code), $usedMetaKey)) {
     212                        $this->spreadSheet->setCodeIsUsedFlag($codeRow->id);
     213                        $this->spreadSheet->updateCodeRow($codeRow->id, array(
     214                            'integration' => $this->settings->getField("general", "code-store-field", 'default'),
     215                            'product_id' => $productId,
     216                            'meta_key' => $usedMetaKey,
     217                        ));
     218                    }
     219                }
     220            } elseif(self::DATA_GENERATE === $this->newProductsCodeSource) {
     221                for ($i = 0; $i < 100; $i++) {
     222                    $value = (new Codes())->generate($this->fieldName);
     223
     224                    if ($this->codeValueNotUsed($productId, $value)) {
     225                        break;
     226                    } else {
     227                        $value = '';
     228                    }
     229                }
     230
     231                $this->setProductCodeValue($productId, esc_attr($value));
     232            }
     233        }
     234    }
     235
    187236    public function woocommerce_product_options_sku()
    188237    {
     
    246295    public function generateProductsCodes()
    247296    {
     297        Request::checkNonce('uegen-ajax-nonce');
     298
    248299        if (!current_user_can('manage_options')) {
    249300            wp_die();
     
    374425    public function getProductsInfo()
    375426    {
     427        Request::checkNonce('uegen-ajax-nonce');
     428
    376429        if (!current_user_can('manage_options')) {
    377430            wp_die();
     
    401454    public function unassignFromFile()
    402455    {
     456        Request::checkNonce('uegen-ajax-nonce');
     457
    403458        if (!current_user_can('manage_options')) {
    404459            wp_die();
  • upc-ean-barcode-generator/trunk/src/features/settings/Settings.php

    r3218304 r3341206  
    22
    33namespace UkrSolution\UpcEanGenerator\features\settings;
     4
     5use UkrSolution\UpcEanGenerator\Helpers\Request;
    46
    57class Settings
     
    8183    public function save()
    8284    {
     85        Request::checkNonce('uegen-ajax-nonce');
     86
    8387        if (!current_user_can('manage_options')) {
    8488            wp_die();
     
    104108    public function checkCustomField()
    105109    {
     110        Request::checkNonce('uegen-ajax-nonce');
     111
    106112        if (!current_user_can('manage_options')) {
    107113            wp_die();
Note: See TracChangeset for help on using the changeset viewer.