Merge remote-tracking branch 'dignajar/master'

This commit is contained in:
Frédéric K 2015-11-15 10:09:31 +01:00
commit bf252e65ca
49 changed files with 497 additions and 169 deletions

View File

@ -103,6 +103,7 @@ button.delete-button:hover {
height: 400px; height: 400px;
} }
/* ----------- ALERT ----------- */ /* ----------- ALERT ----------- */
#alert { #alert {
@ -235,9 +236,16 @@ div.plugin-links > span.separator {
color: #AAAAAA; color: #AAAAAA;
} }
#jsformplugin textarea {
min-width: 400px;
width: 60%;
min-height: 100px;
}
#jsformplugin input[type=text] { #jsformplugin input[type=text] {
min-width: 400px; min-width: 400px;
width: 60%; width: 60%;
height: 37px;
} }
#jsformplugin input[type="checkbox"] { #jsformplugin input[type="checkbox"] {
@ -248,6 +256,6 @@ div.plugin-links > span.separator {
#jsformplugin label.forCheckbox { #jsformplugin label.forCheckbox {
margin-left: 3px; margin-left: 3px;
margin-bottom: 10px; margin-bottom: 0px !important;
display: inline-block; display: inline-block;
} }

View File

@ -159,6 +159,9 @@ class HTML {
$("#jsaddImage").on("click", function() { $("#jsaddImage").on("click", function() {
var filename = $("#jsimageList option:selected").text(); var filename = $("#jsimageList option:selected").text();
if(!filename.trim()) {
return false;
}
var textareaValue = $("#jscontent").val(); var textareaValue = $("#jscontent").val();
$("#jscontent").val(textareaValue + "<img src=\""+filename+"\" alt=\"\">" + "\n"); $("#jscontent").val(textareaValue + "<img src=\""+filename+"\" alt=\"\">" + "\n");
}); });
@ -187,6 +190,10 @@ class HTML {
bar.css("width", "100%").text("100%"); bar.css("width", "100%").text("100%");
setTimeout(function() { progressbar.addClass("uk-hidden"); }, 250); setTimeout(function() { progressbar.addClass("uk-hidden"); }, 250);
$("#jsimageList").prepend("<option value=\'"+response.filename+"\' selected=\'selected\'>"+response.filename+"</option>"); $("#jsimageList").prepend("<option value=\'"+response.filename+"\' selected=\'selected\'>"+response.filename+"</option>");
},
notallowed: function(file, settings) {
alert("'.$L->g('Supported image file types').' "+settings.allow);
} }
}; };

View File

@ -26,7 +26,7 @@ echo '
echo '<tr>'; echo '<tr>';
echo '<td><a href="'.HTML_PATH_ADMIN_ROOT.'edit-post/'.$Post->key().'">'.($status?'<span class="label-draft">'.$status.'</span>':'').($Post->title()?$Post->title():'<span class="label-empty-title">'.$Language->g('Empty title').'</span> ').'</a></td>'; echo '<td><a href="'.HTML_PATH_ADMIN_ROOT.'edit-post/'.$Post->key().'">'.($status?'<span class="label-draft">'.$status.'</span>':'').($Post->title()?$Post->title():'<span class="label-empty-title">'.$Language->g('Empty title').'</span> ').'</a></td>';
echo '<td class="uk-text-center">'.$Post->date().'</td>'; echo '<td class="uk-text-center">'.$Post->dateRaw().'</td>';
echo '<td><a target="_blank" href="'.$Post->permalink().'">'.$Url->filters('post').'/'.$Post->key().'</a></td>'; echo '<td><a target="_blank" href="'.$Post->permalink().'">'.$Url->filters('post').'/'.$Post->key().'</a></td>';
echo '</tr>'; echo '</tr>';
} }

View File

@ -35,6 +35,13 @@ HTML::formOpen(array('class'=>'uk-form-horizontal'));
'tip'=>$L->g('you-can-use-this-field-to-define-a-set-off') 'tip'=>$L->g('you-can-use-this-field-to-define-a-set-off')
)); ));
HTML::formInputText(array(
'name'=>'dateFormat',
'label'=>$L->g('Date format'),
'value'=>$Site->dateFormat(),
'class'=>'uk-width-1-2 uk-form-medium'
));
echo '<div class="uk-form-row"> echo '<div class="uk-form-row">
<div class="uk-form-controls"> <div class="uk-form-controls">
<button type="submit" class="uk-button uk-button-primary">'.$L->g('Save').'</button> <button type="submit" class="uk-button uk-button-primary">'.$L->g('Save').'</button>

View File

