76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace W3TC;
 | |
| 
 | |
| 
 | |
| 
 | |
| class Cdn_LimeLight_Popup {
 | |
| 	static public function w3tc_ajax() {
 | |
| 		$o = new Cdnfsd_LimeLight_Popup();
 | |
| 
 | |
| 		add_action( 'w3tc_ajax_cdn_limelight_intro',
 | |
| 			array( $o, 'w3tc_ajax_cdn_limelight_intro' ) );
 | |
| 		add_action( 'w3tc_ajax_cdn_limelight_save',
 | |
| 			array( $o, 'w3tc_ajax_cdn_limelight_save' ) );
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	public function w3tc_ajax_cdn_limelight_intro() {
 | |
| 		$this->render_intro( array() );
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	private function render_intro( $details ) {
 | |
| 		$config = Dispatcher::config();
 | |
| 		$domain = '';
 | |
| 		$domains = $config->get_array('cdn.limelight.host.domains');
 | |
| 		if ( count( $domains ) > 0 ) {
 | |
| 			$domain = $domains[0];
 | |
| 		}
 | |
| 
 | |
| 		include  W3TC_DIR . '/Cdn_LimeLight_Popup_View_Intro.php';
 | |
| 		exit();
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	public function w3tc_ajax_cdn_limelight_save() {
 | |
| 		$short_name = Util_Request::get_string( 'short_name' );
 | |
| 		$username = Util_Request::get_string( 'username' );
 | |
| 		$api_key = Util_Request::get_string( 'api_key' );
 | |
| 		$domain = Util_Request::get_string( 'domain' );
 | |
| 
 | |
| 		try {
 | |
| 			$api = new Cdnfsd_LimeLight_Api( $short_name, $username, $api_key );
 | |
| 			$url = ( Util_Environment::is_https() ? 'https://' : 'http://' ) . $domain . '/test';
 | |
| 
 | |
| 			$items = array(
 | |
| 				array(
 | |
| 					'pattern' => $url,
 | |
| 					'exact' => true,
 | |
| 					'evict' => false,
 | |
| 					'incqs' => false
 | |
| 				)
 | |
| 			);
 | |
| 
 | |
| 			$api->purge( $items );
 | |
| 		} catch ( \Exception $ex ) {
 | |
| 			$this->render_intro( array(
 | |
| 					'error_message' => 'Failed to make test purge request: ' . $ex->getMessage()
 | |
| 				) );
 | |
| 			exit();
 | |
| 		}
 | |
| 
 | |
| 		$c = Dispatcher::config();
 | |
| 		$c->set( 'cdn.limelight.short_name', $short_name );
 | |
| 		$c->set( 'cdn.limelight.username', $username );
 | |
| 		$c->set( 'cdn.limelight.api_key', $api_key );
 | |
| 		$c->set( 'cdn.limelight.host.domains', array( $domain ) );
 | |
| 		$c->save();
 | |
| 
 | |
| 		include  W3TC_DIR . '/Cdn_LimeLight_Popup_View_Success.php';
 | |
| 		exit();
 | |
| 	}
 | |
| }
 |