commit
e2a8df7da0
@ -7,7 +7,7 @@ Bludit is a simple web application to make your own **blog** or **site** in seco
|
|||||||
- [Documentation](https://docs.bludit.com)
|
- [Documentation](https://docs.bludit.com)
|
||||||
- [Help and Support](https://forum.bludit.com)
|
- [Help and Support](https://forum.bludit.com)
|
||||||
- [Plugins](https://plugins.bludit.com)
|
- [Plugins](https://plugins.bludit.com)
|
||||||
- [Themes](https://github.com/dignajar/bludit-themes)
|
- [Themes](https://themes.bludit.com)
|
||||||
- [More plugins and themes](https://forum.bludit.com/viewforum.php?f=14)
|
- [More plugins and themes](https://forum.bludit.com/viewforum.php?f=14)
|
||||||
|
|
||||||
Social networks
|
Social networks
|
||||||
|
@ -288,7 +288,7 @@ class Content {
|
|||||||
return '/'.$htmlPath.'/'.$tmp;
|
return '/'.$htmlPath.'/'.$tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function json()
|
public function json($returnsArray=false)
|
||||||
{
|
{
|
||||||
$tmp['key'] = $this->key();
|
$tmp['key'] = $this->key();
|
||||||
$tmp['title'] = $this->title();
|
$tmp['title'] = $this->title();
|
||||||
@ -298,6 +298,10 @@ class Content {
|
|||||||
$tmp['date'] = $this->dateRaw();
|
$tmp['date'] = $this->dateRaw();
|
||||||
$tmp['permalink'] = $this->permalink(true);
|
$tmp['permalink'] = $this->permalink(true);
|
||||||
|
|
||||||
|
if($returnsArray) {
|
||||||
|
return $tmp;
|
||||||
|
}
|
||||||
|
|
||||||
return json_encode($tmp);
|
return json_encode($tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -105,7 +105,7 @@ class Plugin {
|
|||||||
|
|
||||||
public function setDb($args)
|
public function setDb($args)
|
||||||
{
|
{
|
||||||
$tmp = array();
|
$tmp = $this->db;
|
||||||
|
|
||||||
foreach($this->dbFields as $key=>$value)
|
foreach($this->dbFields as $key=>$value)
|
||||||
{
|
{
|
||||||
@ -120,10 +120,6 @@ class Plugin {
|
|||||||
// Set value
|
// Set value
|
||||||
$tmp[$key] = $tmpValue;
|
$tmp[$key] = $tmpValue;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$tmp[$key] = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->db = $tmp;
|
$this->db = $tmp;
|
||||||
@ -174,6 +170,13 @@ class Plugin {
|
|||||||
return $this->className;
|
return $this->className;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function isCompatible()
|
||||||
|
{
|
||||||
|
$explode = explode(',', $this->getMetadata('compatible'));
|
||||||
|
|
||||||
|
return in_array(BLUDIT_VERSION, $explode);
|
||||||
|
}
|
||||||
|
|
||||||
public function directoryName()
|
public function directoryName()
|
||||||
{
|
{
|
||||||
return $this->directoryName;
|
return $this->directoryName;
|
||||||
@ -186,7 +189,7 @@ class Plugin {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create plugin directory for databases and others files.
|
// Create plugin directory for databases and other files
|
||||||
mkdir(PATH_PLUGINS_DATABASES.$this->directoryName, 0755, true);
|
mkdir(PATH_PLUGINS_DATABASES.$this->directoryName, 0755, true);
|
||||||
|
|
||||||
// Create database
|
// Create database
|
||||||
|
@ -90,8 +90,15 @@ li.bludit-logo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bludit-user-navbar {
|
.bludit-user-navbar {
|
||||||
text-align: right !important;
|
background: #333 none repeat scroll 0 0;
|
||||||
padding-right: 60px !important;
|
border-color: #ccc;
|
||||||
|
border-radius: 0 0 5px 5px !important;
|
||||||
|
color: #fff;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bludit-user-navbar a {
|
||||||
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 333px) and (max-width: 959px) {
|
@media (min-width: 333px) and (max-width: 959px) {
|
||||||
@ -275,14 +282,14 @@ table.statistics tr:last-child td {
|
|||||||
/* ----------- ALERT ----------- */
|
/* ----------- ALERT ----------- */
|
||||||
|
|
||||||
#alert {
|
#alert {
|
||||||
|
bottom: 0;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
display: none;
|
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
display: none;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
top: 0;
|
|
||||||
width: 100%;
|
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
|
right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.alert-ok {
|
.alert-ok {
|
||||||
@ -651,3 +658,7 @@ div.plugin-links > span.separator {
|
|||||||
margin-bottom: 0px !important;
|
margin-bottom: 0px !important;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#jsformplugin p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
0
bl-kernel/admin/themes/default/css/fonts/FontAwesome.otf
Executable file → Normal file
0
bl-kernel/admin/themes/default/css/fonts/FontAwesome.otf
Executable file → Normal file
0
bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.ttf
Executable file → Normal file
0
bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.ttf
Executable file → Normal file
0
bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff
Executable file → Normal file
0
bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff
Executable file → Normal file
0
bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff2
Executable file → Normal file
0
bl-kernel/admin/themes/default/css/fonts/fontawesome-webfont.woff2
Executable file → Normal file
2
bl-kernel/admin/themes/default/css/uikit/form-file.almost-flat.min.css
vendored
Executable file → Normal file
2
bl-kernel/admin/themes/default/css/uikit/form-file.almost-flat.min.css
vendored
Executable file → Normal file
@ -1,2 +1,2 @@
|
|||||||
/*! UIkit 2.26.2 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
/*! UIkit 2.26.3 | 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}
|
.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}
|
2
bl-kernel/admin/themes/default/css/uikit/placeholder.almost-flat.min.css
vendored
Executable file → Normal file
2
bl-kernel/admin/themes/default/css/uikit/placeholder.almost-flat.min.css
vendored
Executable file → Normal file
@ -1,2 +1,2 @@
|
|||||||
/*! UIkit 2.26.2 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
/*! UIkit 2.26.3 | 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}
|
.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}
|
2
bl-kernel/admin/themes/default/css/uikit/progress.almost-flat.min.css
vendored
Executable file → Normal file
2
bl-kernel/admin/themes/default/css/uikit/progress.almost-flat.min.css
vendored
Executable file → Normal file
@ -1,2 +1,2 @@
|
|||||||
/*! UIkit 2.26.2 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
/*! UIkit 2.26.3 | 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}
|
.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}
|
4
bl-kernel/admin/themes/default/css/uikit/uikit.almost-flat.min.css
vendored
Executable file → Normal file
4
bl-kernel/admin/themes/default/css/uikit/uikit.almost-flat.min.css
vendored
Executable file → Normal file
File diff suppressed because one or more lines are too long
2
bl-kernel/admin/themes/default/css/uikit/upload.almost-flat.min.css
vendored
Executable file → Normal file
2
bl-kernel/admin/themes/default/css/uikit/upload.almost-flat.min.css
vendored
Executable file → Normal file
@ -1,2 +1,2 @@
|
|||||||
/*! UIkit 2.26.2 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
/*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||||
.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}
|
.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}
|
@ -100,7 +100,8 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
<div class="uk-navbar-flip">
|
<div class="uk-navbar-flip">
|
||||||
<ul class="uk-navbar-nav">
|
<ul class="uk-navbar-nav">
|
||||||
<li>
|
<li class="uk-parent" data-uk-dropdown>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$profilePictureSrc = HTML_PATH_ADMIN_THEME_IMG.'default.png';
|
$profilePictureSrc = HTML_PATH_ADMIN_THEME_IMG.'default.png';
|
||||||
if(file_exists(PATH_UPLOADS_PROFILES.$Login->username().'.png')) {
|
if(file_exists(PATH_UPLOADS_PROFILES.$Login->username().'.png')) {
|
||||||
@ -110,6 +111,12 @@ $(document).ready(function() {
|
|||||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$Login->username() ?>">
|
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$Login->username() ?>">
|
||||||
<img class="uk-border-circle" width="28px" src="<?php echo $profilePictureSrc ?>" alt=""> Welcome <?php echo $Login->username() ?>
|
<img class="uk-border-circle" width="28px" src="<?php echo $profilePictureSrc ?>" alt=""> Welcome <?php echo $Login->username() ?>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<div class="uk-dropdown uk-dropdown-navbar bludit-user-navbar">
|
||||||
|
<ul class="uk-nav uk-nav-navbar">
|
||||||
|
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'logout' ?>"><?php $L->p('Logout') ?></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
File diff suppressed because one or more lines are too long
6
bl-kernel/admin/themes/default/js/uikit/uikit.min.js
vendored
Executable file → Normal file
6
bl-kernel/admin/themes/default/js/uikit/uikit.min.js
vendored
Executable file → Normal file
File diff suppressed because one or more lines are too long
258
bl-kernel/admin/themes/default/js/uikit/upload.min.js
vendored
Executable file → Normal file
258
bl-kernel/admin/themes/default/js/uikit/upload.min.js
vendored
Executable file → Normal file
@ -1,2 +1,256 @@
|
|||||||
/*! UIkit 2.26.2 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
(function(addon) {
|
||||||
!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});
|
|
||||||
|
var component;
|
||||||
|
|
||||||
|
if (window.UIkit) {
|
||||||
|
component = addon(UIkit);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof define == "function" && define.amd) {
|
||||||
|
define("uikit-upload", ["uikit"], function(){
|
||||||
|
return component || addon(UIkit);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
})(function(UI){
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
UI.component('uploadSelect', {
|
||||||
|
|
||||||
|
init: function() {
|
||||||
|
|
||||||
|
var $this = this;
|
||||||
|
|
||||||
|
this.on("change", function() {
|
||||||
|
xhrupload($this.element[0].files, $this.options);
|
||||||
|
var twin = $this.element.clone(true).data('uploadSelect', $this);
|
||||||
|
$this.element.replaceWith(twin);
|
||||||
|
$this.element = twin;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
UI.component('uploadDrop', {
|
||||||
|
|
||||||
|
defaults: {
|
||||||
|
'dragoverClass': 'uk-dragover'
|
||||||
|
},
|
||||||
|
|
||||||
|
init: function() {
|
||||||
|
|
||||||
|
var $this = this, hasdragCls = false;
|
||||||
|
|
||||||
|
this.on("drop", function(e){
|
||||||
|
|
||||||
|
if (e.originalEvent.dataTransfer && e.originalEvent.dataTransfer.files) {
|
||||||
|
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
$this.element.removeClass($this.options.dragoverClass);
|
||||||
|
$this.element.trigger('dropped.uk.upload', [e.originalEvent.dataTransfer.files]);
|
||||||
|
|
||||||
|
xhrupload(e.originalEvent.dataTransfer.files, $this.options);
|
||||||
|
}
|
||||||
|
|
||||||
|
}).on("dragenter", function(e){
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
}).on("dragover", function(e){
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (!hasdragCls) {
|
||||||
|
$this.element.addClass($this.options.dragoverClass);
|
||||||
|
hasdragCls = true;
|
||||||
|
}
|
||||||
|
}).on("dragleave", function(e){
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
$this.element.removeClass($this.options.dragoverClass);
|
||||||
|
hasdragCls = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
UI.support.ajaxupload = (function() {
|
||||||
|
|
||||||
|
function supportFileAPI() {
|
||||||
|
var fi = document.createElement('INPUT'); fi.type = 'file'; return 'files' in fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
function supportAjaxUploadProgressEvents() {
|
||||||
|
var xhr = new XMLHttpRequest(); return !! (xhr && ('upload' in xhr) && ('onprogress' in xhr.upload));
|
||||||
|
}
|
||||||
|
|
||||||
|
function supportFormData() {
|
||||||
|
return !! window.FormData;
|
||||||
|
}
|
||||||
|
|
||||||
|
return supportFileAPI() && supportAjaxUploadProgressEvents() && supportFormData();
|
||||||
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
function xhrupload(files, settings) {
|
||||||
|
|
||||||
|
if (!UI.support.ajaxupload){
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
settings = UI.$.extend({}, xhrupload.defaults, settings);
|
||||||
|
|
||||||
|
if (!files.length){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settings.allow !== '*.*') {
|
||||||
|
|
||||||
|
for(var i=0,file;file=files[i];i++) {
|
||||||
|
|
||||||
|
if(!matchName(settings.allow, file.name)) {
|
||||||
|
|
||||||
|
if(typeof(settings.notallowed) == 'string') {
|
||||||
|
alert(settings.notallowed);
|
||||||
|
} else {
|
||||||
|
settings.notallowed(file, settings);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var complete = settings.complete;
|
||||||
|
|
||||||
|
if (settings.single){
|
||||||
|
|
||||||
|
var count = files.length,
|
||||||
|
uploaded = 0,
|
||||||
|
allow = true;
|
||||||
|
|
||||||
|
settings.beforeAll(files);
|
||||||
|
|
||||||
|
settings.complete = function(response, xhr){
|
||||||
|
|
||||||
|
uploaded = uploaded + 1;
|
||||||
|
|
||||||
|
complete(response, xhr);
|
||||||
|
|
||||||
|
if (settings.filelimit && uploaded >= settings.filelimit){
|
||||||
|
allow = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (allow && uploaded<count){
|
||||||
|
upload([files[uploaded]], settings);
|
||||||
|
} else {
|
||||||
|
settings.allcomplete(response, xhr);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
upload([files[0]], settings);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
settings.complete = function(response, xhr){
|
||||||
|
complete(response, xhr);
|
||||||
|
settings.allcomplete(response, xhr);
|
||||||
|
};
|
||||||
|
|
||||||
|
upload(files, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
function upload(files, settings){
|
||||||
|
|
||||||
|
// upload all at once
|
||||||
|
var formData = new FormData(), xhr = new XMLHttpRequest();
|
||||||
|
|
||||||
|
if (settings.before(settings, files)===false) return;
|
||||||
|
|
||||||
|
for (var i = 0, f; f = files[i]; i++) { formData.append(settings.param, f); }
|
||||||
|
for (var p in settings.params) { formData.append(p, settings.params[p]); }
|
||||||
|
|
||||||
|
// Add any event handlers here...
|
||||||
|
xhr.upload.addEventListener("progress", function(e){
|
||||||
|
var percent = (e.loaded / e.total)*100;
|
||||||
|
settings.progress(percent, e);
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
xhr.addEventListener("loadstart", function(e){ settings.loadstart(e); }, false);
|
||||||
|
xhr.addEventListener("load", function(e){ settings.load(e); }, false);
|
||||||
|
xhr.addEventListener("loadend", function(e){ settings.loadend(e); }, false);
|
||||||
|
xhr.addEventListener("error", function(e){ settings.error(e); }, false);
|
||||||
|
xhr.addEventListener("abort", function(e){ settings.abort(e); }, false);
|
||||||
|
|
||||||
|
xhr.open(settings.method, settings.action, true);
|
||||||
|
|
||||||
|
if (settings.type=="json") {
|
||||||
|
xhr.setRequestHeader("Accept", "application/json");
|
||||||
|
}
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function() {
|
||||||
|
|
||||||
|
settings.readystatechange(xhr);
|
||||||
|
|
||||||
|
if (xhr.readyState==4){
|
||||||
|
|
||||||
|
var response = xhr.responseText;
|
||||||
|
|
||||||
|
if (settings.type=="json") {
|
||||||
|
try {
|
||||||
|
response = UI.$.parseJSON(response);
|
||||||
|
} catch(e) {
|
||||||
|
response = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
settings.complete(response, xhr);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
settings.beforeSend(xhr);
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
xhrupload.defaults = {
|
||||||
|
'action': '',
|
||||||
|
'single': true,
|
||||||
|
'method': 'POST',
|
||||||
|
'param' : 'files[]',
|
||||||
|
'params': {},
|
||||||
|
'allow' : '*.*',
|
||||||
|
'type' : 'text',
|
||||||
|
'filelimit': false,
|
||||||
|
|
||||||
|
// events
|
||||||
|
'before' : function(o){},
|
||||||
|
'beforeSend' : function(xhr){},
|
||||||
|
'beforeAll' : function(){},
|
||||||
|
'loadstart' : function(){},
|
||||||
|
'load' : function(){},
|
||||||
|
'loadend' : function(){},
|
||||||
|
'error' : function(){},
|
||||||
|
'abort' : function(){},
|
||||||
|
'progress' : function(){},
|
||||||
|
'complete' : function(){},
|
||||||
|
'allcomplete' : function(){},
|
||||||
|
'readystatechange': function(){},
|
||||||
|
'notallowed' : function(file, settings){ alert('Only the following file types are allowed: '+settings.allow); }
|
||||||
|
};
|
||||||
|
|
||||||
|
function matchName(pattern, path) {
|
||||||
|
|
||||||
|
var parsedPattern = '^' + pattern.replace(/\//g, '\\/').
|
||||||
|
replace(/\*\*/g, '(\\/[^\\/]+)*').
|
||||||
|
replace(/\*/g, '[^\\/]+').
|
||||||
|
replace(/((?!\\))\?/g, '$1.') + '$';
|
||||||
|
|
||||||
|
parsedPattern = '^' + parsedPattern + '$';
|
||||||
|
|
||||||
|
return (path.match(new RegExp(parsedPattern, 'i')) !== null);
|
||||||
|
}
|
||||||
|
|
||||||
|
UI.Utils.xhrupload = xhrupload;
|
||||||
|
|
||||||
|
return xhrupload;
|
||||||
|
});
|
@ -16,7 +16,7 @@ HTML::formOpen(array('id'=>'edit-user-profile-form','class'=>'uk-form-horizontal
|
|||||||
'value'=>$_user['username']
|
'value'=>$_user['username']
|
||||||
));
|
));
|
||||||
|
|
||||||
HTML::legend(array('value'=>$L->g('New password')));
|
HTML::legend(array('value'=>$L->g('New password'), 'class'=>'first-child'));
|
||||||
|
|
||||||
HTML::formInputText(array(
|
HTML::formInputText(array(
|
||||||
'name'=>'usernameDisable',
|
'name'=>'usernameDisable',
|
||||||
|
@ -40,15 +40,15 @@ if($type=='profilePicture')
|
|||||||
$username = Sanitize::html($_POST['username']);
|
$username = Sanitize::html($_POST['username']);
|
||||||
$tmpName = $username.'.png';
|
$tmpName = $username.'.png';
|
||||||
$Image = new Image();
|
$Image = new Image();
|
||||||
$Image->setImage(PATH_TMP.'original'.'.'.$fileExtension, '400', '400', 'crop');
|
$Image->setImage(PATH_TMP.'original'.'.'.$fileExtension, PROFILE_IMG_WIDTH, PROFILE_IMG_HEIGHT, 'crop');
|
||||||
$Image->saveImage(PATH_UPLOADS_PROFILES.$tmpName, 100, false, true);
|
$Image->saveImage(PATH_UPLOADS_PROFILES.$tmpName, PROFILE_IMG_QUALITY, false, true);
|
||||||
}
|
}
|
||||||
// --- OTHERS ---
|
// --- OTHERS ---
|
||||||
else {
|
else {
|
||||||
// Generate the thumbnail
|
// Generate the thumbnail
|
||||||
$Image = new Image();
|
$Image = new Image();
|
||||||
$Image->setImage(PATH_TMP.'original'.'.'.$fileExtension, THUMBNAILS_WIDTH, THUMBNAILS_HEIGHT, 'crop');
|
$Image->setImage(PATH_TMP.'original'.'.'.$fileExtension, THUMBNAILS_WIDTH, THUMBNAILS_HEIGHT, 'crop');
|
||||||
$Image->saveImage(PATH_UPLOADS_THUMBNAILS.$tmpName, 100, true);
|
$Image->saveImage(PATH_UPLOADS_THUMBNAILS.$tmpName, THUMBNAILS_QUALITY, true);
|
||||||
|
|
||||||
// Move the original to the upload folder.
|
// Move the original to the upload folder.
|
||||||
rename(PATH_TMP.'original'.'.'.$fileExtension, PATH_UPLOADS.$tmpName);
|
rename(PATH_TMP.'original'.'.'.$fileExtension, PATH_UPLOADS.$tmpName);
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<?php defined('BLUDIT') or die('Bludit CMS.');
|
<?php defined('BLUDIT') or die('Bludit CMS.');
|
||||||
|
|
||||||
// Bludit version
|
// Bludit version
|
||||||
define('BLUDIT_VERSION', 'GithubVersion');
|
define('BLUDIT_VERSION', '1.4');
|
||||||
define('BLUDIT_CODENAME', '');
|
define('BLUDIT_CODENAME', 'Spot');
|
||||||
define('BLUDIT_RELEASE_DATE', '');
|
define('BLUDIT_RELEASE_DATE', '2016-06-19');
|
||||||
define('BLUDIT_BUILD', '');
|
define('BLUDIT_BUILD', '20160619');
|
||||||
|
|
||||||
// Debug mode
|
// Debug mode
|
||||||
define('DEBUG_MODE', TRUE);
|
define('DEBUG_MODE', TRUE);
|
||||||
@ -65,12 +65,20 @@ define('ALERT_STATUS_OK', 0);
|
|||||||
// Alert status fail
|
// Alert status fail
|
||||||
define('ALERT_STATUS_FAIL', 1);
|
define('ALERT_STATUS_FAIL', 1);
|
||||||
|
|
||||||
// Salt length
|
// Amount of thumbnails shown on Bludit Quick images
|
||||||
define('THUMBNAILS_WIDTH', 400);
|
|
||||||
define('THUMBNAILS_HEIGHT', 400);
|
|
||||||
define('THUMBNAILS_AMOUNT', 6);
|
define('THUMBNAILS_AMOUNT', 6);
|
||||||
|
|
||||||
// Salt length
|
// Thubmnails size
|
||||||
|
define('THUMBNAILS_WIDTH', 400);
|
||||||
|
define('THUMBNAILS_HEIGHT', 400);
|
||||||
|
define('THUMBNAILS_QUALITY', 100); // 100%
|
||||||
|
|
||||||
|
// Profile image size
|
||||||
|
define('PROFILE_IMG_WIDTH', 400);
|
||||||
|
define('PROFILE_IMG_HEIGHT', 400);
|
||||||
|
define('PROFILE_IMG_QUALITY', 100); // 100%
|
||||||
|
|
||||||
|
// Password salt length
|
||||||
define('SALT_LENGTH', 8);
|
define('SALT_LENGTH', 8);
|
||||||
|
|
||||||
// Page brake string
|
// Page brake string
|
||||||
@ -83,7 +91,7 @@ define('NO_PARENT_CHAR', '3849abb4cb7abd24c2d8dac17b216f17');
|
|||||||
define('POSTS_PER_PAGE_ADMIN', 10);
|
define('POSTS_PER_PAGE_ADMIN', 10);
|
||||||
|
|
||||||
// Cli mode status for new posts/pages
|
// Cli mode status for new posts/pages
|
||||||
define('CLI_MODE', true);
|
define('CLI_MODE', false);
|
||||||
|
|
||||||
// Cli mode status for new posts/pages
|
// Cli mode status for new posts/pages
|
||||||
define('CLI_STATUS', 'published');
|
define('CLI_STATUS', 'published');
|
||||||
@ -106,6 +114,9 @@ define('TOKEN_EMAIL_TTL', '+15 minutes');
|
|||||||
// Charset, default UTF-8.
|
// Charset, default UTF-8.
|
||||||
define('CHARSET', 'UTF-8');
|
define('CHARSET', 'UTF-8');
|
||||||
|
|
||||||
|
// EXTREME FRIENDLY URL, TRUE for dissmiss internet standard
|
||||||
|
define('EXTREME_FRIENDLY_URL', false);
|
||||||
|
|
||||||
// Directory permissions
|
// Directory permissions
|
||||||
define('DIR_PERMISSIONS', 0755);
|
define('DIR_PERMISSIONS', 0755);
|
||||||
|
|
||||||
|
@ -96,16 +96,20 @@ function buildPlugins()
|
|||||||
$Language->add($database);
|
$Language->add($database);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Push Plugin to array all plugins installed and not installed.
|
// If the plugin is compatible with the Bludit version, add to arrays
|
||||||
$plugins['all'][$pluginClass] = $Plugin;
|
if($Plugin->isCompatible()) {
|
||||||
|
|
||||||
// If the plugin is installed, order by hooks.
|
// Push Plugin to array all plugins installed and not installed.
|
||||||
if($Plugin->installed())
|
$plugins['all'][$pluginClass] = $Plugin;
|
||||||
{
|
|
||||||
foreach($pluginsEvents as $event=>$value)
|
// If the plugin is installed, order by hooks.
|
||||||
{
|
if($Plugin->installed()) {
|
||||||
if(method_exists($Plugin, $event)) {
|
|
||||||
array_push($plugins[$event], $Plugin);
|
foreach($pluginsEvents as $event=>$value) {
|
||||||
|
|
||||||
|
if(method_exists($Plugin, $event)) {
|
||||||
|
array_push($plugins[$event], $Plugin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,9 +48,20 @@ function buildThemes()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$database = $database + $metadata;
|
// Check if the theme is compatible
|
||||||
|
if(empty($metadata['compatible'])) {
|
||||||
|
Log::set('99.themes.php'.LOG_SEP.'Metadata error, field compatible invalid '.$themePath);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$explode = explode(',', $metadata['compatible']);
|
||||||
|
if(!in_array(BLUDIT_VERSION, $explode)) {
|
||||||
|
Log::set('99.themes.php'.LOG_SEP.'Theme incompatible '.$themePath);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Theme data
|
// Theme data
|
||||||
|
$database = $database + $metadata;
|
||||||
array_push($themes, $database);
|
array_push($themes, $database);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ class dbLanguage extends dbJSON
|
|||||||
return $this->db[$key];
|
return $this->db[$key];
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return $string;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns translation.
|
// Returns translation.
|
||||||
@ -71,7 +71,7 @@ class dbLanguage extends dbJSON
|
|||||||
|
|
||||||
public function add($array)
|
public function add($array)
|
||||||
{
|
{
|
||||||
$this->db = array_merge($this->db, $array);
|
$this->db = array_merge($array, $this->db);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the item from plugin-data.
|
// Returns the item from plugin-data.
|
||||||
|
@ -15,25 +15,30 @@ class dbPosts extends dbJSON
|
|||||||
'coverImage'=> array('inFile'=>false, 'value'=>'')
|
'coverImage'=> array('inFile'=>false, 'value'=>'')
|
||||||
);
|
);
|
||||||
|
|
||||||
private $numberPosts = array(
|
|
||||||
'total'=>0,
|
|
||||||
'published'=>0
|
|
||||||
);
|
|
||||||
|
|
||||||
function __construct()
|
function __construct()
|
||||||
{
|
{
|
||||||
parent::__construct(PATH_DATABASES.'posts.php');
|
parent::__construct(PATH_DATABASES.'posts.php');
|
||||||
|
|
||||||
$this->numberPosts['total'] = count($this->db);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return the amount of posts
|
||||||
|
// $total = TRUE, returns the total of posts
|
||||||
|
// $total = FALSE, return the amount of published posts
|
||||||
public function numberPost($total=false)
|
public function numberPost($total=false)
|
||||||
{
|
{
|
||||||
|
// Amount of posts, published, scheduled and draft
|
||||||
if($total) {
|
if($total) {
|
||||||
return $this->numberPosts['total'];
|
return count($this->db);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->numberPosts['published'];
|
// Amount of published posts
|
||||||
|
$i = 0;
|
||||||
|
foreach($this->db as $values) {
|
||||||
|
if($values['status']=='published') {
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $i;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the database
|
// Returns the database
|
||||||
@ -232,12 +237,12 @@ class dbPosts extends dbJSON
|
|||||||
// Returns an array with a list of posts keys, filtered by a page number.
|
// Returns an array with a list of posts keys, filtered by a page number.
|
||||||
public function getList($pageNumber, $postPerPage, $removeUnpublished=true)
|
public function getList($pageNumber, $postPerPage, $removeUnpublished=true)
|
||||||
{
|
{
|
||||||
$totalPosts = $this->numberPosts['total'];
|
$totalPosts = $this->numberPost(true);
|
||||||
|
|
||||||
// Remove the unpublished posts.
|
// Remove the unpublished posts.
|
||||||
if($removeUnpublished) {
|
if($removeUnpublished) {
|
||||||
$this->removeUnpublished();
|
$this->removeUnpublished();
|
||||||
$totalPosts = $this->numberPosts['published'];
|
$totalPosts = $this->numberPost(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$init = (int) $postPerPage * $pageNumber;
|
$init = (int) $postPerPage * $pageNumber;
|
||||||
@ -247,7 +252,7 @@ class dbPosts extends dbJSON
|
|||||||
if(!$outrange) {
|
if(!$outrange) {
|
||||||
$tmp = array_slice($this->db, $init, $postPerPage, true);
|
$tmp = array_slice($this->db, $init, $postPerPage, true);
|
||||||
|
|
||||||
// Restore the database because we delete the unpublished posts.
|
// Restore the database because we deleted the unpublished posts.
|
||||||
$this->restoreDB();
|
$this->restoreDB();
|
||||||
|
|
||||||
return $tmp;
|
return $tmp;
|
||||||
@ -302,15 +307,12 @@ class dbPosts extends dbJSON
|
|||||||
// Remove unpublished posts, status != published.
|
// Remove unpublished posts, status != published.
|
||||||
public function removeUnpublished()
|
public function removeUnpublished()
|
||||||
{
|
{
|
||||||
foreach($this->db as $key=>$values)
|
foreach($this->db as $key=>$values) {
|
||||||
{
|
|
||||||
if($values['status']!='published') {
|
if($values['status']!='published') {
|
||||||
unset($this->db[$key]);
|
unset($this->db[$key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->numberPosts['published'] = count($this->db);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,6 +115,11 @@ class Text {
|
|||||||
|
|
||||||
public static function cleanUrl($string, $separator='-')
|
public static function cleanUrl($string, $separator='-')
|
||||||
{
|
{
|
||||||
|
if(EXTREME_FRIENDLY_URL) {
|
||||||
|
$string = preg_replace("/[\/_|+ -]+/", $separator, $string);
|
||||||
|
return $string;
|
||||||
|
}
|
||||||
|
|
||||||
// Transliterate characters to ASCII
|
// Transliterate characters to ASCII
|
||||||
$string = str_replace(array_keys(self::$specialChars), self::$specialChars, $string);
|
$string = str_replace(array_keys(self::$specialChars), self::$specialChars, $string);
|
||||||
|
|
||||||
|
@ -14,6 +14,14 @@ class Security extends dbJSON
|
|||||||
parent::__construct(PATH_DATABASES.'security.php');
|
parent::__construct(PATH_DATABASES.'security.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Authentication key
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
public function key1()
|
||||||
|
{
|
||||||
|
return $this->db['key1'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ====================================================
|
// ====================================================
|
||||||
// TOKEN FOR CSRF
|
// TOKEN FOR CSRF
|
||||||
// ====================================================
|
// ====================================================
|
||||||
|
@ -200,7 +200,7 @@
|
|||||||
"view-and-edit-your-profile": "Преглед и редактиране на профила ви.",
|
"view-and-edit-your-profile": "Преглед и редактиране на профила ви.",
|
||||||
|
|
||||||
"password-must-be-at-least-6-characters-long": "Паролата трябва да е с дължина най-малко 6 символа",
|
"password-must-be-at-least-6-characters-long": "Паролата трябва да е с дължина най-малко 6 символа",
|
||||||
"images": "Изображения",
|
"images":"Изображения",
|
||||||
"upload-image": "Прикачи изображение",
|
"upload-image": "Прикачи изображение",
|
||||||
"drag-and-drop-or-click-here": "Влачите и пускате или натиснете тук",
|
"drag-and-drop-or-click-here": "Влачите и пускате или натиснете тук",
|
||||||
"insert-image": "Вмъкни изображение",
|
"insert-image": "Вмъкни изображение",
|
||||||
@ -232,6 +232,10 @@
|
|||||||
"click-on-the-image-for-options": "Кликнете върху изображението за опции.",
|
"click-on-the-image-for-options": "Кликнете върху изображението за опции.",
|
||||||
"set-as-cover-image": "Задай като обложка ",
|
"set-as-cover-image": "Задай като обложка ",
|
||||||
"delete-image": "Изтрий изображенито",
|
"delete-image": "Изтрий изображенито",
|
||||||
"image-description": "Описание на изображението "
|
"image-description": "Описание на изображението ",
|
||||||
|
"social-networks-links": "Социалните мрежи",
|
||||||
|
|
||||||
|
"email-access-code": "Имейл код за достъп",
|
||||||
|
"current-format": "Текущ формат"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,6 +226,7 @@
|
|||||||
|
|
||||||
"click-here-to-cancel": "Clic aquí para cancelar.",
|
"click-here-to-cancel": "Clic aquí para cancelar.",
|
||||||
"type-the-tag-and-press-enter": "Escriba la etiqueta y presione enter.",
|
"type-the-tag-and-press-enter": "Escriba la etiqueta y presione enter.",
|
||||||
|
"add": "Agregar",
|
||||||
"manage-your-bludit-from-the-admin-panel": "Administre su Bludit desde el [panel de administración]({{ADMIN_AREA_LINK}})",
|
"manage-your-bludit-from-the-admin-panel": "Administre su Bludit desde el [panel de administración]({{ADMIN_AREA_LINK}})",
|
||||||
"there-are-no-images":"No hay imagenes",
|
"there-are-no-images":"No hay imagenes",
|
||||||
|
|
||||||
@ -234,5 +235,8 @@
|
|||||||
"delete-image": "Eliminar imagen",
|
"delete-image": "Eliminar imagen",
|
||||||
"image-description": "Descripción de la imagen",
|
"image-description": "Descripción de la imagen",
|
||||||
|
|
||||||
"social-networks-links": "Redes sociales enlaces"
|
"social-networks-links": "Redes sociales enlaces",
|
||||||
|
|
||||||
|
"email-access-code": "Código de acceso via email",
|
||||||
|
"current-format": "Formato actual"
|
||||||
}
|
}
|
242
bl-languages/fi_FI.json
Normal file
242
bl-languages/fi_FI.json
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
{
|
||||||
|
"language-data":
|
||||||
|
{
|
||||||
|
"native": "Suomi (Suomi)",
|
||||||
|
"english-name": "Finnish",
|
||||||
|
"last-update": "2016-06-11",
|
||||||
|
"author": "Tuomas K.",
|
||||||
|
"email": "",
|
||||||
|
"website": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"username": "Käyttäjätunnus",
|
||||||
|
"password": "Salasana",
|
||||||
|
"confirm-password": "Vahvista salasana",
|
||||||
|
"editor": "Kirjoittaja",
|
||||||
|
"dashboard": "Hallintapaneeli",
|
||||||
|
"role": "Tyyppi",
|
||||||
|
"post": "Blogikirjoitus",
|
||||||
|
"posts": "Blogikirjoitukset",
|
||||||
|
"users": "Käyttäjät",
|
||||||
|
"administrator": "Ylläpitäjä",
|
||||||
|
"add": "Lisää",
|
||||||
|
"cancel": "Peruuta",
|
||||||
|
"content": "Sisältö",
|
||||||
|
"title": "Otsikko",
|
||||||
|
"no-parent": "Ei ole",
|
||||||
|
"edit-page": "Muokkaa sivua",
|
||||||
|
"edit-post": "Muokkaa blogikirjoitusta",
|
||||||
|
"add-a-new-user": "Lisää uusi käyttäjä",
|
||||||
|
"parent": "Onko tämä jonkun sivun alasivu?",
|
||||||
|
"friendly-url": "Sivun osoite",
|
||||||
|
"description": "Kuvaus",
|
||||||
|
"posted-by": "Julkaisija",
|
||||||
|
"tags": "Tagit",
|
||||||
|
"position": "Sijainti navigaatiossa",
|
||||||
|
"save": "Tallenna",
|
||||||
|
"draft": "Luonnos",
|
||||||
|
"delete": "Poista",
|
||||||
|
"registered": "Käyttäjä luotu",
|
||||||
|
"notifications": "Ilmoitukset",
|
||||||
|
"profile": "Profiili",
|
||||||
|
"email": "Sähköpostiosoite",
|
||||||
|
"settings": "Asetukset",
|
||||||
|
"general": "Yleiset",
|
||||||
|
"advanced": "Lisäasetukset",
|
||||||
|
"regional": "Alueellinen",
|
||||||
|
"about": "Tietoja",
|
||||||
|
"login": "Kirjaudu sisään",
|
||||||
|
"logout": "Kirjaudu ulos",
|
||||||
|
"manage": "Hallitse",
|
||||||
|
"themes": "Teemat",
|
||||||
|
"prev-page": "Edellinen sivu",
|
||||||
|
"next-page": "Seuraava sivu",
|
||||||
|
"configure-plugin": "Lisäosan asetukset",
|
||||||
|
"confirm-delete-this-action-cannot-be-undone": "Haluatko varmasti poistaa? Tätä toimintoa ei voi perua.",
|
||||||
|
"site-title": "Sivuston otsikko",
|
||||||
|
"site-slogan": "Mainoslause",
|
||||||
|
"site-description": "Sivuston kuvaus",
|
||||||
|
"footer-text": "Alapalkin teksti",
|
||||||
|
"posts-per-page": "Blogikirjoituksia per sivu",
|
||||||
|
"site-url": "Sivuston URL-osoite",
|
||||||
|
"writting-settings": "Kirjoittamisen asetukset",
|
||||||
|
"url-filters": "Osoitteiden asetukset",
|
||||||
|
"page": "Sivu",
|
||||||
|
"pages": "Sivut",
|
||||||
|
"home": "Etusivu",
|
||||||
|
"welcome-back": "Tervetuloa takaisin",
|
||||||
|
"language": "Kieli",
|
||||||
|
"website": "Julkinen sivusto",
|
||||||
|
"timezone": "Aikavyöhyke",
|
||||||
|
"locale": "Maa/Kieli",
|
||||||
|
"new-post": "Uusi blogikirjoitus",
|
||||||
|
"new-page": "Uusi sivu",
|
||||||
|
"html-and-markdown-code-supported": "HTML sekä Markdown toimivat",
|
||||||
|
"manage-posts": "Hallitse blogikirjoituksia",
|
||||||
|
"published-date": "Julkaisuaika",
|
||||||
|
"modified-date": "Muokattu aika",
|
||||||
|
"empty-title": "Tyhjä otsikko",
|
||||||
|
"plugins": "Lisäosat",
|
||||||
|
"install-plugin": "Asenna lisäosa",
|
||||||
|
"uninstall-plugin": "Poista lisäosa",
|
||||||
|
"new-password": "Uusi salasana",
|
||||||
|
"edit-user": "Muokkaa käyttäjää",
|
||||||
|
"publish-now": "Julkaise nyt",
|
||||||
|
"first-name": "Etunimi",
|
||||||
|
"last-name": "Sukunimi",
|
||||||
|
"bludit-version": "Bludit:in versio",
|
||||||
|
"powered-by": "Virtaa antaa: ",
|
||||||
|
"recent-posts": "Viimeisimmät blogikirjoitukset",
|
||||||
|
"manage-pages": "Hallitse sivuja",
|
||||||
|
"advanced-options": "Lisäasetukset",
|
||||||
|
"user-deleted": "Käyttäjä poistettu",
|
||||||
|
"page-added-successfully": "Sivu lisätty onnistuneesti",
|
||||||
|
"post-added-successfully": "Blogikirjoitus lisätty onnistuneesti",
|
||||||
|
"the-post-has-been-deleted-successfully": "Blogikirjoitus poistettu",
|
||||||
|
"the-page-has-been-deleted-successfully": "Sivu poistettu",
|
||||||
|
"username-or-password-incorrect": "Käyttäjätunnus tai salasana virheellinen",
|
||||||
|
"database-regenerated": "Tietokanta uudelleengeneroitu",
|
||||||
|
"the-changes-have-been-saved": "Muutokset on tallennettu",
|
||||||
|
"enable-more-features-at": "Ota käyttöön lisää ominaisuuksia",
|
||||||
|
"username-already-exists": "Käyttäjätunnus on jo olemassa",
|
||||||
|
"username-field-is-empty": "Käyttäjätunnus on tyhjä",
|
||||||
|
"the-password-and-confirmation-password-do-not-match":"Salasana ja sen vahvistus eivät täsmää",
|
||||||
|
"user-has-been-added-successfully": "Käyttäjä lisätty onnistuneesti",
|
||||||
|
"you-do-not-have-sufficient-permissions": "Sinulla ei ole tarvittavia oikeuksia tälle sivulle. Ota yhteyttä ylläpitäjään.",
|
||||||
|
"settings-advanced-writting-settings": "Asetukset->Lisäasetukset->Kirjoittamisen asetukset",
|
||||||
|
"new-posts-and-pages-synchronized": "Uudet sivut ja blogikirjoitukset synkronisoitu.",
|
||||||
|
"you-can-choose-the-users-privilege": "Voit valita käyttäjän tyypin. Kirjoittaja voi ainostaan muokata sivuja ja blogikirjoituksia, ylläpitäjä myös muuttaa asetuksia.",
|
||||||
|
"email-will-not-be-publicly-displayed": "Sähköpostia ei näytetä julkisesti. Suositeltu salasanan palauttamiseen ja ilmoituksiin.",
|
||||||
|
"use-this-field-to-name-your-site": "Kirjoita tähän sivusi nimi. Se näkyy jokaisen sivun yläreunassa.",
|
||||||
|
"use-this-field-to-add-a-catchy-phrase": "Voit keksiä tähän esimerkiksi mainoslauseen tms.",
|
||||||
|
"you-can-add-a-site-description-to-provide": "Voit lisätä lyhyen kuvauksen sivustostasi.",
|
||||||
|
"you-can-add-a-small-text-on-the-bottom": "Voit lisätä pienen tekstinpätkän jokaisen sivun loppuun. Se voi olla vaikkapa sivuston nimi, yhteystietoja, päivämäärä, jne.",
|
||||||
|
"number-of-posts-to-show-per-page": "Kuinka monta blogikirjoitusta yhdellä sivulla saa näkyä.",
|
||||||
|
"the-url-of-your-site": "Sivustosi internetosoite.",
|
||||||
|
"add-or-edit-description-tags-or": "Lisää ja muokkaa kuvausta, tageja tai sivun osoitetta.",
|
||||||
|
"select-your-sites-language": "Valitse sivuston kieli.",
|
||||||
|
"select-a-timezone-for-a-correct": "Valitse aikavyöhyke, jotta kellonajat ja päivämäärät näkyvät oikein.",
|
||||||
|
"you-can-use-this-field-to-define-a-set-off": "Tällä kentällä voit määritellä joukon asetuksia liittyen kieleen, maahan ja erityisiin asetuksiin.",
|
||||||
|
"you-can-modify-the-url-which-identifies":"Voit muokata sivun osoitetta. Enintään 150 merkkiä",
|
||||||
|
"this-field-can-help-describe-the-content": "Kirjoita tähän kuvaus sivun sisällöstä. Kuvaus näkyy hakutuloksessa esim. Googlessa. Enintään 150 merkkiä.",
|
||||||
|
|
||||||
|
"delete-the-user-and-all-its-posts":"Poista käyttäjä, sekä kaikki sen blogikirjoitukset",
|
||||||
|
"delete-the-user-and-associate-its-posts-to-admin-user": "Poista käyttäjä, ja siirrä sen blogikirjoitukset ylläpitäjän nimiin",
|
||||||
|
"read-more": "Lue lisää...",
|
||||||
|
"show-blog": "Näytä blogi",
|
||||||
|
"default-home-page": "Sivuston etusivu",
|
||||||
|
"version": "Versio",
|
||||||
|
"there-are-no-drafts": "Ei luonnoksia.",
|
||||||
|
"create-a-new-article-for-your-blog":"Kirjoita blogiisi.",
|
||||||
|
"create-a-new-page-for-your-website":"Luo uusi sivu sivustollesi.",
|
||||||
|
"invite-a-friend-to-collaborate-on-your-website":"Tee ystävällesi omat tunnukset, niin hänkin voi kirjoittaa sivustollesi",
|
||||||
|
"change-your-language-and-region-settings":"Muuta kielen ja alueen asetuksia.",
|
||||||
|
"language-and-timezone":"Kieli ja aikavyöhyke",
|
||||||
|
"author": "Tekijä",
|
||||||
|
"start-here": "Aloita tästä",
|
||||||
|
"install-theme": "Asenna teema",
|
||||||
|
"first-post": "Ensimmäinen blogikirjoitus",
|
||||||
|
"congratulations-you-have-successfully-installed-your-bludit": "Onneksi olkoon! **Bludit** on nyt asennettu!",
|
||||||
|
"whats-next": "Mitä seuraavaksi?",
|
||||||
|
|
||||||
|
"follow-bludit-on": "Seuraa Bludit:ia",
|
||||||
|
"visit-the-support-forum": "Vieraile [foorumilla](https://forum.bludit.com) jos tarvitse tukea",
|
||||||
|
"read-the-documentation-for-more-information": "[Dokumentaatiosta](https://docs.bludit.com) löydät paljon lisää tietoa",
|
||||||
|
"share-with-your-friends-and-enjoy": "Jaa ystäviesi kanssa ja nauti!",
|
||||||
|
"the-page-has-not-been-found": "Etsimääsi sivua ei löydy.",
|
||||||
|
"error": "Virhe",
|
||||||
|
"bludit-installer": "Bludit Installer",
|
||||||
|
"welcome-to-the-bludit-installer": "Tervetuloa asentamaan Bludit!",
|
||||||
|
"complete-the-form-choose-a-password-for-the-username-admin": "Täytä lomake, valitse salasana käyttäjälle « admin » (sivuston ylläpitäjä)",
|
||||||
|
"password-visible-field": "Salasana, näkyvä kenttä!",
|
||||||
|
"install": "Asenna",
|
||||||
|
"choose-your-language": "Valitse kielesi",
|
||||||
|
"next": "Seuraava",
|
||||||
|
"the-password-field-is-empty": "Salasanakenttä on tyhjä",
|
||||||
|
"your-email-address-is-invalid":"Sähköpostiosoitteesi on vääränlainen.",
|
||||||
|
"proceed-anyway": "Jatka silti!",
|
||||||
|
"drafts":"Luonnokset",
|
||||||
|
"ip-address-has-been-blocked": "IP osoitteesi on estetty.",
|
||||||
|
"try-again-in-a-few-minutes": "Yritä uudelleen muutaman minuutin päästä.",
|
||||||
|
"date": "Päivämäärä",
|
||||||
|
|
||||||
|
"scheduled": "Ajastettu",
|
||||||
|
"publish": "Julkaise",
|
||||||
|
"please-check-your-theme-configuration": "Tarkista teeman asetukset.",
|
||||||
|
"plugin-label": "Lisäosan nimi",
|
||||||
|
"enabled": "Käytössä",
|
||||||
|
"disabled": "Poissa käytöstä",
|
||||||
|
"cli-mode": "CLI-tila",
|
||||||
|
"command-line-mode": "Komentorivitila",
|
||||||
|
"enable-the-command-line-mode-if-you-add-edit": "Ota käyttöön komentorivitila, jos lisää, muokkaat tai poistat sivuja tai blogikirjoituksia suoraan tiedostojärjestemästä",
|
||||||
|
|
||||||
|
"configure": "Asetukset",
|
||||||
|
"uninstall": "Poista",
|
||||||
|
"change-password": "Muuta salasana",
|
||||||
|
"to-schedule-the-post-just-select-the-date-and-time": "Ajastaaksesi lähetyksen, valitse päivä ja aika.",
|
||||||
|
"write-the-tags-separated-by-commas": "Kirjoita tagit erotetuna pilkuilla.",
|
||||||
|
"status": "Tila",
|
||||||
|
"published": "Julkaistu",
|
||||||
|
"scheduled-posts": "Ajastetut blogikirjoitukset",
|
||||||
|
"statistics": "Tilastot",
|
||||||
|
"name": "Nimi",
|
||||||
|
"email-account-settings":"Sähköpostin asetukset",
|
||||||
|
"sender-email": "Lähettäjän sähköpostiosoite",
|
||||||
|
"emails-will-be-sent-from-this-address":"Sähköpostit tullaan lähettämään tästä osoitteesta.",
|
||||||
|
"bludit-login-access-code": "BLUDIT - Kirjautumisen tunnistautumiskoodi",
|
||||||
|
"check-your-inbox-for-your-login-access-code":"Tunnistautumiskoodi on lähetetty sinulle sähköpostilla",
|
||||||
|
"there-was-a-problem-sending-the-email":"Sähköpostin lähettämisessä tapahtui ongelma",
|
||||||
|
"back-to-login-form": "Takaisin",
|
||||||
|
"send-me-a-login-access-code": "Lähetä minulle tunnistautumiskoodi",
|
||||||
|
"get-login-access-code": "Lähetä tunnistautumiskoodi",
|
||||||
|
"email-notification-login-access-code": "<p>Tämä on ilmoitus sivustoltasi {{WEBSITE_NAME}}</p><p>Jos pyysit kirjautumisen tunnistautumiskoodia, paina tästä linkistä:</p><p>{{LINK}}</p>",
|
||||||
|
"there-are-no-scheduled-posts": "Ei ajastettuja blogikirjoituksia",
|
||||||
|
"show-password": "Näytä salasana",
|
||||||
|
"edit-or-remove-your=pages": "Lisää, muokkaa ja poista sivujasi",
|
||||||
|
"edit-or-remove-your-blogs-posts": "Lisää, muokkaa ja poista blogikirjoituksiasi",
|
||||||
|
"general-settings": "Yleiset asetukset",
|
||||||
|
"advanced-settings": "Lisäasetukset",
|
||||||
|
"manage-users": "Hallitse käyttäjiä",
|
||||||
|
"view-and-edit-your-profile": "Näytä ja muokkaa oma profiilisi",
|
||||||
|
|
||||||
|
"password-must-be-at-least-6-characters-long": "Salasanan täytyy olla vähintään 6 merkkiä pitkä",
|
||||||
|
"images": "Kuvat",
|
||||||
|
"upload-image": "Lähetä image",
|
||||||
|
"drag-and-drop-or-click-here": "Klikkaa tästä, tai vedä kuva tänne",
|
||||||
|
"insert-image": "Lisää kuva",
|
||||||
|
"supported-image-file-types": "Tuetut kuvatyypit",
|
||||||
|
"date-format": "Päivämäärän muoto",
|
||||||
|
"time-format": "Ajan muoto",
|
||||||
|
"chat-with-developers-and-users-on-gitter":"Keskustele muiden kehittäjien ja käyttäjien kanssa [Gitterissä](https://gitter.im/dignajar/bludit)",
|
||||||
|
"this-is-a-brief-description-of-yourself-our-your-site":"Tämä on lyhyt kuvaus sinusta, tai sivustostasi. Voit muuttaa tätä hallintapaneelista kohdasta Asetukset->Lisäosat, ja muokkaa lisäosan \"About\" asetuksia",
|
||||||
|
"profile-picture": "Profiilikuva",
|
||||||
|
"the-about-page-is-very-important": "Tietoja-sivu on tärkeä työkalu mahdollisille asiakkaillesi. Niille asiakkaille, jotka miettivät, kuka on tämän mahtavan sivuston takana, sinun Tietoja-sivu on ensimmäinen paikka josta katsoa.",
|
||||||
|
"change-this-pages-content-on-the-admin-panel": "Voit muokata tämän sivun sisältöä hallintapaneelista, kohdasta Hallitse->Sivut, ja paina \"Tietoja\".",
|
||||||
|
"about-your-site-or-yourself": "Sivustostasi tai sinusta.",
|
||||||
|
"welcome-to-bludit": "Bludit toivottaa sinut tervetulleeksi!",
|
||||||
|
|
||||||
|
"site-information": "Sivuston tiedot",
|
||||||
|
"date-and-time-formats": "Päivämäärän ja ajan esitysmuodot",
|
||||||
|
"activate": "Ota käyttöön",
|
||||||
|
"deactivate": "Poista käytöstä",
|
||||||
|
|
||||||
|
"cover-image": "Artikkelikuva",
|
||||||
|
"blog": "Blogi",
|
||||||
|
"more-images": "Lisää kuvia",
|
||||||
|
|
||||||
|
"click-here-to-cancel": "Paina tästä peruaksesi.",
|
||||||
|
"type-the-tag-and-press-enter": "Kirjoita tagi, ja paina enter.",
|
||||||
|
"add": "Lisää",
|
||||||
|
"manage-your-bludit-from-the-admin-panel": "Voit hallita Bludit:ia [hallintapaneelista]({{ADMIN_AREA_LINK}})",
|
||||||
|
"there-are-no-images":"Ei kuvia",
|
||||||
|
|
||||||
|
"click-on-the-image-for-options": "Paina kuvaa saadaksesi lisätietoja.",
|
||||||
|
"set-as-cover-image": "Aseta artikkelikuvaksi",
|
||||||
|
"delete-image": "Poista kuva",
|
||||||
|
"image-description": "Kuvan kuvaus",
|
||||||
|
|
||||||
|
"social-networks-links": "Sosiaalisen median linkit",
|
||||||
|
|
||||||
|
"email-access-code": "Pyydä tunnistautumiskoodi",
|
||||||
|
"current-format": "Nykyinen muoto"
|
||||||
|
}
|
0
bl-languages/fr_FR.json
Executable file → Normal file
0
bl-languages/fr_FR.json
Executable file → Normal file
@ -3,7 +3,7 @@
|
|||||||
{
|
{
|
||||||
"native": "Русский (Россия)",
|
"native": "Русский (Россия)",
|
||||||
"english-name": "Russian",
|
"english-name": "Russian",
|
||||||
"last-update": "2015-11-17",
|
"last-update": "2016-06-01",
|
||||||
"author": "Сергей Ворон",
|
"author": "Сергей Ворон",
|
||||||
"email": "sergey@voron.pw",
|
"email": "sergey@voron.pw",
|
||||||
"website": "http://voron.pw"
|
"website": "http://voron.pw"
|
||||||
@ -235,5 +235,8 @@
|
|||||||
"delete-image": "Удалить изображение",
|
"delete-image": "Удалить изображение",
|
||||||
"image-description": "Описание изображения",
|
"image-description": "Описание изображения",
|
||||||
|
|
||||||
"social-networks-links": "Социальные сети"
|
"social-networks-links": "Социальные сети",
|
||||||
|
|
||||||
|
"email-access-code": "Проверочный код email",
|
||||||
|
"current-format": "Текущий формат"
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -4,16 +4,52 @@ class pluginAPI extends Plugin {
|
|||||||
|
|
||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
|
global $Security;
|
||||||
|
|
||||||
|
// This key is used for request such as get the list of all posts and pages
|
||||||
|
$authKey = md5($Security->key1().time().DOMAIN_BASE);
|
||||||
|
|
||||||
$this->dbFields = array(
|
$this->dbFields = array(
|
||||||
'ping'=>false
|
'ping'=>0, // 0 = false, 1 = true
|
||||||
|
'authKey'=>$authKey, // Private key
|
||||||
|
'showAllAmount'=>15 // Amount of posts and pages for return
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function form()
|
public function form()
|
||||||
{
|
{
|
||||||
$html = '<div>';
|
$html = '';
|
||||||
$html .= '<input name="ping" id="jsping" type="checkbox" value="true" '.($this->getDbField('ping')?'checked':'').'>';
|
|
||||||
|
$html .= '<div>';
|
||||||
|
$html .= '<input type="hidden" name="ping" value="0">';
|
||||||
|
$html .= '<input name="ping" id="jsping" type="checkbox" value="1" '.($this->getDbField('ping')?'checked':'').'>';
|
||||||
$html .= '<label class="forCheckbox" for="jsping">Ping Bludit.com</label>';
|
$html .= '<label class="forCheckbox" for="jsping">Ping Bludit.com</label>';
|
||||||
|
$html .= '<div class="tip">Enable this feature to share your posts and pages with Bludit.com.</div>';
|
||||||
|
$html .= '</div>';
|
||||||
|
|
||||||
|
$html .= '<div>';
|
||||||
|
$html .= '<p><b>Authorization Key:</b> '.$this->getDbField('authKey').'</p>';
|
||||||
|
$html .= '<div class="tip">This key is private, do not share it with anyone.</div>';
|
||||||
|
$html .= '</div>';
|
||||||
|
|
||||||
|
$html .= '<div>';
|
||||||
|
$html .= '<p><b>Show all posts:</b> <a href="'.DOMAIN_BASE.'api/show/all/posts/'.$this->getDbField('authKey').'">'.DOMAIN_BASE.'api/show/all/posts/'.$this->getDbField('authKey').'</a></p>';
|
||||||
|
$html .= '<div class="tip">Get all posts from this site.</div>';
|
||||||
|
$html .= '</div>';
|
||||||
|
|
||||||
|
$html .= '<div>';
|
||||||
|
$html .= '<p><b>Show all pages:</b> <a href="'.DOMAIN_BASE.'api/show/all/pages/'.$this->getDbField('authKey').'">'.DOMAIN_BASE.'api/show/all/pages/'.$this->getDbField('authKey').'</a></p>';
|
||||||
|
$html .= '<div class="tip">Get all pages from this site.</div>';
|
||||||
|
$html .= '</div>';
|
||||||
|
|
||||||
|
$html .= '<div>';
|
||||||
|
$html .= '<p><b>Show post:</b> <a href="'.DOMAIN_BASE.'api/show/post/{POST-NAME}">'.DOMAIN_BASE.'api/show/post/{POST-NAME}</a></p>';
|
||||||
|
$html .= '<div class="tip">Get a particular post, change the {POST-NAME} with the post friendly url.</div>';
|
||||||
|
$html .= '</div>';
|
||||||
|
|
||||||
|
$html .= '<div>';
|
||||||
|
$html .= '<p><b>Show post:</b> <a href="'.DOMAIN_BASE.'api/show/page/{PAGE-NAME}">'.DOMAIN_BASE.'api/show/page/{PAGE-NAME}</a></p>';
|
||||||
|
$html .= '<div class="tip">Get a particular page, change the {PAGE-NAME} with the page friendly url.</div>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
return $html;
|
return $html;
|
||||||
@ -27,8 +63,12 @@ class pluginAPI extends Plugin {
|
|||||||
private function ping()
|
private function ping()
|
||||||
{
|
{
|
||||||
if($this->getDbField('ping')) {
|
if($this->getDbField('ping')) {
|
||||||
|
|
||||||
|
// Get the authentication key
|
||||||
|
$authKey = $this->getDbField('authKey');
|
||||||
|
|
||||||
// Just a request HTTP with the website URL
|
// Just a request HTTP with the website URL
|
||||||
Log::set( file_get_contents('https://www.bludit.com/api.php') );
|
Log::set( file_get_contents('https://www.bludit.com/api.php?authKey='.$authKey) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,6 +88,19 @@ class pluginAPI extends Plugin {
|
|||||||
return $Post->json();
|
return $Post->json();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getAllPosts()
|
||||||
|
{
|
||||||
|
$posts = buildPostsForPage(0, $this->getDbField('showAllAmount'), true, false);
|
||||||
|
|
||||||
|
$tmp = array();
|
||||||
|
|
||||||
|
foreach($posts as $Post) {
|
||||||
|
array_push($tmp, $Post->json( $returnsArray=true ));
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tmp);
|
||||||
|
}
|
||||||
|
|
||||||
private function getPage($key)
|
private function getPage($key)
|
||||||
{
|
{
|
||||||
// Generate the object Page
|
// Generate the object Page
|
||||||
@ -64,6 +117,21 @@ class pluginAPI extends Plugin {
|
|||||||
return $Page->json();
|
return $Page->json();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getAllPages()
|
||||||
|
{
|
||||||
|
$pages = buildAllPages();
|
||||||
|
|
||||||
|
$tmp = array();
|
||||||
|
|
||||||
|
foreach($pages as $Page) {
|
||||||
|
if($Page->published()) {
|
||||||
|
array_push($tmp, $Page->json( $returnsArray=true ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tmp);
|
||||||
|
}
|
||||||
|
|
||||||
public function beforeRulesLoad()
|
public function beforeRulesLoad()
|
||||||
{
|
{
|
||||||
global $Url;
|
global $Url;
|
||||||
@ -83,16 +151,18 @@ class pluginAPI extends Plugin {
|
|||||||
// ------------------------------------------------------------
|
// ------------------------------------------------------------
|
||||||
// show post {post slug}
|
// show post {post slug}
|
||||||
// show page {page slug}
|
// show page {page slug}
|
||||||
// show all posts
|
// show all posts {AUTH KEY}
|
||||||
// show all pages
|
// show all pages {AUTH KEY}
|
||||||
|
|
||||||
// Get parameters
|
// Get parameters
|
||||||
$parameters = explode('/', $URI);
|
$parameters = explode('/', $URI);
|
||||||
|
|
||||||
// Check parameters are sended
|
for($i=0; $i<4; $i++) {
|
||||||
for($i=0; $i<3; $i++) {
|
|
||||||
if(empty($parameters[$i])) {
|
if(empty($parameters[$i])) {
|
||||||
return false;
|
return false;
|
||||||
|
} else {
|
||||||
|
// Sanizite
|
||||||
|
$parameters[$i] = Sanitize::html($parameters[$i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,15 +173,34 @@ class pluginAPI extends Plugin {
|
|||||||
'message'=>'Check the parameters'
|
'message'=>'Check the parameters'
|
||||||
));
|
));
|
||||||
|
|
||||||
if($parameters[0] === 'show') {
|
if($parameters[0]==='show') {
|
||||||
|
|
||||||
$key = $parameters[2];
|
if($parameters[1]==='all') {
|
||||||
|
|
||||||
if($parameters[1] === 'post') {
|
// Authentication key from the URI
|
||||||
$json = $this->getPost($key);
|
$authKey = $parameters[3];
|
||||||
|
|
||||||
|
// Compare keys
|
||||||
|
if( $authKey===$this->getDbField('authKey') ) {
|
||||||
|
|
||||||
|
if($parameters[2] === 'posts') {
|
||||||
|
$json = $this->getAllPosts();
|
||||||
|
}
|
||||||
|
elseif($parameters[2] === 'pages') {
|
||||||
|
$json = $this->getAllPages();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elseif($parameters[1] === 'page') {
|
elseif($parameters[1]==='post' || $parameters[1]==='page') {
|
||||||
$json = $this->getPage($key);
|
|
||||||
|
$key = $parameters[2];
|
||||||
|
|
||||||
|
if($parameters[1] === 'post') {
|
||||||
|
$json = $this->getPost($key);
|
||||||
|
}
|
||||||
|
elseif($parameters[1] === 'page') {
|
||||||
|
$json = $this->getPage($key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -8,9 +8,9 @@ class pluginDisqus extends Plugin {
|
|||||||
{
|
{
|
||||||
$this->dbFields = array(
|
$this->dbFields = array(
|
||||||
'shortname'=>'',
|
'shortname'=>'',
|
||||||
'enablePages'=>false,
|
'enablePages'=>0,
|
||||||
'enablePosts'=>false,
|
'enablePosts'=>0,
|
||||||
'enableDefaultHomePage'=>false
|
'enableDefaultHomePage'=>1
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,17 +44,20 @@ class pluginDisqus extends Plugin {
|
|||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
$html .= '<div>';
|
$html .= '<div>';
|
||||||
$html .= '<input name="enablePages" id="jsenablePages" type="checkbox" value="true" '.($this->getDbField('enablePages')?'checked':'').'>';
|
$html .= '<input type="hidden" name="enablePages" value="0">';
|
||||||
|
$html .= '<input name="enablePages" id="jsenablePages" type="checkbox" value="1" '.($this->getDbField('enablePages')?'checked':'').'>';
|
||||||
$html .= '<label class="forCheckbox" for="jsenablePages">'.$Language->get('Enable Disqus on pages').'</label>';
|
$html .= '<label class="forCheckbox" for="jsenablePages">'.$Language->get('Enable Disqus on pages').'</label>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
$html .= '<div>';
|
$html .= '<div>';
|
||||||
$html .= '<input name="enablePosts" id="jsenablePosts" type="checkbox" value="true" '.($this->getDbField('enablePosts')?'checked':'').'>';
|
$html .= '<input type="hidden" name="enablePosts" value="0">';
|
||||||
|
$html .= '<input name="enablePosts" id="jsenablePosts" type="checkbox" value="1" '.($this->getDbField('enablePosts')?'checked':'').'>';
|
||||||
$html .= '<label class="forCheckbox" for="jsenablePosts">'.$Language->get('Enable Disqus on posts').'</label>';
|
$html .= '<label class="forCheckbox" for="jsenablePosts">'.$Language->get('Enable Disqus on posts').'</label>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
$html .= '<div>';
|
$html .= '<div>';
|
||||||
$html .= '<input name="enableDefaultHomePage" id="jsenableDefaultHomePage" type="checkbox" value="true" '.($this->getDbField('enableDefaultHomePage')?'checked':'').'>';
|
$html .= '<input type="hidden" name="enableDefaultHomePage" value="0">';
|
||||||
|
$html .= '<input name="enableDefaultHomePage" id="jsenableDefaultHomePage" type="checkbox" value="1" '.($this->getDbField('enableDefaultHomePage')?'checked':'').'>';
|
||||||
$html .= '<label class="forCheckbox" for="jsenableDefaultHomePage">'.$Language->get('Enable Disqus on default home page').'</label>';
|
$html .= '<label class="forCheckbox" for="jsenableDefaultHomePage">'.$Language->get('Enable Disqus on default home page').'</label>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -5,7 +5,7 @@ class pluginMaintenanceMode extends Plugin {
|
|||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
$this->dbFields = array(
|
$this->dbFields = array(
|
||||||
'enable'=>false,
|
'enable'=>0,
|
||||||
'message'=>'Temporarily down for maintenance.'
|
'message'=>'Temporarily down for maintenance.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -15,7 +15,8 @@ class pluginMaintenanceMode extends Plugin {
|
|||||||
global $Language;
|
global $Language;
|
||||||
|
|
||||||
$html = '<div>';
|
$html = '<div>';
|
||||||
$html .= '<input name="enable" id="jsenable" type="checkbox" value="true" '.($this->getDbField('enable')?'checked':'').'>';
|
$html .= '<input type="hidden" name="enable" value="0">';
|
||||||
|
$html .= '<input name="enable" id="jsenable" type="checkbox" value="1" '.($this->getDbField('enable')?'checked':'').'>';
|
||||||
$html .= '<label class="forCheckbox" for="jsenable">'.$Language->get('Enable maintenance mode').'</label>';
|
$html .= '<label class="forCheckbox" for="jsenable">'.$Language->get('Enable maintenance mode').'</label>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -2,21 +2,13 @@
|
|||||||
|
|
||||||
class pluginOpenGraph extends Plugin {
|
class pluginOpenGraph extends Plugin {
|
||||||
|
|
||||||
// Returns the first image that is in the content
|
// Returns the first image from the HTML content
|
||||||
private function getImage($content)
|
private function getImage($content)
|
||||||
{
|
{
|
||||||
$dom = new DOMDocument();
|
$dom = new DOMDocument();
|
||||||
$dom->loadHTML('<meta http-equiv="content-type" content="text/html; charset=utf-8">'.$content);
|
$dom->loadHTML('<meta http-equiv="content-type" content="text/html; charset=utf-8">'.$content);
|
||||||
$finder = new DomXPath($dom);
|
$finder = new DomXPath($dom);
|
||||||
|
|
||||||
/* DEPRECATED
|
|
||||||
$images = $finder->query("//img[contains(@class, 'bludit-img-opengraph')]");
|
|
||||||
|
|
||||||
if($images->length==0) {
|
|
||||||
$images = $finder->query("//img");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
$images = $finder->query("//img");
|
$images = $finder->query("//img");
|
||||||
|
|
||||||
if($images->length>0)
|
if($images->length>0)
|
||||||
@ -49,6 +41,7 @@ class pluginOpenGraph extends Plugin {
|
|||||||
|
|
||||||
switch($Url->whereAmI())
|
switch($Url->whereAmI())
|
||||||
{
|
{
|
||||||
|
// The user filter by post
|
||||||
case 'post':
|
case 'post':
|
||||||
$og['type'] = 'article';
|
$og['type'] = 'article';
|
||||||
$og['title'] = $Post->title().' | '.$og['title'];
|
$og['title'] = $Post->title().' | '.$og['title'];
|
||||||
@ -59,6 +52,7 @@ class pluginOpenGraph extends Plugin {
|
|||||||
$content = $Post->content();
|
$content = $Post->content();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// The user filter by page
|
||||||
case 'page':
|
case 'page':
|
||||||
$og['type'] = 'article';
|
$og['type'] = 'article';
|
||||||
$og['title'] = $Page->title().' | '.$og['title'];
|
$og['title'] = $Page->title().' | '.$og['title'];
|
||||||
@ -69,7 +63,9 @@ class pluginOpenGraph extends Plugin {
|
|||||||
$content = $Page->content();
|
$content = $Page->content();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// The user is in the homepage
|
||||||
default:
|
default:
|
||||||
|
// The image it's from the first post
|
||||||
if(isset($posts[0])) {
|
if(isset($posts[0])) {
|
||||||
$og['image'] = $posts[0]->coverImage(false);
|
$og['image'] = $posts[0]->coverImage(false);
|
||||||
$content = $posts[0]->content();
|
$content = $posts[0]->content();
|
||||||
@ -85,21 +81,18 @@ class pluginOpenGraph extends Plugin {
|
|||||||
$html .= '<meta property="og:url" content="'.$og['url'].'">'.PHP_EOL;
|
$html .= '<meta property="og:url" content="'.$og['url'].'">'.PHP_EOL;
|
||||||
$html .= '<meta property="og:siteName" content="'.$og['siteName'].'">'.PHP_EOL;
|
$html .= '<meta property="og:siteName" content="'.$og['siteName'].'">'.PHP_EOL;
|
||||||
|
|
||||||
$domain = trim($Site->domain(),'/');
|
// If the post o page doesn't have a coverImage try to get an image from the HTML content
|
||||||
$urlImage = $domain.HTML_PATH_UPLOADS;
|
if($og['image']===false) {
|
||||||
|
|
||||||
// If the post o page doesn't have a coverImage try to get it from the content
|
|
||||||
if($og['image']===false)
|
|
||||||
{
|
|
||||||
// Get the image from the content
|
// Get the image from the content
|
||||||
$src = $this->getImage( $content );
|
$src = $this->getImage( $content );
|
||||||
|
|
||||||
if($src!==false) {
|
if($src!==false) {
|
||||||
$html .= '<meta property="og:image" content="'.$urlImage.$og['image'].'">'.PHP_EOL;
|
$html .= '<meta property="og:image" content="'.DOMAIN.$src.'">'.PHP_EOL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
{
|
$html .= '<meta property="og:image" content="'.DOMAIN_UPLOADS.$og['image'].'">'.PHP_EOL;
|
||||||
$html .= '<meta property="og:image" content="'.$urlImage.$og['image'].'">'.PHP_EOL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $html;
|
return $html;
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -5,7 +5,7 @@ class pluginPages extends Plugin {
|
|||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
$this->dbFields = array(
|
$this->dbFields = array(
|
||||||
'homeLink'=>true,
|
'homeLink'=>1,
|
||||||
'label'=>'Pages'
|
'label'=>'Pages'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -20,7 +20,8 @@ class pluginPages extends Plugin {
|
|||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
$html .= '<div>';
|
$html .= '<div>';
|
||||||
$html .= '<input name="homeLink" id="jshomeLink" type="checkbox" value="true" '.($this->getDbField('homeLink')?'checked':'').'>';
|
$html .= '<input type="hidden" name="homeLink" value="0">';
|
||||||
|
$html .= '<input name="homeLink" id="jshomeLink" type="checkbox" value="1" '.($this->getDbField('homeLink')?'checked':'').'>';
|
||||||
$html .= '<label class="forCheckbox" for="jshomeLink">'.$Language->get('Show home link').'</label>';
|
$html .= '<label class="forCheckbox" for="jshomeLink">'.$Language->get('Show home link').'</label>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
4
bl-plugins/simplemde/css/simplemde.min.css
vendored
Executable file → Normal file
4
bl-plugins/simplemde/css/simplemde.min.css
vendored
Executable file → Normal file
File diff suppressed because one or more lines are too long
19
bl-plugins/simplemde/js/simplemde.min.js
vendored
Executable file → Normal file
19
bl-plugins/simplemde/js/simplemde.min.js
vendored
Executable file → Normal file
File diff suppressed because one or more lines are too long
@ -2,9 +2,9 @@
|
|||||||
"author": "NextStepWebs",
|
"author": "NextStepWebs",
|
||||||
"email": "",
|
"email": "",
|
||||||
"website": "https://github.com/NextStepWebs/simplemde-markdown-editor",
|
"website": "https://github.com/NextStepWebs/simplemde-markdown-editor",
|
||||||
"version": "1.10.1",
|
"version": "1.11.2",
|
||||||
"releaseDate": "2016-03-15",
|
"releaseDate": "2016-06-14",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -14,7 +14,7 @@ class pluginsimpleMDE extends Plugin {
|
|||||||
$this->dbFields = array(
|
$this->dbFields = array(
|
||||||
'tabSize'=>'2',
|
'tabSize'=>'2',
|
||||||
'toolbar'=>'"bold", "italic", "heading", "|", "quote", "unordered-list", "|", "link", "image", "code", "horizontal-rule", "|", "preview", "side-by-side", "fullscreen", "guide"',
|
'toolbar'=>'"bold", "italic", "heading", "|", "quote", "unordered-list", "|", "link", "image", "code", "horizontal-rule", "|", "preview", "side-by-side", "fullscreen", "guide"',
|
||||||
'autosave'=>false
|
'autosave'=>0
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +33,8 @@ class pluginsimpleMDE extends Plugin {
|
|||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
$html .= '<div>';
|
$html .= '<div>';
|
||||||
$html .= '<input name="autosave" id="jsautosave" type="checkbox" value="true" '.($this->getDbField('autosave')?'checked':'').'>';
|
$html .= '<input type="hidden" name="autosave" value="0">';
|
||||||
|
$html .= '<input name="autosave" id="jsautosave" type="checkbox" value="1" '.($this->getDbField('autosave')?'checked':'').'>';
|
||||||
$html .= '<label class="forCheckbox" for="jsautosave">'.$Language->get('Autosave').'</label>';
|
$html .= '<label class="forCheckbox" for="jsautosave">'.$Language->get('Autosave').'</label>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -3,5 +3,9 @@
|
|||||||
{
|
{
|
||||||
"name": "Anzeige aller Schlagwörter",
|
"name": "Anzeige aller Schlagwörter",
|
||||||
"description": "Anzeige aller Schlagwörter in der Seitenleiste (bei Themes mit Seitenleiste)."
|
"description": "Anzeige aller Schlagwörter in der Seitenleiste (bei Themes mit Seitenleiste)."
|
||||||
}
|
},
|
||||||
|
"sort-the-tag-list-by": "Sortierung der Schlagwörter nach",
|
||||||
|
"alphabetical-order": "Alphabetische Reihenfolge",
|
||||||
|
"number-of-times-each-tag-has-been-used": "Anzahl der Verwendung",
|
||||||
|
"date-each-tag-was-first-used": "Datum der ersten Verwendung"
|
||||||
}
|
}
|
@ -3,9 +3,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Tags list",
|
"name": "Tags list",
|
||||||
"description": "Shows all tags."
|
"description": "Shows all tags."
|
||||||
},
|
}
|
||||||
"tag-sort-order": "Sort the tag list by",
|
|
||||||
"tag-sort-alphabetical": "Alphabetical order",
|
|
||||||
"tag-sort-count": "Number of times each tag has been used",
|
|
||||||
"tag-sort-date": "Date each tag was first used"
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-28",
|
"releaseDate": "2016-05-28",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -20,9 +20,11 @@ class pluginTags extends Plugin {
|
|||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|
||||||
$html .= '<div>';
|
$html .= '<div>';
|
||||||
$html .= $Language->get('tag-sort-order').': <select name="sort">';
|
$html .= $Language->get('Sort the tag list by').': <select name="sort">';
|
||||||
|
|
||||||
foreach(array('alpha'=>'tag-sort-alphabetical', 'count'=>'tag-sort-count', 'date'=>'tag-sort-date') as $key=>$value) {
|
foreach(array('alpha' => 'Alphabetical order',
|
||||||
|
'count' => 'Number of times each tag has been used',
|
||||||
|
'date' => 'Date each tag was first used') as $key=>$value) {
|
||||||
if ($key == $this->getDbField('sort')) {
|
if ($key == $this->getDbField('sort')) {
|
||||||
$html .= '<option value="'.$key.'" selected>'.$Language->get($value).'</option>';
|
$html .= '<option value="'.$key.'" selected>'.$Language->get($value).'</option>';
|
||||||
} else {
|
} else {
|
||||||
|
@ -14,6 +14,8 @@ a:hover {
|
|||||||
h1, h2, h3, h4, h5, h6 {
|
h1, h2, h3, h4, h5, h6 {
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
letter-spacing: 0;
|
letter-spacing: 0;
|
||||||
|
font-weight: normal;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
@ -40,6 +42,27 @@ h6 {
|
|||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
border: 0;
|
||||||
|
color: #333;
|
||||||
|
margin: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
border: 1px solid #ffcb94;
|
||||||
|
font-weight: normal !important;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
max-width: 980px;
|
||||||
|
}
|
||||||
|
|
||||||
#header {
|
#header {
|
||||||
background-color: #f7f7f7;
|
background-color: #f7f7f7;
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
@ -123,7 +146,7 @@ header p {
|
|||||||
}
|
}
|
||||||
|
|
||||||
blockquote p {
|
blockquote p {
|
||||||
margin: 10px;
|
margin: 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.author .name {
|
.author .name {
|
||||||
@ -135,10 +158,6 @@ blockquote p {
|
|||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin {
|
|
||||||
font-size: 0.9em !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.plugin > h2 {
|
.plugin > h2 {
|
||||||
font-weight: normal !important;
|
font-weight: normal !important;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"releaseDate": "2016-05-20",
|
"releaseDate": "2016-05-20",
|
||||||
"license": "CCA 3.0",
|
"license": "CCA 3.0",
|
||||||
"compatible": "1.0,1.1,1.1.2,1.3",
|
"compatible": "1.0,1.1,1.1.2,1.3,1.4",
|
||||||
"notes": ""
|
"notes": ""
|
||||||
}
|
}
|
@ -73,11 +73,11 @@
|
|||||||
<ul class="actions pagination">
|
<ul class="actions pagination">
|
||||||
<?php
|
<?php
|
||||||
if( Paginator::get('showNewer') ) {
|
if( Paginator::get('showNewer') ) {
|
||||||
echo '<li><a href="'.Paginator::urlPrevPage().'" class="button big previous">Previous Page</a></li>';
|
echo '<li><a href="'.Paginator::urlPrevPage().'" class="button big previous">'.$Language->get('Prev page').'</a></li>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if( Paginator::get('showOlder') ) {
|
if( Paginator::get('showOlder') ) {
|
||||||
echo '<li><a href="'.Paginator::urlNextPage().'" class="button big next">Next Page</a></li>';
|
echo '<li><a href="'.Paginator::urlNextPage().'" class="button big next">'.$Language->get('Next page').'</a></li>';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</ul>
|
</ul>
|
@ -37,5 +37,5 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="copyright"><?php echo $Site->footer() ?> | Design: <a href="http://html5up.net">HTML5 UP</a></p>
|
<p class="copyright"><?php echo $Site->footer() ?> | <a href="http://www.bludit.com">BLUDIT</a></p>
|
||||||
</section>
|
</section>
|
Loading…
x
Reference in New Issue
Block a user