@ -7,6 +7,11 @@
* Bludit is opensource software licensed under the MIT license. * Bludit is opensource software licensed under the MIT license.
*/ */
// Check PHP version
if(version_compare(phpversion(), '5.3', '<')) {
exit('Current PHP version '.phpversion().', you need > 5.3. (ERR_202)');
}
// Security constant // Security constant
define('BLUDIT', true); define('BLUDIT', true);
@ -139,19 +144,6 @@ function checkSystem()
$phpModules = get_loaded_extensions(); $phpModules = get_loaded_extensions();
} }
// If the php version is less than 5.3, then don't check others requirements.
if(!version_compare(phpversion(), '5.3', '>='))
{
$errorText = 'Current PHP version '.phpversion().', you need > 5.3. (ERR_202)';
error_log($errorText, 0);
$tmp['title'] = 'PHP version';
$tmp['errorText'] = $errorText;
array_push($stdOut, $tmp);
return $stdOut;
}
if(!file_exists(PATH_ROOT.'.htaccess')) if(!file_exists(PATH_ROOT.'.htaccess'))
{ {
$errorText = 'Missing file, upload the file .htaccess (ERR_201)'; $errorText = 'Missing file, upload the file .htaccess (ERR_201)';
@ -202,9 +194,8 @@ function install($adminPassword, $email, $timezoneOffset)
$stdOut = array(); $stdOut = array();
$timezone = timezone_name_from_abbr('', $timezoneOffset, 1); $timezone = timezone_name_from_abbr('', $timezoneOffset, 0);
if($timezone === false) { $timezone = timezone_name_from_abbr('', $timezoneOffset, 0); } // Workaround bug #44780 if($timezone === false) { $timezone = timezone_name_from_abbr('', $timezoneOffset, 0); } // Workaround bug #44780
date_default_timezone_set($timezone); date_default_timezone_set($timezone);
$currentDate = Date::current(DB_DATE_FORMAT); $currentDate = Date::current(DB_DATE_FORMAT);

View File

@ -58,6 +58,15 @@ class dbJSON
return count($this->db); return count($this->db);
} }
public function getField($field)
{
if(isset($this->db[$field])) {
return $this->db[$field];
}
return $this->dbFields[$field]['value'];
}
// Save the JSON file. // Save the JSON file.
public function save() public function save()
{ {

View File

@ -75,7 +75,7 @@ define('CLI_STATUS', 'published');
// Database format date // Database format date
define('DB_DATE_FORMAT', 'Y-m-d H:i'); define('DB_DATE_FORMAT', 'Y-m-d H:i');
// Database format date // Date format for Dashboard schedule posts
define('SCHEDULED_DATE_FORMAT', 'd M - h:i a'); define('SCHEDULED_DATE_FORMAT', 'd M - h:i a');
// Token time to live for login via email. The offset is defined by http://php.net/manual/en/datetime.modify.php // Token time to live for login via email. The offset is defined by http://php.net/manual/en/datetime.modify.php
@ -128,6 +128,7 @@ include(PATH_HELPERS.'email.class.php');
include(PATH_HELPERS.'filesystem.class.php'); include(PATH_HELPERS.'filesystem.class.php');
include(PATH_HELPERS.'alert.class.php'); include(PATH_HELPERS.'alert.class.php');
include(PATH_HELPERS.'paginator.class.php'); include(PATH_HELPERS.'paginator.class.php');
include(PATH_HELPERS.'image.class.php');
// Session // Session
Session::start(); Session::start();
@ -147,13 +148,16 @@ $Parsedown = new Parsedown();
$Security = new Security(); $Security = new Security();
// HTML PATHs // HTML PATHs
//$base = (dirname(getenv('SCRIPT_NAME'))==DS)?'/':dirname(getenv('SCRIPT_NAME')).'/';
$base = empty( $_SERVER['SCRIPT_NAME'] ) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']; $base = empty( $_SERVER['SCRIPT_NAME'] ) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$base = dirname($base); $base = dirname($base);
if($base!=DS) { if($base!=DS) {
$base = $base.'/'; $base = $base.'/';
} }
else {
// Workaround for Windows Web Servers
$base = '/';
}
define('HTML_PATH_ROOT', $base); define('HTML_PATH_ROOT', $base);
@ -173,7 +177,7 @@ define('HTML_PATH_PLUGINS', HTML_PATH_ROOT.'plugins/');
define('JQUERY', HTML_PATH_ADMIN_THEME_JS.'jquery.min.js'); define('JQUERY', HTML_PATH_ADMIN_THEME_JS.'jquery.min.js');
// PHP paths with dependency // PHP paths with dependency
define('PATH_THEME', PATH_ROOT.'themes/'.$Site->theme().'/'); define('PATH_THEME', PATH_ROOT.'themes'.DS.$Site->theme().DS);
define('PATH_THEME_PHP', PATH_THEME.'php'.DS); define('PATH_THEME_PHP', PATH_THEME.'php'.DS);
define('PATH_THEME_CSS', PATH_THEME.'css'.DS); define('PATH_THEME_CSS', PATH_THEME.'css'.DS);
define('PATH_THEME_JS', PATH_THEME.'js'.DS); define('PATH_THEME_JS', PATH_THEME.'js'.DS);

View File

@ -68,6 +68,13 @@ function buildPost($key)
$Post->setField('breakContent', $explode[0], true); $Post->setField('breakContent', $explode[0], true);
$Post->setField('readMore', !empty($explode[1]), true); $Post->setField('readMore', !empty($explode[1]), true);
// Date format
$postDate = $Post->date();
$Post->setField('dateRaw', $postDate, true);
$postDateFormated = $Post->dateRaw( $Site->dateFormat() );
$Post->setField('date', $postDateFormated, true);
// Parse username for the post. // Parse username for the post.
if( $dbUsers->userExists( $Post->username() ) ) if( $dbUsers->userExists( $Post->username() ) )
{ {

View File

@ -11,7 +11,7 @@ class dbPages extends dbJSON
'username'=> array('inFile'=>false, 'value'=>''), 'username'=> array('inFile'=>false, 'value'=>''),
'tags'=> array('inFile'=>false, 'value'=>array()), 'tags'=> array('inFile'=>false, 'value'=>array()),
'status'=> array('inFile'=>false, 'value'=>'draft'), 'status'=> array('inFile'=>false, 'value'=>'draft'),
'date'=> array('inFile'=>false, 'value'=>0), 'date'=> array('inFile'=>false, 'value'=>''),
'position'=> array('inFile'=>false, 'value'=>0) 'position'=> array('inFile'=>false, 'value'=>0)
); );
@ -34,9 +34,7 @@ class dbPages extends dbJSON
} }
// Current date. // Current date.
if(empty($args['date'])) { $args['date'] = Date::current(DB_DATE_FORMAT);
$args['date'] = Date::current(DB_DATE_FORMAT);
}
// Verify arguments with the database fields. // Verify arguments with the database fields.
foreach($this->dbFields as $field=>$options) foreach($this->dbFields as $field=>$options)

View File

