﻿£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
<?php
namespace W3TC;



class Extension_CloudFlare_AdminActions {
	public function w3tc_cloudflare_flush() {
		$c = Dispatcher::config();
		$api = new Extension_CloudFlare_Api( array(
				'email' => $c->get_string( array( 'cloudflare', 'email' ) ),
				'key' => $c->get_string( array( 'cloudflare', 'key' ) ),
				'zone_id' => $c->get_string( array( 'cloudflare', 'zone_id' ) ),
				'timelimit_api_request' => $c->get_integer(
					array( 'cloudflare', 'timelimit.api_request' ) )
			)
		);

		try {
			$v = $api->purge();
		} catch ( \Exception $ex ) {
			Util_Admin::redirect_with_custom_messages2( array(
					'errors' => array(
						'cloudflare_flush' =>
						__( 'Failed to purge Cloudflare cache: ', 'w3-total-cache' ) .
						$ex->getMessage()
					)
				) );
			return;
		}

		Util_Admin::redirect_with_custom_messages2( array(
				'notes' => array(
					'cloudflare_flush' => __( 'Cloudflare cache successfully emptied.', 'w3-total-cache' )
				)
			) );
	}



	/**
	 * Flush all caches except Cloudflare action.
	 *
	 * @return void
	 */
	public function w3tc_cloudflare_flush_all_except_cf() {
		Dispatcher::component( 'CacheFlush' )->flush_all( array(
				'cloudflare' => 'skip' ) );

		Util_Admin::redirect( array(
				'w3tc_note' => 'flush_all'
			), true );
	}
}
