PluginProbe
Boxzilla – WordPress Popup Builder / 3.1.9
Boxzilla – WordPress Popup Builder v3.1.9
3.4.11 3.4.10 3.4.9 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 trunk 3.0 3.0.1 3.0.2 3.0.3 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 All 72 releases
← All changes | src/admin/class-admin.php +38 -7 3.0.13.1.9 View file →
@@ -20,8 +20,13 @@
20 20 */
21 21 protected $boxzilla;
22 22
23 23 /**
24 + * @var ReviewNotice
25 + */
26 + protected $review_notice;
27 +
28 + /**
24 29 * @param Plugin $plugin
25 30 * @param Boxzilla $boxzilla
26 31 */
27 32 public function __construct( Plugin $plugin, Boxzilla $boxzilla ) {
@@ -26,8 +31,9 @@
26 31 */
27 32 public function __construct( Plugin $plugin, Boxzilla $boxzilla ) {
28 33 $this->plugin = $plugin;
29 34 $this->boxzilla = $boxzilla;
35 + $this->review_notice = new ReviewNotice();
30 36 }
31 37
32 38 /**
33 39 * Initialise the all admin related stuff
@@ -32,10 +38,11 @@
32 38 /**
33 39 * Initialise the all admin related stuff
34 40 */
35 41 public function init() {
42 +
36 43 // Load the plugin textdomain
37 - load_plugin_textdomain( 'boxzilla', null, $this->plugin->dir() . '/languages' );
44 + load_plugin_textdomain( 'boxzilla', null, basename( $this->plugin->dir() ) . '/languages' );
38 45
39 46 // action hooks
40 47 $this->add_hooks();
41 48 $this->run_migrations();
@@ -46,16 +53,42 @@
46 53 */
47 54 protected function add_hooks() {
48 55 add_action( 'admin_init', array( $this, 'lazy_add_hooks' ) );
49 56 add_action( 'admin_init', array( $this, 'register' ) );
57 + add_action( 'init', array( $this, 'listen_for_actions' ) );
50 58 add_action( 'admin_menu', array( $this, 'menu' ) );
51 59 add_action( 'admin_notices', array( $this, 'notices' ) );
52 60 add_action( 'save_post_boxzilla-box', array( $this, 'save_box_options' ), 20, 2 );
53 61 add_action( 'trashed_post', array( $this, 'flush_rules' ) );
54 62 add_action( 'untrashed_post', array( $this, 'flush_rules' ) );
63 +
64 + $this->review_notice->add_hooks();
55 65 }
56 66
57 67 /**
68 + * Listen for admin actions.
69 + */
70 + public function listen_for_actions() {
71 +
72 + // triggered?
73 + $vars = array_merge( $_POST, $_GET );
74 + if( empty( $vars['_boxzilla_admin_action'] ) ) {
75 + return false;
76 + }
77 +
78 + // authorized?
79 + if( ! current_user_can( 'edit_posts' ) ) {
80 + return false;
81 + }
82 +
83 + // fire action
84 + $action = $vars['_boxzilla_admin_action'];
85 + do_action( 'boxzilla_admin_' . $action );
86 +
87 + return true;
88 + }
89 +
90 + /**
58 91 * All logic for admin notices lives here.
59 92 */
60 93 public function notices() {
61 94 global $pagenow,
@@ -101,15 +134,11 @@
101 134 add_action( 'admin_enqueue_scripts', array( $this, 'load_assets' ) );
102 135 add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
103 136 add_filter( 'tiny_mce_before_init', array( $this, 'tinymce_init' ) );
104 137 add_filter( 'manage_edit-boxzilla-box_columns', array( $this, 'post_type_column_titles' ) );
105 - add_action( 'manage_boxzilla-box_posts_custom_column', array(
106 - $this,
107 - 'post_type_column_content'
108 - ), 10, 2 );
138 + add_action( 'manage_boxzilla-box_posts_custom_column', array( $this, 'post_type_column_content' ), 10, 2 );
109 139 add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
110 140
111 -
112 141 if ( $pagenow === 'plugins.php' ) {
113 142 add_filter( 'plugin_action_links', array( $this, 'add_plugin_settings_link' ), 10, 2 );
114 143 add_filter( 'plugin_row_meta', array( $this, 'add_plugin_meta_links' ), 10, 2 );
115 144 }
@@ -488,8 +517,9 @@
488 517 * @param array $rule
489 518 * @return array The sanitized rule array
490 519 */
491 520 public function sanitize_box_rule( $rule) {
521 +
492 522 $rule['value'] = trim( $rule['value'] );
493 523
494 524 // convert to array
495 525 $rule['value'] = explode( ',', trim( $rule['value'], ',' ) );
@@ -565,9 +595,10 @@
565 595 $opts = array_replace_recursive( $defaults, $opts );
566 596
567 597 $opts['rules'] = array_map( array( $this, 'sanitize_box_rule' ), $opts['rules'] );
568 598 $opts['css'] = $this->sanitize_box_css( $opts['css'] );
569 - $opts['cookie'] = absint( $opts['cookie'] );
599 + $opts['cookie']['triggered'] = absint( $opts['cookie']['triggered'] );
600 + $opts['cookie']['dismissed'] = absint( $opts['cookie']['dismissed'] );
570 601 $opts['trigger'] = sanitize_text_field( $opts['trigger'] );
571 602 $opts['trigger_percentage'] = absint( $opts['trigger_percentage'] );
572 603 $opts['trigger_element'] = sanitize_text_field( $opts['trigger_element'] );
573 604