Plugin Directory

Changeset 3356610


Ignore:
Timestamp:
09/05/2025 10:39:36 AM (6 months ago)
Author:
cedcommerce
Message:

tagging version 2.0.1

Location:
cedcommerce-integration-for-aliexpress/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cedcommerce-integration-for-aliexpress/trunk/README.txt

    r3338813 r3356610  
    107107* Revamped plugin user interface for better usability
    108108* Fixed various bugs and performance issues
     109
     110= 2.0.1 =
     111* Improve Stability
     112
  • cedcommerce-integration-for-aliexpress/trunk/admin/class-cedcommerce-integration-for-aliexpress-admin.php

    r3338830 r3356610  
    427427     * Check if HPOS is enabled
    428428     *
    429      * @return void
     429     * @return bool
    430430     */
    431431    public function ced_aliexpress_is_hpos_enable()
     
    444444    {
    445445
    446         if (!$post) {
     446        $order = false;
     447         if ($post instanceof WP_Post && get_post_type($post) === 'shop_order') {
     448             $order = wc_get_order($post->ID);
     449         } elseif ($post instanceof WC_Order) {
     450             $order = $post;
     451         }
     452         if (!$order) {
     453             return;
     454         }
     455         $marketplace = $order->get_meta('_ced_marketplace');
     456         $order_type  = $order->get_meta('_ced_aliexpress_order_type');
     457     
     458         if ('aliexpress' === strtolower($marketplace) && 'dbs' === $order_type) {
     459             add_meta_box(
     460                 'ced_aliexpress_manage_orders_metabox',
     461                 __('Manage Aliexpress Orders', 'cedcommerce-integration-for-aliexpress') .
     462                 wc_help_tip(__('Please save tracking information of order.', 'cedcommerce-integration-for-aliexpress')),
     463                 [$this, 'ced_aliexpress_render_order_metabox'],
     464                 wc_get_page_screen_id('shop-order'),
     465                 'advanced',
     466                 'high'
     467             );
     468         }
     469    }
     470
     471    /**
     472     *  Function ced_aliexpress_render_order_metabox.
     473     *
     474     * @since 1.0.0
     475     * @return void
     476     */
     477    public function ced_aliexpress_render_order_metabox($post)
     478    {
     479        $order = false;
     480        if ($post instanceof WP_Post && get_post_type($post) === 'shop_order') {
     481            $order = wc_get_order($post->ID);
     482        } elseif ($post instanceof WC_Order) {
     483            $order = $post;
     484        }
     485        if (!$order) {
    447486            return;
    448487        }
    449         $order = ($post instanceof WP_Post) ? wc_get_order($post->ID) : $post;
    450         $screen = $this->ced_aliexpress_is_hpos_enable() ? wc_get_page_screen_id('shop-order') : 'shop_order';
    451 
    452         if (empty($order)) {
    453             return;
    454         }
    455 
    456         $marketplace = "shop_order" == $screen ? get_post_meta($post->ID, '_ced_marketplace', true) : $order->get_meta('_ced_marketplace');
    457         $order_type = "shop_order" == $screen ? get_post_meta($post->ID, '_ced_aliexpress_order_type', true) : $order->get_meta('_ced_aliexpress_order_type');
     488        $tracking_company = $order->get_meta('_trackingCompany');
     489        $tracking_number = $order->get_meta('_trackingNumber');
     490        $tracking_errors = $order->get_meta('tracking_errors');
     491        $marketplace = $order->get_meta('_ced_marketplace');
     492        $order_type = $order->get_meta('_ced_aliexpress_order_type');
    458493
    459494        if (('aliexpress' === strtolower($marketplace)) && ('dbs' === $order_type)) {
    460             add_meta_box(
    461                 'ced_aliexpress_manage_orders_metabox',
    462                 __('Manage Aliexpress Orders', 'cedcommerce-integration-for-aliexpress') . wc_help_tip(__('Please save tracking information of order.', 'cedcommerce-integration-for-aliexpress')),
    463                 array($this, 'ced_aliexpress_render_order_metabox'),
    464                 $screen,
    465                 'advanced',
    466                 'high'
    467             );
    468         }
    469     }
    470 
    471     /**
    472      *  Function ced_aliexpress_render_order_metabox.
    473      *
    474      * @since 1.0.0
    475      * @return void
    476      */
    477     public function ced_aliexpress_render_order_metabox($post)
    478     {
    479 
    480         $order = ($post instanceof WP_Post) ? wc_get_order($post->ID) : $post;
    481         if (!empty($order)) {
    482             $order_id = $order->get_id();
    483             if (!is_null($order_id)) {
    484 
    485                 if ($this->ced_aliexpress_is_hpos_enable()) {
    486 
    487                     $tracking_company = $order->get_meta('_trackingCompany');
    488                     $tracking_number = $order->get_meta('_trackingNumber');
    489                     $tracking_errors = $order->get_meta('tracking_errors');
    490                     $marketplace = $order->get_meta('_ced_marketplace');
    491                     $order_type = $order->get_meta('_ced_aliexpress_order_type');
    492 
    493 
    494                 } else {
    495 
    496                     $tracking_company = get_post_meta($order_id, '_trackingCompany', true);
    497                     $tracking_number = get_post_meta($order_id, '_trackingNumber', true);
    498                     $tracking_errors = get_post_meta($order_id, 'tracking_errors', true);
    499                     $marketplace = get_post_meta($order_id, '_ced_marketplace', true);
    500                     $order_type = get_post_meta($order_id, '_ced_aliexpress_order_type', true);
    501                 }
    502 
    503                 if (('aliexpress' === strtolower($marketplace)) && ('dbs' === $order_type)) {
    504                     $tracking_company = !empty($tracking_company) ? $tracking_company : '';
    505                     $tracking_number = !empty($tracking_number) ? $tracking_number : '';
    506                     $provider = get_option('ced_aliexpress_shipping_carriers');
    507                     ?>
    508                     <table class="ced_bol_submit_shipment">
    509                         <?php
    510                         if (!empty($tracking_errors)) {
    511                             echo '<tr><td>There are following errors while saving the tracking details :<ul style="list-style:square">';
    512                             foreach ($tracking_errors as $k => $v) {
    513                                 echo '<li><span style="color:red;">' . esc_html($v) . '</span></li>';
     495            $tracking_company = !empty($tracking_company) ? $tracking_company : '';
     496            $tracking_number = !empty($tracking_number) ? $tracking_number : '';
     497            $provider = get_option('ced_aliexpress_shipping_carriers');
     498            ?>
     499            <table class="ced_bol_submit_shipment">
     500                <?php
     501                if (!empty($tracking_errors)) {
     502                    echo '<tr><td>There are following errors while saving the tracking details :<ul style="list-style:square">';
     503                    foreach ($tracking_errors as $k => $v) {
     504                        echo '<li><span style="color:red;">' . esc_html($v) . '</span></li>';
     505                    }
     506                    echo '</ul></td></tr>';
     507                }
     508                ?>
     509                <?php wp_nonce_field('ced_aliexpress_order_nonce', 'ced_aliexpress_order_nonce'); ?>
     510                <tr>
     511                    <td style="color:#444 !important">
     512                        <?php esc_html_e('Shipping Provider', 'cedcommerce-integration-for-aliexpress'); ?></td>
     513                    <td style="color:#444 !important">
     514                        <select name="trackingCompany">
     515                            <option value=""><?php esc_html_e('Select', 'cedcommerce-integration-for-aliexpress'); ?></option>
     516                            <?php
     517                            foreach ($provider as $key => $value) {
     518                                if ((string) $key === (string) $tracking_company) {
     519                                    $ship_class = 'selected';
     520                                } else {
     521                                    $ship_class = '';
     522                                }
     523                                echo "<option value='" . esc_attr($key) . "' " . esc_attr($ship_class) . '>' . esc_attr($value) . '</option>';
    514524                            }
    515                             echo '</ul></td></tr>';
    516                         }
    517                         ?>
    518                         <?php wp_nonce_field('ced_aliexpress_order_nonce', 'ced_aliexpress_order_nonce'); ?>
    519                         <tr>
    520                             <td style="color:#444 !important">
    521                                 <?php esc_html_e('Shipping Provider', 'cedcommerce-integration-for-aliexpress'); ?></td>
    522                             <td style="color:#444 !important">
    523                                 <select name="trackingCompany">
    524                                     <option value=""><?php esc_html_e('Select', 'cedcommerce-integration-for-aliexpress'); ?></option>
    525                                     <?php
    526                                     foreach ($provider as $key => $value) {
    527                                         if ((string) $key === (string) $tracking_company) {
    528                                             $ship_class = 'selected';
    529                                         } else {
    530                                             $ship_class = '';
    531                                         }
    532                                         echo "<option value='" . esc_attr($key) . "' " . esc_attr($ship_class) . '>' . esc_attr($value) . '</option>';
    533                                     }
    534                                     ?>
    535                                 </select>
    536                             </td>
    537                         </tr>
    538                         <tr>
    539                             <td style="color:#444 !important">
    540                                 <?php esc_html_e('Tracking Number', 'cedcommerce-integration-for-aliexpress'); ?></td>
    541                             <td style="color:#444 !important"><input type='text' name='trackingNumber' id='trackingNumber'
    542                                     value='<?php echo esc_html($tracking_number); ?>'></td>
    543                         </tr>
    544                     </table>
    545                     <?php
    546                 }
    547             }
     525                            ?>
     526                        </select>
     527                    </td>
     528                </tr>
     529                <tr>
     530                    <td style="color:#444 !important">
     531                        <?php esc_html_e('Tracking Number', 'cedcommerce-integration-for-aliexpress'); ?></td>
     532                    <td style="color:#444 !important"><input type='text' name='trackingNumber' id='trackingNumber'
     533                            value='<?php echo esc_html($tracking_number); ?>'></td>
     534                </tr>
     535            </table>
     536            <?php
    548537        }
    549538    }
     
    601590    public function ced_aliexpress_save_order_metadata($post_id, $post)
    602591    {
    603 
    604592        if (!$post_id) {
    605593            return;
    606594        }
    607 
    608         $order = ($post instanceof WP_Post) ? wc_get_order($post_id) : $post;
    609 
    610         if (empty($order)) {
     595        $order = wc_get_order($post_id);
     596        if (!$order || !is_a($order, 'WC_Order')) {
    611597            return;
    612598        }
    613 
    614599        if (!empty($_POST['ced_aliexpress_order_nonce'])) {
    615 
    616600            $ced_aliexpress_order_nonce = sanitize_text_field(wp_unslash($_POST['ced_aliexpress_order_nonce']));
    617 
    618             if (wp_verify_nonce($ced_aliexpress_order_nonce, 'ced_aliexpress_order_nonce') && $this->ced_aliexpress_is_hpos_enable()) {
    619 
     601            if (wp_verify_nonce($ced_aliexpress_order_nonce, 'ced_aliexpress_order_nonce')) {
     602                $updated = false;
    620603                if (!empty($_POST['trackingCompany'])) {
    621                     $order->update_meta_data('_trackingCompany', sanitize_text_field(wp_unslash($_POST['trackingCompany'])));
     604                    $order->update_meta_data(
     605                        '_trackingCompany',
     606                        sanitize_text_field(wp_unslash($_POST['trackingCompany']))
     607                    );
     608                    $updated = true;
    622609                }
    623610                if (!empty($_POST['trackingNumber'])) {
    624                     $order->update_meta_data('_trackingNumber', sanitize_text_field(wp_unslash($_POST['trackingNumber'])));
     611                    $order->update_meta_data(
     612                        '_trackingNumber',
     613                        sanitize_text_field(wp_unslash($_POST['trackingNumber']))
     614                    );
     615                    $updated = true;
     616                }
     617                if ($updated) {
     618                    $order->save();
    625619                }
    626620            }
     
    658652    public function ced_aliexpress_column_order_section_callback($column, $post_id)
    659653    {
    660 
    661 
     654        $order = wc_get_order($post_id);
     655        if (! $order instanceof WC_Order) {
     656            return;
     657        }
    662658        switch ($column) {
    663659            case 'order_type':
    664                 // Get custom post meta data.
    665                 if ($this->ced_aliexpress_is_hpos_enable()) {
    666                     $order = ($post_id instanceof WP_Post) ? wc_get_order($post_id->ID) : $post_id;
    667                     $order_type = $order->get_meta('_ced_aliexpress_order_type');
    668                 } else {
    669                     $order_type = get_post_meta($post_id, '_ced_aliexpress_order_type', true);
    670                 }
     660                $order_type = $order->get_meta('_ced_aliexpress_order_type');
    671661                if (!empty($order_type)) {
    672662                    echo esc_html(strtoupper($order_type));
    673                 } else {
    674                     echo '-';
    675663                }
    676664                break;
     665   
    677666            case 'marketplace':
    678                 // Get custom post meta data.
    679                 if ($this->ced_aliexpress_is_hpos_enable()) {
    680                     $order = ($post_id instanceof WP_Post) ? wc_get_order($post_id->ID) : $post_id;
    681                     $ced_marketplace = $order->get_meta('_ced_marketplace');
    682                 } else {
    683                     $ced_marketplace = get_post_meta($post_id, '_ced_marketplace', true);
    684                 }
    685                 if (!empty($ced_marketplace)) {
    686                     if (('aliexpress' === strtolower($ced_marketplace))) {
    687                         echo esc_html('Aliexpress');
    688                     }
    689                 } else {
    690                     echo '-';
     667                $ced_marketplace = $order->get_meta('_ced_marketplace');
     668                if (!empty($ced_marketplace) && 'aliexpress' === strtolower($ced_marketplace)) {
     669                    echo esc_html__('Aliexpress', 'cedcommerce-integration-for-aliexpress');
    691670                }
    692671                break;
  • cedcommerce-integration-for-aliexpress/trunk/cedcommerce-integration-for-aliexpress.php

    r3338830 r3356610  
    1717 * Plugin URI:        https://woocommerce.com/vendor/cedcommerce/
    1818 * Description:      CedCommerce Integration for AliExpress allows merchants to list their products on Aliexpress marketplaces and manage all the orders from their WooCommerce store.
    19  * Version:           2.0.0
     19 * Version:           2.0.1
    2020 * Author:            CedCommerce
    2121 * Author URI:        https://cedcommerce.com
     
    3535 * Rename this for your plugin and update it as you release new versions.
    3636 */
    37 define( 'CEDCOMMERCE_INTEGRATION_FOR_ALIEXPRESS_VERSION', '2.0.0' );
     37define( 'CEDCOMMERCE_INTEGRATION_FOR_ALIEXPRESS_VERSION', '2.0.1' );
    3838define( 'CEDCOMMERCE_INTEGRATION_FOR_ALIEXPRESS_PREFIX', 'ced_aliexpress_integration' );
    3939define( 'CEDCOMMERCE_INTEGRATION_FOR_ALIEXPRESS_DIRPATH', plugin_dir_path( __FILE__ ) );
  • cedcommerce-integration-for-aliexpress/trunk/includes/class-cedcommerce-integration-for-aliexpress.php

    r3338830 r3356610  
    151151        $this->loader->add_action( 'woocommerce_variation_options_pricing', $plugin_admin, 'ced_aliexpress_add_custom_field_to_variations', 10, 3 );
    152152        $this->loader->add_action( 'woocommerce_save_product_variation', $plugin_admin, 'ced_aliexpress_save_custom_field_variations', 10, 2 );
    153         $this->loader->add_action( 'save_post', $plugin_admin, 'ced_aliexpress_save_metadata', 24, 2 );
    154         $this->loader->add_action( 'woocommerce_update_order', $plugin_admin, 'ced_aliexpress_save_order_metadata', 24, 2 );
     153        //$this->loader->add_action( 'save_post', $plugin_admin, 'ced_aliexpress_save_metadata', 24, 2 );
     154        //$this->loader->add_action( 'woocommerce_update_order', $plugin_admin, 'ced_aliexpress_save_order_metadata', 24, 2 );
     155        $this->loader->add_action( 'woocommerce_process_shop_order_meta', $plugin_admin, 'ced_aliexpress_save_order_metadata', 24, 2 );
    155156        $this->loader->add_action( 'add_meta_boxes', $plugin_admin, 'ced_aliexpress_add_order_metabox', 24 , 2 );
    156157        $this->loader->add_filter( 'manage_edit-shop_order_columns', $plugin_admin, 'ced_aliexpress_add_column_order_section', 20 );
Note: See TracChangeset for help on using the changeset viewer.