Changeset 3246477
- Timestamp:
- 02/25/2025 01:42:39 PM (10 months ago)
- Location:
- post-to-google-my-business
- Files:
-
- 4 added
- 92 edited
- 1 copied
-
tags/3.2.4 (copied) (copied from post-to-google-my-business/trunk)
-
tags/3.2.4/composer.lock (modified) (7 diffs)
-
tags/3.2.4/post-to-google-my-business.php (modified) (1 diff)
-
tags/3.2.4/readme.txt (modified) (4 diffs)
-
tags/3.2.4/src/API/ProxyAuthenticationAPI.php (modified) (1 diff)
-
tags/3.2.4/src/Admin/AdminPage.php (modified) (1 diff)
-
tags/3.2.4/src/BackgroundProcessing/LocationSyncProcess.php (modified) (3 diffs)
-
tags/3.2.4/src/Components/BusinessSelector.php (modified) (2 diffs)
-
tags/3.2.4/src/GoogleUserManager.php (modified) (2 diffs)
-
tags/3.2.4/src/Notices (added)
-
tags/3.2.4/src/Notices/BrandedStickyNotice.php (added)
-
tags/3.2.4/src/Plugin.php (modified) (3 diffs)
-
tags/3.2.4/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-async-request.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-background-process.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/AbstractField.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/CronExpression.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldFactory.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldInterface.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/HoursField.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MinutesField.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MonthField.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/YearField.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/BeforeValidException.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/ExpiredException.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/JWK.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/JWT.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/Key.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/SignatureInvalidException.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/html2text/html2text/src/Html2Text.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTime.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeImmutable.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeInterface.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeTrait.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeZone.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/AbstractNotice.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Factory.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Notice.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/NoticeInterface.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Notifier.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/StickyNotice.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Store.php (modified) (1 diff)
-
tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/StoreInterface.php (modified) (1 diff)
-
tags/3.2.4/vendor/autoload.php (modified) (1 diff)
-
tags/3.2.4/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
tags/3.2.4/vendor/composer/autoload_real.php (modified) (3 diffs)
-
tags/3.2.4/vendor/composer/autoload_static.php (modified) (3 diffs)
-
tags/3.2.4/vendor/composer/installed.json (modified) (2 diffs)
-
trunk/composer.lock (modified) (7 diffs)
-
trunk/post-to-google-my-business.php (modified) (1 diff)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/src/API/ProxyAuthenticationAPI.php (modified) (1 diff)
-
trunk/src/Admin/AdminPage.php (modified) (1 diff)
-
trunk/src/BackgroundProcessing/LocationSyncProcess.php (modified) (3 diffs)
-
trunk/src/Components/BusinessSelector.php (modified) (2 diffs)
-
trunk/src/GoogleUserManager.php (modified) (2 diffs)
-
trunk/src/Notices (added)
-
trunk/src/Notices/BrandedStickyNotice.php (added)
-
trunk/src/Plugin.php (modified) (3 diffs)
-
trunk/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-async-request.php (modified) (1 diff)
-
trunk/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-background-process.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/AbstractField.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/CronExpression.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldFactory.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldInterface.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/HoursField.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MinutesField.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MonthField.php (modified) (1 diff)
-
trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/YearField.php (modified) (1 diff)
-
trunk/vendor-prefixed/firebase/php-jwt/src/BeforeValidException.php (modified) (1 diff)
-
trunk/vendor-prefixed/firebase/php-jwt/src/ExpiredException.php (modified) (1 diff)
-
trunk/vendor-prefixed/firebase/php-jwt/src/JWK.php (modified) (1 diff)
-
trunk/vendor-prefixed/firebase/php-jwt/src/JWT.php (modified) (1 diff)
-
trunk/vendor-prefixed/firebase/php-jwt/src/Key.php (modified) (1 diff)
-
trunk/vendor-prefixed/firebase/php-jwt/src/SignatureInvalidException.php (modified) (1 diff)
-
trunk/vendor-prefixed/html2text/html2text/src/Html2Text.php (modified) (1 diff)
-
trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTime.php (modified) (1 diff)
-
trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeImmutable.php (modified) (1 diff)
-
trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeInterface.php (modified) (1 diff)
-
trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeTrait.php (modified) (1 diff)
-
trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeZone.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/AbstractNotice.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Factory.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Notice.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/NoticeInterface.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Notifier.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/StickyNotice.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Store.php (modified) (1 diff)
-
trunk/vendor-prefixed/typisttech/wp-admin-notices/src/StoreInterface.php (modified) (1 diff)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (3 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (3 diffs)
-
trunk/vendor/composer/installed.json (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
post-to-google-my-business/tags/3.2.4/composer.lock
r3228979 r3246477 12 12 "source": { 13 13 "type": "git", 14 "url": " https://github.com/koen12344/multisite-background-processing.git",14 "url": "[email protected]:koen12344/multisite-background-processing.git", 15 15 "reference": "7724c9d124f1efdc672d0b15923a60c8ee42e434" 16 16 }, … … 50 50 ], 51 51 "description": "WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.", 52 "support": {53 "source": "https://github.com/koen12344/multisite-background-processing/tree/prod"54 },55 52 "time": "2025-01-11T16:16:36+00:00" 56 53 }, … … 438 435 { 439 436 "name": "myclabs/deep-copy", 440 "version": "1.1 2.1",437 "version": "1.13.0", 441 438 "source": { 442 439 "type": "git", 443 440 "url": "https://github.com/myclabs/DeepCopy.git", 444 "reference": " 123267b2c49fbf30d78a7b2d333f6be754b94845"445 }, 446 "dist": { 447 "type": "zip", 448 "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/ 123267b2c49fbf30d78a7b2d333f6be754b94845",449 "reference": " 123267b2c49fbf30d78a7b2d333f6be754b94845",441 "reference": "024473a478be9df5fdaca2c793f2232fe788e414" 442 }, 443 "dist": { 444 "type": "zip", 445 "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414", 446 "reference": "024473a478be9df5fdaca2c793f2232fe788e414", 450 447 "shasum": "" 451 448 }, … … 486 483 "support": { 487 484 "issues": "https://github.com/myclabs/DeepCopy/issues", 488 "source": "https://github.com/myclabs/DeepCopy/tree/1.1 2.1"485 "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0" 489 486 }, 490 487 "funding": [ … … 494 491 } 495 492 ], 496 "time": "202 4-11-08T17:47:46+00:00"493 "time": "2025-02-12T12:17:51+00:00" 497 494 }, 498 495 { … … 850 847 { 851 848 "name": "phpstan/phpdoc-parser", 852 "version": "2. 0.0",849 "version": "2.1.0", 853 850 "source": { 854 851 "type": "git", 855 852 "url": "https://github.com/phpstan/phpdoc-parser.git", 856 "reference": " c00d78fb6b29658347f9d37ebe104bffadf36299"857 }, 858 "dist": { 859 "type": "zip", 860 "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ c00d78fb6b29658347f9d37ebe104bffadf36299",861 "reference": " c00d78fb6b29658347f9d37ebe104bffadf36299",853 "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68" 854 }, 855 "dist": { 856 "type": "zip", 857 "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", 858 "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", 862 859 "shasum": "" 863 860 }, … … 891 888 "support": { 892 889 "issues": "https://github.com/phpstan/phpdoc-parser/issues", 893 "source": "https://github.com/phpstan/phpdoc-parser/tree/2. 0.0"894 }, 895 "time": "202 4-10-13T11:29:49+00:00"890 "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0" 891 }, 892 "time": "2025-02-19T13:28:12+00:00" 896 893 }, 897 894 { -
post-to-google-my-business/tags/3.2.4/post-to-google-my-business.php
r3235346 r3246477 6 6 Description: Automatically create a post on Google My Business when creating a new WordPress post 7 7 Author: Koen Reus 8 Version: 3.2. 38 Version: 3.2.4 9 9 Author URI: https://koenreus.com 10 10 Text Domain: post-to-google-my-business -
post-to-google-my-business/tags/3.2.4/readme.txt
r3235346 r3246477 1 1 === Post to Google My Business (Google Business Profile) === 2 Contributors: koen12344, freemius3 Donate link: https:// tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=donate4 Tags: google my business, g mb, auto publish, posts, post, local search, google my business posts, google places, google plus, google+2 Contributors: koen12344, valdemirmaran, freemius 3 Donate link: https://digitaldistortion.dev/?utm_source=repository&utm_medium=link&utm_campaign=donate 4 Tags: google my business, google business profile, gmb, local seo, google places 5 5 Requires at least: 4.9.0 6 Tested up to: 6.7. 17 Stable tag: 3.2. 36 Tested up to: 6.7.2 7 Stable tag: 3.2.4 8 8 Requires PHP: 7.0 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html 11 11 12 (Auto-)Publish and manage Google My Business (GMB) Posts from the WordPress Dashboard!12 Auto-publish posts, pages & CPTs, plus manage Google Business Profile posts - all from your WordPress dashboard! 13 13 14 14 == Description == 15 15 16 The posts feature in Google Business Profile (formerly: Google My Business) is a great way to improve the presence of your, or your clients' business on Google. It can be a hassle however to have to log in to Google My Business every time you want to create a new post, likewise it can be an easy thingto forget.16 The **Posts** feature in **Google Business Profile** (formerly Google My Business) is a powerful way to enhance your business's presence on Google. However, constantly logging into your Google account to create new posts can be time-consuming—and easy to forget. 17 17 18 Don't miss out on the SEO benefit, and save time by creating posts on Google My Business directly from the WordPress Dashboard!18 With the **Post to Google My Business** plugin, you can save time and maximize your SEO benefits by publishing directly from your WordPress dashboard! 19 19 20 Use the Auto-post feature to instantly publish your latest WordPress post to your Google Business Profile, based on a preset template and the posts' featured image. 20 = Effortless auto-posting & powerful features = 21 21 22 The Post to Google My Business plugin utilizes the official Google My Business API with secure oAuth authentication to ensure your Google account is safe.22 Use the **Auto-post** feature to instantly share your latest WordPress content to your Google Business Profile. Posts are generated based on a preset template and automatically include your post’s featured image, keeping your profile fresh with minimal effort. 23 23 24 = Features=25 * Create, edit or delete posts without having to visit your Google My Business dashboard 26 * Automatically publish your latest WordPress posts to GMB using the Auto-post feature27 * Generates beautiful auto-posts from any content. HTML, shortcodes and clutter from visual editors such as Divi or Visual Composer are automatically stripped 28 * Network- and site-level Multisite support 29 * Supports publishing to GMB from external apps (such as Zapier, Integromat, IFTTT, ManageWP, InfiniteWP, MainWP and more) 30 * Uses official Google My Business API 31 * Developer friendly. Uses the latest built-in WordPress functions and has various actions/filters to hook into. 32 * Translatable. Uses built-in WordPress functions for easy translation. 33 * Compatible with Gutenberg/Block Editor 34 * Supports modern image formats such as WebP and AVIF 24 = Why choose Post to Google My Business? = 25 ✅ **Create, edit, and delete posts** without leaving WordPress 26 ✅ **Auto-publish** your latest WordPress posts, pages and custom post types to your Google Business Profile 27 ✅ **Beautiful, clean posts** – Automatically strips unnecessary HTML, shortcodes, and visual editor clutter (Divi, WPBakery, etc.) 28 ✅ **Multisite support** – Works on both network and site level 29 ✅ **Third-party integration** – Publish from **Zapier, IFTTT, Integromat, ManageWP, MainWP**, and more 30 ✅ **Secure & reliable** – Uses the official **Google My Business API** with **oAuth** authentication 31 ✅ **Developer-friendly** – Hooks, filters, and WordPress-native functions for easy customization 32 ✅ **Translation-ready** – Fully compatible with WPML and other translation plugins 33 ✅ **Modern image support** – Works with **WebP**, **AVIF**, and other optimized formats 34 ✅ **Gutenberg-compatible** – Works seamlessly with the Block Editor 35 35 36 > **Time-saving features available in the Premium versions:** 37 > 38 > * Product support, create "real" Products in GBP based on your WooCommerce Products or other content 39 > * Schedule Google My Business posts for automatic publishing in the future 40 > * Publish posts to multiple locations, across multiple Google accounts at once 41 > * Automatic re-posting (post recycling) - Automatically recycle your GMB posts at preset intervals and x amount of times 42 > * Auto publish posts with specific tags or categories43 > * Make posts unique using Spintax 44 > * Post Campaigns - Create posts on GMB that aren't tied to any specific WordPress post or page. 45 > * Evergreen content - randomly publish items from a selection of yourcontent46 > * Multiple Auto-post templates 47 > * Manage GMB post campaigns for your agency clients48 > * Much more! 49 > 50 >**[Learn more about Post to Google My Business Premium](https://tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=learn_more&utm_content=description)**36 = Time-saving features available in Premium: = 37 38 Upgrade to **Post to Google My Business premium** for **even more automation and flexibility**: 39 ⭐ **Product Support** – Create and manage **real** Google Business Profile **Products** from WooCommerce or other content 40 ⭐ **Scheduled Posts** – Plan and **automate future post publishing** 41 ⭐ **Multi-location & Multi-account support** – Publish posts across **multiple GBP locations** at once 42 ⭐ **Auto Re-posting (Recycling)** – Keep your content fresh by **automatically republishing** posts at set intervals 43 ⭐ **Category- & Tag-based Auto-publishing** – Control exactly what gets posted 44 ⭐ **Spintax Support** – Generate **unique** content variations to avoid duplication 45 ⭐ **Evergreen Content** – Randomly publish from a selection of your best content 46 ⭐ **Post Campaigns** – Create GMB posts that aren’t tied to a specific WordPress post or page 47 ⭐ **Multiple Auto-post Templates** – Customize and manage different posting styles 48 ⭐ **Agency Support** – Manage Google My Business posts for **multiple clients** 49 50 **[Learn more about Post to Google My Business Premium](https://tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=learn_more&utm_content=description)** 51 51 52 52 = Great support! = … … 57 57 Installing and configuring Post to Google My Business is easy! 58 58 59 1. Upload the plugin files to the `/wp-content/plugins/post-to-google-my-business` directory, or install it through the plugins page within theWordPress Dashboard.60 2. Activate the plugin through the **Plugins** pagein WordPress61 3. Go to the **Post to GMB** > **Settings** page to configure the plugin62 4. To allow your website to post to Google My Business on your behalf, click **Connect to Google My Business**. Confirm the authorization using the Google account that holds your business location.63 5. You will be redirected back to the settings page. Select your business location and press **Save Changes**.59 1. Upload the plugin files to the `/wp-content/plugins/post-to-google-my-business` directory, or install it through the **Plugins** section within your WordPress Dashboard. 60 2. Activate the plugin through the **Plugins** section in WordPress 61 3. Go to the **Post to GMB** > **Settings** > **Google Settings** page to configure the plugin 62 4. To allow your website to post to your Google Business Profile on your behalf, click **Connect to Google Business Profile**. Confirm the authorization using the Google account that holds the business location(s) you want to use. Make sure you check the checkbox to allow the plugin to manage your GMB locations. 63 5. You will be redirected back to the settings page. Select your business location in the **Default Location** section and press **Save Changes**. 64 64 6. All set! When creating a new WordPress **Post** there will a new metabox that allows you to create posts on Google My Business. 65 65 … … 115 115 == Changelog == 116 116 117 = 3.2.4 = 118 * Improved: Design of admin notices 119 * Improved: Hide location syncing error after successful sync 120 * Improved: Show more descriptive error when permission to manage locations hasn't been granted during authentication 121 * Improved: Route Google JWK keyset through backend instead of calling the Google URL directly 122 * Fix: Show error in locations field when refreshing of locations fails 123 * Fix: Delete location and group cache MySQL tables on plugin uninstall 124 117 125 = 3.2.3 = 118 126 * Improved: Error handling for retrieval of Google public keys … … 145 153 * Update Freemius SDK 146 154 147 = 3.1.24 =148 * Update: Freemius SDK 2.7.1149 150 > **Premium**151 >152 > * Fix: Creating products not working (due to Google changes)153 154 = 3.1.23 =155 > **Premium**156 >157 > * Fix: Delete event date of previous post not updated when editing auto-repost schedule158 > * Added: Indication when previous auto-repost item will be deleted159 160 = 3.1.22 =161 * Tested on WordPress 6.5162 * Fix: return original image if failing to create intermediate163 * Fix: Incorrect loading of admin styles164 * Improved: Authentication logic165 * Improved: (Developers) LocalPost object now has getters166 * Update: Freemius SDK 2.6.2167 168 169 = 3.1.21 =170 * Fix: Potential issue with images smaller than 1200x900171 * Update: Freemius SDK 2.6.1172 173 = 3.1.18 =174 * Add option to bypass WP-Cron for debugging purposes175 176 = 3.1.17 =177 * Tested on WordPress 6.4178 * Update: Add additional 20 second lockout to prevent double posts when auto-posting179 * Update: Freemius SDK 2.5.12180 181 = 3.1.16 =182 * Update: WP Background processing 1.1.1183 * Update: Freemius SDK 2.5.11184 185 > **Premium**186 >187 > * Fix: Change to GBP causing products to stop working188 189 = 3.1.15 =190 * Fix: Add nonce to ajax endpoint to dismiss notifications191 192 = 3.1.14 =193 * Update: Cleaned up Javascript dependencies194 195 > **Premium**196 >197 > * Fix: Google accounts being duplicated in the business selector when creating/editing multiple posts198 > * Fix: Publish button saying "Publish Now" instead of "Update" when editing posts199 200 = 3.1.13 =201 * Fix: Posts longer than 1500 characters containing emoji causing Google API error202 203 = 3.1.12 =204 > **Premium**205 >206 > * Fix: Not selecting any location in the auto-post template location selector caused JS/PHP error207 208 = 3.1.11 =209 * Fix: Freemius SDK updated to v2.5.5 to fix "Call to undefined method Freemius_Api_WordPress::RemoteRequest()" error210 * Update: Pt_BR translations by @valdermirmaran211 * Update: "Product" tab now aligned to the right to better separate it from regular posts212 213 > **Premium**214 >215 > * Update: Removed call-to-action for Products (in accordance with GMB itself)216 217 = 3.1.10 =218 * Added extra check for mbstring when creating posts219 * Updated Freemius SDK220 221 > **Premium**222 >223 > * Products are now allowed to have no description224 225 = 3.1.9 =226 * Added "Refresh Post Status" bulk option to post list227 228 > **Agency**229 >230 > * Added CSV export to post list231 232 = 3.1.8 =233 * fix issue blocking site health screen234 235 = 3.1.7 =236 * Make product price field no longer required237 * Add check for mbstring PHP module238 239 = 3.1.6 =240 * Tested on 6.2241 * Added notification about new Product Sync for GBP plugin242 * Included new translations243 244 = 3.1.5 =245 * Add extra content-type header check for WebP images246 247 = 3.1.4 =248 * Fix "Refresh locations" button not actually refreshing locations from GMB API249 250 = 3.1.3 =251 * Fix business selector not loading all locations252 253 = 3.1.2 =254 * Fix issues with account/business selector255 256 > **Premium**257 >258 > * Convert Campaign tags/categories from built-in to custom taxonomy259 260 = 3.1.1 =261 > **Premium**262 >263 > * Fix missing account controls264 265 = 3.1.0 =266 * Prevent duplicate posts when using auto-post267 * Improve auto-posting logic268 * Add option to enable/disable specific request types (Editor, Internal, XML-RPC, REST)269 * Lowered event & offer title length from 80 to 58 characters270 * Prevent items in the trash from creating (scheduled) GPB posts271 * Improve the business selector to load large amounts of locations in chunks272 * Refactoring273 274 > **Premium**275 >276 > * Fix posting products (effective_id error)277 > * Fix products showing incorrect summary in post list278 279 = 3.0.28 =280 * Add fix for duplicate posts in same session281 282 = 3.0.27 =283 * Add check for sites that have relative image URLs for some reason284 285 = 3.0.26 =286 > **Premium**287 >288 > * Add better detection of product creation errors289 > * Fix cookie check when submitting cookie details290 > * Various small improvements to product API code291 292 293 = 3.0.25 =294 > **Premium**295 >296 > * Improve product JSON decoding logic297 298 = 3.0.24 =299 * Updated pt translation300 301 > **Premium**302 >303 > * Fix product custom category field not saving304 305 = 3.0.23 =306 > **Premium**307 >308 > * Fix image upload error for products309 310 = 3.0.22 =311 * Add clearer errors to dialog when clicking post in calendar312 * Change layout of store/shop code in created posts dialog313 314 > **Premium**315 >316 > * Fix option to disable date & time selector for auto-post templates317 318 = 3.0.21 =319 * Add store code to business selector and created posts dialog320 * Add debounce to date & time selector to reduce Ajax calls321 * Add option to disable date & time selector on event/offer dates322 * Add delay to posts to avoid excessive API calls323 * Fix delete API call being triggered multiple times324 * Fix auto-post on scheduled WordPress posts325 326 > **Premium**327 >328 > * Added "loop" function to evergreen content329 > * Evergreen content now only posts unique content330 > * Auto-repost will delete the previous post331 332 = 3.0.20 =333 334 * Fix image not updating when updating post335 * Fix image not being deleted from GMB when deleted from post336 * Fix CTA not being deleted from GMB when deleted from post337 * Allow placeholder variables in date fields338 339 > **Premium**340 >341 > * Fix product price range field not loading in auto-post template342 > * Fix duplicate call when deleting multiple posts at once343 > * Refresh location list after updating product cookies344 345 = 3.0.19 =346 * Remove hasVoiceOfMerchant check347 348 > **Premium**349 >350 > * Fix cookies not saving351 352 = 3.0.18 =353 * Move access token from URL to Auth header354 * Add check for IP address in call-to-action URL355 * Fix label for locations in business selector356 * Adjust max post length to 1499 characters to avoid length error357 358 = 3.0.17 =359 * Change button selection checkboxes to dropdown360 * Route API requests through custom backend361 * Fix Undefined property: stdClass::$languageCode notice/error362 * Fix Undefined index: order/orderby notices/errors363 * Fix Undefined index: hook_suffix notice/error364 * Update locales (Brazilian Portuguese thanks to Valdemir Maran)365 366 > **Premium**367 >368 > * Disable call-to-action button types that aren't available for products369 > * Clarify how to publish products370 > * Fix Undefined index: mbp_form_fields notice/error when creating new auto-post template371 > * Allow wildcard variables in product max pricerange field372 > * Add new WooCommerce variables for variation products373 > * Add setting check to cookie dialog374 > * Fix saving cookie settings being triggered twice375 376 = 3.0.14 =377 * Fix incorrect location selection within groups378 * Fix support for Google accounts with more than 20 location groups379 * Remove shortcodes from WooCommerce product description380 381 > **Premium**382 >383 > * Fix undefined index errors on product form when WP_DEBUG was enabled384 > * Fix intermittent issue with location(s) not being selected in the "Advanced post settings"385 > * Restore disappeared "Toggle Selection" function on Google Accounts386 387 = 3.0.13 =388 * Fix auto-post toggle not being turned on by default in block editor389 * Improve API code to be compatible with new version of GMB API390 391 > **Premium**392 >393 > * Improve product publishing api394 395 = 3.0.12 =396 397 > **Premium**398 >399 > * Improve code for product publishing400 401 = 3.0.11 =402 * Fix incorrect token revocation request403 * Fix pre-php 7.3 error composer message404 * Clarify "Refresh token" error message405 * Fix a few locale mistakes406 * Bump minimum PHP version to 7.0407 * Fix for Notice: Trying to access array offset on line 163408 * Add account key to mbp_business_selector_locations filter409 * Fix display of service area businesses in business selector410 * Add placeholder parsing to event/offer title and trim it to 80 characters411 412 > **Premium**413 >414 > * Show error when evergreen content schedule does not exist in cron415 > * Fix edit and duplicate functions in Starter version416 > * Add debug data download for products417 418 = 3.0.10 =419 * Add graceful error for when the Google authorization is cancelled420 * Fix advanced post settings spacing421 * Update Freemius SDK422 * Clear access token cache when account is deleted423 * Fix a few permission issues424 425 = 3.0.9 =426 427 > **Premium**428 >429 >* Improvements to product publishing code430 431 = 3.0.8 =432 * Fix text domain on update notification433 * Prevent api error when trying to create product434 435 = 3.0.7 =436 * Fix location list not showing all locations in groups with more than 100 locations437 * Add upgrade & new feature notifications438 * Improve upgrade process439 440 = 3.0.6 =441 442 * Fix controls on dynamically loaded accounts in business selector443 444 > **Premium**445 >446 > * Fix woocommerce product category sync447 448 = 3.0.5 =449 450 * Update locales (Portuguese thanks to Valdemir Maran)451 * Post editor: Various layout and logic fixes452 * WP 5.9: Fix calendar icon453 454 > **Premium**455 >456 > * Add product support457 > * Fix evergreen not selecting the correct posts458 > * Fix evergreen page empty in Starter version459 > * Fix evergreen date timezone issue460 461 = 3.0.2 =462 * Updated Brazilian Portuguese translations (Thanks to @valdemirmaran)463 * Fix error when no post types are selected in the settings464 * Added evergreen content promotional page465 * Fix not showing welcome message on new site within multisite466 467 > **Premium**468 >469 > * Fix private backend post types being indexed by Yoast causing 404s470 471 = 3.0.1 =472 * Remove deprecated "Get Offer" call to action473 * Fix link parsing mode not working474 * Updated pot file (now automatically included in build process)475 * Updated Dutch translations476 * Fixed localization for calendar477 * Fixed datetime check in auto-post template editor478 479 > **Premium**480 >481 > * Added check for invalid evergreen post schedule482 > * Fixed localization for cron selector483 484 = 3.0.0 =485 * Refactor & improve a lot of code, mainly improved the way the plugin connects to Google486 * Paginated post & created post list, added bulk actions487 * Fix Featured Image checkbox state not saving488 * Remove pointless debug page489 * Moved post scheduling calendar to its own dashboard page, added popup with options490 * Added WebP support (GMB does not support it, so plugin will convert image to PNG)491 * Added WooCommerce support by default492 493 > **Premium**494 >495 > * (Starter) Moved ability to select a location per post to Starter496 > * (Pro) Added ability to create multiple post templates497 > * (Pro) Added "evergreen content" feature to automatically publish posts old posts498 > * (Pro) Moved ability to publish posts to multiple locations at once to Pro499 > * (Agency) Added ability to connect multiple Google accounts500 501 502 = 2.2.49 =503 * Add option to advanced post options to change link parsing mode504 505 = 2.2.48 =506 * Temporary fix for the cURL error 60: SSL certificate problem: certificate has expired error507 508 = 2.2.45 =509 * Fix issue with image size detection (filesize(): stat failed warning)510 * Fix image size detection on post created outside WP admin dash (Fatal error: Call to undefined function PGMB\download_url())511 * Fix warnings when location has no address or locality512 513 = 2.2.44 =514 > **Premium**515 >516 > * Now it was posting every hour, doh! Fixed517 518 = 2.2.43 =519 * Tested on WordPress 5.8520 * Fixed issue with metabox not working in block editor521 522 > **Premium**523 >524 > * Fixed issue with automatic re-post that made a post go out every minute(!) instead of every day of the month525 > * Added "Daily" option to re-post feature526 527 = 2.2.42 =528 * Add Brazilian Portuguese translations (thanks to @valdemirmaran)529 530 = 2.2.41 =531 * Add selection function for location groups532 * Add note for Block Editor CPTs without "custom-fields" support enabled533 * Update Freemius SDK534 535 = 2.2.39 =536 * Fixes "Cannot declare class PGMB\Vendor\Cron\AbstractField, because the name is already in use" error when saving post537 538 = 2.2.34 =539 * Fix for image size detection logic540 541 = 2.2.33 =542 * Add extra error message for when Product post type is chosen543 * Fix block editor issue for custom post types that don't have custom-fields enabled544 545 = 2.2.32 =546 * Use wp_get_http_headers instead of get_headers for better compatibility547 548 = 2.2.31 =549 * Testing on WP 5.6, small fixes for PHP8 compatibility550 551 = 2.2.29 =552 * Fixed some issues with checking of post image size553 * Fixed image not showing up in editor when it was too small to have a "medium" thumbnail554 * Updated Freemius SDK555 556 = 2.2.28 =557 * Fix compatibility issue with older version of plugin558 559 = 2.2.27 =560 * Fix date and time checker561 * Fix checkbox state not being loaded since 5.5.1562 563 = 2.2.26 =564 * Added (a lot) of location-specific variables565 566 = 2.2.25 =567 * Make all GMB post types and WP post types available in free version568 * Fix Gutenberg assets being loaded in post type that was disabled569 570 > **Premium**571 >572 > * Fix campaigns feature being partially available in Pro version573 > * Fix default location selector showing checkboxes instead of radiobuttons when refreshing574 575 = 2.2.19 =576 * Fixed handling of URLs containing non-ascii characters577 * Added more info about product posts578 579 = 2.2.18 =580 * Temporarily remove check for isLocalPostApiDisabled due to COVID-19581 582 = 2.2.17 =583 * Added COVID-19 post584 * Added full autopost template editor in settings to edit the default autopost template585 * Added welcome message586 * Added location-specific variables (%location_primaryPhone%, %location_websiteUrl% ...)587 * Added new mbp_placeholder_decorators ($decorators, $parent_post_id) filter, and VariableInterface588 * Add checks for image size, disable video (no longer allowed by Google)589 * Simplified & improved auto-post logic590 * Improved image uploader (ready for 10 images, but Google API doesn't support it yet)591 * Improved error notices in metabox592 * Improvements to multisite handling and activation/deactivation/delete routines593 * Fixed error notice when fetching empty location groups594 * Fixed Free version not deactivating when activating premium595 * Fixes empty location group causing PHP notice596 * Fixed Gutenberg double post bug and improve compatibility597 * Fix Draft post showing incorrect publish date598 * Fix notice when Google error doesn't include details599 * Update Freemius SDK to fix multisite issue600 601 > **Premium**602 >603 > * Add "Event all day" checkbox for events without a start and end time604 > * Added feature to enable autopost per category or tag605 > * Fixed Auto-post template editor button being shown on campaigns page606 > * Fixed errors when when all post types are unchecked in the settings page607 608 = 2.2.10 =609 * Fix issue with paragraphs getting removed in auto-post610 611 = 2.2.9 =612 * Fix auto-post incorrectly throwing 1500 character error613 * Hide "Save draft" button on already published post614 615 > **Premium**616 >617 > * Fix caption on "Save Template" button switching to "Publish" when adding schedule618 619 = 2.2.8 =620 * Fix gutenberg issue caused by 2.2.7621 622 = 2.2.7 =623 * Fix compatibility issue with Yoast SEO & Classic Editor624 625 = 2.2.6 =626 * Updated .pot file and Grunt scripts627 * Updated Dutch, Russian and Ukrainian translations628 * Display post publish date in metabox629 630 = 2.2.5 =631 * Fix duplicate post issue632 633 > **Premium**634 >635 > * Remove Auto-post checkbox being shown on campaigns page636 637 = 2.2.4 =638 * Fix issues with CTA URL on button639 * Improve updater (again)640 * Fix default value for CTA URL field641 * Fix CTA url field disappearing when loading post642 643 > **Premium**644 >645 > * Fix repost schedule being improperly parsed646 647 = 2.2.3 =648 * Improve updater649 650 = 2.2.2 =651 * Fix Form field parser allowing dates in the past652 653 = 2.2.1 =654 * Fix for Gutenberg autopost655 * Restore filter functions656 * Update Freemius SDK657 658 = 2.2 =659 * Moved API communication to an asynchronous process660 * Added Auto-post template editor661 * Added Debug info tab to settings page662 * Added dialog with created posts663 * Made UI more intuitive664 * Added some fixes to improve compatibility with Gutenberg665 * Added functionality to fetch image from content or use the featured image666 * Tons of improvements and bug fixes "under the hood"667 * Lots more to come in future updates!668 669 > **Premium**670 >671 > * Made re-posting much more flexible672 > * Re-posted posts will now appear as a separate post in the metabox673 674 = 2.1.18 =675 > **Premium**676 >677 > * Actually parse the relative datetimes on scheduled posts :)678 > * Disable Product post support (removed from GMB api)679 > * Improve display of datetimes, better timezone handling680 681 = 2.1.17 =682 > **Premium**683 >684 > * Allow relative time notation in datetimepickers685 686 = 2.1.16 =687 * Improved parsing of post content688 689 = 2.1.11 =690 * Improve development & deployment methods691 692 = 2.1.10 =693 * Update Freemius SDK694 * Remove shortcodes from auto-post by default695 696 = 2.1.9 =697 * Security fix698 699 = 2.1.8 =700 * Fixes issue with image URL spinner with no image set (PHOTO media error)701 702 = 2.1.7 =703 * Properly delete child posts and schedules when deleting parent post704 705 = 2.1.6 =706 > **Premium**707 >708 > * Spin image URL709 710 = 2.1.5 =711 * Fix issue when trying to load more than 100 locations712 * Apply filter mbp_get_locations filter to cached locations713 714 = 2.1.4 =715 * Fix settings page conflict caused by plugins using old version of WeDevs Settings API716 * Fix Learn more link about grayed out locations717 718 = 2.1.3 =719 * Fix auto-post sending campaign posts720 * Improve Gutenberg compatibility721 722 = 2.1.2 =723 * Fix auto-post being triggered too early724 * Simplify business selector725 726 > **Premium**727 >728 > * Fix repost sheduled events not getting deleted729 > * Fix reposts not being published when recurrence was set to 0730 > * Fix reposts being posted twice when not scheduled731 732 = 2.1.1 =733 * Increase API timeout734 * Fix multiline posts735 * Improve error messages736 * Fix API token refresh requests when network activated737 738 = 2.1.0 =739 * Improves location loading (+100 Locations in account)740 * Check whether locations have access to the Posts API741 * Call Now button support742 * Improves auto-post logic743 * Restructuring code744 745 > **Premium**746 >747 > * Improves posting to multiple locations at once748 > * Product post support749 750 = 2.0.10 =751 * Update Freemius SDK752 * Add filters to Auto post feature753 754 > **Premium**755 >756 > * Add option to edit Auto post URL757 758 = 2.0.9 =759 * Fix 500 error on PHP 5.4 https://wordpress.org/support/topic/500-error-when-adding-a-new-post/760 761 = 2.0.8 =762 * Fix issue some settings getting deleted when updating from 2.0.6 to 2.0.7763 * Improve compatibility with external publishing apps and services764 * Made plugin settings page more intuitive765 766 = 2.0.7 =767 * Strip HTML from posts768 * Cut posts to 1500 characters769 * Added word and character counters770 * Simplified business selector771 * Removed user selector, now integrated with business selector772 * Better support for grouped locations773 * Allow filtering/searching of locations774 * Remove references to datetimepicker775 776 > **Premium**777 >778 > * Added buttons to Select/Deselect all locations at once779 > * Fixed some issues with Pro features in trial780 781 = 2.0.6 =782 * Add ability to save posts as draft783 * Add option to invert the "Quick Publish" checkbox. Allows you to automatically publish to GMB when the WordPress post is created externally784 * Fix display issue when location has no thumbnail785 * Add placeholder index.php files to plugin folders786 * Show "No GMB posts found." again when last post is deleted.787 * Close form when the post currently being edited is being deleted788 789 > **Premium**790 >791 > * Fix Premium features not being enabled when in trial792 > * Fix scheduled posts not being posted in Pro793 > * Fix issue with post type settings causing error when no post type is selected and settings are saved794 > * Check default location when creating new post795 > * Fix Metabox not visible on post campaigns796 > * Fix invisible month switching icons on the datetimepicker797 798 799 = 2.0.5 =800 * Fix location info when importing old posts801 * Fix Google link not appearing when using quickpost802 803 = 2.0.4 =804 * Version function magically disappeared, fixed805 806 = 2.0.3 =807 * Fixes updating issue on multisite808 809 = 2.0.2 =810 * Fix issue causing fatal error on PHP 5.6 < https://wordpress.org/support/topic/2-0-1-update-crashes-site/811 812 = 2.0.1 =813 * Fixes issue with certain Google post fields not updating when updating post814 815 = 2.0.0 =816 * Improved metabox, easily create multiple GMB posts per WordPress post817 * Supports new Google post types818 * Added Quick post feature to create GMB posts based on a preset template. All you have to do is tick the checkbox to post!819 * Fixed plugin conflict causing endless loop820 * Improved and simplified settings page821 * Improved business selector822 * And much, much more!823 824 > **New premium features**825 >826 > * Automatic reposting - Choose time interval and amount of times to repost827 > * Post spinning and variables - Make your posts unique using Spintax and variables such as %site_name%, %post_title%828 > * Video posts829 >830 > **[Learn more about Post to Google My Business Premium](https://tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=learn_more&utm_content=changelog)**831 832 = 1.2 =833 * Added logic for cleaning up options when uninstalling plugin834 * Improved admin/error notices835 836 = 1.1.1 =837 * Fixed PHP compatibility issue https://wordpress.org/support/topic/getting-parse-error-when-installing/838 839 = 1.1 =840 * Improved business location selector841 * Fixed timepicker issues842 * Javascript for metabox now in separate file843 * Fixed incorrect language code causing issues when posting844 * Various other small improvements and fixes845 846 = 1.0 =847 * Initial release848 849 155 == Upgrade Notice == -
post-to-google-my-business/tags/3.2.4/src/API/ProxyAuthenticationAPI.php
r2696031 r3246477 31 31 * @throws \Exception 32 32 */ 33 protected function do_request($url, $args, $method = 'POST') {33 protected function do_request($url, $args, $method = 'POST') { 34 34 $response = $this->http->post($url, [ 35 'body' => wp_parse_args($args, $this->default_args()),35 'body' => wp_parse_args($args, $this->default_args()), 36 36 'timeout' => 20, 37 37 'method' => $method 38 38 ]); 39 39 40 if ($response instanceof \WP_Error){40 if ($response instanceof \WP_Error) { 41 41 throw new \Exception($response->get_error_message()); 42 42 } 43 43 44 44 $response_code = wp_remote_retrieve_response_code($response); 45 if($response_code !== 200 && $response_code !== 201){ 46 throw new \Exception($response['body']); 45 $response_body = wp_remote_retrieve_body($response); 46 47 $data = json_decode($response_body); 48 49 // If the response is not JSON or is empty, throw an exception 50 if (json_last_error() !== JSON_ERROR_NONE) { 51 throw new UnexpectedValueException(__('Invalid JSON response from authentication server.', 'post-to-google-my-business')); 47 52 } 48 53 49 $data = json_decode($response['body']); 50 if(!$data){ 51 throw new UnexpectedValueException(__('Could not parse JSON response from authentication server.', 'post-to-google-my-business')); 54 // Check if there's an error object in the JSON response 55 if (isset($data->error)) { 56 if (is_object($data->error)) { 57 throw new GoogleAPIError($data); 58 } else { 59 throw new UnexpectedValueException((string)$data->error); 60 } 52 61 } 53 62 54 if(!isset($data->error)){ 55 return $data; 56 }elseif(is_object($data->error)) { 57 throw new GoogleAPIError( $data ); 58 }else{ 59 throw new UnexpectedValueException((string)$data->error); 63 // Allow non-200/201 responses if they contain valid JSON without an error object 64 if ($response_code !== 200 && $response_code !== 201) { 65 throw new \Exception(sprintf(__('Unexpected response code %d: %s', 'post-to-google-my-business'), $response_code, $response_body)); 60 66 } 67 68 return $data; 61 69 } 62 70 -
post-to-google-my-business/tags/3.2.4/src/Admin/AdminPage.php
r3228979 r3246477 321 321 $accounts = get_option( 'pgmb_accounts' ); 322 322 echo "<br /><br />"; 323 if ( !$accounts ||empty( $accounts ) ) {324 echo sprintf( '<a href="%s" class="button -primary">%s</a>', esc_url( admin_url( 'admin-post.php?action=mbp_generate_url' ) ), esc_html__( 'Connect to Google My Business', 'post-to-google-my-business' ) );323 if ( empty( $accounts ) ) { 324 echo sprintf( '<a href="%s" class="button button-primary button-hero">%s</a>', esc_url( admin_url( 'admin-post.php?action=mbp_generate_url' ) ), esc_html__( 'Connect to Google Business Profile', 'post-to-google-my-business' ) ); 325 325 return; 326 326 } -
post-to-google-my-business/tags/3.2.4/src/BackgroundProcessing/LocationSyncProcess.php
r3228979 r3246477 5 5 use PGMB\API\ProxyAuthenticationAPI; 6 6 use PGMB\API\ProxyGMBAPI; 7 use PGMB\Notices\BrandedStickyNotice; 7 8 use PGMB\Vendor\TypistTech\WPAdminNotices\AbstractNotice; 8 9 use PGMB\Vendor\TypistTech\WPAdminNotices\StickyNotice; … … 50 51 } 51 52 53 $account_id = $item->get_account_id(); 54 52 55 try{ 53 $this->api->set_access_token($this->auth_api->get_access_token($item->get_account_id())); 54 56 $this->admin_notice_store->delete('location_import_error'); 57 delete_option('pgmb_location_import_last_error_'.$account_id); 58 $this->api->set_access_token($this->auth_api->get_access_token($account_id)); 55 59 if($item instanceof LocationSyncQueueItem){ 56 60 return $this->sync_locations($item); … … 59 63 } 60 64 }catch(\Throwable $e){ 61 $this->admin_notice_store->add(new StickyNotice('location_import_error', sprintf(esc_html__("Something went wrong trying to load your Google Business Profile locations: %s", 'post-to-google-my-business'), $e->getMessage()), AbstractNotice::ERROR)); 62 return false; 63 } 64 65 update_option('pgmb_account_refresh_'.$item->get_account_id(), current_time('mysql', true)); 66 67 return new GroupSyncQueueItem($item->get_account_id()); 65 $error_message = sprintf(__("Something went wrong trying to load the Google Business Profile locations for this account: %s", 'post-to-google-my-business'), $e->getMessage()); 66 $link = sprintf('<a href="%s">%s</a>', esc_url(admin_url('admin.php?page=pgmb_settings#mbp_google_settings')), __('Check Google account settings', 'post-to-google-my-business')); 67 $this->admin_notice_store->add(new BrandedStickyNotice('location_import_error', $error_message, $link, AbstractNotice::ERROR)); 68 $this->cancel(); 69 update_option('pgmb_location_import_last_error_'.$account_id, $error_message); 70 return false; 71 } 72 73 update_option('pgmb_account_refresh_'.$account_id, current_time('mysql', true)); 74 75 return new GroupSyncQueueItem($account_id); 68 76 } 69 77 -
post-to-google-my-business/tags/3.2.4/src/Components/BusinessSelector.php
r3228979 r3246477 348 348 349 349 if($this->location_sync_process->is_processing()){ 350 wp_send_json _error([350 wp_send_json([ 351 351 'loading' => true, 352 352 ]); 353 353 } 354 354 355 // $account_data = reset($accounts); 355 356 // $key = key($accounts); … … 371 372 372 373 if($refresh){ 373 $this->location_sync_process->push_to_queue(new AccountSyncQueueItem($data->account_id))->save()->dispatch(); 374 $this->location_sync_process->push_to_queue(new AccountSyncQueueItem($account_key))->save()->dispatch(); 375 } 376 377 $error_message = get_option('pgmb_location_import_last_error_'.$account_key); 378 if(!empty($error_message)){ 379 wp_send_json_error($error_message); 374 380 } 375 381 -
post-to-google-my-business/tags/3.2.4/src/GoogleUserManager.php
r3235346 r3246477 38 38 } 39 39 40 $response = $this->transport->get('https:// www.googleapis.com/oauth2/v3/certs');40 $response = $this->transport->get('https://app.posttogmb.com/google_cert'); 41 41 42 42 if (is_wp_error($response)) { … … 133 133 $account_data = JWT::decode( $tokens->id_token, JWK::parseKeySet( (array) $keys ), [ 'RS256' ] ); 134 134 135 135 $scopes = explode(" ", $tokens->scope); 136 if(!in_array('https://www.googleapis.com/auth/business.manage', $scopes)){ 137 throw new Exception(__('You did not give the plugin permission to manage your Google Business Profile listings. The plugin will not work without this permission. Please retry the authentication and make sure you grant the plugin permission to manage your locations.', 'post-to-google-my-business')); 138 } 139 //$tokens->scope = https://www.googleapis.com/auth/userinfo.profile openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/business.manage 136 140 $accounts = get_option('pgmb_accounts'); 137 141 if(!$accounts){$accounts = [];} -
post-to-google-my-business/tags/3.2.4/src/Plugin.php
r3235346 r3246477 10 10 const DOMAIN = 'post-to-google-my-business'; 11 11 12 const VERSION = '3.2. 3';12 const VERSION = '3.2.4'; 13 13 14 14 const DASHICON = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIEZpcmV3b3JrcyAxMCwgRXhwb3J0IFNWRyBFeHRlbnNpb24gYnkgQWFyb24gQmVhbGwgKGh0dHA6Ly9maXJld29ya3MuYWJlYWxsLmNvbSkgLiBWZXJzaW9uOiAwLjYuMSAgLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyBpZD0iZGFzaGljb24uZnctUGFnZSUyMDEiIHZpZXdCb3g9IjAgMCAyMDcgMjA3IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHZlcnNpb249IjEuMSINCgl4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIg0KCXg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjA3cHgiIGhlaWdodD0iMjA3cHgiDQo+DQoJPGcgaWQ9IkxheWVyJTIwMSI+DQoJCTxwYXRoIGQ9Ik0gMTQ5Ljk5OTEgMTEyIEMgMTcwLjEyMzYgMTEyIDE4Ni40OTk0IDEyOC4zNzM0IDE4Ni41IDE0OC40OTkxIEMgMTg2LjUgMTY4LjYyNzIgMTcwLjEyMzYgMTg1IDE0OS45OTkxIDE4NSBDIDEyOS44NzQgMTg1IDExMy41IDE2OC42MjcyIDExMy41IDE0OC40OTkxIEMgMTEzLjUgMTI4LjM3MzQgMTI5Ljg3NCAxMTIgMTQ5Ljk5OTEgMTEyIFpNIDE1Ny4yMzUgOTMuMjkgQyAxNTEuOTAyMyAxMDIuNzQ5NiAxNDEuNTYgMTA4Ljg0MyAxMzAuNSAxMDguODQzIEMgMTIxLjMzMDQgMTA4Ljg0MyAxMDkuNjM5MSAxMDQuNDI5MyAxMDMuNTIgOTMuMDk1IEMgOTcuNjYxMSAxMDMuNzAyIDg3LjI2NzcgMTA4Ljg0MyA3Ni44NzUgMTA4Ljg0MyBDIDY1LjU5ODQgMTA4Ljg0MyA1NS42ODIgMTAyLjQ5NjYgNTAuNDA1IDkzLjMxNSBDIDQ0LjM5OTQgMTA0LjExMDkgMzMuNDA1NyAxMDguNzg5IDIzLjYyNSAxMDguNzg5IEMgMTkuNTUxIDEwOC43ODkgMTUuNDQwOSAxMDguMTA1NyAxMS41NCAxMDYuNTEgTCAxMS41NDIgMTgwLjYyMjEgQyAxMS41NDIgMTg4LjA2MjUgMTcuNjI5OSAxOTQuMTUwNCAyNS4wNzAzIDE5NC4xNTA0IEwgMTgyLjYwNDUgMTk0LjE1MDQgQyAxOTAuMDQ1NCAxOTQuMTUwNCAxOTYuMTMyOCAxODguMDYyNSAxOTYuMTMyOCAxODAuNjIyMSBMIDE5Ni4xMzUgMTA2LjIyIEMgMTkyLjI5MjQgMTA3LjkzMzcgMTg4LjA4MzMgMTA4Ljg3NSAxODMuNzUgMTA4Ljg3NSBDIDE3NC40OTk3IDEwOC44NzUgMTYzLjgyMzMgMTA0LjU5OCAxNTcuMjM1IDkzLjI5IFpNIDE0OS45OTkxIDE4My4zMjY5IEMgMTY5LjIwMDcgMTgzLjMyNjkgMTg0LjgyMjkgMTY3LjcwMzEgMTg0LjgyMjkgMTQ4LjQ5OTEgQyAxODQuODIyOSAxMjkuMjk2MyAxNjkuMjAwNyAxMTMuNjczNiAxNDkuOTk5MSAxMTMuNjczNiBDIDEzMC43OTYzIDExMy42NzM2IDExNS4xNzM2IDEyOS4yOTYzIDExNS4xNzM2IDE0OC40OTkxIEMgMTE1LjE3MzYgMTY3LjcwMzEgMTMwLjc5NjkgMTgzLjMyNjkgMTQ5Ljk5OTEgMTgzLjMyNjkgWk0gMTc3LjQ3MzIgMTMzLjQ3NjQgQyAxNzkuOTE4OSAxMzcuOTM2NiAxODEuMzA5NSAxNDMuMDU1OCAxODEuMzA4OSAxNDguNDk5NyBDIDE4MS4zMDg5IDE2MC4wNTEyIDE3NS4wNDc4IDE3MC4xMzY0IDE2NS43MzkyIDE3NS41NjQ4IEwgMTc1LjMwMzQgMTQ3LjkxMTYgQyAxNzcuMDkwNyAxNDMuNDQ1NSAxNzcuNjg0MSAxMzkuODczNiAxNzcuNjg0MSAxMzYuNjk2MiBDIDE3Ny42ODQxIDEzNS41NDQ1IDE3Ny42MDc5IDEzNC40NzM4IDE3Ny40NzMyIDEzMy40NzY0IFpNIDE1MC41NDg1IDE1MS4yMzggTCAxNjAuMTc0IDE3Ny42MDY2IEMgMTYwLjIzNjUgMTc3Ljc2MTYgMTYwLjMxMjcgMTc3LjkwMzkgMTYwLjM5NjggMTc4LjAzOCBDIDE1Ny4xNDIgMTc5LjE4MjUgMTUzLjY0NTMgMTc5LjgxMyAxNDkuOTk5MSAxNzkuODEzIEMgMTQ2LjkyNTQgMTc5LjgxMyAxNDMuOTU5IDE3OS4zNjE4IDE0MS4xNTQxIDE3OC41MzczIEwgMTUwLjU0ODUgMTUxLjIzOCBaTSAxNzEuMTM2NSAxNDYuOTE5IEMgMTcxLjEzNjUgMTQ5LjU5OTUgMTcwLjEwNjMgMTUyLjcxMDMgMTY4Ljc1MjcgMTU3LjA0MTIgTCAxNjUuNjI5NiAxNjcuNDc3OSBMIDE1NC4zMTQ0IDEzMy44MTg1IEMgMTU2LjE5ODIgMTMzLjcxOTUgMTU3Ljg5ODEgMTMzLjUxOTkgMTU3Ljg5ODEgMTMzLjUxOTkgQyAxNTkuNTg0NyAxMzMuMzIwMyAxNTkuMzg2NCAxMzAuODQxMiAxNTcuNjk3MyAxMzAuOTQwNyBDIDE1Ny42OTczIDEzMC45NDA3IDE1Mi42MjcxIDEzMS4zMzgxIDE0OS4zNTI3IDEzMS4zMzgxIEMgMTQ2LjI3NiAxMzEuMzM4MSAxNDEuMTA1MiAxMzAuOTQwNyAxNDEuMTA1MiAxMzAuOTQwNyBDIDEzOS40MTc5IDEzMC44NDEyIDEzOS4yMjAxIDEzMy40MjEgMTQwLjkwNzQgMTMzLjUxOTkgQyAxNDAuOTA3NCAxMzMuNTE5OSAxNDIuNTA0NyAxMzMuNzE5NSAxNDQuMTkwOCAxMzMuODE4NSBMIDE0OS4wNjkxIDE0Ny4xODQ4IEwgMTQyLjIxNjkgMTY3LjczNiBMIDEzMC44MTQ4IDEzMy44MTk2IEMgMTMyLjcwMjIgMTMzLjcyMDcgMTM0LjM5ODQgMTMzLjUyMTEgMTM0LjM5ODQgMTMzLjUyMTEgQyAxMzYuMDg0NSAxMzMuMzIxNiAxMzUuODg1NSAxMzAuODQyNCAxMzQuMTk3NiAxMzAuOTQxOSBDIDEzNC4xOTc2IDEzMC45NDE5IDEyOS4xMjgxIDEzMS4zMzkzIDEyNS44NTMgMTMxLjMzOTMgQyAxMjUuMjY1IDEzMS4zMzkzIDEyNC41NzI3IDEzMS4zMjM4IDEyMy44MzgxIDEzMS4zMDE4IEMgMTI5LjQzNjcgMTIyLjgwMDggMTM5LjA2MDQgMTE3LjE4ODMgMTQ5Ljk5OTEgMTE3LjE4ODMgQyAxNTguMTUwNiAxMTcuMTg4MyAxNjUuNTcyNCAxMjAuMzA0NCAxNzEuMTQyOSAxMjUuNDA4IEMgMTcxLjAwNzggMTI1LjQwMDMgMTcwLjg3NjEgMTI1LjM4MyAxNzAuNzM3MiAxMjUuMzgzIEMgMTY3LjY2MjQgMTI1LjM4MyAxNjUuNDc5NCAxMjguMDYyNCAxNjUuNDc5NCAxMzAuOTQwNyBDIDE2NS40Nzk0IDEzMy41MTk5IDE2Ni45NjcxIDEzNS43MDQyIDE2OC41NTQzIDEzOC4yODM0IEMgMTY5Ljc0NjUgMTQwLjM2OTMgMTcxLjEzNjUgMTQzLjA0OTMgMTcxLjEzNjUgMTQ2LjkxOSBaTSAxMTguNjg4MSAxNDguNDk5MSBDIDExOC42ODgxIDE0My45NTk2IDExOS42NjE2IDEzOS42NTAyIDEyMS4zOTg5IDEzNS43NTYgTCAxMzYuMzM0NyAxNzYuNjc5NiBDIDEyNS44OTA2IDE3MS42MDM5IDExOC42ODgxIDE2MC44OTMxIDExOC42ODgxIDE0OC40OTkxIFpNIDE2MS4zNzUgNzcuMDU1IEMgMTYxLjcyMDIgODAuMDc4NCAxNjEuNjQxMSA4My40NTQzIDE2MyA4Ni42MjUgQyAxNjcuNSA5Ni44NzUgMTc2IDEwMC42MjUgMTgzLjc1IDEwMC42MjUgQyAxODguMDkzNCAxMDAuNjI1IDE5Mi40MzkgOTkuMzE5NSAxOTYuMTM1IDk2Ljk3IEMgMjAyLjAxMjEgOTMuMjMzOSAyMDYuMjUgODYuODU2IDIwNi4yNSA3OC44NzUgQyAyMDYuMjUgNzUuMTI1IDE5My43NSAzMC42MjUgMTkyLjUgMjQuMTI1IEMgMTkxLjc1IDIwLjEyNSAxODkuMjUgMTMuMzc1IDE4My41IDEzLjM3NSBMIDE1My4yNSAxMy4zNzUgTCAxNTMuMjUgMTQuODc1IEMgMTUzLjI1IDE1LjM3NSAxNTYuNzUgNDAuNjI1IDE1OC4yNSA1My4zNzUgQyAxNTkuMjUgNjAuNjI1IDE2MC41IDY4LjM3NSAxNjEuMjUgNzYuMTI1IEMgMTYxLjI5NjkgNzYuNDMgMTYxLjMzOTIgNzYuNzQxOCAxNjEuMzc1IDc3LjA1NSBaTSAxMDggNzcuMDU1IEwgMTA4IDc5LjM0MyBDIDEwOCA3OS44NDMgMTA4LjI1IDgyLjg0MyAxMDguNzUgODQuMzQzIEMgMTEyLjI1IDk2LjA5MyAxMjIgMTAwLjU5MyAxMzAuNSAxMDAuNTkzIEMgMTQxLjI1IDEwMC41OTMgMTUyLjI1IDkyLjU5MyAxNTMgNzguNTkzIEwgMTUyLjggNzcuMDU1IEwgMTQ0LjUgMTMuMzQzIEwgMTA4IDEzLjM0MyBMIDEwOCA3Ny4wNTUgWk0gNTQuNjI1IDc3LjA1NSBMIDU0LjYyNSA4MC4zNDMgQyA1NC42MjUgODAuODQzIDU1LjM3NSA4NC44NDMgNTYuMTI1IDg2Ljg0MyBDIDYwLjg3NSA5Ny4wOTMgNjkuMzc1IDEwMC41OTMgNzcuMTI1IDEwMC41OTMgQyA4Ni42MjUgMTAwLjU5MyA5Ni44NzUgOTQuMzQzIDk5LjM3NSA4MS4wOTMgTCA5OS4zNzUgNzcuMDU1IEwgOTkuMzc1IDEzLjM0MyBMIDYyLjg3NSAxMy4zNDMgTCA1NC42MjUgNzYuMzQzIEwgNTQuNjI1IDc3LjA1NSBaTSAxMS41NCA5Ny4wNSBDIDE1LjEzMzggOTkuMjcwOSAxOS4zMzAzIDEwMC41MzkgMjMuNjI1IDEwMC41MzkgQyAzMy42MjUgMTAwLjUzOSA0NC4zNzUgOTQuMDM5IDQ2LjM3NSA3OS43ODkgTCA0Ni4zNzUgNzguMzQzIEwgNDYuMzc1IDc3LjA1NSBMIDQ2LjM3NSA3NS4wMzkgTCA1NC4zNzUgMTMuMjg5IEwgMjMuODc1IDEzLjI4OSBDIDIyLjEyNSAxMy4yODkgMTkuMTI1IDE0LjUzOSAxNy42MjUgMTYuNzg5IEMgMTYuODc1IDE3LjUzOSAxNi4zNzUgMTguNTM5IDE2LjEyNSAxOS41MzkgQyAxMy42MjUgMjguMjg5IDExLjM3NSAzNy41MzkgOS4xMjUgNDYuNTM5IEMgOC4zNzUgNDguNzg5IDcuNjI1IDUxLjc4OSA3LjEyNSA1NC4yODkgQyA2LjEyNSA1OC4yODkgNS4xMjUgNjIuNzg5IDMuODc1IDY2Ljc4OSBDIDIuODc1IDcwLjc4OSAwLjg3NSA3Ny43ODkgMC44NzUgNzguNTM5IEMgMC44NzUgODYuNDY5MiA1LjMwMjYgOTMuMTk0NCAxMS41NCA5Ny4wNSBaIiBmaWxsPSIjOWVhM2E4Ii8+DQoJPC9nPg0KPC9zdmc+'; … … 116 116 117 117 public static function uninstall_single_site() { 118 global $wpdb; 118 119 $settings = get_option( 'mbp_misc' ); 119 120 if ( !isset( $settings['uninstall_cleanup'] ) || !is_array( $settings['uninstall_cleanup'] ) ) { 120 121 return; 121 122 } 123 $groups_table = $wpdb->prefix . 'pgmb_group_cache'; 124 $locations_table = $wpdb->prefix . 'pgmb_location_cache'; 125 $wpdb->query( "DROP TABLE IF EXISTS {$locations_table};" ); 126 $wpdb->query( "DROP TABLE IF EXISTS {$groups_table};" ); 122 127 if ( in_array( 'delete_settings', $settings['uninstall_cleanup'] ) ) { 123 128 global $wpdb; … … 134 139 } 135 140 } 141 // if(in_array('delete_metadata', $settings['uninstall_cleanup'])){ 142 // $meta_keys = [ 143 // 'mbp_autopost_created', 144 // '_mbp_gutenberg_autopost', 145 // '_pgmb_queued_items', 146 // 'mbp_last_error', 147 // '_mbp_autopost_template', 148 // '_pgmb_autopost_template', 149 // '_pgmb_is_evergreen', 150 // '_pgmb_ap_template_id', 151 // 152 // ]; 153 // foreach($meta_keys as $key){ 154 // delete_post_meta_by_key($key); 155 // } 156 // } 136 157 } 137 158 -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-async-request.php
r3235346 r3246477 6 6 * 7 7 * @license GPL-2.0-or-later 8 * Modified by __root__ on 05-February-2025 using Strauss.8 * Modified by __root__ on 25-February-2025 using Strauss. 9 9 * @see https://github.com/BrianHenryIE/strauss 10 10 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-background-process.php
r3235346 r3246477 6 6 * 7 7 * @license GPL-2.0-or-later 8 * Modified by __root__ on 05-February-2025 using Strauss.8 * Modified by __root__ on 25-February-2025 using Strauss. 9 9 * @see https://github.com/BrianHenryIE/strauss 10 10 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/AbstractField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/CronExpression.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldFactory.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldInterface.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/HoursField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MinutesField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MonthField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/dragonmantank/cron-expression/src/Cron/YearField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/BeforeValidException.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/ExpiredException.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/JWK.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/JWT.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/Key.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/firebase/php-jwt/src/SignatureInvalidException.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/html2text/html2text/src/Html2Text.php
r3235346 r3246477 18 18 * 19 19 * @license GPL-2.0-or-later 20 * Modified by __root__ on 05-February-2025 using Strauss.20 * Modified by __root__ on 25-February-2025 using Strauss. 21 21 * @see https://github.com/BrianHenryIE/strauss 22 22 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTime.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeImmutable.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeInterface.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeTrait.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeZone.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/AbstractNotice.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Factory.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Notice.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/NoticeInterface.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Notifier.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/StickyNotice.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/Store.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor-prefixed/typisttech/wp-admin-notices/src/StoreInterface.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/tags/3.2.4/vendor/autoload.php
r3235346 r3246477 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e9::getLoader();7 return ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8::getLoader(); -
post-to-google-my-business/tags/3.2.4/vendor/composer/autoload_classmap.php
r3228979 r3246477 74 74 'PGMB\\Metabox\\PostCreationMetabox' => $baseDir . '/src/Metabox/PostCreationMetabox.php', 75 75 'PGMB\\Metabox\\StorableDataMetaboxInterface' => $baseDir . '/src/Metabox/StorableDataMetaboxInterface.php', 76 'PGMB\\Notices\\BrandedStickyNotice' => $baseDir . '/src/Notices/BrandedStickyNotice.php', 76 77 'PGMB\\Notifications\\BasicNotification' => $baseDir . '/src/Notifications/BasicNotification.php', 77 78 'PGMB\\Notifications\\FeatureNotification' => $baseDir . '/src/Notifications/FeatureNotification.php', -
post-to-google-my-business/tags/3.2.4/vendor/composer/autoload_real.php
r3235346 r3246477 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e95 class ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e9', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); 27 spl_autoload_unregister(array('ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e9', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8', 'loadClassLoader')); 28 28 29 29 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 31 31 require __DIR__ . '/autoload_static.php'; 32 32 33 call_user_func(\Composer\Autoload\ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::getInitializer($loader));33 call_user_func(\Composer\Autoload\ComposerStaticInit7caea00781b82d622959f90e25360fc8::getInitializer($loader)); 34 34 } else { 35 35 $classMap = require __DIR__ . '/autoload_classmap.php'; -
post-to-google-my-business/tags/3.2.4/vendor/composer/autoload_static.php
r3235346 r3246477 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 88a213064ffdff7fb3cdad65633743e97 class ComposerStaticInit7caea00781b82d622959f90e25360fc8 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 129 129 'PGMB\\Metabox\\PostCreationMetabox' => __DIR__ . '/../..' . '/src/Metabox/PostCreationMetabox.php', 130 130 'PGMB\\Metabox\\StorableDataMetaboxInterface' => __DIR__ . '/../..' . '/src/Metabox/StorableDataMetaboxInterface.php', 131 'PGMB\\Notices\\BrandedStickyNotice' => __DIR__ . '/../..' . '/src/Notices/BrandedStickyNotice.php', 131 132 'PGMB\\Notifications\\BasicNotification' => __DIR__ . '/../..' . '/src/Notifications/BasicNotification.php', 132 133 'PGMB\\Notifications\\FeatureNotification' => __DIR__ . '/../..' . '/src/Notifications/FeatureNotification.php', … … 240 241 { 241 242 return \Closure::bind(function () use ($loader) { 242 $loader->prefixLengthsPsr4 = ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::$prefixLengthsPsr4;243 $loader->prefixDirsPsr4 = ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::$prefixDirsPsr4;244 $loader->classMap = ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::$classMap;243 $loader->prefixLengthsPsr4 = ComposerStaticInit7caea00781b82d622959f90e25360fc8::$prefixLengthsPsr4; 244 $loader->prefixDirsPsr4 = ComposerStaticInit7caea00781b82d622959f90e25360fc8::$prefixDirsPsr4; 245 $loader->classMap = ComposerStaticInit7caea00781b82d622959f90e25360fc8::$classMap; 245 246 246 247 }, null, ClassLoader::class); -
post-to-google-my-business/tags/3.2.4/vendor/composer/installed.json
r3228979 r3246477 7 7 "source": { 8 8 "type": "git", 9 "url": " https://github.com/koen12344/multisite-background-processing.git",9 "url": "[email protected]:koen12344/multisite-background-processing.git", 10 10 "reference": "7724c9d124f1efdc672d0b15923a60c8ee42e434" 11 11 }, … … 47 47 ], 48 48 "description": "WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.", 49 "support": {50 "source": "https://github.com/koen12344/multisite-background-processing/tree/prod"51 },52 49 "install-path": "../deliciousbrains/wp-background-processing" 53 50 }, -
post-to-google-my-business/trunk/composer.lock
r3228979 r3246477 12 12 "source": { 13 13 "type": "git", 14 "url": " https://github.com/koen12344/multisite-background-processing.git",14 "url": "[email protected]:koen12344/multisite-background-processing.git", 15 15 "reference": "7724c9d124f1efdc672d0b15923a60c8ee42e434" 16 16 }, … … 50 50 ], 51 51 "description": "WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.", 52 "support": {53 "source": "https://github.com/koen12344/multisite-background-processing/tree/prod"54 },55 52 "time": "2025-01-11T16:16:36+00:00" 56 53 }, … … 438 435 { 439 436 "name": "myclabs/deep-copy", 440 "version": "1.1 2.1",437 "version": "1.13.0", 441 438 "source": { 442 439 "type": "git", 443 440 "url": "https://github.com/myclabs/DeepCopy.git", 444 "reference": " 123267b2c49fbf30d78a7b2d333f6be754b94845"445 }, 446 "dist": { 447 "type": "zip", 448 "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/ 123267b2c49fbf30d78a7b2d333f6be754b94845",449 "reference": " 123267b2c49fbf30d78a7b2d333f6be754b94845",441 "reference": "024473a478be9df5fdaca2c793f2232fe788e414" 442 }, 443 "dist": { 444 "type": "zip", 445 "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414", 446 "reference": "024473a478be9df5fdaca2c793f2232fe788e414", 450 447 "shasum": "" 451 448 }, … … 486 483 "support": { 487 484 "issues": "https://github.com/myclabs/DeepCopy/issues", 488 "source": "https://github.com/myclabs/DeepCopy/tree/1.1 2.1"485 "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0" 489 486 }, 490 487 "funding": [ … … 494 491 } 495 492 ], 496 "time": "202 4-11-08T17:47:46+00:00"493 "time": "2025-02-12T12:17:51+00:00" 497 494 }, 498 495 { … … 850 847 { 851 848 "name": "phpstan/phpdoc-parser", 852 "version": "2. 0.0",849 "version": "2.1.0", 853 850 "source": { 854 851 "type": "git", 855 852 "url": "https://github.com/phpstan/phpdoc-parser.git", 856 "reference": " c00d78fb6b29658347f9d37ebe104bffadf36299"857 }, 858 "dist": { 859 "type": "zip", 860 "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ c00d78fb6b29658347f9d37ebe104bffadf36299",861 "reference": " c00d78fb6b29658347f9d37ebe104bffadf36299",853 "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68" 854 }, 855 "dist": { 856 "type": "zip", 857 "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", 858 "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", 862 859 "shasum": "" 863 860 }, … … 891 888 "support": { 892 889 "issues": "https://github.com/phpstan/phpdoc-parser/issues", 893 "source": "https://github.com/phpstan/phpdoc-parser/tree/2. 0.0"894 }, 895 "time": "202 4-10-13T11:29:49+00:00"890 "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0" 891 }, 892 "time": "2025-02-19T13:28:12+00:00" 896 893 }, 897 894 { -
post-to-google-my-business/trunk/post-to-google-my-business.php
r3235346 r3246477 6 6 Description: Automatically create a post on Google My Business when creating a new WordPress post 7 7 Author: Koen Reus 8 Version: 3.2. 38 Version: 3.2.4 9 9 Author URI: https://koenreus.com 10 10 Text Domain: post-to-google-my-business -
post-to-google-my-business/trunk/readme.txt
r3235346 r3246477 1 1 === Post to Google My Business (Google Business Profile) === 2 Contributors: koen12344, freemius3 Donate link: https:// tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=donate4 Tags: google my business, g mb, auto publish, posts, post, local search, google my business posts, google places, google plus, google+2 Contributors: koen12344, valdemirmaran, freemius 3 Donate link: https://digitaldistortion.dev/?utm_source=repository&utm_medium=link&utm_campaign=donate 4 Tags: google my business, google business profile, gmb, local seo, google places 5 5 Requires at least: 4.9.0 6 Tested up to: 6.7. 17 Stable tag: 3.2. 36 Tested up to: 6.7.2 7 Stable tag: 3.2.4 8 8 Requires PHP: 7.0 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html 11 11 12 (Auto-)Publish and manage Google My Business (GMB) Posts from the WordPress Dashboard!12 Auto-publish posts, pages & CPTs, plus manage Google Business Profile posts - all from your WordPress dashboard! 13 13 14 14 == Description == 15 15 16 The posts feature in Google Business Profile (formerly: Google My Business) is a great way to improve the presence of your, or your clients' business on Google. It can be a hassle however to have to log in to Google My Business every time you want to create a new post, likewise it can be an easy thingto forget.16 The **Posts** feature in **Google Business Profile** (formerly Google My Business) is a powerful way to enhance your business's presence on Google. However, constantly logging into your Google account to create new posts can be time-consuming—and easy to forget. 17 17 18 Don't miss out on the SEO benefit, and save time by creating posts on Google My Business directly from the WordPress Dashboard!18 With the **Post to Google My Business** plugin, you can save time and maximize your SEO benefits by publishing directly from your WordPress dashboard! 19 19 20 Use the Auto-post feature to instantly publish your latest WordPress post to your Google Business Profile, based on a preset template and the posts' featured image. 20 = Effortless auto-posting & powerful features = 21 21 22 The Post to Google My Business plugin utilizes the official Google My Business API with secure oAuth authentication to ensure your Google account is safe.22 Use the **Auto-post** feature to instantly share your latest WordPress content to your Google Business Profile. Posts are generated based on a preset template and automatically include your post’s featured image, keeping your profile fresh with minimal effort. 23 23 24 = Features=25 * Create, edit or delete posts without having to visit your Google My Business dashboard 26 * Automatically publish your latest WordPress posts to GMB using the Auto-post feature27 * Generates beautiful auto-posts from any content. HTML, shortcodes and clutter from visual editors such as Divi or Visual Composer are automatically stripped 28 * Network- and site-level Multisite support 29 * Supports publishing to GMB from external apps (such as Zapier, Integromat, IFTTT, ManageWP, InfiniteWP, MainWP and more) 30 * Uses official Google My Business API 31 * Developer friendly. Uses the latest built-in WordPress functions and has various actions/filters to hook into. 32 * Translatable. Uses built-in WordPress functions for easy translation. 33 * Compatible with Gutenberg/Block Editor 34 * Supports modern image formats such as WebP and AVIF 24 = Why choose Post to Google My Business? = 25 ✅ **Create, edit, and delete posts** without leaving WordPress 26 ✅ **Auto-publish** your latest WordPress posts, pages and custom post types to your Google Business Profile 27 ✅ **Beautiful, clean posts** – Automatically strips unnecessary HTML, shortcodes, and visual editor clutter (Divi, WPBakery, etc.) 28 ✅ **Multisite support** – Works on both network and site level 29 ✅ **Third-party integration** – Publish from **Zapier, IFTTT, Integromat, ManageWP, MainWP**, and more 30 ✅ **Secure & reliable** – Uses the official **Google My Business API** with **oAuth** authentication 31 ✅ **Developer-friendly** – Hooks, filters, and WordPress-native functions for easy customization 32 ✅ **Translation-ready** – Fully compatible with WPML and other translation plugins 33 ✅ **Modern image support** – Works with **WebP**, **AVIF**, and other optimized formats 34 ✅ **Gutenberg-compatible** – Works seamlessly with the Block Editor 35 35 36 > **Time-saving features available in the Premium versions:** 37 > 38 > * Product support, create "real" Products in GBP based on your WooCommerce Products or other content 39 > * Schedule Google My Business posts for automatic publishing in the future 40 > * Publish posts to multiple locations, across multiple Google accounts at once 41 > * Automatic re-posting (post recycling) - Automatically recycle your GMB posts at preset intervals and x amount of times 42 > * Auto publish posts with specific tags or categories43 > * Make posts unique using Spintax 44 > * Post Campaigns - Create posts on GMB that aren't tied to any specific WordPress post or page. 45 > * Evergreen content - randomly publish items from a selection of yourcontent46 > * Multiple Auto-post templates 47 > * Manage GMB post campaigns for your agency clients48 > * Much more! 49 > 50 >**[Learn more about Post to Google My Business Premium](https://tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=learn_more&utm_content=description)**36 = Time-saving features available in Premium: = 37 38 Upgrade to **Post to Google My Business premium** for **even more automation and flexibility**: 39 ⭐ **Product Support** – Create and manage **real** Google Business Profile **Products** from WooCommerce or other content 40 ⭐ **Scheduled Posts** – Plan and **automate future post publishing** 41 ⭐ **Multi-location & Multi-account support** – Publish posts across **multiple GBP locations** at once 42 ⭐ **Auto Re-posting (Recycling)** – Keep your content fresh by **automatically republishing** posts at set intervals 43 ⭐ **Category- & Tag-based Auto-publishing** – Control exactly what gets posted 44 ⭐ **Spintax Support** – Generate **unique** content variations to avoid duplication 45 ⭐ **Evergreen Content** – Randomly publish from a selection of your best content 46 ⭐ **Post Campaigns** – Create GMB posts that aren’t tied to a specific WordPress post or page 47 ⭐ **Multiple Auto-post Templates** – Customize and manage different posting styles 48 ⭐ **Agency Support** – Manage Google My Business posts for **multiple clients** 49 50 **[Learn more about Post to Google My Business Premium](https://tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=learn_more&utm_content=description)** 51 51 52 52 = Great support! = … … 57 57 Installing and configuring Post to Google My Business is easy! 58 58 59 1. Upload the plugin files to the `/wp-content/plugins/post-to-google-my-business` directory, or install it through the plugins page within theWordPress Dashboard.60 2. Activate the plugin through the **Plugins** pagein WordPress61 3. Go to the **Post to GMB** > **Settings** page to configure the plugin62 4. To allow your website to post to Google My Business on your behalf, click **Connect to Google My Business**. Confirm the authorization using the Google account that holds your business location.63 5. You will be redirected back to the settings page. Select your business location and press **Save Changes**.59 1. Upload the plugin files to the `/wp-content/plugins/post-to-google-my-business` directory, or install it through the **Plugins** section within your WordPress Dashboard. 60 2. Activate the plugin through the **Plugins** section in WordPress 61 3. Go to the **Post to GMB** > **Settings** > **Google Settings** page to configure the plugin 62 4. To allow your website to post to your Google Business Profile on your behalf, click **Connect to Google Business Profile**. Confirm the authorization using the Google account that holds the business location(s) you want to use. Make sure you check the checkbox to allow the plugin to manage your GMB locations. 63 5. You will be redirected back to the settings page. Select your business location in the **Default Location** section and press **Save Changes**. 64 64 6. All set! When creating a new WordPress **Post** there will a new metabox that allows you to create posts on Google My Business. 65 65 … … 115 115 == Changelog == 116 116 117 = 3.2.4 = 118 * Improved: Design of admin notices 119 * Improved: Hide location syncing error after successful sync 120 * Improved: Show more descriptive error when permission to manage locations hasn't been granted during authentication 121 * Improved: Route Google JWK keyset through backend instead of calling the Google URL directly 122 * Fix: Show error in locations field when refreshing of locations fails 123 * Fix: Delete location and group cache MySQL tables on plugin uninstall 124 117 125 = 3.2.3 = 118 126 * Improved: Error handling for retrieval of Google public keys … … 145 153 * Update Freemius SDK 146 154 147 = 3.1.24 =148 * Update: Freemius SDK 2.7.1149 150 > **Premium**151 >152 > * Fix: Creating products not working (due to Google changes)153 154 = 3.1.23 =155 > **Premium**156 >157 > * Fix: Delete event date of previous post not updated when editing auto-repost schedule158 > * Added: Indication when previous auto-repost item will be deleted159 160 = 3.1.22 =161 * Tested on WordPress 6.5162 * Fix: return original image if failing to create intermediate163 * Fix: Incorrect loading of admin styles164 * Improved: Authentication logic165 * Improved: (Developers) LocalPost object now has getters166 * Update: Freemius SDK 2.6.2167 168 169 = 3.1.21 =170 * Fix: Potential issue with images smaller than 1200x900171 * Update: Freemius SDK 2.6.1172 173 = 3.1.18 =174 * Add option to bypass WP-Cron for debugging purposes175 176 = 3.1.17 =177 * Tested on WordPress 6.4178 * Update: Add additional 20 second lockout to prevent double posts when auto-posting179 * Update: Freemius SDK 2.5.12180 181 = 3.1.16 =182 * Update: WP Background processing 1.1.1183 * Update: Freemius SDK 2.5.11184 185 > **Premium**186 >187 > * Fix: Change to GBP causing products to stop working188 189 = 3.1.15 =190 * Fix: Add nonce to ajax endpoint to dismiss notifications191 192 = 3.1.14 =193 * Update: Cleaned up Javascript dependencies194 195 > **Premium**196 >197 > * Fix: Google accounts being duplicated in the business selector when creating/editing multiple posts198 > * Fix: Publish button saying "Publish Now" instead of "Update" when editing posts199 200 = 3.1.13 =201 * Fix: Posts longer than 1500 characters containing emoji causing Google API error202 203 = 3.1.12 =204 > **Premium**205 >206 > * Fix: Not selecting any location in the auto-post template location selector caused JS/PHP error207 208 = 3.1.11 =209 * Fix: Freemius SDK updated to v2.5.5 to fix "Call to undefined method Freemius_Api_WordPress::RemoteRequest()" error210 * Update: Pt_BR translations by @valdermirmaran211 * Update: "Product" tab now aligned to the right to better separate it from regular posts212 213 > **Premium**214 >215 > * Update: Removed call-to-action for Products (in accordance with GMB itself)216 217 = 3.1.10 =218 * Added extra check for mbstring when creating posts219 * Updated Freemius SDK220 221 > **Premium**222 >223 > * Products are now allowed to have no description224 225 = 3.1.9 =226 * Added "Refresh Post Status" bulk option to post list227 228 > **Agency**229 >230 > * Added CSV export to post list231 232 = 3.1.8 =233 * fix issue blocking site health screen234 235 = 3.1.7 =236 * Make product price field no longer required237 * Add check for mbstring PHP module238 239 = 3.1.6 =240 * Tested on 6.2241 * Added notification about new Product Sync for GBP plugin242 * Included new translations243 244 = 3.1.5 =245 * Add extra content-type header check for WebP images246 247 = 3.1.4 =248 * Fix "Refresh locations" button not actually refreshing locations from GMB API249 250 = 3.1.3 =251 * Fix business selector not loading all locations252 253 = 3.1.2 =254 * Fix issues with account/business selector255 256 > **Premium**257 >258 > * Convert Campaign tags/categories from built-in to custom taxonomy259 260 = 3.1.1 =261 > **Premium**262 >263 > * Fix missing account controls264 265 = 3.1.0 =266 * Prevent duplicate posts when using auto-post267 * Improve auto-posting logic268 * Add option to enable/disable specific request types (Editor, Internal, XML-RPC, REST)269 * Lowered event & offer title length from 80 to 58 characters270 * Prevent items in the trash from creating (scheduled) GPB posts271 * Improve the business selector to load large amounts of locations in chunks272 * Refactoring273 274 > **Premium**275 >276 > * Fix posting products (effective_id error)277 > * Fix products showing incorrect summary in post list278 279 = 3.0.28 =280 * Add fix for duplicate posts in same session281 282 = 3.0.27 =283 * Add check for sites that have relative image URLs for some reason284 285 = 3.0.26 =286 > **Premium**287 >288 > * Add better detection of product creation errors289 > * Fix cookie check when submitting cookie details290 > * Various small improvements to product API code291 292 293 = 3.0.25 =294 > **Premium**295 >296 > * Improve product JSON decoding logic297 298 = 3.0.24 =299 * Updated pt translation300 301 > **Premium**302 >303 > * Fix product custom category field not saving304 305 = 3.0.23 =306 > **Premium**307 >308 > * Fix image upload error for products309 310 = 3.0.22 =311 * Add clearer errors to dialog when clicking post in calendar312 * Change layout of store/shop code in created posts dialog313 314 > **Premium**315 >316 > * Fix option to disable date & time selector for auto-post templates317 318 = 3.0.21 =319 * Add store code to business selector and created posts dialog320 * Add debounce to date & time selector to reduce Ajax calls321 * Add option to disable date & time selector on event/offer dates322 * Add delay to posts to avoid excessive API calls323 * Fix delete API call being triggered multiple times324 * Fix auto-post on scheduled WordPress posts325 326 > **Premium**327 >328 > * Added "loop" function to evergreen content329 > * Evergreen content now only posts unique content330 > * Auto-repost will delete the previous post331 332 = 3.0.20 =333 334 * Fix image not updating when updating post335 * Fix image not being deleted from GMB when deleted from post336 * Fix CTA not being deleted from GMB when deleted from post337 * Allow placeholder variables in date fields338 339 > **Premium**340 >341 > * Fix product price range field not loading in auto-post template342 > * Fix duplicate call when deleting multiple posts at once343 > * Refresh location list after updating product cookies344 345 = 3.0.19 =346 * Remove hasVoiceOfMerchant check347 348 > **Premium**349 >350 > * Fix cookies not saving351 352 = 3.0.18 =353 * Move access token from URL to Auth header354 * Add check for IP address in call-to-action URL355 * Fix label for locations in business selector356 * Adjust max post length to 1499 characters to avoid length error357 358 = 3.0.17 =359 * Change button selection checkboxes to dropdown360 * Route API requests through custom backend361 * Fix Undefined property: stdClass::$languageCode notice/error362 * Fix Undefined index: order/orderby notices/errors363 * Fix Undefined index: hook_suffix notice/error364 * Update locales (Brazilian Portuguese thanks to Valdemir Maran)365 366 > **Premium**367 >368 > * Disable call-to-action button types that aren't available for products369 > * Clarify how to publish products370 > * Fix Undefined index: mbp_form_fields notice/error when creating new auto-post template371 > * Allow wildcard variables in product max pricerange field372 > * Add new WooCommerce variables for variation products373 > * Add setting check to cookie dialog374 > * Fix saving cookie settings being triggered twice375 376 = 3.0.14 =377 * Fix incorrect location selection within groups378 * Fix support for Google accounts with more than 20 location groups379 * Remove shortcodes from WooCommerce product description380 381 > **Premium**382 >383 > * Fix undefined index errors on product form when WP_DEBUG was enabled384 > * Fix intermittent issue with location(s) not being selected in the "Advanced post settings"385 > * Restore disappeared "Toggle Selection" function on Google Accounts386 387 = 3.0.13 =388 * Fix auto-post toggle not being turned on by default in block editor389 * Improve API code to be compatible with new version of GMB API390 391 > **Premium**392 >393 > * Improve product publishing api394 395 = 3.0.12 =396 397 > **Premium**398 >399 > * Improve code for product publishing400 401 = 3.0.11 =402 * Fix incorrect token revocation request403 * Fix pre-php 7.3 error composer message404 * Clarify "Refresh token" error message405 * Fix a few locale mistakes406 * Bump minimum PHP version to 7.0407 * Fix for Notice: Trying to access array offset on line 163408 * Add account key to mbp_business_selector_locations filter409 * Fix display of service area businesses in business selector410 * Add placeholder parsing to event/offer title and trim it to 80 characters411 412 > **Premium**413 >414 > * Show error when evergreen content schedule does not exist in cron415 > * Fix edit and duplicate functions in Starter version416 > * Add debug data download for products417 418 = 3.0.10 =419 * Add graceful error for when the Google authorization is cancelled420 * Fix advanced post settings spacing421 * Update Freemius SDK422 * Clear access token cache when account is deleted423 * Fix a few permission issues424 425 = 3.0.9 =426 427 > **Premium**428 >429 >* Improvements to product publishing code430 431 = 3.0.8 =432 * Fix text domain on update notification433 * Prevent api error when trying to create product434 435 = 3.0.7 =436 * Fix location list not showing all locations in groups with more than 100 locations437 * Add upgrade & new feature notifications438 * Improve upgrade process439 440 = 3.0.6 =441 442 * Fix controls on dynamically loaded accounts in business selector443 444 > **Premium**445 >446 > * Fix woocommerce product category sync447 448 = 3.0.5 =449 450 * Update locales (Portuguese thanks to Valdemir Maran)451 * Post editor: Various layout and logic fixes452 * WP 5.9: Fix calendar icon453 454 > **Premium**455 >456 > * Add product support457 > * Fix evergreen not selecting the correct posts458 > * Fix evergreen page empty in Starter version459 > * Fix evergreen date timezone issue460 461 = 3.0.2 =462 * Updated Brazilian Portuguese translations (Thanks to @valdemirmaran)463 * Fix error when no post types are selected in the settings464 * Added evergreen content promotional page465 * Fix not showing welcome message on new site within multisite466 467 > **Premium**468 >469 > * Fix private backend post types being indexed by Yoast causing 404s470 471 = 3.0.1 =472 * Remove deprecated "Get Offer" call to action473 * Fix link parsing mode not working474 * Updated pot file (now automatically included in build process)475 * Updated Dutch translations476 * Fixed localization for calendar477 * Fixed datetime check in auto-post template editor478 479 > **Premium**480 >481 > * Added check for invalid evergreen post schedule482 > * Fixed localization for cron selector483 484 = 3.0.0 =485 * Refactor & improve a lot of code, mainly improved the way the plugin connects to Google486 * Paginated post & created post list, added bulk actions487 * Fix Featured Image checkbox state not saving488 * Remove pointless debug page489 * Moved post scheduling calendar to its own dashboard page, added popup with options490 * Added WebP support (GMB does not support it, so plugin will convert image to PNG)491 * Added WooCommerce support by default492 493 > **Premium**494 >495 > * (Starter) Moved ability to select a location per post to Starter496 > * (Pro) Added ability to create multiple post templates497 > * (Pro) Added "evergreen content" feature to automatically publish posts old posts498 > * (Pro) Moved ability to publish posts to multiple locations at once to Pro499 > * (Agency) Added ability to connect multiple Google accounts500 501 502 = 2.2.49 =503 * Add option to advanced post options to change link parsing mode504 505 = 2.2.48 =506 * Temporary fix for the cURL error 60: SSL certificate problem: certificate has expired error507 508 = 2.2.45 =509 * Fix issue with image size detection (filesize(): stat failed warning)510 * Fix image size detection on post created outside WP admin dash (Fatal error: Call to undefined function PGMB\download_url())511 * Fix warnings when location has no address or locality512 513 = 2.2.44 =514 > **Premium**515 >516 > * Now it was posting every hour, doh! Fixed517 518 = 2.2.43 =519 * Tested on WordPress 5.8520 * Fixed issue with metabox not working in block editor521 522 > **Premium**523 >524 > * Fixed issue with automatic re-post that made a post go out every minute(!) instead of every day of the month525 > * Added "Daily" option to re-post feature526 527 = 2.2.42 =528 * Add Brazilian Portuguese translations (thanks to @valdemirmaran)529 530 = 2.2.41 =531 * Add selection function for location groups532 * Add note for Block Editor CPTs without "custom-fields" support enabled533 * Update Freemius SDK534 535 = 2.2.39 =536 * Fixes "Cannot declare class PGMB\Vendor\Cron\AbstractField, because the name is already in use" error when saving post537 538 = 2.2.34 =539 * Fix for image size detection logic540 541 = 2.2.33 =542 * Add extra error message for when Product post type is chosen543 * Fix block editor issue for custom post types that don't have custom-fields enabled544 545 = 2.2.32 =546 * Use wp_get_http_headers instead of get_headers for better compatibility547 548 = 2.2.31 =549 * Testing on WP 5.6, small fixes for PHP8 compatibility550 551 = 2.2.29 =552 * Fixed some issues with checking of post image size553 * Fixed image not showing up in editor when it was too small to have a "medium" thumbnail554 * Updated Freemius SDK555 556 = 2.2.28 =557 * Fix compatibility issue with older version of plugin558 559 = 2.2.27 =560 * Fix date and time checker561 * Fix checkbox state not being loaded since 5.5.1562 563 = 2.2.26 =564 * Added (a lot) of location-specific variables565 566 = 2.2.25 =567 * Make all GMB post types and WP post types available in free version568 * Fix Gutenberg assets being loaded in post type that was disabled569 570 > **Premium**571 >572 > * Fix campaigns feature being partially available in Pro version573 > * Fix default location selector showing checkboxes instead of radiobuttons when refreshing574 575 = 2.2.19 =576 * Fixed handling of URLs containing non-ascii characters577 * Added more info about product posts578 579 = 2.2.18 =580 * Temporarily remove check for isLocalPostApiDisabled due to COVID-19581 582 = 2.2.17 =583 * Added COVID-19 post584 * Added full autopost template editor in settings to edit the default autopost template585 * Added welcome message586 * Added location-specific variables (%location_primaryPhone%, %location_websiteUrl% ...)587 * Added new mbp_placeholder_decorators ($decorators, $parent_post_id) filter, and VariableInterface588 * Add checks for image size, disable video (no longer allowed by Google)589 * Simplified & improved auto-post logic590 * Improved image uploader (ready for 10 images, but Google API doesn't support it yet)591 * Improved error notices in metabox592 * Improvements to multisite handling and activation/deactivation/delete routines593 * Fixed error notice when fetching empty location groups594 * Fixed Free version not deactivating when activating premium595 * Fixes empty location group causing PHP notice596 * Fixed Gutenberg double post bug and improve compatibility597 * Fix Draft post showing incorrect publish date598 * Fix notice when Google error doesn't include details599 * Update Freemius SDK to fix multisite issue600 601 > **Premium**602 >603 > * Add "Event all day" checkbox for events without a start and end time604 > * Added feature to enable autopost per category or tag605 > * Fixed Auto-post template editor button being shown on campaigns page606 > * Fixed errors when when all post types are unchecked in the settings page607 608 = 2.2.10 =609 * Fix issue with paragraphs getting removed in auto-post610 611 = 2.2.9 =612 * Fix auto-post incorrectly throwing 1500 character error613 * Hide "Save draft" button on already published post614 615 > **Premium**616 >617 > * Fix caption on "Save Template" button switching to "Publish" when adding schedule618 619 = 2.2.8 =620 * Fix gutenberg issue caused by 2.2.7621 622 = 2.2.7 =623 * Fix compatibility issue with Yoast SEO & Classic Editor624 625 = 2.2.6 =626 * Updated .pot file and Grunt scripts627 * Updated Dutch, Russian and Ukrainian translations628 * Display post publish date in metabox629 630 = 2.2.5 =631 * Fix duplicate post issue632 633 > **Premium**634 >635 > * Remove Auto-post checkbox being shown on campaigns page636 637 = 2.2.4 =638 * Fix issues with CTA URL on button639 * Improve updater (again)640 * Fix default value for CTA URL field641 * Fix CTA url field disappearing when loading post642 643 > **Premium**644 >645 > * Fix repost schedule being improperly parsed646 647 = 2.2.3 =648 * Improve updater649 650 = 2.2.2 =651 * Fix Form field parser allowing dates in the past652 653 = 2.2.1 =654 * Fix for Gutenberg autopost655 * Restore filter functions656 * Update Freemius SDK657 658 = 2.2 =659 * Moved API communication to an asynchronous process660 * Added Auto-post template editor661 * Added Debug info tab to settings page662 * Added dialog with created posts663 * Made UI more intuitive664 * Added some fixes to improve compatibility with Gutenberg665 * Added functionality to fetch image from content or use the featured image666 * Tons of improvements and bug fixes "under the hood"667 * Lots more to come in future updates!668 669 > **Premium**670 >671 > * Made re-posting much more flexible672 > * Re-posted posts will now appear as a separate post in the metabox673 674 = 2.1.18 =675 > **Premium**676 >677 > * Actually parse the relative datetimes on scheduled posts :)678 > * Disable Product post support (removed from GMB api)679 > * Improve display of datetimes, better timezone handling680 681 = 2.1.17 =682 > **Premium**683 >684 > * Allow relative time notation in datetimepickers685 686 = 2.1.16 =687 * Improved parsing of post content688 689 = 2.1.11 =690 * Improve development & deployment methods691 692 = 2.1.10 =693 * Update Freemius SDK694 * Remove shortcodes from auto-post by default695 696 = 2.1.9 =697 * Security fix698 699 = 2.1.8 =700 * Fixes issue with image URL spinner with no image set (PHOTO media error)701 702 = 2.1.7 =703 * Properly delete child posts and schedules when deleting parent post704 705 = 2.1.6 =706 > **Premium**707 >708 > * Spin image URL709 710 = 2.1.5 =711 * Fix issue when trying to load more than 100 locations712 * Apply filter mbp_get_locations filter to cached locations713 714 = 2.1.4 =715 * Fix settings page conflict caused by plugins using old version of WeDevs Settings API716 * Fix Learn more link about grayed out locations717 718 = 2.1.3 =719 * Fix auto-post sending campaign posts720 * Improve Gutenberg compatibility721 722 = 2.1.2 =723 * Fix auto-post being triggered too early724 * Simplify business selector725 726 > **Premium**727 >728 > * Fix repost sheduled events not getting deleted729 > * Fix reposts not being published when recurrence was set to 0730 > * Fix reposts being posted twice when not scheduled731 732 = 2.1.1 =733 * Increase API timeout734 * Fix multiline posts735 * Improve error messages736 * Fix API token refresh requests when network activated737 738 = 2.1.0 =739 * Improves location loading (+100 Locations in account)740 * Check whether locations have access to the Posts API741 * Call Now button support742 * Improves auto-post logic743 * Restructuring code744 745 > **Premium**746 >747 > * Improves posting to multiple locations at once748 > * Product post support749 750 = 2.0.10 =751 * Update Freemius SDK752 * Add filters to Auto post feature753 754 > **Premium**755 >756 > * Add option to edit Auto post URL757 758 = 2.0.9 =759 * Fix 500 error on PHP 5.4 https://wordpress.org/support/topic/500-error-when-adding-a-new-post/760 761 = 2.0.8 =762 * Fix issue some settings getting deleted when updating from 2.0.6 to 2.0.7763 * Improve compatibility with external publishing apps and services764 * Made plugin settings page more intuitive765 766 = 2.0.7 =767 * Strip HTML from posts768 * Cut posts to 1500 characters769 * Added word and character counters770 * Simplified business selector771 * Removed user selector, now integrated with business selector772 * Better support for grouped locations773 * Allow filtering/searching of locations774 * Remove references to datetimepicker775 776 > **Premium**777 >778 > * Added buttons to Select/Deselect all locations at once779 > * Fixed some issues with Pro features in trial780 781 = 2.0.6 =782 * Add ability to save posts as draft783 * Add option to invert the "Quick Publish" checkbox. Allows you to automatically publish to GMB when the WordPress post is created externally784 * Fix display issue when location has no thumbnail785 * Add placeholder index.php files to plugin folders786 * Show "No GMB posts found." again when last post is deleted.787 * Close form when the post currently being edited is being deleted788 789 > **Premium**790 >791 > * Fix Premium features not being enabled when in trial792 > * Fix scheduled posts not being posted in Pro793 > * Fix issue with post type settings causing error when no post type is selected and settings are saved794 > * Check default location when creating new post795 > * Fix Metabox not visible on post campaigns796 > * Fix invisible month switching icons on the datetimepicker797 798 799 = 2.0.5 =800 * Fix location info when importing old posts801 * Fix Google link not appearing when using quickpost802 803 = 2.0.4 =804 * Version function magically disappeared, fixed805 806 = 2.0.3 =807 * Fixes updating issue on multisite808 809 = 2.0.2 =810 * Fix issue causing fatal error on PHP 5.6 < https://wordpress.org/support/topic/2-0-1-update-crashes-site/811 812 = 2.0.1 =813 * Fixes issue with certain Google post fields not updating when updating post814 815 = 2.0.0 =816 * Improved metabox, easily create multiple GMB posts per WordPress post817 * Supports new Google post types818 * Added Quick post feature to create GMB posts based on a preset template. All you have to do is tick the checkbox to post!819 * Fixed plugin conflict causing endless loop820 * Improved and simplified settings page821 * Improved business selector822 * And much, much more!823 824 > **New premium features**825 >826 > * Automatic reposting - Choose time interval and amount of times to repost827 > * Post spinning and variables - Make your posts unique using Spintax and variables such as %site_name%, %post_title%828 > * Video posts829 >830 > **[Learn more about Post to Google My Business Premium](https://tycoonmedia.net/?utm_source=repository&utm_medium=link&utm_campaign=learn_more&utm_content=changelog)**831 832 = 1.2 =833 * Added logic for cleaning up options when uninstalling plugin834 * Improved admin/error notices835 836 = 1.1.1 =837 * Fixed PHP compatibility issue https://wordpress.org/support/topic/getting-parse-error-when-installing/838 839 = 1.1 =840 * Improved business location selector841 * Fixed timepicker issues842 * Javascript for metabox now in separate file843 * Fixed incorrect language code causing issues when posting844 * Various other small improvements and fixes845 846 = 1.0 =847 * Initial release848 849 155 == Upgrade Notice == -
post-to-google-my-business/trunk/src/API/ProxyAuthenticationAPI.php
r2696031 r3246477 31 31 * @throws \Exception 32 32 */ 33 protected function do_request($url, $args, $method = 'POST') {33 protected function do_request($url, $args, $method = 'POST') { 34 34 $response = $this->http->post($url, [ 35 'body' => wp_parse_args($args, $this->default_args()),35 'body' => wp_parse_args($args, $this->default_args()), 36 36 'timeout' => 20, 37 37 'method' => $method 38 38 ]); 39 39 40 if ($response instanceof \WP_Error){40 if ($response instanceof \WP_Error) { 41 41 throw new \Exception($response->get_error_message()); 42 42 } 43 43 44 44 $response_code = wp_remote_retrieve_response_code($response); 45 if($response_code !== 200 && $response_code !== 201){ 46 throw new \Exception($response['body']); 45 $response_body = wp_remote_retrieve_body($response); 46 47 $data = json_decode($response_body); 48 49 // If the response is not JSON or is empty, throw an exception 50 if (json_last_error() !== JSON_ERROR_NONE) { 51 throw new UnexpectedValueException(__('Invalid JSON response from authentication server.', 'post-to-google-my-business')); 47 52 } 48 53 49 $data = json_decode($response['body']); 50 if(!$data){ 51 throw new UnexpectedValueException(__('Could not parse JSON response from authentication server.', 'post-to-google-my-business')); 54 // Check if there's an error object in the JSON response 55 if (isset($data->error)) { 56 if (is_object($data->error)) { 57 throw new GoogleAPIError($data); 58 } else { 59 throw new UnexpectedValueException((string)$data->error); 60 } 52 61 } 53 62 54 if(!isset($data->error)){ 55 return $data; 56 }elseif(is_object($data->error)) { 57 throw new GoogleAPIError( $data ); 58 }else{ 59 throw new UnexpectedValueException((string)$data->error); 63 // Allow non-200/201 responses if they contain valid JSON without an error object 64 if ($response_code !== 200 && $response_code !== 201) { 65 throw new \Exception(sprintf(__('Unexpected response code %d: %s', 'post-to-google-my-business'), $response_code, $response_body)); 60 66 } 67 68 return $data; 61 69 } 62 70 -
post-to-google-my-business/trunk/src/Admin/AdminPage.php
r3228979 r3246477 321 321 $accounts = get_option( 'pgmb_accounts' ); 322 322 echo "<br /><br />"; 323 if ( !$accounts ||empty( $accounts ) ) {324 echo sprintf( '<a href="%s" class="button -primary">%s</a>', esc_url( admin_url( 'admin-post.php?action=mbp_generate_url' ) ), esc_html__( 'Connect to Google My Business', 'post-to-google-my-business' ) );323 if ( empty( $accounts ) ) { 324 echo sprintf( '<a href="%s" class="button button-primary button-hero">%s</a>', esc_url( admin_url( 'admin-post.php?action=mbp_generate_url' ) ), esc_html__( 'Connect to Google Business Profile', 'post-to-google-my-business' ) ); 325 325 return; 326 326 } -
post-to-google-my-business/trunk/src/BackgroundProcessing/LocationSyncProcess.php
r3228979 r3246477 5 5 use PGMB\API\ProxyAuthenticationAPI; 6 6 use PGMB\API\ProxyGMBAPI; 7 use PGMB\Notices\BrandedStickyNotice; 7 8 use PGMB\Vendor\TypistTech\WPAdminNotices\AbstractNotice; 8 9 use PGMB\Vendor\TypistTech\WPAdminNotices\StickyNotice; … … 50 51 } 51 52 53 $account_id = $item->get_account_id(); 54 52 55 try{ 53 $this->api->set_access_token($this->auth_api->get_access_token($item->get_account_id())); 54 56 $this->admin_notice_store->delete('location_import_error'); 57 delete_option('pgmb_location_import_last_error_'.$account_id); 58 $this->api->set_access_token($this->auth_api->get_access_token($account_id)); 55 59 if($item instanceof LocationSyncQueueItem){ 56 60 return $this->sync_locations($item); … … 59 63 } 60 64 }catch(\Throwable $e){ 61 $this->admin_notice_store->add(new StickyNotice('location_import_error', sprintf(esc_html__("Something went wrong trying to load your Google Business Profile locations: %s", 'post-to-google-my-business'), $e->getMessage()), AbstractNotice::ERROR)); 62 return false; 63 } 64 65 update_option('pgmb_account_refresh_'.$item->get_account_id(), current_time('mysql', true)); 66 67 return new GroupSyncQueueItem($item->get_account_id()); 65 $error_message = sprintf(__("Something went wrong trying to load the Google Business Profile locations for this account: %s", 'post-to-google-my-business'), $e->getMessage()); 66 $link = sprintf('<a href="%s">%s</a>', esc_url(admin_url('admin.php?page=pgmb_settings#mbp_google_settings')), __('Check Google account settings', 'post-to-google-my-business')); 67 $this->admin_notice_store->add(new BrandedStickyNotice('location_import_error', $error_message, $link, AbstractNotice::ERROR)); 68 $this->cancel(); 69 update_option('pgmb_location_import_last_error_'.$account_id, $error_message); 70 return false; 71 } 72 73 update_option('pgmb_account_refresh_'.$account_id, current_time('mysql', true)); 74 75 return new GroupSyncQueueItem($account_id); 68 76 } 69 77 -
post-to-google-my-business/trunk/src/Components/BusinessSelector.php
r3228979 r3246477 348 348 349 349 if($this->location_sync_process->is_processing()){ 350 wp_send_json _error([350 wp_send_json([ 351 351 'loading' => true, 352 352 ]); 353 353 } 354 354 355 // $account_data = reset($accounts); 355 356 // $key = key($accounts); … … 371 372 372 373 if($refresh){ 373 $this->location_sync_process->push_to_queue(new AccountSyncQueueItem($data->account_id))->save()->dispatch(); 374 $this->location_sync_process->push_to_queue(new AccountSyncQueueItem($account_key))->save()->dispatch(); 375 } 376 377 $error_message = get_option('pgmb_location_import_last_error_'.$account_key); 378 if(!empty($error_message)){ 379 wp_send_json_error($error_message); 374 380 } 375 381 -
post-to-google-my-business/trunk/src/GoogleUserManager.php
r3235346 r3246477 38 38 } 39 39 40 $response = $this->transport->get('https:// www.googleapis.com/oauth2/v3/certs');40 $response = $this->transport->get('https://app.posttogmb.com/google_cert'); 41 41 42 42 if (is_wp_error($response)) { … … 133 133 $account_data = JWT::decode( $tokens->id_token, JWK::parseKeySet( (array) $keys ), [ 'RS256' ] ); 134 134 135 135 $scopes = explode(" ", $tokens->scope); 136 if(!in_array('https://www.googleapis.com/auth/business.manage', $scopes)){ 137 throw new Exception(__('You did not give the plugin permission to manage your Google Business Profile listings. The plugin will not work without this permission. Please retry the authentication and make sure you grant the plugin permission to manage your locations.', 'post-to-google-my-business')); 138 } 139 //$tokens->scope = https://www.googleapis.com/auth/userinfo.profile openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/business.manage 136 140 $accounts = get_option('pgmb_accounts'); 137 141 if(!$accounts){$accounts = [];} -
post-to-google-my-business/trunk/src/Plugin.php
r3235346 r3246477 10 10 const DOMAIN = 'post-to-google-my-business'; 11 11 12 const VERSION = '3.2. 3';12 const VERSION = '3.2.4'; 13 13 14 14 const DASHICON = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIEZpcmV3b3JrcyAxMCwgRXhwb3J0IFNWRyBFeHRlbnNpb24gYnkgQWFyb24gQmVhbGwgKGh0dHA6Ly9maXJld29ya3MuYWJlYWxsLmNvbSkgLiBWZXJzaW9uOiAwLjYuMSAgLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyBpZD0iZGFzaGljb24uZnctUGFnZSUyMDEiIHZpZXdCb3g9IjAgMCAyMDcgMjA3IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHZlcnNpb249IjEuMSINCgl4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIg0KCXg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjA3cHgiIGhlaWdodD0iMjA3cHgiDQo+DQoJPGcgaWQ9IkxheWVyJTIwMSI+DQoJCTxwYXRoIGQ9Ik0gMTQ5Ljk5OTEgMTEyIEMgMTcwLjEyMzYgMTEyIDE4Ni40OTk0IDEyOC4zNzM0IDE4Ni41IDE0OC40OTkxIEMgMTg2LjUgMTY4LjYyNzIgMTcwLjEyMzYgMTg1IDE0OS45OTkxIDE4NSBDIDEyOS44NzQgMTg1IDExMy41IDE2OC42MjcyIDExMy41IDE0OC40OTkxIEMgMTEzLjUgMTI4LjM3MzQgMTI5Ljg3NCAxMTIgMTQ5Ljk5OTEgMTEyIFpNIDE1Ny4yMzUgOTMuMjkgQyAxNTEuOTAyMyAxMDIuNzQ5NiAxNDEuNTYgMTA4Ljg0MyAxMzAuNSAxMDguODQzIEMgMTIxLjMzMDQgMTA4Ljg0MyAxMDkuNjM5MSAxMDQuNDI5MyAxMDMuNTIgOTMuMDk1IEMgOTcuNjYxMSAxMDMuNzAyIDg3LjI2NzcgMTA4Ljg0MyA3Ni44NzUgMTA4Ljg0MyBDIDY1LjU5ODQgMTA4Ljg0MyA1NS42ODIgMTAyLjQ5NjYgNTAuNDA1IDkzLjMxNSBDIDQ0LjM5OTQgMTA0LjExMDkgMzMuNDA1NyAxMDguNzg5IDIzLjYyNSAxMDguNzg5IEMgMTkuNTUxIDEwOC43ODkgMTUuNDQwOSAxMDguMTA1NyAxMS41NCAxMDYuNTEgTCAxMS41NDIgMTgwLjYyMjEgQyAxMS41NDIgMTg4LjA2MjUgMTcuNjI5OSAxOTQuMTUwNCAyNS4wNzAzIDE5NC4xNTA0IEwgMTgyLjYwNDUgMTk0LjE1MDQgQyAxOTAuMDQ1NCAxOTQuMTUwNCAxOTYuMTMyOCAxODguMDYyNSAxOTYuMTMyOCAxODAuNjIyMSBMIDE5Ni4xMzUgMTA2LjIyIEMgMTkyLjI5MjQgMTA3LjkzMzcgMTg4LjA4MzMgMTA4Ljg3NSAxODMuNzUgMTA4Ljg3NSBDIDE3NC40OTk3IDEwOC44NzUgMTYzLjgyMzMgMTA0LjU5OCAxNTcuMjM1IDkzLjI5IFpNIDE0OS45OTkxIDE4My4zMjY5IEMgMTY5LjIwMDcgMTgzLjMyNjkgMTg0LjgyMjkgMTY3LjcwMzEgMTg0LjgyMjkgMTQ4LjQ5OTEgQyAxODQuODIyOSAxMjkuMjk2MyAxNjkuMjAwNyAxMTMuNjczNiAxNDkuOTk5MSAxMTMuNjczNiBDIDEzMC43OTYzIDExMy42NzM2IDExNS4xNzM2IDEyOS4yOTYzIDExNS4xNzM2IDE0OC40OTkxIEMgMTE1LjE3MzYgMTY3LjcwMzEgMTMwLjc5NjkgMTgzLjMyNjkgMTQ5Ljk5OTEgMTgzLjMyNjkgWk0gMTc3LjQ3MzIgMTMzLjQ3NjQgQyAxNzkuOTE4OSAxMzcuOTM2NiAxODEuMzA5NSAxNDMuMDU1OCAxODEuMzA4OSAxNDguNDk5NyBDIDE4MS4zMDg5IDE2MC4wNTEyIDE3NS4wNDc4IDE3MC4xMzY0IDE2NS43MzkyIDE3NS41NjQ4IEwgMTc1LjMwMzQgMTQ3LjkxMTYgQyAxNzcuMDkwNyAxNDMuNDQ1NSAxNzcuNjg0MSAxMzkuODczNiAxNzcuNjg0MSAxMzYuNjk2MiBDIDE3Ny42ODQxIDEzNS41NDQ1IDE3Ny42MDc5IDEzNC40NzM4IDE3Ny40NzMyIDEzMy40NzY0IFpNIDE1MC41NDg1IDE1MS4yMzggTCAxNjAuMTc0IDE3Ny42MDY2IEMgMTYwLjIzNjUgMTc3Ljc2MTYgMTYwLjMxMjcgMTc3LjkwMzkgMTYwLjM5NjggMTc4LjAzOCBDIDE1Ny4xNDIgMTc5LjE4MjUgMTUzLjY0NTMgMTc5LjgxMyAxNDkuOTk5MSAxNzkuODEzIEMgMTQ2LjkyNTQgMTc5LjgxMyAxNDMuOTU5IDE3OS4zNjE4IDE0MS4xNTQxIDE3OC41MzczIEwgMTUwLjU0ODUgMTUxLjIzOCBaTSAxNzEuMTM2NSAxNDYuOTE5IEMgMTcxLjEzNjUgMTQ5LjU5OTUgMTcwLjEwNjMgMTUyLjcxMDMgMTY4Ljc1MjcgMTU3LjA0MTIgTCAxNjUuNjI5NiAxNjcuNDc3OSBMIDE1NC4zMTQ0IDEzMy44MTg1IEMgMTU2LjE5ODIgMTMzLjcxOTUgMTU3Ljg5ODEgMTMzLjUxOTkgMTU3Ljg5ODEgMTMzLjUxOTkgQyAxNTkuNTg0NyAxMzMuMzIwMyAxNTkuMzg2NCAxMzAuODQxMiAxNTcuNjk3MyAxMzAuOTQwNyBDIDE1Ny42OTczIDEzMC45NDA3IDE1Mi42MjcxIDEzMS4zMzgxIDE0OS4zNTI3IDEzMS4zMzgxIEMgMTQ2LjI3NiAxMzEuMzM4MSAxNDEuMTA1MiAxMzAuOTQwNyAxNDEuMTA1MiAxMzAuOTQwNyBDIDEzOS40MTc5IDEzMC44NDEyIDEzOS4yMjAxIDEzMy40MjEgMTQwLjkwNzQgMTMzLjUxOTkgQyAxNDAuOTA3NCAxMzMuNTE5OSAxNDIuNTA0NyAxMzMuNzE5NSAxNDQuMTkwOCAxMzMuODE4NSBMIDE0OS4wNjkxIDE0Ny4xODQ4IEwgMTQyLjIxNjkgMTY3LjczNiBMIDEzMC44MTQ4IDEzMy44MTk2IEMgMTMyLjcwMjIgMTMzLjcyMDcgMTM0LjM5ODQgMTMzLjUyMTEgMTM0LjM5ODQgMTMzLjUyMTEgQyAxMzYuMDg0NSAxMzMuMzIxNiAxMzUuODg1NSAxMzAuODQyNCAxMzQuMTk3NiAxMzAuOTQxOSBDIDEzNC4xOTc2IDEzMC45NDE5IDEyOS4xMjgxIDEzMS4zMzkzIDEyNS44NTMgMTMxLjMzOTMgQyAxMjUuMjY1IDEzMS4zMzkzIDEyNC41NzI3IDEzMS4zMjM4IDEyMy44MzgxIDEzMS4zMDE4IEMgMTI5LjQzNjcgMTIyLjgwMDggMTM5LjA2MDQgMTE3LjE4ODMgMTQ5Ljk5OTEgMTE3LjE4ODMgQyAxNTguMTUwNiAxMTcuMTg4MyAxNjUuNTcyNCAxMjAuMzA0NCAxNzEuMTQyOSAxMjUuNDA4IEMgMTcxLjAwNzggMTI1LjQwMDMgMTcwLjg3NjEgMTI1LjM4MyAxNzAuNzM3MiAxMjUuMzgzIEMgMTY3LjY2MjQgMTI1LjM4MyAxNjUuNDc5NCAxMjguMDYyNCAxNjUuNDc5NCAxMzAuOTQwNyBDIDE2NS40Nzk0IDEzMy41MTk5IDE2Ni45NjcxIDEzNS43MDQyIDE2OC41NTQzIDEzOC4yODM0IEMgMTY5Ljc0NjUgMTQwLjM2OTMgMTcxLjEzNjUgMTQzLjA0OTMgMTcxLjEzNjUgMTQ2LjkxOSBaTSAxMTguNjg4MSAxNDguNDk5MSBDIDExOC42ODgxIDE0My45NTk2IDExOS42NjE2IDEzOS42NTAyIDEyMS4zOTg5IDEzNS43NTYgTCAxMzYuMzM0NyAxNzYuNjc5NiBDIDEyNS44OTA2IDE3MS42MDM5IDExOC42ODgxIDE2MC44OTMxIDExOC42ODgxIDE0OC40OTkxIFpNIDE2MS4zNzUgNzcuMDU1IEMgMTYxLjcyMDIgODAuMDc4NCAxNjEuNjQxMSA4My40NTQzIDE2MyA4Ni42MjUgQyAxNjcuNSA5Ni44NzUgMTc2IDEwMC42MjUgMTgzLjc1IDEwMC42MjUgQyAxODguMDkzNCAxMDAuNjI1IDE5Mi40MzkgOTkuMzE5NSAxOTYuMTM1IDk2Ljk3IEMgMjAyLjAxMjEgOTMuMjMzOSAyMDYuMjUgODYuODU2IDIwNi4yNSA3OC44NzUgQyAyMDYuMjUgNzUuMTI1IDE5My43NSAzMC42MjUgMTkyLjUgMjQuMTI1IEMgMTkxLjc1IDIwLjEyNSAxODkuMjUgMTMuMzc1IDE4My41IDEzLjM3NSBMIDE1My4yNSAxMy4zNzUgTCAxNTMuMjUgMTQuODc1IEMgMTUzLjI1IDE1LjM3NSAxNTYuNzUgNDAuNjI1IDE1OC4yNSA1My4zNzUgQyAxNTkuMjUgNjAuNjI1IDE2MC41IDY4LjM3NSAxNjEuMjUgNzYuMTI1IEMgMTYxLjI5NjkgNzYuNDMgMTYxLjMzOTIgNzYuNzQxOCAxNjEuMzc1IDc3LjA1NSBaTSAxMDggNzcuMDU1IEwgMTA4IDc5LjM0MyBDIDEwOCA3OS44NDMgMTA4LjI1IDgyLjg0MyAxMDguNzUgODQuMzQzIEMgMTEyLjI1IDk2LjA5MyAxMjIgMTAwLjU5MyAxMzAuNSAxMDAuNTkzIEMgMTQxLjI1IDEwMC41OTMgMTUyLjI1IDkyLjU5MyAxNTMgNzguNTkzIEwgMTUyLjggNzcuMDU1IEwgMTQ0LjUgMTMuMzQzIEwgMTA4IDEzLjM0MyBMIDEwOCA3Ny4wNTUgWk0gNTQuNjI1IDc3LjA1NSBMIDU0LjYyNSA4MC4zNDMgQyA1NC42MjUgODAuODQzIDU1LjM3NSA4NC44NDMgNTYuMTI1IDg2Ljg0MyBDIDYwLjg3NSA5Ny4wOTMgNjkuMzc1IDEwMC41OTMgNzcuMTI1IDEwMC41OTMgQyA4Ni42MjUgMTAwLjU5MyA5Ni44NzUgOTQuMzQzIDk5LjM3NSA4MS4wOTMgTCA5OS4zNzUgNzcuMDU1IEwgOTkuMzc1IDEzLjM0MyBMIDYyLjg3NSAxMy4zNDMgTCA1NC42MjUgNzYuMzQzIEwgNTQuNjI1IDc3LjA1NSBaTSAxMS41NCA5Ny4wNSBDIDE1LjEzMzggOTkuMjcwOSAxOS4zMzAzIDEwMC41MzkgMjMuNjI1IDEwMC41MzkgQyAzMy42MjUgMTAwLjUzOSA0NC4zNzUgOTQuMDM5IDQ2LjM3NSA3OS43ODkgTCA0Ni4zNzUgNzguMzQzIEwgNDYuMzc1IDc3LjA1NSBMIDQ2LjM3NSA3NS4wMzkgTCA1NC4zNzUgMTMuMjg5IEwgMjMuODc1IDEzLjI4OSBDIDIyLjEyNSAxMy4yODkgMTkuMTI1IDE0LjUzOSAxNy42MjUgMTYuNzg5IEMgMTYuODc1IDE3LjUzOSAxNi4zNzUgMTguNTM5IDE2LjEyNSAxOS41MzkgQyAxMy42MjUgMjguMjg5IDExLjM3NSAzNy41MzkgOS4xMjUgNDYuNTM5IEMgOC4zNzUgNDguNzg5IDcuNjI1IDUxLjc4OSA3LjEyNSA1NC4yODkgQyA2LjEyNSA1OC4yODkgNS4xMjUgNjIuNzg5IDMuODc1IDY2Ljc4OSBDIDIuODc1IDcwLjc4OSAwLjg3NSA3Ny43ODkgMC44NzUgNzguNTM5IEMgMC44NzUgODYuNDY5MiA1LjMwMjYgOTMuMTk0NCAxMS41NCA5Ny4wNSBaIiBmaWxsPSIjOWVhM2E4Ii8+DQoJPC9nPg0KPC9zdmc+'; … … 116 116 117 117 public static function uninstall_single_site() { 118 global $wpdb; 118 119 $settings = get_option( 'mbp_misc' ); 119 120 if ( !isset( $settings['uninstall_cleanup'] ) || !is_array( $settings['uninstall_cleanup'] ) ) { 120 121 return; 121 122 } 123 $groups_table = $wpdb->prefix . 'pgmb_group_cache'; 124 $locations_table = $wpdb->prefix . 'pgmb_location_cache'; 125 $wpdb->query( "DROP TABLE IF EXISTS {$locations_table};" ); 126 $wpdb->query( "DROP TABLE IF EXISTS {$groups_table};" ); 122 127 if ( in_array( 'delete_settings', $settings['uninstall_cleanup'] ) ) { 123 128 global $wpdb; … … 134 139 } 135 140 } 141 // if(in_array('delete_metadata', $settings['uninstall_cleanup'])){ 142 // $meta_keys = [ 143 // 'mbp_autopost_created', 144 // '_mbp_gutenberg_autopost', 145 // '_pgmb_queued_items', 146 // 'mbp_last_error', 147 // '_mbp_autopost_template', 148 // '_pgmb_autopost_template', 149 // '_pgmb_is_evergreen', 150 // '_pgmb_ap_template_id', 151 // 152 // ]; 153 // foreach($meta_keys as $key){ 154 // delete_post_meta_by_key($key); 155 // } 156 // } 136 157 } 137 158 -
post-to-google-my-business/trunk/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-async-request.php
r3235346 r3246477 6 6 * 7 7 * @license GPL-2.0-or-later 8 * Modified by __root__ on 05-February-2025 using Strauss.8 * Modified by __root__ on 25-February-2025 using Strauss. 9 9 * @see https://github.com/BrianHenryIE/strauss 10 10 */ -
post-to-google-my-business/trunk/vendor-prefixed/deliciousbrains/wp-background-processing/classes/wp-background-process.php
r3235346 r3246477 6 6 * 7 7 * @license GPL-2.0-or-later 8 * Modified by __root__ on 05-February-2025 using Strauss.8 * Modified by __root__ on 25-February-2025 using Strauss. 9 9 * @see https://github.com/BrianHenryIE/strauss 10 10 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/AbstractField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/CronExpression.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldFactory.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/FieldInterface.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/HoursField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MinutesField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/MonthField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/dragonmantank/cron-expression/src/Cron/YearField.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/firebase/php-jwt/src/BeforeValidException.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/firebase/php-jwt/src/ExpiredException.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/firebase/php-jwt/src/JWK.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/firebase/php-jwt/src/JWT.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/firebase/php-jwt/src/Key.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/firebase/php-jwt/src/SignatureInvalidException.php
r3235346 r3246477 3 3 * @license BSD-3-Clause 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/html2text/html2text/src/Html2Text.php
r3235346 r3246477 18 18 * 19 19 * @license GPL-2.0-or-later 20 * Modified by __root__ on 05-February-2025 using Strauss.20 * Modified by __root__ on 25-February-2025 using Strauss. 21 21 * @see https://github.com/BrianHenryIE/strauss 22 22 */ -
post-to-google-my-business/trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTime.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeImmutable.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeInterface.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeTrait.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/rarst/wpdatetime/src/WpDateTimeZone.php
r3235346 r3246477 3 3 * @license MIT 4 4 * 5 * Modified by __root__ on 05-February-2025 using Strauss.5 * Modified by __root__ on 25-February-2025 using Strauss. 6 6 * @see https://github.com/BrianHenryIE/strauss 7 7 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/AbstractNotice.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Factory.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Notice.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/NoticeInterface.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Notifier.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/StickyNotice.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/Store.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor-prefixed/typisttech/wp-admin-notices/src/StoreInterface.php
r3235346 r3246477 14 14 * @see https://github.com/TypistTech/wp-admin-notices 15 15 * 16 * Modified by __root__ on 05-February-2025 using Strauss.16 * Modified by __root__ on 25-February-2025 using Strauss. 17 17 * @see https://github.com/BrianHenryIE/strauss 18 18 */ -
post-to-google-my-business/trunk/vendor/autoload.php
r3235346 r3246477 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e9::getLoader();7 return ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8::getLoader(); -
post-to-google-my-business/trunk/vendor/composer/autoload_classmap.php
r3228979 r3246477 74 74 'PGMB\\Metabox\\PostCreationMetabox' => $baseDir . '/src/Metabox/PostCreationMetabox.php', 75 75 'PGMB\\Metabox\\StorableDataMetaboxInterface' => $baseDir . '/src/Metabox/StorableDataMetaboxInterface.php', 76 'PGMB\\Notices\\BrandedStickyNotice' => $baseDir . '/src/Notices/BrandedStickyNotice.php', 76 77 'PGMB\\Notifications\\BasicNotification' => $baseDir . '/src/Notifications/BasicNotification.php', 77 78 'PGMB\\Notifications\\FeatureNotification' => $baseDir . '/src/Notifications/FeatureNotification.php', -
post-to-google-my-business/trunk/vendor/composer/autoload_real.php
r3235346 r3246477 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e95 class ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e9', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); 27 spl_autoload_unregister(array('ComposerAutoloaderInit 88a213064ffdff7fb3cdad65633743e9', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInit7caea00781b82d622959f90e25360fc8', 'loadClassLoader')); 28 28 29 29 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 31 31 require __DIR__ . '/autoload_static.php'; 32 32 33 call_user_func(\Composer\Autoload\ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::getInitializer($loader));33 call_user_func(\Composer\Autoload\ComposerStaticInit7caea00781b82d622959f90e25360fc8::getInitializer($loader)); 34 34 } else { 35 35 $classMap = require __DIR__ . '/autoload_classmap.php'; -
post-to-google-my-business/trunk/vendor/composer/autoload_static.php
r3235346 r3246477 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 88a213064ffdff7fb3cdad65633743e97 class ComposerStaticInit7caea00781b82d622959f90e25360fc8 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 129 129 'PGMB\\Metabox\\PostCreationMetabox' => __DIR__ . '/../..' . '/src/Metabox/PostCreationMetabox.php', 130 130 'PGMB\\Metabox\\StorableDataMetaboxInterface' => __DIR__ . '/../..' . '/src/Metabox/StorableDataMetaboxInterface.php', 131 'PGMB\\Notices\\BrandedStickyNotice' => __DIR__ . '/../..' . '/src/Notices/BrandedStickyNotice.php', 131 132 'PGMB\\Notifications\\BasicNotification' => __DIR__ . '/../..' . '/src/Notifications/BasicNotification.php', 132 133 'PGMB\\Notifications\\FeatureNotification' => __DIR__ . '/../..' . '/src/Notifications/FeatureNotification.php', … … 240 241 { 241 242 return \Closure::bind(function () use ($loader) { 242 $loader->prefixLengthsPsr4 = ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::$prefixLengthsPsr4;243 $loader->prefixDirsPsr4 = ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::$prefixDirsPsr4;244 $loader->classMap = ComposerStaticInit 88a213064ffdff7fb3cdad65633743e9::$classMap;243 $loader->prefixLengthsPsr4 = ComposerStaticInit7caea00781b82d622959f90e25360fc8::$prefixLengthsPsr4; 244 $loader->prefixDirsPsr4 = ComposerStaticInit7caea00781b82d622959f90e25360fc8::$prefixDirsPsr4; 245 $loader->classMap = ComposerStaticInit7caea00781b82d622959f90e25360fc8::$classMap; 245 246 246 247 }, null, ClassLoader::class); -
post-to-google-my-business/trunk/vendor/composer/installed.json
r3228979 r3246477 7 7 "source": { 8 8 "type": "git", 9 "url": " https://github.com/koen12344/multisite-background-processing.git",9 "url": "[email protected]:koen12344/multisite-background-processing.git", 10 10 "reference": "7724c9d124f1efdc672d0b15923a60c8ee42e434" 11 11 }, … … 47 47 ], 48 48 "description": "WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.", 49 "support": {50 "source": "https://github.com/koen12344/multisite-background-processing/tree/prod"51 },52 49 "install-path": "../deliciousbrains/wp-background-processing" 53 50 },
Note: See TracChangeset
for help on using the changeset viewer.