' . __( "Adding the class 'popmake-{popup-name}' to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below.", 'popup-maker' ) . '
',
+ 'content' => '
' . __( "Adding the class 'popmake-{popup-ID}' to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below.", 'popup-maker' ) . '
',
),
'extra_selectors' => array(
'label' => __( 'Extra CSS Selectors', 'popup-maker' ),
From bbbee09034c24a47b295bea38113eb44392e9f27 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Fri, 17 Jul 2020 17:11:52 -0400
Subject: [PATCH 03/92] Add stylelint config file
Issue #822
---
.stylelintrc.json | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 .stylelintrc.json
diff --git a/.stylelintrc.json b/.stylelintrc.json
new file mode 100644
index 000000000..9dbb130a0
--- /dev/null
+++ b/.stylelintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "stylelint-config-wordpress/scss"
+}
From 0f9b45d7782c377db6549001705b7dfe3dd94d88 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Fri, 17 Jul 2020 17:12:14 -0400
Subject: [PATCH 04/92] Add ignore file for stylelint
Issue #822
---
.stylelintignore | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 .stylelintignore
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 000000000..0a0fafdbb
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1,6 @@
+node_modules
+vendor
+public
+release
+build
+assets/css/*.css
From f90cea47cb7456e03d47c20daad9b71602e77d8d Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Mon, 20 Jul 2020 14:38:56 -0400
Subject: [PATCH 05/92] Fix one file's stylelint warnings to test linting
Issue #822
---
assets/sass/admin-bar.scss | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/assets/sass/admin-bar.scss b/assets/sass/admin-bar.scss
index 7a8979ee7..c061ecc4f 100644
--- a/assets/sass/admin-bar.scss
+++ b/assets/sass/admin-bar.scss
@@ -4,7 +4,7 @@
}
#wp-admin-bar-popup-maker > .ab-item::before {
- background: url("/wp-content/plugins/popup-maker/assets/images/admin/icon-info-21x21.png") center center no-repeat transparent !important;
+ background: url(/wp-content/plugins/popup-maker/assets/images/admin/icon-info-21x21.png) center center no-repeat transparent !important;
top: 3px;
content: "";
width: 20px;
@@ -12,5 +12,5 @@
}
#wp-admin-bar-popup-maker:hover > .ab-item::before {
- background-image: url("/wp-content/plugins/popup-maker/assets/images/admin/icon-info-21x21.png") !important;
+ background-image: url(/wp-content/plugins/popup-maker/assets/images/admin/icon-info-21x21.png) !important;
}
From 3ba3ba0500c6984f2f777179cb13abb1927d74f9 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Mon, 20 Jul 2020 14:42:26 -0400
Subject: [PATCH 06/92] Add StyleLint step in pull request checklist
Issue #822
---
.github/PULL_REQUEST_TEMPLATE.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index eb6d90fef..86829d3ab 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -20,6 +20,7 @@ Issue:
## Checklist:
- [ ] My code has been tested in the latest version of WordPress.
- [ ] My code does not have any warnings from ESLint.
+- [ ] My code does not have any warnings from StyleLint.
- [ ] My code follows the WordPress code style.
- [ ] My code follows the accessibility standards.
- [ ] All new functions and classes have code documentation.
From c7bd73542fb2c07b9427d85d0ede367d83239be8 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Tue, 21 Jul 2020 14:57:17 -0400
Subject: [PATCH 07/92] Add PHPCS and WP PHP Coding Standards to repo
Issue #822
---
composer.json | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index b44765ff8..2cf351783 100644
--- a/composer.json
+++ b/composer.json
@@ -19,7 +19,9 @@
},
"require-dev": {
"phpunit/phpunit": "^8",
- "phpunit/php-invoker": "^2"
+ "squizlabs/php_codesniffer": "^3.0@dev",
+ "wp-coding-standards/wpcs": "dev-master",
+ "dealerdirect/phpcodesniffer-composer-installer": "dev-master"
},
"minimum-stability": "dev",
"extra": {
From dfc245c63e695d498145133da8a21ceda1eddc86 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Tue, 21 Jul 2020 15:04:38 -0400
Subject: [PATCH 08/92] Add checkbox in pull request template for PHPCS
warnings
Issue #822
---
.github/PULL_REQUEST_TEMPLATE.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 86829d3ab..9cc7fa071 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -21,6 +21,7 @@ Issue:
- [ ] My code has been tested in the latest version of WordPress.
- [ ] My code does not have any warnings from ESLint.
- [ ] My code does not have any warnings from StyleLint.
+- [ ] My code does not have any warnings from PHPCS.
- [ ] My code follows the WordPress code style.
- [ ] My code follows the accessibility standards.
- [ ] All new functions and classes have code documentation.
From 15b35d091aadb9bf57abb9740da94266f293e77b Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Tue, 21 Jul 2020 15:26:08 -0400
Subject: [PATCH 09/92] Improve file using PHPCS warnings to test out our
configurations
Had to make sure the configs correctly matched the WP PHP Coding Standards
so improved one file to test.
Issue #822
---
classes/Telemetry.php | 114 ++++++++++++++++++++++--------------------
1 file changed, 61 insertions(+), 53 deletions(-)
diff --git a/classes/Telemetry.php b/classes/Telemetry.php
index a3b7182a7..48b2e0609 100644
--- a/classes/Telemetry.php
+++ b/classes/Telemetry.php
@@ -4,7 +4,7 @@
******************************************************************************/
if ( ! defined( 'ABSPATH' ) ) {
- // Exit if accessed directly
+ // Exit if accessed directly.
exit;
}
@@ -17,6 +17,9 @@
*/
class PUM_Telemetry {
+ /**
+ * Initialization method
+ */
public static function init() {
add_action( 'pum_daily_scheduled_events', array( __CLASS__, 'track_check' ) );
if ( is_admin() && current_user_can( 'manage_options' ) ) {
@@ -27,6 +30,7 @@ public static function init() {
/**
* Prepares and sends data, if it is time to do so
+ *
* @since 1.11.0
*/
public static function track_check() {
@@ -39,17 +43,18 @@ public static function track_check() {
/**
* Prepares telemetry data to be sent
+ *
* @return array
* @since 1.11.0
*/
public static function setup_data() {
global $wpdb;
- // Retrieve current theme info
+ // Retrieve current theme info.
$theme_data = wp_get_theme();
$theme = $theme_data->Name . ' ' . $theme_data->Version;
- // Retrieve current plugin information
+ // Retrieve current plugin information.
if ( ! function_exists( 'get_plugins' ) ) {
include ABSPATH . '/wp-admin/includes/plugin.php';
}
@@ -59,7 +64,7 @@ public static function setup_data() {
foreach ( $plugins as $key => $plugin ) {
if ( in_array( $plugin, $active_plugins ) ) {
- // Remove active plugins from list so we can show active and inactive separately
+ // Remove active plugins from list so we can show active and inactive separately.
unset( $plugins[ $key ] );
}
}
@@ -83,7 +88,7 @@ public static function setup_data() {
$sizes = array();
$sounds = array();
- // Cycle through each popup
+ // Cycle through each popup.
foreach ( $all_popups as $popup ) {
$settings = $popup->get_settings();
@@ -138,33 +143,33 @@ public static function setup_data() {
}
}
- $args = array(
- // UID
- 'uid' => self::get_uuid(),
-
- // Language Info
- 'language' => get_bloginfo( 'language' ), // Language
- 'charset' => get_bloginfo( 'charset' ), // Character Set
-
- // Server Info
- 'php_version' => phpversion(),
- 'mysql_version' => $wpdb->db_version(),
- 'is_localhost' => self::is_localhost(),
-
- // WP Install Info
- 'url' => get_site_url(),
- 'version' => Popup_Maker::$VER, // Plugin Version
- 'wp_version' => get_bloginfo( 'version' ), // WP Version
- 'theme' => $theme,
- 'active_plugins' => $active_plugins,
- 'inactive_plugins' => array_values( $plugins ),
-
- // Popup Metrics
- 'popups' => $popups,
- 'popup_themes' => $popup_themes,
- 'open_count' => get_option( 'pum_total_open_count', 0 ),
-
- // Popup Maker Settings
+ return array(
+ // UID.
+ 'uid' => self::get_uuid(),
+
+ // Language Info.
+ 'language' => get_bloginfo( 'language' ),
+ 'charset' => get_bloginfo( 'charset' ),
+
+ // Server Info.
+ 'php_version' => phpversion(),
+ 'mysql_version' => $wpdb->db_version(),
+ 'is_localhost' => self::is_localhost(),
+
+ // WP Install Info.
+ 'url' => get_site_url(),
+ 'version' => Popup_Maker::$VER,
+ 'wp_version' => get_bloginfo( 'version' ),
+ 'theme' => $theme,
+ 'active_plugins' => $active_plugins,
+ 'inactive_plugins' => array_values( $plugins ),
+
+ // Popup Metrics.
+ 'popups' => $popups,
+ 'popup_themes' => $popup_themes,
+ 'open_count' => get_option( 'pum_total_open_count', 0 ),
+
+ // Popup Maker Settings.
'block_editor_enabled' => pum_get_option( 'gutenberg_support_enabled' ),
'bypass_ad_blockers' => pum_get_option( 'bypass_adblockers' ),
'disable_taxonimies' => pum_get_option( 'disable_popup_category_tag' ),
@@ -172,16 +177,14 @@ public static function setup_data() {
'disable_open_tracking' => pum_get_option( 'disable_popup_open_tracking' ),
'default_email_provider' => pum_get_option( 'newsletter_default_provider', 'none' ),
- // Aggregate Popup Settings
- 'triggers' => $triggers,
- 'cookies' => $cookies,
- 'conditions' => $conditions,
- 'locations' => $location,
- 'sizes' => $sizes,
- 'sounds' => $sounds,
+ // Aggregate Popup Settings.
+ 'triggers' => $triggers,
+ 'cookies' => $cookies,
+ 'conditions' => $conditions,
+ 'locations' => $location,
+ 'sizes' => $sizes,
+ 'sounds' => $sounds,
);
-
- return $args;
}
/**
@@ -198,20 +201,23 @@ public static function send_data( $data = array() ) {
* Makes HTTP request to our API endpoint
*
* @param string $action The specific endpoint in our API.
- * @param array $data Any data to send in the body.
+ * @param array $data Any data to send in the body.
* @return array|bool False if WP Error. Otherwise, array response from wp_remote_post.
* @since 1.11.0
*/
public static function api_call( $action = '', $data = array() ) {
- $response = wp_remote_post( 'https://api.wppopupmaker.com/wp-json/pmapi/v2/' . $action, array(
- 'method' => 'POST',
- 'timeout' => 20,
- 'redirection' => 5,
- 'httpversion' => '1.1',
- 'blocking' => false,
- 'body' => $data,
- 'user-agent' => 'POPMAKE/' . Popup_Maker::$VER . '; ' . get_site_url(),
- ));
+ $response = wp_remote_post(
+ 'https://api.wppopupmaker.com/wp-json/pmapi/v2/' . $action,
+ array(
+ 'method' => 'POST',
+ 'timeout' => 20,
+ 'redirection' => 5,
+ 'httpversion' => '1.1',
+ 'blocking' => false,
+ 'body' => $data,
+ 'user-agent' => 'POPMAKE/' . Popup_Maker::$VER . '; ' . get_site_url(),
+ )
+ );
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
@@ -269,8 +275,8 @@ public static function optin_alert( $alerts ) {
/**
* Checks if any options have been clicked from admin notices.
*
- * @param string $code
- * @param string $action
+ * @param string $code The code for the alert.
+ * @param string $action Action taken on the alert.
*
* @since 1.11.0
*/
@@ -294,6 +300,7 @@ public static function should_show_alert() {
/**
* Determines if it is time to send telemetry data.
+ *
* @return bool True if it is time.
* @since 1.11.0
*/
@@ -323,6 +330,7 @@ public static function has_opted_in() {
/**
* Determines if the site is in a local environment
+ *
* @return bool True for local
* @since 1.11.0
*/
From efa112d17183148d7b1a356895e1f2f041f4c48e Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Wed, 22 Jul 2020 11:24:06 -0400
Subject: [PATCH 10/92] Add links to new contributing guidelines in readme and
move support section up
---
readme.md | 32 +++++++-------------------------
1 file changed, 7 insertions(+), 25 deletions(-)
diff --git a/readme.md b/readme.md
index a7a2a41bf..a967f6df5 100644
--- a/readme.md
+++ b/readme.md
@@ -3,6 +3,9 @@ Everything you need to create unique popup user experiences. Insert forms & othe
Feel free to browse the code and make suggestions/requests. Thanks!
+## Support
+This is a developer's portal for Popup Maker and **should not** be used for support. Please [create a support ticket here](https://wordpress.org/support/plugin/popup-maker/).
+
## Getting Started
### Downloading And Using As A Plugin
@@ -12,14 +15,9 @@ To use this plugin, you must download from [the releases page](https://github.co
Once installed and activated, Go to wp-admin > Popup Maker > Add Popup to create your first popup.
### Getting Set Up For Development
-In order to begin development on Popup Maker, please refer to our [Setting up your local environment](https://github.com/PopupMaker/Popup-Maker/wiki/Setting-up-your-local-environment) wiki page.
-
-#### Gulp Tasks
-As normal, we have our gulp tasks in the gulpfile.js file.
-
-To build the css files, run `gulp css`.
-
-To build the js files, run `gulp js`.
+In order to begin development on Popup Maker, please first refer to our [Contributing Guidelines](https://github.com/PopupMaker/Popup-Maker/blob/master/.github/CONTRIBUTING.md) for our coding style and commit style information.
+
+Then, move on to our [Setting up your local environment](https://github.com/PopupMaker/Popup-Maker/wiki/Setting-up-your-local-environment) wiki page.
## Built With
* [SASS](https://sass-lang.com) - The CSS pre-processor we use. We use the SCSS syntax.
@@ -35,20 +33,7 @@ There is not currently any automated deployment. Instead, once a release is publ
## Contributing
Community made feature requests, patches, localizations, bug reports, and contributions are always welcome and are crucial to ensure Popup Maker continues to grow.
-When contributing please ensure you follow the guidelines below so that we can keep on top of things.
-
-Please Note: GitHub is not intended for support based questions. For those, please use the [support forums](https://wordpress.org/support/plugin/popup-maker/).
-
-### Creating Issues
-* If you have any bugs or feature requests, please [create an issue](https://github.com/PopupMaker/Popup-Maker/issues/new)
-* For bug reports, please clearly describe the bug/issue and include steps on how to reproduce it
-* For feature requests, please clearly describe what you would like, how it would be used, and example screenshots (if possible)
-
-### Pull Requests
-* Ensure you stick to the [WordPress Coding Standards](https://codex.wordpress.org/WordPress_Coding_Standards)
-* When committing, reference your issue (if present) and include a note about the fix
-* Push the changes to your fork and submit a pull request to the 'master' branch of this repository
-* We are trying to ensure that every function is documented well and follows the standards set by phpDoc going forward
+When contributing please ensure you follow our [Contributor Guidelines](https://github.com/PopupMaker/Popup-Maker/blob/master/.github/CONTRIBUTING.md) so that we can keep on top of things.
## Versioning
We use [SemVer](http://semver.org/) for versioning. For the versions available, see [the releases in this repository](https://github.com/PopupMaker/Popup-Maker/releases).
@@ -60,6 +45,3 @@ See also [the list of contributors](https://github.com/PopupMaker/Popup-Maker/gr
## License
This project is licensed under the GPLv2 License.
-
-## Support
-This is a developer's portal for Popup Maker and **should not** be used for support. Please [create a support ticket here](https://wordpress.org/support/plugin/popup-maker/).
From fcddcd88aa776988fde73b573f7e0e11b5b16e26 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Wed, 22 Jul 2020 12:44:38 -0400
Subject: [PATCH 11/92] Make code quality improvements from ESLint warnings
---
assets/js/src/admin/marketing/general.js | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/assets/js/src/admin/marketing/general.js b/assets/js/src/admin/marketing/general.js
index 302b5921c..b0da2cf71 100644
--- a/assets/js/src/admin/marketing/general.js
+++ b/assets/js/src/admin/marketing/general.js
@@ -1,13 +1,14 @@
/*******************************************************************************
- * Copyright (c) 2019, Code Atlantic LLC
+ * Copyright (c) 2020, Code Atlantic LLC
******************************************************************************/
-(function ($) {
- "use strict";
+(function($) {
+ "use strict";
- window.PUM_Admin = window.PUM_Admin || {};
+ window.PUM_Admin = window.PUM_Admin || {};
- $(document).ready(function () {
- $('a[href="edit.php?post_type=popup&page=pum-extensions"]').css({color: "#a0d468"});
- });
-
-}(jQuery));
\ No newline at end of file
+ $(document).ready(function() {
+ $('a[href="edit.php?post_type=popup&page=pum-extensions"]').css({
+ color: "#a0d468"
+ });
+ });
+})(jQuery);
From ee33185dc6ab271264d88b4198d34c9b6c7663e8 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Thu, 23 Jul 2020 16:36:44 -0400
Subject: [PATCH 12/92] Add popup ID to top of popup editor
Issue #583
---
classes/Admin/Popups.php | 31 ++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)
diff --git a/classes/Admin/Popups.php b/classes/Admin/Popups.php
index bbc99c82a..17616ea80 100644
--- a/classes/Admin/Popups.php
+++ b/classes/Admin/Popups.php
@@ -18,6 +18,10 @@ class PUM_Admin_Popups {
* Hook the initialize method to the WP init action.
*/
public static function init() {
+
+ // Adds ID to top of popup editor.
+ add_action( 'edit_form_top', array( __CLASS__, 'add_popup_id' ) );
+
// Change title to popup name.
add_filter( 'enter_title_here', array( __CLASS__, '_default_title' ) );
@@ -27,7 +31,7 @@ public static function init() {
// Add Contextual help to post_name field.
add_action( 'edit_form_before_permalink', array( __CLASS__, 'popup_post_title_contextual_message' ) );
- // Regitster Metaboxes
+ // Register Metaboxes.
add_action( 'add_meta_boxes', array( __CLASS__, 'meta_box' ) );
// Process meta saving.
@@ -47,10 +51,23 @@ public static function init() {
}
/**
- * Change default "Enter title here" input
+ * Adds the Popup ID right under the "Edit Popup" heading
*
- * @param string $title Default title placeholder text
+ * @param WP_Post $post Post object.
+ * @since 1.12.0
+ */
+ public static function add_popup_id( $post ) {
+ if ( 'popup' === $post->post_type ) {
+ ?>
+
' . __( "Adding the class 'popmake-{popup-ID}' to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below.", 'popup-maker' ) . '
' . __( 'Adding the class "popmake-{popup-ID}" to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below.', 'popup-maker' ) . '
',
),
'extra_selectors' => array(
'label' => __( 'Extra CSS Selectors', 'popup-maker' ),
From 4f7d1f24a9d7257406b236d2a404932b4c2db023 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Thu, 30 Jul 2020 11:09:17 -0400
Subject: [PATCH 15/92] Add new Error Log tab to Tools page
Also includes some code quality improvements from PHPCS.
Issue #575
---
classes/Admin/Tools.php | 95 ++++++++++++++++++++---------------------
1 file changed, 46 insertions(+), 49 deletions(-)
diff --git a/classes/Admin/Tools.php b/classes/Admin/Tools.php
index 07b1e6f96..9eeeb23e6 100644
--- a/classes/Admin/Tools.php
+++ b/classes/Admin/Tools.php
@@ -18,7 +18,7 @@ class PUM_Admin_Tools {
public static $notices = array();
/**
- *
+ * Initializes the "Tools" page.
*/
public static function init() {
add_action( 'admin_notices', array( __CLASS__, 'notices' ) );
@@ -30,14 +30,13 @@ public static function init() {
add_action( 'pum_tools_page_tab_betas', array( __CLASS__, 'betas_display' ) );
}
- // display default admin notice
-
/**
* Displays any saved admin notices.
*/
public static function notices() {
- if ( isset( $_GET['imported'] ) ) { ?>
+ if ( isset( $_GET['imported'] ) ) {
+ ?>
' . __( 'Adding the class "popmake-{popup-ID}" to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below.', 'popup-maker' ) . '
' . __( 'Adding the class "popmake-{popup-ID}" to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below.', 'popup-maker' ) . '
',
+ ),
+ 'extra_selectors' => array(
+ 'label' => __( 'Extra CSS Selectors', 'popup-maker' ),
+ 'desc' => __( 'For more than one selector, separate by comma (,)', 'popup-maker' ) . ' eg: ' . __( ' .class-here, .class-2-here, #button_id', 'popup-maker' ),
+ 'placeholder' => __( '.class-here', 'popup-maker' ),
+ 'doclink' => 'https://docs.wppopupmaker.com/article/147-getting-css-selectors?utm_source=plugin-popup-editor=&utm_medium=inline-doclink&utm_campaign=ContextualHelp&utm_content=extra-selectors',
+ ),
),
- 'extra_selectors' => array(
- 'label' => __( 'Extra CSS Selectors', 'popup-maker' ),
- 'desc' => __( 'For more than one selector, separate by comma (,)', 'popup-maker' ) . ' eg: ' . __( ' .class-here, .class-2-here, #button_id', 'popup-maker' ),
- 'placeholder' => __( '.class-here', 'popup-maker' ),
- 'doclink' => 'https://docs.wppopupmaker.com/article/147-getting-css-selectors?utm_source=plugin-popup-editor=&utm_medium=inline-doclink&utm_campaign=ContextualHelp&utm_content=extra-selectors',
+ 'advanced' => array(
+ 'do_default' => array(
+ 'type' => 'checkbox',
+ 'label' => __( 'Do not prevent the default click functionality.', 'popup-maker' ),
+ 'desc' => __( 'This prevents us from disabling the browsers default action when a trigger is clicked. It can be used to allow a link to a file to both trigger a popup and still download the file.', 'popup-maker' ),
+ ),
),
),
- 'advanced' => array(
- 'do_default' => array(
- 'type' => 'checkbox',
- 'label' => __( 'Do not prevent the default click functionality.', 'popup-maker' ),
- 'desc' => __( 'This prevents us from disabling the browsers default action when a trigger is clicked. It can be used to allow a link to a file to both trigger a popup and still download the file.', 'popup-maker' ),
+ ),
+ 'auto_open' => array(
+ 'name' => __( 'Time Delay / Auto Open', 'popup-maker' ),
+ 'modal_title' => __( 'Time Delay Settings', 'popup-maker' ),
+ 'settings_column' => sprintf( '%1$s: %2$s', __( 'Delay', 'popup-maker' ), '{{data.delay}}' ),
+ 'fields' => array(
+ 'general' => array(
+ 'delay' => array(
+ 'type' => 'rangeslider',
+ 'label' => __( 'Delay', 'popup-maker' ),
+ 'desc' => __( 'The delay before the popup will open in milliseconds.', 'popup-maker' ),
+ 'std' => 500,
+ 'min' => 0,
+ 'max' => 10000,
+ 'step' => 500,
+ 'unit' => 'ms',
+ ),
),
),
),
- ),
- 'auto_open' => array(
- 'name' => __( 'Time Delay / Auto Open', 'popup-maker' ),
- 'modal_title' => __( 'Time Delay Settings', 'popup-maker' ),
- 'settings_column' => sprintf( '%1$s: %2$s', __( 'Delay', 'popup-maker' ), '{{data.delay}}' ),
- 'fields' => array(
- 'general' => array(
- 'delay' => array(
- 'type' => 'rangeslider',
- 'label' => __( 'Delay', 'popup-maker' ),
- 'desc' => __( 'The delay before the popup will open in milliseconds.', 'popup-maker' ),
- 'std' => 500,
- 'min' => 0,
- 'max' => 10000,
- 'step' => 500,
- 'unit' => 'ms',
+ 'form_submission' => array(
+ 'name' => __( 'Form Submission', 'popup-maker' ),
+ //'settings_column' => sprintf( '%1$s: %2$s', __( 'Form', 'popup-maker' ), '' ),
+ 'fields' => array(
+ 'general' => array(
+ 'form' => array(
+ 'type' => 'select',
+ 'label' => __( 'Form', 'popup-maker' ),
+ 'options' => $this->preload_posts ? array_merge(
+ array(
+ 'any' => __( 'Any Supported Form*', 'popup-maker' ),
+ __( 'Popup Maker', 'popup-maker' ) => array(
+ 'pumsubform' => __( 'Subscription Form', 'popup-maker' ),
+ ),
+ ),
+ PUM_Integrations::get_integrated_forms_selectlist()
+ ) : array(),
+ 'std' => 'any',
+ ),
+ 'delay' => array(
+ 'type' => 'rangeslider',
+ 'label' => __( 'Delay', 'popup-maker' ),
+ 'desc' => __( 'The delay before the popup will open in milliseconds.', 'popup-maker' ),
+ 'std' => 0,
+ 'min' => 0,
+ 'max' => 10000,
+ 'step' => 500,
+ 'unit' => 'ms',
+ ),
),
),
),
- ),
- 'form_submission' => [
- 'name' => __( 'Form Submission', 'popup-maker' ),
- //'settings_column' => sprintf( '%1$s: %2$s', __( 'Form', 'popup-maker' ), '' ),
- 'fields' => [
- 'general' => [
- 'form' => [
- 'type' => 'select',
- 'label' => __( 'Form', 'popup-maker' ),
- 'options' => $this->preload_posts ? array_merge( [
- 'any' => __( 'Any Supported Form*', 'popup-maker' ),
- __( 'Popup Maker', 'popup-maker' ) => [
- 'pumsubform' => __( 'Subscription Form', 'popup-maker' ),
- ],
- ], PUM_Integrations::get_integrated_forms_selectlist() ) : array(),
- 'std' => 'any',
- ],
- 'delay' => array(
- 'type' => 'rangeslider',
- 'label' => __( 'Delay', 'popup-maker' ),
- 'desc' => __( 'The delay before the popup will open in milliseconds.', 'popup-maker' ),
- 'std' => 0,
- 'min' => 0,
- 'max' => 10000,
- 'step' => 500,
- 'unit' => 'ms',
- ),
- ],
- ],
- ],
-
- ) );
+ )
+ );
foreach ( $triggers as $key => $trigger ) {
- $triggers[ $key ]['fields'] = PUM_Admin_Helpers::parse_tab_fields( $triggers[ $key ]['fields'], array(
- 'has_subtabs' => false,
- 'name' => '%s',
- ) );
+ $triggers[ $key ]['fields'] = PUM_Admin_Helpers::parse_tab_fields(
+ $triggers[ $key ]['fields'],
+ array(
+ 'has_subtabs' => false,
+ 'name' => '%s',
+ )
+ );
}
// @deprecated filter.
@@ -255,7 +276,9 @@ public function register_triggers() {
}
/**
- * @return array
+ * Prepares an array to create a dropdown list of triggers
+ *
+ * @return array An array of triggers with ID as key and name as value
*/
public function dropdown_list() {
$_triggers = $this->get_triggers();
@@ -273,7 +296,6 @@ public function dropdown_list() {
*
* @return array
* @uses filter pum_trigger_cookie_fields
- *
*/
public function cookie_fields() {
@@ -282,9 +304,12 @@ public function cookie_fields() {
*
* @param array $fields The list of trigger cookie fields.
*/
- return apply_filters( 'pum_trigger_cookie_fields', array(
- 'cookie_name' => $this->cookie_field(),
- ) );
+ return apply_filters(
+ 'pum_trigger_cookie_fields',
+ array(
+ 'cookie_name' => $this->cookie_field(),
+ )
+ );
}
/**
@@ -292,7 +317,6 @@ public function cookie_fields() {
*
* @return array
* @uses filter pum_trigger_cookie_field
- *
*/
public function cookie_field() {
@@ -301,18 +325,21 @@ public function cookie_field() {
*
* @param array $fields The list of trigger cookie field.
*/
- return apply_filters( 'pum_trigger_cookie_field', array(
- 'label' => __( 'Cookie Name', 'popup-maker' ),
- 'desc' => __( 'Choose which cookies will disable this trigger?', 'popup-maker' ),
- 'type' => 'select',
- 'multiple' => true,
- 'as_array' => true,
- 'select2' => true,
- 'priority' => 99,
- 'options' => array(
- 'add_new' => __( 'Add New Cookie', 'popup-maker' ),
- ),
- ) );
+ return apply_filters(
+ 'pum_trigger_cookie_field',
+ array(
+ 'label' => __( 'Cookie Name', 'popup-maker' ),
+ 'desc' => __( 'Choose which cookies will disable this trigger?', 'popup-maker' ),
+ 'type' => 'select',
+ 'multiple' => true,
+ 'as_array' => true,
+ 'select2' => true,
+ 'priority' => 99,
+ 'options' => array(
+ 'add_new' => __( 'Add New Cookie', 'popup-maker' ),
+ ),
+ )
+ );
}
/**
@@ -328,11 +355,14 @@ public function get_tabs() {
*
* @param array $to_do The list of trigger section labels.
*/
- return apply_filters( 'pum_get_trigger_tabs', array(
- 'general' => __( 'General', 'popup-maker' ),
- 'cookie' => __( 'Cookie', 'popup-maker' ),
- 'advanced' => __( 'Advanced', 'popup-maker' ),
- ) );
+ return apply_filters(
+ 'pum_get_trigger_tabs',
+ array(
+ 'general' => __( 'General', 'popup-maker' ),
+ 'cookie' => __( 'Cookie', 'popup-maker' ),
+ 'advanced' => __( 'Advanced', 'popup-maker' ),
+ )
+ );
}
/**
From cfa71927413824be41e0ce7ff937b4ce19253eb2 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Tue, 11 Aug 2020 12:23:07 -0400
Subject: [PATCH 30/92] Add query to delete all usermeta upon uninstall
Issue #831
---
classes/Install.php | 3 +++
1 file changed, 3 insertions(+)
diff --git a/classes/Install.php b/classes/Install.php
index 6a20e56da..edf583573 100644
--- a/classes/Install.php
+++ b/classes/Install.php
@@ -149,6 +149,9 @@ public static function deactivate_site() {
$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'popmake%' OR option_name LIKE '_pum_%' OR option_name LIKE 'pum_%' OR option_name LIKE 'popup_analytics_%'" );
+ // Delete all Popup Maker related user meta.
+ $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key LIKE '_pum_%' OR meta_key lIKE 'pum_%'" );
+
// Reset JS/CSS assets for regeneration.
pum_reset_assets();
From 037166c02c90a3b2c67735226fda9837a33b6af3 Mon Sep 17 00:00:00 2001
From: Frank Corso
Date: Tue, 11 Aug 2020 12:28:55 -0400
Subject: [PATCH 31/92] Improve code quality by fixing warnings from linters
---
classes/Install.php | 45 +++++++++++++++++++++++++--------------------
1 file changed, 25 insertions(+), 20 deletions(-)
diff --git a/classes/Install.php b/classes/Install.php
index edf583573..be04d8138 100644
--- a/classes/Install.php
+++ b/classes/Install.php
@@ -1,9 +1,9 @@
get_col( "SELECT blog_id FROM {$wpdb->blogs}" );
@@ -58,7 +58,6 @@ private static function do_multisite( $network_wide, $method, $args = array() )
if ( ! pum_is_func_disabled( 'set_time_limit' ) ) {
@set_time_limit( 0 );
}
-
}
foreach ( $blog_ids as $blog_id ) {
@@ -79,30 +78,33 @@ private static function do_multisite( $network_wide, $method, $args = array() )
}
/**
- *
+ * Installs the plugin
*/
public static function activate_site() {
// Add default values where needed.
- $options = array_merge( get_option( 'popmake_settings', array() ), array(
- 'disable_popup_category_tag' => 1,
- ) );
-
- // Setup some default options
+ $options = array_merge(
+ get_option( 'popmake_settings', array() ),
+ array(
+ 'disable_popup_category_tag' => 1,
+ )
+ );
+
+ // Setup some default options.
add_option( 'popmake_settings', $options );
add_option( 'pum_version', Popup_Maker::$VER );
pum();
- // Setup the Popup & Theme Custom Post Type
-// PUM_Types::register_post_types();
+ // Setup the Popup & Theme Custom Post Type.
+ // PUM_Types::register_post_types();.
- // Setup the Popup Taxonomies
-// PUM_Types::register_taxonomies( true );
+ // Setup the Popup Taxonomies.
+ // PUM_Types::register_taxonomies( true );.
// Updates stored values for versioning.
-// PUM_Utils_Upgrades::update_plugin_version();
+ // PUM_Utils_Upgrades::update_plugin_version();.
// We used transients before, but since the check for this option runs every admin page load it means 2 queries after its cleared.
// To prevent that we flipped it, now we delete the following option, and check for it.
@@ -125,6 +127,8 @@ public static function get_option( $key, $default = false ) {
}
/**
+ * Run when Popup Maker is deactivated. Completely deletes all data if complete_uninstall is set to true.
+ *
* @since 1.4
*/
public static function deactivate_site() {
@@ -140,10 +144,11 @@ public static function deactivate_site() {
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key LIKE 'popup_%'" );
/** Delete All the Taxonomies */
- foreach ( array( 'popup_category', 'popup_tag', ) as $taxonomy ) {
- // Prepare & excecute SQL, Delete Terms
+ foreach ( array( 'popup_category', 'popup_tag' ) as $taxonomy ) {
+ // Prepare & excecute SQL, Delete Terms.
$wpdb->get_results( $wpdb->prepare( "DELETE t.*, tt.* FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('%s')", $taxonomy ) );
- // Delete Taxonomy
+
+ // Delete Taxonomy.
$wpdb->delete( $wpdb->term_taxonomy, array( 'taxonomy' => $taxonomy ), array( '%s' ) );
}
@@ -214,7 +219,7 @@ public static function get_activation_failure_notice() {
public static function activation_failure_admin_notice() {
?>
-
+
Date: Tue, 18 Aug 2020 12:05:12 -0400
Subject: [PATCH 32/92] Update documentation links from contextual help
---
classes/Admin/Popups.php | 2 +-
classes/Admin/Templates.php | 6 +++---
classes/Triggers.php | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/classes/Admin/Popups.php b/classes/Admin/Popups.php
index c2cbd1a8c..ad05fdd87 100644
--- a/classes/Admin/Popups.php
+++ b/classes/Admin/Popups.php
@@ -702,7 +702,7 @@ public static function fields() {
),
'position_from_trigger' => array(
'label' => __( 'Position from Trigger', 'popup-maker' ),
- 'desc' => sprintf( __( 'This will position the popup in relation to the %sClick Trigger%s.', 'popup-maker' ), '', '' ),
+ 'desc' => sprintf( __( 'This will position the popup in relation to the %sClick Trigger%s.', 'popup-maker' ), '', '' ),
'type' => 'checkbox',
'std' => false,
'priority' => 40,
diff --git a/classes/Admin/Templates.php b/classes/Admin/Templates.php
index f435149d8..58d9af7e4 100644
--- a/classes/Admin/Templates.php
+++ b/classes/Admin/Templates.php
@@ -402,7 +402,7 @@ public static function triggers_editor() {