108 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace W3TC;
 | |
| 
 | |
| class Generic_Plugin_AdminNotifications {
 | |
| 
 | |
| 	private $_config;
 | |
| 
 | |
| 	/**
 | |
| 	 *
 | |
| 	 *
 | |
| 	 * @var string
 | |
| 	 */
 | |
| 	private $_page;
 | |
| 
 | |
| 	function __construct() {
 | |
| 		$this->_config = Dispatcher::config();
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Runs plugin
 | |
| 	 */
 | |
| 	function run() {
 | |
| 		if ( Util_Admin::is_w3tc_admin_page() ) {
 | |
| 			add_action( 'admin_head', array(
 | |
| 					$this,
 | |
| 					'admin_head'
 | |
| 				) );
 | |
| 
 | |
| 			add_action( 'w3tc_message_action_generic_support_us', array(
 | |
| 					$this,
 | |
| 					'w3tc_message_action_generic_support_us'
 | |
| 				) );
 | |
| 			add_action( 'w3tc_ajax_generic_support_us', array(
 | |
| 					$this,
 | |
| 					'w3tc_ajax_generic_support_us'
 | |
| 				) );
 | |
| 
 | |
| 			add_action( 'w3tc_message_action_generic_edge', array(
 | |
| 					$this,
 | |
| 					'w3tc_message_action_generic_edge'
 | |
| 				) );
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Print JS required by the support nag.
 | |
| 	 */
 | |
| 	function admin_head() {
 | |
| 		$state = Dispatcher::config_state_master();
 | |
| 
 | |
| 		// support us
 | |
| 		$day7 = 604800;
 | |
| 		$support_reminder =
 | |
| 			$state->get_integer( 'common.support_us_invitations' ) < 5 &&
 | |
| 			( $state->get_integer( 'common.install' ) <
 | |
| 			( time() - $day7 ) ) &&
 | |
| 			( $state->get_integer( 'common.next_support_us_invitation' ) <
 | |
| 			time() ) &&
 | |
| 			!$this->_config->get_boolean( 'common.tweeted' );
 | |
| 
 | |
| 		if ( $support_reminder ) {
 | |
| 			$invitations = $state->get_integer( 'common.support_us_invitations' );
 | |
| 
 | |
| 			if ( $invitations <= 0 ) {
 | |
| 				$delay = 259200;   // delay 3 days to day10
 | |
| 			} else {
 | |
| 				$delay = 2592000;
 | |
| 			}
 | |
| 
 | |
| 			$state->set( 'common.next_support_us_invitation',
 | |
| 				time() + $delay );
 | |
| 			$state->set( 'common.support_us_invitations', $invitations + 1 );
 | |
| 			$state->save();
 | |
| 
 | |
| 			do_action( 'w3tc_message_action_generic_support_us' );
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Display the support us nag
 | |
| 	 */
 | |
| 	public function w3tc_message_action_generic_support_us() {
 | |
| 		wp_enqueue_script( 'w3tc-generic_support_us',
 | |
| 			plugins_url( 'Generic_GeneralPage_View_ShowSupportUs.js', W3TC_FILE ),
 | |
| 			array(), W3TC_VERSION );
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	public function w3tc_ajax_generic_support_us() {
 | |
| 		$current_user = wp_get_current_user();
 | |
| 		wp_get_current_user();
 | |
| 		$email = $current_user->user_email;
 | |
| 		include W3TC_INC_DIR . '/lightbox/support_us.php';
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	/**
 | |
| 	 * Display the support us nag
 | |
| 	 */
 | |
| 	public function w3tc_message_action_generic_edge() {
 | |
| 		wp_enqueue_script( 'w3tc-generic_edge',
 | |
| 			plugins_url( 'Generic_GeneralPage_View_ShowEdge.js', W3TC_FILE ),
 | |
| 			array(), W3TC_VERSION );
 | |
| 	}
 | |
| }
 |