@ -2,7 +2,7 @@
class dbSite extends dbJSON class dbSite extends dbJSON
{ {
private $dbFields = array( public $dbFields = array(
'title'=> array('inFile'=>false, 'value'=>'I am Guybrush Threepwood, mighty developer'), 'title'=> array('inFile'=>false, 'value'=>'I am Guybrush Threepwood, mighty developer'),
'slogan'=> array('inFile'=>false, 'value'=>''), 'slogan'=> array('inFile'=>false, 'value'=>''),
'description'=> array('inFile'=>false, 'value'=>''), 'description'=> array('inFile'=>false, 'value'=>''),
@ -19,7 +19,9 @@ class dbSite extends dbJSON
'uriTag'=> array('inFile'=>false, 'value'=>'/tag/'), 'uriTag'=> array('inFile'=>false, 'value'=>'/tag/'),
'url'=> array('inFile'=>false, 'value'=>''), 'url'=> array('inFile'=>false, 'value'=>''),
'cliMode'=> array('inFile'=>false, 'value'=>true), 'cliMode'=> array('inFile'=>false, 'value'=>true),
'emailFrom'=> array('inFile'=>false, 'value'=>'') 'emailFrom'=> array('inFile'=>false, 'value'=>''),
'dateFormat'=> array('inFile'=>false, 'value'=>'F j, Y'),
'timeFormat'=> array('inFile'=>false, 'value'=>'g:i a')
); );
function __construct() function __construct()
@ -61,9 +63,9 @@ class dbSite extends dbJSON
public function uriFilters($filter='') public function uriFilters($filter='')
{ {
$filters['admin'] = '/admin/'; $filters['admin'] = '/admin/';
$filters['post'] = $this->db['uriPost']; $filters['post'] = $this->getField('uriPost');
$filters['page'] = $this->db['uriPage']; $filters['page'] = $this->getField('uriPage');
$filters['tag'] = $this->db['uriTag']; $filters['tag'] = $this->getField('uriTag');
if(empty($filter)) { if(empty($filter)) {
return $filters; return $filters;
@ -74,70 +76,83 @@ class dbSite extends dbJSON
public function urlPost() public function urlPost()
{ {
return $this->url().ltrim($this->db['uriPost'], '/'); $filter = $this->getField('uriPost');
return $this->url().ltrim($filter, '/');
} }
public function urlPage() public function urlPage()
{ {
return $this->url().ltrim($this->db['uriPage'], '/'); $filter = $this->getField('uriPage');
return $this->url().ltrim($filter, '/');
} }
public function urlTag() public function urlTag()
{ {
return $this->url().ltrim($this->db['uriTag'], '/'); $filter = $this->getField('uriTag');
return $this->url().ltrim($filter, '/');
} }
// Returns the site title. // Returns the site title.
public function title() public function title()
{ {
return $this->db['title']; return $this->getField('title');
} }
public function emailFrom() public function emailFrom()
{ {
return $this->db['emailFrom']; return $this->getField('emailFrom');
}
public function dateFormat()
{
return $this->getField('dateFormat');
}
public function timeFormat()
{
return $this->getField('timeFormat');
} }
// Returns the site slogan. // Returns the site slogan.
public function slogan() public function slogan()
{ {
return $this->db['slogan']; return $this->getField('slogan');
} }
// Returns the site description. // Returns the site description.
public function description() public function description()
{ {
return $this->db['description']; return $this->getField('description');
} }
// Returns the site theme name. // Returns the site theme name.
public function theme() public function theme()
{ {
return $this->db['theme']; return $this->getField('theme');
} }
// Returns the admin theme name. // Returns the admin theme name.
public function adminTheme() public function adminTheme()
{ {
return $this->db['adminTheme']; return $this->getField('adminTheme');
} }
// Returns the footer text. // Returns the footer text.
public function footer() public function footer()
{ {
return $this->db['footer']; return $this->getField('footer');
} }
// Returns the url site. // Returns the url site.
public function url() public function url()
{ {
return $this->db['url']; return $this->getField('url');
} }
// Returns TRUE if the cli mode is enabled, otherwise FALSE. // Returns TRUE if the cli mode is enabled, otherwise FALSE.
public function cliMode() public function cliMode()
{ {
return $this->db['cliMode']; return $this->getField('cliMode');
} }
// Returns the relative home link // Returns the relative home link
@ -149,25 +164,25 @@ class dbSite extends dbJSON
// Returns the timezone. // Returns the timezone.
public function timezone() public function timezone()
{ {
return $this->db['timezone']; return $this->getField('timezone');
} }
// Returns posts per page. // Returns posts per page.
public function postsPerPage() public function postsPerPage()
{ {
return $this->db['postsperpage']; return $this->getField('postsperpage');
} }
// Returns the current language. // Returns the current language.
public function language() public function language()
{ {
return $this->db['language']; return $this->getField('language');
} }
// Returns the current locale. // Returns the current locale.
public function locale() public function locale()
{ {
return $this->db['locale']; return $this->getField('locale');
} }
// Returns the current language in short format. // Returns the current language in short format.
@ -183,7 +198,7 @@ class dbSite extends dbJSON
// Returns the current homepage. // Returns the current homepage.
public function homepage() public function homepage()
{ {
return $this->db['homepage']; return $this->getField('homepage');
} }
// Set the locale. // Set the locale.

View File

@ -0,0 +1,232 @@
<?php defined('BLUDIT') or die('Bludit CMS.');
class Image {
private $image;
private $width;
private $height;
private $imageResized;
public function setImage($fileName, $newWidth, $newHeight, $option="auto")
{
// *** Open up the file
$this->image = $this->openImage($fileName);
// *** Get width and height
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
$this->resizeImage($newWidth, $newHeight, $option);
}
public function saveImage($savePath, $imageQuality="100", $force_jpg=false)
{
$extension = strtolower(pathinfo($savePath, PATHINFO_EXTENSION));
// Remove the extension
$filename = substr($savePath, 0,strrpos($savePath,'.'));
$path_complete = $filename.'.'.$extension;
if($force_jpg)
{
imagejpeg($this->imageResized, $filename.'.jpg', $imageQuality);
}
else
{
switch($extension)
{
case 'jpg':
case 'jpeg':
if (imagetypes() & IMG_JPG) {
imagejpeg($this->imageResized, $path_complete, $imageQuality);
}
break;
case 'gif':
if (imagetypes() & IMG_GIF) {
imagegif($this->imageResized, $path_complete);
}
break;
case 'png':
// *** Scale quality from 0-100 to 0-9
$scaleQuality = round(($imageQuality/100) * 9);
// *** Invert quality setting as 0 is best, not 9
$invertScaleQuality = 9 - $scaleQuality;
if (imagetypes() & IMG_PNG) {
imagepng($this->imageResized, $path_complete, $invertScaleQuality);
}
break;
default:
// *** No extension - No save.
break;
}
}
imagedestroy($this->imageResized);
}
private function openImage($file)
{
// *** Get extension
$extension = strtolower(strrchr($file, '.'));
switch($extension)
{
case '.jpg':
case '.jpeg':
$img = imagecreatefromjpeg($file);
break;
case '.gif':
$img = imagecreatefromgif($file);
break;
case '.png':
$img = imagecreatefrompng($file);
break;
default:
$img = false;
break;
}
return $img;
}
private function resizeImage($newWidth, $newHeight, $option)
{
// *** Get optimal width and height - based on $option
$optionArray = $this->getDimensions($newWidth, $newHeight, $option);
$optimalWidth = $optionArray['optimalWidth'];
$optimalHeight = $optionArray['optimalHeight'];
// *** Resample - create image canvas of x, y size
$this->imageResized = imagecreatetruecolor($optimalWidth, $optimalHeight);
imagecopyresampled($this->imageResized, $this->image, 0, 0, 0, 0, $optimalWidth, $optimalHeight, $this->width, $this->height);
// *** if option is 'crop', then crop too
if ($option == 'crop') {
$this->crop($optimalWidth, $optimalHeight, $newWidth, $newHeight);
}
}
private function getDimensions($newWidth, $newHeight, $option)
{
if( ($this->width < $newWidth) and ($this->height < $newHeight) )
{
return array('optimalWidth' => $this->width, 'optimalHeight' => $this->height);
}
switch ($option)
{
case 'exact':
$optimalWidth = $newWidth;
$optimalHeight= $newHeight;
break;
case 'portrait':
$optimalWidth = $this->getSizeByFixedHeight($newHeight);
$optimalHeight= $newHeight;
break;
case 'landscape':
$optimalWidth = $newWidth;
$optimalHeight= $this->getSizeByFixedWidth($newWidth);
break;
case 'auto':
$optionArray = $this->getSizeByAuto($newWidth, $newHeight);
$optimalWidth = $optionArray['optimalWidth'];
$optimalHeight = $optionArray['optimalHeight'];
break;
case 'crop':
$optionArray = $this->getOptimalCrop($newWidth, $newHeight);
$optimalWidth = $optionArray['optimalWidth'];
$optimalHeight = $optionArray['optimalHeight'];
break;
}
return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight);
}
private function getSizeByFixedHeight($newHeight)
{
$ratio = $this->width / $this->height;
$newWidth = $newHeight * $ratio;
return $newWidth;
}
private function getSizeByFixedWidth($newWidth)
{
$ratio = $this->height / $this->width;
$newHeight = $newWidth * $ratio;
return $newHeight;
}
private function getSizeByAuto($newWidth, $newHeight)
{
if ($this->height < $this->width)
// *** Image to be resized is wider (landscape)
{
$optimalWidth = $newWidth;
$optimalHeight= $this->getSizeByFixedWidth($newWidth);
}
elseif ($this->height > $this->width)
// *** Image to be resized is taller (portrait)
{
$optimalWidth = $this->getSizeByFixedHeight($newHeight);
$optimalHeight= $newHeight;
}
else
// *** Image to be resizerd is a square
{
if ($newHeight < $newWidth) {
$optimalWidth = $newWidth;
$optimalHeight= $this->getSizeByFixedWidth($newWidth);
} else if ($newHeight > $newWidth) {
$optimalWidth = $this->getSizeByFixedHeight($newHeight);
$optimalHeight= $newHeight;
} else {
// *** Sqaure being resized to a square
$optimalWidth = $newWidth;
$optimalHeight= $newHeight;
}
}
return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight);
}
private function getOptimalCrop($newWidth, $newHeight)
{
$heightRatio = $this->height / $newHeight;
$widthRatio = $this->width / $newWidth;
if ($heightRatio < $widthRatio) {
$optimalRatio = $heightRatio;
} else {
$optimalRatio = $widthRatio;
}
$optimalHeight = $this->height / $optimalRatio;
$optimalWidth = $this->width / $optimalRatio;
return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight);
}
private function crop($optimalWidth, $optimalHeight, $newWidth, $newHeight)
{
// *** Find center - this will be used for the crop
$cropStartX = ( $optimalWidth / 2) - ( $newWidth /2 );
$cropStartY = ( $optimalHeight/ 2) - ( $newHeight/2 );
$crop = $this->imageResized;
//imagedestroy($this->imageResized);
// *** Now crop from center to exact requested size
$this->imageResized = imagecreatetruecolor($newWidth , $newHeight);
imagecopyresampled($this->imageResized, $crop , 0, 0, $cropStartX, $cropStartY, $newWidth, $newHeight , $newWidth, $newHeight);
}
}

View File

@ -101,7 +101,13 @@ class Post extends fileContent
// Returns the post date according to locale settings and format settings. // Returns the post date according to locale settings and format settings.
public function date($format=false) public function date($format=false)
{ {
$date = $this->getField('date'); return $this->getField('date');
}
// Returns the post date according to locale settings and format as database stored.
public function dateRaw($format=false)
{
$date = $this->getField('dateRaw');
if($format) { if($format) {
return Date::format($date, DB_DATE_FORMAT, $format); return Date::format($date, DB_DATE_FORMAT, $format);

View File

@ -3,7 +3,7 @@
{ {
"native": "Български (България)", "native": "Български (България)",
"english-name": "Bulgarian", "english-name": "Bulgarian",
"last-update": "2015-10-29", "last-update": "2015-11-09",
"author": "Христо Дипчиков", "author": "Христо Дипчиков",
"email": "", "email": "",
"website": "www.hristodipchikov.tk" "website": "www.hristodipchikov.tk"
@ -70,7 +70,7 @@
"timezone": "Часова зона", "timezone": "Часова зона",
"locale": "Местоположение", "locale": "Местоположение",
"new-post": "Нова публикация", "new-post": "Нова публикация",
"html-and-markdown-code-supported": "Поддръжан код HTML и Markdown ", "html-and-markdown-code-supported": "Поддръжан код HTML и Markdown ",
"new-page": "Нова страница", "new-page": "Нова страница",
"manage-posts": "Управление на публикациите", "manage-posts": "Управление на публикациите",
"published-date": "Дата на побликуване", "published-date": "Дата на побликуване",
@ -116,9 +116,9 @@
"add-or-edit-description-tags-or": "Добавяне или редактиране на описание, eтикети или модифициране URL.", "add-or-edit-description-tags-or": "Добавяне или редактиране на описание, eтикети или модифициране URL.",
"select-your-sites-language": "Изберете системен език.", "select-your-sites-language": "Изберете системен език.",
"select-a-timezone-for-a-correct": "Изберете часова зона за правилтото показване на дата / час.", "select-a-timezone-for-a-correct": "Изберете часова зона за правилтото показване на дата / час.",
"you-can-use-this-field-to-define-a-set-of": "Можете да използвате това поле, за набор на параметри, свързани с език, страната и специални преференции.", "you-can-use-this-field-to-define-a-set-of": "Можете да използвате това поле за избар на параметри свързани с езика, страната и специални преференции.",
"you-can-modify-the-url-which-identifies":"Можете да промените адреса, на дадената страница или публикация използвайки ключови думи. Но с обща дължина повече от 150 символаНапиши етикети.", "you-can-modify-the-url-which-identifies":"Можете да промените URL адреса , който идентифицира страницата или публикацията използвайки ключови думи, но с обща дължина не повече от 150 символа.",
"this-field-can-help-describe-the-content": " В това поле може да опишете съдържанието с няколко думи. Но с обща дължина повече от 150 символа.", "this-field-can-help-describe-the-content": " В това поле може да опишете съдържанието с няколко думи, но с обща дължина не повече от 150 символа.",
"write-the-tags-separeted-by-comma": "Добавянето на етикети става чрез добавянето на запетая. Например: TAG1, tag2, tag3", "write-the-tags-separeted-by-comma": "Добавянето на етикети става чрез добавянето на запетая. Например: TAG1, tag2, tag3",
"delete-the-user-and-all-its-posts":"Изтриване на потребителя и всички негови публикации.", "delete-the-user-and-all-its-posts":"Изтриване на потребителя и всички негови публикации.",
"delete-the-user-and-associate-its-posts-to-admin-user": "Изтриване на потребителя, без изтриване на неговите публикации.", "delete-the-user-and-associate-its-posts-to-admin-user": "Изтриване на потребителя, без изтриване на неговите публикации.",
@ -139,14 +139,14 @@
"congratulations-you-have-successfully-installed-your-bludit": "Поздравления вие успешно инсталирахте вашият **Bludit**", "congratulations-you-have-successfully-installed-your-bludit": "Поздравления вие успешно инсталирахте вашият **Bludit**",
"whats-next": "Какво следва?", "whats-next": "Какво следва?",
"manage-your-bludit-from-the-admin-panel": "Управлявайте вашият Bludit от [Администраторският панел](./admin/)", "manage-your-bludit-from-the-admin-panel": "Управлявайте вашият Bludit от [Администраторският панел](./admin/)",
"follow-bludit-on": "Follow Bludit on", "follow-bludit-on": "Последвайте Bludit в",
"visit-the-support-forum": "Visit the [forum](http://forum.bludit.com) for support", "visit-the-support-forum": "Посети [форум](http://forum.bludit.com) за подръжка",
"read-the-documentation-for-more-information": "Прочети [документацията](http://docs.bludit.com) за повече информация", "read-the-documentation-for-more-information": "Прочети [документацията](http://docs.bludit.com) за повече информация",
"share-with-your-friends-and-enjoy": "Споделете с приятелите си", "share-with-your-friends-and-enjoy": "Споделете с приятелите си",
"the-page-has-not-been-found": "Страницата не е намерена.", "the-page-has-not-been-found": "Страницата не е намерена.",
"error": "Грешна", "error": "Грешна",
"bludit-installer": "Bludit Installer", "bludit-installer": "Bludit Инстлатор",
"welcome-to-the-bludit-installer": "Welcome to the Bludit installer", "welcome-to-the-bludit-installer": "Добре дошли в Bludit инсталатор",
"complete-the-form-choose-a-password-for-the-username-admin": "Попълнете формуляра, или парола за потребителското име « admin »", "complete-the-form-choose-a-password-for-the-username-admin": "Попълнете формуляра, или парола за потребителското име « admin »",
"password-visible-field": "Парола във видимото поле!", "password-visible-field": "Парола във видимото поле!",
"install": "Инсталиране", "install": "Инсталиране",
@ -172,7 +172,7 @@
"configure": "Конфигориране", "configure": "Конфигориране",
"uninstall": "Премахване", "uninstall": "Премахване",
"change-password": "Промяна на парола:", "change-password": "Промяна на парола:",
"to-schedule-the-post-just-select-the-date-and-time": "За да планирате поста, просто изберете датата и часа.", "to-schedule-the-post-just-select-the-date-and-time": "За да планирате поста, просто изберете дата и час.",
"write-the-tags-separated-by-commas": "Напишете етикети, разделени със запетая.", "write-the-tags-separated-by-commas": "Напишете етикети, разделени със запетая.",
"status": "Статус", "status": "Статус",
"published": "Пубиликуван", "published": "Пубиликуван",
@ -185,9 +185,9 @@
"bludit-login-access-code": "BLUDIT - Код за достъп", "bludit-login-access-code": "BLUDIT - Код за достъп",
"check-your-inbox-for-your-login-access-code":"Проверете вашата пощенска кутия за вашия код за достъп", "check-your-inbox-for-your-login-access-code":"Проверете вашата пощенска кутия за вашия код за достъп",
"there-was-a-problem-sending-the-email":"Възникна проблем при изпращането на имейла", "there-was-a-problem-sending-the-email":"Възникна проблем при изпращането на имейла",
"back-to-login-form": "Връщане вкъм входящата форма", "back-to-login-form": "Връщане към входяща форма",
"send-me-a-login-access-code": "Изпрати кода за достъп", "send-me-a-login-access-code": "Изпрати код за достъп",
"get-login-access-code": "Вземете кода за достъп", "get-login-access-code": "Вземете код за достъп",
"email-notification-login-access-code": "<p>Това е уведомление от вашия сайт {{WEBSITE_NAME}}</p><p>Вашият код за достъп , последвайте следващата връзката:</p><p>{{LINK}}</p>", "email-notification-login-access-code": "<p>Това е уведомление от вашия сайт {{WEBSITE_NAME}}</p><p>Вашият код за достъп , последвайте следващата връзката:</p><p>{{LINK}}</p>",
"there-are-no-scheduled-posts": "Не са открити планирани публикации.", "there-are-no-scheduled-posts": "Не са открити планирани публикации.",
"show-password": "Покажи паролата", "show-password": "Покажи паролата",

View File

@ -3,7 +3,7 @@
{ {
"native": "Deutsch (Deutschland)", "native": "Deutsch (Deutschland)",
"english-name": "German", "english-name": "German",
"last-update": "2015-11-05", "last-update": "2015-11-13",
"author": "Edi Goetschel", "author": "Edi Goetschel",
"email": "egoetschel@clickwork.ch", "email": "egoetschel@clickwork.ch",
"website": "http://www.clickwork.ch" "website": "http://www.clickwork.ch"
@ -41,8 +41,8 @@
"profile": "Profil", "profile": "Profil",
"email": "E-Mail", "email": "E-Mail",
"settings": "Einstellungen", "settings": "Einstellungen",
"general": "Allgemeine Einstellungen", "general": "Allgemein",
"advanced": "Erweiterte Einstellungen", "advanced": "Erweitert",
"regional": "Lokalisierung", "regional": "Lokalisierung",
"about": "Systeminformation", "about": "Systeminformation",
"login": "Anmelden", "login": "Anmelden",
@ -163,7 +163,7 @@
"scheduled": "Veröffentlichung geplant.", "scheduled": "Veröffentlichung geplant.",
"publish": "Veröffentlichen", "publish": "Veröffentlichen",
"please-check-your-theme-configuration": "Bitte die Einstellungen des Themes prüfen.", "please-check-your-theme-configuration": "Bitte die Einstellungen des Themes prüfen.",
"plugin-label": "Plugin-Bezeichnung", "plugin-label": "Titel auf der Website",
"enabled": "Aktiviert", "enabled": "Aktiviert",
"disabled": "Deaktiviert", "disabled": "Deaktiviert",
"cli-mode": "CLI-Modus", "cli-mode": "CLI-Modus",
@ -193,8 +193,8 @@
"show-password": "Passwort zeigen", "show-password": "Passwort zeigen",
"edit-or-remove-your=pages": "Seiten bearbeiten oder löschen.", "edit-or-remove-your=pages": "Seiten bearbeiten oder löschen.",
"edit-or-remove-your-blogs-posts": "Beiträge bearbeiten oder löschen.", "edit-or-remove-your-blogs-posts": "Beiträge bearbeiten oder löschen.",
"general-settings": "Allgemeine Einnstellungen", "general-settings": "Allgemein",
"advanced-settings": "Erweiterte Einnstellungen", "advanced-settings": "Erweitert",
"manage-users": "Benutzerverwaltung", "manage-users": "Benutzerverwaltung",
"view-and-edit-your-profile": "Profil anschauen und bearbeiten.", "view-and-edit-your-profile": "Profil anschauen und bearbeiten.",
"password-must-be-at-least-6-characters-long": "Das Passwort muss mindestens 6 Zeichen lang sein", "password-must-be-at-least-6-characters-long": "Das Passwort muss mindestens 6 Zeichen lang sein",

View File

@ -203,5 +203,8 @@
"images": "Images", "images": "Images",
"upload-image": "Upload image", "upload-image": "Upload image",
"drag-and-drop-or-click-here": "Drag and drop or click here", "drag-and-drop-or-click-here": "Drag and drop or click here",
"insert-image": "Insert image" "insert-image": "Insert image",
"supported-image-file-types": "Supported image file types",
"date-format": "Date format",
"time-format": "Time format"
} }

0
languages/fr_FR.json Executable file → Normal file
View File

View File

@ -3,7 +3,7 @@
{ {
"native": "Traditional Chinese (Taiwan)", "native": "Traditional Chinese (Taiwan)",
"english-name": "Traditional Chinese", "english-name": "Traditional Chinese",
"last-update": "2015-11-05", "last-update": "2015-11-10",
"author": "Ethan Chen", "author": "Ethan Chen",
"email": "ethan42411@gmail.com", "email": "ethan42411@gmail.com",
"website": "http://single4.ml" "website": "http://single4.ml"
@ -202,5 +202,6 @@
"images": "圖片", "images": "圖片",
"upload-image": "上傳圖片", "upload-image": "上傳圖片",
"drag-and-drop-or-click-here": "拖曳您的圖片到這裡或是點選這裡選擇圖片", "drag-and-drop-or-click-here": "拖曳您的圖片到這裡或是點選這裡選擇圖片",
"insert-image": "插入圖片" "insert-image": "插入圖片",
"supported-image-file-types": "可以上傳的檔案格式"
} }

View File

@ -0,0 +1,12 @@
{
"plugin-data":
{
"name": "About",
"description": "Little description about your site or yourself.",
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.6",
"releaseDate": "2015-11-13"
}
}

47
plugins/about/plugin.php Normal file
View File

@ -0,0 +1,47 @@
<?php
class pluginAbout extends Plugin {
public function init()
{
$this->dbFields = array(
'label'=>'About',
'text'=>''
);
}
public function form()
{
global $Language;
$html = '<div>';
$html .= '<label>'.$Language->get('Plugin label').'</label>';
$html .= '<input name="label" id="jslabel" type="text" value="'.$this->getDbField('label').'">';
$html .= '</div>';
$html .= '<div>';
$html .= '<label>'.$Language->get('About').'</label>';
$html .= '<textarea name="text" id="jstext">'.$this->getDbField('text').'</textarea>';
$html .= '</div>';
return $html;
}
public function siteSidebar()
{
global $Language;
global $dbTags;
global $Url;
$filter = $Url->filters('tag');
$html = '<div class="plugin plugin-about">';
$html .= '<h2>'.$this->getDbField('label').'</h2>';
$html .= '<div class="plugin-content">';
$html .= $this->getDbField('text');
$html .= '</div>';
$html .= '</div>';
return $html;
}
}

View File

@ -8,4 +8,4 @@
"enable-disqus-on-pages": "Disqus auf Seiten verwenden", "enable-disqus-on-pages": "Disqus auf Seiten verwenden",
"enable-disqus-on-posts": "Disqus bei Beiträgen verwenden", "enable-disqus-on-posts": "Disqus bei Beiträgen verwenden",
"enable-disqus-on-default-home-page": "Disqus auf der Hauptseite verwenden" "enable-disqus-on-default-home-page": "Disqus auf der Hauptseite verwenden"
} }

View File

@ -6,8 +6,8 @@
"author": "Bludit", "author": "Bludit",
"email": "", "email": "",
"website": "https://github.com/dignajar/bludit-plugins", "website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3", "version": "0.6",
"releaseDate": "2015-10-02" "releaseDate": "2015-11-13"
}, },
"disqus-shortname": "Disqus shortname", "disqus-shortname": "Disqus shortname",
"enable-disqus-on-pages": "Enable Disqus on pages", "enable-disqus-on-pages": "Enable Disqus on pages",

View File

@ -2,12 +2,7 @@
"plugin-data": "plugin-data":
{ {
"name": "System komentarzy - Disqus", "name": "System komentarzy - Disqus",
"description": "System komentarzy Disqus przechowuje komentarze dla serwisów internetowych. Korzystanie z tej wtyczki wymaga rejestracji w serwisie disqus.com.", "description": "System komentarzy Disqus przechowuje komentarze dla serwisów internetowych. Korzystanie z tej wtyczki wymaga rejestracji w serwisie disqus.com."
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3",
"releaseDate": "2015-10-02"
}, },
"disqus-shortname": "Nazwa użytkownika Disqus", "disqus-shortname": "Nazwa użytkownika Disqus",
"enable-disqus-on-pages": "Włącz Disqus na wszystkich stronach", "enable-disqus-on-pages": "Włącz Disqus na wszystkich stronach",

View File

@ -2,15 +2,10 @@
"plugin-data": "plugin-data":
{ {
"name": "Google-Tools", "name": "Google-Tools",
"description": "Dieses Plugin erzeugt den Meta-Tag, um deine Website mit den Google Webmasters Tools zu verbinden, und den Code für das JavaScript, der benötigt wird, um Google Analytics verwenden zu können.", "description": "Dieses Plugin erzeugt den Meta-Tag, um deine Website mit den Google Webmasters Tools zu verbinden, und den Code für das JavaScript, der benötigt wird, um Google Analytics verwenden zu können."
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3",
"releaseDate": "2015-10-02"
}, },
"google-webmasters-tools": "Google Webmasters Tools", "google-webmasters-tools": "Google Webmasters Tools",
"google-analytics-tracking-id": "Google Analytics ID", "google-analytics-tracking-id": "Google Analytics ID",
"complete-this-field-with-the-google-site-verification": "Gib hier den Google Analytics-Tracking-Code ein, um zu bestätigen, dass die Website Dir gehört.", "complete-this-field-with-the-google-site-verification": "Gib hier den Google Analytics-Tracking-Code ein, um zu bestätigen, dass die Website Dir gehört.",
"complete-this-field-with-the-tracking-id": "Gib hier die Tracking ID ein." "complete-this-field-with-the-tracking-id": "Gib hier die Tracking ID ein."
} }

View File

@ -6,8 +6,8 @@
"author": "Bludit", "author": "Bludit",
"email": "", "email": "",
"website": "https://github.com/dignajar/bludit-plugins", "website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3", "version": "0.6",
"releaseDate": "2015-10-02" "releaseDate": "2015-11-13"
}, },
"google-webmasters-tools": "Google Webmasters tools", "google-webmasters-tools": "Google Webmasters tools",
"google-analytics-tracking-id": "Google Analytics Tracking ID", "google-analytics-tracking-id": "Google Analytics Tracking ID",

View File

@ -2,12 +2,7 @@
"plugin-data": "plugin-data":
{ {
"name": "Narzędzia Google", "name": "Narzędzia Google",
"description": "Wtyczka ta generuje kod metatagów pozwalający zweryfikować stronę z serwisem Narzędzia Google Dla Webmasterów oraz wygenerować kod JavaScript monitorujący ruch z usługą Google Analytics.", "description": "Wtyczka ta generuje kod metatagów pozwalający zweryfikować stronę z serwisem Narzędzia Google Dla Webmasterów oraz wygenerować kod JavaScript monitorujący ruch z usługą Google Analytics."
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3",
"releaseDate": "2015-10-02"
}, },
"google-webmasters-tools": "Google Webmasters tools", "google-webmasters-tools": "Google Webmasters tools",
"google-analytics-tracking-id": "Google Analytics Tracking ID", "google-analytics-tracking-id": "Google Analytics Tracking ID",

View File

@ -6,8 +6,8 @@
"author": "Bludit", "author": "Bludit",
"email": "", "email": "",
"website": "https://github.com/dignajar/bludit-plugins", "website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3", "version": "0.6",
"releaseDate": "2015-10-02" "releaseDate": "2015-11-13"
}, },
"enable-maintence-mode": "Enable maintence mode", "enable-maintence-mode": "Enable maintence mode",

