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