Merge remote-tracking branch 'dignajar/master'

# Conflicts:
#	languages/fr_FR.json
This commit is contained in:
Frédéric K 2016-01-25 12:46:09 +01:00
commit afddcec0d6
411 changed files with 10215 additions and 4100 deletions

10
.gitignore vendored
View File

@ -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

View File

@ -1,7 +1,5 @@
AddDefaultCharset UTF-8
DirectorySlash Off
<IfModule mod_rewrite.c>
# Enable rewrite rules

View File

@ -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;
}
}
}

View File

@ -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,

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1005 B

After

Width:  |  Height:  |  Size: 1005 B

View File

@ -23,4 +23,4 @@ elseif( $_POST['type']==='post' ) {
echo json_encode( array('slug'=>$slug) );
?>
?>

View File

@ -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);

View File

@ -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) )

View File

@ -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);
}
}
}

Some files were not shown because too many files have changed in this diff Show More