[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fgu730IHac7FbEtD0kzN3bFxXvBtFi-7OlJDn9RgguDg":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":21,"download_link":22,"security_score":23,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":33,"analysis":142,"fingerprints":479},"techvoot-app-firebase","Push Notifier for Firebase","1.0.3","Techvoot Solutions","https:\u002F\u002Fprofiles.wordpress.org\u002Ftechvootsolutions\u002F","\u003Cp>The Push Notifier for Firebase plugin seamlessly integrates your WordPress store with the Push Notifier for Firebase Firestore database. It enables real-time synchronization of user data and other relevant information between Firebase and your WordPress site, ensuring a smooth and efficient data flow.\u003C\u002Fp>\n\u003Cp>Additionally, the plugin offers Firebase user notification functionality, allowing you to send automated notifications to users based on a cron job. This ensures that your users receive timely updates without any manual effort.\u003C\u002Fp>\n\u003Cp>Whether you’re running an eCommerce store, membership site, or a custom web application, this plugin provides the essential bridge between WordPress and Firebase Firestore.\u003C\u002Fp>\n\u003Ch3>\u003Cstrong>Key Features\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Seamless Firebase Firestore Integration\u003C\u002Fstrong> – Connect your WordPress store to Firebase Firestore with ease.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic User Data Sync\u003C\u002Fstrong> – Keep user data updated in real time.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Firebase User Notifications\u003C\u002Fstrong> – Send automated push notifications via cron jobs.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scheduled Notifications\u003C\u002Fstrong> – Set up periodic notifications.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure Connection\u003C\u002Fstrong> – Ensure safe and encrypted data exchange.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Configuration\u003C\u002Fstrong> – No coding required! Just enter Firebase credentials.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatible with WordPress & WooCommerce\u003C\u002Fstrong> – Works with standard WordPress setups and WooCommerce stores.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin integrates with Google Firebase services to provide real-time data synchronization and push notification functionality.\u003C\u002Fp>\n\u003Ch3>Firebase Services Used:\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>1. Firebase Cloud Messaging (FCM)\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Purpose\u003C\u002Fstrong>: Sends push notifications to user devices\u003Cbr \u002F>\n– \u003Cstrong>Data Sent\u003C\u002Fstrong>: Notification messages, user device tokens, and project identification\u003Cbr \u002F>\n– \u003Cstrong>When\u003C\u002Fstrong>: When notifications are triggered manually or via scheduled cron jobs\u003Cbr \u002F>\n– \u003Cstrong>Service Provider\u003C\u002Fstrong>: Google LLC\u003Cbr \u002F>\n– \u003Cstrong>Terms of Service\u003C\u002Fstrong>: https:\u002F\u002Ffirebase.google.com\u002Fterms\u002F\u003Cbr \u002F>\n– \u003Cstrong>Privacy Policy\u003C\u002Fstrong>: https:\u002F\u002Ffirebase.google.com\u002Fsupport\u002Fprivacy\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Google OAuth 2.0 Authentication\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Purpose\u003C\u002Fstrong>: Authenticates with Google services to access Firebase APIs\u003Cbr \u002F>\n– \u003Cstrong>Data Sent\u003C\u002Fstrong>: Service account credentials (client email, cryptographic tokens) for secure API access\u003Cbr \u002F>\n– \u003Cstrong>When\u003C\u002Fstrong>: During plugin initialization and when refreshing authentication tokens\u003Cbr \u002F>\n– \u003Cstrong>Service Provider\u003C\u002Fstrong>: Google LLC\u003Cbr \u002F>\n– \u003Cstrong>Terms of Service\u003C\u002Fstrong>: https:\u002F\u002Fdevelopers.google.com\u002Fterms\u002F\u003Cbr \u002F>\n– \u003Cstrong>Privacy Policy\u003C\u002Fstrong>: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Google Cloud Platform APIs\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Purpose\u003C\u002Fstrong>: Accesses Firebase Firestore database and cloud services\u003Cbr \u002F>\n– \u003Cstrong>Data Sent\u003C\u002Fstrong>: User data, notification content, and synchronization information\u003Cbr \u002F>\n– \u003Cstrong>When\u003C\u002Fstrong>: During data synchronization operations and database queries\u003Cbr \u002F>\n– \u003Cstrong>Service Provider\u003C\u002Fstrong>: Google LLC\u003Cbr \u002F>\n– \u003Cstrong>Terms of Service\u003C\u002Fstrong>: https:\u002F\u002Fcloud.google.com\u002Fterms\u002F\u003Cbr \u002F>\n– \u003Cstrong>Privacy Policy\u003C\u002Fstrong>: https:\u002F\u002Fcloud.google.com\u002Fterms\u002Fcloud-privacy-notice\u003C\u002Fp>\n\u003Cp>\u003Cstrong>4. Firebase Storage\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Purpose\u003C\u002Fstrong>: Handles file storage and retrieval (if used by your implementation)\u003Cbr \u002F>\n– \u003Cstrong>Data Sent\u003C\u002Fstrong>: File metadata and storage tokens\u003Cbr \u002F>\n– \u003Cstrong>When\u003C\u002Fstrong>: When accessing or storing files in Firebase storage\u003Cbr \u002F>\n– \u003Cstrong>Service Provider\u003C\u002Fstrong>: Google LLC\u003Cbr \u002F>\n– \u003Cstrong>Terms of Service\u003C\u002Fstrong>: https:\u002F\u002Ffirebase.google.com\u002Fterms\u002F\u003Cbr \u002F>\n– \u003Cstrong>Privacy Policy\u003C\u002Fstrong>: https:\u002F\u002Ffirebase.google.com\u002Fsupport\u002Fprivacy\u003C\u002Fp>\n\u003Ch3>Data Handling:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>User data is only sent to Firebase services that you explicitly configure in the plugin settings\u003C\u002Fli>\n\u003Cli>All communications with Google\u002FFirebase services use secure HTTPS connections\u003C\u002Fli>\n\u003Cli>Authentication tokens are securely generated and managed by the plugin\u003C\u002Fli>\n\u003Cli>No data is shared with third parties other than the configured Firebase services\u003C\u002Fli>\n\u003C\u002Ful>\n","Seamlessly integrate WordPress with Firebase Firestore for real-time sync & automated notifications. Ideal for eCommerce & membership sites! 🚀",10,739,0,"2025-10-14T11:29:00.000Z","6.8.5","5.0","7.4",[19,20],"firebase","notification","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftechvoot-app-firebase.1.0.3.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":28,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":11,"avg_security_score":23,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},"techvootsolutions",2,30,94,"2026-04-05T04:43:25.411Z",[34,56,80,104,124],{"slug":35,"name":36,"version":37,"author":38,"author_profile":39,"description":40,"short_description":41,"active_installs":42,"downloaded":43,"rating":44,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":21,"download_link":54,"security_score":55,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25},"fcm-push-notification-from-wp","FCM Push Notification from WP","1.9.1","Paulo Miranda","https:\u002F\u002Fprofiles.wordpress.org\u002Fdprogrammer\u002F","\u003Cp>Notifications for posts, pages and custom post types.\u003C\u002Fp>\n\u003Cp>Works with scheduled posts.\u003C\u002Fp>\n\u003Cp>Send notifications to users of your app from your website using Google’s service, Firebase Push Notification.\u003C\u002Fp>\n\u003Cp>The notification sent includes the block with the data message to be handled by the application, even when it is in the background.\u003C\u002Fp>\n\u003Cp>Configure the plugin to start sending notifications.\u003C\u002Fp>\n\u003Cp>Send custom field values ​​in the notification, in the data option.\u003C\u002Fp>\n\u003Cp>Send a notification when you post news or update your content. When editing, the option is deselected to send you to accidentally send a new notification. Check if you want to send a new notification when editing.\u003C\u002Fp>\n\u003Cp>Compatible with apps developed with the SDK Flutter.\u003C\u002Fp>\n\u003Cp>You need to register users on the same topic (fcm) that was informed in the plugin configuration. This plugin is not intended for sending notifications to websites.\u003C\u002Fp>\n\u003Cp>Support my work\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fdprogrammer\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.buymeacoffee.com\u002Fdprogrammer\u003C\u002Fa>\u003C\u002Fp>\n","Notify your users using Firebase Cloud Messaging (FCM) when content is published or updated.",600,14357,86,6,"2024-06-23T18:34:00.000Z","6.5.8","4.6","5.6.20",[51,52,19,20,53],"android","fcm","push","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffcm-push-notification-from-wp.zip",92,{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":13,"num_ratings":13,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":17,"tags":69,"homepage":75,"download_link":76,"security_score":77,"vuln_count":78,"unpatched_count":13,"last_vuln_date":79,"fetched_at":25},"push-notification-mobile-and-web-app","Push notification for Mobile and Web app","2.0.4","App Cheap","https:\u002F\u002Fprofiles.wordpress.org\u002Fappcheap\u002F","\u003Cp>Support push notification for mobile and the web app.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcodecanyon.net\u002Fitem\u002Fcirilla-multipurpose-flutter-wordpress-app\u002F31940668\" rel=\"nofollow ugc\">Demo app\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Push services support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Firebase HTTP V1\u003C\u002Fli>\n\u003Cli>Firebase HTTP legacy\u003C\u002Fli>\n\u003Cli>OneSignal\u003C\u002Fli>\n\u003Cli>Debug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How does it work\u003C\u002Fh3>\n\u003Cp>The Push Notification plugin is built with five part:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Trigger: When WordPress action execution (Post saved, Order status changed …)\u003C\u002Fli>\n\u003Cli>Recipients: One\u002F More recipients get the notification ( topic, registration ID, role, user, merge tag …)\u003C\u002Fli>\n\u003Cli>Conditionals: Determine whether notification send\u003C\u002Fli>\n\u003Cli>Action: The action when the user click to notification on device\u003C\u002Fli>\n\u003Cli>Merge Tag: That is dynamic information in that context\u003C\u002Fli>\n\u003Cli>String translation: Replace part of string on title and message\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Plugin Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Comment Post: Fires immediately after a comment is inserted into the database.\u003C\u002Fli>\n\u003Cli>Post Type: Fires when a post is transitioned from one status to another.\u003C\u002Fli>\n\u003Cli>Save Post: Fires once a post has been saved.\u003C\u002Fli>\n\u003Cli>Order Status Changed: Fires when an order is transitioned from one status to another.\u003C\u002Fli>\n\u003Cli>Product Status Changed: Fires when a product is transitioned from one status to another.\u003C\u002Fli>\n\u003Cli>WCFM – Direct Messaging: Fires when vendor receive a message.\u003C\u002Fli>\n\u003Cli>BuddyPress: Fires Messages message sent, Activity Posted Update, Friends Friendship Accepted, Friends Friendship Requested, Groups Posted Update, Groups Send Invites\u003C\u002Fli>\n\u003C\u002Ful>\n","Push notification for Android, iOS and the Web",500,15918,"2025-12-06T07:06:00.000Z","6.6.5","5.8",[70,71,72,73,74],"android-notifications","app-builder","firebase-messages","ios-notifications","push-notification","https:\u002F\u002Fappcheap.io\u002Fpush-notification-mobile-and-web-app","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpush-notification-mobile-and-web-app.2.0.4.zip",99,1,"2025-05-16 00:00:00",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":31,"num_ratings":90,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":94,"tags":95,"homepage":99,"download_link":100,"security_score":101,"vuln_count":102,"unpatched_count":13,"last_vuln_date":103,"fetched_at":25},"push-notification-for-post-and-buddypress","Push Notification for Post and BuddyPress","3.13","Murali","https:\u002F\u002Fprofiles.wordpress.org\u002Fmurali-indiacitys\u002F","\u003Cp>It sends push notifications to desktop, android\u002Fios mobile apps using Firebase Cloud Messaging (FCM) Firebase API http v1 or Onesignal or Progressier as notification provider. It has REST API facility to integrate with native\u002Fhybrid Android\u002FiOS mobile apps for push notifications. It sends notification whenever new WordPress post, custom post types, new BuddyPress activities, comments published. It has facility to generate PWA – Progressive Web App.\u003C\u002Fp>\n\u003Ch4>Plugin features:\u003C\u002Fh4>\n\u003Cp>** Plugin allows to choose different push notification providers **\u003Cbr \u002F>\n1. Firebase – FCM (Free push notifications for desktop, PWA and mobile apps)\u003Cbr \u002F>\n2. Self-hosted push notification using web-push\u003Cbr \u002F>\n3. Onesignal (Free push notification for desktop, PWA and mobile apps)\u003Cbr \u002F>\n4. Progressier (Push notifications for PWA)\u003Cbr \u002F>\n5. webtoapp.design (Push notifications for Mobile apps)\u003Cbr \u002F>\n(Plugin allows to send push notifications to both Firebase\u002FOnesignal and webtoapp.design users simultaneously)\u003C\u002Fp>\n\u003Cp>** Plugin sends Push notifications for following **\u003C\u002Fp>\n\u003Col>\n\u003Cli>New post\u002Fcustom post type published (including bbpress).\u003C\u002Fli>\n\u003Cli>New BuddyPress activities published.\u003C\u002Fli>\n\u003Cli>New BuddyPress group activity published (only to members of group).\u003C\u002Fli>\n\u003Cli>Notifications for BuddyPress mentions in activities.(only to recipient).\u003C\u002Fli>\n\u003Cli>BuddyPress group invite sent (only to recipient).\u003C\u002Fli>\n\u003Cli>BuddyPress group details updated.\u003C\u002Fli>\n\u003Cli>New Buddypress comments published.\u003C\u002Fli>\n\u003Cli>New BuddyPress message or private messages (only to recipient).\u003Cbr \u002F>\n(It is also compatible with Bettermessages plugin).\u003C\u002Fli>\n\u003Cli>New BuddyPress member joined.\u003C\u002Fli>\n\u003Cli>For Friend request in BuddyPress (only to recipient).\u003C\u002Fli>\n\u003Cli>Friendship accepted in BuddyPress (only to requestor).\u003C\u002Fli>\n\u003Cli>User avatar change in BuddyPress.\u003C\u002Fli>\n\u003Cli>Cover image change in BuddyPress.\u003C\u002Fli>\n\u003Cli>Mark as favourites or Likes on BuddyPress activities.\u003C\u002Fli>\n\u003Cli>Supports Push notifications for BuddyBoss and Better Messages plugins\u003C\u002Fli>\n\u003Cli>Woocommerce custom post type push notifications.\u003C\u002Fli>\n\u003Cli>Ability to process more than 200,000 subscribers unlimited push notifications using background action scheduler.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>** Admin only push notifications (only to administrators) **\u003Cbr \u002F>\n1. When contact form(contactform7 plugin) submitted.\u003Cbr \u002F>\n2. When new user registered in site.\u003C\u002Fp>\n\u003Ch4>Reports\u003C\u002Fh4>\n\u003Cp>It supports Firebase analytics reports in Firebase console for notification_open, notification_read, page_view events.\u003C\u002Fp>\n\u003Ch4>Notifications only for loggedin users\u003C\u002Fh4>\n\u003Cp>Enable\u002FDisable option in admin settings to send push notifications using Firebase httpv1 or Onesignal only for loggedin users.\u003C\u002Fp>\n\u003Ch4>Custom popup and Bell prompt to subscribe push notifications with subscription options\u003C\u002Fh4>\n\u003Cp>Enable\u002FDisable custom notification subscription prompt to subscribe\u002Funsubscribe push notifications in front end in admin settings.\u003Cbr \u002F>\nEnable\u002FDisable Bell prompt icon to subscribe\u002Funsubscribe notifications. Front end users will be able to subscribe to particular category like post, activity, comments, friendship request\u002Faccept, other options while subscribing for first time or if user wants to update subscribe options from bell prompt at any time it is needed.\u003C\u002Fp>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cp>[subscribe_PNFPB_push_notification] is available to Subscribe\u002FUnsubscribe push notifications for frontend users.\u003Cbr \u002F>\n[PNFPB_PWA_PROMPT] to install PWA.\u003Cbr \u002F>\n[member name] and [group name] are avilable to display user name in push notifications, For BuddyPress group activities [group name] shortcode to display group name in push notifications.\u003C\u002Fp>\n\u003Ch4>Subscribe\u002FUnsubscribe various push notifications in front end\u003C\u002Fh4>\n\u003Cp>Front end push notification menu is available for BuddyPress Front end users to subscribe\u002Funsubscribe various push notifications according to their choices. This menu is available in user profile – settings area. For other users, shortcode is available to display subscription menu for Front end users to subscribe\u002Funsubscribe various push notifications according to their choices.\u003C\u002Fp>\n\u003Ch4>Scheduling Push notification\u003C\u002Fh4>\n\u003Cp>It allows Scheduled Push notifications to send push notifications hourly(every hour), twice daily(2 times per day), daily, weekly as per WordPress CRON. It also provides option to schedule push notification in background using action scheduler, this will be useful to send notification more than 100000 subscribers simultaneously in background mode.\u003Cbr \u002F>\nPush notification scheduling is available for On demand\u002FOne time, WordPress Post, BuddyPress activities, BuddyPress group activities and for BuddyPress comments.\u003C\u002Fp>\n\u003Ch4>REST API\u003C\u002Fh4>\n\u003Cp>REST API to connect mobile native\u002Fhybrid apps to send push notification from WordPress site to both mobile apps and WordPress sites.\u003Cbr \u002F>\nUsing this REST API WordPress site gets Firebase Push Notification subscription token from Mobile app(Android\u002FIos).\u003Cbr \u002F>\nThis allows to send push notifications to WordPress site users as well as to Native mobile app Android\u002Fios users.\u003Cbr \u002F>\nREST API url is https:\u002F\u002Fwp-json\u002FPNFPBpush\u002Fv1\u002Fsubscriptiontoken\u003C\u002Fp>\n\u003Ch4>HOW TO USE PLUGIN API TO INTEGRATE MOBILE APP PUSH NOTIFICATION\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmuraliwebworld\u002Fandroid-app-to-integrate-push-notification-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Android app code to integrate with this plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmuraliwebworld\u002Fios-swift-app-to-integrate-push-notification-wordpress-plugin\u002F\" rel=\"nofollow ugc\">IOS app code to integrate with this plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Refer video tutorial under “How to use this plugin” section to configure Firebase options in plugin admin area.\u003C\u002Fp>\n\u003Ch4>PWA\u003C\u002Fh4>\n\u003Cp>This plugin has facility to generate Progressive Web App (PWA). It also supports Progressier PWA.\u003Cbr \u002F>\nGo to plugin settings page to enable\u002Fdisable PWA app and to customize PWA app with app name, app icon, app theme color, background color for PWA and list of pages to be included in offline cache for web app offline mode.\u003C\u002Fp>\n\u003Ch4>Extra settings for NGINX server\u003C\u002Fh4>\n\u003Cp>If server is NGINX and not able to create dynamic service worker file https:\u002F\u002Fpnfpb_icpush_pwa_sw.js & PWA manifest json file https:\u002F\u002Fpnfpbmanifest.json then go to plugin settings->nginx tab, enable static file creation option, it will create required static service worker file, PWA manifest json files in root folder. This option is applicable only if hosting\u002Fserver is based on NGINX and not creating dynamic service worker file, manifest json files. By default, this plugin creates dynamic service worker file and PWA manifest json file.\u003C\u002Fp>\n\u003Cp>This plugin uses Firebase Cloud Messaging to send push notification using Firebase registration credentials which is free of cost.\u003C\u002Fp>\n\u003Ch4>Plugin Demo site\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.muraliwebworld.com\u002F\" rel=\"nofollow ugc\">Test PNFPB plugin here\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Video tutorial showing how to configure Firebase for this plugin\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F02oymYLt3qo?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Frequently Asked Questions (FAQ)\u003C\u002Fh3>\n\u003Ch4>Do you have any questions?\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.muraliwebworld.com\u002Fgroups\u002Fwordpress-plugins-by-muralidharan-indiacitys-com-technologies\u002Fforum\u002Ftopic\u002Fpush-notification-for-post-and-buddypress\u002F\" rel=\"nofollow ugc\">Submit or contact us with your question here\u003C\u002Fa> (or) \u003Ca href=\"https:\u002F\u002Findiacitys.com\u002F#contact\" rel=\"nofollow ugc\">Please contact us here with your query.\u003C\u002Fa> (or) Submit your question in plugin forum\u003C\u002Fp>\n\u003Cp>How can I report security bugs?\u003C\u002Fp>\n\u003Cp>You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fwordpress\u002Fplugin\u002Fpush-notification-for-post-and-buddypress\u002Fvdp\" rel=\"nofollow ugc\">Report a security vulnerability.\u003C\u002Fa>\u003C\u002Fp>\n","Send free push notifications for post\u002Fcustom post, BuddyPress from WordPress sites or using mobile app webview and to generate PWA.",200,31104,24,"2025-12-14T13:59:00.000Z","6.9.4","6.2","8.1",[96,19,97,98,74],"buddypress","mobile-app","progressive-web-app","https:\u002F\u002Fwww.muraliwebworld.com\u002Fgroups\u002Fwordpress-plugins-by-muralidharan-indiacitys-com-technologies\u002Fforum\u002Ftopic\u002Fpush-notification-for-post-and-buddypress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpush-notification-for-post-and-buddypress.3.13.zip",95,4,"2025-01-16 00:00:00",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":23,"num_ratings":29,"last_updated":21,"tested_up_to":114,"requires_at_least":115,"requires_php":116,"tags":117,"homepage":121,"download_link":122,"security_score":23,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":123},"pd-android-fcm","pd Android FCM Push Notification","1.1.8","Proficient Designers","https:\u002F\u002Fprofiles.wordpress.org\u002Fproficientdesigners\u002F","\u003Cp>pd Android FCM Push Notification is a plugin through which you can send push notifications directly from your WordPress site to android devices via \u003Ca href='https:\u002F\u002Ffirebase.google.com\u002F' rel=\"nofollow ugc\">Firebase Cloud Messaging\u003C\u002Fa> service. When a new blog is posted or existing blog is updated, a push notification sent to android device.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features Included:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Can send push notification for each blog post.\u003C\u002Fli>\n\u003Cli>Even can send custom notifications to the registered devices.\u003C\u002Fli>\n\u003Cli>Devices are subscribed in category wise, so that the notifications can also be sent based on the category.\u003C\u002Fli>\n\u003Cli>Featured image support is available (above android version 4.4).\u003C\u002Fli>\n\u003Cli>Push notifications can be scheduled.\u003C\u002Fli>\n\u003Cli>A checkbox is available at the right side to choose whether to send push notification in post publish or update.\u003C\u002Fli>\n\u003Cli>For more documentation and screenshots, please visit \u003Ca href=\"https:\u002F\u002Fproficientdesigners.in\u002Fcreations\u002Fpd-android-fcm-push-notification\u002F\" rel=\"nofollow ugc\">proficientdesigners.in\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Demo:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F_fffaw9fFwY?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Using 3rd party service:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Please note that this plugin is relying on a 3rd party service, which is the Google Firebase Cloud Messaging service (FCM) and your data is being sent through their servers via HTTP API \u003Cem>(https:\u002F\u002Ffcm.googleapis.com\u002Ffcm\u002Fsend)\u003C\u002Fem>. This is very legal to use the  Google Firebase Cloud Messaging service (FCM), based on their terms and conditions \u003Ca href='https:\u002F\u002Ffirebase.google.com\u002Fterms\u002F' rel=\"nofollow ugc\">https:\u002F\u002Ffirebase.google.com\u002Fterms\u002F\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Demo Android App:\u003C\u002Fstrong>\u003Cbr \u002F>\nWe have a demo android app in the Google Play Store for this plugin’s testing purpose. You can get the link from our official documentation page.\u003C\u002Fp>\n","pd Android FCM Push Notification is a plugin through which you can send push notifications directly from your WordPress site to android devices via Fi &hellip;",20,73124,"5.5.18","4.0","5.6",[118,52,119,74,120],"android-push-notification","google-firebase-cloud-messaging-service","send-push-notification-from-wordpress-site-to-android-devices","https:\u002F\u002Fproficientdesigners.in\u002Fcreations\u002Fpd-android-fcm-push-notification\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpd-android-fcm.1.1.8.zip","2026-03-15T10:48:56.248Z",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":13,"downloaded":132,"rating":13,"num_ratings":13,"last_updated":133,"tested_up_to":134,"requires_at_least":48,"requires_php":21,"tags":135,"homepage":139,"download_link":140,"security_score":141,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25},"hi-fcm-firebase-cloud-messaging","HI FCM","1.0.0","abdullahmohammed","https:\u002F\u002Fprofiles.wordpress.org\u002Fabdullahmohammed\u002F","\u003Cp>This plugin gives you the ability to push notifications through \u003Ca href=\"https:\u002F\u002Ffirebase.google.com\" rel=\"nofollow ugc\">Firebase Cloud Messaging\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>See details on GitHub:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAbdallaMohammed\u002Fhi-fcm\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FAbdallaMohammed\u002Fhi-fcm\u003C\u002Fa>\u003C\u002Fp>\n","This plugin gives you the ability to push notifications through Firebase Cloud Messaging",1578,"2021-06-03T15:07:00.000Z","5.7.15",[136,137,52,19,138],"api","cloud-messaging-notifications","rest","https:\u002F\u002Fgithub.com\u002FAbdallaMohammed\u002Fhi-fcm","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhi-fcm-firebase-cloud-messaging.1.0.1.zip",85,{"attackSurface":143,"codeSignals":314,"taintFlows":406,"riskAssessment":466,"analyzedAt":478},{"hooks":144,"ajaxHandlers":292,"restRoutes":307,"shortcodes":308,"cronEvents":309,"entryPointCount":313,"unprotectedCount":102},[145,151,156,159,162,166,169,173,177,180,182,183,186,188,193,197,202,206,210,212,215,219,221,225,228,233,236,239,243,246,250,254,258,261,265,269,274,276,279,282,284,287,289],{"type":146,"name":147,"callback":148,"file":149,"line":150},"action","admin_notices","render_notices","classes\\class-tv-firebase.php",34,{"type":146,"name":152,"callback":153,"priority":77,"file":154,"line":155},"admin_enqueue_scripts","deregister_admin_assets","classes\\class-tv2be-enqueue.php",76,{"type":146,"name":152,"callback":157,"file":154,"line":158},"load_admin_stylesheets",77,{"type":146,"name":152,"callback":160,"file":154,"line":161},"load_admin_scripts",78,{"type":146,"name":163,"callback":164,"priority":77,"file":154,"line":165},"admin_footer","deregister_footer_assets",79,{"type":146,"name":163,"callback":167,"file":154,"line":168},"load_footer_stylesheets",80,{"type":146,"name":170,"callback":171,"priority":77,"file":154,"line":172},"wp_enqueue_scripts","deregister_front_assets",82,{"type":146,"name":174,"callback":175,"file":154,"line":176},"wp_enqueue_style","load_front_stylesheets",83,{"type":146,"name":170,"callback":178,"file":154,"line":179},"load_front_scripts",84,{"type":146,"name":181,"callback":164,"priority":77,"file":154,"line":141},"get_footer",{"type":146,"name":181,"callback":167,"file":154,"line":44},{"type":146,"name":170,"callback":184,"priority":13,"file":154,"line":185},"closure",489,{"type":146,"name":152,"callback":184,"priority":13,"file":154,"line":187},499,{"type":146,"name":189,"callback":190,"file":191,"line":192},"set_notification_cronjob_hook","send_push_notification","classes\\cron\\class-tv-push-notification_cron.php",28,{"type":146,"name":194,"callback":195,"file":191,"line":196},"init","register_tv_push_notification_log_post_type",225,{"type":146,"name":198,"callback":199,"file":200,"line":201},"admin_menu","tvfb_firebase_configuration_settings_page","classes\\settings\\class-tv-settings-configuration.php",29,{"type":146,"name":198,"callback":203,"file":204,"line":205},"tvfb_user_notification_settings_page","classes\\settings\\class-tv-settings-firebase-notifications-log-list.php",27,{"type":146,"name":198,"callback":207,"file":208,"line":209},"tvfb_firebase_user_settings_page","classes\\settings\\class-tv-settings-firebase-user.php",23,{"type":146,"name":194,"callback":211,"file":208,"line":90},"register_cron_schedule",{"type":146,"name":194,"callback":213,"file":208,"line":214},"maybe_schedule_cron",25,{"type":146,"name":216,"callback":217,"file":208,"line":218},"tvfb_daily_user_sync_cron","sync_user_data_cron",26,{"type":146,"name":194,"callback":220,"file":208,"line":192},"tvfb_install_custom_table",{"type":222,"name":223,"callback":184,"file":208,"line":224},"filter","cron_schedules",68,{"type":146,"name":198,"callback":226,"file":227,"line":201},"tv_firebase_page_settings_page","classes\\settings\\class-tv-settings-page.php",{"type":146,"name":229,"callback":230,"file":231,"line":232},"TVFB_Post_tab_settings_form","post_settings_form","classes\\settings\\tab-settings\\class-techvoot-setting-tab.php",44,{"type":146,"name":198,"callback":234,"file":231,"line":235},"add_post_settings_tab",45,{"type":222,"name":237,"callback":184,"file":231,"line":238},"tv_settings_page_tab",55,{"type":146,"name":240,"callback":241,"file":242,"line":201},"show_user_profile","TVFB_add_custom_user_profile_fields","classes\\settings\\user\\class-tv-user-settings-configuration.php",{"type":146,"name":244,"callback":245,"file":242,"line":30},"personal_options_update","TVFB_save_custom_user_profile_fields",{"type":222,"name":247,"callback":184,"priority":248,"file":249,"line":112},"tv_firebase_deregister_admin_assets",9,"includes\\enqueue-admin-assets.php",{"type":222,"name":251,"callback":252,"priority":248,"file":249,"line":253},"tv_firebase_admin_styles","tv_firebase_load_admin_styles",90,{"type":222,"name":255,"callback":256,"priority":248,"file":249,"line":257},"tv_firebase_admin_scripts","tv_firebase_load_admin_scripts",167,{"type":146,"name":194,"callback":259,"file":260,"line":30},"TVFB_register_notification","notification\\notification-post.php",{"type":146,"name":262,"callback":263,"file":260,"line":264},"add_meta_boxes","add_notification_post_meta_box",31,{"type":146,"name":266,"callback":267,"file":260,"line":268},"save_post","save_notification_post_meta_data",32,{"type":146,"name":270,"callback":271,"file":272,"line":273},"plugins_loaded","tv_firebase_plugin_init","techvoot-app-firebase.php",40,{"type":146,"name":270,"callback":184,"file":272,"line":275},54,{"type":146,"name":277,"callback":184,"file":272,"line":278},"admin_init",62,{"type":146,"name":170,"callback":280,"file":272,"line":281},"tv_firebase_enqueue_scripts",119,{"type":146,"name":152,"callback":280,"file":272,"line":283},120,{"type":146,"name":152,"callback":285,"file":272,"line":286},"tv_enqueue_datatables",157,{"type":222,"name":223,"callback":184,"file":272,"line":288},219,{"type":146,"name":189,"callback":290,"file":272,"line":291},"tv_send_push_notification",244,[293,297,300,302,305],{"action":294,"nopriv":295,"callback":294,"hasNonce":296,"hasCapCheck":295,"file":208,"line":205},"firebase_get_load_users_data",false,true,{"action":298,"nopriv":295,"callback":298,"hasNonce":295,"hasCapCheck":295,"file":260,"line":299},"get_tvfb_firebase_post_event_list",376,{"action":298,"nopriv":296,"callback":298,"hasNonce":295,"hasCapCheck":295,"file":260,"line":301},379,{"action":303,"nopriv":295,"callback":303,"hasNonce":295,"hasCapCheck":295,"file":260,"line":304},"tvfb_firebase_notification_category_list",382,{"action":303,"nopriv":296,"callback":303,"hasNonce":295,"hasCapCheck":295,"file":260,"line":306},385,[],[],[310,311],{"hook":216,"callback":216,"file":208,"line":141},{"hook":189,"callback":189,"file":272,"line":312},232,5,{"dangerousFunctions":315,"sqlUsage":316,"outputEscaping":338,"fileOperations":78,"externalRequests":45,"nonceChecks":45,"capabilityChecks":102,"bundledLibraries":402},[],{"prepared":317,"raw":248,"locations":318},14,[319,322,324,327,328,330,332,334,336],{"file":320,"line":172,"context":321},"classes\\class-tv-db.php","$wpdb->query() with variable interpolation",{"file":191,"line":101,"context":323},"$wpdb->get_results() with variable interpolation",{"file":191,"line":325,"context":326},179,"$wpdb->get_var() with variable interpolation",{"file":204,"line":238,"context":326},{"file":204,"line":329,"context":323},61,{"file":208,"line":331,"context":321},138,{"file":208,"line":333,"context":323},391,{"file":272,"line":335,"context":321},278,{"file":272,"line":337,"context":321},279,{"escaped":339,"rawEcho":268,"locations":340},178,[341,344,345,347,349,351,353,354,356,358,360,362,365,367,368,370,372,374,376,378,380,382,384,386,387,389,391,392,394,396,398,400],{"file":191,"line":342,"context":343},39,"raw output",{"file":191,"line":273,"context":343},{"file":200,"line":346,"context":343},137,{"file":200,"line":348,"context":343},148,{"file":231,"line":350,"context":343},139,{"file":231,"line":352,"context":343},144,{"file":231,"line":348,"context":343},{"file":231,"line":355,"context":343},150,{"file":231,"line":357,"context":343},155,{"file":231,"line":359,"context":343},163,{"file":231,"line":361,"context":343},172,{"file":363,"line":364,"context":343},"includes\\firebase-maping.php",87,{"file":363,"line":366,"context":343},93,{"file":363,"line":77,"context":343},{"file":363,"line":369,"context":343},105,{"file":363,"line":371,"context":343},111,{"file":363,"line":373,"context":343},117,{"file":363,"line":375,"context":343},123,{"file":363,"line":377,"context":343},129,{"file":260,"line":379,"context":343},206,{"file":260,"line":381,"context":343},208,{"file":260,"line":383,"context":343},212,{"file":260,"line":385,"context":343},221,{"file":260,"line":196,"context":343},{"file":260,"line":388,"context":343},229,{"file":260,"line":390,"context":343},238,{"file":260,"line":291,"context":343},{"file":260,"line":393,"context":343},252,{"file":260,"line":395,"context":343},262,{"file":260,"line":397,"context":343},268,{"file":260,"line":399,"context":343},285,{"file":260,"line":401,"context":343},300,[403],{"name":404,"version":24,"knownCves":405},"Select2",[],[407,424,435,448,458],{"entryPoint":408,"graph":409,"unsanitizedCount":13,"severity":423},"handle_firebase_config_form (classes\\settings\\class-tv-settings-configuration.php:264)",{"nodes":410,"edges":421},[411,415],{"id":412,"type":413,"label":414,"file":200,"line":399},"n0","source","$_FILES",{"id":416,"type":417,"label":418,"file":200,"line":419,"wp_function":420},"n1","sink","update_option() [Settings Manipulation]",341,"update_option",[422],{"from":412,"to":416,"sanitized":296},"low",{"entryPoint":425,"graph":426,"unsanitizedCount":13,"severity":423},"handle_firebase_mapping_form (classes\\settings\\class-tv-settings-configuration.php:366)",{"nodes":427,"edges":433},[428,431],{"id":412,"type":413,"label":429,"file":200,"line":430},"$_POST",386,{"id":416,"type":417,"label":418,"file":200,"line":432,"wp_function":420},389,[434],{"from":412,"to":416,"sanitized":296},{"entryPoint":436,"graph":437,"unsanitizedCount":13,"severity":423},"\u003Cclass-tv-settings-configuration> (classes\\settings\\class-tv-settings-configuration.php:0)",{"nodes":438,"edges":445},[439,440,441,443],{"id":412,"type":413,"label":414,"file":200,"line":399},{"id":416,"type":417,"label":418,"file":200,"line":419,"wp_function":420},{"id":442,"type":413,"label":429,"file":200,"line":430},"n2",{"id":444,"type":417,"label":418,"file":200,"line":432,"wp_function":420},"n3",[446,447],{"from":412,"to":416,"sanitized":296},{"from":442,"to":444,"sanitized":296},{"entryPoint":449,"graph":450,"unsanitizedCount":13,"severity":423},"process_form_submission (classes\\settings\\tab-settings\\class-techvoot-setting-tab.php:69)",{"nodes":451,"edges":456},[452,455],{"id":412,"type":413,"label":453,"file":231,"line":454},"$_POST (x3)",88,{"id":416,"type":417,"label":418,"file":231,"line":23,"wp_function":420},[457],{"from":412,"to":416,"sanitized":296},{"entryPoint":459,"graph":460,"unsanitizedCount":13,"severity":423},"\u003Cclass-techvoot-setting-tab> (classes\\settings\\tab-settings\\class-techvoot-setting-tab.php:0)",{"nodes":461,"edges":464},[462,463],{"id":412,"type":413,"label":453,"file":231,"line":454},{"id":416,"type":417,"label":418,"file":231,"line":23,"wp_function":420},[465],{"from":412,"to":416,"sanitized":296},{"summary":467,"deductions":468},"The techvoot-app-firebase plugin version 1.0.3 exhibits a mixed security posture. On the positive side, it has no recorded vulnerabilities, including no known CVEs, which suggests a generally well-maintained codebase. The taint analysis shows no critical or high severity flows, and a good percentage (85%) of output is properly escaped. The SQL queries also show a reasonable adoption of prepared statements (61%).\n\nHowever, significant concerns arise from the attack surface. With 5 AJAX handlers, a concerning 4 of them lack authentication checks. This represents a substantial entry point for potential unauthorized actions. While no direct dangerous functions were identified, the presence of file operations and external HTTP requests, combined with a lack of robust authentication on key entry points, could be leveraged by an attacker if specific vulnerabilities are discovered in how these functions are used. The plugin also bundles the Select2 library, which, if outdated, could introduce its own vulnerabilities.\n\nIn conclusion, while the absence of historical vulnerabilities and good output escaping practices are strengths, the lack of proper authorization on a majority of AJAX handlers is a critical weakness. This significantly increases the risk of privilege escalation or unauthorized data manipulation, even in the absence of identified critical flaws in the current version. Further investigation into the functionality of these unprotected AJAX endpoints is highly recommended.",[469,471,474,476],{"reason":470,"points":11},"Unprotected AJAX handlers",{"reason":472,"points":473},"Bundled library (Select2)",3,{"reason":475,"points":29},"File operations detected",{"reason":477,"points":29},"External HTTP requests detected","2026-03-16T23:53:22.827Z",{"wat":480,"direct":491},{"assetPaths":481,"generatorPatterns":485,"scriptPaths":486,"versionParams":487},[482,483,484],"\u002Fwp-content\u002Fplugins\u002Ftechvoot-app-firebase\u002Fassets\u002Fjs\u002Ffirebase.js","\u002Fwp-content\u002Fplugins\u002Ftechvoot-app-firebase\u002Fassets\u002Fcss\u002Fdatatable.css","\u002Fwp-content\u002Fplugins\u002Ftechvoot-app-firebase\u002Fassets\u002Fjs\u002Fdatatable.js",[],[482,484],[488,489,490],"techvoot-app-firebase\u002Fassets\u002Fjs\u002Ffirebase.js?ver=","techvoot-app-firebase\u002Fassets\u002Fcss\u002Fdatatable.css?ver=","techvoot-app-firebase\u002Fassets\u002Fjs\u002Fdatatable.js?ver=",{"cssClasses":492,"htmlComments":493,"htmlAttributes":494,"restEndpoints":495,"jsGlobals":496,"shortcodeOutput":497},[],[],[],[],[],[]]