View File

@ -2,12 +2,7 @@
"plugin-data": "plugin-data":
{ {
"name": "Tryb konserwacji", "name": "Tryb konserwacji",
"description": "Przełącz stronę w tryb konwersacji (wówczas działać będzie tylko kokpit).", "description": "Przełącz stronę w tryb konwersacji (wówczas działać będzie tylko kokpit)."
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3",
"releaseDate": "2015-10-02"
}, },
"enable-maintence-mode": "Włącz tryb konwersacji", "enable-maintence-mode": "Włącz tryb konwersacji",

View File

@ -6,7 +6,7 @@
"author": "Bludit", "author": "Bludit",
"email": "", "email": "",
"website": "https://github.com/dignajar/bludit-plugins", "website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3", "version": "0.6",
"releaseDate": "2015-10-02" "releaseDate": "2015-11-13"
} }
} }

View File

@ -2,11 +2,6 @@
"plugin-data": "plugin-data":
{ {
"name": "Open Graph", "name": "Open Graph",
"description": "Protokół Open Graph zezwala stronie na stosowanie meta tagów używanych w serwisach społecznościowych.", "description": "Protokół Open Graph zezwala stronie na stosowanie meta tagów używanych w serwisach społecznościowych."
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3",
"releaseDate": "2015-10-02"
} }
} }

