Merge pull request #9 from dignajar/master

Merge update from dignajar
This commit is contained in:
Ethan Chen 2015-12-10 10:58:30 +08:00
commit 86493d3a26
254 changed files with 5393 additions and 536 deletions

View File

@ -34,8 +34,9 @@ define('PATH_ABSTRACT', PATH_KERNEL.'abstract'.DS);
define('DOMAIN', $_SERVER['HTTP_HOST']);
// HTML PATHs
$base = empty( $_SERVER['SCRIPT_NAME'] ) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$base = dirname($base);
//$base = empty( $_SERVER['SCRIPT_NAME'] ) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
//$base = dirname($base);
$base = empty($_SERVER['REQUEST_URI']) ? dirname($_SERVER['SCRIPT_NAME']) : dirname($_SERVER['REQUEST_URI']);
if($base!=DS) {
$base = $base.'/';
@ -243,9 +244,9 @@ function install($adminPassword, $email, $timezoneOffset)
error_log($errorText, 0);
}
if(!mkdir(PATH_PLUGINS_DATABASES.'simplemde', $dirpermissions, true))
if(!mkdir(PATH_PLUGINS_DATABASES.'tinymce', $dirpermissions, true))
{
$errorText = 'Error when trying to created the directory=>'.PATH_PLUGINS_DATABASES.'simplemde';
$errorText = 'Error when trying to created the directory=>'.PATH_PLUGINS_DATABASES.'tinymce';
error_log($errorText, 0);
}
@ -408,14 +409,14 @@ function install($adminPassword, $email, $timezoneOffset)
LOCK_EX
);
// File plugins/simplemde/db.php
// File plugins/tinymce/db.php
file_put_contents(
PATH_PLUGINS_DATABASES.'simplemde'.DS.'db.php',
PATH_PLUGINS_DATABASES.'tinymce'.DS.'db.php',
$dataHead.json_encode(
array(
'position'=>0,
'tabSize'=>4,
'toolbar'=>'"bold", "italic", "heading", "|", "quote", "unordered-list", "|", "link", "image", "code", "horizontal-rule", "|", "preview", "side-by-side", "fullscreen", "guide"'
'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'
),
JSON_PRETTY_PRINT),
LOCK_EX
@ -531,12 +532,12 @@ if( $_SERVER['REQUEST_METHOD'] == 'POST' )
<link rel="shortcut icon" type="image/x-icon" href="./img/favicon.png">
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="./css/uikit.almost-flat.min.css?version=<?php echo time() ?>">
<link rel="stylesheet" type="text/css" href="./css/uikit/uikit.almost-flat.min.css?version=<?php echo time() ?>">
<link rel="stylesheet" type="text/css" href="./css/installer.css?version=<?php echo time() ?>">
<!-- Javascript -->
<script charset="utf-8" src="./js/jquery.min.js?version=<?php echo time() ?>"></script>
<script charset="utf-8" src="./js/uikit.min.js?version=<?php echo time() ?>"></script>
<script charset="utf-8" src="./js/uikit/uikit.min.js?version=<?php echo time() ?>"></script>
</head>
<body class="uk-height-1-1">

View File

@ -63,6 +63,11 @@ class Plugin {
return HTML_PATH_PLUGINS.$this->directoryName.'/';
}
public function phpPath()
{
return PATH_PLUGINS.$this->directoryName.DS;
}
// Returns the item from plugin-data.
public function getData($key)
{

View File

@ -83,7 +83,7 @@ function checkGet($args)
if( $Login->verifyUserByToken($args['username'], $args['tokenEmail']) )
{
// Renew the tokenCRFS. This token will be the same inside the session for multiple forms.
$Security->generateToken();
$Security->generateTokenCSRF();
Redirect::page('admin', 'dashboard');
return true;

View File

@ -23,7 +23,7 @@ function checkPost($args)
if( $Login->verifyUser($_POST['username'], $_POST['password']) )
{
// Renew the token. This token will be the same inside the session for multiple forms.
$Security->generateToken();
$Security->generateTokenCSRF();
Redirect::page('admin', 'dashboard');
return true;

View File

@ -0,0 +1,21 @@
<?php defined('BLUDIT') or die('Bludit CMS.');
// ============================================================================
// Check role
// ============================================================================
// ============================================================================
// Functions
// ============================================================================
// ============================================================================
// Main before POST
// ============================================================================
// ============================================================================
// POST Method
// ============================================================================
// ============================================================================
// Main after POST
// ============================================================================

View File

@ -0,0 +1,21 @@
<?php defined('BLUDIT') or die('Bludit CMS.');
// ============================================================================
// Check role
// ============================================================================
// ============================================================================
// Functions
// ============================================================================
// ============================================================================
// Main before POST
// ============================================================================
// ============================================================================
// POST Method
// ============================================================================
// ============================================================================
// Main after POST
// ============================================================================

View File

@ -34,16 +34,17 @@ foreach($themesPaths as $themePath)
{
$database = new dbJSON($langDefaultFile, false);
$databaseArray = $database->db;
$themeMetaData = $database->db['theme-data'];
// Check if exists locale language
if( Sanitize::pathFile($langLocaleFile) ) {
$database = new dbJSON($langLocaleFile, false);
$databaseArray['theme-data'] = array_merge($databaseArray['theme-data'], $database->db['theme-data']);
$themeMetaData = array_merge($themeMetaData, $database->db['theme-data']);
}
$databaseArray['theme-data']['dirname'] = basename($themePath);
$themeMetaData['dirname'] = basename($themePath);
// Theme data
array_push($themes, $databaseArray['theme-data']);
array_push($themes, $themeMetaData);
}
}

View File

@ -26,8 +26,13 @@
background: #1F5FC4;
}
.uk-form legend {
legend {
width: 70% !important;
margin-top: 40px !important;
}
legend.first-child {
margin-top: 0px !important;
}
.uk-navbar-nav > li > a {
@ -66,12 +71,16 @@ a {
color: #2672ec;
}
a.bludit-logo {
li.bludit-logo {
color: #848484 !important;
}
a.bludit-logo:hover {
background: none !important;
height: 70px;
padding: 15px;
display: block;
font-size: 14px;
font-weight: 400;
height: 35px;
line-height: 40px;
text-shadow: 0 1px 0 #fff;
}
.uk-panel-box {
@ -86,7 +95,7 @@ a.bludit-logo:hover {
}
h2.title {
margin: 20px 0;
margin: 0 0 20px 0;
}
button.delete-button {
@ -107,16 +116,22 @@ button.delete-button:hover {
height: 400px;
}
.bl-view {
margin-top: 25px;
margin-bottom: 25px;
}
/* ----------- ALERT ----------- */
#alert {
display: none;
bottom: 20px;
color: #ffffff;
display: none;
padding: 24px;
position: fixed;
right: 20px;
text-align: center;
width: 100%;
width: 350px;
z-index: 100;
}
@ -145,7 +160,7 @@ div.login-form {
/* ----------- DASHBOARD ----------- */
div.dashboard-links {
margin: 20px 0;
margin: 0 0 25px 0;
}
div.dashboard-links h4 {

View File

@ -18,6 +18,11 @@ input[type="password"] {
/* ----------- BLUDIT ----------- */
div.login-box {
width: 400px;
max-width: calc(100% - 40px);
}
div.login-box > h1 {
font-weight: lighter;
letter-spacing: 4px;
@ -26,7 +31,6 @@ div.login-box > h1 {
}
div.login-form {
width: 400px;
text-align: left;
}

View File

@ -1,2 +0,0 @@
/*! UIkit 2.23.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-progress{box-sizing:border-box;height:20px;margin-bottom:15px;background:#eee;overflow:hidden;line-height:20px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
/*! UIkit 2.23.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/*! UIkit 2.24.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}

View File

@ -1,2 +1,2 @@
/*! UIkit 2.23.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/*! UIkit 2.24.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-placeholder{margin-bottom:15px;padding:15px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.24.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-progress{box-sizing:border-box;height:20px;margin-bottom:15px;background:#f5f5f5;overflow:hidden;line-height:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);border-radius:4px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/*! UIkit 2.24.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}

View File

@ -1,2 +0,0 @@
/*! UIkit 2.23.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}

View File

@ -12,19 +12,20 @@
<link rel="shortcut icon" type="image/x-icon" href="./img/favicon.png">
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="./css/uikit.almost-flat.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/uikit/uikit.almost-flat.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/uikit/upload.almost-flat.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/uikit/form-file.almost-flat.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/uikit/placeholder.almost-flat.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/uikit/progress.almost-flat.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/default.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/jquery.datetimepicker.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/upload.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/form-file.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/placeholder.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/progress.min.css?version=<?php echo BLUDIT_VERSION ?>">
<!-- Javascript -->
<script charset="utf-8" src="./js/jquery.min.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="./js/uikit.min.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="./js/uikit/uikit.min.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="./js/uikit/upload.min.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="./js/jquery.datetimepicker.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="./js/upload.min.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<!-- Plugins -->
<?php Theme::plugins('adminHead') ?>
@ -54,77 +55,80 @@ $(document).ready(function() {
<!-- Navbar -->
<nav class="uk-navbar">
<div class="uk-container uk-container-center">
<ul class="uk-navbar-nav uk-hidden-small">
<li><a target="_blank" class="bludit-logo" href="http://www.bludit.com">BLUDIT</a></li>
<li <?php echo ($layout['view']=='dashboard')?'class="uk-active"':'' ?> ><a href="<?php echo HTML_PATH_ADMIN_ROOT.'dashboard' ?>"><i class="uk-icon-object-ungroup"></i> <?php $L->p('Dashboard') ?></a></li>
<li <?php echo ($layout['view']=='new-post')?'class="uk-active"':'' ?>><a href="<?php echo HTML_PATH_ADMIN_ROOT.'new-post' ?>"><i class="uk-icon-pencil"></i> <?php $L->p('New post') ?></a></li>
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>><a href="<?php echo HTML_PATH_ADMIN_ROOT.'new-page' ?>"><i class="uk-icon-file-text-o"></i> <?php $L->p('New page') ?></a></li>
<!-- Navbar for Desktop -->
<div class="uk-container uk-container-center uk-hidden-small">
<li class="uk-parent" data-uk-dropdown>
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><i class="uk-icon-clone"></i> <?php $L->p('Manage') ?> ▾</a>
<div class="uk-dropdown uk-dropdown-navbar">
<ul class="uk-nav uk-nav-navbar">
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><i class="uk-icon-folder-o"></i> <?php $L->p('Posts') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-pages' ?>"><i class="uk-icon-folder-o"></i> <?php $L->p('Pages') ?></a></li>
<?php if($Login->role() == 'admin') { ?>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'users' ?>"><i class="uk-icon-users"></i> <?php $L->p('Users') ?></a></li>
<?php } ?>
</ul>
<ul class="uk-navbar-nav">
<li class="bludit-logo">BLUDIT</li>
<li <?php echo ($layout['view']=='dashboard')?'class="uk-active"':'' ?> ><a href="<?php echo HTML_PATH_ADMIN_ROOT.'dashboard' ?>"><i class="uk-icon-object-ungroup"></i> <?php $L->p('Dashboard') ?></a></li>
<li <?php echo ($layout['view']=='new-post')?'class="uk-active"':'' ?>><a href="<?php echo HTML_PATH_ADMIN_ROOT.'new-post' ?>"><i class="uk-icon-pencil"></i> <?php $L->p('New post') ?></a></li>
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>><a href="<?php echo HTML_PATH_ADMIN_ROOT.'new-page' ?>"><i class="uk-icon-file-text-o"></i> <?php $L->p('New page') ?></a></li>
<li class="uk-parent" data-uk-dropdown>
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><i class="uk-icon-clone"></i> <?php $L->p('Manage') ?> ▾</a>
<div class="uk-dropdown uk-dropdown-navbar">
<ul class="uk-nav uk-nav-navbar">
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><i class="uk-icon-folder-o"></i> <?php $L->p('Posts') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-pages' ?>"><i class="uk-icon-folder-o"></i> <?php $L->p('Pages') ?></a></li>
<?php if($Login->role() == 'admin') { ?>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'users' ?>"><i class="uk-icon-users"></i> <?php $L->p('Users') ?></a></li>
<?php } ?>
</ul>
</div>
</li>
<?php if($Login->role() == 'admin') { ?>
<li class="uk-parent" data-uk-dropdown>
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-general' ?>"><i class="uk-icon-cog"></i> <?php $L->p('Settings') ?> ▾</a>
<div class="uk-dropdown uk-dropdown-navbar">
<ul class="uk-nav uk-nav-navbar">
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-general' ?>"><i class="uk-icon-th-large"></i> <?php $L->p('General') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-advanced' ?>"><i class="uk-icon-th"></i> <?php $L->p('Advanced') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-regional' ?>"><i class="uk-icon-globe"></i> <?php $L->p('Language and timezone') ?></a></li>
<li class="uk-nav-divider"></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>"><i class="uk-icon-puzzle-piece"></i> <?php $L->p('Plugins') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'themes' ?>"><i class="uk-icon-paint-brush"></i> <?php $L->p('Themes') ?></a></li>
<li class="uk-nav-divider"></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>"><?php $L->p('About') ?></a></li>
</ul>
</div>
</li>
<?php } ?>
</ul>
<div class="uk-navbar-flip">
<ul class="uk-navbar-nav">
<li class="uk-parent" data-uk-dropdown>
<?php
$profilePictureSrc = HTML_PATH_ADMIN_THEME_IMG.'default.jpg';
if(file_exists(PATH_UPLOADS_PROFILES.$Login->username().'.jpg')) {
$profilePictureSrc = HTML_PATH_UPLOADS_PROFILES.$Login->username().'.jpg';
}
?>
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$Login->username() ?>">
<img class="uk-border-circle" width="28px" src="<?php echo $profilePictureSrc ?>" alt=""> <?php echo $Login->username() ?>
</a>
<div class="uk-dropdown uk-dropdown-navbar">
<ul class="uk-nav uk-nav-navbar">
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$Login->username() ?>"><?php $L->p('Profile') ?></a></li>
<li class="uk-nav-divider"></li>
<li><a target="_blank" href="<?php echo HTML_PATH_ROOT ?>"><?php $L->p('Website') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'logout' ?>"><?php $L->p('Logout') ?></a></li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<?php if($Login->role() == 'admin') { ?>
<li class="uk-parent" data-uk-dropdown>
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-general' ?>"><i class="uk-icon-cog"></i> <?php $L->p('Settings') ?> ▾</a>
<div class="uk-dropdown uk-dropdown-navbar">
<ul class="uk-nav uk-nav-navbar">
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-general' ?>"><i class="uk-icon-th-large"></i> <?php $L->p('General') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-advanced' ?>"><i class="uk-icon-th"></i> <?php $L->p('Advanced') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-regional' ?>"><i class="uk-icon-globe"></i> <?php $L->p('Language and timezone') ?></a></li>
<li class="uk-nav-divider"></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>"><i class="uk-icon-puzzle-piece"></i> <?php $L->p('Plugins') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'themes' ?>"><i class="uk-icon-paint-brush"></i> <?php $L->p('Themes') ?></a></li>
<li class="uk-nav-divider"></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>"><?php $L->p('About') ?></a></li>
</ul>
</div>
</li>
<?php } ?>
</ul>
<div class="uk-navbar-flip uk-hidden-small">
<ul class="uk-navbar-nav">
<li class="uk-parent" data-uk-dropdown>
<?php
$profilePictureSrc = HTML_PATH_ADMIN_THEME_IMG.'default.jpg';
if(file_exists(PATH_UPLOADS_PROFILES.$Login->username().'.jpg')) {
$profilePictureSrc = HTML_PATH_UPLOADS_PROFILES.$Login->username().'.jpg';
}
?>
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$Login->username() ?>">
<img class="uk-border-circle" width="28px" src="<?php echo $profilePictureSrc ?>" alt=""> <?php echo $Login->username() ?>
</a>
<div class="uk-dropdown uk-dropdown-navbar">
<ul class="uk-nav uk-nav-navbar">
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$Login->username() ?>"><?php $L->p('Profile') ?></a></li>
<li class="uk-nav-divider"></li>
<li><a target="_blank" href="<?php echo HTML_PATH_ROOT ?>"><?php $L->p('Website') ?></a></li>
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'logout' ?>"><?php $L->p('Logout') ?></a></li>
</ul>
</div>
</li>
</ul>
</div>
<!-- Navbar for Mobile -->
<a href="#offcanvas" class="uk-navbar-toggle uk-visible-small" data-uk-offcanvas></a>
<div class="uk-navbar-brand uk-navbar-center uk-visible-small">Bludit</div>
</div>
<div class="uk-navbar-brand uk-navbar-center uk-visible-small">BLUDIT</div>
</nav>
<!-- Offcanvas -->
<!-- Offcanvas for Mobile -->
<div id="offcanvas" class="uk-offcanvas">
<div class="uk-offcanvas-bar">
<ul class="uk-nav uk-nav-offcanvas">
@ -147,7 +151,7 @@ $(document).ready(function() {
</div>
<!-- View -->
<div class="uk-container uk-container-center">
<div class="uk-container uk-container-center bl-view">
<?php
if( Sanitize::pathFile(PATH_ADMIN_VIEWS, $layout['view'].'.php') ) {
include(PATH_ADMIN_VIEWS.$layout['view'].'.php');

View File

@ -117,7 +117,9 @@ class HTML {
public static function legend($args)
{
$html = '<legend>'.$args['value'].'</legend>';
$class = empty($args['class']) ? '' : 'class="'.$args['class'].'"';
$html = '<legend '.$class.'>'.$args['value'].'</legend>';
echo $html;
}
@ -249,7 +251,7 @@ class HTML {
allcomplete: function(response) {
bar.css("width", "100%").text("100%");
progressbar.addClass("uk-hidden");
$("#jsprofilePicture").attr("src", "'.HTML_PATH_UPLOADS_PROFILES.$username.'.jpg?"+new Date().getTime());
$("#jsprofilePicture").html("<img class=\"uk-border-rounded\" src=\"'.HTML_PATH_UPLOADS_PROFILES.$username.'.jpg\">");
},
notallowed: function(file, settings) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
/*! UIkit 2.23.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/*! UIkit 2.24.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
!function(e){var t;window.UIkit&&(t=e(UIkit)),"function"==typeof define&&define.amd&&define("uikit-upload",["uikit"],function(){return t||e(UIkit)})}(function(e){"use strict";function t(o,a){function r(t,n){var o=new FormData,a=new XMLHttpRequest;if(n.before(n,t)!==!1){for(var r,i=0;r=t[i];i++)o.append(n.param,r);for(var l in n.params)o.append(l,n.params[l]);a.upload.addEventListener("progress",function(e){var t=e.loaded/e.total*100;n.progress(t,e)},!1),a.addEventListener("loadstart",function(e){n.loadstart(e)},!1),a.addEventListener("load",function(e){n.load(e)},!1),a.addEventListener("loadend",function(e){n.loadend(e)},!1),a.addEventListener("error",function(e){n.error(e)},!1),a.addEventListener("abort",function(e){n.abort(e)},!1),a.open(n.method,n.action,!0),"json"==n.type&&a.setRequestHeader("Accept","application/json"),a.onreadystatechange=function(){if(n.readystatechange(a),4==a.readyState){var t=a.responseText;if("json"==n.type)try{t=e.$.parseJSON(t)}catch(o){t=!1}n.complete(t,a)}},n.beforeSend(a),a.send(o)}}if(!e.support.ajaxupload)return this;if(a=e.$.extend({},t.defaults,a),o.length){if("*.*"!==a.allow)for(var i,l=0;i=o[l];l++)if(!n(a.allow,i.name))return"string"==typeof a.notallowed?alert(a.notallowed):a.notallowed(i,a),void 0;var s=a.complete;if(a.single){var d=o.length,f=0,p=!0;a.beforeAll(o),a.complete=function(e,t){f+=1,s(e,t),a.filelimit&&f>=a.filelimit&&(p=!1),p&&d>f?r([o[f]],a):a.allcomplete(e,t)},r([o[0]],a)}else a.complete=function(e,t){s(e,t),a.allcomplete(e,t)},r(o,a)}}function n(e,t){var n="^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$";return n="^"+n+"$",null!==t.match(new RegExp(n,"i"))}return e.component("uploadSelect",{init:function(){var e=this;this.on("change",function(){t(e.element[0].files,e.options);var n=e.element.clone(!0).data("uploadSelect",e);e.element.replaceWith(n),e.element=n})}}),e.component("uploadDrop",{defaults:{dragoverClass:"uk-dragover"},init:function(){var e=this,n=!1;this.on("drop",function(n){n.dataTransfer&&n.dataTransfer.files&&(n.stopPropagation(),n.preventDefault(),e.element.removeClass(e.options.dragoverClass),e.element.trigger("dropped.uk.upload",[n.dataTransfer.files]),t(n.dataTransfer.files,e.options))}).on("dragenter",function(e){e.stopPropagation(),e.preventDefault()}).on("dragover",function(t){t.stopPropagation(),t.preventDefault(),n||(e.element.addClass(e.options.dragoverClass),n=!0)}).on("dragleave",function(t){t.stopPropagation(),t.preventDefault(),e.element.removeClass(e.options.dragoverClass),n=!1})}}),e.support.ajaxupload=function(){function e(){var e=document.createElement("INPUT");return e.type="file","files"in e}function t(){var e=new XMLHttpRequest;return!!(e&&"upload"in e&&"onprogress"in e.upload)}function n(){return!!window.FormData}return e()&&t()&&n()}(),e.support.ajaxupload&&e.$.event.props.push("dataTransfer"),t.defaults={action:"",single:!0,method:"POST",param:"files[]",params:{},allow:"*.*",type:"text",filelimit:!1,before:function(){},beforeSend:function(){},beforeAll:function(){},loadstart:function(){},load:function(){},loadend:function(){},error:function(){},abort:function(){},progress:function(){},complete:function(){},allcomplete:function(){},readystatechange:function(){},notallowed:function(e,t){alert("Only the following file types are allowed: "+t.allow)}},e.Utils.xhrupload=t,t});

View File

@ -1,7 +1,6 @@
<!DOCTYPE HTML>
<html class="uk-height-1-1 uk-notouch">
<head>
<base href="<?php echo HTML_PATH_ADMIN_THEME ?>">
<meta charset="<?php echo CHARSET ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex,nofollow">
@ -9,15 +8,15 @@
<title>Bludit</title>
<!-- Favicon -->
<link rel="shortcut icon" type="image/x-icon" href="./img/favicon.png">
<link rel="shortcut icon" type="image/x-icon" href="<?php echo HTML_PATH_ADMIN_THEME.'img/favicon.png' ?>">
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="./css/uikit.almost-flat.min.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="./css/login.css?version=<?php echo BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="<?php echo HTML_PATH_ADMIN_THEME.'css/uikit/uikit.almost-flat.min.css?version='.BLUDIT_VERSION ?>">
<link rel="stylesheet" type="text/css" href="<?php echo HTML_PATH_ADMIN_THEME.'css/login.css?version='.BLUDIT_VERSION ?>">
<!-- Javascript -->
<script charset="utf-8" src="./js/jquery.min.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="./js/uikit.min.js?version=<?php echo BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="<?php echo HTML_PATH_ADMIN_THEME.'js/jquery.min.js?version='.BLUDIT_VERSION ?>"></script>
<script charset="utf-8" src="<?php echo HTML_PATH_ADMIN_THEME.'js/uikit/uikit.min.js?version='.BLUDIT_VERSION ?>"></script>
<!-- Plugins -->
<?php Theme::plugins('loginHead') ?>

View File

@ -7,7 +7,7 @@ HTML::formOpen(array('id'=>'add-user-form', 'class'=>'uk-form-horizontal'));
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
HTML::formInputText(array(

View File

@ -7,7 +7,7 @@ HTML::formOpen(array('id'=>'jsformplugin'));
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
// Print the plugin form

View File

@ -119,7 +119,7 @@
}
else {
foreach($_scheduledPosts as $Post) {
echo '<li><span class="label-time">'.$Post->date(SCHEDULED_DATE_FORMAT).'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-post/'.$Post->key().'">'.($Post->title()?$Post->title():'['.$Language->g('Empty title').'] ').'</a></li>';
echo '<li><span class="label-time">'.$Post->dateRaw(SCHEDULED_DATE_FORMAT).'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-post/'.$Post->key().'">'.($Post->title()?$Post->title():'['.$Language->g('Empty title').'] ').'</a></li>';
}
}
?>

View File

@ -7,7 +7,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
// Key input

View File

@ -7,7 +7,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
// Key input
@ -94,7 +94,7 @@ echo '<div class="uk-width-large-3-10">';
// Date input
HTML::formInputText(array(
'name'=>'date',
'value'=>$_Post->date(),
'value'=>$_Post->dateRaw(),
'class'=>'uk-width-1-1 uk-form-large',
'tip'=>$L->g('To schedule the post just select the date and time'),
'label'=>$L->g('Date')

View File

@ -10,7 +10,7 @@ HTML::formOpen(array('id'=>'edit-user-profile-form','class'=>'uk-form-horizontal
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
// Security token
@ -19,7 +19,7 @@ HTML::formOpen(array('id'=>'edit-user-profile-form','class'=>'uk-form-horizontal
'value'=>$_user['username']
));
HTML::legend(array('value'=>$L->g('Profile')));
HTML::legend(array('value'=>$L->g('Profile'), 'class'=>'first-child'));
HTML::formInputText(array(
'name'=>'usernameDisable',
@ -97,8 +97,18 @@ HTML::formClose();
echo '</div>';
echo '<div class="uk-width-3-10" style="margin-top: 50px; text-align: center;">';
echo '<img id="jsprofilePicture" class="uk-border-rounded" src="'.HTML_PATH_UPLOADS_PROFILES.$_user['username'].'.jpg" alt="'.$L->g('Profile picture').'">';
echo '<div id="jsprofilePicture">';
if(file_exists(PATH_UPLOADS_PROFILES.$_user['username'].'.jpg')) {
echo '<img class="uk-border-rounded" src="'.HTML_PATH_UPLOADS_PROFILES.$_user['username'].'.jpg" alt="">';
}
else {
echo '<div class="uk-block uk-border-rounded uk-block-muted uk-block-large">'.$L->g('Profile picture').'</div>';
}
echo '</div>';
HTML::profileUploader($_user['username']);
echo '</div>';
echo '</div>';

View File

@ -2,7 +2,7 @@
<form method="post" action="" class="uk-form" autocomplete="off">
<input type="hidden" id="jstoken" name="tokenCSRF" value="<?php $Security->printToken() ?>">
<input type="hidden" id="jstoken" name="tokenCSRF" value="<?php $Security->printTokenCSRF() ?>">
<div class="uk-form-row">
<input name="email" class="uk-width-1-1 uk-form-large" placeholder="<?php $L->p('Email') ?>" type="text">

View File

@ -2,7 +2,7 @@
<form method="post" action="" class="uk-form" autocomplete="off">
<input type="hidden" id="jstoken" name="tokenCSRF" value="<?php $Security->printToken() ?>">
<input type="hidden" id="jstoken" name="tokenCSRF" value="<?php $Security->printTokenCSRF() ?>">
<div class="uk-form-row">
<input name="username" class="uk-width-1-1 uk-form-large" placeholder="<?php $L->p('Username') ?>" type="text">

View File

@ -7,7 +7,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
// ---- LEFT SIDE ----

View File

@ -7,7 +7,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
// ---- LEFT SIDE ----

View File

@ -15,36 +15,36 @@ echo '
<tbody>
';
foreach($plugins['all'] as $Plugin)
{
echo '
<tr>
<td>
<div class="plugin-name">'.$Plugin->name().'</div>
<div class="plugin-links">
';
foreach($plugins['all'] as $Plugin)
{
echo '
<tr>
<td>
<div class="plugin-name">'.$Plugin->name().'</div>
<div class="plugin-links">
';
if($Plugin->installed()) {
if(method_exists($Plugin, 'form')) {
echo '<a class="configure" href="'.HTML_PATH_ADMIN_ROOT.'configure-plugin/'.$Plugin->className().'">'.$L->g('Configure').'</a>';
echo '<span class="separator"> | </span>';
}
echo '<a class="uninstall" href="'.HTML_PATH_ADMIN_ROOT.'uninstall-plugin/'.$Plugin->className().'">'.$L->g('Uninstall').'</a>';
if($Plugin->installed()) {
if(method_exists($Plugin, 'form')) {
echo '<a class="configure" href="'.HTML_PATH_ADMIN_ROOT.'configure-plugin/'.$Plugin->className().'">'.$L->g('Configure').'</a>';
echo '<span class="separator"> | </span>';
}
else {
echo '<a class="install" href="'.HTML_PATH_ADMIN_ROOT.'install-plugin/'.$Plugin->className().'">'.$L->g('Install').'</a>';
}
echo '
</div>
</td>
<td>'.$Plugin->description().'</td>
<td class="uk-text-center">'.$Plugin->version().'</td>
<td class="uk-text-center"><a targe="_blank" href="'.$Plugin->website().'">'.$Plugin->author().'</a></td>
';
echo '</tr>';
echo '<a class="uninstall" href="'.HTML_PATH_ADMIN_ROOT.'uninstall-plugin/'.$Plugin->className().'">'.$L->g('Deactivate').'</a>';
}
else {
echo '<a class="install" href="'.HTML_PATH_ADMIN_ROOT.'install-plugin/'.$Plugin->className().'">'.$L->g('Activate').'</a>';
}
echo '
</div>
</td>
<td>'.$Plugin->description().'</td>
<td class="uk-text-center">'.$Plugin->version().'</td>
<td class="uk-text-center"><a targe="_blank" href="'.$Plugin->website().'">'.$Plugin->author().'</a></td>
';
echo '</tr>';
}
echo '
</tbody>

View File

@ -6,9 +6,11 @@ HTML::formOpen(array('class'=>'uk-form-horizontal'));
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
HTML::legend(array('value'=>$L->g('General'), 'class'=>'first-child'));
HTML::formSelect(array(
'name'=>'postsperpage',
'label'=>$L->g('Posts per page'),

View File

@ -7,9 +7,11 @@ HTML::formOpen(array('class'=>'uk-form-horizontal'));
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
HTML::legend(array('value'=>$L->g('Site information'), 'class'=>'first-child'));
HTML::formInputText(array(
'name'=>'title',
'label'=>$L->g('Site title'),

View File

@ -6,9 +6,11 @@ HTML::formOpen(array('class'=>'uk-form-horizontal'));
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
HTML::legend(array('value'=>$L->g('General'), 'class'=>'first-child'));
HTML::formSelect(array(
'name'=>'language',
'label'=>$L->g('Language'),
@ -35,6 +37,8 @@ HTML::formOpen(array('class'=>'uk-form-horizontal'));
'tip'=>$L->g('you-can-use-this-field-to-define-a-set-off')
));
HTML::legend(array('value'=>$L->g('Date and time formats')));
HTML::formInputText(array(
'name'=>'dateFormat',
'label'=>$L->g('Date format'),

View File

@ -15,30 +15,30 @@ echo '
<tbody>
';
foreach($themes as $theme)
{
echo '
<tr>
<td>
<div class="plugin-name">'.$theme['name'].'</div>
<div class="plugin-links">
';
foreach($themes as $theme)
{
echo '
<tr>
<td>
<div class="plugin-name">'.$theme['name'].'</div>
<div class="plugin-links">
';
if($theme['dirname']!=$Site->theme()) {
echo '<a class="install" href="'.HTML_PATH_ADMIN_ROOT.'install-theme/'.$theme['dirname'].'">'.$L->g('Install').'</a>';
}
echo '
</div>
</td>
<td>'.$theme['description'].'</td>
<td class="uk-text-center">'.$theme['version'].'</td>
<td class="uk-text-center"><a targe="_blank" href="'.$theme['website'].'">'.$theme['author'].'</a></td>
';
echo '</tr>';
if($theme['dirname']!=$Site->theme()) {
echo '<a class="install" href="'.HTML_PATH_ADMIN_ROOT.'install-theme/'.$theme['dirname'].'">'.$L->g('Activate').'</a>';
}
echo '
</div>
</td>
<td>'.$theme['description'].'</td>
<td class="uk-text-center">'.$theme['version'].'</td>
<td class="uk-text-center"><a targe="_blank" href="'.$theme['website'].'">'.$theme['author'].'</a></td>
';
echo '</tr>';
}
echo '
</tbody>
</table>

View File

@ -7,7 +7,7 @@ HTML::formOpen(array('id'=>'edit-user-profile-form','class'=>'uk-form-horizontal
// Security token
HTML::formInputHidden(array(
'name'=>'tokenCSRF',
'value'=>$Security->getToken()
'value'=>$Security->getTokenCSRF()
));
// Hidden field username

View File

@ -15,7 +15,7 @@ $layout['controller'] = $layout['view'] = $layout['slug'] = $explodeSlug[0];
unset($explodeSlug[0]);
$layout['parameters'] = implode('/', $explodeSlug);
// Disable Magic Quotes
// Disable Magic Quotes.
// Thanks, http://stackoverflow.com/questions/517008/how-to-turn-off-magic-quotes-on-shared-hosting
if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) ) )
{
@ -24,18 +24,19 @@ if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) )
$_COOKIE = array_map('stripslashes', $_COOKIE);
}
// AJAX
// --- AJAX ---
if( $layout['slug']==='ajax' )
{
// Check if the user is loggued.
if($Login->isLogged())
{
// Load AJAX file
// Load the ajax file.
if( Sanitize::pathFile(PATH_AJAX, $layout['parameters'].'.php') ) {
include(PATH_AJAX.$layout['parameters'].'.php');
}
}
}
// ADMIN AREA
// --- ADMIN AREA ---
else
{
// Boot rules
@ -47,6 +48,10 @@ else
include(PATH_RULES.'99.themes.php');
include(PATH_RULES.'99.security.php');
// Page not found.
// User not logged.
// Slug is login.
// Slug is login-email.
if($Url->notFound() || !$Login->isLogged() || ($Url->slug()==='login') || ($Url->slug()==='login-email') )
{
$layout['controller'] = 'login';
@ -59,28 +64,29 @@ else
$layout['view'] = 'login-email';
}
// Generate the token for the user not logged, when the user is loggued the token will be change.
$Security->generateToken();
// Generate the tokenCSRF for the user not logged, when the user log-in the token will be change.
$Security->generateTokenCSRF();
}
// Plugins before admin area loaded
// Load plugins before the admin area will be load.
Theme::plugins('beforeAdminLoad');
// Admin theme init.php
// Load init.php if the theme has one.
if( Sanitize::pathFile(PATH_ADMIN_THEMES, $Site->adminTheme().DS.'init.php') ) {
include(PATH_ADMIN_THEMES.$Site->adminTheme().DS.'init.php');
}
// Load controller
// Load controller.
if( Sanitize::pathFile(PATH_ADMIN_CONTROLLERS, $layout['controller'].'.php') ) {
include(PATH_ADMIN_CONTROLLERS.$layout['controller'].'.php');
}
// Load view and theme
// Load view and theme.
if( Sanitize::pathFile(PATH_ADMIN_THEMES, $Site->adminTheme().DS.$layout['template']) ) {
include(PATH_ADMIN_THEMES.$Site->adminTheme().DS.$layout['template']);
}
// Plugins after admin area loaded
// Load plugins after the admin area is loaded.
Theme::plugins('afterAdminLoad');
}

View File

@ -153,12 +153,23 @@ $Url = new Url();
$Parsedown = new ParsedownExtra();
$Security = new Security();
// HTML PATHs
$base = empty( $_SERVER['SCRIPT_NAME'] ) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$base = dirname($base);
// HTML PATHS
// The user can define the base URL.
// Left empty if you want to Bludit try to detect the base URL.
$base = '';
if( !empty($_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['SCRIPT_NAME']) && empty($base) ) {
$base = str_replace($_SERVER['DOCUMENT_ROOT'], '', $_SERVER['SCRIPT_NAME']);
$base = dirname($base);
}
elseif( empty($base) ) {
$base = empty( $_SERVER['SCRIPT_NAME'] ) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$base = dirname($base);
}
if($base!=DS) {
$base = $base.'/';
$base = trim($base, '/');
$base = '/'.$base.'/';
}
else {
// Workaround for Windows Web Servers
@ -194,11 +205,10 @@ define('PATH_THEME_JS', PATH_THEME.'js'.DS);
define('PATH_THEME_IMG', PATH_THEME.'img'.DS);
define('PATH_THEME_LANG', PATH_THEME.'languages'.DS);
// Objects with dependency
// --- Objects with dependency ---
$Language = new dbLanguage( $Site->locale() );
$Login = new Login( $dbUsers );
$Url->checkFilters( $Site->uriFilters() );
// Objects shortcuts
// --- Objects shortcuts ---
$L = $Language;

View File

@ -14,7 +14,7 @@ $pagesParents = array(NO_PARENT_CHAR=>array());
// Functions
// ============================================================================
function orderChildren($a, $b)
function sortPages($a, $b)
{
if ($a->position() == $b->position()) {
return 0;
@ -23,15 +23,12 @@ function orderChildren($a, $b)
return ($a->position() < $b->position()) ? -1 : 1;
}
function orderParent($array, $values, $offset) {
return ( array_slice($array, 0, $offset, true) + $values + array_slice($array, $offset, NULL, true) );
}
function build_page($key)
{
global $dbPages;
global $dbUsers;
global $Parsedown;
global $Site;
// Page object, content from FILE.
$Page = new Page($key);
@ -62,6 +59,13 @@ function build_page($key)
$content = Text::imgRel2Abs($content, HTML_PATH_UPLOADS); // Parse img src relative to absolute.
$Page->setField('content', $content, true);
// Date format
$pageDate = $Page->date();
$Page->setField('dateRaw', $pageDate, true);
$pageDateFormated = $Page->dateRaw( $Site->dateFormat() );
$Page->setField('date', $pageDateFormated, true);
// Parse username for the page.
if( $dbUsers->userExists( $Page->username() ) )
{
@ -110,31 +114,27 @@ function build_all_pages()
}
}
// ======== Sort pages ========
// --- SORT PAGES ---
$tmpNoParents = $pagesParents[NO_PARENT_CHAR];
// Sort parents.
$parents = $pagesParents[NO_PARENT_CHAR];
uasort($parents, 'sortPages');
// Sort children.
unset($pagesParents[NO_PARENT_CHAR]);
// Sort children
$children = $pagesParents;
$tmpPageWithParent = array();
foreach($pagesParents as $parentKey=>$childrenPages)
foreach($children as $parentKey=>$childrenPages)
{
$tmpPageWithParent[$parentKey] = $childrenPages;
uasort($tmpPageWithParent[$parentKey], 'orderChildren');
}
// Sort parents
$tmp = array();
foreach($tmpNoParents as $parentKey=>$childrenPages)
{
// DEBUG: Workaround, Esto es un bug, cuando se usa el Cli mode
// DEBUG: Se genera un padre sin index.txt y adentro hay un hijo
if(isset($pages[$parentKey])) {
$tmp = orderParent($tmp, array($parentKey=>$childrenPages), $pages[$parentKey]->position());
// If the child doesn't have a valid parent, then doesn't included them.
if(isset($pages[$parentKey]))
{
$tmpPageWithParent[$parentKey] = $childrenPages;
uasort($tmpPageWithParent[$parentKey], 'sortPages');
}
}
$pagesParents = array(NO_PARENT_CHAR=>$tmp) + $tmpPageWithParent;
$pagesParents = array(NO_PARENT_CHAR=>$parents) + $tmpPageWithParent;
}
// ============================================================================

View File

@ -63,29 +63,31 @@ function build_plugins()
{
$Plugin = new $pluginClass;
// Set Plugin data
// Default language and meta data for the plugin
$tmpMetaData = array();
$languageFilename = PATH_PLUGINS.$Plugin->directoryName().DS.'languages'.DS.'en_US.json';
$database = new dbJSON($languageFilename, false);
$tmpMetaData = $database->db['plugin-data'];
// Check if the plugin is translated.
$languageFilename = PATH_PLUGINS.$Plugin->directoryName().DS.'languages'.DS.$Site->locale().'.json';
if( Sanitize::pathFile($languageFilename) )
{
$database = new dbJSON($languageFilename, false);
}
else
{
$languageFilename = PATH_PLUGINS.$Plugin->directoryName().DS.'languages'.DS.'en_US.json';
$database = new dbJSON($languageFilename, false);
$tmpMetaData = array_merge($tmpMetaData, $database->db['plugin-data']);
}
$databaseArray = $database->db;
$Plugin->setData( $databaseArray['plugin-data'] );
// Set plugin meta data
$Plugin->setData($tmpMetaData);
// Add words to language dictionary.
unset($databaseArray['plugin-data']);
$Language->add($databaseArray);
unset($database->db['plugin-data']);
$Language->add($database->db);
// Push Plugin to array all plugins installed and not installed.
$plugins['all'][$pluginClass] = $Plugin;
// If the plugin installed
// If the plugin is installed, order by hooks.
if($Plugin->installed())
{
foreach($pluginsEvents as $event=>$value)

View File

@ -20,9 +20,9 @@ if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
$token = isset($_POST['tokenCSRF']) ? Sanitize::html($_POST['tokenCSRF']) : false;
if( !$Security->validateToken($token) )
if( !$Security->validateTokenCSRF($token) )
{
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying validate the tokenCSRF. Token CSRF ID: '.$token);
Log::set(__FILE__.LOG_SEP.'Error occurred when trying to validate the tokenCSRF. Token CSRF ID: '.$token);
// Destroy the session.
Session::destroy();

View File

@ -26,25 +26,27 @@ $langLocaleFile = PATH_THEME.'languages'.DS.$Site->locale().'.json';
$langDefaultFile = PATH_THEME.'languages'.DS.'en_US.json';
$database = false;
// Theme meta data from English
if( Sanitize::pathFile($langDefaultFile) ) {
$database = new dbJSON($langDefaultFile, false);
$themeMetaData = $database->db['theme-data'];
}
// Check if exists locale language
if( Sanitize::pathFile($langLocaleFile) ) {
$database = new dbJSON($langLocaleFile, false);
}
// Check if exists default language
elseif( Sanitize::pathFile($langDefaultFile) ) {
$database = new dbJSON($langDefaultFile, false);
}
if($database!==false)
{
$databaseArray = $database->db;
// Theme data
$theme = $databaseArray['theme-data'];
$theme = $themeMetaData;
// Remove theme data
// Remove theme meta data
unset($databaseArray['theme-data']);
// Add new words from language theme
// Add new words/phrase from language theme
$Language->add($databaseArray);
}

View File

@ -150,6 +150,30 @@ class dbSite extends dbJSON
return $this->getField('url');
}
public function domain()
{
// If the URL field is not set, try detect the domain.
if(Text::isEmpty( $this->url() ))
{
if(!empty($_SERVER['HTTPS'])) {
$protocol = 'https://';
}
else {
$protocol = 'http://';
}
$domain = $_SERVER['HTTP_HOST'];
return $protocol.$domain.HTML_PATH_ROOT;
}
// Parse the domain from the field URL.
$parse = parse_url($this->url());
$domain = $parse['scheme']."://".$parse['host'];
return $domain;
}
// Returns TRUE if the cli mode is enabled, otherwise FALSE.
public function cliMode()
{

View File

@ -25,9 +25,14 @@ class Date {
// Format a local time/date according to locale settings.
public static function format($date, $currentFormat, $outputFormat)
{
// Returns a new DateTime instance or FALSE on failure.
$Date = DateTime::createFromFormat($currentFormat, $date);
return $Date->format($outputFormat);
if($Date!==false) {
return $Date->format($outputFormat);
}
return false;
}
public static function timeago($time)

View File

@ -165,11 +165,13 @@ class Text {
return ucfirst($string);
}
// Find position of first occurrence of substring in a string.
public static function strpos($string, $substring)
// Find position of first occurrence of substring in a string otherwise returns FALSE.
public static function stringPosition($string, $substring)
{
if(MB_STRING)
if(MB_STRING) {
return mb_strpos($string, $substring, 0, 'UTF-8');
}
return strpos($string, $substring);
}

View File

@ -79,13 +79,18 @@ class Page extends fileContent
}
// Returns the post date according to locale settings and format settings.
public function date($format=false)
public function date()
{
$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) {
// En %d %b deberia ir el formato definido por el usuario
return Date::format($date, DB_DATE_FORMAT, '%d %B');
return Date::format($date, DB_DATE_FORMAT, $format);
}
return $date;
@ -147,6 +152,7 @@ class Page extends fileContent
return '/'.$htmlPath.'/'.$tmp;
}
// Returns the parent key, if the page doesn't have a parent returns FALSE.
public function parentKey()
{
$explode = explode('/', $this->getField('key'));
@ -157,6 +163,18 @@ class Page extends fileContent
return false;
}
// Returns the parent method output, if the page doesn't have a parent returns FALSE.
public function parentMethod($method)
{
global $pages;
if( isset($pages[$this->parentKey()]) ) {
return $pages[$this->parentKey()]->{$method}();
}
return false;
}
public function children()
{
$tmp = array();

View File

@ -19,16 +19,18 @@ class Security extends dbJSON
// ====================================================
// Generate and save the token in Session.
public function generateToken()
public function generateTokenCSRF()
{
$token = Text::randomText(8);
$token = sha1($token);
Log::set(__METHOD__.LOG_SEP.'New tokenCSRF was generated '.$token);
Session::set('tokenCSRF', $token);
}
// Validate the token.
public function validateToken($token)
public function validateTokenCSRF($token)
{
$sessionToken = Session::get('tokenCSRF');
@ -36,12 +38,12 @@ class Security extends dbJSON
}
// Returns the token.
public function getToken()
public function getTokenCSRF()
{
return Session::get('tokenCSRF');
}
public function printToken()
public function printTokenCSRF()
{
echo Session::get('tokenCSRF');
}

View File

@ -32,7 +32,7 @@ class Url
$this->filters = array();
}
// Filters may be changed for different languages
// Filters change for different languages
// Ex (Spanish): Array('post'=>'/publicacion/', 'tag'=>'/etiqueta/', ....)
// Ex (English): Array('post'=>'/post/', 'tag'=>'/tag/', ....)
public function checkFilters($filters)
@ -41,35 +41,33 @@ class Url
$adminFilter['admin'] = $filters['admin'];
unset($filters['admin']);
// Sort by filter length
// Sort filters by length
uasort($filters, array($this, 'sortByLength'));
// Push the admin filter first
$filters = $adminFilter + $filters;
$this->filters = $filters;
foreach($filters as $filterKey=>$filter)
foreach($filters as $filterName=>$filterURI)
{
// getSlugAfterFilter() set the variable $this->slug
$slug = $this->getSlugAfterFilter($filter);
// $slug will be FALSE if the filter is not included in the URI.
$slug = $this->getSlugAfterFilter($filterURI);
// If the filter is included in the URI.
if($slug!==false)
{
// Where Am I is the filter now, because is in the URI.
$this->whereAmI = $filterKey;
$this->slug = $slug;
$this->whereAmI = $filterName;
// If the slug empty
if(empty($slug))
// If the slug is empty
if(Text::isEmpty($slug))
{
if($filter==='/')
if($filterURI==='/')
{
$this->whereAmI = 'home';
break;
}
if($filter===$adminFilter['admin'])
if($filterURI===$adminFilter['admin'])
{
$this->whereAmI = 'admin';
$this->slug = 'dashboard';
@ -140,43 +138,50 @@ class Url
$this->notFound = $error;
}
public function getDomain()
{
if(!empty($_SERVER['HTTPS'])) {
$protocol = 'https://';
}
else {
$protocol = 'http://';
}
$domain = $_SERVER['HTTP_HOST'];
return $protocol.$domain.HTML_PATH_ROOT;
}
// Return the slug after the $filter
// Returns the slug after the $filter, the slug could be an empty string
// If the filter is not included in the uri, returns FALSE
// If the filter is included in the uri and the slug is not empty, returns the slug
// ex: http://domain.com/cms/$filter/slug123 => slug123
// ex: http://domain.com/cms/$filter/name/lastname => name/lastname
// ex: http://domain.com/cms/$filter/ => empty string
// ex: http://domain.com/cms/$filter => empty string
private function getSlugAfterFilter($filter)
{
if($filter=='/') {
$filter = HTML_PATH_ROOT;
}
// Remove both slash from the filter
$filter = trim($filter, '/');
// Add to the filter the root directory
$filter = HTML_PATH_ROOT.$filter;
// Check if the filter is in the uri.
$position = Text::strpos($this->uri, $filter);
$position = Text::stringPosition($this->uri, $filter);
// If the position is FALSE, the filter isn't in the URI.
if($position===false) {
return false;
}
// Start position to cut
$start = $position + Text::length($filter);
// End position to cut
$end = $this->uriStrlen;
// Get the slug from the URI
$slug = Text::cut($this->uri, $start, $end);
$this->slug = trim($slug, '/');
return $slug;
if(Text::isEmpty($slug)) {
return '';
}
if($slug[0]=='/') {
return ltrim($slug, '/');
}
if($filter==HTML_PATH_ROOT) {
return $slug;
}
return false;
}
private function sortByLength($a, $b)

View File

@ -15,7 +15,7 @@
"confirm-password": "Повтори паролата",
"editor": "Редактор",
"dashboard": "Администраторски панел",
"role": "Потребител",
"role": "Вид потребител",
"post": "Публикация",
"posts": "Публикаций",
"users": "Потребители",
@ -164,7 +164,7 @@
"scheduled": "Планирано",
"publish": "Публикувай",
"please-check-your-theme-configuration": "Моля, проверете конфигурацията на вашата тема.",
"plugin-label": "Plugin етикет",
"plugin-label": "Заглавие плъгин",
"enabled": "Разреши",
"disabled": "Забрани",
"cli-mode": "Режим CLI",
@ -184,12 +184,12 @@
"sender-email": "Имейл на изпращача",
"emails-will-be-sent-from-this-address":"Имейлите ще бъдат изпратени от този адрес.",
"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":"Възникна проблем при изпращането на имейла",
"back-to-login-form": "Връщане към входяща форма",
"send-me-a-login-access-code": "Изпрати код за достъп",
"get-login-access-code": "Вземете код за достъп",
"email-notification-login-access-code": "<p>Това е уведомление от вашия сайт {{WEBSITE_NAME}}</p><p>Вашият код за достъп , последвайте следващата връзката:</p><p>{{LINK}}</p>",
"get-login-access-code": "Изпрати код за достъп",
"email-notification-login-access-code": "<p>Това е уведомление от {{WEBSITE_NAME}}.</p><p>Вашият код за достъп, моля последвайте следващата връзка!</p><p>{{LINK}}</p>",
"there-are-no-scheduled-posts": "Не са открити планирани публикации.",
"show-password": "Покажи паролата",
"edit-or-remove-your=pages": "Промяна или премахване на страници.",
@ -205,7 +205,7 @@
"drag-and-drop-or-click-here": "Влачите и пускате или натиснете тук",
"insert-image": "Вмъкни снимка",
"supported-image-file-types": "Поддържани файлови формати за снимки",
"date-format": "Формат за дата",
"date-format": "Формат дата ",
"time-format": "Формат за време",
"chat-with-developers-and-users-on-gitter":"Чат с разработчици и потребители на [Gitter](https://gitter.im/dignajar/bludit)",
"this-is-a-brief-description-of-yourself-our-your-site":"Това е кратко описание на вашия сайт, за да се промени този текст отидете в админ панела, настройки плъгини, конфигуриране на плъгин About.",
@ -213,6 +213,11 @@
"the-about-page-is-very-important": "The about page is an important and powerful tool for potential clients and partners. For those who wonder who is behind the website, your About page is the first source of information.",
"change-this-pages-content-on-the-admin-panel": "Промяна на съдържанието на страницата се извършва от админ панела, управление, страници и кликнете върху страницата.",
"about-your-site-or-yourself": "За твоя сайт или за теб",
"welcome-to-bludit": "Добре дошли в Bludit"
"welcome-to-bludit": "Добре дошли в Bludit",
"site-information": "Информация за сайта",
"date-and-time-formats": "Формат дата и час",
"activate": "Активиране",
"deactivate": "Деактивиране"
}

View File

@ -3,7 +3,7 @@
{
"native": "Deutsch (Deutschland)",
"english-name": "German",
"last-update": "2015-11-18",
"last-update": "2015-11-22",
"author": "Edi Goetschel",
"email": "egoetschel@clickwork.ch",
"website": "http://www.clickwork.ch"
@ -44,7 +44,7 @@
"general": "Allgemein",
"advanced": "Erweitert",
"regional": "Lokalisierung",
"about": "Systeminformation",
"about": "Über",
"login": "Anmelden",
"logout": "Abmelden",
"manage": "Verwaltung",
@ -149,7 +149,7 @@
"welcome-to-the-bludit-installer": "Willkommen beim Bludit-Installer!",
"complete-the-form-choose-a-password-for-the-username-admin": "Bitte ein Passwort für den Benutzer \"admin\" wählen<br>und eine E-Mail-Adresse eingeben.",
"password-visible-field": "Das Passwort wird in Klartext angezeigt!",
"install": "Aktivieren",
"install": "Installieren",
"choose-your-language": "Sprache wählen",
"next": "Weiter",
"the-password-field-is-empty": "Das Passwort-Feld ist leer.",
@ -170,7 +170,7 @@
"command-line-mode": "Kommandozeilen-Modus",
"enable-the-command-line-mode-if-you-add-edit": "Verwende den Kommandozeilen-Modus, wenn du Beiträge und Seiten im Dateisystem hinzufügen, ändern oder löschen möchtest.",
"configure": "Konfiguration",
"uninstall": "Deaktivieren",
"uninstall": "Deinstallieren",
"change-password": "Neues Passwort",
"to-schedule-the-post-just-select-the-date-and-time": "Um einen Beitrag zu einem bestimmten Zeitpunkt zu veröffentlichen, Datum und Zeit wählen.",
"write-the-tags-separated-by-commas": "Schlagwörter durch Kommas getrennt.",
@ -183,12 +183,12 @@
"sender-email": "Absender",
"emails-will-be-sent-from-this-address":"E-Mails werden mit dieser E-Mail-Adresse als Absender verschickt.",
"bludit-login-access-code": "BLUDIT - Zugangscode",
"check-your-inbox-for-your-login-access-code":"Der Zugangscoe wurde Dir geschickt.",
"there-was-a-problem-sending-the-email":"There was a problem sending the email",
"check-your-inbox-for-your-login-access-code":"Der Zugangscode wurde dir geschickt.",
"there-was-a-problem-sending-the-email":"Es besteht ein Pronlem mit dem Verschicken dieser E-Mail.",
"back-to-login-form": "Zurück zum Login",
"send-me-a-login-access-code": "Zugangscode zuschicken",
"get-login-access-code": "Zugangscode schicken",
"email-notification-login-access-code": "<p>This is a notification from your website {{WEBSITE_NAME}}</p><p>You request a login access code, follow the next link:</p><p>{{LINK}}</p>",
"email-notification-login-access-code": "<p>Du hast einen Zugangscode für die Website {{WEBSITE_NAME}} angefordert.</p><p>Bitte klicke folgenden Link an oder kopiere ihn, um ihn in der Adresszeile des Browsers einzugeben:</p><p>{{LINK}}</p>",
"there-are-no-scheduled-posts": "Es sind keine geplanten Beiträge vorhanden.",
"show-password": "Passwort zeigen",
"edit-or-remove-your=pages": "Seiten bearbeiten oder löschen.",
@ -206,10 +206,14 @@
"date-format": "Datumsformat",
"time-format": "Zeitformat",
"chat-with-developers-and-users-on-gitter":"Chatte mit Entwicklern und Benutzern bei [Gitter](https://gitter.im/dignajar/bludit)",
"this-is-a-brief-description-of-yourself-our-your-site":"Dies ist eine kurze Beschreibung, wer du bist, oder Deiner Website. Um diesen Text zu ändern, gehe im Admin-Panel zu den Einstellunge und konfiguriere unter \"Plugins\" das Plugin \"Über\".",
"this-is-a-brief-description-of-yourself-our-your-site":"Dies ist eine kurze Beschreibung, wer du bist, oder deiner Website. Um diesen Text zu ändern, gehe im Admin-Panel zu den Einstellungen und konfiguriere unter \"Plugins\" das Plugin \"Über\".",
"profile-picture": "Profil-Bild",
"the-about-page-is-very-important": "Die Seite \"Über mich\" ist ein wichtig und wirkungsvoll beispielsweise für zukünfige Kunden und Partner. Für alle, die wissen möchten, wer hinter der Website steht, ist die \"Über mich\"-Seite die erste Informationsquelle.",
"change-this-pages-content-on-the-admin-panel": "Den Inhalt dieser Seite kann im Admin-Panel unter \"Verwaltung\" > \"Seiten\" geändert werden.",
"the-about-page-is-very-important": "Die Seite \"Über\" ist wichtig und wirkungsvoll beispielsweise für zukünfige Kunden und Partner. Für alle, die wissen möchten, wer hinter der Website steht, ist die \"Über\"-Seite die erste Informationsquelle.",
"change-this-pages-content-on-the-admin-panel": "Der Inhalt dieser Seite kann im Admin-Panel unter \"Verwaltung\" > \"Seiten\" geändert werden.",
"about-your-site-or-yourself": "Über dich oder deine Website",
"welcome-to-bludit": "Willkommen bei Bludit"
"welcome-to-bludit": "Willkommen bei Bludit",
"site-information": "Angaben zur Website",
"date-and-time-formats": "Datum und Zeit",
"activate": "Aktivieren",
"deactivate": "Deaktivieren"
}

View File

@ -3,7 +3,7 @@
{
"native": "English (United States)",
"english-name": "English",
"last-update": "2015-10-02",
"last-update": "2015-12-01",
"author": "Diego",
"email": "",
"website": ""
@ -213,5 +213,10 @@
"the-about-page-is-very-important": "The about page is an important and powerful tool for potential clients and partners. For those who wonder who is behind the website, your About page is the first source of information.",
"change-this-pages-content-on-the-admin-panel": "Change this page's content on the admin panel, manage, pages and click on the about page.",
"about-your-site-or-yourself": "About your site or yourself",
"welcome-to-bludit": "Welcome to Bludit"
"welcome-to-bludit": "Welcome to Bludit",
"site-information": "Site information",
"date-and-time-formats": "Date and time formats",
"activate": "Activate",
"deactivate": "Deactivate"
}

View File

@ -13,7 +13,7 @@
"password": "Contraseña",
"confirm-password": "Confirmar contraseña",
"editor": "Editor",
"dashboard": "Panel",
"dashboard": "Panel de administración",
"role": "Rol",
"post": "Entrada",
"posts": "Entradas",

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

217
languages/it_IT.json Normal file
View File

@ -0,0 +1,217 @@
{
"language-data":
{
"native": "Italiano (Italy)",
"english-name": "Italian",
"last-update": "2015-11-27",
"author": "Daniele La Pira",
"email": "daniele.lapira@gmail.com",
"website": "https://github.com/danielelapira"
},
"username": "Nome Utente",
"password": "Password",
"confirm-password": "Conferma Password",
"editor": "Editor",
"dashboard": "Pannello",
"role": "Ruolo",
"post": "Articolo",
"posts": "Articoli",
"users": "Utenti",
"administrator": "Amministratore",
"add": "Aggiungi",
"cancel": "Annulla",
"content": "Contenuto",
"title": "Titolo",
"no-parent": "Nessuna pagina genitore",
"edit-page": "Modifica Pagina",
"edit-post": "Modifica Articolo",
"add-a-new-user": "Aggiungi un nuovo utente",
"parent": "Genitore",
"friendly-url": "URL amichevole",
"description": "Descrizione",
"posted-by": "Pubblicato da",
"tags": "Tags",
"position": "Posizione",
"save": "Salva",
"draft": "Bozza",
"delete": "Elimina",
"registered": "Registrato",
"Notifications": "Notifiche",
"profile": "Profilo",
"email": "Email",
"settings": "Impostazioni",
"general": "Generale",
"advanced": "Avanzato",
"regional": "Regionale",
"about": "About",
"login": "Inizia sessione",
"logout": "Termina sessione",
"manage": "Amministra",
"themes": "Temi",
"prev-page": "Pagina precedente",
"next-page": "Pagina seguente",
"configure-plugin": "Configura plugin",
"confirm-delete-this-action-cannot-be-undone": "Conferma l'eliminazione. Questa azione non può essere annullata.",
"site-title": "Titolo del sito",
"site-slogan": "Slogan del sito",
"site-description": "Descrizione del sito",
"footer-text": "Testo pie' di pagina",
"posts-per-page": "Articoli per pagina",
"site-url": "URL del sito",
"writting-settings": "Impostazioni di scrittura",
"url-filters": "Filtri URL",
"page": "Pagina",
"pages": "Pagine",
"home": "Inizio",
"welcome-back": "Bentornato",
"language": "Lingua",
"website": "Sito web",
"timezone": "Fuso orario",
"locale": "Locale",
"new-post": "Nuovo articolo",
"new-page": "Nuova pagina",
"html-and-markdown-code-supported": "Codici HTML e Markdown supportati",
"manage-posts": "Gestisci articoli",
"published-date": "Data di pubblicazione",
"modified-date": "Data di modifica",
"empty-title": "Titolo assente",
"plugins": "Plugins",
"install-plugin": "Installa plugin",
"uninstall-plugin": "Disinstalla plugin",
"new-password": "Nuova password",
"edit-user": "Modifica utente",
"publish-now": "Pubblica adesso",
"first-name": "Nome",
"last-name": "Cognome",
"bludit-version": "Versione di Bludit",
"powered-by": "Powered by",
"recent-posts": "Articoli recenti",
"manage-pages": "Gestisci pagine",
"advanced-options": "Opzioni avanzate",
"user-deleted": "Utente eliminato",
"page-added-successfully": "Pagina aggiunta con successo",
"post-added-successfully": "Articolo aggiunto con successo",
"the-post-has-been-deleted-successfully": "L'articolo è stato eliminato con successo",
"the-page-has-been-deleted-successfully": "La pagina è stata eliminata con successo",
"username-or-password-incorrect": "Nome utente o password non corretti",
"database-regenerated": "Database rigenerato",
"the-changes-have-been-saved": "Le modifiche sono state salvate",
"enable-more-features-at": "Abilita altre funzioni a",
"username-already-exists": "Il nome utente esiste già",
"username-field-is-empty": "Campo nome utente vuoto",
"the-password-and-confirmation-password-do-not-match":"Le password non corrispondono",
"user-has-been-added-successfully": "Utente aggiunto con successo",
"you-do-not-have-sufficient-permissions": "Non hai i permessi sufficienti per accedere a questa pagina, contatta l'amministratore.",
"settings-advanced-writting-settings": "Impostazioni->Avanzate->Impostazioni di scrittura",
"new-posts-and-pages-synchronized": "Nuovi articoli e pagine sincronizzate.",
"you-can-choose-the-users-privilege": "Puoi selezionare i privilegi dell'utente. Il ruolo di editore può solo scrivere e modificare pagine e articoli.",
"email-will-not-be-publicly-displayed": "L'indirizzo Email non sarà visibile. Raccomandato per il recupero della password e per ricevere notifiche.",
"use-this-field-to-name-your-site": "Usa questo campo per dare un nome al tuo sito, apparirà nella parte superiore in ogni pagina del tuo sito.",
"use-this-field-to-add-a-catchy-phrase": "Usa questo campo per aggiungere uno slogan al tuo sito.",
"you-can-add-a-site-description-to-provide": "Puoi aggiungere una descrizione del sito per fornire una breve biografia o descrizione del sito.",
"you-can-add-a-small-text-on-the-bottom": "Puoi aggiungere un breve testo in fondo ad ogni pagina. Ad es. copyright, autore, date, ecc.",
"number-of-posts-to-show-per-page": "Numero di articoli da mostrare per pagina.",
"the-url-of-your-site": "Indirizzo URL del tuo sito.",
"add-or-edit-description-tags-or": "Aggiungi o modifica descrizione, tags oppure modifica l'URL amichevole.",
"select-your-sites-language": "Seleziona la lingua del tuo sito.",
"select-a-timezone-for-a-correct": "Seleziona un fuso orario per la corretta visualizzazione di data e ora sul sito.",
"you-can-use-this-field-to-define-a-set-of": "Puoi utilizzare questo campo per definire set di parametri riferiti alla lingua, alla nazione e preferenze speciali.",
"you-can-modify-the-url-which-identifies":"Puoi modificare l'indirizzo URL che identifica una pagina o un articolo utilizzando delle parole chiavi leggibili. Non più di 150 caratteri.",
"this-field-can-help-describe-the-content": "Quì puoi descrivere il contenuto in poche parole. Non più di 150 caratteri.",
"delete-the-user-and-all-its-posts":"Elimina l'utente e tutti i suoi articoli",
"delete-the-user-and-associate-its-posts-to-admin-user": "Elimina l'utente e assegna i suoi articoli all'utente admin",
"read-more": "Leggi tutto",
"show-blog": "Visualizza blog",
"default-home-page": "Home page predefinita",
"version": "Versione",
"there-are-no-drafts": "Non ci sono bozze.",
"create-a-new-article-for-your-blog":"Crea un nuovo articolo per il tuo blog.",
"create-a-new-page-for-your-website":"Crea una nuova pagina per il tuo sito.",
"invite-a-friend-to-collaborate-on-your-website":"Invita un amico per collaborare sul tuo sito.",
"change-your-language-and-region-settings":"Modifica le impostazioni di lingua e regione.",
"language-and-timezone":"Lingua e fuso orario",
"author": "Autore",
"start-here": "Inizia quì",
"install-theme": "Installa tema",
"first-post": "Primo articolo",
"congratulations-you-have-successfully-installed-your-bludit": "Congratulazioni, hai installato con successo **Bludit**",
"whats-next": "Passi seguenti",
"manage-your-bludit-from-the-admin-panel": "Gestisci Bludit dal [pannello di amministrazione](./admin/)",
"follow-bludit-on": "Segui Bludit su",
"visit-the-support-forum": "Visita il [forum](http://forum.bludit.com) for support",
"read-the-documentation-for-more-information": "Leggi la [documentazione](http://docs.bludit.com) per ulteriori informazioni",
"share-with-your-friends-and-enjoy": "Condividi con i tuoi amici",
"the-page-has-not-been-found": "La pagina non è stata trovata.",
"error": "Errore",
"bludit-installer": "Installa Bludit",
"welcome-to-the-bludit-installer": "Benvenuto nel programma di installazione di Bludit",
"complete-the-form-choose-a-password-for-the-username-admin": "Compila il modulo e scegli una password per l'utente « admin »",
"password-visible-field": "Password, campo visibile!",
"install": "Installa",
"choose-your-language": "Scegli la tua lingua",
"next": "Avanti",
"the-password-field-is-empty": "Il campo password è vuoto",
"your-email-address-is-invalid":"Il tuo indirizzo email non è valido.",
"proceed-anyway": "Procedi comunque!",
"drafts":"Bozze",
"ip-address-has-been-blocked": "L'indirizzo IP è stato bloccato.",
"try-again-in-a-few-minutes": "Prova di nuovo fra qualche minuto.",
"date": "Data",
"scheduled": "Programmato",
"publish": "Pubblica",
"please-check-your-theme-configuration": "Per favore verifica la configurazione del tuo tema.",
"plugin-label": "Etichetta del Plugin",
"enabled": "Abilitato",
"disabled": "Disabilitato",
"cli-mode": "Modo Cli",
"command-line-mode": "Modo linia di comando",
"enable-the-command-line-mode-if-you-add-edit": "Abilita il modo della linea di comando se vuoi aggiungere, modificare o eliminare articoli e pagine dal filesystem",
"configure": "Configura",
"uninstall": "Disinstalla",
"change-password": "Cambia password",
"to-schedule-the-post-just-select-the-date-and-time": "Per programmare l'articolo, seleziona data e ora.",
"write-the-tags-separated-by-commas": "Scrivi i tags separati da virgole.",
"status": "Status",
"published": "Pubblicato",
"scheduled-posts": "Articoli programmati",
"statistics": "Statistiche",
"name": "Nome",
"email-account-settings":"Impostazioni dell'account email",
"sender-email": "Mittente email",
"emails-will-be-sent-from-this-address":"Le emails saranno inviate da questo indirizzo.",
"bludit-login-access-code": "BLUDIT - Login access code",
"check-your-inbox-for-your-login-access-code":"Controlla la tua posta in ingresso per il codice di accesso",
"there-was-a-problem-sending-the-email":"C'è stato un problema nell'invio dell' email",
"back-to-login-form": "Torna indietro alla pagina di accesso",
"send-me-a-login-access-code": "Inviami un codice accesso",
"get-login-access-code": "Richiedi un codice accesso",
"email-notification-login-access-code": "<p>Questa è una notifica dal tuo sito {{WEBSITE_NAME}}</p><p>Hai richiesto un codice per accedere, segui il link seguente:</p><p>{{LINK}}</p>",
"there-are-no-scheduled-posts": "Non ci sono articoli programmati.",
"show-password": "Mostra password",
"edit-or-remove-your=pages": "Modifica o elimina pagine.",
"edit-or-remove-your-blogs-posts": "Modifica o elimina gli articoli del tuo blog.",
"general-settings": "Impostazioni generali",
"advanced-settings": "Impostazioni avanzate",
"manage-users": "Gestisci utenti",
"view-and-edit-your-profile": "Visualizza e modifica il tuo profilo.",
"password-must-be-at-least-6-characters-long": "La Password deve contenere almeno 6 caratteri",
"images": "Immagini",
"upload-image": "Invia un'immagine",
"drag-and-drop-or-click-here": "Trascina e rilascia oppure clicca quì",
"insert-image": "Inserisci immagine",
"supported-image-file-types": "Formati file immagine supportati",
"date-format": "Formato data",
"time-format": "Formato ora",
"chat-with-developers-and-users-on-gitter":"Chatta con gli sviluppatori e gli utenti su [Gitter](https://gitter.im/dignajar/bludit)",
"this-is-a-brief-description-of-yourself-our-your-site":"Questa è una breve descrizione tua o del tuo sito, Per cambiare il testo vai nel pannello di amministrazione, impostazioni, plugins, e configura il plugin about.",
"profile-picture": "Foto del profilo",
"the-about-page-is-very-important": "La pagina << about >> è molto utile. Fornisce ai tuoi visitatori importanti informazioni sul sito. Uno strumento efficace per potenziali clienti e partners.",
"change-this-pages-content-on-the-admin-panel": "Cambia il contenuto di questa pagina sul pannello di amministrazione, Amministra -> Pagine e Clicca sulla pagina << about >> per modificare.",
"about-your-site-or-yourself": "A proposito del tuo sito o di te stesso",
"welcome-to-bludit": "Benvenuti a Bludit"
}

View File

@ -1,22 +1,22 @@
{
"language-data":
{
"native": "Polski (Polska)",
"native": "Polish - Polski",
"english-name": "Polish",
"last-update": "2015-11-01",
"author": "Dave",
"email": "dawid.stawicki@windowslive.com",
"website": ""
"last-update": "2015-12-03",
"author": "tom-asz",
"email": "",
"website": "tomektutoria.eu"
},
"username": "Użytkownik",
"password": "Hasło",
"confirm-password": "Potwierdzenie hasła",
"editor": "Redaktor",
"dashboard": "Kokpit",
"confirm-password": "Potwierdź hasło",
"editor": "Edytor",
"dashboard": "Pulpit nawigacyjny",
"role": "Rola",
"post": "Wpis",
"posts": "Wpisy",
"post": "Post",
"posts": "Posty",
"users": "Użytkownicy",
"administrator": "Administrator",
"add": "Dodaj",
@ -25,55 +25,55 @@
"title": "Tytuł",
"no-parent": "Bez rodzica",
"edit-page": "Edytuj stronę",
"edit-post": "Edytuj wpis",
"add-a-new-user": "Nowy użytkownik",
"edit-post": "Edytuj post",
"add-a-new-user": "Dodaj nowego użytkownika",
"parent": "Rodzic",
"friendly-url": "Przyjazny odnośnik URL",
"friendly-url": "Przyjazny URL",
"description": "Opis",
"posted-by": "Napisał(a)",
"posted-by": "Napisane przez",
"tags": "Tagi",
"position": "Pozycja",
"save": "Zapisz",
"draft": "Szkic",
"draft": "Projekt",
"delete": "Usuń",
"registered": "Data rejestracji",
"registered": "Zarejestrowany",
"Notifications": "Powiadomienia",
"profile": "Profil",
"email": "Email",
"settings": "Ustawienia",
"general": "Ogólne",
"advanced": "Zaawansowane",
"regional": "Region",
"regional": "Regionalne",
"about": "O nas",
"login": "Zaloguj",
"logout": "Wyloguj",
"manage": "Zarządzanie",
"manage": "Zarządzaj",
"themes": "Motywy",
"prev-page": "Poprzednia strona",
"next-page": "Następna strona",
"configure-plugin": "Konfiguracja wtyczki",
"confirm-delete-this-action-cannot-be-undone": "Potwierdzenie usunięcia. Ta operacja jest nieodwracalna.",
"configure-plugin": "Skonfiguruj plugin",
"confirm-delete-this-action-cannot-be-undone": "Potwierdź usunięcie, czynność ta nie może być cofnięta.",
"site-title": "Nazwa strony",
"site-slogan": "Slogan strony",
"site-description": "Opis strony",
"footer-text": "Tekst w stopce",
"posts-per-page": "Liczba wpisów na stronę",
"site-url": "Adres URL strony",
"writting-settings": "Ustawienia pisania",
"url-filters": "Filtry URL",
"posts-per-page": "Posty na stronie:",
"site-url": "Adres strony",
"writting-settings": "Ustawienie pisania",
"url-filters": "Filtr URL",
"page": "Strona",
"pages": "Strony",
"home": "Strona główna",
"welcome-back": "Cześć, ",
"home": "Home",
"welcome-back": "Witaj ponownie",
"language": "Język",
"website": "Powrót do strony",
"website": "Strona WWW",
"timezone": "Strefa czasowa",
"locale": "Lokalizacja",
"new-post": "Nowy wpis",
"locale": "Ustawienia regionalne",
"new-post": "Nowy post",
"new-page": "Nowa strona",
"html-and-markdown-code-supported": "Znaczniki HTML i Markdown są wspierane",
"manage-posts": "Zarządzanie wpisami",
"published-date": "Data publikacji",
"html-and-markdown-code-supported": "Kod HTML i Markdown obsługiwany",
"manage-posts": "Zarządzaj postami",
"published-date": "Data opublikowania",
"modified-date": "Data modyfikacji",
"empty-title": "Brak tytułu",
"plugins": "Wtyczki",
@ -85,119 +85,138 @@
"first-name": "Imię",
"last-name": "Nazwisko",
"bludit-version": "Wersja Bludit",
"powered-by": "Napędza",
"recent-posts": "Ostatnie wpisy",
"manage-pages": "Zarządzanie stronami",
"advanced-options": "Zaawansowane",
"user-deleted": "Użytkownik został usunięty",
"page-added-successfully": "Strona została pomyślnie dodana",
"post-added-successfully": "Wpis został pomyślnie dodany",
"the-post-has-been-deleted-successfully": "Wpis został pomyślnie usunięty",
"powered-by": "Silnik",
"recent-posts": "Najnowsze posty",
"manage-pages": "Zarządzaj stronami",
"advanced-options": "Zaawansowane opcje",
"user-deleted": "Użytkownik usunięty",
"page-added-successfully": "Strona dodany pomyślnie",
"post-added-successfully": "Post dodany pomyślnie",
"the-post-has-been-deleted-successfully": "Post został pomyślnie usunięty",
"the-page-has-been-deleted-successfully": "Strona została pomyślnie usunięta",
"username-or-password-incorrect": "Nazwa użytkownika lub hasło jest nieprawidłowe",
"database-regenerated": "Baza danych została naprawiona",
"username-or-password-incorrect": "Nazwa użytkownika lub hasło nieprawidłowe",
"database-regenerated": "Baza danych regenerowana",
"the-changes-have-been-saved": "Zmiany zostały zapisane",
"enable-more-features-at": "Włącz więcej możliwości w",
"enable-more-features-at": "Włącz więcej funkcji w",
"username-already-exists": "Nazwa użytkownika już istnieje",
"username-field-is-empty": "Nazwa użytkownika nie może być pusta",
"the-password-and-confirmation-password-do-not-match":"Wprowadzone hasła nie pasują do siebie",
"user-has-been-added-successfully": "Użytkownik został pomyślnie dodany",
"you-do-not-have-sufficient-permissions": "Nie masz dostępu do tego. Prosimy o kontakt z administratorem strony.",
"username-field-is-empty": "Pole nazwa użytkownika jest puste",
"the-password-and-confirmation-password-do-not-match":"Hasło i potwierdzenie hasła nie pasują do siebie",
"user-has-been-added-successfully": "Użytkownik został dodany pomyślnie",
"you-do-not-have-sufficient-permissions": "Nie masz wystarczających uprawnień dostępu do tej strony, skontaktuj się z administratorem.",
"settings-advanced-writting-settings": "Ustawienia->Zaawansowane->Ustawienia pisania",
"new-posts-and-pages-synchronized": "Nowe wpisy i strony zostały zsynchronizowane.",
"you-can-choose-the-users-privilege": "Wybierz przywileje tego użytkownika. Rola redaktora zezwala wyłącznie na tworzenie nowych wpisów i stron.",
"email-will-not-be-publicly-displayed": "Adres email nie zostanie opublikowany, jednak zaleca się jego wprowadzenie w celu odzyskania utraconego hasła oraz powiadomień dostarczanych ze strony.",
"use-this-field-to-name-your-site": "Nazwa strony zostanie wyświetlona na każdej podstronie Twojej witryny.",
"use-this-field-to-add-a-catchy-phrase": "Krótki i chwytliwy slogan Twojej strony.",
"you-can-add-a-site-description-to-provide": "Wprowadź opis strony, aby wyjaśnić jej przeznaczenie.",
"you-can-add-a-small-text-on-the-bottom": "Krótka informacja wyświetlająca się na każdej podstronie. Dla przykładu: prawa autorskie, właściciel, data, etc.",
"number-of-posts-to-show-per-page": "Liczba wpisów wyświetlanych na jednej stronie.",
"the-url-of-your-site": "Adres URL Twojej strony.",
"add-or-edit-description-tags-or": "Dodaj lub edytuj opis, tagi oraz zmodyfikuj przyjazne adresy URL.",
"select-your-sites-language": "Wybierz język strony",
"select-a-timezone-for-a-correct": "Wybierz strefę czasową by prawidłowo wyświetlać datę/czas na Twojej stronie.",
"you-can-use-this-field-to-define-a-set-of": "Możesz użyć to pole, aby zdefiniować parametry związane z językiem, krajem i innymi ustawieniami.",
"you-can-modify-the-url-which-identifies":"Możesz zmieniń adres URL wpisu lub strony, aby wyglądał bardziej czytelnie dla człowieka. Nie więcej niż 150 znaków.",
"this-field-can-help-describe-the-content": "To pole pomoże krótko opisać Twój wpis w kilku słowach. Nie więcej niż 150 znaków.",
"new-posts-and-pages-synchronized": "Nowe posty i strony zsynchronizowane.",
"you-can-choose-the-users-privilege": "Możesz wybrać przywilej użytkownika. Edytor może tylko pisać strony i posty.",
"email-will-not-be-publicly-displayed": "E-mail nie będzie wyświetlany publicznie. Zalecany dla odzyskiwania hasła i powiadomień.",
"use-this-field-to-name-your-site": "Pole to służy do nazwy witryny, pojawi się na górze każdej stronie.",
"use-this-field-to-add-a-catchy-phrase": "Pole to służy do dodawania chwytliwego tytułu na swojej stronie.",
"you-can-add-a-site-description-to-provide": "Możesz dodać opis witryny, aby zapewnić krótki życiorys lub opis swojej strony.",
"you-can-add-a-small-text-on-the-bottom": "Możesz dodać mały tekst na dole każdej strony. np: prawo autorskie, właściciel, daty, itp",
"number-of-posts-to-show-per-page": "Wyświetlana iczba postów na stronie.",
"the-url-of-your-site": "Adres URL witryny.",
"add-or-edit-description-tags-or": "Dodać lub edytować opis, tagi lub zmodyfikować przyjazne URL.",
"select-your-sites-language": "Wybierz język witryny.",
"select-a-timezone-for-a-correct": "Wybierz strefę czasową, dla prawidłowego wyświetlania data / czas na swojej stronie.",
"you-can-use-this-field-to-define-a-set-of": "Możesz użyć tego pola, aby zdefiniować zestaw parametrów związanych z językiem, kraju i szczególnych preferencji.",
"you-can-modify-the-url-which-identifies":"Możesz zmienić adres URL, który identyfikuje stronę lub pisać przy użyciu słów kluczowych w postaci czytelnej dla człowieka. Nie więcej niż 150 znaków.",
"this-field-can-help-describe-the-content": "To pole może pomóc opisać zawartość w kilku słowach. Nie więcej niż 150 znaków.",
"delete-the-user-and-all-its-posts":"Usuń tego użytkownika i wszystkie jego wpisy",
"delete-the-user-and-associate-its-posts-to-admin-user": "Usuń tego użytkownika a wszystkie jego wpisy przypisz administratorowi",
"read-more": "Czytaj więcej",
"show-blog": "Blog z wpisami",
"delete-the-user-and-all-its-posts":"Usuń użytkownika i wszystkich jego posty",
"delete-the-user-and-associate-its-posts-to-admin-user": "Usuń użytkownika i powiązać jego posty do użytkownika administratora",
"read-more": "Więcej",
"show-blog": "Zobacz blog",
"default-home-page": "Domyślna strona główna",
"version": "Wersja",
"there-are-no-drafts": "Brak szkiców.",
"create-a-new-article-for-your-blog":"Utwórz nowy wpis na Twoim blogu.",
"create-a-new-page-for-your-website":"Utwórz nową stronę na Twoim blogu.",
"invite-a-friend-to-collaborate-on-your-website":"Zaproś przyjaciela do współpracy",
"change-your-language-and-region-settings":"Zmień język i ustawienia regionu strony.",
"language-and-timezone":"Język i czas",
"there-are-no-drafts": "Brak projektów.",
"create-a-new-article-for-your-blog":"Utwórz nowy artykuł na swoim blogu.",
"create-a-new-page-for-your-website":"Tworzenie nowej strony na swojej stronie internetowej.",
"invite-a-friend-to-collaborate-on-your-website":"Zaproś przyjaciół do współpracy na swojej stronie internetowej.",
"change-your-language-and-region-settings":"Zmień ustawienia języka i regionu.",
"language-and-timezone":"Język i strefa czasowa",
"author": "Autor",
"start-here": "Start",
"start-here": "Zacznij tutaj",
"install-theme": "Zainstaluj motyw",
"first-post": "Pierwszy wpis ",
"congratulations-you-have-successfully-installed-your-bludit": "Gratulację, Twój **Bludit** został zainstalowany pomyślnie.",
"whats-next": "Co teraz?",
"manage-your-bludit-from-the-admin-panel": "Zarządzaj blogiem z poziomu [kokpitu](./admin/)",
"follow-bludit-on": "Obserwuj Bludit w serwisach",
"visit-the-support-forum": "•Zajrzyj na [forum wsparcia](http://forum.bludit.com) for support",
"read-the-documentation-for-more-information": "•Przeczytaj [dokumentacje](http://docs.bludit.com) by dowiedzieć się więcej informacji",
"share-with-your-friends-and-enjoy": "•udostępnij tę stronę swoim znajomym i baw się dobrze",
"first-post": "Pierwszy post",
"congratulations-you-have-successfully-installed-your-bludit": "Gratulacje pomyślnie zainstalowano **Bludit**",
"whats-next": "Co dalej",
"manage-your-bludit-from-the-admin-panel": "Zarządzaj Bludit z [obszaru administracyjnego](./admin/)",
"follow-bludit-on": "Śledź Bludit na",
"visit-the-support-forum": "Odwiedź [forum](http://forum.bludit.com) wsparcia",
"read-the-documentation-for-more-information": "Przeczytaj [dokumentację](http://docs.bludit.com) po więcej informacji",
"share-with-your-friends-and-enjoy": "Podziel się z przyjaciółmi i ciesz się z Bludit",
"the-page-has-not-been-found": "Strona nie została odnaleziona.",
"error": "Błąd",
"bludit-installer": "Instalator Bludit",
"welcome-to-the-bludit-installer": "Witamy w instalatorze Bludit",
"complete-the-form-choose-a-password-for-the-username-admin": "Uzupełnij formularz, wybierz hasło dla użytkownika « admin »",
"password-visible-field": "Password, visible field!",
"install": "Zainlstauj",
"choose-your-language": "Wybierz swój język",
"bludit-installer": "Bludit Instalator",
"welcome-to-the-bludit-installer": "Zapraszamy do instalatora Bludit",
"complete-the-form-choose-a-password-for-the-username-admin": "Wpisz hasło dla użytkownika « admin »",
"password-visible-field": "Hasło, widoczne pola!",
"install": "Instaluj",
"choose-your-language": "Wybierz język",
"next": "Dalej",
"the-password-field-is-empty": "Proszę wprowadzić hasło",
"your-email-address-is-invalid":"Wprowadzony adres email jest nieprawidłowy.",
"proceed-anyway": "Kontynnuj mimo to!",
"drafts":"Szkice",
"the-password-field-is-empty": "Pole hasło jest puste",
"your-email-address-is-invalid":"Twój adres e-mail jest nieprawidłowy.",
"proceed-anyway": "Kontynuuj mimo to!",
"drafts":"Projekt",
"ip-address-has-been-blocked": "Adres IP został zablokowany.",
"try-again-in-a-few-minutes": "Spróbuj ponownie za kilka minut.",
"date": "Data",
"scheduled": "Zaplanowany",
"scheduled": "Zaplanowane",
"publish": "Opublikuj",
"please-check-your-theme-configuration": "Proszę sprawdzić ustawienia motywu.",
"plugin-label": "Etykieta wtyczki",
"please-check-your-theme-configuration": "Proszę sprawdzić konfigurację szablonu.",
"plugin-label": "Etykieta pluginu",
"enabled": "Włączony",
"disabled": "Wyłączony",
"cli-mode": "Tryb Cli",
"command-line-mode": "Wiersz poleceń",
"enable-the-command-line-mode-if-you-add-edit": "Włącz wiersz poleceń, kiedy dodajesz, edytujesz lub usuwasz wpisy oraz strony poprzez system plików.",
"command-line-mode": "Tryb wiersza poleceń",
"enable-the-command-line-mode-if-you-add-edit": "Włącz tryb linii poleceń, jeśli dodajesz, edytujesz lub usuwasz posty i strony z systemu plików",
"configure": "Konfiguruj",
"uninstall": "Odinstaluj",
"change-password": "Zmień hasło",
"to-schedule-the-post-just-select-the-date-and-time": "Aby zaplanować wpis, po prostu wybierz datę i czas.",
"write-the-tags-separated-by-commas": "Wprowadź tagi oddzielone przecinkiem.",
"to-schedule-the-post-just-select-the-date-and-time": "Aby zaplanować post, po prostu wybierz date i czas.",
"write-the-tags-separated-by-commas": "Dodaj tagi oddzielając je przecinkami.",
"status": "Status",
"published": "Opublikowany",
"scheduled-posts": "Zaplanowane wpisy",
"statistics": "Statystyki",
"published": "Opublikowane",
"scheduled-posts": "Zaplanowane posty",
"statics": "Statyki",
"name": "Nazwa",
"email-account-settings":"Ustawienia konta email",
"sender-email": "Adres nadawcy",
"emails-will-be-sent-from-this-address":"Wszystkie wiadomości email będą wysyłane z tego adresu.",
"bludit-login-access-code": "BLUDIT - kod dostępu logowania",
"check-your-inbox-for-your-login-access-code":"Sprawdź swoją skrzynkę odbiorczą",
"there-was-a-problem-sending-the-email":"Wystąpił problem z wysłaniem wiadomości",
"back-to-login-form": "Powrót do logowania",
"send-me-a-login-access-code": "Wyślij kod dostępu do logowania",
"get-login-access-code": "Otrzymaj kod dostępu logowania",
"email-notification-login-access-code": "<p>Powiadomienie ze strony {{WEBSITE_NAME}}</p><p>Jeśli zarządałeś kodu dostępu do logowania, zajrzyj na stronę:</p><p>{{LINK}}</p>",
"there-are-no-scheduled-posts": "Brak zaplanowanych wpisów.",
"show-password": "Pokaż hasło",
"edit-or-remove-your=pages": "Edytuj lub usuń strony na Twoim blogu.",
"edit-or-remove-your-blogs-posts": "Edytuj lub usuń wpisy na Twoim blogu.",
"general-settings": "Ustawienia",
"advanced-settings": "Zaawansowane",
"manage-users": "Zarządzanie użytkownikami",
"view-and-edit-your-profile": "Zobacz i edytuj swój profil.",
"email-account-settings":"Ustawienia konta e-mail",
"sender-email": "E-mail nadawcy",
"emails-will-be-sent-from-this-address":"Wiadomości e-mail będą wysyłane z tego adresu.",
"bludit-login-access-code": "BLUDIT - Logowanie do kodu dostępu",
"check-your-inbox-for-your-login-access-code":"Sprawdź swoją skrzynkę odbiorczą dla kodu dostępu do logowania",
"there-was-a-problem-sending-the-email":"Wystąpił problem podczas wysyłania wiadomości e-mail",
"back-to-login-form": "Powrót do formularza logowania",
"send-me-a-login-access-code": "Wyślij mi kod dostępu do logowania",
"get-login-access-code": "Pobierz kod dostępu do logowania",
"email-notification-login-access-code": "<p>To jest powiadomienie z twojej strony {{WEBSITE_NAME}}</p><p>Poprosiłeś o kod dostępu do logowania, należy do kliknąć w link:</p><p>{{LINK}}</p>",
"there-are-no-scheduled-posts": "Nie ma zaplanowanych postów.",
"show-password": "Pokaż Hasło",
"edit-or-remove-your=pages": "Edytuj lub usuń swoje strony.",
"edit-or-remove-your-blogs-posts": "Edytuj lub usuń posty bloga.",
"general-settings": "Ustawienia ogólne",
"advanced-settings": "Ustawienia zaawansowane",
"manage-users": "Zarządzaj użytkownikami",
"view-and-edit-your-profile": "Przeglądać i edytować swój profil.",
"password-must-be-at-least-6-characters-long": "Hasło musi zawierać przynajmniej 6 znaków"
"password-must-be-at-least-6-characters-long": "Hasło musi mieć co najmniej 6 znaków",
"images": "Obrazy",
"upload-image": "Wgraj obraz",
"drag-and-drop-or-click-here": "Przeciągnij i upuść lub kliknij tutaj",
"insert-image": "Wstaw obraz",
"supported-image-file-types": "Obsługiwane typy plików graficznych",
"date-format": "Format daty",
"time-format": "Format czasu",
"chat-with-developers-and-users-on-gitter":"Czat z programistami i użytkownikami [Gitter](https://gitter.im/dignajar/bludit)",
"this-is-a-brief-description-of-yourself-our-your-site":"To jest krótki opis siebie lub swojej strony, by zmienić ten tekst przejdż do panelu administratora, ustawienia, wtyczki i skonfigurować wtyczkę O nas.",
"profile-picture": "Zdjęcie profilowe",
"the-about-page-is-very-important": "Strona O nas jest ważnym narzędziem dla potencjalnych klientów i partnerów. Dla tych, którzy się zastanawiają, kto jest na stronie internetowej, twoja informacja o stronie jest pierwszym źródłem informacji.",
"change-this-pages-content-on-the-admin-panel": "Zmień zawartość tej strony w panelu administratora, zarządzanie, strony i kliknij na stronę opisującą.",
"about-your-site-or-yourself": "Informacje o stronie lub o sobie",
"welcome-to-bludit": "Witamy w Bludit",
"site-information": "Informacje o witrynie",
"date-and-time-formats": "Format daty i czasu",
"activate": "Aktywuj",
"deactivate": "Dezaktywuj"
}

View File

@ -3,7 +3,7 @@
{
"native": "Русский (Россия)",
"english-name": "Russian",
"last-update": "2015-11-05",
"last-update": "2015-11-17",
"author": "Сергей Ворон",
"email": "sergey@voron.pw",
"website": "voron.pw"
@ -203,5 +203,20 @@
"images": "Изображения",
"upload-image": "Загрузить изображение",
"drag-and-drop-or-click-here": "Перетащите или нажмите здесь",
"insert-image": "Вставить изображение"
"insert-image": "Вставить изображение",
"supported-image-file-types": "Поддерживаемые типы файлов изображений",
"date-format": "Формат даты",
"time-format": "Формат времени",
"chat-with-developers-and-users-on-gitter":"Чат с разработчиками и пользователями в [Gitter](https://gitter.im/dignajar/bludit)",
"this-is-a-brief-description-of-yourself-our-your-site":"Это краткое описание о вас или о сайте, чтобы изменить этот текст перейдите в панель управления, настройки, плагины и настройте плагин about.",
"profile-picture": "Изображение профиля",
"the-about-page-is-very-important": "Страница о нас является важным и мощным инструментом для потенциальных клиентов и партнеров. Для тех, кто пришел, кому интересен ваш сайт, страница О нас является первым источником информации.",
"change-this-pages-content-on-the-admin-panel": "Измените содержимое этой страницы в панели управления, Управление, Страницы и нажмите на страницу about.",
"about-your-site-or-yourself": "О Вашем сайте или о вас",
"welcome-to-bludit": "Добро пожаловать в Bludit",
"site-information": "Информация о сайте",
"date-and-time-formats": "Форматы даты и времени",
"activate": "Активировать",
"deactivate": "Деактивировать"
}

217
languages/tr_TR.json Normal file
View File

@ -0,0 +1,217 @@
{
"language-data":
{
"native": "Türkçe (Türkiye)",
"english-name": "Turkish",
"last-update": "2015-12-02",
"author": "ffahri",
"email": "",
"website": "github.com/ffahri"
},
"username": "Kullanıcı Adı",
"password": "Şifre",
"confirm-password": "Şifreyi Doğrula",
"editor": "Editör",
"dashboard": "Pano",
"role": "Grup",
"post": "Yazı",
"posts": "Yazılar",
"users": "Kullanıcılar",
"administrator": "Yönetici",
"add": "Ekle",
"cancel": "İptal",
"content": "İçerik",
"title": "Başlık",
"no-parent": "No parent",
"edit-page": "Sayfayı düzenle",
"edit-post": "Yazıyı düzenle",
"add-a-new-user": "Kullanıcı ekle",
"parent": "Ana",
"friendly-url": "Friendly URL",
"description": "Tanım",
"posted-by": "Tarafından",
"tags": "Taglar",
"position": "Konum",
"save": "Kaydet",
"draft": "Taslak",
"delete": "Sil",
"registered": "Kayıt Tarihi",
"Notifications": "Bildirimler",
"profile": "Profil",
"email": "Email",
"settings": "Ayarlar",
"general": "Genel",
"advanced": "Gelişmiş",
"regional": "Bölgesel",
"about": "Hakkında",
"login": "Giriş",
"logout": ıkış",
"manage": "Yönet",
"themes": "Temalar",
"prev-page": "Önceki Sayfa",
"next-page": "Sonraki Sayfa",
"configure-plugin": "Eklentiyi yapılandır",
"confirm-delete-this-action-cannot-be-undone": "Silmeyi onaylayın,bu işlem geri alınamaz!",
"site-title": "Site Başlığı",
"site-slogan": "Site sloganı",
"site-description": "Bu alana site tanımı",
"footer-text": "Altbilgi metni",
"posts-per-page": "Sayfa başına yazı",
"site-url": "Site adresi",
"writting-settings": "Yazım ayarları",
"url-filters": "URL filtreleri",
"page": "Sayfa",
"pages": "Sayfalar",
"home": "Anasayfa",
"welcome-back": "Tekrar Hoşgeldin",
"language": "Dil",
"website": "Site",
"timezone": "Saat Dilimi",
"locale": "Yerel",
"new-post": "Yeni yazı",
"new-page": "Yeni sayfa",
"html-and-markdown-code-supported": "HTML ve Markdown kodlarını destekler",
"manage-posts": "Yazıları yönet",
"published-date": "Yayınlanma tarihi",
"modified-date": "Düzenlenme tarihi",
"empty-title": "Başlıksız",
"plugins": "Eklentiler",
"install-plugin": "Eklenti yönet",
"uninstall-plugin": "Eklenti kaldır",
"new-password": "Yeni şifre",
"edit-user": "Kullanıcıyı düzenle",
"publish-now": "Şimdi yayınla",
"first-name": "Ad",
"last-name": "Soyad",
"bludit-version": "Bludit versiyon",
"powered-by": "Powered by",
"recent-posts": "Son yazılar",
"manage-pages": "Sayfaları yönet",
"advanced-options": "Gelişmiş seçenekler",
"user-deleted": "Kullanıcı silindi",
"page-added-successfully": "Sayfa başarıyla eklendi.",
"post-added-successfully": "Yazı başarıyla eklendi.",
"the-post-has-been-deleted-successfully": "Yazı başarıyla silindi",
"the-page-has-been-deleted-successfully": "Sayfa başarıyla silindi",
"username-or-password-incorrect": "Kullanıcı adı veya şifre yanlış",
"database-regenerated": "Veritabanı rejenere oldu",
"the-changes-have-been-saved": "Değişiklikler kaydedildi.",
"enable-more-features-at": "Daha çok özelliği şuradan etkinleştir",
"username-already-exists": "Bu kullanıcı adı kullanılıyor",
"username-field-is-empty": "Kullanıcı adı boş bırakılamaz",
"the-password-and-confirmation-password-do-not-match":"Şifreler uyuşmuyor.",
"user-has-been-added-successfully": "Kullanıcı başarıyla eklendi.",
"you-do-not-have-sufficient-permissions": "Bu sayfaya erişmek için gerekli izinlere sahip değilsiniz, Yönetici ile irtibata geçin.",
"settings-advanced-writting-settings": "Ayarlar->Gelişmiş->Yazım Ayarları",
"new-posts-and-pages-synchronized": "Yeni sayfalar ve yazılar senkronize edildi.",
"you-can-choose-the-users-privilege": "Kullanıcının izinlerini seçebilirsiniz. Editör sadece sayfa ve yazılar yazabilir.",
"email-will-not-be-publicly-displayed": "Mail adresi gizlenecektir. Bildirimler ve şifre kurtarma seçenekleri için önerilir.",
"use-this-field-to-name-your-site": "Bu alanı sitenize ad vermek için kullanın,Sitenizdeki her sayfanın üstünde görünecektir.",
"use-this-field-to-add-a-catchy-phrase": "Bu alanı sitenize akılda kalıcı bir cümle seçmek için kullanın.",
"you-can-add-a-site-description-to-provide": "Site tanımı ekleyebilirsiniz.",
"you-can-add-a-small-text-on-the-bottom": "Sitenizdeki her sayfanın sonuna kısa bir yazı ekleyebilirsiniz. Örn: Copyright, sahibi, tarih, vs.",
"number-of-posts-to-show-per-page": "Sayfa başına gösterilecek yazı sayısı",
"the-url-of-your-site": "Sitenizin URL'si.",
"add-or-edit-description-tags-or": "Kardeş URL'lere tanım,tag ekleyip düzenleyebilirsiniz.",
"select-your-sites-language": "Sitenizin dilini seçin.",
"select-a-timezone-for-a-correct": "Tarih ve saatin doğru olabilmesi için bulunduğunuz saat dilimini seçin.",
"you-can-use-this-field-to-define-a-set-of": "Bu alanı kullanarak belli dil,ülke veya özel seçenekler hakkında parametreler girebilirsiniz.",
"you-can-modify-the-url-which-identifies":"150 Karakteri geçmeyecek şekilde URL'leri düzenleyerek veya okunabilir keywordlar kullanabilirsiniz.",
"this-field-can-help-describe-the-content": "Bu alan içerisine 150 karakteri geçmeyecek şekilde içeriğe tanım yapabilirsiniz.",
"delete-the-user-and-all-its-posts":"Bu kullanıcıyı ve tüm yazılarını sil",
"delete-the-user-and-associate-its-posts-to-admin-user": "Bu kullanıcıyı ve yöneticiyle ilişkili olan yazılarını sil",
"read-more": "Devamını oku",
"show-blog": "Blogu göster",
"default-home-page": "Geçerli Anasayfa",
"version": "Versiyon",
"there-are-no-drafts": "Taslak yok.",
"create-a-new-article-for-your-blog":"Blogun için bir makale oluştur.",
"create-a-new-page-for-your-website":"Site için bir sayfa oluştur.",
"invite-a-friend-to-collaborate-on-your-website":"Arkadaşını davet ederek birlikte çalış.",
"change-your-language-and-region-settings":"Dil ve saat ayarlarını değiştir.",
"language-and-timezone":"Dil ve saat dilimi",
"author": "Yazar",
"start-here": "Buradan başla",
"install-theme": "Tema yükle",
"first-post": "İlk yazı",
"congratulations-you-have-successfully-installed-your-bludit": "Tebrikler başarılı bir şekilde kendi **Bludit'ini** yükledin",
"whats-next": "Sırada Ne Var",
"manage-your-bludit-from-the-admin-panel": "Bluditini buradan yönet [yönetici alanı](./admin/)",
"follow-bludit-on": "Follow Bludit on",
"visit-the-support-forum": "Destek için [forum](http://forum.bludit.com) forumu ziyaret edin",
"read-the-documentation-for-more-information": "Daha fazla bilgi için [documentation](http://docs.bludit.com) dökümanları okuyun",
"share-with-your-friends-and-enjoy": "Arkadaşlarına paylaş ve eğlen",
"the-page-has-not-been-found": "Sayfa bulunamadı.",
"error": "Hata",
"bludit-installer": "Bludit Yükleyici",
"welcome-to-the-bludit-installer": "Bludit Yükleyiciye Hoş Geldiniz",
"complete-the-form-choose-a-password-for-the-username-admin": "Bu formu doldurarak, « admin » kullanıcısı için bir şifre belirleyin",
"password-visible-field": "Şifre, görülebilir alanda!",
"install": "Yükle",
"choose-your-language": "Dili seçin",
"next": "İleri",
"the-password-field-is-empty": "Şifre boş bırakılamaz",
"your-email-address-is-invalid":"Girdiğiniz email adresi geçersiz.",
"proceed-anyway": "Yinede ilerle!",
"drafts":"Taslaklar",
"ip-address-has-been-blocked": "IP adresi bloklandı.",
"try-again-in-a-few-minutes": "Birkaç dakika içinde tekrar deneyin.",
"date": "Tarih",
"scheduled": "Ayarlandı",
"publish": "Yayınla",
"please-check-your-theme-configuration": "Lütfen tema ayarlarını kontrol edin.",
"plugin-label": "Eklentinin görünecek adı",
"enabled": "Etkinleştirildi",
"disabled": "Devre dışı bırakıldı",
"cli-mode": "Komut istemcisi modu",
"command-line-mode": "Komut istemcisi modu",
"enable-the-command-line-mode-if-you-add-edit": "Kendi sisteminizi kullanarak, yazı veya sayfa ekleyip düzenlemek istiyorsanız komut istemcisi modunu etkinleştirin.",
"configure": "Yapılandır",
"uninstall": "Kaldır",
"change-password": "Şifre değiştir",
"to-schedule-the-post-just-select-the-date-and-time": "İleri bir tarihte yayınlamak için tarih ve saati seçin.",
"write-the-tags-separated-by-commas": "Tagları virgül ile ayırarak yazın.",
"status": "Durum",
"published": "Yayınla",
"scheduled-posts": "İleri tarihli yazılar",
"statistics": "İstatistikler",
"name": "Ad",
"email-account-settings":"Posta ayarları",
"sender-email": "Gönderen",
"emails-will-be-sent-from-this-address":"Postalar bu adresten gönderilecektir.",
"bludit-login-access-code": "BLUDIT - Giriş kodunuz",
"check-your-inbox-for-your-login-access-code":"Giriş kodu için gelen kutusuna bakın",
"there-was-a-problem-sending-the-email":"Email gönderirken bir problem oluştu",
"back-to-login-form": "Giriş formuna geri dön",
"send-me-a-login-access-code": "Giriş kodu gönder",
"get-login-access-code": "Giriş kodu al",
"email-notification-login-access-code": "<p>{{WEBSITE_NAME}} adlı sitenizden gönderildi </p><p>Giriş kodu isteğinde bulundunuz.Yandaki linke tıklayın:</p><p>{{LINK}}</p>",
"there-are-no-scheduled-posts": "İleri tarihli yazı bulunmamaktadır.",
"show-password": "Şifreyi göster",
"edit-or-remove-your=pages": "Sayfalarını düzenle veya sil.",
"edit-or-remove-your-blogs-posts": "Yazılarını sil veya düzenle.",
"general-settings": "Genel ayarlar",
"advanced-settings": "Gelişmiş ayarlar",
"manage-users": "Kullanıcıları yönet",
"view-and-edit-your-profile": "Profilini görüntüle ve düzelt.",
"password-must-be-at-least-6-characters-long": "Şifre en az 6 karakter uzunluğunda olmalıdır",
"images": "Resimler",
"upload-image": "Resim yükle",
"drag-and-drop-or-click-here": "Sürükle bırak veya buraya tıkla",
"insert-image": "Resim ekle",
"supported-image-file-types": "Desteklenen resim formatları",
"date-format": "Tarih formatı",
"time-format": "Saat formatı",
"chat-with-developers-and-users-on-gitter":"Geliştiriciler ve kullanıcılarla konuşmak için [Gitter](https://gitter.im/dignajar/bludit) adresini ziyaret et",
"this-is-a-brief-description-of-yourself-our-your-site":"Bu kısım siten hakkında bilgi verir.Burayı değiştirmek ve düzenlemek için admin->eklentiler->tanımı düzenle",
"profile-picture": "Profil resmi",
"the-about-page-is-very-important": "Bu sayfa potansiyel müşteriler ve ortaklar için oldukça önemli ve güçlü bir araçtır. Bu siteyi kimin yaptığını merak edenler ilk olarak hakkında kısmına bakarlar.",
"change-this-pages-content-on-the-admin-panel": "Bu sayfanın içeriğini düzenlemek için admin paneli -> yönet -> sayfalar -> hakkında sayfası .",
"about-your-site-or-yourself": "Site veya senin hakkında",
"welcome-to-bludit": "Bludit'e Hoşgeldiniz"
}

View File

@ -3,7 +3,7 @@
{
"native": "Українська (Україна)",
"english-name": "Ukrainian",
"last-update": "2015-11-19",
"last-update": "2015-12-02",
"author": "Allec Bernz",
"email": "admin@allec.info",
"website": "allec.info"
@ -213,5 +213,10 @@
"the-about-page-is-very-important": "Сторінка про сайт є важливим і потужним інструментом для потенційних клієнтів і партнерів. Для тих, кому цікаво, хто стоїть за сайтом, ваша сторінка про сайт є першим джерелом інформації.",
"change-this-pages-content-on-the-admin-panel": "Щоб змінити зміст цієї сторінки зайдіть в панель адміністратора, керування, сторінки та натисніть кнопку Про сайт.",
"about-your-site-or-yourself": "Про Ваш сайт або про Вас",
"welcome-to-bludit": "Ласкаво просимо до Bludit"
"welcome-to-bludit": "Ласкаво просимо до Bludit",
"site-information": "Інформація про сайт",
"date-and-time-formats": "Формати дати й часу",
"activate": "Активувати",
"deactivate": "Деактивувати"
}

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "За мен",
"description": "Кратко описание за вашия сайт или за себе си."
}
}

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "Über",
"description": "Kurzer Text über die Website oder zu dir."
}
}

View File

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

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "Acerca de",
"description": "Breve descripción de ti mismo o sobre tu sitio."
}
}

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "О блоге",
"description": "Небольшое описание о вашем сайте или о себя."
}
}

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "Hakkında",
"description": "Senin veya siten hakkında kısa bilgiler",
}
}

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "Про блог",
"description": "Невеликий опис вашого сайту або про Вас."
}
}

View File

@ -29,8 +29,6 @@ class pluginAbout extends Plugin {
public function siteSidebar()
{
global $Language;
global $dbTags;
global $Url;
$filter = $Url->filters('tag');

View File

@ -0,0 +1,16 @@
{
"plugin-data":
{
"name": "Disqus коментари",
"description": "Disqus коментари е услуги за уеб сайтове и блогове. Трябва да сте регистрирани в Disqus.com, преди да използвате този плъгин.",
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.6",
"releaseDate": "2015-11-13"
},
"disqus-shortname": "Disqus shortname",
"enable-disqus-on-pages": "Активиране Disqus на страници",
"enable-disqus-on-posts": "Активиране Disqus на публикации",
"enable-disqus-on-default-home-page": "Активиране Disqus на начална страница"
}

View File

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

View File

@ -0,0 +1,11 @@
{
"plugin-data":
{
"name": "Комментарии Disqus",
"description": "Disqus это сервис комментариев для сайтов и блогов. Необходимо быть зарегистрированным на Disqus.com перед использованием плагина."
},
"disqus-shortname": "Disqus shortname",
"enable-disqus-on-pages": "Включить Disqus на страницах",
"enable-disqus-on-posts": "Включить Disqus в записях",
"enable-disqus-on-default-home-page": "Включить Disqus на домашней странице"
}

View File

@ -0,0 +1,11 @@
{
"plugin-data":
{
"name": "Disqus yorum sistemi",
"description": "Diqus siteler için yorum hostingi yapan bir hostingdir.Eklentiyi kullanmadan önce Disqus.com adresine kayıt olmanız gerekmektedir.",
},
"disqus-shortname": "Disqus",
"enable-disqus-on-pages": "Sayfalar için Disqus'ı etkinleştir.",
"enable-disqus-on-posts": "Yazılar için Disqus'ı etkinleştir.",
"enable-disqus-on-default-home-page": "Geçerli anasayfa için Disqus'ı etkinleştir."
}

View File

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

View File

@ -0,0 +1,11 @@
{
"plugin-data":
{
"name": "Google Tools",
"description": "Этот плагин генерирует мета теги для проверки вашего сайта в Google Webmasters Tools и код JavaScript для отслеживания вашего сайта в Google Analytics."
},
"google-webmasters-tools": "Google Webmasters tools",
"google-analytics-tracking-id": "Google Analytics Tracking ID",
"complete-this-field-with-the-google-site-verification": "Заполните это поле для проверки владельца сайта.",
"complete-this-field-with-the-tracking-id": "Заполните это поле с Tracking ID чтобы сгенерировать код Javascript для отслеживания в Google Analytics."
}

View File

@ -0,0 +1,11 @@
{
"plugin-data":
{
"name": "Google Araçları",
"description": "Bu eklenti Google Webmaster Araçlarını kullanabilmeniz ve sitenizin Google Analytics tarafından incelenebilmesi için geçerli bir meta tag ve Javascript kodu oluşturur.",
},
"google-webmasters-tools": "Google Webmaster Araçları",
"google-analytics-tracking-id": "Google Analytics İzleme No",
"complete-this-field-with-the-google-site-verification": "Google Site Doğrulama ile bu alanı doldurarak sitenizi doğrulayın",
"complete-this-field-with-the-tracking-id": "Bu alanı İzleme No ile doldurarak Google Analytics için Javascript kodu oluşturun."
}

View File

@ -0,0 +1,10 @@
{
"plugin-data":
{
"name": "Режим на поддръжка",
"description": "Поставете вашия сайт на режим на поддръжка."
},
"enable-maintence-mode": "Активиране режим на поддръжка ",
"message": "Съобщение"
}

View File

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

View File

@ -2,7 +2,7 @@
"plugin-data":
{
"name": "Modo mantenimiento",
"description": "Configurar el sitio en modo mantenimiento, se puede acceder al panel de administración mientras tanto."
"description": "Configura el sitio en modo mantenimiento, se puede acceder al panel de administración mientras tanto."
},
"enable-maintence-mode": "Habilitar modo mantenimiento",

View File

@ -0,0 +1,10 @@
{
"plugin-data":
{
"name": "Режим обслуживания",
"description": "Установите ваш сайт в режим обслуживания, вы можете получить доступ к панели управления."
},
"enable-maintence-mode": "Включить режим обслуживания",
"message": "Сообщение"
}

View File

@ -0,0 +1,10 @@
{
"plugin-data":
{
"name": "Bakım Modu",
"description": "Sitenizi bakım moduna alın, admin paneline erişmeye devam edebilirsiniz.",
},
"enable-maintence-mode": "Bakım modunu etkinleştir.",
"message": "Mesaj"
}

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "Open Graph",
"description": "Open Graph ви позволява да свържете вашето съдържание със социални мрежи."
}
}

View File

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

View File

@ -2,6 +2,6 @@
"plugin-data":
{
"name": "Open Graph",
"description": "El protocolo Open Graph sirve para publicar contenido en las redes sociales."
"description": "Mejora las publicaciones en las redes sociales con este plugin."
}
}

View File

@ -0,0 +1,7 @@
{
"plugin-data":
{
"name": "Open Graph",
"description": "Протокол Open Graph дает возможность связывать свой контент с социальными сетями."
}
}

View File

@ -2,34 +2,68 @@
class pluginOpenGraph extends Plugin {
private function getImage($content)
{
$dom = new DOMDocument();
$dom->loadHTML('<meta http-equiv="content-type" content="text/html; charset=utf-8">'.$content);
$finder = new DomXPath($dom);
$images = $finder->query("//img[contains(@class, 'bludit-img-opengraph')]");
if($images->length==0) {
$images = $finder->query("//img");
}
if($images->length>0)
{
// First image from the list
$image = $images->item(0);
// Get value from attribute src
$imgSrc = $image->getAttribute('src');
// Returns the image src
return $imgSrc;
}
return false;
}
public function siteHead()
{
global $Url, $Site;
global $Post, $Page;
global $Post, $Page, $posts;
$og = array(
'locale' =>$Site->locale(),
'type' =>'website',
'title' =>$Site->title(),
'locale' =>$Site->locale(),
'type' =>'website',
'title' =>$Site->title(),
'description' =>$Site->description(),
'url' =>$Site->url(),
'image' =>'',
'siteName' =>$Site->title()
'url' =>$Site->url(),
'image' =>'',
'siteName' =>$Site->title()
);
switch($Url->whereAmI())
{
case 'post':
$og['type'] = 'article';
$og['type'] = 'article';
$og['title'] = $Post->title().' | '.$og['title'];
$og['description'] = $Post->description();
$og['url'] = $Post->permalink(true);
$og['url'] = $Post->permalink(true);
$content = $Post->content();
break;
case 'page':
$og['type'] = 'article';
$og['type'] = 'article';
$og['title'] = $Page->title().' | '.$og['title'];
$og['description'] = $Page->description();
$og['url'] = $Page->permalink(true);
$og['url'] = $Page->permalink(true);
$content = $Page->content();
break;
default:
$content = isset($posts[0])?$posts[0]->content():'';
break;
}
@ -38,10 +72,16 @@ class pluginOpenGraph extends Plugin {
$html .= '<meta property="og:type" content="'.$og['type'].'">'.PHP_EOL;
$html .= '<meta property="og:title" content="'.$og['title'].'">'.PHP_EOL;
$html .= '<meta property="og:description" content="'.$og['description'].'">'.PHP_EOL;
$html .= '<meta property="og:image" content="'.$og['image'].'">'.PHP_EOL;
$html .= '<meta property="og:url" content="'.$og['url'].'">'.PHP_EOL;
$html .= '<meta property="og:siteName" content="'.$og['siteName'].'">'.PHP_EOL;
// Get the image from the content
$src = $this->getImage( $content );
if($src!==false) {
$og['image'] = $Site->domain().$src;
$html .= '<meta property="og:image" content="'.$og['image'].'">'.PHP_EOL;
}
return $html;
}
}

View File

@ -0,0 +1,10 @@
{
"plugin-data":
{
"name": "Страници списък",
"description": "Показва списък на страниците."
},
"home": "Начало",
"show-home-link": "Покажи връзката към начало"
}

View File

@ -6,8 +6,8 @@
"author": "Bludit",
"email": "",
"website": "https://github.com/dignajar/bludit-plugins",
"version": "0.6",
"releaseDate": "2015-11-13"
"version": "0.7",
"releaseDate": "2015-12-01"
},
"home": "Home",

View File

@ -0,0 +1,10 @@
{
"plugin-data":
{
"name": "Список страниц",
"description": "Показывает упорядоченый список страниц."
},
"home": "Главная",
"show-home-link": "Показывать ссылку на главную"
}

View File

@ -0,0 +1,10 @@
{
"plugin-data":
{
"name": "Sayfa listesi",
"description": "Sayfaları listeler.",
},
"home": "Anasayfa",
"show-home-link": "Anasayfa linkini göster"
}

View File

@ -0,0 +1,10 @@
{
"plugin-data":
{
"name": "Список сторінок",
"description": "Показує список сторінок по порядку."
},
"home": "Головна",
"show-home-link": "Показувати лінк на головну сторінку"
}

View File

@ -0,0 +1,9 @@
{
"plugin-data":
{
"name": "SimpleMDE",
"description": "Един прост и красив редактор с поддръжка на JavaScript и Мarkdown от WesCossick. Адаптиран от Diego Najar за Bludit. "
},
"toolbar": "Панел с инструменти",
"tab-size": "Размер на панела"
}

View File

@ -2,7 +2,7 @@
"plugin-data":
{
"name": "SimpleMDE",
"description": "Simple y facil editor Markdown desarrollado por @WesCossick. Adaptado por Diego Najar para Bludit."
"description": "Simple y sensillo editor Markdown desarrollado por @WesCossick. Adaptado por Diego Najar para Bludit."
},
"toolbar": "Barra de herramientas",
"tab-size": "Tamaño de la tabulación"

View File

@ -0,0 +1,9 @@
{
"plugin-data":
{
"name": "SimpleMDE",
"description": "Простой, красивый, и встраиваемый JavaScript редактор markdown автора @WesCossick. Адаптировано Diego Najar для Bludit."
},
"toolbar": "Панель инструментов",
"tab-size": "Размер панели"
}

View File

@ -0,0 +1,9 @@
{
"plugin-data":
{
"name": "SimpleMDE",
"description": "Basit, güzel ve gömülü bir Javascript editörü ,@WesCossick tarafından yapılmıştır. Bludit için uyarlayan Diego Najar.",
},
"toolbar": "Araçlar",
"tab-size": "Boşluk boyutu"
}

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