Archived
Initial commit
This commit is contained in:
commit
86c1e5f82b
40 files changed
+4362
No files matched your search
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/*
|
||||
Plugin Name: JSON API
|
||||
Plugin URI: http://wordpress.org/extend/plugins/json-api/
|
||||
Description: A RESTful API for WordPress
|
||||
Version: 1.0.7
|
||||
Author: Dan Phiffer
|
||||
Author URI: http://phiffer.org/
|
||||
*/
|
||||
|
||||
$dir = json_api_dir();
|
||||
@include_once "$dir/singletons/api.php";
|
||||
@include_once "$dir/singletons/query.php";
|
||||
@include_once "$dir/singletons/introspector.php";
|
||||
@include_once "$dir/singletons/response.php";
|
||||
@include_once "$dir/models/post.php";
|
||||
@include_once "$dir/models/comment.php";
|
||||
@include_once "$dir/models/category.php";
|
||||
@include_once "$dir/models/tag.php";
|
||||
@include_once "$dir/models/author.php";
|
||||
@include_once "$dir/models/attachment.php";
|
||||
|
||||
function json_api_init() {
|
||||
global $json_api;
|
||||
if (phpversion() < 5) {
|
||||
add_action('admin_notices', 'json_api_php_version_warning');
|
||||
return;
|
||||
}
|
||||
if (!class_exists('JSON_API')) {
|
||||
add_action('admin_notices', 'json_api_class_warning');
|
||||
return;
|
||||
}
|
||||
add_filter('rewrite_rules_array', 'json_api_rewrites');
|
||||
$json_api = new JSON_API();
|
||||
}
|
||||
|
||||
function json_api_php_version_warning() {
|
||||
echo "<div id=\"json-api-warning\" class=\"updated fade\"><p>Sorry, JSON API requires PHP version 5.0 or greater.</p></div>";
|
||||
}
|
||||
|
||||
function json_api_class_warning() {
|
||||
echo "<div id=\"json-api-warning\" class=\"updated fade\"><p>Oops, JSON_API class not found. If you've defined a JSON_API_DIR constant, double check that the path is correct.</p></div>";
|
||||
}
|
||||
|
||||
function json_api_activation() {
|
||||
// Add the rewrite rule on activation
|
||||
global $wp_rewrite;
|
||||
add_filter('rewrite_rules_array', 'json_api_rewrites');
|
||||
$wp_rewrite->flush_rules();
|
||||
}
|
||||
|
||||
function json_api_deactivation() {
|
||||
// Remove the rewrite rule on deactivation
|
||||
global $wp_rewrite;
|
||||
$wp_rewrite->flush_rules();
|
||||
}
|
||||
|
||||
function json_api_rewrites($wp_rules) {
|
||||
$base = get_option('json_api_base', 'api');
|
||||
if (empty($base)) {
|
||||
return $wp_rules;
|
||||
}
|
||||
$json_api_rules = array(
|
||||
"$base\$" => 'index.php?json=info',
|
||||
"$base/(.+)\$" => 'index.php?json=$matches[1]'
|
||||
);
|
||||
return array_merge($json_api_rules, $wp_rules);
|
||||
}
|
||||
|
||||
function json_api_dir() {
|
||||
if (defined('JSON_API_DIR') && file_exists(JSON_API_DIR)) {
|
||||
return JSON_API_DIR;
|
||||
} else {
|
||||
return dirname(__FILE__);
|
||||
}
|
||||
}
|
||||
|
||||
// Add initialization and activation hooks
|
||||
add_action('init', 'json_api_init');
|
||||
register_activation_hook("$dir/json-api.php", 'json_api_activation');
|
||||
register_deactivation_hook("$dir/json-api.php", 'json_api_deactivation');
|
||||
|
||||
?>
|
||||
Reference in new issue
Block a user