Plugin Directory

Changeset 3434397


Ignore:
Timestamp:
01/07/2026 01:42:20 PM (6 weeks ago)
Author:
storeapps
Message:

Preparing for 3.6.0 release

Location:
woocommerce-stock-manager/trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • woocommerce-stock-manager/trunk/admin/class-stock-manager-admin.php

    r3395013 r3434397  
    135135                            )
    136136                        ),
    137                         function( $carry, $item ) {
     137                        function ( $carry, $item ) {
    138138                            $carry[ $item->term_id ] = html_entity_decode( $item->name );
    139139                            return $carry;
     
    152152                                )
    153153                            ),
    154                             function( $carry, $item ) {
     154                            function ( $carry, $item ) {
    155155                                $carry[ $item->slug ] = $item->name;
    156156                                return $carry;
     
    281281        add_action(
    282282            'load-' . $hook,
    283             function() {
     283            function () {
    284284                add_filter(
    285285                    'screen_options_show_screen',
     
    463463
    464464        return $wsm_rating_text;
    465 
    466465    }
    467466
     
    490489
    491490        return $wsm_text;
    492 
    493491    }
    494492
  • woocommerce-stock-manager/trunk/admin/includes/class-wsm-in-app-pricing.php

    r3395013 r3434397  
    44 *
    55 * @package   woocommerce-stock-manager/admin/includes/
    6  * @version   1.1.0
     6 * @version   1.2.0
    77 */
    88
     
    3636     */
    3737    private function __construct() {
    38         if ( ( empty( $_GET['page'] ) ) || ( 'stock-manager-pricing' !== sanitize_text_field( wp_unslash( $_GET['page'] ) ) ) ) {// phpcs:ignore
     38        if ( ( empty( $_GET['page'] ) ) || ( 'stock-manager-pricing' !== sanitize_text_field( wp_unslash( $_GET['page'] ) ) ) ) {// phpcs:ignore
    3939            return;
    4040        }
     
    4646     * Display pricing page HTML.
    4747     */
    48     public function display_pricing_page() { ?>
     48    public function display_pricing_page() {
     49        ?>
    4950        <div id="wsm_in_app_pricing">
    5051            <section class="mt-12 sm:mt-12 lg:mt-12">
     
    380381                                        <td class="px-3 py-4 xl:px-6">
    381382                                            <?php echo esc_html( _x( 'Manage Unattached Media', 'feature row', 'woocommerce-stock-manager' ) ); ?>
     383                                        </td>
     384                                        <td class="px-3 py-4 xl:px-6">—</td>
     385                                        <td class="px-3 py-4 xl:px-6 text-green-500">
     386                                            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="h-6 w-6 m-auto">
     387                                                <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path>
     388                                            </svg>
     389                                        </td>
     390                                    </tr>
     391                                    <tr>
     392                                        <td class="px-3 py-4 xl:px-6">
     393                                            <?php echo esc_html( _x( 'WPML compatibility', 'feature row', 'woocommerce-stock-manager' ) ); ?>
    382394                                        </td>
    383395                                        <td class="px-3 py-4 xl:px-6">—</td>
  • woocommerce-stock-manager/trunk/admin/includes/class-wsm-save.php

    r2600329 r3434397  
    44 *
    55 * @package   woocommerce-stock-manager/admin/includes/
    6  * @version   2.8.0
     6 * @version   2.8.1
    77 */
    88
     
    2929            self::save_data( $values, $product_id );
    3030        }
    31 
    3231    }
    3332
     
    3534     * Prepare data
    3635     *
    37      * @param array  $data The column key to name map.
    38      * @param string $item ID.
     36     * @param array $data The column key to name map.
    3937     */
    40     public static function prepare_data( $data, $item ) {
     38    public static function prepare_data( $data ) {
    4139
    4240        $values   = array();
     
    5351
    5452        return $values;
    55 
    5653    }
    5754
     
    7673
    7774        return $values;
    78 
    7975    }
    8076
     
    130126            }
    131127
    132             /* // @codingStandardsIgnoreLine
    133                 if( !empty( $data['regular_price'] ) ){
    134                     $price = sanitize_text_field($data['regular_price']);
    135                     if( !empty( $data['sales_price'] ) ){
    136                         $sale_price   = sanitize_text_field($data['sales_price']);
    137                         wsm_save_price( $product_id, $price, $sale_price );
    138                     }else{
    139                         wsm_save_price( $product_id, $price );
    140                     }
    141                 }
    142             */
    143128            if ( isset( $data['regular_price'] ) ) {
    144129                if ( ! empty( $data['regular_price'] ) ) {
     
    164149
    165150        }
    166 
    167151    }
    168 
    169152}//end class
  • woocommerce-stock-manager/trunk/admin/includes/class-wsm-stock.php

    r2614600 r3434397  
    3939            $this->limit = $limit;
    4040        }
    41 
    4241    }
    4342
     
    5958    /**
    6059     * Return products
    61      *
    62      * @param array $data The products data.
    63      */
    64     public function get_products( $data = array() ) {
     60     */
     61    public function get_products() {
    6562
    6663        $get_sku = ( ! empty( $_GET['sku'] ) ) ? wc_clean( wp_unslash( $_GET['sku'] ) ) : ''; // phpcs:ignore
     
    204201
    205202    /**
    206      * Save all meta data.
    207      *
    208      * @param array $data The column key to name map.
    209      */
    210     public function save_all( $data ) {
    211         $post = ( ! empty( $_POST ) ) ? wc_clean( wp_unslash( $_POST ) ) : array(); // phpcs:ignore
    212         foreach ( $data['product_id'] as $item ) {
    213             WSM_Save::save_one_item( $post, $item );
    214         }
    215     }
    216 
    217     /**
    218203     * Save all meta data
    219204     *
     
    320305
    321306        return $the_query;
    322 
    323     }
    324 
     307    }
    325308}//end class
  • woocommerce-stock-manager/trunk/admin/views/admin.php

    r3281541 r3434397  
    44 *
    55 * @package  woocommerce-stock-manager/admin/views
    6  * @version  2.7.0
     6 * @version  2.8.0
    77 */
    88
    99if ( ! defined( 'ABSPATH' ) ) {
    1010    exit;
    11 }
    12 
    13 $stock = $this->stock();
    14 
    15 /**
    16  * Save all data.
    17  */
    18 $product_id = ( ! empty( $_POST['product_id'] ) ) ? wc_clean( wp_unslash( $_POST['product_id'] ) ) : 0; // phpcs:ignore
    19 $product    = ( ! empty( $_POST ) ) ? wc_clean( wp_unslash( $_POST ) ) : array(); // phpcs:ignore
    20 if ( ! empty( $product_id ) ) {
    21     $stock->save_all( $product );
    22     // add redirect.
    23 }
    24 
    25 /**
    26  * Save display option.
    27  */
    28 $page_filter_display = ( ! empty( $_POST['page-filter-display'] ) ) ? wc_clean( wp_unslash( $_POST['page-filter-display'] ) ) : ''; // phpcs:ignore
    29 if ( ! empty( $page_filter_display ) ) {
    30     $stock->save_filter_display( $product );
    3111}
    3212
  • woocommerce-stock-manager/trunk/admin/views/import-export.php

    r3281541 r3434397  
    44 *
    55 * @package   woocommerce-stock-manager/admin/views/
    6  * @version   3.1.0
     6 * @version   3.1.1
    77 */
    88
     
    182182
    183183                                /* translators: 1: Uploaded file name */
    184                                 echo sprintf( esc_html__( 'The file %1$s has been uploaded', 'woocommerce-stock-manager' ), basename( $uploaded_file ) ); // phpcs:ignore
     184                                printf( esc_html__( 'The file %1$s has been uploaded', 'woocommerce-stock-manager' ), basename( $uploaded_file ) ); // phpcs:ignore
    185185
    186186                                $row    = 1;
     
    212212
    213213                                                /* translators: 1: P tag opening 2: Updated Product ID 3. Closing p tag */
    214                                                 echo sprintf( esc_html__( '%1$s Product with ID %2$s was updated. %3$s', 'woocommerce-stock-manager' ), '<p>', wp_kses_post( $product_id ), '</p>' );
     214                                                printf( esc_html__( '%1$s Product with ID %2$s was updated. %3$s', 'woocommerce-stock-manager' ), '<p>', wp_kses_post( $product_id ), '</p>' );
    215215                                            }
    216216                                        }
    217                                         $row++;
     217                                        ++$row;
    218218
    219219                                    }
  • woocommerce-stock-manager/trunk/admin/views/log-history.php

    r2600329 r3434397  
    3333                <?php
    3434                $data = $wpdb->get_results( // phpcs:ignore
    35                             $wpdb->prepare( // phpcs:ignore
    36                                 "SELECT *
     35                    $wpdb->prepare( // phpcs:ignore
     36                        "SELECT *
    3737                                FROM {$wpdb->prefix}stock_log
    3838                                WHERE product_id = %d",
    39                                 $product_id
    40                             )
     39                        $product_id
     40                    )
    4141                );
    4242
  • woocommerce-stock-manager/trunk/languages/woocommerce-stock-manager.pot

    r3395013 r3434397  
    1 # Copyright (C) 2025 StoreApps
     1# Copyright (C) 2026 StoreApps
    22# This file is distributed under the GNU General Public License v2.0.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Stock Manager for WooCommerce 3.5.0\n"
     5"Project-Id-Version: Stock Manager for WooCommerce 3.6.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woocommerce-stock-manager\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-11-13T06:15:50+00:00\n"
     12"POT-Creation-Date: 2026-01-07T07:37:48+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.10.0\n"
     
    111111
    112112#. translators: %s: discount string.
    113 #: admin/class-stock-manager-admin.php:583
     113#: admin/class-stock-manager-admin.php:585
    114114msgctxt "upgrade notice"
    115115msgid "Our best-seller Smart Manager Pro – up to <strong style=\"font-size:1.75rem;\">%s</strong>"
     
    117117
    118118#. translators: %s: pricing page link.
    119 #: admin/class-stock-manager-admin.php:594
     119#: admin/class-stock-manager-admin.php:596
    120120msgctxt "upgrade notice"
    121121msgid "Get <strong>all Stock Manager features + Bulk Edit</strong> + more. %s."
    122122msgstr ""
    123123
    124 #: admin/class-stock-manager-admin.php:596
     124#: admin/class-stock-manager-admin.php:598
    125125msgctxt "upgrade notice"
    126126msgid "Click here"
  • woocommerce-stock-manager/trunk/public/class-stock-manager.php

    r3395013 r3434397  
    113113            self::single_activate();
    114114        }
    115 
    116115    }
    117116
     
    148147            self::single_deactivate();
    149148        }
    150 
    151149    }
    152150
     
    165163        self::single_activate();
    166164        restore_current_blog();
    167 
    168165    }
    169166
     
    193190
    194191        return $result;
    195 
    196192    }
    197193
     
    200196     */
    201197    private static function single_activate() {
    202 
    203198    }
    204199
     
    207202     */
    208203    private static function single_deactivate() {
    209 
    210204    }
    211205
     
    249243        ";
    250244        dbDelta( $table );
    251 
    252245    }
    253246
     
    277270            )
    278271        );
    279 
    280272    }
    281273
     
    383375        }
    384376    }
    385 
    386377}//end class
    387378Stock_Manager::get_instance();
  • woocommerce-stock-manager/trunk/readme.txt

    r3423123 r3434397  
    55Plugin URI: https://www.storeapps.org/woocommerce-plugins/?utm_source=wprepo&utm_medium=web&utm_campaign=wsm_readme
    66Tags: woocommerce stock management, woocommerce stock manager, woocommerce product stock manager, woocommerce stock management free, woocommerce inventory management
    7 Requires at least: 5.0.0
    8 Tested up to: 6.8
    9 Requires PHP: 5.6
    10 Stable tag: 3.5.0
     7Requires at least: 5.0
     8Tested up to: 6.9
     9Requires PHP: 7.0
     10Stable tag: 3.6.0
    1111License: GPLv2
    1212
     
    7272
    7373>To bulk edit and  manage custom field(s) for any post type like WooCommerce products, orders, coupons, posts, users, subscriptions, bookings, memberships, etc., use our [Smart Manager for WooCommerce](https://wordpress.org/plugins/smart-manager-for-wp-e-commerce/) plugin.
     74>You can also [sync stock log data](https://www.storeapps.org/docs/sm-how-to-sync-woocommerce-products-stock-log-from-stock-manager-for-woocommerce-to-smart-manager/?utm_source=wprepo&utm_medium=links&utm_campaign=stock_management_how_tos) from Stock Manager plugin into Smart Manager and bulk edit stock data.
    7475
    7576**Spread The Love**
     
    156157== Changelog ==
    157158
     159= 3.6.0 (07.01.2026) =
     160* New: WordPress 6.9 compatible
     161* New: WooCommerce 10.4.3 compatible
     162* Fix: Strengthen security for Cross Site Request Forgery (CSRF) vulnerability [Thanks to Patchstack team]
     163* Update: POT file
     164
    158165= 3.5.0 (13.11.2025) =
    159166* New: WordPress 6.8.3 compatible
     
    348355== Upgrade Notice ==
    349356
     357= 3.6.0 =
     358WordPress 6.9 compatible, WooCommerce 10.4.3 compatible, Fixes related to Strengthen security for Cross Site Request Forgery (CSRF) vulnerability [Thanks to Patchstack team]. Recommended upgrade.
     359
    350360= 3.5.0 =
    351361WordPress 6.8.3 compatible, WooCommerce 10.3.5 compatible. Recommended upgrade.
  • woocommerce-stock-manager/trunk/sa-includes/class-sa-wsm-in-app-offer.php

    r3395013 r3434397  
    9999        add_action( 'admin_notices', array( $this, 'in_app_offer' ) );
    100100        add_action( 'wp_ajax_' . $this->prefix . '_dismiss_action', array( $this, 'dismiss_action' ) );
    101 
    102101    }
    103102
     
    137136
    138137        return false;
    139 
    140138    }
    141139
     
    173171
    174172        }
    175 
    176173    }
    177174
     
    244241
    245242        wp_send_json( array( 'success' => 'yes' ) );
    246 
    247     }
    248 
     243    }
    249244}
  • woocommerce-stock-manager/trunk/woocommerce-stock-manager.php

    r3395013 r3434397  
    44 * Plugin URI: https://www.storeapps.org/woocommerce-plugins/
    55 * Description: Manage product's stock and price in your WooCommerce store. Export/Import inventory, track history, sort and more...
    6  * Version: 3.5.0
     6 * Version: 3.6.0
    77 * Author: StoreApps
    88 * Author URI: https://www.storeapps.org/
    99 * Developer: StoreApps
    1010 * Developer URI: https://www.storeapps.org/
    11  * Requires at least: 5.0.0
    12  * Tested up to: 6.8
    13  * Requires PHP: 5.6+
     11 * Requires at least: 5.0
     12 * Tested up to: 6.9
     13 * Requires PHP: 7.0
    1414 * WC requires at least: 3.5.0
    15  * WC tested up to: 10.3.5
     15 * WC tested up to: 10.4.3
    1616 * Requires Plugins: woocommerce
    1717 * Text Domain: woocommerce-stock-manager
     
    1919 * License: GNU General Public License v2.0
    2020 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
    21  * Copyright (c) 2020-2025 StoreApps. All rights reserved.
     21 * Copyright (c) 2020-2026 StoreApps. All rights reserved.
    2222 *
    2323 * @package woocommerce-stock-manager
     
    6565 * Function to check if minimum WP & WC is satisfied before updating the plugin
    6666 * Shown on plugins page
    67  *
    68  * @param array  $plugin_data Details about current plugin version + new update with plugin assets.
    69  * @param object $r           Details about new plugin version with plugin assets.
    70  */
    71 function stockmanager_update_message_cb( $plugin_data, $r ) {
     67 */
     68function stockmanager_update_message_cb() {
    7269    if ( version_compare( WSM_PLUGIN_VERSION, '2.0.0', '<' ) ) {
    7370        ?>
     
    185182            $data[ $index ]['parent_id']    = '';
    186183
    187             $i++;
     184            ++$i;
    188185
    189186            if ( 'variable' === $product_type ) {
     
    213210                        if ( false === $tag ) {
    214211                            $product_name .= $v . ' ';
     212                        } elseif ( is_array( $tag ) ) {
     213                                $product_name .= $tag['name'] . ' ';
    215214                        } else {
    216                             if ( is_array( $tag ) ) {
    217                                 $product_name .= $tag['name'] . ' ';
    218                             } else {
    219                                 $product_name .= $tag->name . ' ';
    220                             }
     215                            $product_name .= $tag->name . ' ';
    221216                        }
    222217                    }
     
    254249                    $data[ $vindex ]['parent_id']    = $item->ID;
    255250
    256                     $i++;
     251                    ++$i;
    257252                }
    258253            }
     
    274269        exit();
    275270    }
    276 
    277271}
    278272
     
    308302
    309303    exit();
    310 
    311304}
    312305
     
    339332        if ( 'POST' === $method ) {
    340333            $options['body'] = $qs;
     334        } elseif ( strpos( $url, '?' ) !== false ) {
     335                $url .= '&' . $qs;
    341336        } else {
    342             if ( strpos( $url, '?' ) !== false ) {
    343                 $url .= '&' . $qs;
    344             } else {
    345                 $url .= '?' . $qs;
    346             }
     337            $url .= '?' . $qs;
    347338        }
    348339
Note: See TracChangeset for help on using the changeset viewer.