View File

@ -4,4 +4,4 @@
"name": "開放社交關係圖", "name": "開放社交關係圖",
"description": "開放社交關係圖協定可以讓任何網頁變成豐富的物件" "description": "開放社交關係圖協定可以讓任何網頁變成豐富的物件"
} }
} }

View File

@ -1,8 +1,8 @@
{ {
"plugin-data": "plugin-data":
{ {
"name": "Liste aller Seiten", "name": "Anzeige aller Seiten",
"description": "Auflistung aller Seiten." "description": "Anzeige aller Seiten in der Seitenleiste (bei Themes mit Seitenleiste)."
}, },
"home": "Hauptseite", "home": "Hauptseite",

View File

@ -6,10 +6,10 @@
"author": "Bludit", "author": "Bludit",
"email": "", "email": "",
"website": "https://github.com/dignajar/bludit-plugins", "website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3", "version": "0.6",
"releaseDate": "2015-10-02" "releaseDate": "2015-11-13"
}, },
"home": "Home", "home": "Home",
"show-home-link": "Show home link" "show-home-link": "Show home link"
} }

View File

@ -5,6 +5,6 @@
"description": "Constitue un menu avec les liens des pages dans la colonne du thème." "description": "Constitue un menu avec les liens des pages dans la colonne du thème."
}, },
"home": "Accueil", "home": "Accueil",
"show-home-link": "Afficher le lien de la page daccueil" "show-home-link": "Afficher le lien de la page daccueil"
} }

