';
- }
- else
- {
- echo '
'.$Language->g('Enable more features at').' '.$Language->g('settings-advanced-writting-settings').'
';
- echo '
';
- }
-?>
+
p('Advanced options') ?>
-
p('Advanced options') ?>
+
+
+ p('Tags') ?>
+
+ p('write-the-tags-separeted-by-comma') ?>
+
-
p('Publish now') ?>
-
p('Draft') ?>
+
+
+
p('Publish') ?>
+
p('Draft') ?>
@@ -57,18 +54,24 @@
$(document).ready(function()
{
+ $("#jsdate").datetimepicker({format:""});
- $("#jstitle").keyup(function() {
- var slug = $(this).val();
+ $("#jstitle").keyup(function() {
+ var slug = $(this).val();
- checkSlugPost(slug, "", $("#jsslug"));
- });
+ checkSlugPost(slug, "", $("#jsslug"));
+ });
- $("#jsslug").keyup(function() {
- var slug = $("#jsslug").val();
+ $("#jsslug").keyup(function() {
+ var slug = $("#jsslug").val();
- checkSlugPost(slug, "", $("#jsslug"));
- });
+ checkSlugPost(slug, "", $("#jsslug"));
+ });
+
+ $("#jsadvancedButton").click(function() {
+ $("#jsadvancedOptions").slideToggle();
+ return false;
+ });
});
diff --git a/admin/views/settings.php b/admin/views/settings.php
index 16ab51f2..7f342b0c 100644
--- a/admin/views/settings.php
+++ b/admin/views/settings.php
@@ -81,16 +81,6 @@
p('the-url-of-your-site') ?>
-
p('Writting settings') ?>
-
-
-
p('URL Filters') ?>
diff --git a/admin/views/users.php b/admin/views/users.php
index 6f9a4ac9..315bd066 100644
--- a/admin/views/users.php
+++ b/admin/views/users.php
@@ -24,7 +24,7 @@
echo ''.$field['lastName'].' ';
echo ''.$field['role'].' ';
echo ''.$field['email'].' ';
- echo ''.Date::format($field['registered'], '%d %B').' ';
+ echo ''.Date::format($field['registered'], DB_DATE_FORMAT, DB_DATE_FORMAT).' ';
echo '';
}
?>
diff --git a/content/README b/content/README
index d68ab992..7e5fdf1c 100644
--- a/content/README
+++ b/content/README
@@ -1,2 +1,6 @@
+# Bludit
+
Set the correct permissions on this directory.
-Check the documentation: http://docs.bludit.com/en/troubleshooting/writing-test-failure-err205
+
+Documentation:
+- http://docs.bludit.com/en/troubleshooting/writing-test-failure-err205
\ No newline at end of file
diff --git a/install.php b/install.php
index 892ca0bd..912aa3f5 100755
--- a/install.php
+++ b/install.php
@@ -42,6 +42,9 @@ if(!defined('JSON_PRETTY_PRINT')) {
// Check if JSON encode and decode are enabled.
define('JSON', function_exists('json_encode'));
+// Database format date
+define('DB_DATE_FORMAT', 'Y-m-d H:i');
+
// Charset, default UTF-8.
define('CHARSET', 'UTF-8');
@@ -64,6 +67,7 @@ include(PATH_HELPERS.'text.class.php');
include(PATH_ABSTRACT.'dbjson.class.php');
include(PATH_KERNEL.'dblanguage.class.php');
include(PATH_HELPERS.'log.class.php');
+include(PATH_HELPERS.'date.class.php');
// Load language
$localeFromHTTP = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
@@ -164,6 +168,8 @@ function install($adminPassword, $email)
$stdOut = array();
+ $currentDate = Date::current(DB_DATE_FORMAT);
+
// ============================================================================
// Create directories
// ============================================================================
@@ -190,12 +196,6 @@ function install($adminPassword, $email)
error_log($errorText, 0);
}
- if(!mkdir(PATH_PLUGINS_DATABASES.'tinymce', $dirpermissions, true))
- {
- $errorText = 'Error when trying to created the directory=>'.PATH_PLUGINS_DATABASES;
- error_log($errorText, 0);
- }
-
if(!mkdir(PATH_UPLOADS, $dirpermissions, true))
{
$errorText = 'Error when trying to created the directory=>'.PATH_UPLOADS;
@@ -215,8 +215,7 @@ function install($adminPassword, $email)
'username'=>'admin',
'tags'=>'',
'status'=>'published',
- 'unixTimeCreated'=>1430686755,
- 'unixTimeModified'=>0,
+ 'date'=>$currentDate,
'position'=>0
)
);
@@ -229,10 +228,9 @@ function install($adminPassword, $email)
'description'=>'Welcome to Bludit',
'username'=>'admin',
'status'=>'published',
- 'tags'=>'welcome, bludit, cms',
+ 'tags'=>'bludit, cms, flat-file',
'allowComments'=>false,
- 'unixTimeCreated'=>1430875199,
- 'unixTimeModified'=>0
+ 'date'=>$currentDate
)
);
file_put_contents(PATH_DATABASES.'posts.php', $dataHead.json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);
@@ -253,7 +251,6 @@ function install($adminPassword, $email)
'uriPost'=>'/post/',
'uriPage'=>'/',
'uriTag'=>'/tag/',
- 'advancedOptions'=>'false',
'url'=>'http://'.DOMAIN.HTML_PATH_ROOT
);
@@ -261,7 +258,6 @@ function install($adminPassword, $email)
$salt = getRandomString();
$passwordHash = sha1($adminPassword.$salt);
- $registered = time();
// File users.php
$data = array(
@@ -273,7 +269,7 @@ function install($adminPassword, $email)
'password'=>$passwordHash,
'salt'=>$salt,
'email'=>$email,
- 'registered'=>$registered
+ 'registered'=>$currentDate
)
);
@@ -297,14 +293,6 @@ function install($adminPassword, $email)
file_put_contents(PATH_PLUGINS_DATABASES.'pages'.DS.'db.php', $dataHead.json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);
- // File plugins/tinymce/db.php
- $data = array(
- 'plugins'=>'autoresize, fullscreen, pagebreak, link, textcolor, code',
- 'toolbar'=>'bold italic underline strikethrough | alignleft aligncenter alignright | bullist numlist | styleselect | link forecolor backcolor removeformat | pagebreak code fullscreen',
- 'position'=>'0'
- );
-
- file_put_contents(PATH_PLUGINS_DATABASES.'tinymce'.DS.'db.php', $dataHead.json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);
// File index.txt for error page
$data = 'Title: '.$Language->get('Error').'
diff --git a/kernel/abstract/db_content.class.php b/kernel/abstract/db_content.class.php
deleted file mode 100644
index 3b341b21..00000000
--- a/kernel/abstract/db_content.class.php
+++ /dev/null
@@ -1,105 +0,0 @@
-build($slug)===false)
- $this->vars = false;
- }
-
- // Return true if valid post
- public function valid()
- {
- return($this->vars!==false);
- }
-
- public function get_field($field)
- {
- if(isset($this->vars[$field]))
- return $this->vars[$field];
- return false;
- }
-
- // $notoverwrite true if you don't want to replace the value if are set previusly
- public function setField($field, $value, $overwrite=true)
- {
- if($overwrite || empty($this->vars[$field]))
- {
- $this->vars[$field] = $value;
- return true;
- }
-
- return true;
- }
-
- // DEBUG, se puede borrar
- public function show()
- {
- print_r($this->vars);
- }
-
- private function build($slug)
- {
- // Check if directory exists for the slug
- /*$path = glob($this->path.$slug, GLOB_ONLYDIR);
- if(empty($path))
- return false;
-
-
- // Get the first element from the directories array
- //$path = $path[0];
- */
-
- $path = $this->path.$slug;
- if(!is_dir($path))
- return false;
-
- // Path
- $this->setField('path', $path);
-
- // Slug
- $this->setField('slug', $slug);
-
- // Check if file exists
- $file = $path.'/index.txt';
- if(!file_exists($file))
- return false;
-
- $tmp = 0;
- $lines = file($file);
- foreach($lines as $lineNumber=>$line)
- {
- $parts = array_map('trim', explode(':', $line, 2));
-
- // Lowercase variable
- $parts[0] = Text::lowercase($parts[0]);
-
- if($parts[0]==='content')
- {
- $tmp = $lineNumber;
- break;
- }
-
- if( !empty($parts[0]) && !empty($parts[1]) )
- $this->vars[$parts[0]] = $parts[1];
- }
-
- // Content
- if($tmp!=0)
- {
- $tmp++; // Next line after Content:
- $output = array_slice($lines, $tmp); // Lines after Content
- $this->vars['content'] = implode($output);
- }
-
- //
-
- }
-
-}
-
-?>
diff --git a/kernel/abstract/db_serialize.class.php b/kernel/abstract/db_serialize.class.php
deleted file mode 100644
index 537b6c12..00000000
--- a/kernel/abstract/db_serialize.class.php
+++ /dev/null
@@ -1,78 +0,0 @@
-file = $file;
-
- $lines = file($file);
-
- $this->firstLine = $firstLine;
-
- if($firstLine)
- {
- // Remove the first line.
- unset($lines[0]);
- }
-
- $implode = implode($lines);
-
- $this->vars = $this->unserialize($implode);
- }
-
- public function save()
- {
- if($this->firstLine)
- $data = "".PHP_EOL;
- else
- $data = '';
-
- $data .= $this->serialize($this->vars);
-
- // LOCK_EX flag to prevent anyone else writing to the file at the same time.
- return file_put_contents($this->file, $data, LOCK_EX);
- }
-
- // DEBUG, ver si sirve para la instalacion, sino borrar
- public function setDb($db)
- {
- $this->vars = $db;
-
- return $this->save();
- }
-
- 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);
- }
-
- 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);
-
- return unserialize($data);
- }
-
- // DEBUG, se puede borrar
- function show()
- {
- var_dump($this->vars);
- }
-
-
-
-}
-
-?>
diff --git a/kernel/boot/init.php b/kernel/boot/init.php
index afd5c70a..69f63666 100644
--- a/kernel/boot/init.php
+++ b/kernel/boot/init.php
@@ -64,7 +64,10 @@ define('POSTS_PER_PAGE_ADMIN', 10);
define('JSON', function_exists('json_encode'));
// TRUE if new posts hand-made set published, or FALSE for draft.
-define('HANDMADE_PUBLISHED', true);
+define('CLI_STATUS', 'published');
+
+// Database format date
+define('DB_DATE_FORMAT', 'Y-m-d H:i');
// Charset, default UTF-8.
define('CHARSET', 'UTF-8');
diff --git a/kernel/boot/rules/70.build_pages.php b/kernel/boot/rules/70.build_pages.php
index e3ddddef..ab24060d 100644
--- a/kernel/boot/rules/70.build_pages.php
+++ b/kernel/boot/rules/70.build_pages.php
@@ -45,18 +45,11 @@ function build_page($key)
// Foreach field from database.
foreach($db as $field=>$value)
{
- if($field=='unixTimeCreated')
- {
- // Format dates, not overwrite from file fields.
- $Page->setField('unixTimeCreated', $value, false);
- $Page->setField('date', Date::format($value, '%d %B'), false);
- $Page->setField('timeago', Date::timeago($value), false);
- }
- else
- {
- // Other fields, not overwrite from file fields.
- $Page->setField($field, $value, false);
- }
+ // Not overwrite the value from file.
+ $Page->setField($field, $value, false);
+
+ // Overwrite the value on the db.
+ //$dbPages->setDb($key, $field, $value);
}
// Content in raw format
diff --git a/kernel/boot/rules/70.build_posts.php b/kernel/boot/rules/70.build_posts.php
index 5ebe2af1..10207918 100644
--- a/kernel/boot/rules/70.build_posts.php
+++ b/kernel/boot/rules/70.build_posts.php
@@ -17,14 +17,14 @@ function buildPost($key)
global $Parsedown;
global $Site;
- // Post object.
+ // Post object, this get the content from the file.
$Post = new Post($key);
if( !$Post->isValid() ) {
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying build the post from file with key: '.$key);
return false;
}
- // Page database.
+ // Page database, this get the contente from the database json.
$db = $dbPosts->getDb($key);
if( !$db ) {
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying build the post from database with key: '.$key);
@@ -34,18 +34,8 @@ function buildPost($key)
// Foreach field from database.
foreach($db as $field=>$value)
{
- if($field=='unixTimeCreated')
- {
- // Format dates, not overwrite from file fields.
- $Post->setField('unixTimeCreated', $value, false);
- $Post->setField('date', Date::format($value, '%d %B'), false);
- $Post->setField('timeago', Date::timeago($value), false);
- }
- else
- {
- // Other fields, not overwrite from file fields.
- $Post->setField($field, $value, false);
- }
+ // Not overwrite the value from file.
+ $Post->setField($field, $value, false);
}
// Content in raw format
@@ -99,6 +89,8 @@ function build_posts_per_page($pageNumber=0, $amount=5, $draftPosts=false)
}
}
+
+
// ============================================================================
// Main
// ============================================================================
diff --git a/kernel/dbpages.class.php b/kernel/dbpages.class.php
index 4a25b8e1..f3caf3a8 100644
--- a/kernel/dbpages.class.php
+++ b/kernel/dbpages.class.php
@@ -11,8 +11,7 @@ class dbPages extends dbJSON
'username'=> array('inFile'=>false, 'value'=>''),
'tags'=> array('inFile'=>false, 'value'=>''),
'status'=> array('inFile'=>false, 'value'=>'draft'),
- 'unixTimeCreated'=> array('inFile'=>false, 'value'=>0),
- 'unixTimeModified'=> array('inFile'=>false, 'value'=>0),
+ 'date'=> array('inFile'=>false, 'value'=>0),
'position'=> array('inFile'=>false, 'value'=>0)
);
@@ -27,18 +26,21 @@ class dbPages extends dbJSON
$dataForFile = array(); // This data will be saved in the file
$key = $this->generateKey($args['slug'], $args['parent']);
+ /*
if($key===false) {
return false;
}
-
+ */
// The user is always the one loggued.
$args['username'] = Session::get('username');
if( Text::isEmpty($args['username']) ) {
return false;
}
- // The current unix time stamp.
- $args['unixTimeCreated'] = Date::unixTime();
+ // Current date.
+ if(empty($args['date'])) {
+ $args['date'] = Date::current(DB_DATE_FORMAT);
+ }
// Verify arguments with the database fields.
foreach($this->dbFields as $field=>$options)
@@ -109,14 +111,12 @@ class dbPages extends dbJSON
return false;
}
- // Unix time created and modified.
- // If the page is a draft then the time created is now.
+ // If the page is draft then the time created is now.
if( $this->db[$args['key']]['status']=='draft' ) {
- $args['unixTimeCreated'] = Date::unixTime();
+ $args['date'] = Date::current(DB_DATE_FORMAT);
}
else {
- $args['unixTimeCreated'] = $this->db[$args['key']]['unixTimeCreated'];
- $args['unixTimeModified'] = Date::unixTime();
+ $args['date'] = $this->db[$args['key']]['date'];
}
// Verify arguments with the database fields.
@@ -289,6 +289,80 @@ class dbPages extends dbJSON
return $this->db;
}
+ public function regenerate()
+ {
+ $db = $this->db;
+ $newPaths = array();
+ $fields = array();
+
+ // Default fields and value
+ foreach($this->dbFields as $field=>$options) {
+ if(!$options['inFile']) {
+ $fields[$field] = $options['value'];
+ }
+ }
+
+ $fields['status'] = CLI_STATUS;
+ $fields['date'] = Date::current(DB_DATE_FORMAT);
+
+ $tmpPaths = glob(PATH_PAGES.'*', GLOB_ONLYDIR);
+ foreach($tmpPaths as $directory)
+ {
+ $key = basename($directory);
+
+ if(file_exists($directory.DS.'index.txt')) {
+ // The key is the directory name
+ $newPaths[$key] = true;
+ }
+
+ // Recovery pages from subdirectories
+ $subPaths = glob($directory.DS.'*', GLOB_ONLYDIR);
+ foreach($subPaths as $subDirectory)
+ {
+ $subKey = basename($subDirectory);
+
+ if(file_exists($subDirectory.DS.'index.txt')) {
+ // The key is composed by the directory/subdirectory
+ $newPaths[$key.'/'.$subKey] = true;
+ }
+ }
+ }
+
+ foreach($newPaths as $key=>$value)
+ {
+ if(!isset($this->db[$key])) {
+ $this->db[$key] = $fields;
+ }
+
+ $Page = new Page($key);
+
+ // Update all fields from FILE to DATABASE.
+ foreach($fields as $f=>$v)
+ {
+ if($Page->getField($f)) {
+ // DEBUG: Validar/Sanitizar valores, ej: validar formato fecha
+ $this->db[$key][$f] = $Page->getField($f);
+ }
+ }
+
+ // DEBUG: Update tags
+ }
+
+ // Remove old pages from db
+ foreach( array_diff_key($db, $newPaths) as $key=>$data ) {
+ unset($this->db[$key]);
+ }
+
+ // Save the database.
+ if( $this->save() === false ) {
+ Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to save the database file.');
+ return false;
+ }
+
+ return $this->db!=$db;
+ }
+
+/*
public function regenerate()
{
$db = $this->db;
@@ -355,5 +429,5 @@ class dbPages extends dbJSON
return $this->db!=$db;
}
-
+ */
}
diff --git a/kernel/dbposts.class.php b/kernel/dbposts.class.php
index f5559999..97aad227 100644
--- a/kernel/dbposts.class.php
+++ b/kernel/dbposts.class.php
@@ -10,8 +10,7 @@ class dbPosts extends dbJSON
'status'=> array('inFile'=>false, 'value'=>'draft'),
'tags'=> array('inFile'=>false, 'value'=>''),
'allowComments'=> array('inFile'=>false, 'value'=>false),
- 'unixTimeCreated'=> array('inFile'=>false, 'value'=>0),
- 'unixTimeModified'=> array('inFile'=>false, 'value'=>0)
+ 'date'=> array('inFile'=>false, 'value'=>'')
);
private $numberPosts = array(
@@ -45,6 +44,15 @@ class dbPosts extends dbJSON
return false;
}
+ public function setDb($key, $field, $value)
+ {
+ if($this->postExists($key)) {
+ $this->db[$key][$field] = $value;
+ }
+
+ return false;
+ }
+
// Return TRUE if the post exists, FALSE otherwise.
public function postExists($key)
{
@@ -87,15 +95,14 @@ class dbPosts extends dbJSON
// Generate the database key.
$key = $this->generateKey($args['slug']);
- // The user is always the one loggued.
+ // The user is always the who is loggued.
$args['username'] = Session::get('username');
if( Text::isEmpty($args['username']) ) {
return false;
}
- // The current unix time stamp.
- if(empty($args['unixTimeCreated'])) {
- $args['unixTimeCreated'] = Date::unixTime();
+ if(!Valid::date($args['date'], DB_DATE_FORMAT)) {
+ $args['date'] = Date::current(DB_DATE_FORMAT);
}
// Verify arguments with the database fields.
@@ -156,14 +163,8 @@ class dbPosts extends dbJSON
public function edit($args)
{
- // Unix time created and modified.
- // If the page is a draft then the time created is now.
- if( $this->db[$args['key']]['status']=='draft' ) {
- $args['unixTimeCreated'] = Date::unixTime();
- }
- else {
- $args['unixTimeCreated'] = $this->db[$args['key']]['unixTimeCreated'];
- $args['unixTimeModified'] = Date::unixTime();
+ if( !Valid::date($args['date'], DB_DATE_FORMAT) ) {
+ $args['date'] = Date::current(DB_DATE_FORMAT);
}
if( $this->delete($args['key']) ) {
@@ -202,6 +203,69 @@ class dbPosts extends dbJSON
return true;
}
+ public function regenerate()
+ {
+ $db = $this->db;
+ $newPaths = array();
+ $fields = array();
+
+ // Default fields and value
+ foreach($this->dbFields as $field=>$options) {
+ if(!$options['inFile']) {
+ $fields[$field] = $options['value'];
+ }
+ }
+
+ $fields['status'] = CLI_STATUS;
+ $fields['date'] = Date::current(DB_DATE_FORMAT);
+
+ // Recovery pages from the first level of directories
+ $tmpPaths = glob(PATH_POSTS.'*', GLOB_ONLYDIR);
+ foreach($tmpPaths as $directory)
+ {
+ $key = basename($directory);
+
+ if(file_exists($directory.DS.'index.txt')) {
+ // The key is the directory name
+ $newPaths[$key] = true;
+ }
+ }
+
+ foreach($newPaths as $key=>$value)
+ {
+ if(!isset($this->db[$key])) {
+ $this->db[$key] = $fields;
+ }
+
+ $Post = new Post($key);
+
+ // Update all fields from FILE to DATABASE.
+ foreach($fields as $f=>$v)
+ {
+ if($Post->getField($f)) {
+ // DEBUG: Validar/Sanitizar valores, ej: validar formato fecha
+ $this->db[$key][$f] = $Post->getField($f);
+ }
+ }
+
+ // DEBUG: Update tags
+ }
+
+ // Remove old posts from db
+ foreach( array_diff_key($db, $newPaths) as $key=>$data ) {
+ unset($this->db[$key]);
+ }
+
+ // Save the database.
+ if( $this->save() === false ) {
+ Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to save the database file.');
+ return false;
+ }
+
+ return $this->db!=$db;
+ }
+
+/*
public function regenerate()
{
$db = $this->db;
@@ -216,7 +280,7 @@ class dbPosts extends dbJSON
}
// Unix time stamp
- $fields['unixTimeCreated'] = Date::unixTime();
+ $fields['date'] = Date::current(DB_DATE_FORMAT);
// Username
$fields['username'] = 'admin';
@@ -255,7 +319,7 @@ class dbPosts extends dbJSON
return $this->db!=$db;
}
-
+*/
public function getPage($pageNumber, $postPerPage, $draftPosts=false)
{
// DEBUG: Ver una mejor manera de eliminar draft post antes de ordenarlos
@@ -317,15 +381,17 @@ class dbPosts extends dbJSON
return true;
}
+ // Remove the posts not published, status != published and date grater than current date.
// DEBUG: Ver una mejor manera de eliminar draft post antes de ordenarlos
private function removeUnpublished()
{
$tmp = array();
+ $currentDate = Date::current(DB_DATE_FORMAT);
- foreach($this->db as $key=>$value)
+ foreach($this->db as $key=>$values)
{
- if($value['status']==='published') {
- $tmp[$key]=$value;
+ if( ($values['status']==='published') && ($values['date']<=$currentDate) ) {
+ $tmp[$key]=$values;
}
}
@@ -336,12 +402,12 @@ class dbPosts extends dbJSON
{
// high to low
function high_to_low($a, $b) {
- return $a['unixTimeCreated']<$b['unixTimeCreated'];
+ return $a['date']<$b['date'];
}
// low to high
function low_to_high($a, $b) {
- return $a['unixTimeCreated']>$b['unixTimeCreated'];
+ return $a['date']>$b['date'];
}
$tmp = $this->db;
diff --git a/kernel/dbsite.class.php b/kernel/dbsite.class.php
index c71602f7..72dc584f 100644
--- a/kernel/dbsite.class.php
+++ b/kernel/dbsite.class.php
@@ -3,22 +3,21 @@
class dbSite extends dbJSON
{
private $dbFields = array(
- 'title'=> array('inFile'=>false, 'value'=>''),
+ 'title'=> array('inFile'=>false, 'value'=>'I am Guybrush Threepwood, mighty developer'),
'slogan'=> array('inFile'=>false, 'value'=>''),
- 'description'=> array('inFile'=>false, 'value'=>''),
- 'footer'=> array('inFile'=>false, 'value'=>''),
- 'postsperpage'=>array('inFile'=>false, 'value'=>''),
- 'language'=> array('inFile'=>false, 'value'=>'en'),
+ 'description'=> array('inFile'=>false, 'value'=>''),
+ 'footer'=> array('inFile'=>false, 'value'=>'I wanna be a pirate!'),
+ 'postsperpage'=> array('inFile'=>false, 'value'=>''),
+ 'language'=> array('inFile'=>false, 'value'=>'en'),
'locale'=> array('inFile'=>false, 'value'=>'en_US'),
- 'timezone'=> array('inFile'=>false, 'value'=>'America/Argentina/Buenos_Aires'),
+ 'timezone'=> array('inFile'=>false, 'value'=>'America/Argentina/Buenos_Aires'),
'theme'=> array('inFile'=>false, 'value'=>'pure'),
- 'adminTheme'=> array('inFile'=>false, 'value'=>'kure'),
- 'homepage'=> array('inFile'=>false, 'value'=>''),
+ 'adminTheme'=> array('inFile'=>false, 'value'=>'default'),
+ 'homepage'=> array('inFile'=>false, 'value'=>''),
'uriPage'=> array('inFile'=>false, 'value'=>'/'),
'uriPost'=> array('inFile'=>false, 'value'=>'/post/'),
'uriTag'=> array('inFile'=>false, 'value'=>'/tag/'),
- 'url'=> array('inFile'=>false, 'value'=>''),
- 'advancedOptions'=> array('inFile'=>false, 'value'=>'false')
+ 'url'=> array('inFile'=>false, 'value'=>'')
);
function __construct()
diff --git a/kernel/dbusers.class.php b/kernel/dbusers.class.php
index bdd80b03..59e09064 100644
--- a/kernel/dbusers.class.php
+++ b/kernel/dbusers.class.php
@@ -6,11 +6,11 @@ class dbUsers extends dbJSON
'firstName'=> array('inFile'=>false, 'value'=>''),
'lastName'=> array('inFile'=>false, 'value'=>''),
'username'=> array('inFile'=>false, 'value'=>''),
- 'role'=> array('inFile'=>false, 'value'=>'editor'),
+ 'role'=> array('inFile'=>false, 'value'=>'editor'),
'password'=> array('inFile'=>false, 'value'=>''),
- 'salt'=> array('inFile'=>false, 'value'=>'!Pink Floyd!Welcome to the machine!'),
- 'email'=> array('inFile'=>false, 'value'=>''),
- 'registered'=> array('inFile'=>false, 'value'=>0)
+ 'salt'=> array('inFile'=>false, 'value'=>'!Pink Floyd!Welcome to the machine!'),
+ 'email'=> array('inFile'=>false, 'value'=>''),
+ 'registered'=> array('inFile'=>false, 'value'=>'1985-03-15 10:00')
);
function __construct()
@@ -93,7 +93,7 @@ class dbUsers extends dbJSON
public function delete($username)
{
unset($this->db[$username]);
-
+
if( $this->save() === false ) {
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to save the database file.');
return false;
@@ -138,8 +138,8 @@ class dbUsers extends dbJSON
return false;
}
- // The current unix time stamp.
- $dataForDb['registered'] = Date::unixTime();
+ // Current date.
+ $dataForDb['registered'] = Date::current(DB_DATE_FORMAT);
// Password
$dataForDb['salt'] = Text::randomText(SALT_LENGTH);
diff --git a/kernel/helpers/date.class.php b/kernel/helpers/date.class.php
index 20536937..44cc7117 100644
--- a/kernel/helpers/date.class.php
+++ b/kernel/helpers/date.class.php
@@ -8,12 +8,19 @@ class Date {
return time();
}
- // Format a local time/date according to locale settings
- public static function format($time, $format)
+ // Return the local time/date according to locale settings.
+ public static function current($format)
{
- $date = strftime($format, $time);
+ $Date = new DateTime();
+ return $Date->format($format);
+ }
- return $date;
+ // Format a local time/date according to locale settings.
+ public static function format($date, $currentFormat, $outputFormat)
+ {
+ $Date = DateTime::createFromFormat($currentFormat, $date);
+
+ return $Date->format($outputFormat);
}
public static function timeago($time)
diff --git a/kernel/helpers/valid.class.php b/kernel/helpers/valid.class.php
index 507c172f..a3d305e2 100644
--- a/kernel/helpers/valid.class.php
+++ b/kernel/helpers/valid.class.php
@@ -24,4 +24,11 @@ class Valid {
return true;
}
+ // Thanks, http://php.net/manual/en/function.checkdate.php#113205
+ public static function date($date, $format='Y-m-d H:i:s')
+ {
+ $tmp = DateTime::createFromFormat($format, $date);
+ return $tmp && $tmp->format($format) == $date;
+ }
+
}
\ No newline at end of file
diff --git a/kernel/page.class.php b/kernel/page.class.php
index f4746a71..e3dc6b85 100644
--- a/kernel/page.class.php
+++ b/kernel/page.class.php
@@ -65,44 +65,17 @@ class Page extends fileContent
return $this->getField('position');
}
- // Returns the post date in unix timestamp format, UTC-0.
- public function unixTimeCreated()
- {
- return $this->getField('unixTimeCreated');
- }
-
- public function unixTimeModified()
- {
- return $this->getField('unixTimeModified');
- }
-
// Returns the post date according to locale settings and format settings.
- public function dateCreated($format=false)
+ public function date($format=false)
{
- if($format===false) {
- return $this->getField('date');
+ $date = $this->getField('date');
+
+ if($format) {
+ // En %d %b deberia ir el formato definido por el usuario
+ return Date::format($date, DB_DATE_FORMAT, '%d %B');
}
- $unixTimeCreated = $this->unixTimeCreated();
-
- return Date::format($unixTimeCreated, $format);
- }
-
- public function dateModified($format=false)
- {
- if($format===false) {
- return $this->getField('date');
- }
-
- $unixTimeModified = $this->unixTimeModified();
-
- return Date::format($unixTimeModified, $format);
- }
-
- // Returns the time ago
- public function timeago()
- {
- return $this->getField('timeago');
+ return $date;
}
// Returns the page slug.
@@ -191,4 +164,4 @@ class Page extends fileContent
return $this->getField('authorLastName');
}
-}
+}
\ No newline at end of file
diff --git a/kernel/post.class.php b/kernel/post.class.php
index beed0c5d..d9db0409 100644
--- a/kernel/post.class.php
+++ b/kernel/post.class.php
@@ -63,7 +63,15 @@ class Post extends fileContent
// Returns TRUE if the post is published, FALSE otherwise.
public function published()
{
- return ($this->getField('status')==='published');
+ $currentDate = Date::current(DB_DATE_FORMAT);
+ return ( ($this->getField('status')==='published') && ($this->getField('date')<=$currentDate) );
+ }
+
+ // Returns TRUE if the post is scheduled, FALSE otherwise.
+ public function scheduled()
+ {
+ $currentDate = Date::current(DB_DATE_FORMAT);
+ return ( ($this->getField('status')==='published') && ($this->getField('date')>$currentDate) );
}
public function username()
@@ -86,41 +94,17 @@ class Post extends fileContent
return $this->getField('description');
}
- public function unixTimeCreated()
+ // Returns the post date according to locale settings and format settings.
+ public function date($format=false)
{
- return $this->getField('unixTimeCreated');
- }
+ $date = $this->getField('date');
- public function unixTimeModified()
- {
- return $this->getField('unixTimeModified');
- }
-
- public function dateCreated($format=false)
- {
- if($format===false) {
- return $this->getField('date');
+ if($format) {
+ // En %d %b deberia ir el formato definido por el usuario
+ return Date::format($date, DB_DATE_FORMAT, '%d %B');
}
- $unixTimeCreated = $this->unixTimeCreated();
-
- return Date::format($unixTimeCreated, $format);
- }
-
- public function dateModified($format=false)
- {
- if($format===false) {
- return $this->getField('date');
- }
-
- $unixTimeModified = $this->unixTimeModified();
-
- return Date::format($unixTimeModified, $format);
- }
-
- public function timeago()
- {
- return $this->getField('timeago');
+ return $date;
}
public function tags()
diff --git a/languages/cs_CZ.json b/languages/cs_CZ.json
new file mode 100755
index 00000000..6f6d4025
--- /dev/null
+++ b/languages/cs_CZ.json
@@ -0,0 +1,148 @@
+{
+ "language-data":
+ {
+ "native": "Czech (Czech Republik)",
+ "english-name": "Czech",
+ "last-update": "2015-06-14",
+ "author": "honigp",
+ "email": "honigp@seznam.cz",
+ "website": "honigp.cz"
+ },
+
+ "username": "Jméno",
+ "password": "Heslo",
+ "confirm-password": "Heslo znovu",
+ "editor": "Editor",
+ "dashboard": "Nástěnka",
+ "role": "Úroveň",
+ "post": "Zveřejnit",
+ "posts": "Počet příspěvků",
+ "users": "Počet uživatelů",
+ "administrator": "Administrátor",
+ "add": "Přidat",
+ "cancel": "Zrušit",
+ "content": "Obsah",
+ "title": "Nadpis",
+ "no-parent": "Bez zdroje",
+ "edit-page": "Upravit stránku",
+ "edit-post": "Upravit příspěvek",
+ "add-a-new-user": "Přidání nového uživatele",
+ "parent": "Zdroj",
+ "friendly-url": "Pěkné URL",
+ "description": "Popis",
+ "posted-by": "Přidat",
+ "tags": "Štítky",
+ "position": "Umístit",
+ "save": "Uložit",
+ "draft": "Návrh",
+ "delete": "Smazat",
+ "registered": "Registrace",
+ "Notifications": "Oznámení",
+ "profile": "Profil",
+ "email": "Email",
+ "settings": "Nastavení",
+ "general": "Obecné",
+ "advanced": "Pokročilé",
+ "regional": "Region",
+ "about": "O systému",
+ "login": "Přihlásit",
+ "logout": "Odhlásit",
+ "manage": "Správa obsahu",
+ "themes": "Motiv",
+ "prev-page": "Předchozí stránka",
+ "next-page": "Následující stránka",
+ "configure-plugin": "nastavení pluginů",
+ "confirm-delete-this-action-cannot-be-undone": "Potvrdit odstranění,tato akce nelze vrátit zpět.",
+ "site-title": "Název webu",
+ "site-slogan": "Slogan webu",
+ "site-description": "Popis webu",
+ "footer-text": "Patička text",
+ "posts-per-page": "Příspěvků na stránku",
+ "site-url": "Adresa webu",
+ "writting-settings": "Nastavení psaní",
+ "url-filters": "URL filtr",
+ "page": "Stránka",
+ "pages": "Stránky",
+ "home": "Domů",
+ "welcome-back": "Vítejte",
+ "language": "Jazyk",
+ "website": "Stránka",
+ "timezone": "Časová zóna",
+ "locale": "Místní",
+ "new-post": "Nový příspěvek",
+ "html-and-markdown-code-supported": "Podpora HTML a Markdown",
+ "new-page": "Nová stránka",
+ "manage-posts": "Správa příspěvků",
+ "published-date": "Publikováno",
+ "modified-date": "Datum úpravy",
+ "empty-title": "Prázdný titul",
+ "plugins": "Pluginy",
+ "install-plugin": "Instalovat plugin",
+ "uninstall-plugin": "Odinstalovat plugin",
+ "new-password": "Nové heslo",
+ "edit-user": "Upravit uživatele",
+ "publish-now": "Publikovat nyní",
+ "first-name": "Jméno",
+ "last-name": "Příjmení",
+ "bludit-version": "Bludit verze",
+ "powered-by": "Powered by",
+ "recent-posts": "Poslední příspěvky",
+ "manage-pages": "Správa stránek",
+ "advanced-options": "Pokročilé možnosti",
+ "user-deleted": "Uživatel smazán",
+ "page-added-successfully": "Stránka přidána",
+ "post-added-successfully": "Příspěvek přidán",
+ "the-post-has-been-deleted-successfully": "Příspěvek byl úspěšně smazán",
+ "the-page-has-been-deleted-successfully": "Stránka byla úspěšně smazána",
+ "username-or-password-incorrect": "Uživatelské jméno nebo heslo není správné",
+ "database-regenerated": "Databáze regeneruje",
+ "the-changes-have-been-saved": "Změny byly uloženy",
+ "enable-more-features-at": "Další funkce na",
+ "username-already-exists": "Uživatelské jméno již existuje",
+ "username-field-is-empty": "Uživatelské jméno je prázdné",
+ "the-password-and-confirmation-password-do-not-match":"Heslo a potvrzení hesla se neshodují",
+ "user-has-been-added-successfully": "Uživatel byl úspěšně přidán",
+ "you-do-not-have-sufficient-permissions": "Nemáte dostatečná oprávnění pro přístup k této stránce, obraťte se na správce.",
+ "settings-advanced-writting-settings": "Nastavení->Pokročilé->Nastavení psaní",
+ "new-posts-and-pages-synchronized": "Nové příspěvky a stránky synchronizované.",
+ "you-can-choose-the-users-privilege": "Můžete si vybrat oprávnění uživatele.Editor může jen psát stránky a příspěvky.",
+ "email-will-not-be-publicly-displayed": "E-mail nebude veřejně zobrazen. Doporučuje se heslo pro obnovení a oznámení.",
+ "use-this-field-to-name-your-site": "V tomto poli lze pojmenovat vaše stránky, zobrazí se v horní části každé stránky vašeho webu.",
+ "use-this-field-to-add-a-catchy-prhase": "Pomocí tohoto pole přidejte chytlavý slogan na vašem webu.",
+ "you-can-add-a-site-description-to-provide": "Můžete přidat popis webu nebo krátký životopis.",
+ "you-can-add-a-small-text-on-the-bottom": "Můžete přidat text v patičce každé stránky. např: autorská práva, vlastník, data, atd",
+ "number-of-posts-to-show-per-page": "Počet příspěvků na stránce.",
+ "the-url-of-your-site": "Adresa URL vašich stránek.",
+ "add-or-edit-description-tags-or": "Přidat nebo upravit popis,značky,pěkné URL.",
+ "select-your-sites-language": "Vyberte jazyk svých stránek.",
+ "select-a-timezone-for-a-correct": "Vyberte časové pásmo pro správné zobrazení data / času na vašem webu.",
+ "you-can-use-this-field-to-define-a-set-of": "Můžete použít toto pole pro definování parametrů souvisejících s jazykem a zemí.",
+ "you-can-modify-the-url-which-identifies":"Můžete upravit adresu URL, která identifikuje stránku. Ne víc než 150 znaků.",
+ "this-field-can-help-describe-the-content": "Zde můžete napsat obsah několika slovy. Ne víc než 150 znaků.",
+ "write-the-tags-separeted-by-comma": "Napište štítky oddělené čárkou. např: štítek1, štítek2, štítek3",
+ "delete-the-user-and-all-its-posts":"Odstranit uživatele a všechny jeho příspěvky",
+ "delete-the-user-and-associate-its-posts-to-admin-user": "Odstranit uživatele a spojit své příspěvky na uživatele admin",
+ "read-more": "Čtěte více",
+ "show-blog": "Zobrazit blog",
+ "default-home-page": "Výchozí domovská stránka",
+ "version": "Verze",
+ "there-are-no-drafts": "Nejsou k dispozici žádné návrhy.",
+ "create-a-new-article-for-your-blog":"Vytvořte nový článek pro váš blog.",
+ "create-a-new-page-for-your-website":"Vytvořte novou stránku pro vaše webové stránky.",
+ "invite-a-friend-to-collaborate-on-your-website":"Pozvěte přátele ke spolupráci na svých webových stránkách.",
+ "change-your-language-and-region-settings":"Změna nastavení jazyka a regionu.",
+ "language-and-timezone":"Jazyk a časová zóna",
+ "author": "Autor",
+ "start-here": "Začněte zde",
+ "install-theme": "Instalovat motiv",
+ "first-post": "První příspěvek",
+ "congratulations-you-have-successfully-installed-your-bludit": "Blahopřejeme právě jste nainstalovaly **Bludit**",
+ "whats-next": "Kam dál",
+ "manage-your-bludit-from-the-admin-panel": "Správa vašeho webu [admin area](./admin/)",
+ "follow-bludit-on": "Follow Bludit on",
+ "visit-the-support-forum": "Navštivte [forum](http://forum.bludit.com) fórum",
+ "read-the-documentation-for-more-information": "Čtětě [documentation](http://docs.bludit.com) více informaví",
+ "share-with-your-friends-and-enjoy": "Podělte se se svými přáteli a užívejte si",
+ "the-page-has-not-been-found": "Stránka nenalezena.",
+ "error": "Error"
+}
\ No newline at end of file
diff --git a/languages/de_DE.json b/languages/de_DE.json
new file mode 100755
index 00000000..7e69d684
--- /dev/null
+++ b/languages/de_DE.json
@@ -0,0 +1,149 @@
+{
+ "language-data":
+ {
+ "native": "Deutsch (Deutschland)",
+ "english-name": "German",
+ "last-update": "2015-08-09",
+ "author": "Edi",
+ "email": "egoetschel@clickwork.ch",
+ "website": "http://www.clickwork.ch"
+ },
+
+ "username": "Benutzername",
+ "password": "Passwort",
+ "confirm-password": "Passwort wiederholen",
+ "editor": "Editor",
+ "dashboard": "Dashboard",
+ "role": "Rolle",
+ "post": "Beitrag",
+ "posts": "Beiträge",
+ "users": "Benutzer",
+ "administrator": "Administrator",
+ "add": "Hinzufügen",
+ "cancel": "Abbrechen",
+ "content": "Inhalt",
+ "title": "Titel",
+ "no-parent": "Keine übergeordnete Seite",
+ "edit-page": "Seite bearbeiten",
+ "edit-post": "Beitrag bearbeiten",
+ "add-a-new-user": "Neuer Benutzer",
+ "parent": "Übergeordnete Seite",
+ "friendly-url": "Pretty URL",
+ "description": "Beschreibung",
+ "posted-by": "Veröffentlicht von",
+ "tags": "Schlagwörter",
+ "position": "Position",
+ "save": "Speichern",
+ "draft": "Entwurf",
+ "delete": "Löschen",
+ "registered": "Hinzugefügt",
+ "Notifications": "Benachrichtigungen",
+ "profile": "Profil",
+ "email": "E-Mail",
+ "settings": "Einstellungen",
+ "general": "Allgemein",
+ "advanced": "Erweitert",
+ "regional": "Lokalisierung",
+ "about": "Systeminformation",
+ "login": "Anmelden",
+ "logout": "Abmelden",
+ "manage": "Verwaltung",
+ "themes": "Themes",
+ "prev-page": "Vorhergehende Seite",
+ "next-page": "Nächste Seite",
+ "configure-plugin": "Plugin konfigurieren",
+ "confirm-delete-this-action-cannot-be-undone": "Bestaetige das Loeschen, dieser Vorgang kann nicht rueckgaengig gemacht werden.",
+ "site-title": "Titel der Webseite",
+ "site-slogan": "Untertitel",
+ "site-description": "Informationen zur Website",
+ "footer-text": "Footer-Text",
+ "posts-per-page": "Beiträge pro Seite",
+ "site-url": "URL der Website",
+ "writting-settings": "Beitrags- und Seiteneinstellungen",
+ "url-filters": "URL-Erweiterungen",
+ "page": "Seite",
+ "pages": "Seiten",
+ "home": "Hauptseite",
+ "welcome-back": "Willkommen",
+ "language": "Sprache",
+ "website": "Zur Website",
+ "timezone": "Zeitzone",
+ "locale": "Locale",
+ "new-post": "Neuer Beitrag",
+ "html-and-markdown-code-supported": "HTML und Markdown werden unterstützt",
+ "new-page": "Neue Seite",
+ "manage-posts": "Beiträge verwalten",
+ "published-date": "Veröffentlicht",
+ "modified-date": "Letzte Änderung",
+ "empty-title": "Kein Titel",
+ "plugins": "Plugins",
+ "install-plugin": "Plugin installieren",
+ "uninstall-plugin": "Plugin deinstallieren",
+ "new-password": "Neues Passwort",
+ "edit-user": "Benutzer bearbeiten",
+ "publish-now": "Veröffentlichen",
+ "first-name": "Vorname",
+ "last-name": "Nachname",
+ "bludit-version": "Bludit Version",
+ "powered-by": "Diese Website wurde eingerichtet mit",
+ "recent-posts": "Neueste Beiträge",
+ "manage-pages": "Seiten verwalten",
+ "advanced-options": "Erweiterte Einstellungen",
+ "user-deleted": "Der Benutzer wurde gelöscht.",
+ "page-added-successfully": "Die Seite wurde veröffentlicht.",
+ "post-added-successfully": "Die Seite wurde veröffentlicht.",
+ "the-post-has-been-deleted-successfully": "Der Beitrag wurde gelöscht.",
+ "the-page-has-been-deleted-successfully": "Die Seite wurde gelöscht.",
+ "username-or-password-incorrect": "Der Benutzername oder das Passwort ist falsch.",
+ "database-regenerated": "Die Datenbank wurde neu aufgebaut.",
+ "the-changes-have-been-saved": "Die Änderungen wurden gespeichert.",
+ "enable-more-features-at": "Zusätzlich Felder können aktiviert werden unter",
+ "username-already-exists": "Diesen Benutzernamen gibt es bereits.",
+ "username-field-is-empty": "Es muss ein Benutzername eingegeben werden.",
+ "the-password-and-confirmation-password-do-not-match":"Die eingegebenen Passwörter stimmen nicht überein.",
+ "user-has-been-added-successfully": "Der Benutzer wurde hinzugefügt.",
+ "you-do-not-have-sufficient-permissions": "Du bist nicht berechtigt, die Seite aufzurufen.",
+ "settings-advanced-writting-settings": "Einstellungen->Erweitert->Beitrags- und Seiteneinstellungen",
+ "new-posts-and-pages-synchronized": "Neue Beitrãge und Seitenwurden synchronisiert.",
+ "you-can-choose-the-users-privilege": "Rechte des Benutzers. Ein Editor kann nur Seiten anlegen und Beiträge schreiben.",
+ "email-will-not-be-publicly-displayed": "Die E-Mail wird nicht öffentlich gezeigt. Sie wird für die Wiederherstellung des Passworts und Benachrichtigungen verwendet.",
+ "use-this-field-to-name-your-site": "Name der Website, wie er auf jeder Seite angezeigt wird.",
+ "use-this-field-to-add-a-catchy-prhase": "Untertitel oder Slogan der Website.",
+ "you-can-add-a-site-description-to-provide": "Kurze Beschreibung der Website fúr Suchmaschinen.",
+ "you-can-add-a-small-text-on-the-bottom": "Text im Fussbereich jeder Seite. Beispielsweise: Copyright-Hinweis, Eigentümer der Website usw.",
+ "number-of-posts-to-show-per-page": "Anzahl der Beiträge, die auf einer Seite gezeigt werden..",
+ "the-url-of-your-site": "URL der Website.",
+ "add-or-edit-description-tags-or": "Beschreibungen, Schlagwörter und Pretty URL hinzufügen oder ändern.",
+ "select-your-sites-language": "Sprache der Website.",
+ "select-a-timezone-for-a-correct": "Zeitzone für die richtige Anzeige des Datums und der Zeit auf der Website.",
+ "you-can-use-this-field-to-define-a-set-of": "Parameter mit Bezug auf die verwendete Sprache und das Land. Beispielsweise: de_DE, de_CH usw.",
+ "you-can-modify-the-url-which-identifies":"Der URL kann selbst angepasst werden. Möglich sind höchstens 150 Zeichen.",
+ "this-field-can-help-describe-the-content": "Kurze Inhaltsbeschreibung. Möglich sind höchstens 150 Zeichen.",
+ "write-the-tags-separeted-by-comma": "Schlagwörter getrennt durch Kommas. Beispielsweise: Schlagwort1, Schlagwort2, Schlagwort3",
+ "delete-the-user-and-all-its-posts":"Benutzer und alle seine Beiträge löschen",
+ "delete-the-user-and-associate-its-posts-to-admin-user": "Benutzer löschen und seine Beiträge dem Administrator zuordnen",
+ "read-more": "Weiterlesen",
+ "show-blog": "Blog zeigen",
+ "default-home-page": "Hauptseite",
+ "version": "Version",
+ "there-are-no-drafts": "Es sind keine Entwürfe vorhanden.",
+ "create-a-new-article-for-your-blog":"Einen neuen Beitrag schreiben.",
+ "create-a-new-page-for-your-website":"Eine neue Seite anlegen.",
+ "invite-a-friend-to-collaborate-on-your-website":"Einen neuen Benutzer hinzufügen.",
+ "change-your-language-and-region-settings":"Sprache ändern und Lokalisierung.",
+ "language-and-timezone":"Sprache und Zeitzone",
+ "author": "Autor",
+ "start-here": "Direktzugriff",
+ "install-theme": "Theme installieren",
+ "first-post": "Erster Beitrag",
+ "congratulations-you-have-successfully-installed-your-bludit": "Gratulation, Du hast erfolgreich **Bludit** installiert!",
+ "whats-next": "Und so geht es weiter;",
+ "manage-your-bludit-from-the-admin-panel": "Verwalte Bludit im [Administrationsbereich](./admin/).",
+ "follow-bludit-on": "Folge Bludit bei",
+ "visit-the-support-forum": "Besuche das [Forum](http://forum.bludit.com), um Hilfe zu erhalten.",
+ "read-the-documentation-for-more-information": "Lies die [Dokumentation](http://docs.bludit.com) für weitere Informationen.",
+ "share-with-your-friends-and-enjoy": "Teile Bludit mit Deinen Freunden und geniesse es.",
+ "the-page-has-not-been-found": "Die Seite wurde nicht gefunden.",
+ "error": "Fehler"
+
+}
\ No newline at end of file
diff --git a/languages/en_US.json b/languages/en_US.json
index 23d306a8..009f9a3a 100755
--- a/languages/en_US.json
+++ b/languages/en_US.json
@@ -157,5 +157,9 @@
"proceed-anyway": "Proceed anyway!",
"drafts":"Drafts",
"ip-address-has-been-blocked": "IP address has been blocked.",
- "try-again-in-a-few-minutes": "Try again in a few minutes."
+ "try-again-in-a-few-minutes": "Try again in a few minutes.",
+ "date": "Date",
+ "you-can-schedule-the-post-just-select-the-date-and-time": "You can schedule the post, just select the date and time.",
+ "scheduled": "Scheduled",
+ "publish": "Publish"
}
\ No newline at end of file
diff --git a/themes/pure/php/home.php b/themes/pure/php/home.php
index 5cc98d0a..89812dd3 100644
--- a/themes/pure/php/home.php
+++ b/themes/pure/php/home.php
@@ -17,7 +17,7 @@
-
dateCreated() ?>
+
date() ?>
get('Posted By').' ';
diff --git a/themes/pure/php/post.php b/themes/pure/php/post.php
index b6d93e98..d4f4436f 100644
--- a/themes/pure/php/post.php
+++ b/themes/pure/php/post.php
@@ -15,7 +15,7 @@
- dateCreated() ?>
+ date() ?>
get('Posted By').' ';