root_menu_slug = $root_menu_slug; add_action('init', array($configurator, 'json_api_init')); add_action('a2wl_install', array($configurator, 'activation')); add_action('a2wl_uninstall', array($configurator, 'deactivation')); } public function activation() { // Add the rewrite rule on activation global $wp_rewrite; add_filter('rewrite_rules_array', array(new A2WL_Json_Api_Configurator(),'json_api_rewrites')); $wp_rewrite->flush_rules(); } public function deactivation() { // Remove the rewrite rule on deactivation global $wp_rewrite; $wp_rewrite->flush_rules(); } function json_api_init() { global $a2wl_json_api; if (phpversion() < 5) { add_action('admin_notices', array($this, 'json_api_php_version_warning')); return; } if (!class_exists('A2WL_JSON_API')) { add_action('admin_notices', array($this, 'json_api_class_warning')); return; } add_filter('rewrite_rules_array', array($this, 'json_api_rewrites')); $a2wl_json_api = new A2WL_JSON_API(empty($this->root_menu_slug)?'':$this->root_menu_slug); } function json_api_rewrites($wp_rules) { $base = a2wl_get_setting('json_api_base'); if (empty($base)) { return $wp_rules; } $json_api_rules = array( "$base\$" => 'index.php?a2w-json=info', "$base/(.+)\$" => 'index.php?a2w-json=$matches[1]' ); return array_merge($json_api_rules, $wp_rules); } function json_api_php_version_warning() { echo "

Sorry, JSON API requires PHP version 5.0 or greater.

"; } function json_api_class_warning() { echo "

Oops, A2WL_JSON_API class not found. If you've defined a A2WL_JSON_API_DIR constant, double check that the path is correct.

"; } } }