View File

@ -2,14 +2,9 @@
"plugin-data": "plugin-data":
{ {
"name": "Lista stron", "name": "Lista stron",
"description": "Wyświetla listę stron znajdujących się w witrynie.", "description": "Wyświetla listę stron znajdujących się w witrynie."
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3",
"releaseDate": "2015-10-02"
}, },
"home": "Strona główna", "home": "Strona główna",
"show-home-link": "Pokaż odnośnik do strony głównek" "show-home-link": "Pokaż odnośnik do strony głównek"
} }

View File

@ -5,6 +5,6 @@
"description": "顯示所有頁面的列表" "description": "顯示所有頁面的列表"
}, },
"home": "首頁", "home": "首頁",
"show-home-link": "顯示首頁連結" "show-home-link": "顯示首頁連結"
} }

View File

@ -54,24 +54,32 @@ class pluginPages extends Plugin {
$parents = $pagesParents[NO_PARENT_CHAR]; $parents = $pagesParents[NO_PARENT_CHAR];
foreach($parents as $parent) foreach($parents as $parent)
{ {
// Print the parent // Check if the parent is published
$html .= '<li>'; if( $parent->published() )
$html .= '<a class="parent '.( ($parent->key()==$Url->slug())?' active':'').'" href="'.$parent->permalink().'">'.$parent->title().'</a>';
// Check if the parent has children
if(isset($pagesParents[$parent->key()]))
{ {
$children = $pagesParents[$parent->key()]; // Print the parent
$html .= '<li>';
$html .= '<a class="parent '.( ($parent->key()==$Url->slug())?' active':'').'" href="'.$parent->permalink().'">'.$parent->title().'</a>';
// Print children // Check if the parent has children
$html .= '<ul>'; if(isset($pagesParents[$parent->key()]))
foreach($children as $child)
{ {
$html .= '<li>'; $children = $pagesParents[$parent->key()];
$html .= '<a class="children '.( ($child->key()==$Url->slug())?' active':'').'" href="'.$child->permalink().'">'.$child->title().'</a>';
$html .= '</li>'; // Print children
$html .= '<ul class="children">';
foreach($children as $child)
{
// Check if the child is published
if( $child->published() )
{
$html .= '<li class="child">';
$html .= '<a class="'.( ($child->key()==$Url->slug())?' active':'').'" href="'.$child->permalink().'">'.$child->title().'</a>';
$html .= '</li>';
}
}
$html .= '</ul>';
} }
$html .= '</ul>';
} }
} }

View File

@ -6,4 +6,4 @@
}, },
"toolbar": "Werkzeugleiste", "toolbar": "Werkzeugleiste",
"tab-size": "Abstände der Tabstopps" "tab-size": "Abstände der Tabstopps"
} }

