141 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace W3TC;
 | |
| 
 | |
| class Extension_CloudFlare_Page {
 | |
| 	static public function admin_print_scripts_performance_page_w3tc_cdn() {
 | |
| 		if ( ( isset( $_REQUEST['extension'] ) &&
 | |
| 		Util_Request::get_string( 'extension' ) == 'cloudflare' ) ||
 | |
| 			( isset( $_REQUEST['page'] ) &&
 | |
| 			Util_Request::get_string( 'page' ) == 'w3tc_cdnfsd' ) ) {
 | |
| 			wp_enqueue_script( 'w3tc_extension_cloudflare',
 | |
| 				plugins_url( 'Extension_CloudFlare_Page_View.js', W3TC_FILE ),
 | |
| 				array( 'jquery' ), '1.0' );
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	static public function w3tc_settings_box_cdnfsd() {
 | |
| 		include  W3TC_DIR . '/Extension_CloudFlare_Cdn_Page_View.php';
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	static public function w3tc_extension_page_cloudflare() {
 | |
| 		$c = Dispatcher::config();
 | |
| 		$api = Extension_CloudFlare_SettingsForUi::api();
 | |
| 
 | |
| 		$email = $c->get_string( array( 'cloudflare', 'email' ) );
 | |
| 		$key = $c->get_string( array( 'cloudflare', 'key' ) );
 | |
| 		$zone_id = $c->get_string( array( 'cloudflare', 'zone_id' ) );
 | |
| 
 | |
| 		if ( empty( $email ) || empty( $key ) || empty( $zone_id ) ) {
 | |
| 			$state = 'not_configured';
 | |
| 		} else {
 | |
| 			$settings = array();
 | |
| 
 | |
| 			try {
 | |
| 				$settings =
 | |
| 					Extension_CloudFlare_SettingsForUi::settings_get( $api );
 | |
| 				$state = 'available';
 | |
| 			} catch ( \Exception $ex ) {
 | |
| 				$state = 'not_available';
 | |
| 				$error_message = $ex->getMessage();
 | |
| 
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		$config = $c;
 | |
| 		include  W3TC_DIR . '/Extension_CloudFlare_Page_View.php';
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	static private function cloudflare_checkbox( $settings, $data ) {
 | |
| 		if ( !isset( $settings[$data['key']] ) )
 | |
| 			return;
 | |
| 
 | |
| 		$value = ( $settings[$data['key']]['value'] == 'on' );
 | |
| 		$disabled = !$settings[$data['key']]['editable'];
 | |
| 
 | |
| 		Util_Ui::table_tr( array(
 | |
| 				'id' => $data['key'],
 | |
| 				'label' => $data['label'],
 | |
| 				'checkbox' => array(
 | |
| 					'name' => 'cloudflare_api_' . $data['key'],
 | |
| 					'value' => $value,
 | |
| 					'disabled' => $disabled,
 | |
| 					'label' => 'Enable'
 | |
| 				),
 | |
| 				'description' => $data['description']
 | |
| 			) );
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	static private function cloudflare_selectbox( $settings, $data ) {
 | |
| 		if ( !isset( $settings[$data['key']] ) )
 | |
| 			return;
 | |
| 
 | |
| 		$value = $settings[$data['key']]['value'];
 | |
| 		$disabled = !$settings[$data['key']]['editable'];
 | |
| 
 | |
| 		Util_Ui::table_tr( array(
 | |
| 				'id' => $data['key'],
 | |
| 				'label' => $data['label'],
 | |
| 				'selectbox' => array(
 | |
| 					'name' => 'cloudflare_api_' . $data['key'],
 | |
| 					'value' => $value,
 | |
| 					'disabled' => $disabled,
 | |
| 					'values' => $data['values']
 | |
| 				),
 | |
| 				'description' => $data['description']
 | |
| 			) );
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	static private function cloudflare_textbox( $settings, $data ) {
 | |
| 		if ( !isset( $settings[$data['key']] ) )
 | |
| 			return;
 | |
| 
 | |
| 		$value = $settings[$data['key']]['value'];
 | |
| 		$disabled = !$settings[$data['key']]['editable'];
 | |
| 
 | |
| 		Util_Ui::table_tr( array(
 | |
| 				'id' => $data['key'],
 | |
| 				'label' => $data['label'],
 | |
| 				'textbox' => array(
 | |
| 					'name' => 'cloudflare_api_' . $data['key'],
 | |
| 					'value' => $value,
 | |
| 					'disabled' => $disabled
 | |
| 				),
 | |
| 				'description' => $data['description']
 | |
| 			) );
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	static private function cloudflare_button_save( $id = '' ) {
 | |
| 		$b1_id = 'w3tc_cloudflare_save_' . $id;
 | |
| 
 | |
| 		echo '<p class="submit">';
 | |
| 		echo wp_kses(
 | |
| 			Util_Ui::nonce_field( 'w3tc' ),
 | |
| 			array(
 | |
| 				'input' => array(
 | |
| 					'type'  => array(),
 | |
| 					'name'  => array(),
 | |
| 					'value' => array(),
 | |
| 				),
 | |
| 			)
 | |
| 		);
 | |
| 		echo '<input type="submit" id="' . esc_attr( $b1_id ) .
 | |
| 			'" name="w3tc_cloudflare_save_settings" ' .
 | |
| 			' class="w3tc-button-save button-primary" ' .
 | |
| 			' value="' . esc_attr( __( 'Save CloudFlare settings', 'w3-total-cache' ) ) .
 | |
| 			'" />';
 | |
| 		echo '</p>';
 | |
| 	}
 | |
| }
 |