diff --git a/.gitignore b/.gitignore index 17801a58..6ac90aee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ .DS_Store -!themes/pure -themes/* -content/databases -content/pages -content/posts -content/uploads +bl-content/databases +bl-content/pages +bl-content/posts +bl-content/uploads diff --git a/.htaccess b/.htaccess index 455b2fea..5a85c80c 100644 --- a/.htaccess +++ b/.htaccess @@ -1,7 +1,5 @@ AddDefaultCharset UTF-8 -DirectorySlash Off - # Enable rewrite rules diff --git a/content/README.md b/bl-content/README.md similarity index 100% rename from content/README.md rename to bl-content/README.md diff --git a/kernel/abstract/content.class.php b/bl-kernel/abstract/content.class.php similarity index 100% rename from kernel/abstract/content.class.php rename to bl-kernel/abstract/content.class.php diff --git a/kernel/abstract/dbjson.class.php b/bl-kernel/abstract/dbjson.class.php similarity index 79% rename from kernel/abstract/dbjson.class.php rename to bl-kernel/abstract/dbjson.class.php index 445b7dcb..ef881474 100644 --- a/kernel/abstract/dbjson.class.php +++ b/bl-kernel/abstract/dbjson.class.php @@ -40,10 +40,6 @@ class dbJSON $this->dbBackup = $array; } } - else - { - Log::set(__METHOD__.LOG_SEP.'File '.$file.' does not exists'); - } } public function restoreDB() @@ -58,6 +54,7 @@ class dbJSON return count($this->db); } + // Returns the value from the field. public function getField($field) { if(isset($this->db[$field])) { @@ -86,24 +83,24 @@ class dbJSON return file_put_contents($this->file, $data, LOCK_EX); } + // Returns a JSON encoded string on success or FALSE on failure. private function serialize($data) { - // DEBUG: La idea es siempre serializar en json, habria que ver si siempre esta cargado json_enconde y decode - if(JSON) { - return json_encode($data, JSON_PRETTY_PRINT); - } - - return serialize($data); + return json_encode($data, JSON_PRETTY_PRINT); } + // Returns the value encoded in json in appropriate PHP type. private function unserialize($data) { - // DEBUG: La idea es siempre serializar en json, habria que ver si siempre esta cargado json_enconde y decode - if(JSON) { - return json_decode($data, true); + // NULL is returned if the json cannot be decoded. + $decode = json_decode($data, true); + + // If NULL returns false. + if(empty($decode)) { + return false; } - return unserialize($data); + return $decode; } -} +} \ No newline at end of file diff --git a/kernel/abstract/plugin.class.php b/bl-kernel/abstract/plugin.class.php similarity index 100% rename from kernel/abstract/plugin.class.php rename to bl-kernel/abstract/plugin.class.php diff --git a/kernel/admin/controllers/about.php b/bl-kernel/admin/controllers/about.php similarity index 100% rename from kernel/admin/controllers/about.php rename to bl-kernel/admin/controllers/about.php diff --git a/kernel/admin/controllers/add-user.php b/bl-kernel/admin/controllers/add-user.php similarity index 100% rename from kernel/admin/controllers/add-user.php rename to bl-kernel/admin/controllers/add-user.php diff --git a/kernel/admin/controllers/configure-plugin.php b/bl-kernel/admin/controllers/configure-plugin.php similarity index 100% rename from kernel/admin/controllers/configure-plugin.php rename to bl-kernel/admin/controllers/configure-plugin.php diff --git a/kernel/admin/controllers/dashboard.php b/bl-kernel/admin/controllers/dashboard.php similarity index 86% rename from kernel/admin/controllers/dashboard.php rename to bl-kernel/admin/controllers/dashboard.php index 0fd2967f..d00ff280 100644 --- a/kernel/admin/controllers/dashboard.php +++ b/bl-kernel/admin/controllers/dashboard.php @@ -6,10 +6,23 @@ function updateBludit() { global $Site; + global $dbPosts; // Check if Bludit need to be update. if( ($Site->currentBuild() < BLUDIT_BUILD) || isset($_GET['update']) ) { + // --- Update dates --- + foreach($dbPosts->db as $key=>$post) + { + $date = Date::format($post['date'], 'Y-m-d H:i', DB_DATE_FORMAT); + if($date !== false) { + $dbPosts->setPostDb($key,'date',$date); + } + } + + $dbPosts->save(); + + // --- Update directories --- $directories = array( PATH_POSTS, PATH_PAGES, diff --git a/kernel/admin/controllers/edit-page.php b/bl-kernel/admin/controllers/edit-page.php similarity index 100% rename from kernel/admin/controllers/edit-page.php rename to bl-kernel/admin/controllers/edit-page.php diff --git a/kernel/admin/controllers/edit-post.php b/bl-kernel/admin/controllers/edit-post.php similarity index 100% rename from kernel/admin/controllers/edit-post.php rename to bl-kernel/admin/controllers/edit-post.php diff --git a/kernel/admin/controllers/edit-user.php b/bl-kernel/admin/controllers/edit-user.php similarity index 100% rename from kernel/admin/controllers/edit-user.php rename to bl-kernel/admin/controllers/edit-user.php diff --git a/kernel/admin/controllers/install-plugin.php b/bl-kernel/admin/controllers/install-plugin.php similarity index 100% rename from kernel/admin/controllers/install-plugin.php rename to bl-kernel/admin/controllers/install-plugin.php diff --git a/kernel/admin/controllers/install-theme.php b/bl-kernel/admin/controllers/install-theme.php similarity index 100% rename from kernel/admin/controllers/install-theme.php rename to bl-kernel/admin/controllers/install-theme.php diff --git a/kernel/admin/controllers/login-email.php b/bl-kernel/admin/controllers/login-email.php similarity index 100% rename from kernel/admin/controllers/login-email.php rename to bl-kernel/admin/controllers/login-email.php diff --git a/kernel/admin/controllers/login.php b/bl-kernel/admin/controllers/login.php similarity index 100% rename from kernel/admin/controllers/login.php rename to bl-kernel/admin/controllers/login.php diff --git a/kernel/admin/controllers/logout.php b/bl-kernel/admin/controllers/logout.php similarity index 100% rename from kernel/admin/controllers/logout.php rename to bl-kernel/admin/controllers/logout.php diff --git a/kernel/admin/controllers/manage-pages.php b/bl-kernel/admin/controllers/manage-pages.php similarity index 100% rename from kernel/admin/controllers/manage-pages.php rename to bl-kernel/admin/controllers/manage-pages.php diff --git a/kernel/admin/controllers/manage-posts.php b/bl-kernel/admin/controllers/manage-posts.php similarity index 100% rename from kernel/admin/controllers/manage-posts.php rename to bl-kernel/admin/controllers/manage-posts.php diff --git a/kernel/admin/controllers/new-page.php b/bl-kernel/admin/controllers/new-page.php similarity index 100% rename from kernel/admin/controllers/new-page.php rename to bl-kernel/admin/controllers/new-page.php diff --git a/kernel/admin/controllers/new-post.php b/bl-kernel/admin/controllers/new-post.php similarity index 100% rename from kernel/admin/controllers/new-post.php rename to bl-kernel/admin/controllers/new-post.php diff --git a/kernel/admin/controllers/plugins.php b/bl-kernel/admin/controllers/plugins.php similarity index 100% rename from kernel/admin/controllers/plugins.php rename to bl-kernel/admin/controllers/plugins.php diff --git a/kernel/admin/controllers/settings-advanced.php b/bl-kernel/admin/controllers/settings-advanced.php similarity index 100% rename from kernel/admin/controllers/settings-advanced.php rename to bl-kernel/admin/controllers/settings-advanced.php diff --git a/kernel/admin/controllers/settings-general.php b/bl-kernel/admin/controllers/settings-general.php similarity index 100% rename from kernel/admin/controllers/settings-general.php rename to bl-kernel/admin/controllers/settings-general.php diff --git a/kernel/admin/controllers/settings-regional.php b/bl-kernel/admin/controllers/settings-regional.php similarity index 100% rename from kernel/admin/controllers/settings-regional.php rename to bl-kernel/admin/controllers/settings-regional.php diff --git a/kernel/admin/controllers/settings.php b/bl-kernel/admin/controllers/settings.php similarity index 100% rename from kernel/admin/controllers/settings.php rename to bl-kernel/admin/controllers/settings.php diff --git a/kernel/admin/controllers/themes.php b/bl-kernel/admin/controllers/themes.php similarity index 100% rename from kernel/admin/controllers/themes.php rename to bl-kernel/admin/controllers/themes.php diff --git a/kernel/admin/controllers/uninstall-plugin.php b/bl-kernel/admin/controllers/uninstall-plugin.php similarity index 100% rename from kernel/admin/controllers/uninstall-plugin.php rename to bl-kernel/admin/controllers/uninstall-plugin.php diff --git a/kernel/admin/controllers/user-password.php b/bl-kernel/admin/controllers/user-password.php similarity index 100% rename from kernel/admin/controllers/user-password.php rename to bl-kernel/admin/controllers/user-password.php diff --git a/kernel/admin/controllers/users.php b/bl-kernel/admin/controllers/users.php similarity index 100% rename from kernel/admin/controllers/users.php rename to bl-kernel/admin/controllers/users.php diff --git a/kernel/admin/themes/default/css/default.css b/bl-kernel/admin/themes/default/css/default.css similarity index 100% rename from kernel/admin/themes/default/css/default.css rename to bl-kernel/admin/themes/default/css/default.css diff --git a/kernel/admin/themes/default/css/font-awesome.min.css b/bl-kernel/admin/themes/default/css/font-awesome.min.css similarity index 100% rename from kernel/admin/themes/default/css/font-awesome.min.css rename to bl-kernel/admin/themes/default/css/font-awesome.min.css diff --git a/kernel/admin/themes/default/css/fonts/FontAwesome.otf b/bl-kernel/admin/themes/default/css/fonts/FontAwesome.otf similarity index 100% rename from kernel/admin/themes/default/css/fonts/FontAwesome.otf rename to bl-kernel/admin/themes/default/css/fonts/FontAwesome.otf diff --git a/kernel/admin/themes/default/css/fonts/fontawesome-webfont.eot b/bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.eot similarity index 100% rename from kernel/admin/themes/default/css/fonts/fontawesome-webfont.eot rename to bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.eot diff --git a/kernel/admin/themes/default/css/fonts/fontawesome-webfont.ttf b/bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.ttf similarity index 100% rename from kernel/admin/themes/default/css/fonts/fontawesome-webfont.ttf rename to bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.ttf diff --git a/kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff b/bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff similarity index 100% rename from kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff rename to bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff diff --git a/kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff2 b/bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff2 similarity index 100% rename from kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff2 rename to bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff2 diff --git a/kernel/admin/themes/default/css/installer.css b/bl-kernel/admin/themes/default/css/installer.css similarity index 100% rename from kernel/admin/themes/default/css/installer.css rename to bl-kernel/admin/themes/default/css/installer.css diff --git a/kernel/admin/themes/default/css/jquery.auto-complete.css b/bl-kernel/admin/themes/default/css/jquery.auto-complete.css similarity index 100% rename from kernel/admin/themes/default/css/jquery.auto-complete.css rename to bl-kernel/admin/themes/default/css/jquery.auto-complete.css diff --git a/kernel/admin/themes/default/css/jquery.datetimepicker.css b/bl-kernel/admin/themes/default/css/jquery.datetimepicker.css similarity index 100% rename from kernel/admin/themes/default/css/jquery.datetimepicker.css rename to bl-kernel/admin/themes/default/css/jquery.datetimepicker.css diff --git a/kernel/admin/themes/default/css/login.css b/bl-kernel/admin/themes/default/css/login.css similarity index 100% rename from kernel/admin/themes/default/css/login.css rename to bl-kernel/admin/themes/default/css/login.css diff --git a/kernel/admin/themes/default/css/uikit/form-file.almost-flat.min.css b/bl-kernel/admin/themes/default/css/uikit/form-file.almost-flat.min.css similarity index 100% rename from kernel/admin/themes/default/css/uikit/form-file.almost-flat.min.css rename to bl-kernel/admin/themes/default/css/uikit/form-file.almost-flat.min.css diff --git a/kernel/admin/themes/default/css/uikit/placeholder.almost-flat.min.css b/bl-kernel/admin/themes/default/css/uikit/placeholder.almost-flat.min.css similarity index 100% rename from kernel/admin/themes/default/css/uikit/placeholder.almost-flat.min.css rename to bl-kernel/admin/themes/default/css/uikit/placeholder.almost-flat.min.css diff --git a/kernel/admin/themes/default/css/uikit/progress.almost-flat.min.css b/bl-kernel/admin/themes/default/css/uikit/progress.almost-flat.min.css similarity index 100% rename from kernel/admin/themes/default/css/uikit/progress.almost-flat.min.css rename to bl-kernel/admin/themes/default/css/uikit/progress.almost-flat.min.css diff --git a/kernel/admin/themes/default/css/uikit/uikit.almost-flat.min.css b/bl-kernel/admin/themes/default/css/uikit/uikit.almost-flat.min.css similarity index 100% rename from kernel/admin/themes/default/css/uikit/uikit.almost-flat.min.css rename to bl-kernel/admin/themes/default/css/uikit/uikit.almost-flat.min.css diff --git a/kernel/admin/themes/default/css/uikit/upload.almost-flat.min.css b/bl-kernel/admin/themes/default/css/uikit/upload.almost-flat.min.css similarity index 100% rename from kernel/admin/themes/default/css/uikit/upload.almost-flat.min.css rename to bl-kernel/admin/themes/default/css/uikit/upload.almost-flat.min.css diff --git a/kernel/admin/themes/default/img/default.png b/bl-kernel/admin/themes/default/img/default.png similarity index 100% rename from kernel/admin/themes/default/img/default.png rename to bl-kernel/admin/themes/default/img/default.png diff --git a/kernel/admin/themes/default/img/favicon.png b/bl-kernel/admin/themes/default/img/favicon.png similarity index 100% rename from kernel/admin/themes/default/img/favicon.png rename to bl-kernel/admin/themes/default/img/favicon.png diff --git a/kernel/admin/themes/default/index.php b/bl-kernel/admin/themes/default/index.php similarity index 100% rename from kernel/admin/themes/default/index.php rename to bl-kernel/admin/themes/default/index.php diff --git a/kernel/admin/themes/default/init.php b/bl-kernel/admin/themes/default/init.php similarity index 100% rename from kernel/admin/themes/default/init.php rename to bl-kernel/admin/themes/default/init.php diff --git a/kernel/admin/themes/default/js/jquery.auto-complete.min.js b/bl-kernel/admin/themes/default/js/jquery.auto-complete.min.js similarity index 100% rename from kernel/admin/themes/default/js/jquery.auto-complete.min.js rename to bl-kernel/admin/themes/default/js/jquery.auto-complete.min.js diff --git a/kernel/admin/themes/default/js/jquery.datetimepicker.js b/bl-kernel/admin/themes/default/js/jquery.datetimepicker.js similarity index 100% rename from kernel/admin/themes/default/js/jquery.datetimepicker.js rename to bl-kernel/admin/themes/default/js/jquery.datetimepicker.js diff --git a/kernel/admin/themes/default/js/jquery.min.js b/bl-kernel/admin/themes/default/js/jquery.min.js similarity index 100% rename from kernel/admin/themes/default/js/jquery.min.js rename to bl-kernel/admin/themes/default/js/jquery.min.js diff --git a/kernel/admin/themes/default/js/uikit/uikit.min.js b/bl-kernel/admin/themes/default/js/uikit/uikit.min.js similarity index 100% rename from kernel/admin/themes/default/js/uikit/uikit.min.js rename to bl-kernel/admin/themes/default/js/uikit/uikit.min.js diff --git a/kernel/admin/themes/default/js/uikit/upload.min.js b/bl-kernel/admin/themes/default/js/uikit/upload.min.js similarity index 100% rename from kernel/admin/themes/default/js/uikit/upload.min.js rename to bl-kernel/admin/themes/default/js/uikit/upload.min.js diff --git a/kernel/admin/themes/default/login.php b/bl-kernel/admin/themes/default/login.php similarity index 100% rename from kernel/admin/themes/default/login.php rename to bl-kernel/admin/themes/default/login.php diff --git a/kernel/admin/views/about.php b/bl-kernel/admin/views/about.php similarity index 100% rename from kernel/admin/views/about.php rename to bl-kernel/admin/views/about.php diff --git a/kernel/admin/views/add-user.php b/bl-kernel/admin/views/add-user.php similarity index 100% rename from kernel/admin/views/add-user.php rename to bl-kernel/admin/views/add-user.php diff --git a/kernel/admin/views/configure-plugin.php b/bl-kernel/admin/views/configure-plugin.php similarity index 100% rename from kernel/admin/views/configure-plugin.php rename to bl-kernel/admin/views/configure-plugin.php diff --git a/kernel/admin/views/dashboard.php b/bl-kernel/admin/views/dashboard.php similarity index 100% rename from kernel/admin/views/dashboard.php rename to bl-kernel/admin/views/dashboard.php diff --git a/kernel/admin/views/edit-page.php b/bl-kernel/admin/views/edit-page.php similarity index 100% rename from kernel/admin/views/edit-page.php rename to bl-kernel/admin/views/edit-page.php diff --git a/kernel/admin/views/edit-post.php b/bl-kernel/admin/views/edit-post.php similarity index 100% rename from kernel/admin/views/edit-post.php rename to bl-kernel/admin/views/edit-post.php diff --git a/kernel/admin/views/edit-user.php b/bl-kernel/admin/views/edit-user.php similarity index 100% rename from kernel/admin/views/edit-user.php rename to bl-kernel/admin/views/edit-user.php diff --git a/kernel/admin/views/login-email.php b/bl-kernel/admin/views/login-email.php similarity index 100% rename from kernel/admin/views/login-email.php rename to bl-kernel/admin/views/login-email.php diff --git a/kernel/admin/views/login.php b/bl-kernel/admin/views/login.php similarity index 100% rename from kernel/admin/views/login.php rename to bl-kernel/admin/views/login.php diff --git a/kernel/admin/views/manage-pages.php b/bl-kernel/admin/views/manage-pages.php similarity index 100% rename from kernel/admin/views/manage-pages.php rename to bl-kernel/admin/views/manage-pages.php diff --git a/kernel/admin/views/manage-posts.php b/bl-kernel/admin/views/manage-posts.php similarity index 100% rename from kernel/admin/views/manage-posts.php rename to bl-kernel/admin/views/manage-posts.php diff --git a/kernel/admin/views/new-page.php b/bl-kernel/admin/views/new-page.php similarity index 100% rename from kernel/admin/views/new-page.php rename to bl-kernel/admin/views/new-page.php diff --git a/kernel/admin/views/new-post.php b/bl-kernel/admin/views/new-post.php similarity index 100% rename from kernel/admin/views/new-post.php rename to bl-kernel/admin/views/new-post.php diff --git a/kernel/admin/views/plugins.php b/bl-kernel/admin/views/plugins.php similarity index 100% rename from kernel/admin/views/plugins.php rename to bl-kernel/admin/views/plugins.php diff --git a/kernel/admin/views/settings-advanced.php b/bl-kernel/admin/views/settings-advanced.php similarity index 100% rename from kernel/admin/views/settings-advanced.php rename to bl-kernel/admin/views/settings-advanced.php diff --git a/kernel/admin/views/settings-general.php b/bl-kernel/admin/views/settings-general.php similarity index 100% rename from kernel/admin/views/settings-general.php rename to bl-kernel/admin/views/settings-general.php diff --git a/kernel/admin/views/settings-regional.php b/bl-kernel/admin/views/settings-regional.php similarity index 100% rename from kernel/admin/views/settings-regional.php rename to bl-kernel/admin/views/settings-regional.php diff --git a/kernel/admin/views/themes.php b/bl-kernel/admin/views/themes.php similarity index 100% rename from kernel/admin/views/themes.php rename to bl-kernel/admin/views/themes.php diff --git a/kernel/admin/views/user-password.php b/bl-kernel/admin/views/user-password.php similarity index 100% rename from kernel/admin/views/user-password.php rename to bl-kernel/admin/views/user-password.php diff --git a/kernel/admin/views/users.php b/bl-kernel/admin/views/users.php similarity index 100% rename from kernel/admin/views/users.php rename to bl-kernel/admin/views/users.php diff --git a/kernel/ajax/slug.php b/bl-kernel/ajax/slug.php similarity index 99% rename from kernel/ajax/slug.php rename to bl-kernel/ajax/slug.php index 8fff04c9..f6ecb583 100644 --- a/kernel/ajax/slug.php +++ b/bl-kernel/ajax/slug.php @@ -23,4 +23,4 @@ elseif( $_POST['type']==='post' ) { echo json_encode( array('slug'=>$slug) ); -?> +?> \ No newline at end of file diff --git a/kernel/ajax/uploader.php b/bl-kernel/ajax/uploader.php similarity index 100% rename from kernel/ajax/uploader.php rename to bl-kernel/ajax/uploader.php diff --git a/kernel/boot/admin.php b/bl-kernel/boot/admin.php similarity index 100% rename from kernel/boot/admin.php rename to bl-kernel/boot/admin.php diff --git a/kernel/boot/init.php b/bl-kernel/boot/init.php similarity index 86% rename from kernel/boot/init.php rename to bl-kernel/boot/init.php index a69e0f8e..bba9b49a 100644 --- a/kernel/boot/init.php +++ b/bl-kernel/boot/init.php @@ -4,7 +4,7 @@ define('BLUDIT_VERSION', 'githubVersion'); define('BLUDIT_CODENAME', ''); define('BLUDIT_RELEASE_DATE', ''); -define('BLUDIT_BUILD', '20151119'); +define('BLUDIT_BUILD', '20160122'); // Debug mode define('DEBUG_MODE', TRUE); @@ -21,24 +21,28 @@ if(DEBUG_MODE) // PHP paths // PATH_ROOT and PATH_BOOT are defined in index.php -define('PATH_LANGUAGES', PATH_ROOT.'languages'.DS); -define('PATH_THEMES', PATH_ROOT.'themes'.DS); -define('PATH_PLUGINS', PATH_ROOT.'plugins'.DS); -define('PATH_KERNEL', PATH_ROOT.'kernel'.DS); +define('PATH_LANGUAGES', PATH_ROOT.'bl-languages'.DS); +define('PATH_THEMES', PATH_ROOT.'bl-themes'.DS); +define('PATH_PLUGINS', PATH_ROOT.'bl-plugins'.DS); +define('PATH_KERNEL', PATH_ROOT.'bl-kernel'.DS); +define('PATH_CONTENT', PATH_ROOT.'bl-content'.DS); + define('PATH_ABSTRACT', PATH_KERNEL.'abstract'.DS); define('PATH_RULES', PATH_KERNEL.'boot'.DS.'rules'.DS); define('PATH_HELPERS', PATH_KERNEL.'helpers'.DS); define('PATH_AJAX', PATH_KERNEL.'ajax'.DS); define('PATH_JS', PATH_KERNEL.'js'.DS); -define('PATH_CONTENT', PATH_ROOT.'content'.DS); + define('PATH_POSTS', PATH_CONTENT.'posts'.DS); define('PATH_PAGES', PATH_CONTENT.'pages'.DS); define('PATH_DATABASES', PATH_CONTENT.'databases'.DS); define('PATH_PLUGINS_DATABASES', PATH_CONTENT.'databases'.DS.'plugins'.DS); define('PATH_TMP', PATH_CONTENT.'tmp'.DS); define('PATH_UPLOADS', PATH_CONTENT.'uploads'.DS); + define('PATH_UPLOADS_PROFILES', PATH_UPLOADS.'profiles'.DS); define('PATH_UPLOADS_THUMBNAILS', PATH_UPLOADS.'thumbnails'.DS); + define('PATH_ADMIN', PATH_KERNEL.'admin'.DS); define('PATH_ADMIN_THEMES', PATH_ADMIN.'themes'.DS); define('PATH_ADMIN_CONTROLLERS', PATH_ADMIN.'controllers'.DS); @@ -76,7 +80,7 @@ define('NO_PARENT_CHAR', '3849abb4cb7abd24c2d8dac17b216f17'); define('POSTS_PER_PAGE_ADMIN', 10); // Check if JSON encode and decode are enabled. -define('JSON', function_exists('json_encode')); +// define('JSON', function_exists('json_encode')); // TRUE if new posts hand-made set published, or FALSE for draft. define('CLI_STATUS', 'published'); @@ -132,7 +136,6 @@ include(PATH_KERNEL.'parsedown.class.php'); include(PATH_KERNEL.'parsedownextra.class.php'); include(PATH_KERNEL.'security.class.php'); - // Include Helpers Classes include(PATH_HELPERS.'text.class.php'); include(PATH_HELPERS.'log.class.php'); @@ -152,7 +155,7 @@ include(PATH_HELPERS.'image.class.php'); Session::start(); if(Session::started()===false) { Log::set('init.php'.LOG_SEP.'Error occurred when trying to start the session.'); - exit('Bludit CMS. Failed to start session.'); + exit('Bludit. Failed to start session.'); } // Objects @@ -165,7 +168,10 @@ $Url = new Url(); $Parsedown = new ParsedownExtra(); $Security = new Security(); -// HTML PATHS +// --- Relative paths --- +// This paths are relative for the user / web browsing. + +// Base URL // The user can define the base URL. // Left empty if you want to Bludit try to detect the base URL. $base = ''; @@ -188,30 +194,29 @@ else { $base = '/'; } -define('HTML_PATH_ROOT', $base); - -// Paths for themes -define('HTML_PATH_THEMES', HTML_PATH_ROOT.'themes/'); -define('HTML_PATH_THEME', HTML_PATH_ROOT.'themes/'.$Site->theme().'/'); +define('HTML_PATH_ROOT', $base); +define('HTML_PATH_THEMES', HTML_PATH_ROOT.'bl-themes/'); +define('HTML_PATH_THEME', HTML_PATH_THEMES.$Site->theme().'/'); define('HTML_PATH_THEME_CSS', HTML_PATH_THEME.'css/'); define('HTML_PATH_THEME_JS', HTML_PATH_THEME.'js/'); define('HTML_PATH_THEME_IMG', HTML_PATH_THEME.'img/'); define('HTML_PATH_ADMIN_ROOT', HTML_PATH_ROOT.'admin/'); -define('HTML_PATH_ADMIN_THEME', HTML_PATH_ROOT.'kernel/admin/themes/'.$Site->adminTheme().'/'); +define('HTML_PATH_ADMIN_THEME', HTML_PATH_ROOT.'bl-kernel/admin/themes/'.$Site->adminTheme().'/'); define('HTML_PATH_ADMIN_THEME_JS', HTML_PATH_ADMIN_THEME.'js/'); define('HTML_PATH_ADMIN_THEME_CSS', HTML_PATH_ADMIN_THEME.'css/'); define('HTML_PATH_ADMIN_THEME_IMG', HTML_PATH_ADMIN_THEME.'img/'); -define('HTML_PATH_UPLOADS', HTML_PATH_ROOT.'content/uploads/'); +define('HTML_PATH_UPLOADS', HTML_PATH_ROOT.'bl-content/uploads/'); define('HTML_PATH_UPLOADS_PROFILES', HTML_PATH_UPLOADS.'profiles/'); define('HTML_PATH_UPLOADS_THUMBNAILS', HTML_PATH_UPLOADS.'thumbnails/'); -define('HTML_PATH_PLUGINS', HTML_PATH_ROOT.'plugins/'); +define('HTML_PATH_PLUGINS', HTML_PATH_ROOT.'bl-plugins/'); define('JQUERY', HTML_PATH_ADMIN_THEME_JS.'jquery.min.js'); -// PHP paths with dependency -define('PATH_THEME', PATH_ROOT.'themes'.DS.$Site->theme().DS); +// --- PHP paths with dependency --- +// This paths are absolutes for the OS. +define('PATH_THEME', PATH_ROOT.'bl-themes'.DS.$Site->theme().DS); define('PATH_THEME_PHP', PATH_THEME.'php'.DS); define('PATH_THEME_CSS', PATH_THEME.'css'.DS); define('PATH_THEME_JS', PATH_THEME.'js'.DS); @@ -219,6 +224,7 @@ define('PATH_THEME_IMG', PATH_THEME.'img'.DS); define('PATH_THEME_LANG', PATH_THEME.'languages'.DS); // --- Absolute paths with domain --- +// This paths are absolutes for the user / web browsing. define('DOMAIN', $Site->domain()); define('DOMAIN_BASE', DOMAIN.HTML_PATH_ROOT); define('DOMAIN_THEME_CSS', DOMAIN.HTML_PATH_THEME_CSS); diff --git a/kernel/boot/rules/60.plugins.php b/bl-kernel/boot/rules/60.plugins.php similarity index 100% rename from kernel/boot/rules/60.plugins.php rename to bl-kernel/boot/rules/60.plugins.php diff --git a/kernel/boot/rules/70.posts.php b/bl-kernel/boot/rules/70.posts.php similarity index 100% rename from kernel/boot/rules/70.posts.php rename to bl-kernel/boot/rules/70.posts.php diff --git a/kernel/boot/rules/71.pages.php b/bl-kernel/boot/rules/71.pages.php similarity index 100% rename from kernel/boot/rules/71.pages.php rename to bl-kernel/boot/rules/71.pages.php diff --git a/kernel/boot/rules/99.header.php b/bl-kernel/boot/rules/99.header.php similarity index 100% rename from kernel/boot/rules/99.header.php rename to bl-kernel/boot/rules/99.header.php diff --git a/kernel/boot/rules/99.paginator.php b/bl-kernel/boot/rules/99.paginator.php similarity index 100% rename from kernel/boot/rules/99.paginator.php rename to bl-kernel/boot/rules/99.paginator.php diff --git a/kernel/boot/rules/99.security.php b/bl-kernel/boot/rules/99.security.php similarity index 100% rename from kernel/boot/rules/99.security.php rename to bl-kernel/boot/rules/99.security.php diff --git a/kernel/boot/rules/99.themes.php b/bl-kernel/boot/rules/99.themes.php similarity index 84% rename from kernel/boot/rules/99.themes.php rename to bl-kernel/boot/rules/99.themes.php index 4d545929..c4931ce2 100644 --- a/kernel/boot/rules/99.themes.php +++ b/bl-kernel/boot/rules/99.themes.php @@ -27,6 +27,11 @@ function buildThemes() { $database = file_get_contents($languageFilename); $database = json_decode($database, true); + if(empty($database)) { + Log::set('99.themes.php'.LOG_SEP.'JSON Error on theme '.$themePath); + break; + } + $database = $database['theme-data']; $database['dirname'] = basename($themePath); @@ -38,6 +43,10 @@ function buildThemes() { $metadataString = file_get_contents($filenameMetadata); $metadata = json_decode($metadataString, true); + if(empty($metadata)) { + Log::set('99.themes.php'.LOG_SEP.'JSON Error on theme '.$themePath); + break; + } $database = $database + $metadata; @@ -55,9 +64,9 @@ function buildThemes() // ============================================================================ // Load the language file -$languageFilename = PATH_THEME.DS.'languages'.DS.$Site->locale().'.json'; +$languageFilename = PATH_THEME.'languages'.DS.$Site->locale().'.json'; if( !Sanitize::pathFile($languageFilename) ) { - $languageFilename = PATH_THEME.DS.'languages'.DS.'en_US.json'; + $languageFilename = PATH_THEME.'languages'.DS.'en_US.json'; } if( Sanitize::pathFile($languageFilename) ) diff --git a/kernel/boot/site.php b/bl-kernel/boot/site.php similarity index 100% rename from kernel/boot/site.php rename to bl-kernel/boot/site.php diff --git a/kernel/dblanguage.class.php b/bl-kernel/dblanguage.class.php similarity index 100% rename from kernel/dblanguage.class.php rename to bl-kernel/dblanguage.class.php diff --git a/kernel/dbpages.class.php b/bl-kernel/dbpages.class.php similarity index 100% rename from kernel/dbpages.class.php rename to bl-kernel/dbpages.class.php diff --git a/kernel/dbposts.class.php b/bl-kernel/dbposts.class.php similarity index 100% rename from kernel/dbposts.class.php rename to bl-kernel/dbposts.class.php diff --git a/kernel/dbsite.class.php b/bl-kernel/dbsite.class.php similarity index 96% rename from kernel/dbsite.class.php rename to bl-kernel/dbsite.class.php index add96d88..dcd90625 100644 --- a/kernel/dbsite.class.php +++ b/bl-kernel/dbsite.class.php @@ -152,12 +152,15 @@ class dbSite extends dbJSON return $this->getField('footer'); } - // Returns the url site. + // Returns the full domain and base url. + // For example, http://www.domain.com/bludit/ public function url() { return $this->getField('url'); } + // Returns the protocol and the domain, without the base url. + // For example, http://www.domain.com public function domain() { // If the URL field is not set, try detect the domain. @@ -261,4 +264,4 @@ class dbSite extends dbJSON return date_default_timezone_set($timezone); } -} +} \ No newline at end of file diff --git a/kernel/dbtags.class.php b/bl-kernel/dbtags.class.php similarity index 100% rename from kernel/dbtags.class.php rename to bl-kernel/dbtags.class.php diff --git a/kernel/dbusers.class.php b/bl-kernel/dbusers.class.php similarity index 100% rename from kernel/dbusers.class.php rename to bl-kernel/dbusers.class.php diff --git a/kernel/helpers/alert.class.php b/bl-kernel/helpers/alert.class.php similarity index 100% rename from kernel/helpers/alert.class.php rename to bl-kernel/helpers/alert.class.php diff --git a/kernel/helpers/cookie.class.php b/bl-kernel/helpers/cookie.class.php similarity index 100% rename from kernel/helpers/cookie.class.php rename to bl-kernel/helpers/cookie.class.php diff --git a/kernel/helpers/crypt.class.php b/bl-kernel/helpers/crypt.class.php similarity index 100% rename from kernel/helpers/crypt.class.php rename to bl-kernel/helpers/crypt.class.php diff --git a/kernel/helpers/date.class.php b/bl-kernel/helpers/date.class.php similarity index 100% rename from kernel/helpers/date.class.php rename to bl-kernel/helpers/date.class.php diff --git a/kernel/helpers/email.class.php b/bl-kernel/helpers/email.class.php similarity index 100% rename from kernel/helpers/email.class.php rename to bl-kernel/helpers/email.class.php diff --git a/kernel/helpers/filesystem.class.php b/bl-kernel/helpers/filesystem.class.php similarity index 100% rename from kernel/helpers/filesystem.class.php rename to bl-kernel/helpers/filesystem.class.php diff --git a/kernel/helpers/image.class.php b/bl-kernel/helpers/image.class.php similarity index 100% rename from kernel/helpers/image.class.php rename to bl-kernel/helpers/image.class.php diff --git a/kernel/helpers/log.class.php b/bl-kernel/helpers/log.class.php similarity index 100% rename from kernel/helpers/log.class.php rename to bl-kernel/helpers/log.class.php diff --git a/kernel/helpers/paginator.class.php b/bl-kernel/helpers/paginator.class.php similarity index 62% rename from kernel/helpers/paginator.class.php rename to bl-kernel/helpers/paginator.class.php index b562c370..645a0304 100644 --- a/kernel/helpers/paginator.class.php +++ b/bl-kernel/helpers/paginator.class.php @@ -24,21 +24,43 @@ class Paginator { return self::$pager[$key]; } + public static function urlNextPage() + { + global $Url; + + $domain = trim(DOMAIN_BASE,'/'); + $filter = trim($Url->activeFilter(), '/'); + + if(empty($filter)) { + $url = $domain.'/'.$Url->slug(); + } + else { + $url = $domain.'/'.$filter.'/'.$Url->slug(); + } + + return $url.'?page='.self::get('nextPage'); + } + + public static function urlPrevPage() + { + global $Url; + + $domain = trim(DOMAIN_BASE,'/'); + $filter = trim($Url->activeFilter(), '/'); + + if(empty($filter)) { + $url = $domain.'/'.$Url->slug(); + } + else { + $url = $domain.'/'.$filter.'/'.$Url->slug(); + } + + return $url.'?page='.self::get('prevPage'); + } + public static function html($textPrevPage=false, $textNextPage=false, $showPageNumber=false) { global $Language; - global $Url; - - $url = trim(DOMAIN_BASE,'/'); - - $filter = ''; - if($Url->whereAmI()=='tag') { - $filter = trim($Url->filters('tag'), '/'); - $url = $url.'/'.$filter.'/'.$Url->slug(); - } - else { - $url = $url.'/'; - } $html = '
'; $html .= '