View File

@ -6,8 +6,8 @@
"author": "NextStepWebs", "author": "NextStepWebs",
"email": "", "email": "",
"website": "https://github.com/NextStepWebs/simplemde-markdown-editor", "website": "https://github.com/NextStepWebs/simplemde-markdown-editor",
"version": "1.8.0", "version": "1.8.1",
"releaseDate": "2015-10-29" "releaseDate": "2015-11-13"
}, },
"toolbar": "Toolbar", "toolbar": "Toolbar",
"tab-size": "Tab size" "tab-size": "Tab size"

View File

@ -2,12 +2,7 @@
"plugin-data": "plugin-data":
{ {
"name": "Edytor SimpleMDE", "name": "Edytor SimpleMDE",
"description": "Prosty, piękny i osadzony w JavaScript edytor markdown stworzony przez @WesCossick. Na potrzeby Bludit dostosowany przez Diego Najara.", "description": "Prosty, piękny i osadzony w JavaScript edytor markdown stworzony przez @WesCossick. Na potrzeby Bludit dostosowany przez Diego Najar."
"author": "NextStepWebs",
"email": "",
"website": "https://github.com/NextStepWebs/simplemde-markdown-editor",
"version": "1.7.4",
"releaseDate": "2015-10-02"
}, },
"toolbar": "Pasek narzędzi", "toolbar": "Pasek narzędzi",
"tab-size": "Rozmiar wcięcia" "tab-size": "Rozmiar wcięcia"

