bug fixes
This commit is contained in:
parent
304a57beca
commit
9d865eb6ce
|
@ -681,15 +681,13 @@ div.plugin-links > span.separator {
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
#jsformplugin > div > label,
|
||||
#jsformplugin > div > input[type=text],
|
||||
#jsformplugin > div > input[type=checkbox],
|
||||
#jsformplugin > div > textarea,
|
||||
#jsformplugin > div > select {
|
||||
display: table-cell;
|
||||
#jsformplugin ul {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#jsformplugin > div > button[type=submit] {
|
||||
#jsformplugin button[type=submit] {
|
||||
margin-left: 200px;
|
||||
border-radius: 2px;
|
||||
padding: 1px 20px;
|
||||
|
@ -702,11 +700,19 @@ div.plugin-links > span.separator {
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
#jsformplugin > div > button[type=submit].blue {
|
||||
#jsformplugin button[type=submit].blue {
|
||||
background: #007add !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#jsformplugin > div > label,
|
||||
#jsformplugin > div > input[type=text],
|
||||
#jsformplugin > div > input[type=checkbox],
|
||||
#jsformplugin > div > textarea,
|
||||
#jsformplugin > div > select {
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
#jsformplugin > div > span.tip {
|
||||
color: #999;
|
||||
margin-top: 5px;
|
||||
|
|
|
@ -92,12 +92,15 @@
|
|||
<h4 class="panel-title"><?php $L->p('Scheduled pages') ?></h4>
|
||||
<ul class="uk-list">
|
||||
<?php
|
||||
if( empty($_scheduledPosts) ) {
|
||||
$scheduledPages = $dbPages->getScheduledDB();
|
||||
if( empty($scheduledPages) ) {
|
||||
echo '<li>'.$Language->g('There are no scheduled pages').'</li>';
|
||||
}
|
||||
else {
|
||||
foreach($_scheduledPosts as $Post) {
|
||||
echo '<li><span class="label-time">'.$Post->dateRaw(SCHEDULED_DATE_FORMAT).'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-post/'.$Post->key().'">'.($Post->title()?$Post->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
||||
$keys = array_keys($scheduledPages);
|
||||
foreach($keys as $key) {
|
||||
$page = buildPage($key);
|
||||
echo '<li><span class="label-time">'.$page->dateRaw(SCHEDULED_DATE_FORMAT).'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-page/'.$page->key().'">'.($page->title()?$page->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -128,12 +131,15 @@
|
|||
<h4 class="panel-title"><?php $L->p('Drafts') ?></h4>
|
||||
<ul class="uk-list">
|
||||
<?php
|
||||
if( empty($_draftPages) ) {
|
||||
$draftPages = $dbPages->getDraftDB();
|
||||
if( empty($draftPages) ) {
|
||||
echo '<li>'.$Language->g('There are no draft pages').'</li>';
|
||||
}
|
||||
else {
|
||||
foreach($_draftPages as $Page) {
|
||||
echo '<li><span class="label-draft">'.$Language->g('Page').'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-page/'.$Page->key().'">'.($Page->title()?$Page->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
||||
$keys = array_keys($scheduledPages);
|
||||
foreach($keys as $key) {
|
||||
$page = buildPage($key);
|
||||
echo '<li><span class="label-draft">'.$Language->g('Page').'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-page/'.$page->key().'">'.($page->title()?$page->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -72,5 +72,6 @@ elseif( $Url->whereAmI()==='admin' ) {
|
|||
// Set page 404 not found
|
||||
if( $Url->notFound() ) {
|
||||
$Url->setWhereAmI('page');
|
||||
$page = new Page('error');
|
||||
$page = buildPage('error');
|
||||
$pages[0] = $page;
|
||||
}
|
||||
|
|
|
@ -292,6 +292,18 @@ class dbPages extends dbJSON
|
|||
return $tmp;
|
||||
}
|
||||
|
||||
// Returns a database with drafts pages
|
||||
public function getScheduledDB()
|
||||
{
|
||||
$tmp = $this->db;
|
||||
foreach($tmp as $key=>$fields) {
|
||||
if($fields['status']!='scheduled') {
|
||||
unset($tmp[$key]);
|
||||
}
|
||||
}
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
// Return an array with the database for a page, FALSE otherwise.
|
||||
public function getPageDB($key)
|
||||
{
|
||||
|
|
|
@ -18,6 +18,7 @@ class Page {
|
|||
{
|
||||
$filePath = PATH_PAGES.$key.DS.FILENAME;
|
||||
|
||||
// Check if the file exists
|
||||
if( !Sanitize::pathFile($filePath) ) {
|
||||
return false;
|
||||
}
|
||||
|
@ -25,32 +26,38 @@ class Page {
|
|||
$tmp = 0;
|
||||
$lines = file($filePath);
|
||||
foreach($lines as $lineNumber=>$line) {
|
||||
$parts = array_map('trim', explode(':', $line, 2));
|
||||
// Split the line in 2 parts, limiter by :
|
||||
$parts = explode(':', $line, 2);
|
||||
|
||||
// Lowercase variable
|
||||
// Remove all characters except letters and dash -
|
||||
$parts[0] = preg_replace('/[^A-Za-z\-]/', '', $parts[0]);
|
||||
|
||||
// Lowercase
|
||||
$parts[0] = Text::lowercase($parts[0]);
|
||||
|
||||
// If variables is content then break the foreach and process the content after.
|
||||
if($parts[0]==='content') {
|
||||
// Check if the current line start the content of the page
|
||||
// We have two breakers, the word content or 3 dash ---
|
||||
if( ($parts[0]==='content') || ($parts[0]==='---') ) {
|
||||
$tmp = $lineNumber;
|
||||
break;
|
||||
}
|
||||
|
||||
if( !empty($parts[0]) && !empty($parts[1]) ) {
|
||||
// Sanitize all fields, except Content.
|
||||
$parts[1] = trim($parts[1]);
|
||||
// Sanitize all fields, except the content
|
||||
$this->vars[$parts[0]] = Sanitize::html($parts[1]);
|
||||
}
|
||||
}
|
||||
|
||||
// Process the content
|
||||
if($tmp!==0) {
|
||||
// Next line after "Content:" variable
|
||||
// Next line after "Content:" or "---"
|
||||
$tmp++;
|
||||
|
||||
// Remove lines after Content
|
||||
$output = array_slice($lines, $tmp);
|
||||
|
||||
if(!empty($parts[1])) {
|
||||
if( !empty($parts[1]) ) {
|
||||
array_unshift($output, "\n");
|
||||
array_unshift($output, $parts[1]);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
class pluginAPI extends Plugin {
|
||||
|
||||
private $method;
|
||||
|
||||
public function init()
|
||||
{
|
||||
// Generate the API Token
|
||||
|
@ -15,9 +17,11 @@ class pluginAPI extends Plugin {
|
|||
|
||||
public function form()
|
||||
{
|
||||
global $Language;
|
||||
|
||||
$html = '<div>';
|
||||
$html .= '<label>'.$Language->get('API Token').'</label>';
|
||||
$html .= '<input type="text" value="'.$this->getValue('token').'" disabled>';
|
||||
$html .= '<input name="token" type="text" value="'.$this->getValue('token').'">';
|
||||
$html .= '<span class="tip">'.$Language->get('This token is for read only and is regenerated every time you install the plugin').'</span>';
|
||||
$html .= '</div>';
|
||||
|
||||
|
@ -53,6 +57,10 @@ class pluginAPI extends Plugin {
|
|||
// Remove the first part of the URI
|
||||
$URI = mb_substr($URI, $length);
|
||||
|
||||
// METHOD
|
||||
// ------------------------------------------------------------
|
||||
$method = $this->getMethod();
|
||||
|
||||
// INPUTS
|
||||
// ------------------------------------------------------------
|
||||
$inputs = $this->getInputs();
|
||||
|
@ -121,6 +129,19 @@ class pluginAPI extends Plugin {
|
|||
// PRIVATE METHODS
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
private function getMethod()
|
||||
{
|
||||
// METHODS
|
||||
// ------------------------------------------------------------
|
||||
// GET
|
||||
// POST
|
||||
// PUT
|
||||
// DELETE
|
||||
|
||||
$this->method = $_SERVER['REQUEST_METHOD'];
|
||||
return $this->method;
|
||||
}
|
||||
|
||||
private function getParameters($URI)
|
||||
{
|
||||
// PARAMETERS
|
||||
|
@ -141,16 +162,7 @@ class pluginAPI extends Plugin {
|
|||
|
||||
private function getInputs()
|
||||
{
|
||||
// METHODS
|
||||
// ------------------------------------------------------------
|
||||
// GET
|
||||
// POST
|
||||
// PUT
|
||||
// DELETE
|
||||
|
||||
$method = $_SERVER['REQUEST_METHOD'];
|
||||
|
||||
switch($method) {
|
||||
switch($this->method) {
|
||||
case "POST":
|
||||
$inputs = $_POST;
|
||||
break;
|
||||
|
@ -224,7 +236,7 @@ class pluginAPI extends Plugin {
|
|||
foreach($keys as $pageKey) {
|
||||
// Create the page object from the page key
|
||||
$page = buildPage($pageKey);
|
||||
array_push($tmp['data'], $Page->json( $returnsArray=true ));
|
||||
array_push($tmp['data'], $page->json( $returnsArray=true ));
|
||||
}
|
||||
|
||||
return $tmp;
|
||||
|
|
|
@ -12,6 +12,4 @@
|
|||
|
||||
<!-- Plugins with the hook pageEnd -->
|
||||
<?php Theme::plugins('pageEnd') ?>
|
||||
</section>
|
||||
|
||||
<?php var_dump($page); ?>
|
||||
</section>
|
Loading…
Reference in New Issue