add another api endpoint for the api pluign to get posts by tagname, rafactor a bit the api plugin andnow it needs an access key for all requests

This commit is contained in:
krasi georgiev 2016-11-02 16:19:12 +00:00
parent bad5a1c3f2
commit 8aa7c7c56d

View File

@ -134,6 +134,14 @@ class pluginAPI extends Plugin {
return json_encode($tmp);
}
private function getTagPosts($tag,$amount=3,$pageNumber=0)
{
$posts = buildTagPosts($tag,$amount,$pageNumber);
return json_encode($posts);
}
private function getPage($key)
{
// Generate the object Page
@ -177,6 +185,8 @@ class pluginAPI extends Plugin {
return false;
}
header('Content-Type: application/json');
// Remove the first part of the URI
$URI = mb_substr($URI, $length);
@ -190,14 +200,6 @@ class pluginAPI extends Plugin {
// Get parameters
$parameters = explode('/', $URI);
for($i=0; $i<3; $i++) {
if(empty($parameters[$i])) {
return false;
} else {
// Sanizite
$parameters[$i] = Sanitize::html($parameters[$i]);
}
}
// Default JSON
$json = json_encode(array(
@ -206,16 +208,20 @@ class pluginAPI extends Plugin {
'message'=>'Check the parameters'
));
if(!isset($_GET['key']) OR $_GET['key']!==$this->getDbField('authKey') ){
exit($json);
}
for($i=0; $i<count($parameters); $i++) {
// Sanizite
$parameters[$i] = Sanitize::html($parameters[$i]);
}
if($parameters[0]==='show') {
if($parameters[1]==='all') {
// Authentication key from the URI
$authKey = $parameters[3];
// Compare keys
if( $authKey===$this->getDbField('authKey') ) {
if($parameters[2] === 'posts') {
$json = $this->getAllPosts();
}
@ -223,6 +229,13 @@ class pluginAPI extends Plugin {
$json = $this->getAllPages();
}
}
elseif($parameters[1]==='tag') {
if(isset($parameters[2]) AND isset($parameters[3])AND isset($parameters[4])){
$tag = $parameters[2];
$limit = $parameters[3];
$page = $parameters[4];
$json = $this->getTagPosts($tag,$limit,$page);
}
}
elseif($parameters[1]==='post' || $parameters[1]==='page') {
@ -236,9 +249,6 @@ class pluginAPI extends Plugin {
}
}
}
// Print the JSON
header('Content-Type: application/json');
exit($json);
}
}