Changeset 2860407
- Timestamp:
- 02/05/2023 12:40:20 PM (18 months ago)
- Location:
- podro-wp
- Files:
-
- 4 added
- 22 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
podro-wp/tags/1.2.0/README.txt
r2852786 r2860407 5 5 Tested up to: 6.1 6 6 Requires PHP: 7.2 7 Stable tag: 1. 1.07 Stable tag: 1..0 8 8 License: GPLv3 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 59 59 == Changelog == 60 60 61 62 63 64 65 66 67 68 61 69 = 1.1.0 - 2023-01-23 = 62 70 * Add ability to set "Only Show Podro Cities" feature in settings page 63 * Add auto update function in settings page71 * Add auto update function in settings page 64 72 * Add Online Payment feature 65 73 * Change Settings page for better UX … … 72 80 = 1.0.7 - 2023-01-15 = 73 81 * Change API endpoint for delivery-options 74 * Change the account activation URL in settings page75 * Some minor improv ments82 * Change the account activation URL in settings page 83 * Some minor improvments 76 84 77 85 = 1.0.6 - 2023-01-10 = -
podro-wp/tags/1.2.0/admin/Enqueue.php
r2852786 r2860407 35 35 add_action('woocommerce_before_checkout_process', function(){ 36 36 37 if(self:: check_for_only_podro() && class_exists('PWS_Core')){37 if(self::() && class_exists('PWS_Core')){ 38 38 remove_filter('woocommerce_checkout_process', [\PWS_Core::instance(), 'checkout_process'], 20, 1); 39 39 } … … 58 58 59 59 \wp_enqueue_style( PODRO_SLUG.'-admin-styles', \plugins_url( 'assets/css/admin.css', PODRO_PLUGIN_ABSOLUTE ), array( 'dashicons' ), PODRO_VERSION ); 60 61 62 60 63 } 61 64 … … 68 71 public function enqueue_admin_scripts() { 69 72 \wp_enqueue_script( PODRO_SLUG.'-admin-scripts', \plugins_url( 'assets/js/admin.js', PODRO_PLUGIN_ABSOLUTE ), array( 'jquery' ), PODRO_VERSION, true ); 73 74 75 70 76 \wp_localize_script( 71 77 PODRO_SLUG . '-admin-scripts', … … 94 100 95 101 96 if ( function_exists( 'PWS' ) || class_exists('PWS_Core') || in_array( 'persian-woocommerce-shipping/woocommerce-shipping.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { 102 if ( function_exists( 'PWS' ) || class_exists('PWS_Core') 103 || in_array( 'persian-woocommerce-shipping/woocommerce-shipping.php', 104 apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { 97 105 98 if( true == self:: check_for_only_podro()){106 if( true == self::){ 99 107 100 108 add_action( 'wp_enqueue_scripts',function(){ … … 111 119 $city_select_path = PODRO_PLUGIN_ROOT_URL . 'assets/js/disable-podro.js'; 112 120 } 113 }else {121 }else{ 114 122 115 123 $city_select_path = PODRO_PLUGIN_ROOT_URL . 'assets/js/only-podro-cities.js'; 116 124 /* 117 * We seperated the provinces here because weshould not118 * change provinceswhen PWS plugin is enabled125 * We seperated the provinces here because should not 126 * when PWS plugin is enabled 119 127 * Because woocommerce use another naming system we changed the names to 120 * singprovince name instead of Tehran(تهران)128 * province name instead of Tehran(تهران) 121 129 */ 122 130 $province_select_path = PODRO_PLUGIN_ROOT_URL . 'assets/js/only-podro-provinces.js'; 131 132 133 134 135 136 137 138 139 140 141 142 143 123 144 } 124 145 … … 144 165 } 145 166 146 private static function check_for_only_podro(){ 167 public static function only_podro_shippment_available(){ 168 return (WooZones::get_instance())->is_podro_only_active_method(); 169 } 147 170 171 148 172 149 $is_it_only_podro = (WooZones::get_instance())->is_podro_only_active_method();150 173 151 174 $only_podro_functionality_state = get_option('podro_only_functionality'); 152 175 153 if( true == $is_it_only_podro && 'yes' == $only_podro_functionality_state){ 154 return true; 155 }else{ 156 return false; 157 } 158 176 return ('yes' == $only_podro_functionality_state); 159 177 160 178 } -
podro-wp/tags/1.2.0/admin/views/pages/api-key-settings.php
r2852786 r2860407 8 8 $store_city = get_option('podro_store_city', ''); 9 9 $store_address = get_option('podro_store_address', ''); 10 11 10 12 11 13 ?> … … 25 27 <th scope="row"><label>وضعیت اتصال</label></th> 26 28 <td> 27 اتصال به پادروپین با حساب کاربری 29 اتصال به پادروپین با حساب کاربری 28 30 <b>« <?php echo isset($credentials['email']) ? esc_html($credentials['email']) : '' ?> »</b> 29 31 برقرار است. … … 44 46 <p><b></b> </p> 45 47 <p> </p> 46 48 47 49 <?php }else{ ?> 48 50 49 51 <form class="wp_podro-config-form" method="post" action="<?php echo esc_url(admin_url('/admin.php?page=' . PODRO_SETTINGS_PAGE_SLUG)); ?>"> 50 52 <table class="form-table" id="pdo-login-form"> … … 84 86 <tr> 85 87 <th scope="row"><label for="podro_store_name">نام فروشگاه</label></th> 86 <td><input type="text" name="podro_store_name" id="podro_store_name" class="regular-text" value="<?php echo esc_attr( $store_name ?? '') ?>" required></td>88 <td><input type="text" name="podro_store_name" id="podro_store_name" class="regular-text" value="<?php echo esc_attr(></td> 87 89 </tr> 88 90 <tr> … … 93 95 <?php 94 96 $provinces = \WP_PODRO\Engine\WooSetting::get_provinces(); 95 echo "<select aria-label='شهر' class='wc-enhanced-select'id='podro_store_city' name='podro_store_city' style='width: 25em;' required>";97 echo "<select id='podro_store_city' name='podro_store_city' style='width: 25em;' required>"; 96 98 echo "<option value='' selected disabled hidden>لطفا شهر فروشگاه را انتخاب کنید.</option>"; 97 99 foreach ($provinces as $province) { 98 100 echo "<optgroup label='" . esc_attr($province['name']) . "'>"; 99 101 foreach ($province['cities'] as $key => $city) 100 if ( get_option('podro_store_city')== $key)102 if ( == $key) 101 103 echo "<option selected value='" . esc_attr($key) . "'>" . esc_attr($city) . "</option>"; 102 104 else … … 108 110 </td> 109 111 </tr> 112 113 114 115 116 110 117 <tr> 111 118 <th scope="row"> … … 113 120 </th> 114 121 <td class="pdo-box"> 115 <textarea name="podro_store_address" id="podro_store_address" class="regular_text" required ><?php echo esc_attr($store_address ?? '') ?></textarea>122 <textarea name="podro_store_address" id="podro_store_address" class="regular_text" required><?php echo esc_attr($store_address ?? '') ?></textarea> 116 123 </td> 117 124 </tr> -
podro-wp/tags/1.2.0/assets/js/admin.js
r2852786 r2860407 20 20 $('#pod-cancel-order, .pod-cancel-order').on('click', function(e) { 21 21 e.preventDefault(); 22 23 24 25 26 22 27 var order_id = $(this).attr('data-order_id'); 23 28 … … 352 357 353 358 setTimeout(function() { 354 //location.reload();359 location.reload(); 355 360 }, 3000); 356 361 -
podro-wp/tags/1.2.0/inc/Helper.php
r2846187 r2860407 22 22 } 23 23 24 25 26 27 28 29 24 30 public static function log($var){ 25 31 file_put_contents(dirname(__DIR__) . '/log.txt', print_r($var,true),FILE_APPEND); -
podro-wp/tags/1.2.0/package-lock.json
r2852786 r2860407 309 309 }, 310 310 "node_modules/dateformat": { 311 "version": " 3.0.3",312 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat- 3.0.3.tgz",313 "integrity": "sha512- jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",311 "version": ".3", 312 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-.3.tgz", 313 "integrity": "sha512-==", 314 314 "dev": true, 315 315 "engines": { … … 526 526 }, 527 527 "node_modules/findup-sync": { 528 "version": "0.3.0", 529 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", 530 "integrity": "sha512-z8Nrwhi6wzxNMIbxlrTzuUW6KWuKkogZ/7OdDVq+0+kxn77KUH1nipx8iU6suqkHqc4y6n7a9A8IpmxY/pTjWg==", 531 "dev": true, 532 "dependencies": { 533 "glob": "~5.0.0" 534 }, 535 "engines": { 536 "node": ">= 0.6.0" 537 } 538 }, 539 "node_modules/findup-sync/node_modules/glob": { 540 "version": "5.0.15", 541 "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", 542 "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", 543 "dev": true, 544 "dependencies": { 545 "inflight": "^1.0.4", 546 "inherits": "2", 547 "minimatch": "2 || 3", 548 "once": "^1.3.0", 549 "path-is-absolute": "^1.0.0" 550 }, 551 "engines": { 552 "node": "*" 528 "version": "5.0.0", 529 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", 530 "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", 531 "dev": true, 532 "dependencies": { 533 "detect-file": "^1.0.0", 534 "is-glob": "^4.0.3", 535 "micromatch": "^4.0.4", 536 "resolve-dir": "^1.0.1" 537 }, 538 "engines": { 539 "node": ">= 10.13.0" 553 540 } 554 541 }, … … 726 713 }, 727 714 "node_modules/grunt": { 728 "version": "1. 5.3",729 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1. 5.3.tgz",730 "integrity": "sha512- mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",731 "dev": true, 732 "dependencies": { 733 "dateformat": "~ 3.0.3",715 "version": "1.", 716 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1..tgz", 717 "integrity": "sha512-==", 718 "dev": true, 719 "dependencies": { 720 "dateformat": "~", 734 721 "eventemitter2": "~0.4.13", 735 722 "exit": "~0.1.2", 736 "findup-sync": "~ 0.3.0",723 "findup-sync": "~.0", 737 724 "glob": "~7.1.6", 738 725 "grunt-cli": "~1.4.3", … … 740 727 "grunt-legacy-log": "~3.0.0", 741 728 "grunt-legacy-util": "~2.0.1", 742 "iconv-lite": "~0. 4.13",729 "iconv-lite": "~0.3", 743 730 "js-yaml": "~3.14.0", 744 731 "minimatch": "~3.0.4", 745 "mkdirp": "~1.0.4", 746 "nopt": "~3.0.6", 747 "rimraf": "~3.0.2" 732 "nopt": "~3.0.6" 748 733 }, 749 734 "bin": { … … 751 736 }, 752 737 "engines": { 753 "node": ">= 8"738 "node": ">=" 754 739 } 755 740 }, … … 1000 985 }, 1001 986 "node_modules/iconv-lite": { 1002 "version": "0. 4.24",1003 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0. 4.24.tgz",1004 "integrity": "sha512- v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",1005 "dev": true, 1006 "dependencies": { 1007 "safer-buffer": ">= 2.1.2 < 3 "987 "version": "0.", 988 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0..tgz", 989 "integrity": "sha512-==", 990 "dev": true, 991 "dependencies": { 992 "safer-buffer": ">= 2.1.2 < 3" 1008 993 }, 1009 994 "engines": { … … 1396 1381 } 1397 1382 }, 1398 "node_modules/mkdirp": {1399 "version": "1.0.4",1400 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",1401 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",1402 "dev": true,1403 "bin": {1404 "mkdirp": "bin/cmd.js"1405 },1406 "engines": {1407 "node": ">=10"1408 }1409 },1410 1383 "node_modules/ms": { 1411 1384 "version": "2.1.3", … … 1813 1786 "engines": { 1814 1787 "node": ">=0.10.0" 1815 }1816 },1817 "node_modules/rimraf": {1818 "version": "3.0.2",1819 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",1820 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",1821 "dev": true,1822 "dependencies": {1823 "glob": "^7.1.3"1824 },1825 "bin": {1826 "rimraf": "bin.js"1827 },1828 "funding": {1829 "url": "https://github.com/sponsors/isaacs"1830 1788 } 1831 1789 }, … … 2414 2372 }, 2415 2373 "dateformat": { 2416 "version": " 3.0.3",2417 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat- 3.0.3.tgz",2418 "integrity": "sha512- jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",2374 "version": ".3", 2375 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-.3.tgz", 2376 "integrity": "sha512-==", 2419 2377 "dev": true 2420 2378 }, … … 2587 2545 }, 2588 2546 "findup-sync": { 2589 "version": "0.3.0", 2590 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", 2591 "integrity": "sha512-z8Nrwhi6wzxNMIbxlrTzuUW6KWuKkogZ/7OdDVq+0+kxn77KUH1nipx8iU6suqkHqc4y6n7a9A8IpmxY/pTjWg==", 2592 "dev": true, 2593 "requires": { 2594 "glob": "~5.0.0" 2595 }, 2596 "dependencies": { 2597 "glob": { 2598 "version": "5.0.15", 2599 "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", 2600 "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", 2601 "dev": true, 2602 "requires": { 2603 "inflight": "^1.0.4", 2604 "inherits": "2", 2605 "minimatch": "2 || 3", 2606 "once": "^1.3.0", 2607 "path-is-absolute": "^1.0.0" 2608 } 2609 } 2547 "version": "5.0.0", 2548 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", 2549 "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", 2550 "dev": true, 2551 "requires": { 2552 "detect-file": "^1.0.0", 2553 "is-glob": "^4.0.3", 2554 "micromatch": "^4.0.4", 2555 "resolve-dir": "^1.0.1" 2610 2556 } 2611 2557 }, … … 2744 2690 }, 2745 2691 "grunt": { 2746 "version": "1. 5.3",2747 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1. 5.3.tgz",2748 "integrity": "sha512- mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",2749 "dev": true, 2750 "requires": { 2751 "dateformat": "~ 3.0.3",2692 "version": "1.", 2693 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1..tgz", 2694 "integrity": "sha512-==", 2695 "dev": true, 2696 "requires": { 2697 "dateformat": "~", 2752 2698 "eventemitter2": "~0.4.13", 2753 2699 "exit": "~0.1.2", 2754 "findup-sync": "~ 0.3.0",2700 "findup-sync": "~.0", 2755 2701 "glob": "~7.1.6", 2756 2702 "grunt-cli": "~1.4.3", … … 2758 2704 "grunt-legacy-log": "~3.0.0", 2759 2705 "grunt-legacy-util": "~2.0.1", 2760 "iconv-lite": "~0. 4.13",2706 "iconv-lite": "~0.3", 2761 2707 "js-yaml": "~3.14.0", 2762 2708 "minimatch": "~3.0.4", 2763 "mkdirp": "~1.0.4", 2764 "nopt": "~3.0.6", 2765 "rimraf": "~3.0.2" 2709 "nopt": "~3.0.6" 2766 2710 } 2767 2711 }, … … 2961 2905 }, 2962 2906 "iconv-lite": { 2963 "version": "0. 4.24",2964 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0. 4.24.tgz",2965 "integrity": "sha512- v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",2966 "dev": true, 2967 "requires": { 2968 "safer-buffer": ">= 2.1.2 < 3 "2907 "version": "0.", 2908 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0..tgz", 2909 "integrity": "sha512-==", 2910 "dev": true, 2911 "requires": { 2912 "safer-buffer": ">= 2.1.2 < 3" 2969 2913 } 2970 2914 }, … … 3275 3219 "dev": true 3276 3220 }, 3277 "mkdirp": {3278 "version": "1.0.4",3279 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",3280 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",3281 "dev": true3282 },3283 3221 "ms": { 3284 3222 "version": "2.1.3", … … 3587 3525 "expand-tilde": "^2.0.0", 3588 3526 "global-modules": "^1.0.0" 3589 }3590 },3591 "rimraf": {3592 "version": "3.0.2",3593 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",3594 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",3595 "dev": true,3596 "requires": {3597 "glob": "^7.1.3"3598 3527 } 3599 3528 }, -
podro-wp/tags/1.2.0/vendor/autoload.php
r2852786 r2860407 10 10 require_once __DIR__ . '/composer/autoload_real.php'; 11 11 12 return ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f2::getLoader();12 return ComposerAutoloaderInit2::getLoader(); -
podro-wp/tags/1.2.0/vendor/composer/autoload_real.php
r2852786 r2860407 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f25 class ComposerAutoloaderInit2 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f2', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit2', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f2', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit2', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit2::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
podro-wp/tags/1.2.0/vendor/composer/autoload_static.php
r2852786 r2860407 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f27 class ComposerStaticInit2 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 166 166 { 167 167 return \Closure::bind(function () use ($loader) { 168 $loader->prefixLengthsPsr4 = ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::$prefixLengthsPsr4;169 $loader->prefixDirsPsr4 = ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::$prefixDirsPsr4;170 $loader->classMap = ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::$classMap;168 $loader->prefixLengthsPsr4 = ComposerStaticInit2::$prefixLengthsPsr4; 169 $loader->prefixDirsPsr4 = ComposerStaticInit2::$prefixDirsPsr4; 170 $loader->classMap = ComposerStaticInit2::$classMap; 171 171 172 172 }, null, ClassLoader::class); -
podro-wp/tags/1.2.0/vendor/composer/installed.php
r2852786 r2860407 6 6 'install_path' => __DIR__ . '/../../', 7 7 'aliases' => array(), 8 'reference' => ' 1c0e1b1abb4df249d7b1e8458614f22a0181daa3',8 'reference' => '', 9 9 'name' => 'khorshid/wp_podro', 10 10 'dev' => true, … … 35 35 'install_path' => __DIR__ . '/../../', 36 36 'aliases' => array(), 37 'reference' => ' 1c0e1b1abb4df249d7b1e8458614f22a0181daa3',37 'reference' => '', 38 38 'dev_requirement' => false, 39 39 ), -
podro-wp/tags/1.2.0/wp-podro.php
r2852786 r2860407 10 10 * Plugin URI: https://khorshidlab.com/ 11 11 * Description: پادروپین؛ مارکتپلیس خدمات پستی است و به فروشگاههای آنلاین کمک میکند تا فرآیند ارسال سفارشهای اینترنتی را مدیریت کنند. در پادروپین، بدون مراجعه و یا ثبت قرارداد با شرکتهای پستی، میتوان سفارشهای اینترنتی را با هر یک از شرکتهای پستی ارسال کرد 12 * Version: 1. 1.012 * Version: 1..0 13 13 * Author: Khorshid, Podro 14 14 * Author URI: https://khorshidlab.com/fa/ … … 37 37 */ 38 38 39 define( 'PODRO_VERSION', '1. 1.0' );39 define( 'PODRO_VERSION', '1..0' ); 40 40 define( 'PODRO_SLUG', 'podro-wp' ); 41 41 define( 'PODRO_SETTINGS_PAGE_SLUG', 'podro-wp-settings' ); -
podro-wp/trunk/README.txt
r2852786 r2860407 5 5 Tested up to: 6.1 6 6 Requires PHP: 7.2 7 Stable tag: 1. 1.07 Stable tag: 1..0 8 8 License: GPLv3 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 59 59 == Changelog == 60 60 61 62 63 64 65 66 67 68 61 69 = 1.1.0 - 2023-01-23 = 62 70 * Add ability to set "Only Show Podro Cities" feature in settings page 63 * Add auto update function in settings page71 * Add auto update function in settings page 64 72 * Add Online Payment feature 65 73 * Change Settings page for better UX … … 72 80 = 1.0.7 - 2023-01-15 = 73 81 * Change API endpoint for delivery-options 74 * Change the account activation URL in settings page75 * Some minor improv ments82 * Change the account activation URL in settings page 83 * Some minor improvments 76 84 77 85 = 1.0.6 - 2023-01-10 = -
podro-wp/trunk/admin/Enqueue.php
r2852786 r2860407 35 35 add_action('woocommerce_before_checkout_process', function(){ 36 36 37 if(self:: check_for_only_podro() && class_exists('PWS_Core')){37 if(self::() && class_exists('PWS_Core')){ 38 38 remove_filter('woocommerce_checkout_process', [\PWS_Core::instance(), 'checkout_process'], 20, 1); 39 39 } … … 58 58 59 59 \wp_enqueue_style( PODRO_SLUG.'-admin-styles', \plugins_url( 'assets/css/admin.css', PODRO_PLUGIN_ABSOLUTE ), array( 'dashicons' ), PODRO_VERSION ); 60 61 62 60 63 } 61 64 … … 68 71 public function enqueue_admin_scripts() { 69 72 \wp_enqueue_script( PODRO_SLUG.'-admin-scripts', \plugins_url( 'assets/js/admin.js', PODRO_PLUGIN_ABSOLUTE ), array( 'jquery' ), PODRO_VERSION, true ); 73 74 75 70 76 \wp_localize_script( 71 77 PODRO_SLUG . '-admin-scripts', … … 94 100 95 101 96 if ( function_exists( 'PWS' ) || class_exists('PWS_Core') || in_array( 'persian-woocommerce-shipping/woocommerce-shipping.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { 102 if ( function_exists( 'PWS' ) || class_exists('PWS_Core') 103 || in_array( 'persian-woocommerce-shipping/woocommerce-shipping.php', 104 apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { 97 105 98 if( true == self:: check_for_only_podro()){106 if( true == self::){ 99 107 100 108 add_action( 'wp_enqueue_scripts',function(){ … … 111 119 $city_select_path = PODRO_PLUGIN_ROOT_URL . 'assets/js/disable-podro.js'; 112 120 } 113 }else {121 }else{ 114 122 115 123 $city_select_path = PODRO_PLUGIN_ROOT_URL . 'assets/js/only-podro-cities.js'; 116 124 /* 117 * We seperated the provinces here because weshould not118 * change provinceswhen PWS plugin is enabled125 * We seperated the provinces here because should not 126 * when PWS plugin is enabled 119 127 * Because woocommerce use another naming system we changed the names to 120 * singprovince name instead of Tehran(تهران)128 * province name instead of Tehran(تهران) 121 129 */ 122 130 $province_select_path = PODRO_PLUGIN_ROOT_URL . 'assets/js/only-podro-provinces.js'; 131 132 133 134 135 136 137 138 139 140 141 142 143 123 144 } 124 145 … … 144 165 } 145 166 146 private static function check_for_only_podro(){ 167 public static function only_podro_shippment_available(){ 168 return (WooZones::get_instance())->is_podro_only_active_method(); 169 } 147 170 171 148 172 149 $is_it_only_podro = (WooZones::get_instance())->is_podro_only_active_method();150 173 151 174 $only_podro_functionality_state = get_option('podro_only_functionality'); 152 175 153 if( true == $is_it_only_podro && 'yes' == $only_podro_functionality_state){ 154 return true; 155 }else{ 156 return false; 157 } 158 176 return ('yes' == $only_podro_functionality_state); 159 177 160 178 } -
podro-wp/trunk/admin/views/pages/api-key-settings.php
r2852786 r2860407 8 8 $store_city = get_option('podro_store_city', ''); 9 9 $store_address = get_option('podro_store_address', ''); 10 11 10 12 11 13 ?> … … 25 27 <th scope="row"><label>وضعیت اتصال</label></th> 26 28 <td> 27 اتصال به پادروپین با حساب کاربری 29 اتصال به پادروپین با حساب کاربری 28 30 <b>« <?php echo isset($credentials['email']) ? esc_html($credentials['email']) : '' ?> »</b> 29 31 برقرار است. … … 44 46 <p><b></b> </p> 45 47 <p> </p> 46 48 47 49 <?php }else{ ?> 48 50 49 51 <form class="wp_podro-config-form" method="post" action="<?php echo esc_url(admin_url('/admin.php?page=' . PODRO_SETTINGS_PAGE_SLUG)); ?>"> 50 52 <table class="form-table" id="pdo-login-form"> … … 84 86 <tr> 85 87 <th scope="row"><label for="podro_store_name">نام فروشگاه</label></th> 86 <td><input type="text" name="podro_store_name" id="podro_store_name" class="regular-text" value="<?php echo esc_attr( $store_name ?? '') ?>" required></td>88 <td><input type="text" name="podro_store_name" id="podro_store_name" class="regular-text" value="<?php echo esc_attr(></td> 87 89 </tr> 88 90 <tr> … … 93 95 <?php 94 96 $provinces = \WP_PODRO\Engine\WooSetting::get_provinces(); 95 echo "<select aria-label='شهر' class='wc-enhanced-select'id='podro_store_city' name='podro_store_city' style='width: 25em;' required>";97 echo "<select id='podro_store_city' name='podro_store_city' style='width: 25em;' required>"; 96 98 echo "<option value='' selected disabled hidden>لطفا شهر فروشگاه را انتخاب کنید.</option>"; 97 99 foreach ($provinces as $province) { 98 100 echo "<optgroup label='" . esc_attr($province['name']) . "'>"; 99 101 foreach ($province['cities'] as $key => $city) 100 if ( get_option('podro_store_city')== $key)102 if ( == $key) 101 103 echo "<option selected value='" . esc_attr($key) . "'>" . esc_attr($city) . "</option>"; 102 104 else … … 108 110 </td> 109 111 </tr> 112 113 114 115 116 110 117 <tr> 111 118 <th scope="row"> … … 113 120 </th> 114 121 <td class="pdo-box"> 115 <textarea name="podro_store_address" id="podro_store_address" class="regular_text" required ><?php echo esc_attr($store_address ?? '') ?></textarea>122 <textarea name="podro_store_address" id="podro_store_address" class="regular_text" required><?php echo esc_attr($store_address ?? '') ?></textarea> 116 123 </td> 117 124 </tr> -
podro-wp/trunk/assets/js/admin.js
r2852786 r2860407 20 20 $('#pod-cancel-order, .pod-cancel-order').on('click', function(e) { 21 21 e.preventDefault(); 22 23 24 25 26 22 27 var order_id = $(this).attr('data-order_id'); 23 28 … … 352 357 353 358 setTimeout(function() { 354 //location.reload();359 location.reload(); 355 360 }, 3000); 356 361 -
podro-wp/trunk/inc/Helper.php
r2846187 r2860407 22 22 } 23 23 24 25 26 27 28 29 24 30 public static function log($var){ 25 31 file_put_contents(dirname(__DIR__) . '/log.txt', print_r($var,true),FILE_APPEND); -
podro-wp/trunk/package-lock.json
r2852786 r2860407 309 309 }, 310 310 "node_modules/dateformat": { 311 "version": " 3.0.3",312 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat- 3.0.3.tgz",313 "integrity": "sha512- jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",311 "version": ".3", 312 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-.3.tgz", 313 "integrity": "sha512-==", 314 314 "dev": true, 315 315 "engines": { … … 526 526 }, 527 527 "node_modules/findup-sync": { 528 "version": "0.3.0", 529 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", 530 "integrity": "sha512-z8Nrwhi6wzxNMIbxlrTzuUW6KWuKkogZ/7OdDVq+0+kxn77KUH1nipx8iU6suqkHqc4y6n7a9A8IpmxY/pTjWg==", 531 "dev": true, 532 "dependencies": { 533 "glob": "~5.0.0" 534 }, 535 "engines": { 536 "node": ">= 0.6.0" 537 } 538 }, 539 "node_modules/findup-sync/node_modules/glob": { 540 "version": "5.0.15", 541 "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", 542 "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", 543 "dev": true, 544 "dependencies": { 545 "inflight": "^1.0.4", 546 "inherits": "2", 547 "minimatch": "2 || 3", 548 "once": "^1.3.0", 549 "path-is-absolute": "^1.0.0" 550 }, 551 "engines": { 552 "node": "*" 528 "version": "5.0.0", 529 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", 530 "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", 531 "dev": true, 532 "dependencies": { 533 "detect-file": "^1.0.0", 534 "is-glob": "^4.0.3", 535 "micromatch": "^4.0.4", 536 "resolve-dir": "^1.0.1" 537 }, 538 "engines": { 539 "node": ">= 10.13.0" 553 540 } 554 541 }, … … 726 713 }, 727 714 "node_modules/grunt": { 728 "version": "1. 5.3",729 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1. 5.3.tgz",730 "integrity": "sha512- mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",731 "dev": true, 732 "dependencies": { 733 "dateformat": "~ 3.0.3",715 "version": "1.", 716 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1..tgz", 717 "integrity": "sha512-==", 718 "dev": true, 719 "dependencies": { 720 "dateformat": "~", 734 721 "eventemitter2": "~0.4.13", 735 722 "exit": "~0.1.2", 736 "findup-sync": "~ 0.3.0",723 "findup-sync": "~.0", 737 724 "glob": "~7.1.6", 738 725 "grunt-cli": "~1.4.3", … … 740 727 "grunt-legacy-log": "~3.0.0", 741 728 "grunt-legacy-util": "~2.0.1", 742 "iconv-lite": "~0. 4.13",729 "iconv-lite": "~0.3", 743 730 "js-yaml": "~3.14.0", 744 731 "minimatch": "~3.0.4", 745 "mkdirp": "~1.0.4", 746 "nopt": "~3.0.6", 747 "rimraf": "~3.0.2" 732 "nopt": "~3.0.6" 748 733 }, 749 734 "bin": { … … 751 736 }, 752 737 "engines": { 753 "node": ">= 8"738 "node": ">=" 754 739 } 755 740 }, … … 1000 985 }, 1001 986 "node_modules/iconv-lite": { 1002 "version": "0. 4.24",1003 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0. 4.24.tgz",1004 "integrity": "sha512- v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",1005 "dev": true, 1006 "dependencies": { 1007 "safer-buffer": ">= 2.1.2 < 3 "987 "version": "0.", 988 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0..tgz", 989 "integrity": "sha512-==", 990 "dev": true, 991 "dependencies": { 992 "safer-buffer": ">= 2.1.2 < 3" 1008 993 }, 1009 994 "engines": { … … 1396 1381 } 1397 1382 }, 1398 "node_modules/mkdirp": {1399 "version": "1.0.4",1400 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",1401 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",1402 "dev": true,1403 "bin": {1404 "mkdirp": "bin/cmd.js"1405 },1406 "engines": {1407 "node": ">=10"1408 }1409 },1410 1383 "node_modules/ms": { 1411 1384 "version": "2.1.3", … … 1813 1786 "engines": { 1814 1787 "node": ">=0.10.0" 1815 }1816 },1817 "node_modules/rimraf": {1818 "version": "3.0.2",1819 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",1820 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",1821 "dev": true,1822 "dependencies": {1823 "glob": "^7.1.3"1824 },1825 "bin": {1826 "rimraf": "bin.js"1827 },1828 "funding": {1829 "url": "https://github.com/sponsors/isaacs"1830 1788 } 1831 1789 }, … … 2414 2372 }, 2415 2373 "dateformat": { 2416 "version": " 3.0.3",2417 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat- 3.0.3.tgz",2418 "integrity": "sha512- jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",2374 "version": ".3", 2375 "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-.3.tgz", 2376 "integrity": "sha512-==", 2419 2377 "dev": true 2420 2378 }, … … 2587 2545 }, 2588 2546 "findup-sync": { 2589 "version": "0.3.0", 2590 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", 2591 "integrity": "sha512-z8Nrwhi6wzxNMIbxlrTzuUW6KWuKkogZ/7OdDVq+0+kxn77KUH1nipx8iU6suqkHqc4y6n7a9A8IpmxY/pTjWg==", 2592 "dev": true, 2593 "requires": { 2594 "glob": "~5.0.0" 2595 }, 2596 "dependencies": { 2597 "glob": { 2598 "version": "5.0.15", 2599 "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", 2600 "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", 2601 "dev": true, 2602 "requires": { 2603 "inflight": "^1.0.4", 2604 "inherits": "2", 2605 "minimatch": "2 || 3", 2606 "once": "^1.3.0", 2607 "path-is-absolute": "^1.0.0" 2608 } 2609 } 2547 "version": "5.0.0", 2548 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", 2549 "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", 2550 "dev": true, 2551 "requires": { 2552 "detect-file": "^1.0.0", 2553 "is-glob": "^4.0.3", 2554 "micromatch": "^4.0.4", 2555 "resolve-dir": "^1.0.1" 2610 2556 } 2611 2557 }, … … 2744 2690 }, 2745 2691 "grunt": { 2746 "version": "1. 5.3",2747 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1. 5.3.tgz",2748 "integrity": "sha512- mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",2749 "dev": true, 2750 "requires": { 2751 "dateformat": "~ 3.0.3",2692 "version": "1.", 2693 "resolved": "https://registry.npmjs.org/grunt/-/grunt-1..tgz", 2694 "integrity": "sha512-==", 2695 "dev": true, 2696 "requires": { 2697 "dateformat": "~", 2752 2698 "eventemitter2": "~0.4.13", 2753 2699 "exit": "~0.1.2", 2754 "findup-sync": "~ 0.3.0",2700 "findup-sync": "~.0", 2755 2701 "glob": "~7.1.6", 2756 2702 "grunt-cli": "~1.4.3", … … 2758 2704 "grunt-legacy-log": "~3.0.0", 2759 2705 "grunt-legacy-util": "~2.0.1", 2760 "iconv-lite": "~0. 4.13",2706 "iconv-lite": "~0.3", 2761 2707 "js-yaml": "~3.14.0", 2762 2708 "minimatch": "~3.0.4", 2763 "mkdirp": "~1.0.4", 2764 "nopt": "~3.0.6", 2765 "rimraf": "~3.0.2" 2709 "nopt": "~3.0.6" 2766 2710 } 2767 2711 }, … … 2961 2905 }, 2962 2906 "iconv-lite": { 2963 "version": "0. 4.24",2964 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0. 4.24.tgz",2965 "integrity": "sha512- v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",2966 "dev": true, 2967 "requires": { 2968 "safer-buffer": ">= 2.1.2 < 3 "2907 "version": "0.", 2908 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0..tgz", 2909 "integrity": "sha512-==", 2910 "dev": true, 2911 "requires": { 2912 "safer-buffer": ">= 2.1.2 < 3" 2969 2913 } 2970 2914 }, … … 3275 3219 "dev": true 3276 3220 }, 3277 "mkdirp": {3278 "version": "1.0.4",3279 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",3280 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",3281 "dev": true3282 },3283 3221 "ms": { 3284 3222 "version": "2.1.3", … … 3587 3525 "expand-tilde": "^2.0.0", 3588 3526 "global-modules": "^1.0.0" 3589 }3590 },3591 "rimraf": {3592 "version": "3.0.2",3593 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",3594 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",3595 "dev": true,3596 "requires": {3597 "glob": "^7.1.3"3598 3527 } 3599 3528 }, -
podro-wp/trunk/vendor/autoload.php
r2852786 r2860407 10 10 require_once __DIR__ . '/composer/autoload_real.php'; 11 11 12 return ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f2::getLoader();12 return ComposerAutoloaderInit2::getLoader(); -
podro-wp/trunk/vendor/composer/autoload_real.php
r2852786 r2860407 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f25 class ComposerAutoloaderInit2 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f2', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit2', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit d1eb7094bc54dca4810d7309e03c00f2', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit2', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit2::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
podro-wp/trunk/vendor/composer/autoload_static.php
r2852786 r2860407 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f27 class ComposerStaticInit2 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 166 166 { 167 167 return \Closure::bind(function () use ($loader) { 168 $loader->prefixLengthsPsr4 = ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::$prefixLengthsPsr4;169 $loader->prefixDirsPsr4 = ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::$prefixDirsPsr4;170 $loader->classMap = ComposerStaticInit d1eb7094bc54dca4810d7309e03c00f2::$classMap;168 $loader->prefixLengthsPsr4 = ComposerStaticInit2::$prefixLengthsPsr4; 169 $loader->prefixDirsPsr4 = ComposerStaticInit2::$prefixDirsPsr4; 170 $loader->classMap = ComposerStaticInit2::$classMap; 171 171 172 172 }, null, ClassLoader::class); -
podro-wp/trunk/vendor/composer/installed.php
r2852786 r2860407 6 6 'install_path' => __DIR__ . '/../../', 7 7 'aliases' => array(), 8 'reference' => ' 1c0e1b1abb4df249d7b1e8458614f22a0181daa3',8 'reference' => '', 9 9 'name' => 'khorshid/wp_podro', 10 10 'dev' => true, … … 35 35 'install_path' => __DIR__ . '/../../', 36 36 'aliases' => array(), 37 'reference' => ' 1c0e1b1abb4df249d7b1e8458614f22a0181daa3',37 'reference' => '', 38 38 'dev_requirement' => false, 39 39 ), -
podro-wp/trunk/wp-podro.php
r2852786 r2860407 10 10 * Plugin URI: https://khorshidlab.com/ 11 11 * Description: پادروپین؛ مارکتپلیس خدمات پستی است و به فروشگاههای آنلاین کمک میکند تا فرآیند ارسال سفارشهای اینترنتی را مدیریت کنند. در پادروپین، بدون مراجعه و یا ثبت قرارداد با شرکتهای پستی، میتوان سفارشهای اینترنتی را با هر یک از شرکتهای پستی ارسال کرد 12 * Version: 1. 1.012 * Version: 1..0 13 13 * Author: Khorshid, Podro 14 14 * Author URI: https://khorshidlab.com/fa/ … … 37 37 */ 38 38 39 define( 'PODRO_VERSION', '1. 1.0' );39 define( 'PODRO_VERSION', '1..0' ); 40 40 define( 'PODRO_SLUG', 'podro-wp' ); 41 41 define( 'PODRO_SETTINGS_PAGE_SLUG', 'podro-wp-settings' );
Note: See TracChangeset
for help on using the changeset viewer.