Changeset 2724198
- Timestamp:
- 05/15/2022 09:12:55 PM (4 years ago)
- Location:
- wunderautomation/trunk
- Files:
-
- 15 added
- 1 deleted
- 84 edited
-
admin/assets/images/pro-sidebar-promo-1.7.png (deleted)
-
admin/assets/images/pro-sidebar-promo-1.9.png (added)
-
admin/assets/images/upgrade/buddypress-600.png (added)
-
admin/metaboxes/components/actions/email.php (modified) (1 diff)
-
admin/metaboxes/components/actions/log.php (added)
-
admin/metaboxes/pro-promotion.php (modified) (2 diffs)
-
admin/upgrade/upgradepage.php (modified) (1 diff)
-
languages/wunderautomation.pot (modified) (31 diffs)
-
readme.txt (modified) (5 diffs)
-
src/Admin.php (modified) (1 diff)
-
src/EvalMath.php (modified) (1 diff)
-
src/Loader.php (modified) (8 diffs)
-
src/Tokenizer/Stream.php (modified) (9 diffs)
-
src/Types/Actions/CreatePost.php (modified) (1 diff)
-
src/Types/Actions/ErrorLog.php (added)
-
src/Types/Actions/Log.php (added)
-
src/Types/Filters/BaseAdvancedCustomField.php (modified) (1 diff)
-
src/Types/Filters/BaseCustomField.php (modified) (1 diff)
-
src/Types/Filters/BaseFilter.php (modified) (4 diffs)
-
src/Types/Filters/Comment/AuthorEmail.php (modified) (1 diff)
-
src/Types/Filters/Comment/AuthorName.php (modified) (1 diff)
-
src/Types/Filters/Comment/Content.php (modified) (1 diff)
-
src/Types/Filters/Comment/CreationDate.php (modified) (1 diff)
-
src/Types/Filters/Comment/IsOrderStatusNote.php (modified) (1 diff)
-
src/Types/Filters/Comment/Status.php (modified) (1 diff)
-
src/Types/Filters/Comment/Type.php (modified) (1 diff)
-
src/Types/Filters/ConfirmationLink/Clicks.php (modified) (1 diff)
-
src/Types/Filters/ConfirmationLink/Name.php (modified) (1 diff)
-
src/Types/Filters/Coupon/Name.php (modified) (1 diff)
-
src/Types/Filters/Customer/BaseOrderCount.php (modified) (1 diff)
-
src/Types/Filters/Date.php (modified) (1 diff)
-
src/Types/Filters/Initiator.php (modified) (1 diff)
-
src/Types/Filters/Option.php (modified) (1 diff)
-
src/Types/Filters/Order/BillingCity.php (modified) (1 diff)
-
src/Types/Filters/Order/BillingCompany.php (modified) (1 diff)
-
src/Types/Filters/Order/BillingCountry.php (modified) (1 diff)
-
src/Types/Filters/Order/BillingState.php (modified) (1 diff)
-
src/Types/Filters/Order/CompletedDate.php (modified) (1 diff)
-
src/Types/Filters/Order/CreatedVia.php (modified) (1 diff)
-
src/Types/Filters/Order/CreationDate.php (modified) (1 diff)
-
src/Types/Filters/Order/CustomerNote.php (added)
-
src/Types/Filters/Order/Number.php (modified) (1 diff)
-
src/Types/Filters/Order/PaidDate.php (modified) (1 diff)
-
src/Types/Filters/Order/PaymentMethod.php (modified) (1 diff)
-
src/Types/Filters/Order/ProductCategories.php (modified) (1 diff)
-
src/Types/Filters/Order/ProductTags.php (modified) (1 diff)
-
src/Types/Filters/Order/ProductTypes.php (modified) (1 diff)
-
src/Types/Filters/Order/Products.php (modified) (1 diff)
-
src/Types/Filters/Order/ShippingCity.php (modified) (1 diff)
-
src/Types/Filters/Order/ShippingCompany.php (modified) (1 diff)
-
src/Types/Filters/Order/ShippingCountry.php (modified) (1 diff)
-
src/Types/Filters/Order/ShippingMethod.php (modified) (1 diff)
-
src/Types/Filters/Order/ShippingState.php (modified) (1 diff)
-
src/Types/Filters/Order/ShippingZone.php (modified) (1 diff)
-
src/Types/Filters/Order/Status.php (modified) (1 diff)
-
src/Types/Filters/Order/Total.php (modified) (1 diff)
-
src/Types/Filters/Order/WCPDFInvoiceDate.php (added)
-
src/Types/Filters/Order/WCPDFInvoiceNotes.php (added)
-
src/Types/Filters/Order/WCPDFInvoiceNumber.php (added)
-
src/Types/Filters/Post/Categories.php (modified) (1 diff)
-
src/Types/Filters/Post/Content.php (modified) (1 diff)
-
src/Types/Filters/Post/CreationDate.php (modified) (1 diff)
-
src/Types/Filters/Post/ModifiedDate.php (modified) (1 diff)
-
src/Types/Filters/Post/Owner.php (modified) (1 diff)
-
src/Types/Filters/Post/Status.php (modified) (1 diff)
-
src/Types/Filters/Post/Tags.php (modified) (1 diff)
-
src/Types/Filters/Post/Title.php (modified) (1 diff)
-
src/Types/Filters/Post/Type.php (modified) (1 diff)
-
src/Types/Filters/RefererPost.php (modified) (1 diff)
-
src/Types/Filters/RefererUrl.php (modified) (1 diff)
-
src/Types/Filters/TimeOfDay.php (modified) (1 diff)
-
src/Types/Filters/User/CreationDate.php (modified) (1 diff)
-
src/Types/Filters/User/Email.php (modified) (1 diff)
-
src/Types/Filters/User/LastLogin.php (modified) (1 diff)
-
src/Types/Filters/User/LoginCount.php (modified) (1 diff)
-
src/Types/Filters/User/Role.php (modified) (1 diff)
-
src/Types/Filters/WebhookParameter.php (modified) (1 diff)
-
src/Types/Filters/Weekday.php (modified) (1 diff)
-
src/Types/Internal/BaseInternalType.php (modified) (1 diff)
-
src/Types/Internal/Filter.php (modified) (4 diffs)
-
src/Types/Parameters/BaseParameter.php (modified) (1 diff)
-
src/Types/Parameters/Order/CustomerNote.php (added)
-
src/Types/Parameters/Order/WCPDFInvoiceDate.php (added)
-
src/Types/Parameters/Order/WCPDFInvoiceNotes.php (added)
-
src/Types/Parameters/Order/WCPDFInvoiceNumber.php (added)
-
src/Types/Parameters/Post/Term.php (added)
-
src/Types/Parameters/Shipping/Phone.php (added)
-
src/Types/Triggers/BaseTrigger.php (modified) (1 diff)
-
src/Types/Triggers/Post/Saved.php (modified) (1 diff)
-
src/Types/Triggers/User/ProfileUpdated.php (modified) (2 diffs)
-
src/functions.php (modified) (1 diff)
-
vendor/autoload.php (modified) (1 diff)
-
vendor/composer/InstalledVersions.php (modified) (1 diff)
-
vendor/composer/autoload_classmap.php (modified) (1 diff)
-
vendor/composer/autoload_namespaces.php (modified) (1 diff)
-
vendor/composer/autoload_psr4.php (modified) (1 diff)
-
vendor/composer/autoload_real.php (modified) (2 diffs)
-
vendor/composer/autoload_static.php (modified) (2 diffs)
-
vendor/composer/installed.php (modified) (2 diffs)
-
wunderautomation.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wunderautomation/trunk/admin/metaboxes/components/actions/email.php
r2668674 r2724198 141 141 </transition-group> 142 142 </div> 143 144 145 -
wunderautomation/trunk/admin/metaboxes/pro-promotion.php
r2668497 r2724198 1 1 <?php 2 $logos = content_url('plugins/wunderautomation/admin/assets/images/pro-sidebar-promo-1. 7.png');2 $logos = content_url('plugins/wunderautomation/admin/assets/images/pro-sidebar-promo-1.9.png'); 3 3 $upgradePage = admin_url('admin.php?page=wunderauto-upgrade'); 4 4 ?> … … 20 20 </a> 21 21 </p> 22 23 -
wunderautomation/trunk/admin/upgrade/upgradepage.php
r2685260 r2724198 24 24 'desc' => 'Access fields created with Advanced Custom fields in workflow filters and parameters.', 25 25 'avail' => (object)['free' => true, 'pro' => true], 26 ], 27 'BuddyPress / BuddyBoss' => (object)[ 28 'title' => 'BuddyPress / BuddyBoss', 29 'image' => 'buddypress-600.png', 30 'desc' => 'Trigger workflows when users sign up and gets activated, joins or leaves groups. Add or remove ' . 31 'users from groups and even create new groups using workflow actions.', 32 'avail' => (object)['free' => false, 'pro' => true], 26 33 ], 27 34 'Slack' => (object)[ -
wunderautomation/trunk/languages/wunderautomation.pot
r2691051 r2724198 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: WunderAutomation 1. 8.1\n"5 "Project-Id-Version: WunderAutomation 1.9.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wunderautomation\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2022-0 3-08T21:13:12+00:00\n"12 "POT-Creation-Date: 2022-05-15T21:03:51+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.6.0\n" … … 214 214 #: admin/fields/trigger.php:9 215 215 #: admin/metaboxes/trigger.php:25 216 #: src/Admin.php:68 7216 #: src/Admin.php:689 217 217 #: src/PostTypes/Workflow.php:60 218 218 msgid "Trigger" … … 552 552 553 553 #: admin/metaboxes/components/actions/customfield.php:28 554 #: src/Types/Filters/BaseCustomField.php: 38554 #: src/Types/Filters/BaseCustomField.php:24 555 555 msgid "Custom field identifier" 556 556 msgstr "" … … 709 709 msgstr "" 710 710 711 #: admin/metaboxes/components/actions/log.php:11 712 msgid "Log file" 713 msgstr "" 714 715 #: admin/metaboxes/components/actions/log.php:15 716 msgid "Use an absolute path or a path relative to WP_CONTENT_DIR" 717 msgstr "" 718 719 #: admin/metaboxes/components/actions/log.php:25 720 msgid "Log data" 721 msgstr "" 722 711 723 #: admin/metaboxes/components/actions/ordernote.php:14 712 724 msgid "Object to add the note to" … … 821 833 822 834 #: admin/metaboxes/components/actions/taxonomyterm.php:32 835 #: src/Types/Parameters/Post/Term.php:93 836 #: src/Types/Parameters/Post/Term.php:94 823 837 msgid "Taxonomy" 824 838 msgstr "" … … 1005 1019 #: src/Types/Filters/Order/CreatedVia.php:19 1006 1020 #: src/Types/Filters/Order/CreationDate.php:19 1021 #: src/Types/Filters/Order/CustomerNote.php:20 1007 1022 #: src/Types/Filters/Order/CustomField.php:19 1008 1023 #: src/Types/Filters/Order/DownloadableProduct.php:19 … … 1024 1039 #: src/Types/Filters/Order/Total.php:19 1025 1040 #: src/Types/Filters/Order/VirtualProduct.php:19 1041 #: src/Types/Filters/Order/WCPDFInvoiceDate.php:21 1042 #: src/Types/Filters/Order/WCPDFInvoiceNotes.php:21 1043 #: src/Types/Filters/Order/WCPDFInvoiceNumber.php:21 1026 1044 msgid "Order" 1027 1045 msgstr "" … … 1117 1135 #: admin/metaboxes/save-re-trigger.php:145 1118 1136 #: admin/metaboxes/save-re-trigger.php:147 1119 #: src/Admin.php:70 31120 #: src/Admin.php:76 01137 #: src/Admin.php:705 1138 #: src/Admin.php:762 1121 1139 msgid "Save" 1122 1140 msgstr "" … … 1214 1232 #: src/Admin.php:152 1215 1233 #: src/Admin.php:193 1216 #: src/Admin.php:7 691234 #: src/Admin.php:771 1217 1235 msgid "Upgrade to Pro" 1218 1236 msgstr "" … … 1228 1246 msgstr "" 1229 1247 1230 #: src/Admin.php:60 21248 #: src/Admin.php:604 1231 1249 msgid "Are you sure you want to delete entries from the log?" 1232 1250 msgstr "" 1233 1251 1234 #: src/Admin.php:60 31252 #: src/Admin.php:605 1235 1253 msgid "Are you sure you want to remove item [id] from the queue?" 1236 1254 msgstr "" 1237 1255 1238 #: src/Admin.php:60 71256 #: src/Admin.php:609 1239 1257 msgid "Are you sure you want to run item [id] immediately" 1240 1258 msgstr "" 1241 1259 1242 #: src/Admin.php:69 51260 #: src/Admin.php:697 1243 1261 msgid "Steps" 1244 1262 msgstr "" 1245 1263 1246 #: src/Admin.php:71 21247 #: src/Admin.php:73 61264 #: src/Admin.php:714 1265 #: src/Admin.php:738 1248 1266 msgid "Schedule" 1249 1267 msgstr "" 1250 1268 1251 #: src/Admin.php:72 01269 #: src/Admin.php:722 1252 1270 msgid "Options" 1253 1271 msgstr "" 1254 1272 1255 #: src/Admin.php:7 281273 #: src/Admin.php:730 1256 1274 msgid "Objects query" 1257 1275 msgstr "" 1258 1276 1259 #: src/Admin.php:74 41277 #: src/Admin.php:746 1260 1278 msgid "Filters" 1261 1279 msgstr "" 1262 1280 1263 #: src/Admin.php:75 21281 #: src/Admin.php:754 1264 1282 msgid "Workflows using this Re-Trigger" 1265 1283 msgstr "" … … 1641 1659 msgstr "" 1642 1660 1661 #: src/Types/Actions/ErrorLog.php:15 1662 #: src/Types/Actions/ErrorLog.php:16 1663 msgid "Dump objects to PHP error log" 1664 msgstr "" 1665 1643 1666 #: src/Types/Actions/HTMLEmail.php:15 1644 1667 msgid "Send HTML email" … … 1647 1670 #: src/Types/Actions/HTMLEmail.php:16 1648 1671 msgid "Send html email" 1672 msgstr "" 1673 1674 #: src/Types/Actions/Log.php:15 1675 #: src/Types/Actions/Log.php:16 1676 msgid "Write to a log file" 1649 1677 msgstr "" 1650 1678 … … 1706 1734 msgstr "" 1707 1735 1708 #: src/Types/Filters/BaseAdvancedCustomField.php:20 1709 #: src/Types/Filters/BaseCustomField.php:20 1710 #: src/Types/Filters/Comment/AuthorEmail.php:25 1711 #: src/Types/Filters/Comment/AuthorName.php:25 1712 #: src/Types/Filters/Comment/Content.php:25 1713 #: src/Types/Filters/Comment/Type.php:25 1714 #: src/Types/Filters/ConfirmationLink/Clicks.php:25 1715 #: src/Types/Filters/ConfirmationLink/Name.php:25 1716 #: src/Types/Filters/Coupon/Name.php:26 1717 #: src/Types/Filters/Customer/BaseOrderCount.php:20 1718 #: src/Types/Filters/Option.php:23 1719 #: src/Types/Filters/Order/Number.php:25 1720 #: src/Types/Filters/Order/Total.php:25 1721 #: src/Types/Filters/Post/Content.php:25 1722 #: src/Types/Filters/Post/Title.php:25 1723 #: src/Types/Filters/RefererPost.php:23 1724 #: src/Types/Filters/RefererUrl.php:23 1725 #: src/Types/Filters/User/Email.php:31 1726 #: src/Types/Filters/User/LoginCount.php:25 1727 #: src/Types/Filters/WebhookParameter.php:23 1736 #: src/Types/Filters/BaseFilter.php:441 1737 #: src/Types/Filters/BaseFilter.php:505 1728 1738 msgid "Equals" 1729 1739 msgstr "" 1730 1740 1731 #: src/Types/Filters/BaseAdvancedCustomField.php:21 1732 #: src/Types/Filters/BaseCustomField.php:21 1733 #: src/Types/Filters/Comment/AuthorEmail.php:26 1734 #: src/Types/Filters/Comment/AuthorName.php:26 1735 #: src/Types/Filters/Comment/Content.php:26 1736 #: src/Types/Filters/Comment/Type.php:26 1737 #: src/Types/Filters/ConfirmationLink/Name.php:26 1738 #: src/Types/Filters/Coupon/Name.php:27 1739 #: src/Types/Filters/Option.php:24 1740 #: src/Types/Filters/Order/Number.php:26 1741 #: src/Types/Filters/Post/Content.php:26 1742 #: src/Types/Filters/Post/Title.php:26 1743 #: src/Types/Filters/RefererPost.php:24 1744 #: src/Types/Filters/RefererUrl.php:24 1745 #: src/Types/Filters/User/Email.php:32 1746 #: src/Types/Filters/WebhookParameter.php:24 1741 #: src/Types/Filters/BaseFilter.php:442 1747 1742 msgid "Does not equal" 1748 1743 msgstr "" 1749 1744 1750 #: src/Types/Filters/BaseAdvancedCustomField.php:22 1751 #: src/Types/Filters/BaseCustomField.php:22 1752 #: src/Types/Filters/Comment/AuthorEmail.php:27 1753 #: src/Types/Filters/Comment/AuthorName.php:27 1754 #: src/Types/Filters/Comment/Content.php:27 1755 #: src/Types/Filters/Comment/Type.php:27 1756 #: src/Types/Filters/ConfirmationLink/Name.php:27 1757 #: src/Types/Filters/Coupon/Name.php:28 1758 #: src/Types/Filters/Option.php:25 1759 #: src/Types/Filters/Order/Number.php:27 1760 #: src/Types/Filters/Post/Content.php:27 1761 #: src/Types/Filters/Post/Title.php:27 1762 #: src/Types/Filters/RefererPost.php:25 1763 #: src/Types/Filters/RefererUrl.php:25 1764 #: src/Types/Filters/User/Email.php:33 1765 #: src/Types/Filters/WebhookParameter.php:25 1745 #: src/Types/Filters/BaseFilter.php:443 1766 1746 msgid "Contains" 1767 1747 msgstr "" 1768 1748 1769 #: src/Types/Filters/BaseAdvancedCustomField.php:23 1770 #: src/Types/Filters/BaseCustomField.php:23 1771 #: src/Types/Filters/Comment/AuthorEmail.php:28 1772 #: src/Types/Filters/Comment/AuthorName.php:28 1773 #: src/Types/Filters/Comment/Content.php:28 1774 #: src/Types/Filters/Comment/Type.php:28 1775 #: src/Types/Filters/ConfirmationLink/Name.php:28 1776 #: src/Types/Filters/Coupon/Name.php:29 1777 #: src/Types/Filters/Option.php:26 1778 #: src/Types/Filters/Order/Number.php:28 1779 #: src/Types/Filters/Post/Content.php:28 1780 #: src/Types/Filters/Post/Title.php:28 1781 #: src/Types/Filters/RefererPost.php:26 1782 #: src/Types/Filters/RefererUrl.php:26 1783 #: src/Types/Filters/User/Email.php:34 1784 #: src/Types/Filters/WebhookParameter.php:26 1749 #: src/Types/Filters/BaseFilter.php:444 1785 1750 msgid "Does not contain" 1786 1751 msgstr "" 1787 1752 1788 #: src/Types/Filters/BaseAdvancedCustomField.php:24 1789 #: src/Types/Filters/BaseCustomField.php:24 1790 #: src/Types/Filters/Comment/AuthorEmail.php:29 1791 #: src/Types/Filters/Comment/AuthorName.php:29 1792 #: src/Types/Filters/Comment/Content.php:29 1793 #: src/Types/Filters/Comment/Type.php:29 1794 #: src/Types/Filters/ConfirmationLink/Name.php:29 1795 #: src/Types/Filters/Coupon/Name.php:30 1796 #: src/Types/Filters/Option.php:27 1797 #: src/Types/Filters/Order/Number.php:29 1798 #: src/Types/Filters/Post/Content.php:29 1799 #: src/Types/Filters/Post/Title.php:29 1800 #: src/Types/Filters/RefererPost.php:27 1801 #: src/Types/Filters/RefererUrl.php:27 1802 #: src/Types/Filters/User/Email.php:35 1803 #: src/Types/Filters/WebhookParameter.php:27 1753 #: src/Types/Filters/BaseFilter.php:445 1804 1754 msgid "Starts with" 1805 1755 msgstr "" 1806 1756 1807 #: src/Types/Filters/BaseAdvancedCustomField.php:25 1808 #: src/Types/Filters/BaseCustomField.php:25 1809 #: src/Types/Filters/Comment/AuthorEmail.php:30 1810 #: src/Types/Filters/Comment/AuthorName.php:30 1811 #: src/Types/Filters/Comment/Content.php:30 1812 #: src/Types/Filters/Comment/Type.php:30 1813 #: src/Types/Filters/ConfirmationLink/Name.php:30 1814 #: src/Types/Filters/Coupon/Name.php:31 1815 #: src/Types/Filters/Option.php:28 1816 #: src/Types/Filters/Order/Number.php:30 1817 #: src/Types/Filters/Post/Content.php:30 1818 #: src/Types/Filters/Post/Title.php:30 1819 #: src/Types/Filters/RefererPost.php:28 1820 #: src/Types/Filters/RefererUrl.php:28 1821 #: src/Types/Filters/User/Email.php:36 1822 #: src/Types/Filters/WebhookParameter.php:28 1757 #: src/Types/Filters/BaseFilter.php:446 1823 1758 msgid "Ends with" 1824 1759 msgstr "" 1825 1760 1826 #: src/Types/Filters/BaseAdvancedCustomField.php:26 1827 #: src/Types/Filters/BaseCustomField.php:26 1828 #: src/Types/Filters/Comment/AuthorEmail.php:31 1829 #: src/Types/Filters/Comment/AuthorName.php:31 1830 #: src/Types/Filters/Comment/Content.php:31 1831 #: src/Types/Filters/Comment/Type.php:31 1832 #: src/Types/Filters/ConfirmationLink/Name.php:31 1833 #: src/Types/Filters/Coupon/Name.php:32 1834 #: src/Types/Filters/Option.php:29 1835 #: src/Types/Filters/Order/CompletedDate.php:27 1836 #: src/Types/Filters/Order/Number.php:31 1837 #: src/Types/Filters/Order/PaidDate.php:27 1838 #: src/Types/Filters/Post/Content.php:31 1839 #: src/Types/Filters/Post/Title.php:31 1840 #: src/Types/Filters/RefererPost.php:29 1841 #: src/Types/Filters/RefererUrl.php:29 1842 #: src/Types/Filters/WebhookParameter.php:29 1761 #: src/Types/Filters/BaseFilter.php:447 1762 #: src/Types/Filters/BaseFilter.php:466 1843 1763 msgid "Is empty" 1844 1764 msgstr "" 1845 1765 1846 #: src/Types/Filters/BaseAdvancedCustomField.php:27 1847 #: src/Types/Filters/BaseCustomField.php:27 1848 #: src/Types/Filters/Comment/AuthorEmail.php:32 1849 #: src/Types/Filters/Comment/AuthorName.php:32 1850 #: src/Types/Filters/Comment/Content.php:32 1851 #: src/Types/Filters/Comment/Type.php:32 1852 #: src/Types/Filters/ConfirmationLink/Name.php:32 1853 #: src/Types/Filters/Coupon/Name.php:33 1854 #: src/Types/Filters/Option.php:30 1855 #: src/Types/Filters/Order/Number.php:32 1856 #: src/Types/Filters/Post/Content.php:32 1857 #: src/Types/Filters/Post/Title.php:32 1858 #: src/Types/Filters/RefererPost.php:30 1859 #: src/Types/Filters/RefererUrl.php:30 1860 #: src/Types/Filters/WebhookParameter.php:30 1766 #: src/Types/Filters/BaseFilter.php:448 1861 1767 msgid "Is not empty" 1862 1768 msgstr "" 1863 1769 1864 #: src/Types/Filters/BaseAdvancedCustomField.php:28 1865 #: src/Types/Filters/BaseCustomField.php:28 1866 #: src/Types/Filters/ConfirmationLink/Clicks.php:27 1867 #: src/Types/Filters/Customer/BaseOrderCount.php:22 1868 #: src/Types/Filters/Option.php:31 1869 #: src/Types/Filters/Order/Number.php:33 1870 #: src/Types/Filters/Order/Total.php:27 1871 #: src/Types/Filters/User/LoginCount.php:27 1770 #: src/Types/Filters/BaseFilter.php:449 1771 #: src/Types/Filters/BaseFilter.php:507 1872 1772 msgid "Greater than or equals" 1873 1773 msgstr "" 1874 1774 1875 #: src/Types/Filters/BaseAdvancedCustomField.php:29 1876 #: src/Types/Filters/BaseCustomField.php:29 1877 #: src/Types/Filters/ConfirmationLink/Clicks.php:28 1878 #: src/Types/Filters/Customer/BaseOrderCount.php:23 1879 #: src/Types/Filters/Option.php:32 1880 #: src/Types/Filters/Order/Number.php:34 1881 #: src/Types/Filters/Order/Total.php:28 1882 #: src/Types/Filters/User/LoginCount.php:28 1775 #: src/Types/Filters/BaseFilter.php:450 1776 #: src/Types/Filters/BaseFilter.php:508 1883 1777 msgid "Lower than or equals" 1884 1778 msgstr "" 1885 1779 1886 #: src/Types/Filters/BaseAdvancedCustomField.php:30 1887 #: src/Types/Filters/BaseCustomField.php:30 1888 #: src/Types/Filters/Comment/Status.php:25 1889 #: src/Types/Filters/Comment/Type.php:33 1890 #: src/Types/Filters/Initiator.php:23 1891 #: src/Types/Filters/Option.php:33 1892 #: src/Types/Filters/Order/BillingCity.php:29 1893 #: src/Types/Filters/Order/BillingCompany.php:29 1894 #: src/Types/Filters/Order/BillingCountry.php:26 1895 #: src/Types/Filters/Order/BillingState.php:26 1896 #: src/Types/Filters/Order/CreatedVia.php:25 1897 #: src/Types/Filters/Order/Number.php:35 1898 #: src/Types/Filters/Order/PaymentMethod.php:27 1899 #: src/Types/Filters/Order/ShippingCity.php:29 1900 #: src/Types/Filters/Order/ShippingCompany.php:29 1901 #: src/Types/Filters/Order/ShippingCountry.php:26 1902 #: src/Types/Filters/Order/ShippingMethod.php:26 1903 #: src/Types/Filters/Order/ShippingState.php:26 1904 #: src/Types/Filters/Order/ShippingZone.php:26 1905 #: src/Types/Filters/Order/Status.php:25 1906 #: src/Types/Filters/Post/Owner.php:25 1907 #: src/Types/Filters/Post/Status.php:25 1908 #: src/Types/Filters/Post/Type.php:25 1909 #: src/Types/Filters/RefererPost.php:31 1910 #: src/Types/Filters/RefererUrl.php:31 1911 #: src/Types/Filters/User/Role.php:31 1912 #: src/Types/Filters/WebhookParameter.php:31 1913 #: src/Types/Filters/Weekday.php:23 1780 #: src/Types/Filters/BaseFilter.php:451 1781 #: src/Types/Filters/BaseFilter.php:478 1914 1782 msgid "Is one of" 1915 1783 msgstr "" 1916 1784 1917 #: src/Types/Filters/BaseAdvancedCustomField.php:31 1918 #: src/Types/Filters/BaseCustomField.php:31 1919 #: src/Types/Filters/Comment/Status.php:26 1920 #: src/Types/Filters/Comment/Type.php:34 1921 #: src/Types/Filters/Initiator.php:24 1922 #: src/Types/Filters/Option.php:34 1923 #: src/Types/Filters/Order/BillingCity.php:30 1924 #: src/Types/Filters/Order/BillingCompany.php:30 1925 #: src/Types/Filters/Order/BillingCountry.php:27 1926 #: src/Types/Filters/Order/BillingState.php:27 1927 #: src/Types/Filters/Order/CreatedVia.php:26 1928 #: src/Types/Filters/Order/Number.php:36 1929 #: src/Types/Filters/Order/PaymentMethod.php:28 1930 #: src/Types/Filters/Order/ShippingCity.php:30 1931 #: src/Types/Filters/Order/ShippingCompany.php:30 1932 #: src/Types/Filters/Order/ShippingCountry.php:27 1933 #: src/Types/Filters/Order/ShippingMethod.php:27 1934 #: src/Types/Filters/Order/ShippingState.php:27 1935 #: src/Types/Filters/Order/ShippingZone.php:27 1936 #: src/Types/Filters/Order/Status.php:26 1937 #: src/Types/Filters/Post/Owner.php:26 1938 #: src/Types/Filters/Post/Status.php:26 1939 #: src/Types/Filters/Post/Type.php:26 1940 #: src/Types/Filters/RefererPost.php:32 1941 #: src/Types/Filters/RefererUrl.php:32 1942 #: src/Types/Filters/User/Role.php:32 1943 #: src/Types/Filters/WebhookParameter.php:32 1944 #: src/Types/Filters/Weekday.php:24 1785 #: src/Types/Filters/BaseFilter.php:452 1786 #: src/Types/Filters/BaseFilter.php:479 1945 1787 msgid "Is not one of" 1788 msgstr "" 1789 1790 #: src/Types/Filters/BaseFilter.php:464 1791 msgid "Is before" 1792 msgstr "" 1793 1794 #: src/Types/Filters/BaseFilter.php:465 1795 msgid "Is after" 1796 msgstr "" 1797 1798 #: src/Types/Filters/BaseFilter.php:491 1799 msgid "Contains any" 1800 msgstr "" 1801 1802 #: src/Types/Filters/BaseFilter.php:492 1803 msgid "Contains all" 1804 msgstr "" 1805 1806 #: src/Types/Filters/BaseFilter.php:493 1807 msgid "Contains none" 1808 msgstr "" 1809 1810 #: src/Types/Filters/BaseFilter.php:506 1811 msgid "Not equals" 1946 1812 msgstr "" 1947 1813 … … 1987 1853 #: src/Types/Filters/Comment/CreationDate.php:21 1988 1854 msgid "Filter comments based on creation date." 1989 msgstr ""1990 1991 #: src/Types/Filters/Comment/CreationDate.php:251992 #: src/Types/Filters/Order/CompletedDate.php:251993 #: src/Types/Filters/Order/CreationDate.php:251994 #: src/Types/Filters/Order/PaidDate.php:251995 #: src/Types/Filters/Post/CreationDate.php:251996 #: src/Types/Filters/Post/ModifiedDate.php:251997 #: src/Types/Filters/User/CreationDate.php:251998 #: src/Types/Filters/User/LastLogin.php:251999 msgid "Before"2000 msgstr ""2001 2002 #: src/Types/Filters/Comment/CreationDate.php:262003 #: src/Types/Filters/Order/CompletedDate.php:262004 #: src/Types/Filters/Order/CreationDate.php:262005 #: src/Types/Filters/Order/PaidDate.php:262006 #: src/Types/Filters/Post/CreationDate.php:262007 #: src/Types/Filters/Post/ModifiedDate.php:262008 #: src/Types/Filters/User/CreationDate.php:262009 #: src/Types/Filters/User/LastLogin.php:262010 msgid "After"2011 1855 msgstr "" 2012 1856 … … 2035 1879 2036 1880 #: src/Types/Filters/Comment/IsCustomerNote.php:28 2037 #: src/Types/Filters/Comment/IsOrderStatusNote.php:3 11881 #: src/Types/Filters/Comment/IsOrderStatusNote.php:30 2038 1882 #: src/Types/Filters/Comment/IsWooCommerceSystemNote.php:31 2039 1883 #: src/Types/Filters/Customer/IsLastOrder.php:28 … … 2043 1887 2044 1888 #: src/Types/Filters/Comment/IsCustomerNote.php:29 2045 #: src/Types/Filters/Comment/IsOrderStatusNote.php:3 21889 #: src/Types/Filters/Comment/IsOrderStatusNote.php:31 2046 1890 #: src/Types/Filters/Comment/IsWooCommerceSystemNote.php:32 2047 1891 #: src/Types/Filters/Customer/IsLastOrder.php:29 … … 2091 1935 #: src/Types/Filters/ConfirmationLink/Clicks.php:21 2092 1936 msgid "Filter based on nr of previous clicks on the confirmation link." 2093 msgstr ""2094 2095 #: src/Types/Filters/ConfirmationLink/Clicks.php:262096 #: src/Types/Filters/Customer/BaseOrderCount.php:212097 #: src/Types/Filters/Order/Total.php:262098 #: src/Types/Filters/User/LoginCount.php:262099 msgid "Not equals"2100 1937 msgstr "" 2101 1938 … … 2184 2021 msgstr "" 2185 2022 2186 #: src/Types/Filters/Date.php:232187 #: src/Types/Filters/TimeOfDay.php:232188 msgid "Is before"2189 msgstr ""2190 2191 #: src/Types/Filters/Date.php:242192 #: src/Types/Filters/TimeOfDay.php:242193 msgid "Is after"2194 msgstr ""2195 2196 2023 #: src/Types/Filters/DateBetween.php:18 2197 2024 msgid "Between time / dates" … … 2239 2066 msgstr "" 2240 2067 2241 #: src/Types/Filters/Option.php: 422068 #: src/Types/Filters/Option.php:28 2242 2069 #: src/Types/Parameters/Option.php:26 2243 2070 msgid "Option name" … … 2313 2140 msgstr "" 2314 2141 2142 #: src/Types/Filters/Order/CustomerNote.php:21 2143 msgid "Customer note" 2144 msgstr "" 2145 2146 #: src/Types/Filters/Order/CustomerNote.php:22 2147 msgid "Filter WooCommerce orders based customer note." 2148 msgstr "" 2149 2315 2150 #: src/Types/Filters/Order/CustomField.php:21 2316 2151 msgid "Filter object based on value of WooCommerce order custom field." … … 2378 2213 msgstr "" 2379 2214 2380 #: src/Types/Filters/Order/ProductCategories.php:252381 #: src/Types/Filters/Order/Products.php:252382 #: src/Types/Filters/Order/ProductTags.php:252383 #: src/Types/Filters/Post/Categories.php:252384 #: src/Types/Filters/Post/Tags.php:252385 msgid "Contains any"2386 msgstr ""2387 2388 #: src/Types/Filters/Order/ProductCategories.php:262389 #: src/Types/Filters/Order/Products.php:262390 #: src/Types/Filters/Order/ProductTags.php:262391 #: src/Types/Filters/Post/Categories.php:262392 #: src/Types/Filters/Post/Tags.php:262393 msgid "Contains all"2394 msgstr ""2395 2396 #: src/Types/Filters/Order/ProductCategories.php:272397 #: src/Types/Filters/Order/Products.php:272398 #: src/Types/Filters/Order/ProductTags.php:272399 #: src/Types/Filters/Post/Categories.php:272400 #: src/Types/Filters/Post/Tags.php:272401 msgid "Contains none"2402 msgstr ""2403 2404 2215 #: src/Types/Filters/Order/Products.php:20 2405 2216 msgid "Order products" … … 2426 2237 msgstr "" 2427 2238 2428 #: src/Types/Filters/Order/ProductTypes.php:252429 msgid "Contains at least one of"2430 msgstr ""2431 2432 #: src/Types/Filters/Order/ProductTypes.php:262433 msgid "Does not contain any of"2434 msgstr ""2435 2436 #: src/Types/Filters/Order/ProductTypes.php:272437 msgid "Contains only"2438 msgstr ""2439 2440 2239 #: src/Types/Filters/Order/ShippingCity.php:20 2441 2240 msgid "Order shipping city" … … 2512 2311 #: src/Types/Filters/Order/VirtualProduct.php:30 2513 2312 msgid "Only virtual products in order" 2313 msgstr "" 2314 2315 #: src/Types/Filters/Order/WCPDFInvoiceDate.php:22 2316 #: src/Types/Parameters/Order/WCPDFInvoiceDate.php:23 2317 msgid "WCPDF Invoice date" 2318 msgstr "" 2319 2320 #: src/Types/Filters/Order/WCPDFInvoiceDate.php:23 2321 msgid "Filter orders based on WCPDF invoice date." 2322 msgstr "" 2323 2324 #: src/Types/Filters/Order/WCPDFInvoiceNotes.php:22 2325 #: src/Types/Parameters/Order/WCPDFInvoiceNotes.php:22 2326 msgid "WCPDF Invoice notes" 2327 msgstr "" 2328 2329 #: src/Types/Filters/Order/WCPDFInvoiceNotes.php:23 2330 msgid "Filter orders based on WCPDF invoice notes." 2331 msgstr "" 2332 2333 #: src/Types/Filters/Order/WCPDFInvoiceNumber.php:22 2334 #: src/Types/Parameters/Order/WCPDFInvoiceNumber.php:22 2335 msgid "WCPDF Invoice number" 2336 msgstr "" 2337 2338 #: src/Types/Filters/Order/WCPDFInvoiceNumber.php:23 2339 msgid "Filter orders based on WCPDF invoice number." 2514 2340 msgstr "" 2515 2341 … … 2656 2482 msgstr "" 2657 2483 2658 #: src/Types/Filters/WebhookParameter.php: 402484 #: src/Types/Filters/WebhookParameter.php:28 2659 2485 msgid "Webhook parameter name" 2660 2486 msgstr "" … … 2668 2494 msgstr "" 2669 2495 2496 #: src/Types/Filters/Weekday.php:36 2497 msgid "Monday" 2498 msgstr "" 2499 2670 2500 #: src/Types/Filters/Weekday.php:40 2671 msgid " Monday"2501 msgid "Tuesday" 2672 2502 msgstr "" 2673 2503 2674 2504 #: src/Types/Filters/Weekday.php:44 2675 msgid " Tuesday"2505 msgid "Wednesday" 2676 2506 msgstr "" 2677 2507 2678 2508 #: src/Types/Filters/Weekday.php:48 2679 msgid " Wednesday"2509 msgid "Thursday" 2680 2510 msgstr "" 2681 2511 2682 2512 #: src/Types/Filters/Weekday.php:52 2683 msgid " Thursday"2513 msgid "Friday" 2684 2514 msgstr "" 2685 2515 2686 2516 #: src/Types/Filters/Weekday.php:56 2687 msgid " Friday"2517 msgid "Saturday" 2688 2518 msgstr "" 2689 2519 2690 2520 #: src/Types/Filters/Weekday.php:60 2691 msgid "Saturday"2692 msgstr ""2693 2694 #: src/Types/Filters/Weekday.php:642695 2521 msgid "Sunday" 2696 2522 msgstr "" … … 2916 2742 msgstr "" 2917 2743 2744 #: src/Types/Parameters/Order/CustomerNote.php:21 2745 msgid "Customer note from the WooCommerce order" 2746 msgstr "" 2747 2918 2748 #: src/Types/Parameters/Order/CustomField.php:21 2919 2749 msgid "WooCommerce order custom field" … … 3058 2888 msgstr "" 3059 2889 2890 #: src/Types/Parameters/Post/Term.php:27 2891 msgid "WordPress taxonomy" 2892 msgstr "" 2893 2894 #: src/Types/Parameters/Post/Term.php:109 2895 msgid "Multiple values" 2896 msgstr "" 2897 2898 #: src/Types/Parameters/Post/Term.php:110 2899 msgid "Determines how to treat mulitple taxonomy terms" 2900 msgstr "" 2901 2902 #: src/Types/Parameters/Post/Term.php:116 2903 msgid "Only first term" 2904 msgstr "" 2905 2906 #: src/Types/Parameters/Post/Term.php:117 2907 msgid "Comma separated list" 2908 msgstr "" 2909 2910 #: src/Types/Parameters/Post/Term.php:118 2911 msgid "JSON formatted list" 2912 msgstr "" 2913 2914 #: src/Types/Parameters/Post/Term.php:121 2915 msgid "Comma separated list, space after comma" 2916 msgstr "" 2917 2918 #: src/Types/Parameters/Post/Term.php:123 2919 msgid "Tab separated list" 2920 msgstr "" 2921 3060 2922 #: src/Types/Parameters/Post/Title.php:26 3061 2923 msgid "WordPress post Title" … … 3104 2966 #: src/Types/Parameters/Shipping/LastName.php:21 3105 2967 msgid "Shipping last name from the WooCommerce order" 2968 msgstr "" 2969 2970 #: src/Types/Parameters/Shipping/Phone.php:22 2971 msgid "Shipping Phone from the WooCommerce order" 3106 2972 msgstr "" 3107 2973 … … 3564 3430 #: src/Types/Triggers/User/Created.php:20 3565 3431 #: src/Types/Triggers/User/Login.php:20 3566 #: src/Types/Triggers/User/ProfileUpdated.php:2 03432 #: src/Types/Triggers/User/ProfileUpdated.php:27 3567 3433 #: src/Types/Triggers/User/RoleChanged.php:20 3568 3434 msgid "Users" … … 3585 3451 msgstr "" 3586 3452 3587 #: src/Types/Triggers/User/ProfileUpdated.php: 193453 #: src/Types/Triggers/User/ProfileUpdated.php:26 3588 3454 msgid "User profile updated" 3589 3455 msgstr "" 3590 3456 3591 #: src/Types/Triggers/User/ProfileUpdated.php:2 13457 #: src/Types/Triggers/User/ProfileUpdated.php:28 3592 3458 msgid "This trigger fires when a user profile is updated" 3593 3459 msgstr "" 3594 3460 3595 #: src/Types/Triggers/User/ProfileUpdated.php: 263461 #: src/Types/Triggers/User/ProfileUpdated.php:33 3596 3462 msgid "The user who's profile was updated" 3597 3463 msgstr "" -
wunderautomation/trunk/readme.txt
r2691051 r2724198 5 5 Tested up to: 5.9 6 6 Requires PHP: 7.0 7 Stable tag: 1. 8.17 Stable tag: 1.9.0 8 8 License: GPLv2 or later 9 9 … … 36 36 WunderAutomation supports WooCommerce out of the box so it can trigger on WooCommerce events such as receiving a new order and perform actions like adding an order note or changing the order status. 37 37 38 From version 1.9.0 we also support the popular WooCommerce PDF Invoices & Packing Slips plugin so that you can use invoice numbers, date and notes into a workflow. 39 38 40 === Advanced Custom Fields === 39 41 … … 61 63 * MailChimp 62 64 * MailPoet 65 * BuddyPress 63 66 * Slack 64 67 * Telegram … … 104 107 * Change post / comment status 105 108 * Add / remove taxonomy term (tag or comment) 109 * Write a line to a log file 106 110 * Send plain text, HTML or WooCommerece email 107 111 * Run a http request to a remote REST API … … 141 145 142 146 == Changelog == 147 148 = 1.9.0 = 149 * Feature: New action to add rows to a text (log) file. 150 * Feature: New action to add debug info to PHP error log. 151 * Feature: Support for WooCommerce PDF Invoices & Packing Slips (filters and parameters). 152 * Feature: New parameter type Term, allows outputting any taxonomy term(s) as a parameter. 153 * Feature: Adds customer_note and shipping_phone as WooCommerce order parameters. 154 * Fixes: Issue with setting owner via login name for Create Post action. 155 * PRO: Adds support for BuddyPress and BuddyBoss. 156 * PRO: Fix issue with MailPoet triggers firing multiple times. 143 157 144 158 = 1.8.1 = -
wunderautomation/trunk/src/Admin.php
r2685260 r2724198 341 341 include(WUNDERAUTO_BASE . '/admin/metaboxes/components/actions/ordernote.php'); 342 342 include(WUNDERAUTO_BASE . '/admin/metaboxes/components/actions/addobjects.php'); 343 include(WUNDERAUTO_BASE . '/admin/metaboxes/components/actions/log.php'); 344 343 345 //include(WUNDERAUTO_BASE . '/admin/fields/actions/canceldelayedworkflows.php'); 344 346 //include(WUNDERAUTO_BASE . '/admin/fields/actions/runworkflow.php'); -
wunderautomation/trunk/src/EvalMath.php
r2691051 r2724198 460 460 $allow_neg = true; 461 461 //=============== 462 } elseif ($ex and !$expecting_op) { // do we now have a function/variable/number?462 } elseif ($ex and !$expecting_op) { // @phpstan-ignore-line do we now have a function/variable/number? 463 463 $expecting_op = true; 464 464 $val = $match[1]; -
wunderautomation/trunk/src/Loader.php
r2685260 r2724198 90 90 91 91 // Webhook 92 if (isset($options['enable_webhook_trigger']) && $options['enable_webhook_trigger'] === 1) {92 if (isset($options['enable_webhook_trigger']) && $options['enable_webhook_trigger']) { 93 93 wa_add_trigger(['\\WunderAuto\\Types\Triggers\\Webhook\\Webhook']); 94 94 wa_add_filter(['\\WunderAuto\\Types\\Filters\\WebhookParameter']); … … 114 114 wa_add_filter($this->getClasses('acf-filters')); 115 115 wa_add_parameter($this->getClasses('acf-parameters')); 116 } 117 118 // WooCommerce PDF Invoices and Packing Slips 119 if (class_exists('WPO_WCPDF')) { 120 wa_add_filter($this->getClasses('wcpdf-filters')); 121 wa_add_parameter($this->getClasses('wcpdf-parameters')); 116 122 } 117 123 … … 214 220 '\\WunderAuto\\Types\\Actions\\CancelDelayedWorkflows', 215 221 '\\WunderAuto\\Types\\Actions\\AddObjects', 222 '\\WunderAuto\\Types\\Actions\\ErrorLog', 223 '\\WunderAuto\\Types\\Actions\\Log', 216 224 //'\\WunderAuto\\Types\\Actions\\RunWorkflow', 217 225 ]; … … 230 238 '\\WunderAuto\\Types\\Parameters\\Post\\AdminUrl', 231 239 '\\WunderAuto\\Types\\Parameters\\Post\\CustomField', 240 '\\WunderAuto\\Types\\Parameters\\Post\\Term', 232 241 233 242 '\\WunderAuto\\Types\\Parameters\\User\\Id', … … 296 305 '\\WunderAuto\\Types\\Filters\\Order\\CustomField', 297 306 '\\WunderAuto\\Types\\Filters\\Order\\AdvancedCustomField', 307 '\\WunderAuto\\Types\\Filters\\Order\\CustomerNote', 298 308 299 309 '\\WunderAuto\\Types\\Filters\\Order\\BillingEmail', … … 332 342 '\\WunderAuto\\Types\\Parameters\\Order\\Status', 333 343 '\\WunderAuto\\Types\\Parameters\\Order\\Email', 344 '\\WunderAuto\\Types\\Parameters\\Order\\CustomerNote', 334 345 '\\WunderAuto\\Types\\Parameters\\Order\\SubTotal', 335 346 '\\WunderAuto\\Types\\Parameters\\Order\\CartTotal', … … 373 384 '\\WunderAuto\\Types\\Parameters\\Billing\\Country', 374 385 '\\WunderAuto\\Types\\Parameters\\Billing\\State', 386 '\\WunderAuto\\Types\\Parameters\\Shipping\\Phone', 375 387 '\\WunderAuto\\Types\\Parameters\\Shipping\\FirstName', 376 388 '\\WunderAuto\\Types\\Parameters\\Shipping\\LastName', … … 419 431 '\\WunderAuto\\Types\\Parameters\\Comment\\AdvancedCustomField', 420 432 ]; 433 case 'wcpdf-filters': 434 return [ 435 '\\WunderAuto\\Types\\Filters\\Order\\WCPDFInvoiceNumber', 436 '\\WunderAuto\\Types\\Filters\\Order\\WCPDFInvoiceDate', 437 '\\WunderAuto\\Types\\Filters\\Order\\WCPDFInvoiceNotes', 438 ]; 439 case 'wcpdf-parameters': 440 return [ 441 '\\WunderAuto\\Types\\Parameters\\Order\\WCPDFInvoiceNumber', 442 '\\WunderAuto\\Types\\Parameters\\Order\\WCPDFInvoiceDate', 443 '\\WunderAuto\\Types\\Parameters\\Order\\WCPDFInvoiceNotes', 444 ]; 421 445 case 'pro-parameters': 422 446 return [ -
wunderautomation/trunk/src/Tokenizer/Stream.php
r2685260 r2724198 72 72 { 73 73 // onlyFirst, advance 74 return $this->scan($args, true, true); // @phpstan-ignore-line74 return $this->scan($args, true, true); 75 75 } 76 76 … … 144 144 { 145 145 // onlyFirst, advance, strings 146 return $this->scan($args, true, true, true); // @phpstan-ignore-line146 return $this->scan($args, true, true, true); 147 147 } 148 148 … … 157 157 { 158 158 // advance 159 return $this->scan($args, false, true); // @phpstan-ignore-line159 return $this->scan($args, false, true); 160 160 } 161 161 … … 170 170 { 171 171 // advance, until 172 return $this->scan($args, false, true, false, true); // @phpstan-ignore-line172 return $this->scan($args, false, true, false, true); 173 173 } 174 174 … … 199 199 { 200 200 // onlyFirst, advance 201 if ($token = $this->scan($args, true, true)) { // @phpstan-ignore-line201 if ($token = $this->scan($args, true, true)) { 202 202 return $token; 203 203 } … … 236 236 { 237 237 // advance, strings 238 return $this->scan($args, false, true, true); // @phpstan-ignore-line238 return $this->scan($args, false, true, true); 239 239 } 240 240 … … 249 249 { 250 250 // advance, strings, until 251 return $this->scan($args, false, true, true, true); // @phpstan-ignore-line251 return $this->scan($args, false, true, true, true); 252 252 } 253 253 … … 279 279 { 280 280 // onlyFirst 281 return (bool)$this->scan($args, true, false); // @phpstan-ignore-line281 return (bool)$this->scan($args, true, false); 282 282 } 283 283 … … 292 292 { 293 293 // onlyFirst, prev 294 return (bool)$this->scan($args, true, false, false, false, true); // @phpstan-ignore-line294 return (bool)$this->scan($args, true, false, false, false, true); 295 295 } 296 296 -
wunderautomation/trunk/src/Types/Actions/CreatePost.php
r2691051 r2724198 66 66 67 67 if (!is_numeric($owner)) { 68 $user = get_user_by('login', $owner); 68 69 $owner = 0; 69 $user = get_user_by('login', $owner);70 70 if ($user) { 71 71 $owner = $user->ID; -
wunderautomation/trunk/src/Types/Filters/BaseAdvancedCustomField.php
r2685260 r2724198 17 17 parent::__construct(); 18 18 19 $this->operators = [ 20 'eq' => __('Equals', 'wunderauto'), 21 'neq' => __('Does not equal', 'wunderauto'), 22 'contains' => __('Contains', 'wunderauto'), 23 'ncontains' => __('Does not contain', 'wunderauto'), 24 'startswith' => __('Starts with', 'wunderauto'), 25 'endswith' => __('Ends with', 'wunderauto'), 26 'empty' => __('Is empty', 'wunderauto'), 27 'nempty' => __('Is not empty', 'wunderauto'), 28 'gte' => __('Greater than or equals', 'wunderauto'), 29 'lte' => __('Lower than or equals', 'wunderauto'), 30 'isoneof' => __('Is one of', 'wunderauto'), 31 'isnotoneof' => __('Is not one of', 'wunderauto'), 32 ]; 33 19 $this->operators = $this->stringOperators(); 34 20 $this->usesAdvancedCustomField = true; 35 21 $this->inputType = 'scalar'; -
wunderautomation/trunk/src/Types/Filters/BaseCustomField.php
r2666447 r2724198 17 17 parent::__construct(); 18 18 19 $this->operators = [ 20 'eq' => __('Equals', 'wunderauto'), 21 'neq' => __('Does not equal', 'wunderauto'), 22 'contains' => __('Contains', 'wunderauto'), 23 'ncontains' => __('Does not contain', 'wunderauto'), 24 'startswith' => __('Starts with', 'wunderauto'), 25 'endswith' => __('Ends with', 'wunderauto'), 26 'empty' => __('Is empty', 'wunderauto'), 27 'nempty' => __('Is not empty', 'wunderauto'), 28 'gte' => __('Greater than or equals', 'wunderauto'), 29 'lte' => __('Lower than or equals', 'wunderauto'), 30 'isoneof' => __('Is one of', 'wunderauto'), 31 'isnotoneof' => __('Is not one of', 'wunderauto'), 32 ]; 33 19 $this->operators = $this->stringOperators(); 34 20 $this->inputType = 'scalar'; 35 21 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/BaseFilter.php
r2666447 r2724198 4 4 5 5 use Exception; 6 use WC_DateTime; 6 7 use WunderAuto\IPTools\Range; 7 8 use WunderAuto\JSONPath\JSONPath; … … 143 144 * Used by Filter child classes to simplify filter evaluations 144 145 * 145 * @param array<int, string|int>|string|float|int $actualValue146 * @param WC_DateTime|array<int, string|int>|string|float|int $actualValue 146 147 * 147 148 * @return bool … … 294 295 break; 295 296 case 'allinlist': 296 $ret = count(array_intersect($actualValue, $codes)) == count($ actualValue);297 $ret = count(array_intersect($actualValue, $codes)) == count($codes); 297 298 break; 298 299 } … … 429 430 return $actualValue; 430 431 } 432 433 /** 434 * Standard operators for strings 435 * 436 * @return array<string, string> 437 */ 438 protected function stringOperators() 439 { 440 return [ 441 'eq' => __('Equals', 'wunderauto'), 442 'neq' => __('Does not equal', 'wunderauto'), 443 'contains' => __('Contains', 'wunderauto'), 444 'ncontains' => __('Does not contain', 'wunderauto'), 445 'startswith' => __('Starts with', 'wunderauto'), 446 'endswith' => __('Ends with', 'wunderauto'), 447 'empty' => __('Is empty', 'wunderauto'), 448 'nempty' => __('Is not empty', 'wunderauto'), 449 'gte' => __('Greater than or equals', 'wunderauto'), 450 'lte' => __('Lower than or equals', 'wunderauto'), 451 'isoneof' => __('Is one of', 'wunderauto'), 452 'isnotoneof' => __('Is not one of', 'wunderauto'), 453 ]; 454 } 455 456 /** 457 * Standard operators for dates 458 * 459 * @return array<string, string> 460 */ 461 protected function dateOperators() 462 { 463 return [ 464 'datebefore' => __('Is before', 'wunderauto'), 465 'dateafter' => __('Is after', 'wunderauto'), 466 'dateempty' => __('Is empty', 'wunderauto'), 467 ]; 468 } 469 470 /** 471 * Standard operators for single value in set 472 * 473 * @return array<string, string> 474 */ 475 protected function setOperators() 476 { 477 return [ 478 'isoneof' => __('Is one of', 'wunderauto'), 479 'isnotoneof' => __('Is not one of', 'wunderauto'), 480 ]; 481 } 482 483 /** 484 * Standard operators for multiple values in set 485 * 486 * @return array<string, string> 487 */ 488 protected function multiSetOperators() 489 { 490 return [ 491 'anyinlist' => __('Contains any', 'wunderauto'), 492 'noneinlist' => __('Contains all', 'wunderauto'), 493 'allinlist' => __('Contains none', 'wunderauto'), 494 ]; 495 } 496 497 /** 498 * Standard operators for numbers 499 * 500 * @return array<string, string> 501 */ 502 protected function numberOperators() 503 { 504 return [ 505 'eq' => __('Equals', 'wunderauto'), 506 'neq' => __('Not equals', 'wunderauto'), 507 'gte' => __('Greater than or equals', 'wunderauto'), 508 'lte' => __('Lower than or equals', 'wunderauto'), 509 ]; 510 } 431 511 } -
wunderautomation/trunk/src/Types/Filters/Comment/AuthorEmail.php
r2666447 r2724198 22 22 $this->objects = ['comment']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 ]; 34 24 $this->operators = $this->stringOperators(); 35 25 $this->inputType = 'scalar'; 36 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Comment/AuthorName.php
r2666447 r2724198 22 22 $this->objects = ['comment']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 ]; 34 24 $this->operators = $this->stringOperators(); 35 25 $this->inputType = 'scalar'; 36 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Comment/Content.php
r2666447 r2724198 22 22 $this->objects = ['comment']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 ]; 34 24 $this->operators = $this->stringOperators(); 35 25 $this->inputType = 'scalar'; 36 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Comment/CreationDate.php
r2666447 r2724198 22 22 $this->objects = ['comment']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->dateOperators(); 29 25 $this->inputType = 'scalar'; 30 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Comment/IsOrderStatusNote.php
r2666447 r2724198 25 25 $this->objects = ['comment']; 26 26 27 $this->inputType = 'select'; 28 $this->operators = []; 29 27 $this->inputType = 'select'; 28 $this->operators = []; 30 29 $this->compareValues = [ 31 30 ['value' => 'yes', 'label' => __('Yes', 'wunderauto')], -
wunderautomation/trunk/src/Types/Filters/Comment/Status.php
r2685260 r2724198 22 22 $this->objects = ['comment']; 23 23 24 $this->operators = [ 25 'isoneof' => __('Is one of', 'wunderauto'), 26 'isnotoneof' => __('Is not one of', 'wunderauto'), 27 ]; 24 $this->operators = $this->setOperators(); 28 25 29 26 $this->inputType = 'multiselect'; -
wunderautomation/trunk/src/Types/Filters/Comment/Type.php
r2666447 r2724198 22 22 $this->objects = ['comment']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 'isoneof' => __('Is one of', 'wunderauto'), 34 'isnotoneof' => __('Is not one of', 'wunderauto'), 35 ]; 36 24 $this->operators = $this->stringOperators(); 37 25 $this->inputType = 'scalar'; 38 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/ConfirmationLink/Clicks.php
r2666447 r2724198 22 22 $this->objects = ['link']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Not equals', 'wunderauto'), 27 'gte' => __('Greater than or equals', 'wunderauto'), 28 'lte' => __('Lower than or equals', 'wunderauto'), 29 ]; 30 24 $this->operators = $this->numberOperators(); 31 25 $this->inputType = 'scalar'; 32 26 $this->valueType = 'number'; -
wunderautomation/trunk/src/Types/Filters/ConfirmationLink/Name.php
r2666447 r2724198 22 22 $this->objects = ['link']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 ]; 34 24 $this->operators = $this->stringOperators(); 35 25 $this->inputType = 'scalar'; 36 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Coupon/Name.php
r2685260 r2724198 23 23 $this->objects = ['order']; 24 24 25 $this->operators = [ 26 'eq' => __('Equals', 'wunderauto'), 27 'neq' => __('Does not equal', 'wunderauto'), 28 'contains' => __('Contains', 'wunderauto'), 29 'ncontains' => __('Does not contain', 'wunderauto'), 30 'startswith' => __('Starts with', 'wunderauto'), 31 'endswith' => __('Ends with', 'wunderauto'), 32 'empty' => __('Is empty', 'wunderauto'), 33 'nempty' => __('Is not empty', 'wunderauto'), 34 ]; 35 25 $this->operators = $this->stringOperators(); 36 26 $this->inputType = 'scalar'; 37 27 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Customer/BaseOrderCount.php
r2685260 r2724198 17 17 parent::__construct(); 18 18 19 $this->operators = [ 20 'eq' => __('Equals', 'wunderauto'), 21 'neq' => __('Not equals', 'wunderauto'), 22 'gte' => __('Greater than or equals', 'wunderauto'), 23 'lte' => __('Lower than or equals', 'wunderauto'), 24 ]; 25 19 $this->operators = $this->numberOperators(); 26 20 $this->inputType = 'scalar'; 27 21 $this->valueType = 'number'; -
wunderautomation/trunk/src/Types/Filters/Date.php
r2666447 r2724198 20 20 $this->objects = ['*']; 21 21 22 $this->operators = [ 23 'datebefore' => __('Is before', 'wunderauto'), 24 'dateafter' => __('Is after', 'wunderauto'), 25 ]; 26 22 $this->operators = $this->dateOperators(); 27 23 $this->inputType = 'scalar'; 28 24 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Initiator.php
r2666447 r2724198 20 20 $this->objects = ['*']; 21 21 22 $this->operators = [ 23 'isoneof' => __('Is one of', 'wunderauto'), 24 'isnotoneof' => __('Is not one of', 'wunderauto'), 25 ]; 26 22 $this->operators = $this->setOperators(); 27 23 $this->inputType = 'multiselect'; 28 24 -
wunderautomation/trunk/src/Types/Filters/Option.php
r2666447 r2724198 20 20 $this->objects = ['*']; 21 21 22 $this->operators = [ 23 'eq' => __('Equals', 'wunderauto'), 24 'neq' => __('Does not equal', 'wunderauto'), 25 'contains' => __('Contains', 'wunderauto'), 26 'ncontains' => __('Does not contain', 'wunderauto'), 27 'startswith' => __('Starts with', 'wunderauto'), 28 'endswith' => __('Ends with', 'wunderauto'), 29 'empty' => __('Is empty', 'wunderauto'), 30 'nempty' => __('Is not empty', 'wunderauto'), 31 'gte' => __('Greater than or equals', 'wunderauto'), 32 'lte' => __('Lower than or equals', 'wunderauto'), 33 'isoneof' => __('Is one of', 'wunderauto'), 34 'isnotoneof' => __('Is not one of', 'wunderauto'), 35 ]; 36 22 $this->operators = $this->stringOperators(); 37 23 $this->inputType = 'scalar'; 38 24 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/BillingCity.php
r2666447 r2724198 26 26 $this->objects = ['order']; 27 27 28 $this->operators = [ 29 'isoneof' => __('Is one of', 'wunderauto'), 30 'isnotoneof' => __('Is not one of', 'wunderauto'), 31 ]; 32 28 $this->operators = $this->setOperators(); 33 29 $this->inputType = 'scalar'; 34 30 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/BillingCompany.php
r2685260 r2724198 26 26 $this->objects = ['order']; 27 27 28 $this->operators = [ 29 'isoneof' => __('Is one of', 'wunderauto'), 30 'isnotoneof' => __('Is not one of', 'wunderauto'), 31 ]; 32 28 $this->operators = $this->stringOperators(); 33 29 $this->inputType = 'scalar'; 34 30 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/BillingCountry.php
r2685260 r2724198 23 23 $this->objects = ['order']; 24 24 25 $this->operators = [ 26 'isoneof' => __('Is one of', 'wunderauto'), 27 'isnotoneof' => __('Is not one of', 'wunderauto'), 28 ]; 29 25 $this->setOperators(); 30 26 $this->inputType = 'multiselect'; 31 27 } -
wunderautomation/trunk/src/Types/Filters/Order/BillingState.php
r2685260 r2724198 23 23 $this->objects = ['order']; 24 24 25 $this->operators = [ 26 'isoneof' => __('Is one of', 'wunderauto'), 27 'isnotoneof' => __('Is not one of', 'wunderauto'), 28 ]; 29 25 $this->operators = $this->setOperators(); 30 26 $this->inputType = 'multiselect'; 31 27 } -
wunderautomation/trunk/src/Types/Filters/Order/CompletedDate.php
r2666447 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 'empty' => __('Is empty', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->dateOperators(); 30 25 $this->inputType = 'scalar'; 31 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/CreatedVia.php
r2685260 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'isoneof' => __('Is one of', 'wunderauto'), 26 'isnotoneof' => __('Is not one of', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->setOperators(); 29 25 $this->inputType = 'multiselect'; 30 26 } -
wunderautomation/trunk/src/Types/Filters/Order/CreationDate.php
r2666447 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->dateOperators(); 29 25 $this->inputType = 'scalar'; 30 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/Number.php
r2685260 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 'gte' => __('Greater than or equals', 'wunderauto'), 34 'lte' => __('Lower than or equals', 'wunderauto'), 35 'isoneof' => __('Is one of', 'wunderauto'), 36 'isnotoneof' => __('Is not one of', 'wunderauto'), 37 ]; 38 24 $this->operators = $this->stringOperators(); 39 25 $this->inputType = 'scalar'; 40 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/PaidDate.php
r2666447 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 'dateempty' => __('Is empty', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->dateOperators(); 30 25 $this->inputType = 'scalar'; 31 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/PaymentMethod.php
r2685260 r2724198 24 24 $this->objects = ['order']; 25 25 26 $this->operators = [ 27 'isoneof' => __('Is one of', 'wunderauto'), 28 'isnotoneof' => __('Is not one of', 'wunderauto'), 29 ]; 30 26 $this->operators = $this->setOperators(); 31 27 $this->inputType = 'multiselect'; 32 28 } -
wunderautomation/trunk/src/Types/Filters/Order/ProductCategories.php
r2666447 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'anyinlist' => __('Contains any', 'wunderauto'), 26 'noneinlist' => __('Contains all', 'wunderauto'), 27 'allinlist' => __('Contains none', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->multiSetOperators(); 30 25 $this->inputType = 'ajaxmultiselect'; 31 26 $this->ajaxAction = 'wa_search_wooproduct_cats'; -
wunderautomation/trunk/src/Types/Filters/Order/ProductTags.php
r2666447 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'anyinlist' => __('Contains any', 'wunderauto'), 26 'noneinlist' => __('Contains all', 'wunderauto'), 27 'allinlist' => __('Contains none', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->multiSetOperators(); 30 25 $this->inputType = 'ajaxmultiselect'; 31 26 $this->ajaxAction = 'wa_search_wooproduct_tags'; -
wunderautomation/trunk/src/Types/Filters/Order/ProductTypes.php
r2685260 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'anyinlist' => __('Contains at least one of', 'wunderauto'), 26 'noneinlist' => __('Does not contain any of', 'wunderauto'), 27 'allinlist' => __('Contains only', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->multiSetOperators(); 30 25 $this->inputType = 'multiselect'; 31 26 } -
wunderautomation/trunk/src/Types/Filters/Order/Products.php
r2666447 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'anyinlist' => __('Contains any', 'wunderauto'), 26 'noneinlist' => __('Contains all', 'wunderauto'), 27 'allinlist' => __('Contains none', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->multiSetOperators(); 30 25 $this->inputType = 'ajaxmultiselect'; 31 26 $this->ajaxAction = 'wa_search_wooproducts'; -
wunderautomation/trunk/src/Types/Filters/Order/ShippingCity.php
r2666447 r2724198 26 26 $this->objects = ['order']; 27 27 28 $this->operators = [ 29 'isoneof' => __('Is one of', 'wunderauto'), 30 'isnotoneof' => __('Is not one of', 'wunderauto'), 31 ]; 32 28 $this->operators = $this->setOperators(); 33 29 $this->inputType = 'scalar'; 34 30 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/ShippingCompany.php
r2666447 r2724198 26 26 $this->objects = ['order']; 27 27 28 $this->operators = [ 29 'isoneof' => __('Is one of', 'wunderauto'), 30 'isnotoneof' => __('Is not one of', 'wunderauto'), 31 ]; 32 28 $this->operators = $this->stringOperators(); 33 29 $this->inputType = 'scalar'; 34 30 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Order/ShippingCountry.php
r2685260 r2724198 23 23 $this->objects = ['order']; 24 24 25 $this->operators = [ 26 'isoneof' => __('Is one of', 'wunderauto'), 27 'isnotoneof' => __('Is not one of', 'wunderauto'), 28 ]; 29 25 $this->operators = $this->setOperators(); 30 26 $this->inputType = 'multiselect'; 31 27 } -
wunderautomation/trunk/src/Types/Filters/Order/ShippingMethod.php
r2685260 r2724198 23 23 $this->objects = ['order']; 24 24 25 $this->operators = [ 26 'isoneof' => __('Is one of', 'wunderauto'), 27 'isnotoneof' => __('Is not one of', 'wunderauto'), 28 ]; 29 25 $this->operators = $this->setOperators(); 30 26 $this->inputType = 'multiselect'; 31 27 } -
wunderautomation/trunk/src/Types/Filters/Order/ShippingState.php
r2685260 r2724198 23 23 $this->objects = ['order']; 24 24 25 $this->operators = [ 26 'isoneof' => __('Is one of', 'wunderauto'), 27 'isnotoneof' => __('Is not one of', 'wunderauto'), 28 ]; 29 25 $this->operators = $this->setOperators(); 30 26 $this->inputType = 'multiselect'; 31 27 } -
wunderautomation/trunk/src/Types/Filters/Order/ShippingZone.php
r2685260 r2724198 23 23 $this->objects = ['order']; 24 24 25 $this->operators = [ 26 'isoneof' => __('Is one of', 'wunderauto'), 27 'isnotoneof' => __('Is not one of', 'wunderauto'), 28 ]; 29 25 $this->operators = $this->setOperators(); 30 26 $this->inputType = 'multiselect'; 31 27 } -
wunderautomation/trunk/src/Types/Filters/Order/Status.php
r2685260 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'isoneof' => __('Is one of', 'wunderauto'), 26 'isnotoneof' => __('Is not one of', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->setOperators(); 29 25 $this->inputType = 'multiselect'; 30 26 } -
wunderautomation/trunk/src/Types/Filters/Order/Total.php
r2666447 r2724198 22 22 $this->objects = ['order']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Not equals', 'wunderauto'), 27 'gte' => __('Greater than or equals', 'wunderauto'), 28 'lte' => __('Lower than or equals', 'wunderauto'), 29 ]; 30 24 $this->operators = $this->numberOperators(); 31 25 $this->inputType = 'scalar'; 32 26 $this->valueType = 'number'; -
wunderautomation/trunk/src/Types/Filters/Post/Categories.php
r2666447 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'anyinlist' => __('Contains any', 'wunderauto'), 26 'noneinlist' => __('Contains all', 'wunderauto'), 27 'allinlist' => __('Contains none', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->multiSetOperators(); 30 25 $this->inputType = 'ajaxmultiselect'; 31 26 $this->ajaxAction = 'wa_search_categories'; -
wunderautomation/trunk/src/Types/Filters/Post/Content.php
r2666447 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 ]; 34 24 $this->operators = $this->stringOperators(); 35 25 $this->inputType = 'scalar'; 36 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Post/CreationDate.php
r2666447 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->dateOperators(); 29 25 $this->inputType = 'scalar'; 30 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Post/ModifiedDate.php
r2666447 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->dateOperators(); 29 25 $this->inputType = 'scalar'; 30 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Post/Owner.php
r2666447 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'isoneof' => __('Is one of', 'wunderauto'), 26 'isnotoneof' => __('Is not one of', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->setOperators(); 29 25 $this->inputType = 'ajaxmultiselect'; 30 26 $this->ajaxAction = 'wa_search_users'; -
wunderautomation/trunk/src/Types/Filters/Post/Status.php
r2685260 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'isoneof' => __('Is one of', 'wunderauto'), 26 'isnotoneof' => __('Is not one of', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->setOperators(); 29 25 $this->inputType = 'multiselect'; 30 26 } -
wunderautomation/trunk/src/Types/Filters/Post/Tags.php
r2666447 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'anyinlist' => __('Contains any', 'wunderauto'), 26 'noneinlist' => __('Contains all', 'wunderauto'), 27 'allinlist' => __('Contains none', 'wunderauto'), 28 ]; 29 24 $this->operators = $this->multiSetOperators(); 30 25 $this->inputType = 'ajaxmultiselect'; 31 26 $this->ajaxAction = 'wa_search_tags'; -
wunderautomation/trunk/src/Types/Filters/Post/Title.php
r2666447 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Does not equal', 'wunderauto'), 27 'contains' => __('Contains', 'wunderauto'), 28 'ncontains' => __('Does not contain', 'wunderauto'), 29 'startswith' => __('Starts with', 'wunderauto'), 30 'endswith' => __('Ends with', 'wunderauto'), 31 'empty' => __('Is empty', 'wunderauto'), 32 'nempty' => __('Is not empty', 'wunderauto'), 33 ]; 34 24 $this->operators = $this->stringOperators(); 35 25 $this->inputType = 'scalar'; 36 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Post/Type.php
r2685260 r2724198 22 22 $this->objects = ['post']; 23 23 24 $this->operators = [ 25 'isoneof' => __('Is one of', 'wunderauto'), 26 'isnotoneof' => __('Is not one of', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->setOperators(); 29 25 $this->inputType = 'multiselect'; 30 26 } -
wunderautomation/trunk/src/Types/Filters/RefererPost.php
r2666447 r2724198 20 20 $this->objects = ['*']; 21 21 22 $this->operators = [ 23 'eq' => __('Equals', 'wunderauto'), 24 'neq' => __('Does not equal', 'wunderauto'), 25 'contains' => __('Contains', 'wunderauto'), 26 'ncontains' => __('Does not contain', 'wunderauto'), 27 'startswith' => __('Starts with', 'wunderauto'), 28 'endswith' => __('Ends with', 'wunderauto'), 29 'empty' => __('Is empty', 'wunderauto'), 30 'nempty' => __('Is not empty', 'wunderauto'), 31 'isoneof' => __('Is one of', 'wunderauto'), 32 'isnotoneof' => __('Is not one of', 'wunderauto'), 33 ]; 34 22 $this->operators = $this->numberOperators(); 35 23 $this->inputType = 'scalar'; 36 24 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/RefererUrl.php
r2666447 r2724198 20 20 $this->objects = ['*']; 21 21 22 $this->operators = [ 23 'eq' => __('Equals', 'wunderauto'), 24 'neq' => __('Does not equal', 'wunderauto'), 25 'contains' => __('Contains', 'wunderauto'), 26 'ncontains' => __('Does not contain', 'wunderauto'), 27 'startswith' => __('Starts with', 'wunderauto'), 28 'endswith' => __('Ends with', 'wunderauto'), 29 'empty' => __('Is empty', 'wunderauto'), 30 'nempty' => __('Is not empty', 'wunderauto'), 31 'isoneof' => __('Is one of', 'wunderauto'), 32 'isnotoneof' => __('Is not one of', 'wunderauto'), 33 ]; 34 22 $this->operators = $this->stringOperators(); 35 23 $this->inputType = 'scalar'; 36 24 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/TimeOfDay.php
r2666447 r2724198 20 20 $this->objects = ['*']; 21 21 22 $this->operators = [ 23 'datebefore' => __('Is before', 'wunderauto'), 24 'dateafter' => __('Is after', 'wunderauto'), 25 ]; 26 22 $this->operators = $this->dateOperators(); 27 23 $this->inputType = 'scalar'; 28 24 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/User/CreationDate.php
r2685260 r2724198 22 22 $this->objects = ['user']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->dateOperators(); 29 25 $this->inputType = 'scalar'; 30 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/User/Email.php
r2685260 r2724198 28 28 $this->description = __('Filters based on user email address', 'wunderauto'); 29 29 $this->objects = ['user']; 30 $this->operators = [31 'eq' => __('Equals', 'wunderauto'),32 'neq' => __('Does not equal', 'wunderauto'),33 'contains' => __('Contains', 'wunderauto'),34 'ncontains' => __('Does not contain', 'wunderauto'),35 'startswith' => __('Starts with', 'wunderauto'),36 'endswith' => __('Ends with', 'wunderauto'),37 ];38 30 31 $this->operators = $this->stringOperators(); 39 32 $this->inputType = 'scalar'; 40 33 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/User/LastLogin.php
r2685260 r2724198 22 22 $this->objects = ['user']; 23 23 24 $this->operators = [ 25 'datebefore' => __('Before', 'wunderauto'), 26 'dateafter' => __('After', 'wunderauto'), 27 ]; 28 24 $this->operators = $this->dateOperators(); 29 25 $this->inputType = 'scalar'; 30 26 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/User/LoginCount.php
r2685260 r2724198 22 22 $this->objects = ['user']; 23 23 24 $this->operators = [ 25 'eq' => __('Equals', 'wunderauto'), 26 'neq' => __('Not equals', 'wunderauto'), 27 'gte' => __('Greater than or equals', 'wunderauto'), 28 'lte' => __('Lower than or equals', 'wunderauto'), 29 ]; 30 24 $this->operators = $this->numberOperators(); 31 25 $this->inputType = 'scalar'; 32 26 $this->valueType = 'number'; -
wunderautomation/trunk/src/Types/Filters/User/Role.php
r2666447 r2724198 28 28 $this->objects = ['user']; 29 29 30 $this->operators = [ 31 'isoneof' => __('Is one of', 'wunderauto'), 32 'isnotoneof' => __('Is not one of', 'wunderauto'), 33 ]; 34 30 $this->operators = $this->setOperators(); 35 31 $this->inputType = 'multiselect'; 36 32 } -
wunderautomation/trunk/src/Types/Filters/WebhookParameter.php
r2685260 r2724198 20 20 $this->objects = ['webhook']; 21 21 22 $this->operators = [ 23 'eq' => __('Equals', 'wunderauto'), 24 'neq' => __('Does not equal', 'wunderauto'), 25 'contains' => __('Contains', 'wunderauto'), 26 'ncontains' => __('Does not contain', 'wunderauto'), 27 'startswith' => __('Starts with', 'wunderauto'), 28 'endswith' => __('Ends with', 'wunderauto'), 29 'empty' => __('Is empty', 'wunderauto'), 30 'nempty' => __('Is not empty', 'wunderauto'), 31 'isoneof' => __('Is one of', 'wunderauto'), 32 'isnotoneof' => __('Is not one of', 'wunderauto'), 33 ]; 34 22 $this->operators = $this->stringOperators(); 35 23 $this->inputType = 'scalar'; 36 24 $this->valueType = 'text'; -
wunderautomation/trunk/src/Types/Filters/Weekday.php
r2685260 r2724198 20 20 $this->objects = ['*']; 21 21 22 $this->operators = [ 23 'isoneof' => __('Is one of', 'wunderauto'), 24 'isnotoneof' => __('Is not one of', 'wunderauto'), 25 ]; 26 22 $this->operators = $this->setOperators(); 27 23 $this->inputType = 'multiselect'; 28 24 } -
wunderautomation/trunk/src/Types/Internal/BaseInternalType.php
r2685260 r2724198 12 12 */ 13 13 protected static $wpPostMetaMode = false; 14 15 /** 16 * @var bool 17 */ 18 protected static $stateFromUI = false; 14 19 15 20 /** -
wunderautomation/trunk/src/Types/Internal/Filter.php
r2668497 r2724198 62 62 parent::__construct($state); 63 63 64 if (isset($state->arrValue) && !empty($state->arrValue)) { 65 $this->value = $state->arrValue; 66 } 67 64 68 $this->filter = str_replace('|', '\\', $this->filter); 65 69 $this->filterKey = str_replace('|', '\\', $this->filterKey); … … 72 76 $this->sanitizeObjectProp($this, 'path', 'text'); 73 77 74 if (is_array($this->value) ) {78 if (is_array($this->value) && count($this->value) > 0) { 75 79 foreach ($this->value as &$value) { 76 80 $this->sanitizeObjectProp($value, 'label', 'text'); … … 87 91 $this->object = $parts[0]; 88 92 $this->filter = $parts[1]; 89 }90 91 if (class_exists($this->filter)) {92 /** @var BaseFilter $filterObj */93 $filterObj = new $this->filter();94 if (in_array($filterObj->inputType, ['multiselect', 'ajaxmultiselect'])) {95 $this->value = $this->arrValue;96 }97 93 } 98 94 } … … 111 107 case 'map': 112 108 break; 109 case 'arrValue': 110 if (static::$wpPostMetaMode === false) { 111 $return[$property] = $value; 112 } 113 break; 113 114 case 'filter': 114 115 case 'filterKey': -
wunderautomation/trunk/src/Types/Parameters/BaseParameter.php
r2666447 r2724198 58 58 */ 59 59 public $usesOutputFormat = false; 60 61 /** 62 * @var bool 63 */ 64 public $useTaxonomy = false; 60 65 61 66 /** -
wunderautomation/trunk/src/Types/Triggers/BaseTrigger.php
r2691051 r2724198 43 43 44 44 /** 45 * @var Workflow 45 * @var Workflow|null 46 46 */ 47 protected $workflow ;47 protected $workflow = null; 48 48 49 49 /** -
wunderautomation/trunk/src/Types/Triggers/Post/Saved.php
r2691051 r2724198 79 79 } 80 80 81 if (!$this->registeredForPostMeta ) {81 if (!$this->registeredForPostMeta && !is_null($this->workflow)) { 82 82 /** @var WorkflowState $state */ 83 83 $state = $this->workflow->getState(); -
wunderautomation/trunk/src/Types/Triggers/User/ProfileUpdated.php
r2685260 r2724198 10 10 class ProfileUpdated extends BaseTrigger 11 11 { 12 /** 13 * Keep track of updated users 14 * 15 * @var array<int, int> 16 */ 17 private $updatedUsers = []; 18 12 19 /** 13 20 * Constructor … … 52 59 public function userProfileUpdated($userId, $oldUserData) 53 60 { 54 $user = get_user_by('id', $userId); 55 if ($user instanceof \WP_User) { 56 $objects = ['user' => $user]; 57 $this->doTrigger($objects); 61 $this->updatedUsers[] = $userId; 62 if (count($this->updatedUsers) === 1) { 63 add_action('shutdown', [$this, 'handleUpdatedUsers']); 64 } 65 } 66 67 /** 68 * Handle all updated users at end of request life cycle. 69 * 70 * @return void 71 */ 72 public function handleUpdatedUsers() 73 { 74 $this->updatedUsers = array_unique($this->updatedUsers); 75 76 foreach ($this->updatedUsers as $updatedUserId) { 77 $user = get_user_by('id', $updatedUserId); 78 if ($user instanceof \WP_User) { 79 $objects = ['user' => $user]; 80 $this->doTrigger($objects); 81 } 58 82 } 59 83 } -
wunderautomation/trunk/src/functions.php
r2691051 r2724198 185 185 186 186 /** 187 * @param array<string, string> $args187 * @param array<string, int|string> $args 188 188 * 189 189 * @return WP_Post -
wunderautomation/trunk/vendor/autoload.php
r2691051 r2724198 3 3 // autoload.php @generated by Composer 4 4 5 if (PHP_VERSION_ID < 50600) { 6 echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; 7 exit(1); 8 } 9 5 10 require_once __DIR__ . '/composer/autoload_real.php'; 6 11 7 return ComposerAutoloaderInit 284ec760a017acd06d64c37b772db48b::getLoader();12 return ComposerAutoloaderInit576a6f74b312e3f23a1fd64823f8b7ef::getLoader(); -
wunderautomation/trunk/vendor/composer/InstalledVersions.php
r2666447 r2724198 22 22 * 23 23 * To require its presence, you can require `composer-runtime-api ^2.0` 24 * 25 * @final 24 26 */ 25 27 class InstalledVersions -
wunderautomation/trunk/vendor/composer/autoload_classmap.php
r2414675 r2724198 3 3 // autoload_classmap.php @generated by Composer 4 4 5 $vendorDir = dirname( dirname(__FILE__));5 $vendorDir = dirname(__DIR__); 6 6 $baseDir = dirname($vendorDir); 7 7 -
wunderautomation/trunk/vendor/composer/autoload_namespaces.php
r2193691 r2724198 3 3 // autoload_namespaces.php @generated by Composer 4 4 5 $vendorDir = dirname( dirname(__FILE__));5 $vendorDir = dirname(__DIR__); 6 6 $baseDir = dirname($vendorDir); 7 7 -
wunderautomation/trunk/vendor/composer/autoload_psr4.php
r2193691 r2724198 3 3 // autoload_psr4.php @generated by Composer 4 4 5 $vendorDir = dirname( dirname(__FILE__));5 $vendorDir = dirname(__DIR__); 6 6 $baseDir = dirname($vendorDir); 7 7 -
wunderautomation/trunk/vendor/composer/autoload_real.php
r2691051 r2724198 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 284ec760a017acd06d64c37b772db48b5 class ComposerAutoloaderInit576a6f74b312e3f23a1fd64823f8b7ef 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit 284ec760a017acd06d64c37b772db48b', 'loadClassLoader'), true, true);26 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname( \dirname(__FILE__)));27 spl_autoload_unregister(array('ComposerAutoloaderInit 284ec760a017acd06d64c37b772db48b', 'loadClassLoader'));25 spl_autoload_register(array('ComposerAutoloaderInit576a6f74b312e3f23a1fd64823f8b7ef', 'loadClassLoader'), true, true); 26 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 27 spl_autoload_unregister(array('ComposerAutoloaderInit576a6f74b312e3f23a1fd64823f8b7ef', 'loadClassLoader')); 28 28 29 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); 30 if ($useStaticLoader) { 31 require __DIR__ . '/autoload_static.php'; 32 33 call_user_func(\Composer\Autoload\ComposerStaticInit284ec760a017acd06d64c37b772db48b::getInitializer($loader)); 34 } else { 35 $map = require __DIR__ . '/autoload_namespaces.php'; 36 foreach ($map as $namespace => $path) { 37 $loader->set($namespace, $path); 38 } 39 40 $map = require __DIR__ . '/autoload_psr4.php'; 41 foreach ($map as $namespace => $path) { 42 $loader->setPsr4($namespace, $path); 43 } 44 45 $classMap = require __DIR__ . '/autoload_classmap.php'; 46 if ($classMap) { 47 $loader->addClassMap($classMap); 48 } 49 } 29 require __DIR__ . '/autoload_static.php'; 30 call_user_func(\Composer\Autoload\ComposerStaticInit576a6f74b312e3f23a1fd64823f8b7ef::getInitializer($loader)); 50 31 51 32 $loader->register(true); -
wunderautomation/trunk/vendor/composer/autoload_static.php
r2691051 r2724198 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 284ec760a017acd06d64c37b772db48b7 class ComposerStaticInit576a6f74b312e3f23a1fd64823f8b7ef 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 28 28 { 29 29 return \Closure::bind(function () use ($loader) { 30 $loader->prefixLengthsPsr4 = ComposerStaticInit 284ec760a017acd06d64c37b772db48b::$prefixLengthsPsr4;31 $loader->prefixDirsPsr4 = ComposerStaticInit 284ec760a017acd06d64c37b772db48b::$prefixDirsPsr4;32 $loader->classMap = ComposerStaticInit 284ec760a017acd06d64c37b772db48b::$classMap;30 $loader->prefixLengthsPsr4 = ComposerStaticInit576a6f74b312e3f23a1fd64823f8b7ef::$prefixLengthsPsr4; 31 $loader->prefixDirsPsr4 = ComposerStaticInit576a6f74b312e3f23a1fd64823f8b7ef::$prefixDirsPsr4; 32 $loader->classMap = ComposerStaticInit576a6f74b312e3f23a1fd64823f8b7ef::$classMap; 33 33 34 34 }, null, ClassLoader::class); -
wunderautomation/trunk/vendor/composer/installed.php
r2691051 r2724198 6 6 'install_path' => __DIR__ . '/../../', 7 7 'aliases' => array(), 8 'reference' => ' 43dde42eef22f599ec9dbadf9d4188bbd740e7ef',8 'reference' => 'fd4b773de93128cfa774aad411283b27785fbd20', 9 9 'name' => '__root__', 10 10 'dev' => false, … … 17 17 'install_path' => __DIR__ . '/../../', 18 18 'aliases' => array(), 19 'reference' => ' 43dde42eef22f599ec9dbadf9d4188bbd740e7ef',19 'reference' => 'fd4b773de93128cfa774aad411283b27785fbd20', 20 20 'dev_requirement' => false, 21 21 ), -
wunderautomation/trunk/wunderautomation.php
r2691051 r2724198 16 16 * Plugin URI: https://www.wundermatics.com/wunderautomation/ 17 17 * Description: A wunderful automation tool for WordPress and WooCommerce 18 * Version: 1. 8.118 * Version: 1.9.0 19 19 * Author: Wundermatics 20 20 * Author URI: https://wundermatics.com/about … … 34 34 } 35 35 36 $wunderautomation_version = '1. 8.1';36 $wunderautomation_version = '1.9.0'; 37 37 $wunderautomation_db_version = '1.6.0'; 38 38 $wunderautomation_is_pro = false;
Note: See TracChangeset
for help on using the changeset viewer.