Changeset 3171820
- Timestamp:
- 10/19/2024 07:40:34 AM (16 months ago)
- Location:
- persian-woocommerce-sms
- Files:
-
- 283 added
- 1 deleted
- 5 edited
-
tags/7.0.4 (added)
-
tags/7.0.4/WoocommerceIR_SMS.php (added)
-
tags/7.0.4/assets (added)
-
tags/7.0.4/assets/css (added)
-
tags/7.0.4/assets/css/admin-style.css (added)
-
tags/7.0.4/assets/css/fonts (added)
-
tags/7.0.4/assets/css/fonts/webfonts (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-Black.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-Bold.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-ExtraBold.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-ExtraLight.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-Light.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-Medium.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-Regular.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-SemiBold.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn-Thin.woff2 (added)
-
tags/7.0.4/assets/css/fonts/webfonts/Vazirmatn[wght].woff2 (added)
-
tags/7.0.4/assets/css/product-tab.css (added)
-
tags/7.0.4/assets/images (added)
-
tags/7.0.4/assets/images/1.png (added)
-
tags/7.0.4/assets/images/2.png (added)
-
tags/7.0.4/assets/images/3.png (added)
-
tags/7.0.4/assets/images/4.png (added)
-
tags/7.0.4/assets/images/admin-panel.jpg (added)
-
tags/7.0.4/assets/images/ajax-loader.gif (added)
-
tags/7.0.4/assets/images/false.png (added)
-
tags/7.0.4/assets/images/icons8-instagram-500(1).png (added)
-
tags/7.0.4/assets/images/instagram-48.png (added)
-
tags/7.0.4/assets/images/logo.png (added)
-
tags/7.0.4/assets/images/mobile-phone.png (added)
-
tags/7.0.4/assets/images/newsletter.jpg (added)
-
tags/7.0.4/assets/images/persian-woocommerce-sms-logo.png (added)
-
tags/7.0.4/assets/images/tick.png (added)
-
tags/7.0.4/assets/images/woo-bank.png (added)
-
tags/7.0.4/assets/images/woo-host.jpg (added)
-
tags/7.0.4/assets/images/woocommerce-themes.jpg (added)
-
tags/7.0.4/assets/js (added)
-
tags/7.0.4/assets/js/multi-select.js (added)
-
tags/7.0.4/assets/js/product-tab.js (added)
-
tags/7.0.4/index.php (added)
-
tags/7.0.4/readme.txt (added)
-
tags/7.0.4/src (added)
-
tags/7.0.4/src/About.php (added)
-
tags/7.0.4/src/Bulk.php (added)
-
tags/7.0.4/src/Gateways (added)
-
tags/7.0.4/src/Gateways/Afe.php (added)
-
tags/7.0.4/src/Gateways/AfeIR.php (added)
-
tags/7.0.4/src/Gateways/AradITC.php (added)
-
tags/7.0.4/src/Gateways/AradPayamak.php (added)
-
tags/7.0.4/src/Gateways/AradSMS.php (added)
-
tags/7.0.4/src/Gateways/Aryana.php (added)
-
tags/7.0.4/src/Gateways/Asanak.php (added)
-
tags/7.0.4/src/Gateways/AsiaSMS.php (added)
-
tags/7.0.4/src/Gateways/AtlasPayamak.php (added)
-
tags/7.0.4/src/Gateways/AvalPayam.php (added)
-
tags/7.0.4/src/Gateways/AzaranPayamak.php (added)
-
tags/7.0.4/src/Gateways/BOne.php (added)
-
tags/7.0.4/src/Gateways/BakhtarPanel.php (added)
-
tags/7.0.4/src/Gateways/BehsaDade.php (added)
-
tags/7.0.4/src/Gateways/Berandet.php (added)
-
tags/7.0.4/src/Gateways/CandooSMS.php (added)
-
tags/7.0.4/src/Gateways/ChaparPanel.php (added)
-
tags/7.0.4/src/Gateways/Chapargah.php (added)
-
tags/7.0.4/src/Gateways/FaraPayamak.php (added)
-
tags/7.0.4/src/Gateways/FarsTech.php (added)
-
tags/7.0.4/src/Gateways/FirstPayamak.php (added)
-
tags/7.0.4/src/Gateways/FlashSMS.php (added)
-
tags/7.0.4/src/Gateways/GamaPayamak.php (added)
-
tags/7.0.4/src/Gateways/GamaSystems.php (added)
-
tags/7.0.4/src/Gateways/GatewayInterface.php (added)
-
tags/7.0.4/src/Gateways/GatewayTrait.php (added)
-
tags/7.0.4/src/Gateways/HadafWP.php (added)
-
tags/7.0.4/src/Gateways/HafezPayam.php (added)
-
tags/7.0.4/src/Gateways/HiroSMS.php (added)
-
tags/7.0.4/src/Gateways/HostIran.php (added)
-
tags/7.0.4/src/Gateways/IPPanel.php (added)
-
tags/7.0.4/src/Gateways/IRPayamak.php (added)
-
tags/7.0.4/src/Gateways/ISMS.php (added)
-
tags/7.0.4/src/Gateways/IdehPayam.php (added)
-
tags/7.0.4/src/Gateways/IranSMS.php (added)
-
tags/7.0.4/src/Gateways/IranSMSServer.php (added)
-
tags/7.0.4/src/Gateways/Jarin.php (added)
-
tags/7.0.4/src/Gateways/KarenKart.php (added)
-
tags/7.0.4/src/Gateways/KaveNegar.php (added)
-
tags/7.0.4/src/Gateways/KaveNegarLookUp.php (added)
-
tags/7.0.4/src/Gateways/KianArtPanel.php (added)
-
tags/7.0.4/src/Gateways/Logger.php (added)
-
tags/7.0.4/src/Gateways/LoginPanel.php (added)
-
tags/7.0.4/src/Gateways/LogisticSMS.php (added)
-
tags/7.0.4/src/Gateways/MSGWay.php (added)
-
tags/7.0.4/src/Gateways/ManiIrani.php (added)
-
tags/7.0.4/src/Gateways/MaxSMS.php (added)
-
tags/7.0.4/src/Gateways/MehrAfraz.php (added)
-
tags/7.0.4/src/Gateways/MehrPanel.php (added)
-
tags/7.0.4/src/Gateways/MeliPayamak.php (added)
-
tags/7.0.4/src/Gateways/MeliPayamakPattern.php (added)
-
tags/7.0.4/src/Gateways/NHOne.php (added)
-
tags/7.0.4/src/Gateways/NPSMS.php (added)
-
tags/7.0.4/src/Gateways/Negins.php (added)
-
tags/7.0.4/src/Gateways/NetPaydar.php (added)
-
tags/7.0.4/src/Gateways/NewSMS.php (added)
-
tags/7.0.4/src/Gateways/NiazPardazCOM.php (added)
-
tags/7.0.4/src/Gateways/NiazPardazIR.php (added)
-
tags/7.0.4/src/Gateways/NikSMS.php (added)
-
tags/7.0.4/src/Gateways/Paaz.php (added)
-
tags/7.0.4/src/Gateways/PanelSMS20.php (added)
-
tags/7.0.4/src/Gateways/ParandSMS.php (added)
-
tags/7.0.4/src/Gateways/PardisSMS.php (added)
-
tags/7.0.4/src/Gateways/ParsGreen.php (added)
-
tags/7.0.4/src/Gateways/ParsianPayam.php (added)
-
tags/7.0.4/src/Gateways/ParsianSMS.php (added)
-
tags/7.0.4/src/Gateways/ParsianTD.php (added)
-
tags/7.0.4/src/Gateways/PayamAfraz.php (added)
-
tags/7.0.4/src/Gateways/PayamResan.php (added)
-
tags/7.0.4/src/Gateways/PayamSMS.php (added)
-
tags/7.0.4/src/Gateways/PayamakYab.php (added)
-
tags/7.0.4/src/Gateways/Postgah.php (added)
-
tags/7.0.4/src/Gateways/RayganSMS.php (added)
-
tags/7.0.4/src/Gateways/RazPayamak.php (added)
-
tags/7.0.4/src/Gateways/Relax.php (added)
-
tags/7.0.4/src/Gateways/SMSBefrest.php (added)
-
tags/7.0.4/src/Gateways/SMSFa.php (added)
-
tags/7.0.4/src/Gateways/SMSFor.php (added)
-
tags/7.0.4/src/Gateways/SMSHooshmand.php (added)
-
tags/7.0.4/src/Gateways/SMSIR.php (added)
-
tags/7.0.4/src/Gateways/SMSMeli.php (added)
-
tags/7.0.4/src/Gateways/SMSMelli.php (added)
-
tags/7.0.4/src/Gateways/SMSNegarCOM.php (added)
-
tags/7.0.4/src/Gateways/SMSNegarIR.php (added)
-
tags/7.0.4/src/Gateways/SMSPishgaman.php (added)
-
tags/7.0.4/src/Gateways/SSMSS.php (added)
-
tags/7.0.4/src/Gateways/SabaNovin.php (added)
-
tags/7.0.4/src/Gateways/SahandSMS.php (added)
-
tags/7.0.4/src/Gateways/SamaIT.php (added)
-
tags/7.0.4/src/Gateways/SatSMS.php (added)
-
tags/7.0.4/src/Gateways/SefidSMS.php (added)
-
tags/7.0.4/src/Gateways/SepahanSMS.php (added)
-
tags/7.0.4/src/Gateways/SignalAds.php (added)
-
tags/7.0.4/src/Gateways/SornaSMS.php (added)
-
tags/7.0.4/src/Gateways/SunwaySMS.php (added)
-
tags/7.0.4/src/Gateways/TJPIR.php (added)
-
tags/7.0.4/src/Gateways/TSMS.php (added)
-
tags/7.0.4/src/Gateways/Trez.php (added)
-
tags/7.0.4/src/Gateways/WebOne.php (added)
-
tags/7.0.4/src/Gateways/WebSMS.php (added)
-
tags/7.0.4/src/Gateways/YektaTech.php (added)
-
tags/7.0.4/src/Gateways/_0098.php (added)
-
tags/7.0.4/src/Gateways/_3300.php (added)
-
tags/7.0.4/src/Helper.php (added)
-
tags/7.0.4/src/MetaBox.php (added)
-
tags/7.0.4/src/Notice.php (added)
-
tags/7.0.4/src/Orders.php (added)
-
tags/7.0.4/src/PWSMS.php (added)
-
tags/7.0.4/src/Product (added)
-
tags/7.0.4/src/Product/Events.php (added)
-
tags/7.0.4/src/Product/Tab.php (added)
-
tags/7.0.4/src/Promotions.php (added)
-
tags/7.0.4/src/Repositories (added)
-
tags/7.0.4/src/Repositories/SMSRepository.php (added)
-
tags/7.0.4/src/Repository.php (added)
-
tags/7.0.4/src/SMS (added)
-
tags/7.0.4/src/SMS/Archive.php (added)
-
tags/7.0.4/src/SMS/ListTable.php (added)
-
tags/7.0.4/src/Settings (added)
-
tags/7.0.4/src/Settings/API.php (added)
-
tags/7.0.4/src/Settings/Settings.php (added)
-
tags/7.0.4/src/Shortcode.php (added)
-
tags/7.0.4/src/Subscribe (added)
-
tags/7.0.4/src/Subscribe/Contacts.php (added)
-
tags/7.0.4/src/Subscribe/ListTable.php (added)
-
tags/7.0.4/src/Subscribe/Widget.php (added)
-
tags/7.0.4/vendor (added)
-
tags/7.0.4/vendor/autoload.php (added)
-
tags/7.0.4/vendor/composer (added)
-
tags/7.0.4/vendor/composer/ClassLoader.php (added)
-
tags/7.0.4/vendor/composer/InstalledVersions.php (added)
-
tags/7.0.4/vendor/composer/LICENSE (added)
-
tags/7.0.4/vendor/composer/autoload_classmap.php (added)
-
tags/7.0.4/vendor/composer/autoload_namespaces.php (added)
-
tags/7.0.4/vendor/composer/autoload_psr4.php (added)
-
tags/7.0.4/vendor/composer/autoload_real.php (added)
-
tags/7.0.4/vendor/composer/autoload_static.php (added)
-
tags/7.0.4/vendor/composer/installed.php (added)
-
tags/7.0.4/vendor/econea (added)
-
tags/7.0.4/vendor/econea/nusoap (added)
-
tags/7.0.4/vendor/econea/nusoap/src (added)
-
tags/7.0.4/vendor/econea/nusoap/src/nusoap.php (added)
-
tags/7.0.4/vendor/econea/nusoap/src/nusoapmime.php (added)
-
tags/7.0.4/vendor/symfony (added)
-
tags/7.0.4/vendor/symfony/deprecation-contracts (added)
-
tags/7.0.4/vendor/symfony/deprecation-contracts/function.php (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/Mbstring.php (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/Resources (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/Resources/unidata (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/bootstrap.php (added)
-
tags/7.0.4/vendor/symfony/polyfill-mbstring/bootstrap80.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/AmqpCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ArgsStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/Caster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ClassStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ConstStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/CutArrayStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/CutStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/DOMCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/DateCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/DoctrineCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/DsCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/DsPairStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/EnumStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ExceptionCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/FFICaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/FiberCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/FrameStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/GmpCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ImagineCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ImgStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/IntlCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/LinkStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/MemcachedCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/MysqliCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/PdoCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/PgSqlCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/RedisCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ReflectionCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ResourceCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/ScalarStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/SplCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/StubCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/SymfonyCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/TraceStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/UninitializedStub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/UuidCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/AbstractCloner.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/ClonerInterface.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/Cursor.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/Data.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/DumperInterface.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/Internal (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/Internal/NoDefault.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/Stub.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Cloner/VarCloner.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Command (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Command/Descriptor (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Command/ServerDumpCommand.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/AbstractDumper.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/CliDumper.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/ContextProvider (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/HtmlDumper.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Dumper/ServerDumper.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Exception (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Resources (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Resources/functions (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Resources/functions/dump.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Resources/js (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Resources/js/htmlDescriptor.js (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Server (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Server/Connection.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/Server/DumpServer.php (added)
-
tags/7.0.4/vendor/symfony/var-dumper/VarDumper.php (added)
-
trunk/WoocommerceIR_SMS.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/src/Gateways/IPPanel.php (added)
-
trunk/src/Gateways/MaxSMS.php (modified) (4 diffs)
-
trunk/src/Gateways/MaxSMSPattern.php (deleted)
-
trunk/src/Product/Events.php (modified) (2 diffs)
-
trunk/src/SMS/ListTable.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
persian-woocommerce-sms/trunk/WoocommerceIR_SMS.php
r3170258 r3171820 4 4 * Plugin URI: https://woosupport.ir 5 5 * Description: افزونه کامل و حرفه ای برای اطلاع رسانی پیامکی سفارشات و رویداد های محصولات ووکامرس. تمامی حقوق این افزونه متعلق به <a href="http://woosupport.ir" target="_blank">تیم ووکامرس پارسی</a> می باشد و هر گونه کپی برداری، فروش آن غیر مجاز می باشد. 6 * Version: 7.0. 36 * Version: 7.0.4 7 7 * Author: ووکامرس فارسی 8 8 * Author URI: https://woosupport.ir … … 19 19 20 20 if ( ! defined( 'PWSMS_VERSION' ) ) { 21 define( 'PWSMS_VERSION', '7.0. 3' );21 define( 'PWSMS_VERSION', '7.0.4' ); 22 22 } 23 23 -
persian-woocommerce-sms/trunk/readme.txt
r3170258 r3171820 9 9 Tested up to: 6.6.2 10 10 Requires PHP: 7.4 11 Stable tag: 7.0. 311 Stable tag: 7.0.4 12 12 13 13 افزونه کامل و حرفه ای برای اطلاع رسانی پیامکی سفارشات و رویداد های محصولات ووکامرس … … 122 122 * Arad ITC 123 123 * SMSNegar.ir 124 * MAX-SMS.co (IPPANEL.co)125 124 * MAX-SMS.co 125 * IPPANEL.co 126 126 127 127 == Installation == … … 147 147 148 148 == Changelog == 149 = 7.0.3 = 150 * افزوده شدن وبسرویس IPPANEL.COM 149 151 = 7.0.3 = 150 152 * رفع چند باگ گزارش شده … … 374 376 375 377 == Upgrade Notice == 376 = 7.0. 3=377 * بروزرسانی چند وبسرویس جدید و رفع چند باگ378 = 7.0.4 = 379 * افزوده شدن وبسرویس IPPANEL.COM -
persian-woocommerce-sms/trunk/src/Gateways/MaxSMS.php
r3170258 r3171820 13 13 14 14 public static function id() { 15 return 'maxsms -normal';15 return 'maxsms'; 16 16 } 17 17 … … 21 21 22 22 public function send() { 23 $single_api_url = $this->api_url . '/sms/send/webservice/single'; 24 $api_key = ! empty( $this->username ) ? $this->username : $this->password; 25 $message = $this->message; 26 $from = $this->senderNumber; 27 $recipients = $this->mobile; 23 $recipients = $this->mobile; 24 $api_key = ! empty( $this->username ) ? trim( $this->username ) : trim( $this->password ); 25 $from = trim( $this->senderNumber ); 26 $message_content = $this->message; 27 28 // Default sender number if not provided 28 29 if ( empty( $from ) ) { 29 30 $from = '+983000505'; 30 31 } 31 32 32 33 if ( empty( $api_key ) || empty( $message ) || empty( $recipients ) ) { 33 // Replace "pcode" with "patterncode" in the message 34 $message_content = str_replace( 'pcode', 'patterncode', $message_content ); 35 36 // Determine if it's a pattern-based message 37 if ( substr( $message_content, 0, 11 ) === "patterncode" ) { 38 // Handle pattern-based message 39 return $this->send_pattern_sms( $recipients, $from, $message_content, $api_key ); 40 } else { 41 // Handle simple SMS 42 return $this->send_simple_sms( $recipients, $from, $message_content, $api_key ); 43 } 44 } 45 46 private function send_pattern_sms( array $recipients, string $from, string $message_content, string $api_key ) { 47 $pattern_api_url = $this->api_url . '/sms/pattern/normal/send'; 48 49 // Replace "pcode" with "patterncode" in the message 50 $message_content = str_replace( 'pcode', 'patterncode', $message_content ); 51 52 // Replace new lines with semicolons and split 53 $message_content = str_replace( [ "\r\n", "\n" ], ';', $message_content ); 54 $message_parts = explode( ';', $message_content ); 55 $pattern_code = explode( ':', $message_parts[0] )[1]; 56 unset( $message_parts[0] ); // Remove the first element containing the pattern code 57 58 // Initialize the pattern data array 59 $pattern_data = []; 60 foreach ( $message_parts as $parameter ) { 61 $split_parameter = explode( ':', $parameter, 2 ); // Split only on the first occurrence 62 if ( count( $split_parameter ) === 2 ) { // Ensure both key and value exist 63 $pattern_data[ trim( $split_parameter[0] ) ] = trim( $split_parameter[1] ); 64 } 65 } 66 67 // Check for required fields 68 if ( empty( $api_key ) || empty( $pattern_code ) || empty( $recipients ) ) { 34 69 return 'اطلاعات پنل، یا پیامک به درستی وارد نشده.'; 35 70 } 36 37 $date_time_now = new DateTime( 'now', new DateTimeZone( 'UTC' ) );38 $date_time_now->modify( '+30 seconds' );39 $date_time = $date_time_now->format( 'Y-m-d\TH:i:s.v\Z' );40 41 42 $data = [43 'recipient' => $recipients,44 'sender' => $from,45 'message' => $message,46 'time' => $date_time47 ];48 71 49 72 $headers = [ … … 53 76 ]; 54 77 78 $failed_numbers = []; 79 80 foreach ( $recipients as $recipient ) { 81 $data = [ 82 'code' => trim( $pattern_code ), 83 'sender' => $from, 84 'recipient' => $recipient, 85 'variable' => $pattern_data, 86 ]; 87 88 $remote = wp_remote_post( $pattern_api_url, [ 89 'headers' => $headers, 90 'body' => wp_json_encode( $data ), 91 ] ); 92 93 if ( is_wp_error( $remote ) ) { 94 $failed_numbers[ $recipient ] = $remote->get_error_message(); 95 } 96 97 $response_message = wp_remote_retrieve_response_message( $remote ); 98 $response_code = wp_remote_retrieve_response_code( $remote ); 99 100 if ( empty( $response_code ) || 200 != $response_code ) { 101 $failed_numbers[ $recipient ] = $response_code . ' -> ' . $response_message; 102 continue; 103 } 104 105 $response = wp_remote_retrieve_body( $remote ); 106 107 if ( empty( $response ) ) { 108 $failed_numbers[ $recipient ] = 'بدون پاسخ دریافتی از سمت وب سرویس.'; 109 continue; 110 } 111 112 $response_data = json_decode( $response, true ); 113 if ( ! empty( json_last_error() ) ) { 114 $failed_numbers[ $recipient ] = 'فرمت نامعتبر پاسخ از سمت وب سرویس.'; 115 continue; 116 } 117 118 if ( isset( $response_data['status'] ) && strtolower( $response_data['status'] ) == 'ok' ) { 119 continue; 120 } 121 } 122 123 // Handle failed numbers and format response 124 return $this->formatFailedNumbers( $failed_numbers ); 125 } 126 127 private function formatFailedNumbers( array $failed_numbers ) { 128 // Handle failed numbers and format response 129 if ( ! empty( $failed_numbers ) ) { 130 $grouped = []; 131 foreach ( $failed_numbers as $number => $message ) { 132 if ( ! isset( $grouped[ $message ] ) ) { 133 $grouped[ $message ] = []; 134 } 135 $grouped[ $message ][] = $number; 136 } 137 138 $result = implode( ', ', array_map( 139 function ( string $message, array $numbers ) { 140 return implode( ',', $numbers ) . ': ' . $message; 141 }, 142 array_keys( $grouped ), 143 $grouped 144 ) ); 145 146 return $result; 147 } 148 149 return true; 150 } 151 152 private function send_simple_sms( array $recipients, string $from, string $message_content, string $api_key ) { 153 $single_api_url = $this->api_url . '/sms/send/webservice/single'; 154 155 // Check for required fields 156 if ( empty( $api_key ) || empty( $message_content ) || empty( $recipients ) ) { 157 return 'اطلاعات پنل، یا پیامک به درستی وارد نشده.'; 158 } 159 160 $date_time_now = new DateTime( 'now', new DateTimeZone( 'UTC' ) ); 161 $date_time_now->modify( '+30 seconds' ); 162 $date_time = $date_time_now->format( 'Y-m-d\TH:i:s.v\Z' ); 163 164 $data = [ 165 'recipient' => $recipients, 166 'sender' => $from, 167 'message' => $message_content, 168 'time' => $date_time 169 ]; 170 171 $headers = [ 172 'Content-Type' => 'application/json', 173 'Accept' => 'application/json', 174 'apikey' => $api_key, 175 ]; 176 55 177 $remote = wp_remote_post( $single_api_url, [ 56 178 'headers' => $headers, … … 85 207 } 86 208 87 88 209 return $response; 89 210 } -
persian-woocommerce-sms/trunk/src/Product/Events.php
r3170258 r3171820 89 89 $parent_product->save(); 90 90 91 /// TODO : justify return type by exact usage of function92 91 return true; 93 92 } … … 108 107 return true; 109 108 } 109 return false; 110 110 } 111 111 -
persian-woocommerce-sms/trunk/src/SMS/ListTable.php
r3170258 r3171820 100 100 } 101 101 102 /*TODO : Convert these types to function or constants*/ 102 103 103 public function column_type( $item ) { 104 104
Note: See TracChangeset
for help on using the changeset viewer.