id : null ); // Start the notices array off with any that are queued. $notices = adplugg_notice_pull_all_queued(); // Add any new notices based on the current state of the plugin, etc. if( ! adplugg_is_access_code_installed() ) { if( $screen_id != 'toplevel_page_adplugg' ) { $notices[] = AdPlugg_Notice::create( 'nag_configure', 'You\'ve activated the AdPlugg Plugin, yay! Now let\'s configure it!', 'updated', true, '+30 days' ); } } else { if( ! adplugg_is_widget_active() ) { if( $screen_id == 'widgets' ) { $notices[] = AdPlugg_Notice::create( 'nag_widget_1', 'Drag the AdPlugg Widget into a Widget Area to display ads on your site.', 'updated', true, '+30 days' ); } else { $notices[] = AdPlugg_Notice::create( 'nag_widget_2', 'You\'re configured and ready to go. Now just drag the AdPlugg Widget into a Widget Area. Go to Widget Configuration.', 'updated', true, '+30 days' ); } } } //print the notices $out = ''; foreach( $notices as $notice ) { $out .= $notice->get_rendered(); } echo $out; } /** * Called via ajax to dismiss a notice. Registered in the constructor above. */ function set_notice_pref_callback() { //Get the variables from the post request $notice_key = $_POST['notice_key']; $remind_when = $_POST['remind_when']; //Determine when to remind on $remind_on = null; if( $remind_when != null ) { $remind_on = strtotime( $remind_when ); } //Add the dismissal to the database $dismissals = get_option( ADPLUGG_NOTICES_DISMISSED_NAME, array() ); $dismissals[$notice_key] = $remind_on; update_option( ADPLUGG_NOTICES_DISMISSED_NAME, $dismissals ); //Build the return array $ret = array(); $ret['notice_key'] = $notice_key; $ret['status'] = 'success'; //return the json echo json_encode( $ret ); wp_die(); //terminate immediately and return a proper response } }