From ba63dd524d9c75c356a3fd0fe0fe7bd7ee420e3b Mon Sep 17 00:00:00 2001 From: dignajar Date: Wed, 9 Sep 2015 23:33:31 -0300 Subject: [PATCH] Updates --- install.php | 3 ++- kernel/boot/rules/70.pages.php | 5 +++++ kernel/boot/rules/70.posts.php | 5 +++++ kernel/dbposts.class.php | 23 +++++++++++++++++++---- kernel/dbsite.class.php | 9 ++++++++- kernel/helpers/valid.class.php | 3 ++- plugins/pages/plugin.php | 4 ++-- plugins/simplemde/languages/en_US.json | 3 +-- plugins/simplemde/languages/es_AR.json | 3 +-- 9 files changed, 45 insertions(+), 13 deletions(-) diff --git a/install.php b/install.php index 628eeca1..6582a97a 100755 --- a/install.php +++ b/install.php @@ -264,7 +264,8 @@ function install($adminPassword, $email) 'uriPost'=>'/post/', 'uriPage'=>'/', 'uriTag'=>'/tag/', - 'url'=>'http://'.DOMAIN.HTML_PATH_ROOT + 'url'=>'http://'.DOMAIN.HTML_PATH_ROOT, + 'cliMode'=>true ); file_put_contents(PATH_DATABASES.'site.php', $dataHead.json_encode($data, JSON_PRETTY_PRINT), LOCK_EX); diff --git a/kernel/boot/rules/70.pages.php b/kernel/boot/rules/70.pages.php index ab24060d..d3ebd2bf 100644 --- a/kernel/boot/rules/70.pages.php +++ b/kernel/boot/rules/70.pages.php @@ -141,6 +141,11 @@ function build_all_pages() // Main // ============================================================================ +// Search for changes on pages by the user. +if( $Site->cliMode() ) { + $dbPages->regenerateCli(); +} + // Filter by page, then build it if( ($Url->whereAmI()==='page') && ($Url->notFound()===false) ) { diff --git a/kernel/boot/rules/70.posts.php b/kernel/boot/rules/70.posts.php index 3fa0fb49..fc01bf6f 100644 --- a/kernel/boot/rules/70.posts.php +++ b/kernel/boot/rules/70.posts.php @@ -117,6 +117,11 @@ function buildPostsForPage($pageNumber=0, $amount=POSTS_PER_PAGE_ADMIN, $removeU // Main // ============================================================================ +// Search for changes on posts by the user. +if( $Site->cliMode() ) { + $dbPosts->regenerateCli(); +} + // Execute the scheduler. if( $dbPosts->scheduler() ) { // Reindex dbTags. diff --git a/kernel/dbposts.class.php b/kernel/dbposts.class.php index 6ff99c93..d2f7bda4 100644 --- a/kernel/dbposts.class.php +++ b/kernel/dbposts.class.php @@ -393,12 +393,24 @@ class dbPosts extends dbJSON foreach($fields as $f=>$v) { if($Post->getField($f)) { - // DEBUG: Validar/Sanitizar valores, ej: validar formato fecha - $this->db[$key][$f] = $Post->getField($f); + + $valueFromFile = $Post->getField($f); + + // Validate values from file. + if($f=='tags') { + $valueFromFile = array_map('trim', explode(',', $valueFromFile)); + $valueFromFile = implode(',', $valueFromFile); + } + elseif($f=='date') { + if(!Valid::date($valueFromFile,DB_DATE_FORMAT)) { + $valueFromFile = Date::current(DB_DATE_FORMAT); + } + } + + // Sanitize the values from file. + $this->db[$key][$f] = Sanitize::html($valueFromFile); } } - - // DEBUG: Update tags } // Remove old posts from db @@ -406,6 +418,9 @@ class dbPosts extends dbJSON unset($this->db[$key]); } + // Sort posts before save. + $this->sortByDate(); + // Save the database. if( $this->save() === false ) { Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to save the database file.'); diff --git a/kernel/dbsite.class.php b/kernel/dbsite.class.php index ac3928f0..b7e9c20d 100644 --- a/kernel/dbsite.class.php +++ b/kernel/dbsite.class.php @@ -17,7 +17,8 @@ class dbSite extends dbJSON 'uriPage'=> array('inFile'=>false, 'value'=>'/'), 'uriPost'=> array('inFile'=>false, 'value'=>'/post/'), 'uriTag'=> array('inFile'=>false, 'value'=>'/tag/'), - 'url'=> array('inFile'=>false, 'value'=>'') + 'url'=> array('inFile'=>false, 'value'=>''), + 'cliMode'=> array('inFile'=>false, 'value'=>true) ); function __construct() @@ -135,6 +136,12 @@ class dbSite extends dbJSON return $this->db['url']; } + // Returns TRUE if the cli mode is enabled, otherwise FALSE. + public function cliMode() + { + return $this->db['cliMode']; + } + // Returns the relative home link public function homeLink() { diff --git a/kernel/helpers/valid.class.php b/kernel/helpers/valid.class.php index a3d305e2..d6acbcdc 100644 --- a/kernel/helpers/valid.class.php +++ b/kernel/helpers/valid.class.php @@ -28,7 +28,8 @@ class Valid { public static function date($date, $format='Y-m-d H:i:s') { $tmp = DateTime::createFromFormat($format, $date); - return $tmp && $tmp->format($format) == $date; + + return $tmp && $tmp->format($format)==$date; } } \ No newline at end of file diff --git a/plugins/pages/plugin.php b/plugins/pages/plugin.php index 42a9247d..262ad11c 100755 --- a/plugins/pages/plugin.php +++ b/plugins/pages/plugin.php @@ -33,10 +33,10 @@ class pluginPages extends Plugin { global $pagesParents; global $Site, $Url; $home = $Url->whereAmI()==='home'; - + $html = '
'; - // If the label is not empty, print it. + // Print the label if it not empty. $label = $this->getDbField('label'); if( !empty($label) ) { $html .= '

'.$label.'

'; diff --git a/plugins/simplemde/languages/en_US.json b/plugins/simplemde/languages/en_US.json index 28d89004..6525af01 100755 --- a/plugins/simplemde/languages/en_US.json +++ b/plugins/simplemde/languages/en_US.json @@ -2,7 +2,7 @@ "plugin-data": { "name": "SimpleMDE", - "description": "A simple, beautiful, and embeddable JavaScript markdown editor.", + "description": "A simple, beautiful, and embeddable JavaScript markdown editor by @WesCossick.", "author": "Bludit", "email": "", "website": "https://github.com/NextStepWebs/simplemde-markdown-editor", @@ -11,5 +11,4 @@ }, "toolbar": "Toolbar", "tab-size": "Tab size" - } \ No newline at end of file diff --git a/plugins/simplemde/languages/es_AR.json b/plugins/simplemde/languages/es_AR.json index 72230581..6fecc86b 100755 --- a/plugins/simplemde/languages/es_AR.json +++ b/plugins/simplemde/languages/es_AR.json @@ -2,7 +2,7 @@ "plugin-data": { "name": "SimpleMDE", - "description": "Simple, facil y hermoso editor Markdown.", + "description": "Simple, facil y hermoso editor Markdown desarrollado por @WesCossick.", "author": "Bludit", "email": "", "website": "https://github.com/NextStepWebs/simplemde-markdown-editor", @@ -11,5 +11,4 @@ }, "toolbar": "Barra de herramientas", "tab-size": "TamaƱo de la tabulaciĆ³n" - } \ No newline at end of file