View File

@ -97,6 +97,9 @@ class pluginsimpleMDE extends Plugin {
$html .= '$("#jsaddImage").on("click", function() { $html .= '$("#jsaddImage").on("click", function() {
var filename = $("#jsimageList option:selected" ).text(); var filename = $("#jsimageList option:selected" ).text();
if(!filename.trim()) {
return false;
}
var text = simplemde.value(); var text = simplemde.value();
simplemde.value(text + "![alt text]("+filename+")" + "\n"); simplemde.value(text + "![alt text]("+filename+")" + "\n");
});'; });';

View File

@ -1,7 +1,7 @@
{ {
"plugin-data": "plugin-data":
{ {
"name": "Liste aller Schlagwörter", "name": "Anzeige aller Schlagwörter",
"description": "Anzeige aller Schlagwörter." "description": "Anzeige aller Schlagwörter in der Seitenleiste (bei Themes mit Seitenleiste)."
} }
} }

View File

@ -6,7 +6,7 @@
"author": "Bludit", "author": "Bludit",
"email": "", "email": "",
"website": "https://github.com/dignajar/bludit-plugins", "website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3", "version": "0.6",
"releaseDate": "2015-10-02" "releaseDate": "2015-11-13"
} }
} }

View File

@ -2,11 +2,6 @@
"plugin-data": "plugin-data":
{ {
"name": "Lista tagów", "name": "Lista tagów",
"description": "Wyświetla wszystkie tagi w postaci listy.", "description": "Wyświetla wszystkie tagi w postaci listy."
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.3",
"releaseDate": "2015-10-02"
} }
} }

View File

@ -14,7 +14,7 @@ class pluginTags extends Plugin {
global $Language; global $Language;
$html = '<div>'; $html = '<div>';
$html .= '<label>Plugin label</label>'; $html .= '<label>'.$Language->get('Plugin label').'</label>';
$html .= '<input name="label" id="jslabel" type="text" value="'.$this->getDbField('label').'">'; $html .= '<input name="label" id="jslabel" type="text" value="'.$this->getDbField('label').'">';
$html .= '</div>'; $html .= '</div>';

View File

@ -0,0 +1,7 @@
{
"theme-data":
{
"name": "Pure",
"description": "Einfaches und übersichtliches Theme unter Verwendung des Frameworks Pure.css."
}
}

View File

@ -2,11 +2,11 @@
"theme-data": "theme-data":
{ {
"name": "Pure", "name": "Pure",
"description": "Simple and clean theme, based on the framework Pure.css. Website: http://purecss.io", "description": "Simple and clean theme, based on the framework Pure.css.",
"author": "Bludit", "author": "Bludit",
"email": "", "email": "",
"website": "https://github.com/dignajar/bludit-themes", "website": "https://github.com/dignajar/bludit-themes",
"version": "0.3", "version": "0.6",
"releaseDate": "2015-10-02" "releaseDate": "2015-11-13"
} }
} }

View File

@ -1,7 +1,5 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="<?php echo $Site->description() ?>">
<title><?php echo $Site->title() ?></title> <title><?php echo $Site->title() ?></title>
<?php <?php
@ -22,9 +20,14 @@
// <meta name="keywords" content="HTML,CSS,XML,JavaScript"> // <meta name="keywords" content="HTML,CSS,XML,JavaScript">
if( $Url->whereAmI()=='post' ) { if( $Url->whereAmI()=='post' ) {
Theme::keywords( $Post->tags() ); Theme::keywords( $Post->tags() );
Theme::description( $Post->description() );
} }
elseif( $Url->whereAmI()=='page' ) { elseif( $Url->whereAmI()=='page' ) {
Theme::keywords( $Page->tags() ); Theme::keywords( $Page->tags() );
Theme::description( $Page->description() );
}
else {
Theme::description( $Site->description() );
} }
?> ?>

View File

@ -23,7 +23,7 @@
echo $Language->get('Posted By').' '; echo $Language->get('Posted By').' ';
if( Text::isNotEmpty($Post->authorFirstName()) && Text::isNotEmpty($Post->authorLastName()) ) { if( Text::isNotEmpty($Post->authorFirstName()) && Text::isNotEmpty($Post->authorLastName()) ) {
echo $Post->authorFirstName().', '.$Post->authorLastName(); echo $Post->authorFirstName().' '.$Post->authorLastName();
} }
else { else {
echo $Post->username(); echo $Post->username();

View File

@ -21,7 +21,7 @@
echo $Language->get('Posted By').' '; echo $Language->get('Posted By').' ';
if( Text::isNotEmpty($Post->authorFirstName()) && Text::isNotEmpty($Post->authorLastName()) ) { if( Text::isNotEmpty($Post->authorFirstName()) && Text::isNotEmpty($Post->authorLastName()) ) {
echo $Post->authorFirstName().', '.$Post->authorLastName(); echo $Post->authorFirstName().' '.$Post->authorLastName();
} }
else { else {
echo $Post->username(); echo $Post->username();