commit
e2069e3f50
|
@ -4,6 +4,25 @@
|
|||
// Functions
|
||||
// ============================================================================
|
||||
|
||||
function disableUser($username) {
|
||||
|
||||
global $dbUsers;
|
||||
global $Language;
|
||||
global $Login;
|
||||
|
||||
// The editors can't disable users
|
||||
if($Login->role()!=='admin') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if( $dbUsers->disableUser($username) ) {
|
||||
Alert::set($Language->g('The changes have been saved'));
|
||||
}
|
||||
else {
|
||||
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to edit the user.');
|
||||
}
|
||||
}
|
||||
|
||||
function editUser($args)
|
||||
{
|
||||
global $dbUsers;
|
||||
|
@ -72,6 +91,9 @@ if( $_SERVER['REQUEST_METHOD'] == 'POST' )
|
|||
elseif(isset($_POST['delete-user-associate'])) {
|
||||
deleteUser($_POST, false);
|
||||
}
|
||||
elseif(isset($_POST['disable-user'])) {
|
||||
disableUser($_POST['username']);
|
||||
}
|
||||
else {
|
||||
editUser($_POST);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,664 @@
|
|||
.uk-form * {
|
||||
border-radius: 2px !important;
|
||||
}
|
||||
|
||||
.uk-tab a {
|
||||
color: #2196f3 !important;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2196f3 !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs navbar
|
||||
---------------------------------------------------------------- */
|
||||
.uk-navbar {
|
||||
background: #323232 !important;
|
||||
border: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav a {
|
||||
border: none !important;
|
||||
border-radius: none !important;
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
font-weight: 300 !important;
|
||||
padding: 0 25px !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav > li.uk-open > a,
|
||||
.uk-navbar-nav > li:hover > a,
|
||||
.uk-navbar-nav > li:focus > a,
|
||||
.uk-navbar-nav > li > a:focus,
|
||||
.uk-navbar-nav > li > a:hover {
|
||||
background: none !important;
|
||||
border-radius: 0 !important;
|
||||
color: #BBBBBB !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
.uk-nav-navbar > li > a:focus,
|
||||
.uk-nav-navbar > li > a:hover {
|
||||
background: none !important;
|
||||
border-radius: 0 !important;
|
||||
color: #888 !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav > li.uk-active > a {
|
||||
background: none !important;
|
||||
color: #BBBBBB !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav .uk-border-circle {
|
||||
border-radius: 20px !important;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar {
|
||||
margin: 0 !important;
|
||||
padding: 10px 0 !important;
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
border-left: 0 !important;
|
||||
border-right: 0 !important;
|
||||
border-top: 0 !important;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar li {
|
||||
display: inline-block !important;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar a {
|
||||
color: #323232 !important;
|
||||
}
|
||||
|
||||
li.bludit-logo {
|
||||
color: #fff !important;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
height: 41px;
|
||||
line-height: 40px;
|
||||
margin-left: -1px;
|
||||
margin-top: -1px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.bludit-user-navbar {
|
||||
background: #333 none repeat scroll 0 0;
|
||||
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) {
|
||||
/* Hidden the Welcome USERNAME */
|
||||
.uk-navbar-flip {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Expand and hidden the sidebar */
|
||||
.uk-width-large-8-10 {
|
||||
width: 100% !important;
|
||||
}
|
||||
/* Hidden the sidebar */
|
||||
.uk-width-large-2-10 {
|
||||
width: 0% !important;
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 960px) {
|
||||
.uk-width-large-4-5,
|
||||
.uk-width-large-8-10 {
|
||||
width: 75% !important;
|
||||
}
|
||||
|
||||
.uk-width-large-1-5,
|
||||
.uk-width-large-2-10 {
|
||||
width: 25% !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* UIKIT HACKs hidden navbar
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
.uk-navbar-brand {
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-navbar-toggle {
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-nav-offcanvas > li > a {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs buttons
|
||||
---------------------------------------------------------------- */
|
||||
.uk-button {
|
||||
padding: 2px 26px;
|
||||
text-shadow: none;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.uk-button-primary {
|
||||
background: #2196f3 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-button-primary:hover {
|
||||
background: #2EA3FF;
|
||||
color: #fafafa !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs forms
|
||||
---------------------------------------------------------------- */
|
||||
legend {
|
||||
width: 70% !important;
|
||||
margin-top: 40px !important;
|
||||
}
|
||||
|
||||
legend.first-child {
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.uk-form-label {
|
||||
color: #666666;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
.uk-form-help-block {
|
||||
color: #AAAAAA;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.uk-table th,
|
||||
.uk-table td {
|
||||
padding: 15px 10px;
|
||||
}
|
||||
|
||||
.uk-table td.children {
|
||||
padding: 15px 10px 15px 25px;
|
||||
}
|
||||
|
||||
|
||||
.uk-badge {
|
||||
margin-right: 5px !important;
|
||||
font-size: 0.9em;
|
||||
padding: 2px 7px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2672ec;
|
||||
}
|
||||
|
||||
.uk-panel-box {
|
||||
background: #F9F9F9 !important;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.uk-container {
|
||||
max-width: 1280px !important;
|
||||
}
|
||||
|
||||
.uk-thumbnail {
|
||||
margin: 2px 3px !important;
|
||||
max-width: 30% !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.uk-progress-bar {
|
||||
background: #2672ec !important;
|
||||
}
|
||||
|
||||
.uk-placeholder {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
/* ----------- BLUDIT ----------- */
|
||||
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.bludit-navbar {
|
||||
|
||||
}
|
||||
|
||||
#logo {
|
||||
background: #f4f4f4;
|
||||
padding:20px 0;
|
||||
}
|
||||
|
||||
h2.title {
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
|
||||
button.delete-button {
|
||||
background: none;
|
||||
border: 0 none;
|
||||
color: #da2727;
|
||||
cursor: pointer;
|
||||
font-size: 0.9em;
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
button.delete-button:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#jscontent {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.bl-view {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
table.statistics tr:last-child td {
|
||||
border-bottom: none !important;
|
||||
}
|
||||
|
||||
/* ----------- ALERT ----------- */
|
||||
|
||||
#alert {
|
||||
bottom: 0;
|
||||
color: #ffffff;
|
||||
padding: 10px;
|
||||
display: none;
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
z-index: 100;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.alert-ok {
|
||||
background: #4374C1;
|
||||
}
|
||||
|
||||
.alert-fail {
|
||||
background: #c14343;
|
||||
}
|
||||
|
||||
/* ----------- FORM ----------- */
|
||||
|
||||
.sidebar .uk-form-label {
|
||||
font-size: 0.9em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#bludit-tags {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#bludit-tags .uk-button {
|
||||
padding: 0 12px !important;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#jstagList {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#jstagList span.unselect,
|
||||
#jstagList span.select {
|
||||
margin-top: 5px;
|
||||
margin-right: 5px;
|
||||
padding: 2px 15px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
border-radius: 3px;
|
||||
background: #f1f1f1;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#jstagList span.unselect:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f067";
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#jstagList span.unselect {
|
||||
color: #AAA;
|
||||
}
|
||||
|
||||
#jstagList span.unselect:hover {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
#jstagList span.select:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f00c";
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#jstagList span.select {
|
||||
color: #2196f3;
|
||||
padding: 2px 13px;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT IMAGES V8 ----------- */
|
||||
#bludit-images-v8 {
|
||||
|
||||
}
|
||||
|
||||
#bludit-images-v8 .bludit-thumbnail {
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
height: auto;
|
||||
margin: 2px;
|
||||
padding: 0;
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
#bludit-images-v8-upload {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: 15px !important;
|
||||
}
|
||||
|
||||
#bludit-images-v8-drag-drop {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
#bludit-images-v8-progressbar {
|
||||
display: none;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
#bludit-images-v8-thumbnails {
|
||||
max-height: 350px;
|
||||
overflow: auto;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/* Bludit Menu v8 */
|
||||
|
||||
#bludit-menuV8 {
|
||||
display: none;
|
||||
z-index: 1020;
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
border: 1px solid #CCC;
|
||||
background: #FFF;
|
||||
color: #333;
|
||||
border-radius: 2px;
|
||||
list-style-type: none;
|
||||
padding: 5px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#bludit-menuV8 li {
|
||||
padding: 8px 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#bludit-menuV8 li:hover {
|
||||
background-color: #2672ec;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#bludit-menuV8 li i {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT QUICK IMAGES ----------- */
|
||||
#bludit-quick-images {
|
||||
|
||||
}
|
||||
|
||||
#bludit-quick-images a.moreImages {
|
||||
margin: 15px 0 0;
|
||||
width: 100%;
|
||||
background: #F5F5F5 !important;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
#bludit-quick-images h4.label {
|
||||
background: #f8f8f8;
|
||||
color: #aaa;
|
||||
padding: 2px 5px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#bludit-quick-images-thumbnails {
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
#bludit-quick-images .bludit-thumbnail {
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
height: auto;
|
||||
margin: 2px;
|
||||
padding: 0;
|
||||
width: 31% !important;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT COVER IMAGE ----------- */
|
||||
#bludit-cover-image {
|
||||
|
||||
}
|
||||
|
||||
#cover-image-thumbnail {
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
color: #666;
|
||||
height: 130px;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#cover-image-upload {
|
||||
color: #999;
|
||||
position: relative;
|
||||
top: 35%;
|
||||
}
|
||||
|
||||
#cover-image-delete {
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
bottom: 0;
|
||||
color: #000;
|
||||
display: none;
|
||||
font-size: 2.2em;
|
||||
padding: 4px 10px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#cover-image-progressbar {
|
||||
display: none;
|
||||
left: 5%;
|
||||
position: relative;
|
||||
top: 33%;
|
||||
width: 90%;
|
||||
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT PROFILE PICTURE ----------- */
|
||||
|
||||
#bludit-profile-picture-drag-drop {
|
||||
width: 100%;
|
||||
padding: 15px 0;
|
||||
}
|
||||
|
||||
#bludit-profile-picture-progressbar {
|
||||
display: none;
|
||||
margin: 15px 0 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* ----------- LOGIN FORM ----------- */
|
||||
|
||||
div.login-box > h1 {
|
||||
font-weight: lighter;
|
||||
letter-spacing: 4px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
div.login-form {
|
||||
background: #f1f1f1 none repeat scroll 0 0;
|
||||
padding: 20px;
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
/* ----------- DASHBOARD ----------- */
|
||||
|
||||
div.dashboard-links {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
|
||||
div.dashboard-links h4 {
|
||||
margin-bottom: -8px !important;
|
||||
}
|
||||
|
||||
div.dashboard-links a {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
/* NEW POST */
|
||||
h3.titleOptions {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* ----------- PLUGIN LIST / THEME LIST ----------- */
|
||||
|
||||
tr.plugin-installed,
|
||||
tr.theme-installed {
|
||||
background: #F2F7FF !important;
|
||||
}
|
||||
|
||||
div.plugin-links > a {
|
||||
display: inline-block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
div.plugin-links > span.separator {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.label-draft,
|
||||
.label-empty-title,
|
||||
.label-time {
|
||||
background: #2672ec none repeat scroll 0 0;
|
||||
border-radius: 2px;
|
||||
color: #ffffff;
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.label-empty-title {
|
||||
background: #ED8F26;
|
||||
}
|
||||
|
||||
.label-time {
|
||||
font-style: italic;
|
||||
background: #ED3A26;
|
||||
}
|
||||
|
||||
/* ----------- PAGINATOR ----------- */
|
||||
|
||||
#paginator ul {
|
||||
list-style-type: none;
|
||||
margin: 15px 0;
|
||||
padding: 0;
|
||||
font-size: 0.9em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#paginator a {
|
||||
color: #2672ec;
|
||||
}
|
||||
|
||||
#paginator li {
|
||||
display: inline;
|
||||
float: none !important;
|
||||
}
|
||||
|
||||
#paginator li.left {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#paginator li.list {
|
||||
background: #e0e0e0;
|
||||
color: #747474;
|
||||
padding: 2px 11px;
|
||||
margin: 0px 15px;
|
||||
}
|
||||
|
||||
#paginator li.right {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/* ----------- PLUGINS FORM ----------- */
|
||||
|
||||
#jsformplugin div {
|
||||
margin-bottom: 1.1em;
|
||||
}
|
||||
|
||||
#jsformplugin label {
|
||||
margin: 0 0 5px 0 !important;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#jsformplugin div.tip {
|
||||
font-size: 0.9em;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
|
||||
#jsformplugin textarea {
|
||||
min-width: 400px;
|
||||
width: 60%;
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
#jsformplugin input[type=text] {
|
||||
min-width: 400px;
|
||||
width: 60%;
|
||||
height: 37px;
|
||||
}
|
||||
|
||||
#jsformplugin input[type="checkbox"] {
|
||||
vertical-align: middle;
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#jsformplugin label.forCheckbox {
|
||||
margin-left: 3px;
|
||||
margin-bottom: 0px !important;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#jsformplugin p {
|
||||
margin-bottom: 0;
|
||||
}
|
|
@ -1,246 +1,215 @@
|
|||
.uk-form * {
|
||||
border-radius: 2px !important;
|
||||
}
|
||||
|
||||
.uk-tab a {
|
||||
color: #2196f3 !important;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2196f3 !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs navbar
|
||||
/* UIKIT HACKs
|
||||
---------------------------------------------------------------- */
|
||||
.uk-navbar {
|
||||
background: #323232 !important;
|
||||
border: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
|
||||
.uk-width-1-4 {
|
||||
width: 20% !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav a {
|
||||
border: none !important;
|
||||
border-radius: none !important;
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
font-weight: 300 !important;
|
||||
padding: 0 25px !important;
|
||||
.uk-width-3-4 {
|
||||
width: 80% !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav > li.uk-open > a,
|
||||
.uk-navbar-nav > li:hover > a,
|
||||
.uk-navbar-nav > li:focus > a,
|
||||
.uk-navbar-nav > li > a:focus,
|
||||
.uk-navbar-nav > li > a:hover {
|
||||
background: none !important;
|
||||
border-radius: 0 !important;
|
||||
color: #BBBBBB !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
.uk-nav-navbar > li > a:focus,
|
||||
.uk-nav-navbar > li > a:hover {
|
||||
background: none !important;
|
||||
border-radius: 0 !important;
|
||||
color: #888 !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav > li.uk-active > a {
|
||||
background: none !important;
|
||||
color: #BBBBBB !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav .uk-border-circle {
|
||||
border-radius: 20px !important;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar {
|
||||
margin: 0 !important;
|
||||
padding: 10px 0 !important;
|
||||
position: fixed;
|
||||
.label-draft,
|
||||
.label-empty-title,
|
||||
.label-time {
|
||||
background: #A979D1 none repeat scroll 0 0;
|
||||
border-radius: 2px;
|
||||
color: #ffffff;
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
border-left: 0 !important;
|
||||
border-right: 0 !important;
|
||||
border-top: 0 !important;
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar li {
|
||||
display: inline-block !important;
|
||||
.label-empty-title {
|
||||
background: #53D192;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar a {
|
||||
color: #323232 !important;
|
||||
.label-time {
|
||||
font-style: italic;
|
||||
background: #A979D1;
|
||||
}
|
||||
|
||||
li.bludit-logo {
|
||||
color: #fff !important;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
height: 41px;
|
||||
line-height: 40px;
|
||||
margin-left: -1px;
|
||||
margin-top: -1px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.bludit-user-navbar {
|
||||
background: #333 none repeat scroll 0 0;
|
||||
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) {
|
||||
/* Hidden the Welcome USERNAME */
|
||||
.uk-navbar-flip {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Expand and hidden the sidebar */
|
||||
.uk-width-large-8-10 {
|
||||
width: 100% !important;
|
||||
}
|
||||
/* Hidden the sidebar */
|
||||
.uk-width-large-2-10 {
|
||||
width: 0% !important;
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 960px) {
|
||||
.uk-width-large-4-5,
|
||||
.uk-width-large-8-10 {
|
||||
width: 75% !important;
|
||||
}
|
||||
|
||||
.uk-width-large-1-5,
|
||||
.uk-width-large-2-10 {
|
||||
width: 25% !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* UIKIT HACKs hidden navbar
|
||||
/* UIKIT HACKs tabs
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
.uk-navbar-brand {
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-navbar-toggle {
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-nav-offcanvas > li > a {
|
||||
color: #fff !important;
|
||||
.uk-nav-dropdown > li > a:focus,
|
||||
.uk-nav-dropdown > li > a:hover {
|
||||
background-color: #007add !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs buttons
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
.uk-button {
|
||||
padding: 2px 26px;
|
||||
text-shadow: none;
|
||||
color: #333 !important;
|
||||
border-radius: 2px !important;
|
||||
padding: 1px 20px !important;
|
||||
}
|
||||
|
||||
.uk-button-primary {
|
||||
background: #2196f3 !important;
|
||||
color: #fff !important;
|
||||
background-color: #007add !important;
|
||||
}
|
||||
|
||||
.uk-button-primary:hover {
|
||||
background: #2EA3FF;
|
||||
color: #fafafa !important;
|
||||
.uk-button-primary:hover,
|
||||
.uk-button-primary:focus {
|
||||
background-color: #0069BE !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs forms
|
||||
|
||||
|
||||
/* CSS defaults
|
||||
---------------------------------------------------------------- */
|
||||
legend {
|
||||
width: 70% !important;
|
||||
margin-top: 40px !important;
|
||||
}
|
||||
|
||||
legend.first-child {
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.uk-form-label {
|
||||
color: #666666;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
.uk-form-help-block {
|
||||
color: #AAAAAA;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.uk-table th,
|
||||
.uk-table td {
|
||||
padding: 15px 10px;
|
||||
}
|
||||
|
||||
.uk-table td.children {
|
||||
padding: 15px 10px 15px 25px;
|
||||
}
|
||||
|
||||
|
||||
.uk-badge {
|
||||
margin-right: 5px !important;
|
||||
font-size: 0.9em;
|
||||
padding: 2px 7px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2672ec;
|
||||
}
|
||||
|
||||
.uk-panel-box {
|
||||
background: #F9F9F9 !important;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.uk-container {
|
||||
max-width: 1280px !important;
|
||||
}
|
||||
|
||||
.uk-thumbnail {
|
||||
margin: 2px 3px !important;
|
||||
max-width: 30% !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.uk-progress-bar {
|
||||
background: #2672ec !important;
|
||||
}
|
||||
|
||||
.uk-placeholder {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
/* ----------- BLUDIT ----------- */
|
||||
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.bludit-navbar {
|
||||
#bl-container {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
/* TOPBAR
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
#bl-navbar {
|
||||
background: #f1f1f1;
|
||||
margin-bottom: 20px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#bl-navbar a.bl-brand {
|
||||
font-size: 20px;
|
||||
line-height: 60px;
|
||||
margin: 0 0 0 35px;
|
||||
text-transform: uppercase;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
}
|
||||
|
||||
#bl-navbar a.bl-brand:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#bl-navbar .bl-navbar-right {
|
||||
float: right;
|
||||
line-height: 60px;
|
||||
margin: 0 35px 0 0;
|
||||
}
|
||||
|
||||
/* SIDEBAR
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
#bl-sidebar a {
|
||||
color: #777 !important;
|
||||
}
|
||||
|
||||
#bl-sidebar .uk-nav {
|
||||
margin: 0px 0 0 20px !important;
|
||||
}
|
||||
|
||||
#bl-sidebar .uk-nav-header {
|
||||
font-weight: normal !important;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
/* VIEW
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
#bl-view {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#bl-view .uk-width-2-10 {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
|
||||
.plugin-incompatible,
|
||||
.theme-incompatible {
|
||||
background: #ffdc7d;
|
||||
border: 1px dashed #eec24a;
|
||||
color: #826106;
|
||||
display: table-cell;
|
||||
font-size: 12px;
|
||||
margin-top: 6px;
|
||||
padding: 1px 10px;
|
||||
}
|
||||
|
||||
/* DASHBOARD
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
#dashboard-panel .uk-panel {
|
||||
background-color: #fafafa !important;
|
||||
border: 1px solid #f8f8f8;
|
||||
box-shadow: 5px 1px 1px #fdfdfd;
|
||||
padding: 10px !important;
|
||||
}
|
||||
|
||||
#dashboard-panel .uk-panel h4.panel-title {
|
||||
text-transform: uppercase;
|
||||
font-size: 14px !important;
|
||||
}
|
||||
|
||||
div.dashboard-links {
|
||||
background-color: #fafafa !important;
|
||||
border: 1px solid #f8f8f8;
|
||||
box-shadow: 5px 1px 1px #fdfdfd;
|
||||
margin-bottom: 20px;
|
||||
padding: 50px 20px;
|
||||
}
|
||||
|
||||
div.dashboard-links h4 {
|
||||
margin-bottom: -8px !important;
|
||||
}
|
||||
|
||||
|
||||
/* FORM
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
.uk-form input:not([type]), .uk-form input[type="text"], .uk-form input[type="password"], .uk-form input[type="email"], .uk-form input[type="url"], .uk-form input[type="search"], .uk-form input[type="tel"], .uk-form input[type="number"], .uk-form input[type="datetime"], .uk-form input[type="datetime-local"], .uk-form input[type="date"], .uk-form input[type="month"], .uk-form input[type="time"], .uk-form input[type="week"], .uk-form input[type="color"], .uk-form select, .uk-form textarea {
|
||||
border-radius: 2px !important;
|
||||
}
|
||||
|
||||
.uk-form-help-block {
|
||||
color: #777 !important;
|
||||
font-size: 0.9em !important;
|
||||
}
|
||||
|
||||
.sidebar-meta .uk-form-label {
|
||||
font-size: 0.9em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.uk-form legend {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.uk-form legend.first-child {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
button.aslink {
|
||||
background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
|
||||
border: 0 none;
|
||||
color: #07d;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 1em;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
button.aslink:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
/* OLD
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
.bl-view {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
#logo {
|
||||
|
@ -270,10 +239,7 @@ button.delete-button:hover {
|
|||
height: 400px;
|
||||
}
|
||||
|
||||
.bl-view {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
|
||||
table.statistics tr:last-child td {
|
||||
border-bottom: none !important;
|
||||
|
@ -302,10 +268,6 @@ table.statistics tr:last-child td {
|
|||
|
||||
/* ----------- FORM ----------- */
|
||||
|
||||
.sidebar .uk-form-label {
|
||||
font-size: 0.9em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#bludit-tags {
|
||||
margin-top: 15px;
|
||||
|
@ -527,24 +489,7 @@ div.login-form {
|
|||
width: 400px;
|
||||
}
|
||||
|
||||
/* ----------- DASHBOARD ----------- */
|
||||
|
||||
div.dashboard-links {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
|
||||
div.dashboard-links h4 {
|
||||
margin-bottom: -8px !important;
|
||||
}
|
||||
|
||||
div.dashboard-links a {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
/* NEW POST */
|
||||
h3.titleOptions {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* ----------- PLUGIN LIST / THEME LIST ----------- */
|
||||
|
||||
|
@ -562,28 +507,6 @@ div.plugin-links > span.separator {
|
|||
color: #ccc;
|
||||
}
|
||||
|
||||
.label-draft,
|
||||
.label-empty-title,
|
||||
.label-time {
|
||||
background: #2672ec none repeat scroll 0 0;
|
||||
border-radius: 2px;
|
||||
color: #ffffff;
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.label-empty-title {
|
||||
background: #ED8F26;
|
||||
}
|
||||
|
||||
.label-time {
|
||||
font-style: italic;
|
||||
background: #ED3A26;
|
||||
}
|
||||
|
||||
/* ----------- PAGINATOR ----------- */
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
/*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||
/*! UIkit 2.26.4 | 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}
|
|
@ -1,2 +1,2 @@
|
|||
/*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||
/*! UIkit 2.26.4 | 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}
|
|
@ -1,2 +1,2 @@
|
|||
/*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||
/*! UIkit 2.26.4 | 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
|
@ -1,2 +1,2 @@
|
|||
/*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||
/*! UIkit 2.26.4 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||
.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}
|
|
@ -51,82 +51,6 @@ $(document).ready(function() {
|
|||
<?php Alert::p() ?>
|
||||
</div>
|
||||
|
||||
<!-- Navbar -->
|
||||
<nav class="uk-navbar bludit-navbar">
|
||||
|
||||
<!-- Navbar for Desktop -->
|
||||
<div class="uk-container uk-container-center uk-hidden-small">
|
||||
|
||||
<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' ?>"><?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' ?>"><?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' ?>"><?php $L->p('New page') ?></a></li>
|
||||
|
||||
<li class="uk-parent" data-uk-dropdown>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><?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' ?>"><?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-cog"></i> <?php $L->p('General') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-advanced' ?>"><i class="uk-icon-cogs"></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><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><a href="<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>"><i class="uk-icon-support"></i> <?php $L->p('About') ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li><a target="_blank" href="<?php echo HTML_PATH_ROOT ?>"><?php $L->p('Website') ?></a></li>
|
||||
|
||||
</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.png';
|
||||
if(file_exists(PATH_UPLOADS_PROFILES.$Login->username().'.png')) {
|
||||
$profilePictureSrc = HTML_PATH_UPLOADS_PROFILES.$Login->username().'.png';
|
||||
}
|
||||
?>
|
||||
<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 $L->p('Welcome') ?> <?php echo $Login->username() ?>
|
||||
</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>
|
||||
</ul>
|
||||
</div>
|
||||
</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>
|
||||
</nav>
|
||||
|
||||
<!-- Offcanvas for Mobile -->
|
||||
<div id="offcanvas" class="uk-offcanvas">
|
||||
<div class="uk-offcanvas-bar">
|
||||
|
@ -149,13 +73,85 @@ $(document).ready(function() {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- View -->
|
||||
<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');
|
||||
}
|
||||
?>
|
||||
<nav id="bl-navbar">
|
||||
<a href="" class="bl-brand">BLUDIT</a>
|
||||
|
||||
<div class="bl-navbar-right">
|
||||
Welcome <?php echo $Login->username() ?> -
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'logout' ?>"><?php $L->p('Logout') ?></a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="bl-container">
|
||||
|
||||
<div class="uk-grid uk-grid-small">
|
||||
|
||||
<div class="uk-width-1-4">
|
||||
<div id="bl-sidebar">
|
||||
|
||||
<ul class="uk-nav">
|
||||
|
||||
<li <?php echo ($layout['view']=='dashboard')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'dashboard' ?>"><?php $L->p('Dashboard') ?></a>
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="<?php echo HTML_PATH_ROOT ?>"><?php $L->p('Website') ?></a>
|
||||
</li>
|
||||
|
||||
<li class="uk-nav-header"><?php $L->p('Publish') ?></li>
|
||||
<li <?php echo ($layout['view']=='new-post')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'new-post' ?>"><?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' ?>"><?php $L->p('New page') ?></a>
|
||||
</li>
|
||||
|
||||
<li class="uk-nav-header">Manage</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><?php $L->p('Posts') ?></a>
|
||||
</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-pages' ?>"><?php $L->p('Pages') ?></a>
|
||||
</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'users' ?>"><?php $L->p('Users') ?></a>
|
||||
</li>
|
||||
|
||||
<li class="uk-nav-header">Settings</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-general' ?>"><?php $L->p('General') ?></a>
|
||||
</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-advanced' ?>"><?php $L->p('Advanced') ?></a>
|
||||
</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-regional' ?>"><?php $L->p('Language and timezone') ?></a>
|
||||
</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>"><?php $L->p('Plugins') ?></a>
|
||||
</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'themes' ?>"><?php $L->p('Themes') ?></a>
|
||||
</li>
|
||||
<li <?php echo ($layout['view']=='new-page')?'class="uk-active"':'' ?>>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>"><?php $L->p('About') ?></a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-width-3-4">
|
||||
<div id="bl-view">
|
||||
<?php
|
||||
if( Sanitize::pathFile(PATH_ADMIN_VIEWS, $layout['view'].'.php') ) {
|
||||
include(PATH_ADMIN_VIEWS.$layout['view'].'.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Javascript -->
|
||||
|
|
|
@ -205,11 +205,11 @@ class HTML {
|
|||
|
||||
public static function bluditCoverImage($coverImage="")
|
||||
{
|
||||
global $L;
|
||||
|
||||
// Javascript code
|
||||
include(PATH_JS.'bludit-cover-image.js');
|
||||
|
||||
global $L;
|
||||
|
||||
$style = '';
|
||||
if(!empty($coverImage)) {
|
||||
$style = 'background-image: url('.HTML_PATH_UPLOADS_THUMBNAILS.$coverImage.')';
|
||||
|
@ -263,11 +263,11 @@ class HTML {
|
|||
|
||||
public static function bluditImagesV8()
|
||||
{
|
||||
global $L;
|
||||
|
||||
// Javascript code
|
||||
include(PATH_JS.'bludit-images-v8.js');
|
||||
|
||||
global $L;
|
||||
|
||||
$html = '<!-- BLUDIT IMAGES V8 -->';
|
||||
$html .= '
|
||||
<div id="bludit-images-v8" class="uk-modal">
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,256 +1,2 @@
|
|||
(function(addon) {
|
||||
|
||||
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;
|
||||
});
|
||||
/*! UIkit 2.26.4 | 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 f=a.complete;if(a.single){var s=o.length,d=0,p=!0;a.beforeAll(o),a.complete=function(e,t){d+=1,f(e,t),a.filelimit&&d>=a.filelimit&&(p=!1),p&&s>d?r([o[d]],a):a.allcomplete(e,t)},r([o[0]],a)}else a.complete=function(e,t){f(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.originalEvent.dataTransfer&&n.originalEvent.dataTransfer.files&&(n.stopPropagation(),n.preventDefault(),e.element.removeClass(e.options.dragoverClass),e.element.trigger("dropped.uk.upload",[n.originalEvent.dataTransfer.files]),t(n.originalEvent.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()}(),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});
|
|
@ -0,0 +1,664 @@
|
|||
.uk-form * {
|
||||
border-radius: 2px !important;
|
||||
}
|
||||
|
||||
.uk-tab a {
|
||||
color: #2196f3 !important;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2196f3 !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs navbar
|
||||
---------------------------------------------------------------- */
|
||||
.uk-navbar {
|
||||
background: #323232 !important;
|
||||
border: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav a {
|
||||
border: none !important;
|
||||
border-radius: none !important;
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
font-weight: 300 !important;
|
||||
padding: 0 25px !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav > li.uk-open > a,
|
||||
.uk-navbar-nav > li:hover > a,
|
||||
.uk-navbar-nav > li:focus > a,
|
||||
.uk-navbar-nav > li > a:focus,
|
||||
.uk-navbar-nav > li > a:hover {
|
||||
background: none !important;
|
||||
border-radius: 0 !important;
|
||||
color: #BBBBBB !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
.uk-nav-navbar > li > a:focus,
|
||||
.uk-nav-navbar > li > a:hover {
|
||||
background: none !important;
|
||||
border-radius: 0 !important;
|
||||
color: #888 !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav > li.uk-active > a {
|
||||
background: none !important;
|
||||
color: #BBBBBB !important;
|
||||
}
|
||||
|
||||
.uk-navbar-nav .uk-border-circle {
|
||||
border-radius: 20px !important;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar {
|
||||
margin: 0 !important;
|
||||
padding: 10px 0 !important;
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
border-left: 0 !important;
|
||||
border-right: 0 !important;
|
||||
border-top: 0 !important;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar li {
|
||||
display: inline-block !important;
|
||||
}
|
||||
|
||||
.uk-dropdown-navbar a {
|
||||
color: #323232 !important;
|
||||
}
|
||||
|
||||
li.bludit-logo {
|
||||
color: #fff !important;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
height: 41px;
|
||||
line-height: 40px;
|
||||
margin-left: -1px;
|
||||
margin-top: -1px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.bludit-user-navbar {
|
||||
background: #333 none repeat scroll 0 0;
|
||||
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) {
|
||||
/* Hidden the Welcome USERNAME */
|
||||
.uk-navbar-flip {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Expand and hidden the sidebar */
|
||||
.uk-width-large-8-10 {
|
||||
width: 100% !important;
|
||||
}
|
||||
/* Hidden the sidebar */
|
||||
.uk-width-large-2-10 {
|
||||
width: 0% !important;
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 960px) {
|
||||
.uk-width-large-4-5,
|
||||
.uk-width-large-8-10 {
|
||||
width: 75% !important;
|
||||
}
|
||||
|
||||
.uk-width-large-1-5,
|
||||
.uk-width-large-2-10 {
|
||||
width: 25% !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* UIKIT HACKs hidden navbar
|
||||
---------------------------------------------------------------- */
|
||||
|
||||
.uk-navbar-brand {
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-navbar-toggle {
|
||||
text-shadow: none !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-nav-offcanvas > li > a {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs buttons
|
||||
---------------------------------------------------------------- */
|
||||
.uk-button {
|
||||
padding: 2px 26px;
|
||||
text-shadow: none;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.uk-button-primary {
|
||||
background: #2196f3 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.uk-button-primary:hover {
|
||||
background: #2EA3FF;
|
||||
color: #fafafa !important;
|
||||
}
|
||||
|
||||
/* UIKIT HACKs forms
|
||||
---------------------------------------------------------------- */
|
||||
legend {
|
||||
width: 70% !important;
|
||||
margin-top: 40px !important;
|
||||
}
|
||||
|
||||
legend.first-child {
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.uk-form-label {
|
||||
color: #666666;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
.uk-form-help-block {
|
||||
color: #AAAAAA;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.uk-table th,
|
||||
.uk-table td {
|
||||
padding: 15px 10px;
|
||||
}
|
||||
|
||||
.uk-table td.children {
|
||||
padding: 15px 10px 15px 25px;
|
||||
}
|
||||
|
||||
|
||||
.uk-badge {
|
||||
margin-right: 5px !important;
|
||||
font-size: 0.9em;
|
||||
padding: 2px 7px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2672ec;
|
||||
}
|
||||
|
||||
.uk-panel-box {
|
||||
background: #F9F9F9 !important;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.uk-container {
|
||||
max-width: 1280px !important;
|
||||
}
|
||||
|
||||
.uk-thumbnail {
|
||||
margin: 2px 3px !important;
|
||||
max-width: 30% !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.uk-progress-bar {
|
||||
background: #2672ec !important;
|
||||
}
|
||||
|
||||
.uk-placeholder {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
/* ----------- BLUDIT ----------- */
|
||||
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.bludit-navbar {
|
||||
|
||||
}
|
||||
|
||||
#logo {
|
||||
background: #f4f4f4;
|
||||
padding:20px 0;
|
||||
}
|
||||
|
||||
h2.title {
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
|
||||
button.delete-button {
|
||||
background: none;
|
||||
border: 0 none;
|
||||
color: #da2727;
|
||||
cursor: pointer;
|
||||
font-size: 0.9em;
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
button.delete-button:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#jscontent {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.bl-view {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
table.statistics tr:last-child td {
|
||||
border-bottom: none !important;
|
||||
}
|
||||
|
||||
/* ----------- ALERT ----------- */
|
||||
|
||||
#alert {
|
||||
bottom: 0;
|
||||
color: #ffffff;
|
||||
padding: 10px;
|
||||
display: none;
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
z-index: 100;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.alert-ok {
|
||||
background: #4374C1;
|
||||
}
|
||||
|
||||
.alert-fail {
|
||||
background: #c14343;
|
||||
}
|
||||
|
||||
/* ----------- FORM ----------- */
|
||||
|
||||
.sidebar .uk-form-label {
|
||||
font-size: 0.9em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#bludit-tags {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#bludit-tags .uk-button {
|
||||
padding: 0 12px !important;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#jstagList {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#jstagList span.unselect,
|
||||
#jstagList span.select {
|
||||
margin-top: 5px;
|
||||
margin-right: 5px;
|
||||
padding: 2px 15px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
border-radius: 3px;
|
||||
background: #f1f1f1;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#jstagList span.unselect:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f067";
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#jstagList span.unselect {
|
||||
color: #AAA;
|
||||
}
|
||||
|
||||
#jstagList span.unselect:hover {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
#jstagList span.select:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f00c";
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#jstagList span.select {
|
||||
color: #2196f3;
|
||||
padding: 2px 13px;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT IMAGES V8 ----------- */
|
||||
#bludit-images-v8 {
|
||||
|
||||
}
|
||||
|
||||
#bludit-images-v8 .bludit-thumbnail {
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
height: auto;
|
||||
margin: 2px;
|
||||
padding: 0;
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
#bludit-images-v8-upload {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: 15px !important;
|
||||
}
|
||||
|
||||
#bludit-images-v8-drag-drop {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
#bludit-images-v8-progressbar {
|
||||
display: none;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
#bludit-images-v8-thumbnails {
|
||||
max-height: 350px;
|
||||
overflow: auto;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/* Bludit Menu v8 */
|
||||
|
||||
#bludit-menuV8 {
|
||||
display: none;
|
||||
z-index: 1020;
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
border: 1px solid #CCC;
|
||||
background: #FFF;
|
||||
color: #333;
|
||||
border-radius: 2px;
|
||||
list-style-type: none;
|
||||
padding: 5px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#bludit-menuV8 li {
|
||||
padding: 8px 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#bludit-menuV8 li:hover {
|
||||
background-color: #2672ec;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#bludit-menuV8 li i {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT QUICK IMAGES ----------- */
|
||||
#bludit-quick-images {
|
||||
|
||||
}
|
||||
|
||||
#bludit-quick-images a.moreImages {
|
||||
margin: 15px 0 0;
|
||||
width: 100%;
|
||||
background: #F5F5F5 !important;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
#bludit-quick-images h4.label {
|
||||
background: #f8f8f8;
|
||||
color: #aaa;
|
||||
padding: 2px 5px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#bludit-quick-images-thumbnails {
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
#bludit-quick-images .bludit-thumbnail {
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
height: auto;
|
||||
margin: 2px;
|
||||
padding: 0;
|
||||
width: 31% !important;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT COVER IMAGE ----------- */
|
||||
#bludit-cover-image {
|
||||
|
||||
}
|
||||
|
||||
#cover-image-thumbnail {
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
color: #666;
|
||||
height: 130px;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#cover-image-upload {
|
||||
color: #999;
|
||||
position: relative;
|
||||
top: 35%;
|
||||
}
|
||||
|
||||
#cover-image-delete {
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
bottom: 0;
|
||||
color: #000;
|
||||
display: none;
|
||||
font-size: 2.2em;
|
||||
padding: 4px 10px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#cover-image-progressbar {
|
||||
display: none;
|
||||
left: 5%;
|
||||
position: relative;
|
||||
top: 33%;
|
||||
width: 90%;
|
||||
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT PROFILE PICTURE ----------- */
|
||||
|
||||
#bludit-profile-picture-drag-drop {
|
||||
width: 100%;
|
||||
padding: 15px 0;
|
||||
}
|
||||
|
||||
#bludit-profile-picture-progressbar {
|
||||
display: none;
|
||||
margin: 15px 0 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* ----------- LOGIN FORM ----------- */
|
||||
|
||||
div.login-box > h1 {
|
||||
font-weight: lighter;
|
||||
letter-spacing: 4px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
div.login-form {
|
||||
background: #f1f1f1 none repeat scroll 0 0;
|
||||
padding: 20px;
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
/* ----------- DASHBOARD ----------- */
|
||||
|
||||
div.dashboard-links {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
|
||||
div.dashboard-links h4 {
|
||||
margin-bottom: -8px !important;
|
||||
}
|
||||
|
||||
div.dashboard-links a {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
/* NEW POST */
|
||||
h3.titleOptions {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* ----------- PLUGIN LIST / THEME LIST ----------- */
|
||||
|
||||
tr.plugin-installed,
|
||||
tr.theme-installed {
|
||||
background: #F2F7FF !important;
|
||||
}
|
||||
|
||||
div.plugin-links > a {
|
||||
display: inline-block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
div.plugin-links > span.separator {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.label-draft,
|
||||
.label-empty-title,
|
||||
.label-time {
|
||||
background: #2672ec none repeat scroll 0 0;
|
||||
border-radius: 2px;
|
||||
color: #ffffff;
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.label-empty-title {
|
||||
background: #ED8F26;
|
||||
}
|
||||
|
||||
.label-time {
|
||||
font-style: italic;
|
||||
background: #ED3A26;
|
||||
}
|
||||
|
||||
/* ----------- PAGINATOR ----------- */
|
||||
|
||||
#paginator ul {
|
||||
list-style-type: none;
|
||||
margin: 15px 0;
|
||||
padding: 0;
|
||||
font-size: 0.9em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#paginator a {
|
||||
color: #2672ec;
|
||||
}
|
||||
|
||||
#paginator li {
|
||||
display: inline;
|
||||
float: none !important;
|
||||
}
|
||||
|
||||
#paginator li.left {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#paginator li.list {
|
||||
background: #e0e0e0;
|
||||
color: #747474;
|
||||
padding: 2px 11px;
|
||||
margin: 0px 15px;
|
||||
}
|
||||
|
||||
#paginator li.right {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/* ----------- PLUGINS FORM ----------- */
|
||||
|
||||
#jsformplugin div {
|
||||
margin-bottom: 1.1em;
|
||||
}
|
||||
|
||||
#jsformplugin label {
|
||||
margin: 0 0 5px 0 !important;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#jsformplugin div.tip {
|
||||
font-size: 0.9em;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
|
||||
#jsformplugin textarea {
|
||||
min-width: 400px;
|
||||
width: 60%;
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
#jsformplugin input[type=text] {
|
||||
min-width: 400px;
|
||||
width: 60%;
|
||||
height: 37px;
|
||||
}
|
||||
|
||||
#jsformplugin input[type="checkbox"] {
|
||||
vertical-align: middle;
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#jsformplugin label.forCheckbox {
|
||||
margin-left: 3px;
|
||||
margin-bottom: 0px !important;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#jsformplugin p {
|
||||
margin-bottom: 0;
|
||||
}
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,68 @@
|
|||
/* ----------- UIKIT HACKs FOR BLUDIT ----------- */
|
||||
html {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.uk-form * {
|
||||
border-radius: 2px !important;
|
||||
}
|
||||
|
||||
.uk-button-primary {
|
||||
background: #444;
|
||||
}
|
||||
|
||||
.uk-button-primary:hover {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"] {
|
||||
border-color: #EBEBEB !important;
|
||||
border-radius: 2px !important;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
input:disabled {
|
||||
background: #ccc;
|
||||
}
|
||||
|
||||
.uk-vertical-align-middle {
|
||||
margin-top: -150px;
|
||||
}
|
||||
|
||||
.uk-panel {
|
||||
background: #ffffff;
|
||||
display: block;
|
||||
margin: 20px 0;
|
||||
padding: 20px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT ----------- */
|
||||
|
||||
h1.title {
|
||||
font-weight: lighter;
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
|
||||
.content {
|
||||
|
||||
}
|
||||
|
||||
#jsshowPassword {
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
font-size: 1em;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#jscompleteEmail {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
|
@ -0,0 +1,568 @@
|
|||
.xdsoft_datetimepicker {
|
||||
box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506);
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #bbb;
|
||||
border-left: 1px solid #ccc;
|
||||
border-right: 1px solid #ccc;
|
||||
border-top: 1px solid #ccc;
|
||||
color: #333;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
padding: 8px;
|
||||
padding-left: 0;
|
||||
padding-top: 2px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
display: none;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl {
|
||||
padding: 8px 0 8px 8px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker iframe {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 75px;
|
||||
height: 210px;
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/*For IE8 or lower*/
|
||||
.xdsoft_datetimepicker button {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_noselect {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.xdsoft_noselect::selection { background: transparent }
|
||||
.xdsoft_noselect::-moz-selection { background: transparent }
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_inline {
|
||||
display: inline-block;
|
||||
position: static;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker * {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker {
|
||||
width: 224px;
|
||||
float: left;
|
||||
margin-left: 8px;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker {
|
||||
float: right;
|
||||
margin-right: 8px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
|
||||
width: 256px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker {
|
||||
width: 58px;
|
||||
float: left;
|
||||
text-align: center;
|
||||
margin-left: 8px;
|
||||
margin-top: 0;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker {
|
||||
float: right;
|
||||
margin-right: 8px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 3px
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label i,
|
||||
.xdsoft_datetimepicker .xdsoft_prev,
|
||||
.xdsoft_datetimepicker .xdsoft_next,
|
||||
.xdsoft_datetimepicker .xdsoft_today_button {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label i {
|
||||
opacity: 0.5;
|
||||
background-position: -92px -19px;
|
||||
display: inline-block;
|
||||
width: 9px;
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_prev {
|
||||
float: left;
|
||||
background-position: -20px 0;
|
||||
}
|
||||
.xdsoft_datetimepicker .xdsoft_today_button {
|
||||
float: left;
|
||||
background-position: -70px 0;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_next {
|
||||
float: right;
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_next,
|
||||
.xdsoft_datetimepicker .xdsoft_prev ,
|
||||
.xdsoft_datetimepicker .xdsoft_today_button {
|
||||
background-color: transparent;
|
||||
background-repeat: no-repeat;
|
||||
border: 0 none;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 30px;
|
||||
opacity: 0.5;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
|
||||
outline: medium none;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
text-indent: 100%;
|
||||
white-space: nowrap;
|
||||
width: 20px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
|
||||
float: none;
|
||||
background-position: -40px -15px;
|
||||
height: 15px;
|
||||
width: 30px;
|
||||
display: block;
|
||||
margin-left: 14px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev,
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
|
||||
background-position: -40px 0;
|
||||
margin-bottom: 7px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
|
||||
height: 151px;
|
||||
overflow: hidden;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {
|
||||
background: #f5f5f5;
|
||||
border-top: 1px solid #ddd;
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
border-collapse: collapse;
|
||||
cursor: pointer;
|
||||
border-bottom-width: 0;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child {
|
||||
border-top-width: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_today_button:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_next:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_prev:hover {
|
||||
opacity: 1;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label {
|
||||
display: inline;
|
||||
position: relative;
|
||||
z-index: 9999;
|
||||
margin: 0;
|
||||
padding: 5px 3px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
font-weight: bold;
|
||||
background-color: #fff;
|
||||
float: left;
|
||||
width: 182px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label:hover>span {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label:hover i {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
|
||||
border: 1px solid #ccc;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 30px;
|
||||
z-index: 101;
|
||||
display: none;
|
||||
background: #fff;
|
||||
max-height: 160px;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{ right: -7px }
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{ right: 2px }
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
|
||||
color: #fff;
|
||||
background: #ff8000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
|
||||
padding: 2px 10px 2px 5px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
|
||||
background: #33aaff;
|
||||
box-shadow: #178fe5 0 1px 3px 0 inset;
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_month {
|
||||
width: 100px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_year{
|
||||
width: 48px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td > div {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
width: 14.2857142%;
|
||||
background: #f5f5f5;
|
||||
border: 1px solid #ddd;
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
padding: 0;
|
||||
border-collapse: collapse;
|
||||
cursor: pointer;
|
||||
height: 25px;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th {
|
||||
width: 12.5%;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
background: #f1f1f1;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
|
||||
color: #33aaff;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default {
|
||||
background: #ffe9d2;
|
||||
box-shadow: #ffb871 0 1px 4px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint {
|
||||
background: #c1ffc9;
|
||||
box-shadow: #00dd1c 0 1px 4px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
|
||||
background: #33aaff;
|
||||
box-shadow: #178fe5 0 1px 3px 0 inset;
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
|
||||
.xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled {
|
||||
opacity: 0.5;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled {
|
||||
opacity: 0.2;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
|
||||
color: #fff !important;
|
||||
background: #ff8000 !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover {
|
||||
background: #33aaff !important;
|
||||
box-shadow: #178fe5 0 1px 3px 0 inset !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover {
|
||||
color: inherit !important;
|
||||
background: inherit !important;
|
||||
box-shadow: inherit !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_copyright {
|
||||
color: #ccc !important;
|
||||
font-size: 10px;
|
||||
clear: both;
|
||||
float: none;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_copyright a { color: #eee !important }
|
||||
.xdsoft_datetimepicker .xdsoft_copyright a:hover { color: #aaa !important }
|
||||
|
||||
.xdsoft_time_box {
|
||||
position: relative;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
.xdsoft_scrollbar >.xdsoft_scroller {
|
||||
background: #ccc !important;
|
||||
height: 20px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.xdsoft_scrollbar {
|
||||
position: absolute;
|
||||
width: 7px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar {
|
||||
left: 0;
|
||||
right: auto;
|
||||
}
|
||||
.xdsoft_scroller_box {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark {
|
||||
box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506);
|
||||
background: #000;
|
||||
border-bottom: 1px solid #444;
|
||||
border-left: 1px solid #333;
|
||||
border-right: 1px solid #333;
|
||||
border-top: 1px solid #333;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box {
|
||||
border-bottom: 1px solid #222;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div {
|
||||
background: #0a0a0a;
|
||||
border-top: 1px solid #222;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label {
|
||||
background-color: #000;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select {
|
||||
border: 1px solid #333;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
|
||||
color: #000;
|
||||
background: #007fff;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
|
||||
background: #cc5500;
|
||||
box-shadow: #b03e00 0 1px 3px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==);
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
|
||||
background: #0a0a0a;
|
||||
border: 1px solid #222;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
|
||||
background: #0e0e0e;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today {
|
||||
color: #cc5500;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default {
|
||||
background: #ffe9d2;
|
||||
box-shadow: #ffb871 0 1px 4px 0 inset;
|
||||
color:#000;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint {
|
||||
background: #c1ffc9;
|
||||
box-shadow: #00dd1c 0 1px 4px 0 inset;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
|
||||
background: #cc5500;
|
||||
box-shadow: #b03e00 0 1px 3px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
|
||||
color: #000 !important;
|
||||
background: #007fff !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright { color: #333 !important }
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a { color: #111 !important }
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover { color: #555 !important }
|
||||
|
||||
.xdsoft_dark .xdsoft_time_box {
|
||||
border: 1px solid #333;
|
||||
}
|
||||
|
||||
.xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller {
|
||||
background: #333 !important;
|
||||
}
|
||||
.xdsoft_datetimepicker .xdsoft_save_selected {
|
||||
display: block;
|
||||
border: 1px solid #dddddd !important;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
color: #454551;
|
||||
font-size: 13px;
|
||||
}
|
||||
.xdsoft_datetimepicker .blue-gradient-button {
|
||||
font-family: "museo-sans", "Book Antiqua", sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 300;
|
||||
color: #82878c;
|
||||
height: 28px;
|
||||
position: relative;
|
||||
padding: 4px 17px 4px 33px;
|
||||
border: 1px solid #d7d8da;
|
||||
background: -moz-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(73%, #f4f8fa));
|
||||
/* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* IE10+ */
|
||||
background: linear-gradient(to bottom, #fff 0%, #f4f8fa 73%);
|
||||
/* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#f4f8fa',GradientType=0 );
|
||||
/* IE6-9 */
|
||||
}
|
||||
.xdsoft_datetimepicker .blue-gradient-button:hover, .xdsoft_datetimepicker .blue-gradient-button:focus, .xdsoft_datetimepicker .blue-gradient-button:hover span, .xdsoft_datetimepicker .blue-gradient-button:focus span {
|
||||
color: #454551;
|
||||
background: -moz-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4f8fa), color-stop(73%, #FFF));
|
||||
/* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* IE10+ */
|
||||
background: linear-gradient(to bottom, #f4f8fa 0%, #FFF 73%);
|
||||
/* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f8fa', endColorstr='#FFF',GradientType=0 );
|
||||
/* IE6-9 */
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
/* ----------- UIKIT HACKs FOR BLUDIT ----------- */
|
||||
html {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
* {
|
||||
border-radius: 2px !important;
|
||||
}
|
||||
|
||||
.uk-button-primary {
|
||||
background: #444;
|
||||
}
|
||||
|
||||
.uk-button-primary:hover {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"] {
|
||||
border-color: #EBEBEB !important;
|
||||
border-radius: 2px !important;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.uk-alert {
|
||||
padding: 22px 0 !important;
|
||||
}
|
||||
|
||||
/* ----------- BLUDIT ----------- */
|
||||
|
||||
div.login-box {
|
||||
width: 400px;
|
||||
max-width: calc(100% - 40px);
|
||||
}
|
||||
|
||||
div.login-box > h1 {
|
||||
font-weight: lighter;
|
||||
letter-spacing: 4px;
|
||||
margin-bottom: 50px;
|
||||
margin-top: -100px;
|
||||
}
|
||||
|
||||
div.login-form {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.login-form > h2 {
|
||||
color: #777;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
a.login-email {
|
||||
border: 0;
|
||||
color: #777;
|
||||
display: block;
|
||||
margin: 20px 0;
|
||||
padding: 0;
|
||||
text-align: left;
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
/*! 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}
|
|
@ -0,0 +1,2 @@
|
|||
/*! 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}
|
|
@ -0,0 +1,2 @@
|
|||
/*! 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}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,2 @@
|
|||
/*! 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)}
|
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 1005 B |
|
@ -0,0 +1,168 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="<?php echo CHARSET ?>">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
|
||||
<title><?php echo $layout['title'] ?></title>
|
||||
|
||||
<!-- Favicon -->
|
||||
<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="<?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/uikit/upload.almost-flat.min.css?version='.BLUDIT_VERSION ?>">
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo HTML_PATH_ADMIN_THEME.'css/uikit/form-file.almost-flat.min.css?version='.BLUDIT_VERSION ?>">
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo HTML_PATH_ADMIN_THEME.'css/uikit/placeholder.almost-flat.min.css?version='.BLUDIT_VERSION ?>">
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo HTML_PATH_ADMIN_THEME.'css/uikit/progress.almost-flat.min.css?version='.BLUDIT_VERSION ?>">
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo HTML_PATH_ADMIN_THEME.'css/default.css?version='.BLUDIT_VERSION ?>">
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo HTML_PATH_ADMIN_THEME.'css/jquery.datetimepicker.css?version='.BLUDIT_VERSION ?>">
|
||||
|
||||
<!-- Javascript -->
|
||||
<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>
|
||||
<script charset="utf-8" src="<?php echo HTML_PATH_ADMIN_THEME.'js/uikit/upload.min.js?version='.BLUDIT_VERSION ?>"></script>
|
||||
<script charset="utf-8" src="<?php echo HTML_PATH_ADMIN_THEME.'js/jquery.datetimepicker.js?version='.BLUDIT_VERSION ?>"></script>
|
||||
|
||||
<!-- Plugins -->
|
||||
<?php Theme::plugins('adminHead') ?>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Plugins -->
|
||||
<?php Theme::plugins('adminBodyBegin') ?>
|
||||
|
||||
<!-- Alert -->
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
<?php
|
||||
if( Alert::defined() ) {
|
||||
echo '$("#alert").slideDown().delay(3500).slideUp();';
|
||||
}
|
||||
?>
|
||||
$(window).click(function() {
|
||||
$("#alert").hide();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="alert" class="<?php echo (Alert::status()==ALERT_STATUS_OK)?'alert-ok':'alert-fail'; ?>">
|
||||
<?php Alert::p() ?>
|
||||
</div>
|
||||
|
||||
<!-- Navbar -->
|
||||
<nav class="uk-navbar bludit-navbar">
|
||||
|
||||
<!-- Navbar for Desktop -->
|
||||
<div class="uk-container uk-container-center uk-hidden-small">
|
||||
|
||||
<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' ?>"><?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' ?>"><?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' ?>"><?php $L->p('New page') ?></a></li>
|
||||
|
||||
<li class="uk-parent" data-uk-dropdown>
|
||||
<a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><?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' ?>"><?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-cog"></i> <?php $L->p('General') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-advanced' ?>"><i class="uk-icon-cogs"></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><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><a href="<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>"><i class="uk-icon-support"></i> <?php $L->p('About') ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li><a target="_blank" href="<?php echo HTML_PATH_ROOT ?>"><?php $L->p('Website') ?></a></li>
|
||||
|
||||
</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.png';
|
||||
if(file_exists(PATH_UPLOADS_PROFILES.$Login->username().'.png')) {
|
||||
$profilePictureSrc = HTML_PATH_UPLOADS_PROFILES.$Login->username().'.png';
|
||||
}
|
||||
?>
|
||||
<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 $L->p('Welcome') ?> <?php echo $Login->username() ?>
|
||||
</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>
|
||||
</ul>
|
||||
</div>
|
||||
</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>
|
||||
</nav>
|
||||
|
||||
<!-- Offcanvas for Mobile -->
|
||||
<div id="offcanvas" class="uk-offcanvas">
|
||||
<div class="uk-offcanvas-bar">
|
||||
<ul class="uk-nav uk-nav-offcanvas">
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'dashboard' ?>"><?php $L->p('Dashboard') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'new-post' ?>"><?php $L->p('New post') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'new-page' ?>"><?php $L->p('New page') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-posts' ?>"><?php $L->p('Manage posts') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'manage-pages' ?>"><?php $L->p('Manage pages') ?></a></li>
|
||||
<?php if($Login->role() == 'admin') { ?>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'users' ?>"><?php $L->p('Manage users') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-general' ?>"><?php $L->p('General settings') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-advanced' ?>"><?php $L->p('Advanced settings') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'settings-regional' ?>"><?php $L->p('Language and timezone') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>"><?php $L->p('Plugins') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'themes' ?>"><?php $L->p('Themes') ?></a></li>
|
||||
<li><a href="<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>"><?php $L->p('About') ?></a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- View -->
|
||||
<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');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
<!-- Javascript -->
|
||||
<?php include(PATH_JS.'functions.php') ?>
|
||||
|
||||
<!-- Plugins -->
|
||||
<?php Theme::plugins('adminBodyEnd') ?>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,394 @@
|
|||
<?php
|
||||
|
||||
class HTML {
|
||||
|
||||
public static function title($args)
|
||||
{
|
||||
$html = '<h2 class="title"><i class="uk-icon-'.$args['icon'].'"></i> '.$args['title'].'</h2>';
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function formOpen($args)
|
||||
{
|
||||
$class = empty($args['class']) ? '' : ' '.$args['class'];
|
||||
$id = empty($args['id']) ? '' : 'id="'.$args['id'].'"';
|
||||
|
||||
$html = '<form class="uk-form'.$class.'" '.$id.' method="post" action="" autocomplete="off">';
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function formClose()
|
||||
{
|
||||
$html = '</form>';
|
||||
|
||||
$script = '<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
// Prevent the form submit when press enter key.
|
||||
$("form").keypress(function(e) {
|
||||
if( (e.which == 13) && (e.target.type !== "textarea") ) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>';
|
||||
|
||||
echo $html.$script;
|
||||
}
|
||||
|
||||
// label, name, value, tip
|
||||
public static function formInputText($args)
|
||||
{
|
||||
$id = 'js'.$args['name'];
|
||||
$type = isset($args['type']) ? $args['type'] : 'text';
|
||||
$class = empty($args['class']) ? '' : 'class="'.$args['class'].'"';
|
||||
$placeholder = empty($args['placeholder']) ? '' : 'placeholder="'.$args['placeholder'].'"';
|
||||
$disabled = empty($args['disabled']) ? '' : 'disabled';
|
||||
|
||||
$html = '<div class="uk-form-row">';
|
||||
|
||||
if(!empty($args['label'])) {
|
||||
$html .= '<label for="'.$id.'" class="uk-form-label">'.$args['label'].'</label>';
|
||||
}
|
||||
|
||||
$html .= '<div class="uk-form-controls">';
|
||||
|
||||
$html .= '<input id="'.$id.'" name="'.$args['name'].'" type="'.$type.'" '.$class.' '.$placeholder.' autocomplete="off" '.$disabled.' value="'.$args['value'].'">';
|
||||
|
||||
if(!empty($args['tip'])) {
|
||||
$html .= '<p class="uk-form-help-block">'.$args['tip'].'</p>';
|
||||
}
|
||||
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function tags($args)
|
||||
{
|
||||
global $L;
|
||||
// Javascript code
|
||||
include(PATH_JS.'bludit-tags.js');
|
||||
|
||||
$html = '<div id="bludit-tags" class="uk-form-row">';
|
||||
|
||||
$html .= '<input type="hidden" id="jstags" name="tags" value="">';
|
||||
|
||||
$html .= '<label for="jstagInput" class="uk-form-label">'.$args['label'].'</label>';
|
||||
|
||||
$html .= '<div class="uk-form-controls">';
|
||||
$html .= '<input id="jstagInput" type="text" class="uk-width-1-2" autocomplete="off">';
|
||||
$html .= '<button id="jstagAdd" class="uk-button">'.$L->g('Add').'</button>';
|
||||
|
||||
$html .= '<div id="jstagList">';
|
||||
|
||||
foreach($args['allTags'] as $tag) {
|
||||
$html .= '<span data-tag="'.$tag.'" class="'.( in_array($tag, $args['selectedTags'])?'select':'unselect' ).'">'.$tag.'</span>';
|
||||
}
|
||||
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function formInputPassword($args)
|
||||
{
|
||||
$args['type'] = 'password';
|
||||
self::formInputText($args);
|
||||
}
|
||||
|
||||
public static function formTextarea($args)
|
||||
{
|
||||
$id = 'js'.$args['name'];
|
||||
$type = isset($args['type']) ? $args['type'] : 'text';
|
||||
$class = empty($args['class']) ? '' : 'class="'.$args['class'].'"';
|
||||
$placeholder = empty($args['placeholder']) ? '' : 'placeholder="'.$args['placeholder'].'"';
|
||||
$rows = empty($args['rows']) ? '' : 'rows="'.$args['rows'].'"';
|
||||
|
||||
$html = '<div class="uk-form-row">';
|
||||
|
||||
if(!empty($args['label'])) {
|
||||
$html .= '<label for="'.$id.'" class="uk-form-label">'.$args['label'].'</label>';
|
||||
}
|
||||
|
||||
$html .= '<div class="uk-form-controls">';
|
||||
|
||||
$html .= '<textarea id="'.$id.'" name="'.$args['name'].'" '.$class.' '.$placeholder.' '.$rows.'>'.$args['value'].'</textarea>';
|
||||
|
||||
if(!empty($args['tip'])) {
|
||||
$html .= '<p class="uk-form-help-block">'.$args['tip'].'</p>';
|
||||
}
|
||||
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function formSelect($args)
|
||||
{
|
||||
$id = 'js'.$args['name'];
|
||||
$type = isset($args['type']) ? $args['type'] : 'text';
|
||||
$class = empty($args['class']) ? '' : 'class="'.$args['class'].'"';
|
||||
|
||||
$html = '<div class="uk-form-row">';
|
||||
$html .= '<label for="'.$id.'" class="uk-form-label">'.$args['label'].'</label>';
|
||||
$html .= '<div class="uk-form-controls">';
|
||||
$html .= '<select id="'.$id.'" name="'.$args['name'].'" '.$class.'>';
|
||||
foreach($args['options'] as $key=>$value) {
|
||||
$html .= '<option value="'.$key.'"'.( ($args['selected']==$key)?' selected="selected"':'').'>'.$value.'</option>';
|
||||
}
|
||||
$html .= '</select>';
|
||||
$html .= '<p class="uk-form-help-block">'.$args['tip'].'</p>';
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function formInputHidden($args)
|
||||
{
|
||||
$id = 'js'.$args['name'];
|
||||
|
||||
$html = '<input type="hidden" id="'.$id.'" name="'.$args['name'].'" value="'.$args['value'].'">';
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function legend($args)
|
||||
{
|
||||
$class = empty($args['class']) ? '' : 'class="'.$args['class'].'"';
|
||||
|
||||
$html = '<legend '.$class.'>'.$args['value'].'</legend>';
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function bluditQuickImages()
|
||||
{
|
||||
// Javascript code
|
||||
include(PATH_JS.'bludit-quick-images.js');
|
||||
|
||||
global $L;
|
||||
|
||||
$html = '<!-- BLUDIT QUICK IMAGES -->';
|
||||
$html .= '
|
||||
<div id="bludit-quick-images">
|
||||
<div id="bludit-quick-images-thumbnails" onmousedown="return false">
|
||||
';
|
||||
|
||||
$thumbnailList = Filesystem::listFiles(PATH_UPLOADS_THUMBNAILS,'*','*',true);
|
||||
array_splice($thumbnailList, THUMBNAILS_AMOUNT);
|
||||
foreach($thumbnailList as $file) {
|
||||
$filename = basename($file);
|
||||
$html .= '<img class="bludit-thumbnail" data-filename="'.$filename.'" src="'.HTML_PATH_UPLOADS_THUMBNAILS.$filename.'" alt="Thumbnail">';
|
||||
}
|
||||
|
||||
$html .= '
|
||||
</div>
|
||||
';
|
||||
|
||||
$html .= '<div class="empty-images uk-block uk-text-center uk-block-muted" '.( !empty($thumbnailList)?'style="display:none"':'' ).'>'.$L->g('There are no images').'</div>';
|
||||
|
||||
$html .= '
|
||||
<a data-uk-modal href="#bludit-images-v8" class="moreImages uk-button"><i class="uk-icon-folder-o"></i> '.$L->g('More images').'</a>
|
||||
|
||||
</div>
|
||||
';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function bluditCoverImage($coverImage="")
|
||||
{
|
||||
global $L;
|
||||
|
||||
// Javascript code
|
||||
include(PATH_JS.'bludit-cover-image.js');
|
||||
|
||||
$style = '';
|
||||
if(!empty($coverImage)) {
|
||||
$style = 'background-image: url('.HTML_PATH_UPLOADS_THUMBNAILS.$coverImage.')';
|
||||
}
|
||||
|
||||
$html = '<!-- BLUDIT COVER IMAGE -->';
|
||||
$html .= '
|
||||
<div id="bludit-cover-image">
|
||||
<div id="cover-image-thumbnail" class="uk-form-file uk-placeholder uk-text-center" style="'.$style.'">
|
||||
|
||||
<input type="hidden" name="coverImage" id="cover-image-upload-filename" value="'.$coverImage.'">
|
||||
|
||||
<div id="cover-image-upload" '.( empty($coverImage)?'':'style="display: none;"' ).'>
|
||||
<div><i class="uk-icon-picture-o"></i> '.$L->g('Cover image').'</div>
|
||||
<div style="font-size:0.8em;">'.$L->g('Drag and drop or click here').'<input id="cover-image-file-select" type="file"></div>
|
||||
</div>
|
||||
|
||||
<div id="cover-image-delete" '.( empty($coverImage)?'':'style="display: block;"' ).'>
|
||||
<div><i class="uk-icon-trash-o"></i></div>
|
||||
</div>
|
||||
|
||||
<div id="cover-image-progressbar" class="uk-progress">
|
||||
<div class="uk-progress-bar" style="width: 0%;">0%</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function bluditMenuV8()
|
||||
{
|
||||
// Javascript code
|
||||
include(PATH_JS.'bludit-menu-v8.js');
|
||||
|
||||
global $L;
|
||||
|
||||
$html = '<!-- BLUDIT MENU V8 -->';
|
||||
$html .= '
|
||||
<ul id="bludit-menuV8">
|
||||
<li id="bludit-menuV8-insert"><i class="uk-icon-plus"></i>'.$L->g('Insert image').'</li>
|
||||
<li id="bludit-menuV8-cover"><i class="uk-icon-picture-o"></i>'.$L->g('Set as cover image').'</li>
|
||||
<li id="bludit-menuV8-delete"><i class="uk-icon-trash"></i>'.$L->g('Delete image').'</li>
|
||||
</ul>
|
||||
';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
public static function bluditImagesV8()
|
||||
{
|
||||
global $L;
|
||||
|
||||
// Javascript code
|
||||
include(PATH_JS.'bludit-images-v8.js');
|
||||
|
||||
$html = '<!-- BLUDIT IMAGES V8 -->';
|
||||
$html .= '
|
||||
<div id="bludit-images-v8" class="uk-modal">
|
||||
<div class="uk-modal-dialog">
|
||||
|
||||
<div id="bludit-images-v8-upload" class="uk-form-file uk-placeholder uk-text-center">
|
||||
|
||||
<div id="bludit-images-v8-drag-drop">
|
||||
<div><i class="uk-icon-picture-o"></i> '.$L->g('Upload image').'</div>
|
||||
<div style="font-size:0.8em;">'.$L->g('Drag and drop or click here').'<input id="bludit-images-v8-file-select" type="file"></div>
|
||||
</div>
|
||||
|
||||
<div id="bludit-images-v8-progressbar" class="uk-progress">
|
||||
<div class="uk-progress-bar" style="width: 0%;">0%</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="bludit-images-v8-thumbnails">
|
||||
';
|
||||
|
||||
$thumbnailList = Filesystem::listFiles(PATH_UPLOADS_THUMBNAILS,'*','*',true);
|
||||
foreach($thumbnailList as $file) {
|
||||
$filename = basename($file);
|
||||
$html .= '<img class="bludit-thumbnail" src="'.HTML_PATH_UPLOADS_THUMBNAILS.$filename.'" data-filename="'.$filename.'" alt="Thumbnail">';
|
||||
}
|
||||
|
||||
$html .= '
|
||||
</div>
|
||||
';
|
||||
|
||||
$html .= '<div class="empty-images uk-block uk-text-center uk-block-muted" '.( !empty($thumbnailList)?'style="display:none"':'' ).'>'.$L->g('There are no images').'</div>';
|
||||
|
||||
$html .= '
|
||||
<div class="uk-modal-footer">
|
||||
'.$L->g('Click on the image for options').' <a href="" class="uk-modal-close">'.$L->g('Click here to cancel').'</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static function profileUploader($username)
|
||||
{
|
||||
global $L;
|
||||
|
||||
$html = '<!-- BLUDIT PROFILE UPLOADER -->';
|
||||
|
||||
$html .= '
|
||||
<div id="bludit-profile-picture">
|
||||
|
||||
<div id="bludit-profile-picture-image">';
|
||||
|
||||
if(file_exists(PATH_UPLOADS_PROFILES.$username.'.png')) {
|
||||
$html .= '<img class="uk-border-rounded" src="'.HTML_PATH_UPLOADS_PROFILES.$username.'.png" alt="Profile picture">';
|
||||
}
|
||||
else {
|
||||
$html .= '<div class="uk-block uk-border-rounded uk-block-muted uk-block-large">'.$L->g('Profile picture').'</div>';
|
||||
}
|
||||
|
||||
$html .= '
|
||||
</div>
|
||||
|
||||
<div id="bludit-profile-picture-progressbar" class="uk-progress">
|
||||
<div class="uk-progress-bar" style="width: 0%;">0%</div>
|
||||
</div>
|
||||
|
||||
<div id="bludit-profile-picture-drag-drop" class="uk-form-file uk-placeholder uk-text-center">
|
||||
<div>'.$L->g('Upload image').'</div>
|
||||
<div style="font-size:0.8em;">'.$L->g('Drag and drop or click here').'<input id="bludit-profile-picture-file-select" type="file"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
';
|
||||
|
||||
$script = '
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
var settings =
|
||||
{
|
||||
type: "json",
|
||||
action: HTML_PATH_ADMIN_ROOT+"ajax/uploader",
|
||||
allow : "*.(jpg|jpeg|gif|png|svg)",
|
||||
params: {"type":"profilePicture", "username":"'.$username.'"},
|
||||
|
||||
loadstart: function() {
|
||||
$("#bludit-profile-picture-progressbar").find(".uk-progress-bar").css("width", "0%").text("0%");
|
||||
$("#bludit-profile-picture-progressbar").show();
|
||||
},
|
||||
|
||||
progress: function(percent) {
|
||||
percent = Math.ceil(percent);
|
||||
$("#bludit-profile-picture-progressbar").find(".uk-progress-bar").css("width", percent+"%").text(percent+"%");
|
||||
},
|
||||
|
||||
allcomplete: function(response) {
|
||||
$("#bludit-profile-picture-progressbar").find(".uk-progress-bar").css("width", "100%").text("100%");
|
||||
$("#bludit-profile-picture-progressbar").hide();
|
||||
|
||||
$("#bludit-profile-picture-image").html("<img class=\"uk-border-rounded\" src=\"'.HTML_PATH_UPLOADS_PROFILES.$username.'.png?time='.time().'\">");
|
||||
},
|
||||
|
||||
notallowed: function(file, settings) {
|
||||
alert("'.$L->g('Supported image file types').' "+settings.allow);
|
||||
}
|
||||
};
|
||||
|
||||
UIkit.uploadSelect($("#bludit-profile-picture-file-select"), settings);
|
||||
UIkit.uploadDrop($("#bludit-profile-picture-drag-drop"), settings);
|
||||
|
||||
});
|
||||
</script>
|
||||
';
|
||||
|
||||
echo $html.$script;
|
||||
}
|
||||
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,256 @@
|
|||
(function(addon) {
|
||||
|
||||
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;
|
||||
});
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html class="uk-height-1-1 uk-notouch">
|
||||
<head>
|
||||
<meta charset="<?php echo CHARSET ?>">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
|
||||
<title>Bludit</title>
|
||||
|
||||
<!-- Favicon -->
|
||||
<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="<?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="<?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') ?>
|
||||
</head>
|
||||
<body class="uk-height-1-1">
|
||||
|
||||
<!-- Plugins -->
|
||||
<?php Theme::plugins('loginBodyBegin') ?>
|
||||
|
||||
<div class="uk-vertical-align uk-text-center uk-height-1-1">
|
||||
<div class="uk-vertical-align-middle login-box">
|
||||
<h1>BLUDIT</h1>
|
||||
<?php
|
||||
if(Alert::defined()) {
|
||||
echo '<div class="uk-alert">'.Alert::get().'</div>';
|
||||
}
|
||||
|
||||
if( Sanitize::pathFile(PATH_ADMIN_VIEWS, $layout['view'].'.php') ) {
|
||||
include(PATH_ADMIN_VIEWS.$layout['view'].'.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Plugins -->
|
||||
<?php Theme::plugins('loginBodyEnd') ?>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -14,8 +14,18 @@ echo '
|
|||
';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td>Bludit</td>';
|
||||
echo '<td>'.BLUDIT_VERSION.' ('.BLUDIT_CODENAME.')</td>';
|
||||
echo '<td>Bludit version</td>';
|
||||
echo '<td>'.BLUDIT_VERSION.'</td>';
|
||||
echo '</tr>';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td>Bludit codename</td>';
|
||||
echo '<td>'.BLUDIT_CODENAME.'</td>';
|
||||
echo '</tr>';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td>Bludit build</td>';
|
||||
echo '<td>'.BLUDIT_BUILD.'</td>';
|
||||
echo '</tr>';
|
||||
|
||||
echo '<tr>';
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<div class="uk-block uk-block-muted dashboard-links">
|
||||
<div class="uk-container">
|
||||
<div class="uk-block dashboard-links">
|
||||
<div class="uk-grid uk-grid-match" data-uk-grid-margin="{target:'.uk-panel'}">
|
||||
|
||||
<div class="uk-width-medium-1-3">
|
||||
|
@ -57,14 +56,13 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-grid" data-uk-grid-margin>
|
||||
<div id="dashboard-panel" class="uk-grid">
|
||||
|
||||
<div class="uk-width-medium-1-3">
|
||||
<div class="uk-width-1-3">
|
||||
|
||||
<div class="uk-panel uk-panel-box">
|
||||
<h4><?php $L->p('Statistics') ?></h4>
|
||||
<div class="uk-panel">
|
||||
<h4 class="panel-title"><?php $L->p('Statistics') ?></h4>
|
||||
<table class="uk-table statistics">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
@ -85,10 +83,10 @@
|
|||
|
||||
</div>
|
||||
|
||||
<div class="uk-width-medium-1-3">
|
||||
<div class="uk-width-1-3">
|
||||
|
||||
<div class="uk-panel uk-panel-box">
|
||||
<h4><?php $L->p('Drafts') ?></h4>
|
||||
<div class="uk-panel">
|
||||
<h4 class="panel-title"><?php $L->p('Drafts') ?></h4>
|
||||
<ul class="uk-list">
|
||||
<?php
|
||||
if( empty($_draftPosts) && empty($_draftPages) ) {
|
||||
|
@ -108,10 +106,10 @@
|
|||
|
||||
</div>
|
||||
|
||||
<div class="uk-width-medium-1-3">
|
||||
<div class="uk-width-1-3">
|
||||
|
||||
<div class="uk-panel uk-panel-box">
|
||||
<h4><?php $L->p('Scheduled posts') ?></h4>
|
||||
<div class="uk-panel">
|
||||
<h4 class="panel-title"><?php $L->p('Scheduled posts') ?></h4>
|
||||
<ul class="uk-list">
|
||||
<?php
|
||||
if( empty($_scheduledPosts) ) {
|
||||
|
|
|
@ -18,7 +18,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
|
|||
|
||||
// ---- LEFT SIDE ----
|
||||
echo '<div class="uk-grid">';
|
||||
echo '<div class="uk-width-large-8-10">';
|
||||
echo '<div class="uk-width-8-10">';
|
||||
|
||||
// Title input
|
||||
HTML::formInputText(array(
|
||||
|
@ -52,7 +52,7 @@ if(count($_Page->children())===0)
|
|||
echo '</div>';
|
||||
|
||||
// ---- RIGHT SIDE ----
|
||||
echo '<div class="sidebar uk-width-large-2-10">';
|
||||
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||
|
||||
// Tabs, general and advanced mode
|
||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||
|
|
|
@ -18,7 +18,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
|
|||
|
||||
// ---- LEFT SIDE ----
|
||||
echo '<div class="uk-grid">';
|
||||
echo '<div class="uk-width-large-8-10">';
|
||||
echo '<div class="uk-width-8-10">';
|
||||
|
||||
// Title input
|
||||
HTML::formInputText(array(
|
||||
|
@ -46,7 +46,7 @@ echo '<div class="uk-width-large-8-10">';
|
|||
echo '</div>';
|
||||
|
||||
// ---- RIGHT SIDE ----
|
||||
echo '<div class="sidebar uk-width-large-2-10">';
|
||||
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||
|
||||
// Tabs, general and advanced mode
|
||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||
|
|
|
@ -64,6 +64,7 @@ if($Login->role()==='admin') {
|
|||
));
|
||||
|
||||
}
|
||||
|
||||
HTML::formInputText(array(
|
||||
'name'=>'email',
|
||||
'label'=>$L->g('Email'),
|
||||
|
@ -113,6 +114,25 @@ if($Login->role()==='admin') {
|
|||
</div>
|
||||
</div>';
|
||||
|
||||
HTML::legend(array('value'=>$L->g('Status')));
|
||||
|
||||
HTML::formInputText(array(
|
||||
'name'=>'status',
|
||||
'label'=>$L->g('Current status'),
|
||||
'value'=>$_User->enabled()?$L->g('Enabled'):$L->g('Disabled'),
|
||||
'class'=>'uk-width-1-2 uk-form-medium',
|
||||
'disabled'=>true,
|
||||
'tip'=>$_User->enabled()?'':$L->g('To enable the user you have to set a new password')
|
||||
));
|
||||
|
||||
if( $_User->enabled() ) {
|
||||
echo '<div class="uk-form-row">
|
||||
<div class="uk-form-controls">
|
||||
<button type="submit" id="jsdisable-user" class="delete-button" name="disable-user"><i class="uk-icon-ban"></i> '.$L->g('Disable the user').'</button>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
if( ($Login->role()==='admin') && ($_User->username()!='admin') ) {
|
||||
|
||||
HTML::legend(array('value'=>$L->g('Delete')));
|
||||
|
@ -155,6 +175,12 @@ $(document).ready(function() {
|
|||
}
|
||||
});
|
||||
|
||||
$("#jsdisable-user").click(function() {
|
||||
if(confirm("<?php $Language->p('do-you-want-to-disable-the-user') ?>")==false) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
|
@ -12,7 +12,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
|
|||
|
||||
// ---- LEFT SIDE ----
|
||||
echo '<div class="uk-grid">';
|
||||
echo '<div class="uk-width-large-8-10">';
|
||||
echo '<div class="uk-width-8-10">';
|
||||
|
||||
// Title input
|
||||
HTML::formInputText(array(
|
||||
|
@ -39,7 +39,7 @@ echo '<div class="uk-width-large-8-10">';
|
|||
echo '</div>';
|
||||
|
||||
// ---- RIGHT SIDE ----
|
||||
echo '<div class="sidebar uk-width-large-2-10">';
|
||||
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||
|
||||
// Tabs, general and advanced mode
|
||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||
|
|
|
@ -12,7 +12,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
|
|||
|
||||
// ---- LEFT SIDE ----
|
||||
echo '<div class="uk-grid">';
|
||||
echo '<div class="uk-width-large-8-10">';
|
||||
echo '<div class="uk-width-8-10">';
|
||||
|
||||
// Title input
|
||||
HTML::formInputText(array(
|
||||
|
@ -39,7 +39,7 @@ echo '<div class="uk-width-large-8-10">';
|
|||
echo '</div>';
|
||||
|
||||
// ---- RIGHT SIDE ----
|
||||
echo '<div class="sidebar uk-width-large-2-10">';
|
||||
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||
|
||||
// Tabs, general and advanced mode
|
||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||
|
|
|
@ -35,10 +35,20 @@ foreach($plugins['all'] as $Plugin)
|
|||
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>';
|
||||
|
||||
echo '<td>';
|
||||
echo $Plugin->description();
|
||||
if( !$Plugin->isCompatible() ) {
|
||||
echo '<div class="plugin-incompatible">This plugin is incompatible with Bludit v'.BLUDIT_VERSION.'</div>';
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
echo '
|
||||
<td class="uk-text-center">'.$Plugin->version().'</td>
|
||||
<td class="uk-text-center"><a targe="_blank" href="'.$Plugin->website().'">'.$Plugin->author().'</a></td>
|
||||
';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
HTML::title(array('title'=>$L->g('Language and timezone'), 'icon'=>'cogs'));
|
||||
HTML::title(array('title'=>$L->g('Language and timezone'), 'icon'=>'globe'));
|
||||
|
||||
HTML::formOpen(array('class'=>'uk-form-horizontal'));
|
||||
|
||||
|
@ -34,7 +34,7 @@ HTML::formOpen(array('class'=>'uk-form-horizontal'));
|
|||
'label'=>$L->g('Locale'),
|
||||
'value'=>$Site->locale(),
|
||||
'class'=>'uk-width-1-2 uk-form-medium',
|
||||
'tip'=>$L->g('you-can-use-this-field-to-define-a-set-off')
|
||||
'tip'=>$L->g('you-can-use-this-field-to-define-a-set-of')
|
||||
));
|
||||
|
||||
HTML::legend(array('value'=>$L->g('Date and time formats')));
|
||||
|
|
|
@ -30,8 +30,17 @@ foreach($themes as $theme)
|
|||
|
||||
echo '
|
||||
</div>
|
||||
</td>
|
||||
<td>'.$theme['description'].'</td>
|
||||
</td>';
|
||||
|
||||
echo '<td>';
|
||||
echo $theme['description'];
|
||||
|
||||
if( !$theme['compatible'] ) {
|
||||
echo '<div class="theme-incompatible">This theme is incompatible with Bludit v'.BLUDIT_VERSION.'</div>';
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
echo '
|
||||
<td class="uk-text-center">'.$theme['version'].'</td>
|
||||
<td class="uk-text-center"><a targe="_blank" href="'.$theme['website'].'">'.$theme['author'].'</a></td>
|
||||
';
|
||||
|
|
|
@ -47,11 +47,20 @@ if($type=='profilePicture')
|
|||
else {
|
||||
// Generate the thumbnail
|
||||
$Image = new Image();
|
||||
$Image->setImage(PATH_TMP.'original'.'.'.$fileExtension, THUMBNAILS_WIDTH, THUMBNAILS_HEIGHT, 'crop');
|
||||
$Image->saveImage(PATH_UPLOADS_THUMBNAILS.$tmpName, THUMBNAILS_QUALITY, true);
|
||||
|
||||
//Handling all other formats than svg
|
||||
if (strcasecmp($fileExtension, 'svg') != 0) {
|
||||
$Image->setImage(PATH_TMP.'original'.'.'.$fileExtension, THUMBNAILS_WIDTH, THUMBNAILS_HEIGHT, 'crop');
|
||||
$Image->saveImage(PATH_UPLOADS_THUMBNAILS.$tmpName, THUMBNAILS_QUALITY, true);
|
||||
}
|
||||
|
||||
// Move the original to the upload folder.
|
||||
rename(PATH_TMP.'original'.'.'.$fileExtension, PATH_UPLOADS.$tmpName);
|
||||
|
||||
//If it is a svg file, just save a copy in thumbnail-folder
|
||||
if (strcasecmp($fileExtension, 'svg') == 0) {
|
||||
symlink(PATH_UPLOADS.$tmpName, PATH_UPLOADS_THUMBNAILS.$tmpName);
|
||||
}
|
||||
}
|
||||
|
||||
// Remove the Bludit temporary file.
|
||||
|
|
|
@ -91,7 +91,7 @@ define('NO_PARENT_CHAR', '3849abb4cb7abd24c2d8dac17b216f17');
|
|||
define('POSTS_PER_PAGE_ADMIN', 10);
|
||||
|
||||
// Cli mode status for new posts/pages
|
||||
define('CLI_MODE', TRUE);
|
||||
define('CLI_MODE', FALSE);
|
||||
|
||||
// Cli mode status for new posts/pages
|
||||
define('CLI_STATUS', 'published');
|
||||
|
@ -99,7 +99,7 @@ define('CLI_STATUS', 'published');
|
|||
// Cli mode username for new posts/pages
|
||||
define('CLI_USERNAME', 'admin');
|
||||
|
||||
// Filename for posts and pages
|
||||
// Filename for posts and pages, you can change for example, for index.md
|
||||
define('FILENAME', 'index.txt');
|
||||
|
||||
// Database date format
|
||||
|
@ -123,17 +123,11 @@ define('EXTREME_FRIENDLY_URL', false);
|
|||
// Directory permissions
|
||||
define('DIR_PERMISSIONS', 0755);
|
||||
|
||||
// Multibyte string extension loaded.
|
||||
define('MB_STRING', extension_loaded('mbstring'));
|
||||
// Set internal character encoding.
|
||||
mb_internal_encoding(CHARSET);
|
||||
|
||||
if(MB_STRING)
|
||||
{
|
||||
// Set internal character encoding.
|
||||
mb_internal_encoding(CHARSET);
|
||||
|
||||
// Set HTTP output character encoding.
|
||||
mb_http_output(CHARSET);
|
||||
}
|
||||
// Set HTTP output character encoding.
|
||||
mb_http_output(CHARSET);
|
||||
|
||||
// Inclde Abstract Classes
|
||||
include(PATH_ABSTRACT.'dbjson.class.php');
|
||||
|
|
|
@ -96,20 +96,16 @@ function buildPlugins()
|
|||
$Language->add($database);
|
||||
}
|
||||
|
||||
// If the plugin is compatible with the Bludit version, add to arrays
|
||||
if($Plugin->isCompatible()) {
|
||||
// Push Plugin to array all plugins installed and not installed.
|
||||
$plugins['all'][$pluginClass] = $Plugin;
|
||||
|
||||
// Push Plugin to array all plugins installed and not installed.
|
||||
$plugins['all'][$pluginClass] = $Plugin;
|
||||
// If the plugin is installed, order by hooks.
|
||||
if($Plugin->installed()) {
|
||||
|
||||
// If the plugin is installed, order by hooks.
|
||||
if($Plugin->installed()) {
|
||||
foreach($pluginsEvents as $event=>$value) {
|
||||
|
||||
foreach($pluginsEvents as $event=>$value) {
|
||||
|
||||
if(method_exists($Plugin, $event)) {
|
||||
array_push($plugins[$event], $Plugin);
|
||||
}
|
||||
if(method_exists($Plugin, $event)) {
|
||||
array_push($plugins[$event], $Plugin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,19 +44,17 @@ function buildThemes()
|
|||
$metadataString = file_get_contents($filenameMetadata);
|
||||
$metadata = json_decode($metadataString, true);
|
||||
|
||||
$database['compatible'] = false;
|
||||
|
||||
if( !empty($metadata['compatible']) ) {
|
||||
|
||||
$explode = explode(',', $metadata['compatible']);
|
||||
|
||||
if(in_array(BLUDIT_VERSION, $explode)) {
|
||||
$database = $database + $metadata;
|
||||
array_push($themes, $database);
|
||||
$database['compatible'] = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
Log::set('99.themes.php'.LOG_SEP.'Metadata file error on theme '.$themePath);
|
||||
}
|
||||
|
||||
$database = $database + $metadata;
|
||||
array_push($themes, $database);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ class dbPages extends dbJSON
|
|||
|
||||
// Make the index.txt and save the file.
|
||||
$data = implode("\n", $dataForFile);
|
||||
if( file_put_contents(PATH_PAGES.$key.FILENAME, $data) === false ) {
|
||||
if( file_put_contents(PATH_PAGES.$key.DS.FILENAME, $data) === false ) {
|
||||
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to put the content in the file index.txt');
|
||||
return false;
|
||||
}
|
||||
|
@ -394,7 +394,8 @@ class dbPages extends dbJSON
|
|||
$checksum = md5_file(PATH_PAGES.$key.DS.FILENAME);
|
||||
|
||||
// If checksum is different, update the post
|
||||
if( $this->db[$key]['md5file']!==$checksum ) {
|
||||
if( !isset($this->db[$key]['md5file']) ||
|
||||
$this->db[$key]['md5file']!==$checksum ) {
|
||||
|
||||
// LOG
|
||||
Log::set('CLI MODE - Different md5 checksum, key: '.$key);
|
||||
|
|
|
@ -108,6 +108,15 @@ class dbUsers extends dbJSON
|
|||
return $this->set($args);
|
||||
}
|
||||
|
||||
// Disable the user
|
||||
public function disableUser($username)
|
||||
{
|
||||
$args['username'] = $username;
|
||||
$args['password'] = '!';
|
||||
|
||||
return $this->set($args);
|
||||
}
|
||||
|
||||
public function set($args)
|
||||
{
|
||||
$dataForDb = array();
|
||||
|
|
|
@ -85,7 +85,7 @@ $(document).ready(function() {
|
|||
},
|
||||
|
||||
notallowed: function(file, settings) {
|
||||
alert("'.$L->g('Supported image file types').' "+settings.allow);
|
||||
alert("<?php echo $L->g('error').'. '.$L->g('Supported image file types')?>: "+settings.allow);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ $(document).ready(function() {
|
|||
},
|
||||
|
||||
notallowed: function(file, settings) {
|
||||
alert("'.$L->g('Supported image file types').' "+settings.allow);
|
||||
alert("<?php echo $L->g('error').'. '.$L->g('Supported image file types')?>: "+settings.allow);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -46,6 +46,13 @@ class User
|
|||
return $this->getField('password');
|
||||
}
|
||||
|
||||
public function enabled()
|
||||
{
|
||||
$password = $this->getField('password');
|
||||
|
||||
return $password != '!';
|
||||
}
|
||||
|
||||
public function salt()
|
||||
{
|
||||
return $this->getField('salt');
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
"no-parent": "Самостоятелна страница",
|
||||
"edit-page": "Редактиране на страницата",
|
||||
"edit-post": "Редактиране на публикацията",
|
||||
"add-a-new-user": "Добавяне на нов потребител",
|
||||
"add-a-new-user": "Добавяне на потребител",
|
||||
"parent": "Избор на основна страница",
|
||||
"friendly-url": "Friendly URL",
|
||||
"description": "Описание",
|
||||
|
@ -42,7 +42,7 @@
|
|||
"profile": "Профил",
|
||||
"email": "Имейл адрес",
|
||||
"settings": "Настройки",
|
||||
"general": "Общи настройки",
|
||||
"general": "Общи настройки:",
|
||||
"advanced": "Разширени настройки",
|
||||
"regional": "Регионални настройки",
|
||||
"about": "Относно",
|
||||
|
@ -57,7 +57,7 @@
|
|||
"site-title": "Заглавие на сайта",
|
||||
"site-slogan": "Ключови думи / Етикети",
|
||||
"site-description": "Описание на сайта",
|
||||
"footer-text": "Текст долната част на страницата.",
|
||||
"footer-text": "Текст в долната част",
|
||||
"posts-per-page": "Брой публикации на страница",
|
||||
"site-url": "Адрес, на който блога е ще бъде намиран",
|
||||
"writting-settings": "Запиши настройките",
|
||||
|
@ -73,7 +73,7 @@
|
|||
"new-post": "Нова публикация",
|
||||
"html-and-markdown-code-supported": "Поддръжан код HTML и Markdown ",
|
||||
"new-page": "Нова страница",
|
||||
"manage-posts": "Управление на публикациите",
|
||||
"manage-posts": "Управление на публикации",
|
||||
"published-date": "Дата на побликуване",
|
||||
"modified-date": "Промяна на дата",
|
||||
"empty-title": "Без заглавие",
|
||||
|
@ -88,7 +88,7 @@
|
|||
"bludit-version": "Bludit version",
|
||||
"powered-by": "Създадено от",
|
||||
"recent-posts": "Последни публикации",
|
||||
"manage-pages": "Управление на страниците",
|
||||
"manage-pages": "Управление на страници",
|
||||
"advanced-options": "Разширени настройки",
|
||||
"user-deleted": "Изтриване на потребител",
|
||||
"page-added-successfully": "Страницата е добавена успешно",
|
||||
|
@ -108,8 +108,8 @@
|
|||
"new-posts-and-pages-synchronized": "Новите публикации и страници са синхронизирани.",
|
||||
"you-can-choose-the-users-privilege": "Можете да зададете правомощия на потребителя. Редактора, може само да напише страници и мнения.",
|
||||
"email-will-not-be-publicly-displayed": "Този имейл адрес няма да бъде показван. Ще се използва за възстановяване парола и уведомления.",
|
||||
"use-this-field-to-name-your-site": "Използвайте това поле за име на вашия сайт, той ще се появи в горната част на всяка страница на вашия сайт.",
|
||||
"use-this-field-to-add-a-catchy-phrase": "Използвайте това поле, за да добавите ключови думи и изрази за вашия сайт.",
|
||||
"use-this-field-to-name-your-site": "Използвайте това поле за име на сайта, то ще се появи в горната част на всяка страница.",
|
||||
"use-this-field-to-add-a-catchy-phrase": "Използвайте това поле, за да добавите ключови думи и изрази за сайта.",
|
||||
"you-can-add-a-site-description-to-provide": "Можете да добавите кратко описание или биография на сайта.",
|
||||
"you-can-add-a-small-text-on-the-bottom": "Можете да добавите кратък текст в долната част на всяка страница. Например: авторско право, собственик, дати и т.н..",
|
||||
"number-of-posts-to-show-per-page": "Изберете желаният брой публикации на страница.",
|
||||
|
@ -125,12 +125,12 @@
|
|||
"delete-the-user-and-associate-its-posts-to-admin-user": "Изтриване на потребителя, без изтриване на неговите публикации.",
|
||||
"read-more": "Вижте повече...",
|
||||
"show-blog": "Покажи блога",
|
||||
"default-home-page": "Задай начална страница по подразбиране",
|
||||
"default-home-page": "Начална страница по подразбиране",
|
||||
"version": "Версия",
|
||||
"there-are-no-drafts": "Не са открити чернови.",
|
||||
"create-a-new-article-for-your-blog":"Създайте на нова публикация във вашия блог.",
|
||||
"create-a-new-page-for-your-website":"Създайте на нова страница във вашия уеб сайт.",
|
||||
"invite-a-friend-to-collaborate-on-your-website":"Добави потребител, който да ви помага за развитието вашият сайт.",
|
||||
"create-a-new-article-for-your-blog":"Създайте нова публикация във вашия блог.",
|
||||
"create-a-new-page-for-your-website":"Създайте нова страница във вашия уеб сайт.",
|
||||
"invite-a-friend-to-collaborate-on-your-website":"Добавете потребител, който да Ви помага за развитието вашият уеб сайт.",
|
||||
"change-your-language-and-region-settings":"Избор на параметри свързани с език, страна и местоположение.",
|
||||
"language-and-timezone":"Език и часова зона",
|
||||
"author": "Автор",
|
||||
|
@ -177,12 +177,12 @@
|
|||
"write-the-tags-separated-by-commas": "Напишете етикети, разделени със запетая.",
|
||||
"status": "Статус",
|
||||
"published": "Публикувай",
|
||||
"scheduled-posts": "Планирани постове:",
|
||||
"scheduled-posts": "Планирани публикации:",
|
||||
"statistics": "Статистика:",
|
||||
"name": "Име",
|
||||
"email-account-settings":"Настройки на имейл акаунт",
|
||||
"email-account-settings":"Настройки на имейл акаунт:",
|
||||
"sender-email": "Имейл на изпращача",
|
||||
"emails-will-be-sent-from-this-address":"Имейлите ще бъдат изпратени от този адрес.",
|
||||
"emails-will-be-sent-from-this-address":"Писмата ще бъдат изпращани от този адрес.",
|
||||
"bludit-login-access-code": "BLUDIT - Код за достъп",
|
||||
"check-your-inbox-for-your-login-access-code":":Моля, проверете вашата пощенска кутия за вашият код!",
|
||||
"there-was-a-problem-sending-the-email":"Възникна проблем при изпращането на имейла",
|
||||
|
@ -215,8 +215,8 @@
|
|||
"about-your-site-or-yourself": "За твоя сайт или за теб",
|
||||
"welcome-to-bludit": "Добре дошли в Bludit",
|
||||
|
||||
"site-information": "Информация за сайта",
|
||||
"date-and-time-formats": "Формат дата и час",
|
||||
"site-information": "Информация за сайта:",
|
||||
"date-and-time-formats": "Формат дата и час:",
|
||||
"activate": "Активиране",
|
||||
"deactivate": "Деактивиране",
|
||||
|
||||
|
@ -233,7 +233,7 @@
|
|||
"set-as-cover-image": "Задай като обложка ",
|
||||
"delete-image": "Изтрий изображенито",
|
||||
"image-description": "Описание на изображението ",
|
||||
"social-networks-links": "Социалните мрежи",
|
||||
"social-networks-links": "Социални мрежи:",
|
||||
|
||||
"email-access-code": "Имейл код за достъп",
|
||||
"current-format": "Текущ формат"
|
||||
|
|
|
@ -240,5 +240,8 @@
|
|||
"email-access-code": "Email access code",
|
||||
"current-format": "Current format",
|
||||
|
||||
"welcome": "Welcome"
|
||||
"welcome": "Welcome",
|
||||
|
||||
"to-enable-the-user-you-have-to-set-a-new-password": "To enable the user you have to set a new password.",
|
||||
"do-you-want-to-disable-the-user": "Do you want to disable the user ?"
|
||||
}
|
|
@ -116,7 +116,7 @@
|
|||
"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-use-this-field-to-define-a-set-of": "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ä.",
|
||||
|
||||
|
|
|
@ -116,7 +116,6 @@
|
|||
"add-or-edit-description-tags-or": "Tambah atau sunting perihal dan tag atau ubah URL mesra.",
|
||||
"select-your-sites-language": "Pilih bahasa laman web anda.",
|
||||
"select-a-timezone-for-a-correct": "Pilih zon masa yang betul untuk paparan tarikh dan masa yang tepat.",
|
||||
"you-can-use-this-field-to-define-a-set-of": "You can use this field to define a set of parameters related to the language, country and special preferences.",
|
||||
"you-can-use-this-field-to-define-a-set-of": "Tetapkan set parameter berkaitan dengan bahasa, negara dan keutamaan istimewa.",
|
||||
"you-can-modify-the-url-which-identifies":"Anda boleh mengubah URL yang mengenalpasti sesuatu artikel atau halaman menggunakan kata kunci yang boleh dibaca oleh manusia. Tidak lebih daripada 150 aksara.",
|
||||
"this-field-can-help-describe-the-content": "Huraikan secara ringkas kandungan ini. Tidak lebih daripada 150 aksara.",
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
{
|
||||
"native": "Polski (Polska)",
|
||||
"english-name": "Polish",
|
||||
"last-update": "2016-02-14",
|
||||
"last-update": "2016-08-10",
|
||||
"author": "Dave",
|
||||
"email": "dawid.stawicki@windowslive.com",
|
||||
"website": "http://dave.de/"
|
||||
"website": "http://dav3.de"
|
||||
},
|
||||
|
||||
"username": "Użytkownik",
|
||||
|
@ -234,5 +234,10 @@
|
|||
"delete-image": "Usuń",
|
||||
"image-description": "Opis obrazka",
|
||||
|
||||
"social-networks-links": "Odnośniki do serwisów społecznościowych"
|
||||
"social-networks-links": "Odnośniki do serwisów społecznościowych",
|
||||
|
||||
"email-access-code": "Otrzymaj kod dostępu poprzez e-mail",
|
||||
"current-format": "Format",
|
||||
|
||||
"welcome": "Cześć, "
|
||||
}
|
|
@ -238,5 +238,7 @@
|
|||
"social-networks-links": "Социальные сети",
|
||||
|
||||
"email-access-code": "Проверочный код email",
|
||||
"current-format": "Текущий формат"
|
||||
"current-format": "Текущий формат",
|
||||
|
||||
"welcome": "Добро пожаловать"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,222 @@
|
|||
{
|
||||
"language-data":
|
||||
{
|
||||
"native": "Simplified Chinese (PRC)",
|
||||
"english-name": "Simplified Chinese",
|
||||
"last-update": "2017-07-20",
|
||||
"author": "Zhou Hao",
|
||||
"email": "zhou.hao.27@gmail.com",
|
||||
"website": "http://thezeusoft.com"
|
||||
},
|
||||
|
||||
"username": "用户名称",
|
||||
"password": "用户密码",
|
||||
"confirm-password": "确认密码",
|
||||
"editor": "作者",
|
||||
"dashboard": "主页面",
|
||||
"role": "角色",
|
||||
"post": "文章",
|
||||
"posts": "文章",
|
||||
"users": "用户",
|
||||
"administrator": "管理员",
|
||||
"add": "新增",
|
||||
"cancel": "取消",
|
||||
"content": "內容",
|
||||
"title": "标题",
|
||||
"no-parent": "沒有继承页面",
|
||||
"edit-page": "编辑页面",
|
||||
"edit-post": "编辑文章",
|
||||
"add-a-new-user": "新增用户",
|
||||
"parent": "继承页面",
|
||||
"friendly-url": "友好链接",
|
||||
"description": "简介",
|
||||
"posted-by": "发表由",
|
||||
"tags": "标签",
|
||||
"position": "位置",
|
||||
"save": "存储",
|
||||
"draft": "草稿",
|
||||
"delete": "刪除",
|
||||
"registered": "已注册",
|
||||
"Notifications": "通知",
|
||||
"profile": "个人档案",
|
||||
"email": "电子邮件",
|
||||
"settings": "设定",
|
||||
"general": "一般设定",
|
||||
"advanced": "高级设定",
|
||||
"regional": "区域",
|
||||
"about": "关于",
|
||||
"login": "登入",
|
||||
"logout": "登出",
|
||||
"manage": "管理",
|
||||
"themes": "主题",
|
||||
"prev-page": "上一页",
|
||||
"next-page": "下一页",
|
||||
"configure-plugin": "插件设置",
|
||||
"confirm-delete-this-action-cannot-be-undone": "确认删除? 此动作不可复原",
|
||||
"site-title": "网站标题",
|
||||
"site-slogan": "网站标语",
|
||||
"site-description": "网站简介",
|
||||
"footer-text": "页脚文字",
|
||||
"posts-per-page": "每页文章数",
|
||||
"site-url": "网站网址",
|
||||
"writting-settings": "写作设定",
|
||||
"url-filters": "网址过滤器",
|
||||
"page": "页面",
|
||||
"pages": "页面",
|
||||
"home": "首页",
|
||||
"welcome-back": "欢迎回來",
|
||||
"language": "语言",
|
||||
"website": "网站",
|
||||
"timezone": "时区",
|
||||
"locale": "区域",
|
||||
"new-post": "新文章",
|
||||
"html-and-markdown-code-supported": "支持HTML与Markdown代码",
|
||||
"new-page": "新页面",
|
||||
"manage-posts": "管理文章",
|
||||
"published-date": "发表日期",
|
||||
"modified-date": "修改日期",
|
||||
"empty-title": "空白标题",
|
||||
"plugins": "插件",
|
||||
"install-plugin": "安装插件",
|
||||
"uninstall-plugin": "移除插件",
|
||||
"new-password": "新密码",
|
||||
"edit-user": "编辑用户",
|
||||
"publish-now": "立即发表",
|
||||
"first-name": "名",
|
||||
"last-name": "姓",
|
||||
"bludit-version": "Bludit版本",
|
||||
"powered-by": "Powered by",
|
||||
"recent-posts": "最新文章",
|
||||
"manage-pages": "管理页面",
|
||||
"advanced-options": "高级设定",
|
||||
"user-deleted": "用户已刪除",
|
||||
"page-added-successfully": "页面已成功新增",
|
||||
"post-added-successfully": "文章已成功新增",
|
||||
"the-post-has-been-deleted-successfully": "页面已成功被刪除",
|
||||
"the-page-has-been-deleted-successfully": "页面已成功被刪除",
|
||||
"username-or-password-incorrect": "用户账号或者密码不正确",
|
||||
"database-regenerated": "数据库已经重建",
|
||||
"the-changes-have-been-saved": "变更已经储存",
|
||||
"enable-more-features-at": "启用更多功能在",
|
||||
"username-already-exists": "用户名称已经存在",
|
||||
"username-field-is-empty": "用户名称字段为空白",
|
||||
"the-password-and-confirmation-password-do-not-match":"用户密码与确认密码不符",
|
||||
"user-has-been-added-successfully": "用户已新增成功",
|
||||
"you-do-not-have-sufficient-permissions": "您沒有权限存取此页面,请联络管理员",
|
||||
"settings-advanced-writting-settings": "设定->高级设定->写作设定",
|
||||
"new-posts-and-pages-synchronized": "新文章与页面已经同步完成",
|
||||
"you-can-choose-the-users-privilege": "您可以选择用户的权限,作者角色只能撰写页面与文章",
|
||||
"email-will-not-be-publicly-displayed": "Email將不会被公开显示,建议用于复原密码或是通知",
|
||||
"use-this-field-to-name-your-site": "使用此字段来填写您网站名称,它將会被显示在每一个页面的最上方",
|
||||
"use-this-field-to-add-a-catchy-phrase": "使用此字段来帮您的网站添加一个可以朗朗上口的标语吧",
|
||||
"you-can-add-a-site-description-to-provide": "您可以新增一段简短的简介來介绍您的网站",
|
||||
"you-can-add-a-small-text-on-the-bottom": "您可以在每一页的页尾放置一些短短的文字,例如: 版权、所有人、日期...",
|
||||
"number-of-posts-to-show-per-page": "每一页会显示几篇文章的数量",
|
||||
"the-url-of-your-site": "网站的网址",
|
||||
"add-or-edit-description-tags-or": "新增或编辑简介、标签或是修改友好网址",
|
||||
"select-your-sites-language": "选择您所使用的语言",
|
||||
"select-a-timezone-for-a-correct": "选择正确的时区来显示时间",
|
||||
"you-can-use-this-field-to-define-a-set-of": "您可以使用此字段來定义相关的语言、国家与特別的参数",
|
||||
"you-can-modify-the-url-which-identifies":"您可以修改网址來让文章或页面的网址可以更接近人类所了解的字词,不能超过150个字",
|
||||
"this-field-can-help-describe-the-content": "這個字段可以帮助快速理解內容,不能超过150个字",
|
||||
"write-the-tags-separated-by-comma": "撰写使用逗号分隔的标签,例如: 标签1, 标签2, 标签3",
|
||||
"delete-the-user-and-all-its-posts":"刪除用户与他所发表的文章",
|
||||
"delete-the-user-and-associate-its-posts-to-admin-user": "刪除用户,並將他所发表的文章关联至管理員权限的用户",
|
||||
"read-more": "继续阅读",
|
||||
"show-blog": "显示博客",
|
||||
"default-home-page": "默认首页",
|
||||
"version": "版本",
|
||||
"there-are-no-drafts": "沒有草稿",
|
||||
"create-a-new-article-for-your-blog":"为您的网站建立一篇新文章",
|
||||
"create-a-new-page-for-your-website":"为您的网站建立一个新页面",
|
||||
"invite-a-friend-to-collaborate-on-your-website":"邀请朋友合作开发网站",
|
||||
"change-your-language-and-region-settings":"更改您所使用的语言与地区设定",
|
||||
"language-and-timezone":"语言与时区",
|
||||
"author": "作者",
|
||||
"start-here": "从这里开始",
|
||||
"install-theme": "安装主题",
|
||||
"first-post": "第一篇文章",
|
||||
"congratulations-you-have-successfully-installed-your-bludit": "恭喜您已经成功安裝您的**Bludit**",
|
||||
"whats-next": "接下來",
|
||||
"manage-your-bludit-from-the-admin-panel": "通过[admin area](./admin/)管理您的Bludit",
|
||||
"follow-bludit-on": "Follow Bludit on",
|
||||
"visit-the-support-forum": "访问[forum](https://forum.bludit.com)來取得支持",
|
||||
"read-the-documentation-for-more-information": "阅读[documentation](https://docs.bludit.com)來获得更多资讯",
|
||||
"share-with-your-friends-and-enjoy": "分享给您的朋友们",
|
||||
"the-page-has-not-been-found": "此页面不存在",
|
||||
"error": "错误",
|
||||
"bludit-installer": "Bludit 安裝程式",
|
||||
"welcome-to-the-bludit-installer": "欢迎使用Bludit安裝程序",
|
||||
"complete-the-form-choose-a-password-for-the-username-admin": "请完成表单,为此用户名称 « admin » 设置一下密码吧",
|
||||
"password-visible-field": "密码可见字段",
|
||||
"install": "安装",
|
||||
"choose-your-language": "选择您所使用的语言",
|
||||
"next": "下一步",
|
||||
"the-password-field-is-empty": "密码字段是空白的",
|
||||
"your-email-address-is-invalid":"您所输入的email是无效的",
|
||||
"proceed-anyway": "继续!",
|
||||
"drafts":"草稿",
|
||||
"ip-address-has-been-blocked": "IP 地址已被封锁",
|
||||
"try-again-in-a-few-minutes": "请过几分钟后再试",
|
||||
"date": "日期",
|
||||
"you-can-schedule-the-post-just-select-the-date-and-time": "您只需要选择一个日期与时间就可以预定什么時候再发表此文章",
|
||||
"scheduled": "已安排",
|
||||
"publish": "发表",
|
||||
"please-check-your-theme-configuration": "请检查您的主題设定",
|
||||
"plugin-label": "插件标签",
|
||||
"enabled": "启用",
|
||||
"disabled": "禁止",
|
||||
"cli-mode": "Cli模式",
|
||||
"command-line-mode": "命令行模式",
|
||||
"enable-the-command-line-mode-if-you-add-edit": "启用命令行模式,如果您需要完成新增或者编辑工作。",
|
||||
"configure": "设定",
|
||||
"uninstall": "移除",
|
||||
"change-password": "更改密码",
|
||||
"to-schedule-the-post-just-select-the-date-and-time": "选择日期与时间预定发布此文章",
|
||||
"write-the-tags-separated-by-commas": "使用逗号分隔标签",
|
||||
"status": "状态",
|
||||
"published": "已发表",
|
||||
"scheduled-posts": "预定文章",
|
||||
"statistics": "统计",
|
||||
"name": "名称",
|
||||
"email-account-settings":"Email账户设定",
|
||||
"sender-email": "发送者email",
|
||||
"emails-will-be-sent-from-this-address":"Emails將会被从此地址发送",
|
||||
"bludit-login-access-code": "BLUDIT - 登入存取码",
|
||||
"check-your-inbox-for-your-login-access-code":"检查您的收件夹是否有收到登入存取码",
|
||||
"there-was-a-problem-sending-the-email":"发送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>",
|
||||
"there-are-no-scheduled-posts": "沒有预定发表的文章",
|
||||
"show-password": "显示密码",
|
||||
"edit-or-remove-your=pages": "编辑或移除您的页面",
|
||||
"edit-or-remove-your-blogs-posts": "编辑或移除您的博客文章",
|
||||
"general-settings": "一般设定",
|
||||
"advanced-settings": "高级设定",
|
||||
"manage-users": "管理者",
|
||||
"view-and-edit-your-profile": "查看与编辑您的个人资料",
|
||||
"password-must-be-at-least-6-characters-long": "密吗长度必须在6个字节以上",
|
||||
"images": "图片",
|
||||
"upload-image": "上传图片",
|
||||
"drag-and-drop-or-click-here": "拖曳您的图片到这里或是点选这里选择图片",
|
||||
"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":"這这是关于您自己或是网站的简短介绍,如果想要修改,请至管理界面/设置/插件,设置一个名为“关于”的插件",
|
||||
"profile-picture": "大头帖",
|
||||
"the-about-page-is-very-important": "此关于页面对于用户与合作伙伴非常重要和有用的工具。对于那些不了解您网站內容的人,您的关于页面将会是他们第一个阅读的页面。",
|
||||
"change-this-pages-content-on-the-admin-panel": "在管理界面中更改此页面的內容,管理/页面,接着点选关于页面。",
|
||||
"about-your-site-or-yourself": "关于您的网站或是您自己",
|
||||
"welcome-to-bludit": "欢迎使用Bludit",
|
||||
"you-can-use-this-field-to-define-a-set-off": "使用此字段定义默认语言代码",
|
||||
"More images": "更多的图片",
|
||||
"Cover image": "封面图片",
|
||||
"site-information": "网站资讯",
|
||||
"date-and-time-formats": "日期与时间格式",
|
||||
"activate": "启用",
|
||||
"deactivate": "关闭"
|
||||
}
|
|
@ -2,9 +2,9 @@
|
|||
"author": "Bludit",
|
||||
"email": "",
|
||||
"website": "https://plugins.bludit.com",
|
||||
"version": "1.4",
|
||||
"version": "1.3",
|
||||
"releaseDate": "2016-05-28",
|
||||
"license": "MIT",
|
||||
"compatible": "1.5beta",
|
||||
"compatible": "1.4",
|
||||
"notes": ""
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@ class pluginAbout extends Plugin {
|
|||
$html .= '<label>'.$Language->get('Plugin label').'</label>';
|
||||
$html .= '<input name="label" id="jslabel" type="text" value="'.$this->getDbField('label').'">';
|
||||
$html .= '</div>';
|
||||
|
||||
$html .= '<div>';
|
||||
$html .= '<label>'.$Language->get('About').'</label>';
|
||||
$html .= '<textarea name="text" id="jstext">'.$this->getDbField('text').'</textarea>';
|
||||
|
@ -32,10 +31,10 @@ class pluginAbout extends Plugin {
|
|||
$html = '<div class="plugin plugin-about">';
|
||||
$html .= '<h2>'.$this->getDbField('label').'</h2>';
|
||||
$html .= '<div class="plugin-content">';
|
||||
$html .= nl2br($this->getDbField('text'));
|
||||
$html .= html_entity_decode(nl2br($this->getDbField('text')));
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"plugin-data":
|
||||
{
|
||||
"name": "Страници списък",
|
||||
"name": "Страници",
|
||||
"description": "Показва списък на страниците."
|
||||
},
|
||||
|
||||
"home": "Начало",
|
||||
"show-home-link": "Покажи връзката към начало"
|
||||
"show-home-link": "Покажи връзка към начало"
|
||||
}
|
|
@ -43,7 +43,7 @@ class pluginPages extends Plugin {
|
|||
}
|
||||
|
||||
$html .= '<div class="plugin-content">';
|
||||
$html .= '<ul>';
|
||||
$html .= '<ul class="parents">';
|
||||
|
||||
// Show home link ?
|
||||
if($this->getDbField('homeLink')) {
|
||||
|
@ -59,8 +59,8 @@ class pluginPages extends Plugin {
|
|||
if( $parent->published() )
|
||||
{
|
||||
// Print the parent
|
||||
$html .= '<li>';
|
||||
$html .= '<a class="parent '.( ($parent->key()==$Url->slug())?' active':'').'" href="'.$parent->permalink().'">'.$parent->title().'</a>';
|
||||
$html .= '<li class="parent">';
|
||||
$html .= '<a class="parent'.( ($parent->key()==$Url->slug())?' active':'').'" href="'.$parent->permalink().'">'.$parent->title().'</a>';
|
||||
|
||||
// Check if the parent has children
|
||||
if(isset($pagesParents[$parent->key()]))
|
||||
|
|
|
@ -0,0 +1,186 @@
|
|||
body {
|
||||
padding-top: 0;
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
a {
|
||||
border: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
border-bottom: 1px dotted rgba(160, 160, 160, 0.65)
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
text-transform: none;
|
||||
letter-spacing: 0;
|
||||
font-weight: normal;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
h6 {
|
||||
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 {
|
||||
background-color: #f7f7f7;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
#header h1 {
|
||||
font-size: 1.4em;
|
||||
font-weight: lighter;
|
||||
}
|
||||
|
||||
#header .links {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
#header .main ul li {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
#header .main ul li > a {
|
||||
color: #2672ec;
|
||||
}
|
||||
|
||||
header p {
|
||||
text-transform: none;
|
||||
letter-spacing: 0;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#menu .links > li a h3 {
|
||||
font-size: 1em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#intro header h2 {
|
||||
font-weight: lighter;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#intro header p {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.post {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.post a {
|
||||
color: #2672ec;
|
||||
}
|
||||
|
||||
.post > header {
|
||||
border-bottom-color: #F7F7F7;
|
||||
margin-bottom: 1.3em;
|
||||
}
|
||||
|
||||
.post > header .meta {
|
||||
padding: 0.5em 3em 0.3em;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
.post > header .title {
|
||||
padding: 0.5em 3em 0.3em;
|
||||
}
|
||||
|
||||
.post > header .title h1 {
|
||||
font-size: 2em;
|
||||
font-weight: normal;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.post > header .title h1 a {
|
||||
color: #3c3b3b;
|
||||
}
|
||||
|
||||
.post > footer .stats {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.post > footer .actions {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
blockquote p {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.author .name {
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
margin-top: 2.2em;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.plugin > h2 {
|
||||
font-weight: normal !important;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.plugin ul {
|
||||
list-style: none !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.plugin li {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.plugin-pages ul.children {
|
||||
margin: 0 0 0 10px;
|
||||
}
|
||||
|
||||
.plugin-pages li.parent {
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
/* Only for Plugin tags */
|
||||
.plugin-tags li {
|
||||
text-transform: capitalize;
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
Future Imperfect by HTML5 UP
|
||||
html5up.net | @n33co
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
/* Button */
|
||||
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"],
|
||||
button,
|
||||
.button {
|
||||
border: solid 1px #dedede;
|
||||
}
|
||||
|
||||
/* Form */
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="email"],
|
||||
input[type="tel"],
|
||||
select,
|
||||
textarea {
|
||||
border: solid 1px #dedede;
|
||||
}
|
||||
|
||||
/* Post */
|
||||
|
||||
.post {
|
||||
border: solid 1px #dedede;
|
||||
}
|
||||
|
||||
.post > header {
|
||||
border-bottom: solid 1px #dedede;
|
||||
}
|
||||
|
||||
/* Mini Post */
|
||||
|
||||
.mini-post {
|
||||
border: solid 1px #dedede;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
|
||||
#header {
|
||||
border-bottom: solid 1px #dedede;
|
||||
}
|
||||
|
||||
#header .links {
|
||||
border-left: solid 1px #dedede;
|
||||
}
|
||||
|
||||
#header .main ul li {
|
||||
border-left: solid 1px #dedede;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
#sidebar > * {
|
||||
border-top: solid 1px #dedede;
|
||||
}
|
||||
|
||||
/* Menu */
|
||||
|
||||
#menu {
|
||||
border-left: solid 1px #dedede;
|
||||
}
|
||||
|
||||
#menu > * {
|
||||
border-top: solid 1px #dedede;
|
||||
}
|
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
Future Imperfect by HTML5 UP
|
||||
html5up.net | @n33co
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
/* List */
|
||||
|
||||
ul.posts article:after {
|
||||
clear: both;
|
||||
content: '';
|
||||
display: block;
|
||||
}
|
||||
|
||||
ul.posts article .image {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
ul.posts article header {
|
||||
display: table-cell;
|
||||
padding-right: 1em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Author */
|
||||
|
||||
.author .name {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.author img {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Post */
|
||||
|
||||
.post:after {
|
||||
clear: both;
|
||||
content: '';
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post > header:after {
|
||||
clear: both;
|
||||
content: '';
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post > header .title {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
width: 65%;
|
||||
}
|
||||
|
||||
.post > header .meta {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.post > footer:after {
|
||||
clear: both;
|
||||
content: '';
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post > footer .actions {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.post > footer .stats {
|
||||
display: inline-block;
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
/* Mini Post */
|
||||
|
||||
.mini-post .image {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
|
||||
#header:after {
|
||||
clear: both;
|
||||
content: '';
|
||||
display: block;
|
||||
}
|
||||
|
||||
#header h1 {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#header .links {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#header .main {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
/* Wrapper */
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
#sidebar {
|
||||
display: table-cell;
|
||||
margin-right: 0;
|
||||
padding-right: 3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Main */
|
||||
|
||||
#main {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
|
||||
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
|
||||
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
|
||||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
|
||||
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
|
|
@ -0,0 +1,6 @@
|
|||
/*! Respond.js v1.4.2: min/max-width media query polyfill
|
||||
* Copyright 2014 Scott Jehl
|
||||
* Licensed under MIT
|
||||
* http://j.mp/respondjs */
|
||||
|
||||
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b<t.length;b++){var c=t[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!p[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(w(c.styleSheet.rawCssText,e,f),p[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!s||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}x()};y(),c.update=y,c.getEmValue=u,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
|
|
@ -0,0 +1,115 @@
|
|||
/*
|
||||
Future Imperfect by HTML5 UP
|
||||
html5up.net | @n33co
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
skel.breakpoints({
|
||||
xlarge: '(max-width: 1680px)',
|
||||
large: '(max-width: 1280px)',
|
||||
medium: '(max-width: 980px)',
|
||||
small: '(max-width: 736px)',
|
||||
xsmall: '(max-width: 480px)'
|
||||
});
|
||||
|
||||
$(function() {
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$menu = $('#menu'),
|
||||
$sidebar = $('#sidebar'),
|
||||
$main = $('#main');
|
||||
|
||||
// Disable animations/transitions until the page has loaded.
|
||||
$body.addClass('is-loading');
|
||||
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-loading');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Fix: Placeholder polyfill.
|
||||
$('form').placeholder();
|
||||
|
||||
// Prioritize "important" elements on medium.
|
||||
skel.on('+medium -medium', function() {
|
||||
$.prioritize(
|
||||
'.important\\28 medium\\29',
|
||||
skel.breakpoint('medium').active
|
||||
);
|
||||
});
|
||||
|
||||
// IE<=9: Reverse order of main and sidebar.
|
||||
if (skel.vars.IEVersion <= 9)
|
||||
$main.insertAfter($sidebar);
|
||||
|
||||
// Menu.
|
||||
$menu
|
||||
.appendTo($body)
|
||||
.panel({
|
||||
delay: 500,
|
||||
hideOnClick: true,
|
||||
hideOnSwipe: true,
|
||||
resetScroll: true,
|
||||
resetForms: true,
|
||||
side: 'right',
|
||||
target: $body,
|
||||
visibleClass: 'is-menu-visible'
|
||||
});
|
||||
|
||||
// Search (header).
|
||||
var $search = $('#search'),
|
||||
$search_input = $search.find('input');
|
||||
|
||||
$body
|
||||
.on('click', '[href="#search"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
// Not visible?
|
||||
if (!$search.hasClass('visible')) {
|
||||
|
||||
// Reset form.
|
||||
$search[0].reset();
|
||||
|
||||
// Show.
|
||||
$search.addClass('visible');
|
||||
|
||||
// Focus input.
|
||||
$search_input.focus();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$search_input
|
||||
.on('keydown', function(event) {
|
||||
|
||||
if (event.keyCode == 27)
|
||||
$search_input.blur();
|
||||
|
||||
})
|
||||
.on('blur', function() {
|
||||
window.setTimeout(function() {
|
||||
$search.removeClass('visible');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Intro.
|
||||
var $intro = $('#intro');
|
||||
|
||||
// Move to main on <=large, back to sidebar on >large.
|
||||
skel
|
||||
.on('+large', function() {
|
||||
$intro.prependTo($main);
|
||||
})
|
||||
.on('-large', function() {
|
||||
$intro.prependTo($sidebar);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,587 @@
|
|||
(function($) {
|
||||
|
||||
/**
|
||||
* Generate an indented list of links from a nav. Meant for use with panel().
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.navList = function() {
|
||||
|
||||
var $this = $(this);
|
||||
$a = $this.find('a'),
|
||||
b = [];
|
||||
|
||||
$a.each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
indent = Math.max(0, $this.parents('li').length - 1),
|
||||
href = $this.attr('href'),
|
||||
target = $this.attr('target');
|
||||
|
||||
b.push(
|
||||
'<a ' +
|
||||
'class="link depth-' + indent + '"' +
|
||||
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
|
||||
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
|
||||
'>' +
|
||||
'<span class="indent-' + indent + '"></span>' +
|
||||
$this.text() +
|
||||
'</a>'
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
return b.join('');
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Panel-ify an element.
|
||||
* @param {object} userConfig User config.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.panel = function(userConfig) {
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).panel(userConfig);
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this),
|
||||
$body = $('body'),
|
||||
$window = $(window),
|
||||
id = $this.attr('id'),
|
||||
config;
|
||||
|
||||
// Config.
|
||||
config = $.extend({
|
||||
|
||||
// Delay.
|
||||
delay: 0,
|
||||
|
||||
// Hide panel on link click.
|
||||
hideOnClick: false,
|
||||
|
||||
// Hide panel on escape keypress.
|
||||
hideOnEscape: false,
|
||||
|
||||
// Hide panel on swipe.
|
||||
hideOnSwipe: false,
|
||||
|
||||
// Reset scroll position on hide.
|
||||
resetScroll: false,
|
||||
|
||||
// Reset forms on hide.
|
||||
resetForms: false,
|
||||
|
||||
// Side of viewport the panel will appear.
|
||||
side: null,
|
||||
|
||||
// Target element for "class".
|
||||
target: $this,
|
||||
|
||||
// Class to toggle.
|
||||
visibleClass: 'visible'
|
||||
|
||||
}, userConfig);
|
||||
|
||||
// Expand "target" if it's not a jQuery object already.
|
||||
if (typeof config.target != 'jQuery')
|
||||
config.target = $(config.target);
|
||||
|
||||
// Panel.
|
||||
|
||||
// Methods.
|
||||
$this._hide = function(event) {
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!config.target.hasClass(config.visibleClass))
|
||||
return;
|
||||
|
||||
// If an event was provided, cancel it.
|
||||
if (event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
// Hide.
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
// Post-hide stuff.
|
||||
window.setTimeout(function() {
|
||||
|
||||
// Reset scroll position.
|
||||
if (config.resetScroll)
|
||||
$this.scrollTop(0);
|
||||
|
||||
// Reset forms.
|
||||
if (config.resetForms)
|
||||
$this.find('form').each(function() {
|
||||
this.reset();
|
||||
});
|
||||
|
||||
}, config.delay);
|
||||
|
||||
};
|
||||
|
||||
// Vendor fixes.
|
||||
$this
|
||||
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
|
||||
.css('-webkit-overflow-scrolling', 'touch');
|
||||
|
||||
// Hide on click.
|
||||
if (config.hideOnClick) {
|
||||
|
||||
$this.find('a')
|
||||
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
|
||||
|
||||
$this
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
href = $a.attr('href'),
|
||||
target = $a.attr('target');
|
||||
|
||||
if (!href || href == '#' || href == '' || href == '#' + id)
|
||||
return;
|
||||
|
||||
// Cancel original event.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Hide panel.
|
||||
$this._hide();
|
||||
|
||||
// Redirect to href.
|
||||
window.setTimeout(function() {
|
||||
|
||||
if (target == '_blank')
|
||||
window.open(href);
|
||||
else
|
||||
window.location.href = href;
|
||||
|
||||
}, config.delay + 10);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Event: Touch stuff.
|
||||
$this.on('touchstart', function(event) {
|
||||
|
||||
$this.touchPosX = event.originalEvent.touches[0].pageX;
|
||||
$this.touchPosY = event.originalEvent.touches[0].pageY;
|
||||
|
||||
})
|
||||
|
||||
$this.on('touchmove', function(event) {
|
||||
|
||||
if ($this.touchPosX === null
|
||||
|| $this.touchPosY === null)
|
||||
return;
|
||||
|
||||
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
|
||||
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
|
||||
th = $this.outerHeight(),
|
||||
ts = ($this.get(0).scrollHeight - $this.scrollTop());
|
||||
|
||||
// Hide on swipe?
|
||||
if (config.hideOnSwipe) {
|
||||
|
||||
var result = false,
|
||||
boundary = 20,
|
||||
delta = 50;
|
||||
|
||||
switch (config.side) {
|
||||
|
||||
case 'left':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
|
||||
break;
|
||||
|
||||
case 'right':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
|
||||
break;
|
||||
|
||||
case 'top':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
|
||||
break;
|
||||
|
||||
case 'bottom':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (result) {
|
||||
|
||||
$this.touchPosX = null;
|
||||
$this.touchPosY = null;
|
||||
$this._hide();
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Prevent vertical scrolling past the top or bottom.
|
||||
if (($this.scrollTop() < 0 && diffY < 0)
|
||||
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Event: Prevent certain events inside the panel from bubbling.
|
||||
$this.on('click touchend touchstart touchmove', function(event) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
|
||||
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
|
||||
$this.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Body.
|
||||
|
||||
// Event: Hide panel on body click/tap.
|
||||
$body.on('click touchend', function(event) {
|
||||
$this._hide(event);
|
||||
});
|
||||
|
||||
// Event: Toggle.
|
||||
$body.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.toggleClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Window.
|
||||
|
||||
// Event: Hide on ESC.
|
||||
if (config.hideOnEscape)
|
||||
$window.on('keydown', function(event) {
|
||||
|
||||
if (event.keyCode == 27)
|
||||
$this._hide(event);
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Apply "placeholder" attribute polyfill to one or more forms.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.placeholder = function() {
|
||||
|
||||
// Browser natively supports placeholders? Bail.
|
||||
if (typeof (document.createElement('input')).placeholder != 'undefined')
|
||||
return $(this);
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).placeholder();
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this);
|
||||
|
||||
// Text, TextArea.
|
||||
$this.find('input[type=text],textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.val() == ''
|
||||
|| i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('blur', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == '')
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('focus', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.removeClass('polyfill-placeholder')
|
||||
.val('');
|
||||
|
||||
});
|
||||
|
||||
// Password.
|
||||
$this.find('input[type=password]')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
var x = $(
|
||||
$('<div>')
|
||||
.append(i.clone())
|
||||
.remove()
|
||||
.html()
|
||||
.replace(/type="password"/i, 'type="text"')
|
||||
.replace(/type=password/i, 'type=text')
|
||||
);
|
||||
|
||||
if (i.attr('id') != '')
|
||||
x.attr('id', i.attr('id') + '-polyfill-field');
|
||||
|
||||
if (i.attr('name') != '')
|
||||
x.attr('name', i.attr('name') + '-polyfill-field');
|
||||
|
||||
x.addClass('polyfill-placeholder')
|
||||
.val(x.attr('placeholder')).insertAfter(i);
|
||||
|
||||
if (i.val() == '')
|
||||
i.hide();
|
||||
else
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.on('blur', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
|
||||
i.hide();
|
||||
x.show();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
x
|
||||
.on('focus', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
|
||||
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.show()
|
||||
.focus();
|
||||
|
||||
})
|
||||
.on('keypress', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
x.val('');
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Events.
|
||||
$this
|
||||
.on('submit', function() {
|
||||
|
||||
$this.find('input[type=text],input[type=password],textarea')
|
||||
.each(function(event) {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
i.attr('name', '');
|
||||
|
||||
if (i.val() == i.attr('placeholder')) {
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
i.val('');
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})
|
||||
.on('reset', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
$this.find('select')
|
||||
.val($('option:first').val());
|
||||
|
||||
$this.find('input,textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this),
|
||||
x;
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
|
||||
switch (this.type) {
|
||||
|
||||
case 'submit':
|
||||
case 'reset':
|
||||
break;
|
||||
|
||||
case 'password':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
i.hide();
|
||||
x.show();
|
||||
}
|
||||
else {
|
||||
i.show();
|
||||
x.hide();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'checkbox':
|
||||
case 'radio':
|
||||
i.attr('checked', i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
case 'text':
|
||||
case 'textarea':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
if (i.val() == '') {
|
||||
i.addClass('polyfill-placeholder');
|
||||
i.val(i.attr('placeholder'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
i.val(i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Moves elements to/from the first positions of their respective parents.
|
||||
* @param {jQuery} $elements Elements (or selector) to move.
|
||||
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
|
||||
*/
|
||||
$.prioritize = function($elements, condition) {
|
||||
|
||||
var key = '__prioritize';
|
||||
|
||||
// Expand $elements if it's not already a jQuery object.
|
||||
if (typeof $elements != 'jQuery')
|
||||
$elements = $($elements);
|
||||
|
||||
// Step through elements.
|
||||
$elements.each(function() {
|
||||
|
||||
var $e = $(this), $p,
|
||||
$parent = $e.parent();
|
||||
|
||||
// No parent? Bail.
|
||||
if ($parent.length == 0)
|
||||
return;
|
||||
|
||||
// Not moved? Move it.
|
||||
if (!$e.data(key)) {
|
||||
|
||||
// Condition is false? Bail.
|
||||
if (!condition)
|
||||
return;
|
||||
|
||||
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
|
||||
$p = $e.prev();
|
||||
|
||||
// Couldn't find anything? Means this element's already at the top, so bail.
|
||||
if ($p.length == 0)
|
||||
return;
|
||||
|
||||
// Move element to top of parent.
|
||||
$e.prependTo($parent);
|
||||
|
||||
// Mark element as moved.
|
||||
$e.data(key, $p);
|
||||
|
||||
}
|
||||
|
||||
// Moved already?
|
||||
else {
|
||||
|
||||
// Condition is true? Bail.
|
||||
if (condition)
|
||||
return;
|
||||
|
||||
$p = $e.data(key);
|
||||
|
||||
// Move element back to its original location (using our placeholder).
|
||||
$e.insertAfter($p);
|
||||
|
||||
// Unmark element as moved.
|
||||
$e.removeData(key);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
Binary file not shown.
After Width: | Height: | Size: 1005 B |
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Include HTML meta tags -->
|
||||
<?php include(THEME_DIR_PHP.'head.php') ?>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<div id="main">
|
||||
|
||||
<?php
|
||||
if( ($Url->whereAmI()=='home') || ($Url->whereAmI()=='tag') || ($Url->whereAmI()=='blog') )
|
||||
{
|
||||
include(THEME_DIR_PHP.'home.php');
|
||||
}
|
||||
elseif($Url->whereAmI()=='post')
|
||||
{
|
||||
include(THEME_DIR_PHP.'post.php');
|
||||
}
|
||||
elseif($Url->whereAmI()=='page')
|
||||
{
|
||||
include(THEME_DIR_PHP.'page.php');
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Sidebar -->
|
||||
<section id="sidebar">
|
||||
<?php include(THEME_DIR_PHP.'sidebar.php') ?>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Scripts -->
|
||||
<?php Theme::jquery() ?>
|
||||
<script src="<?php echo HTML_PATH_THEME ?>assets/js/skel.min.js"></script>
|
||||
<script src="<?php echo HTML_PATH_THEME ?>assets/js/util.js"></script>
|
||||
<!--[if lte IE 8]><script src="<?php echo HTML_PATH_THEME ?>assets/js/ie/respond.min.js"></script><![endif]-->
|
||||
<script src="<?php echo HTML_PATH_THEME ?>assets/js/main.js"></script>
|
||||
|
||||
<!-- Plugins Site Body End -->
|
||||
<?php Theme::plugins('siteBodyEnd') ?>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"theme-data":
|
||||
{
|
||||
"name": "diego",
|
||||
"description": "Minimalist and very responsive theme, developed by @n33co, adapted and modified for Bludit."
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"theme-data":
|
||||
{
|
||||
"name": "Log",
|
||||
"description": "Minimalista y a su vez altamente adaptable para todo tipo de pantallas, desarrollado por @n33co, adaptado y modificado para Bludit."
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"author": "n33co",
|
||||
"email": "",
|
||||
"website": "http://html5up.net",
|
||||
"version": "1.4",
|
||||
"releaseDate": "2016-05-20",
|
||||
"license": "CCA 3.0",
|
||||
"compatible": "1.4",
|
||||
"notes": ""
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
Theme::charset('utf-8');
|
||||
Theme::viewport('width=device-width, initial-scale=1');
|
||||
|
||||
Theme::title();
|
||||
Theme::description();
|
||||
|
||||
Theme::favicon('favicon.png');
|
||||
?>
|
||||
|
||||
<!--[if lte IE 8]><script src="<?php echo HTML_PATH_THEME ?>assets/js/ie/html5shiv.js"></script><![endif]-->
|
||||
<link rel="stylesheet" href="<?php echo HTML_PATH_THEME ?>assets/css/main.css">
|
||||
<!--[if lte IE 9]><link rel="stylesheet" href="<?php echo HTML_PATH_THEME ?>assets/css/ie9.css" /><![endif]-->
|
||||
<!--[if lte IE 8]><link rel="stylesheet" href="<?php echo HTML_PATH_THEME ?>assets/css/ie8.css" /><![endif]-->
|
||||
<link rel="stylesheet" href="<?php echo HTML_PATH_THEME ?>assets/css/bludit.css">
|
||||
|
||||
<?php
|
||||
|
||||
// Add local Fonts Awesome
|
||||
Theme::fontAwesome();
|
||||
|
||||
// Load plugins, hook: Site head
|
||||
Theme::plugins('siteHead');
|
||||
|
||||
?>
|
||||
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.5.0/styles/default.min.css">
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.5.0/highlight.min.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
|
@ -0,0 +1,83 @@
|
|||
<!-- Show each post on this page -->
|
||||
<?php foreach ($posts as $Post): ?>
|
||||
|
||||
<article class="post">
|
||||
|
||||
<!-- Show plugins, Hook: Post Begin -->
|
||||
<?php Theme::plugins('postBegin') ?>
|
||||
|
||||
<!-- Post's header -->
|
||||
<header>
|
||||
<div class="title">
|
||||
<h1><a href="<?php echo $Post->permalink() ?>"><?php echo $Post->title() ?></a></h1>
|
||||
<p><?php echo $Post->description() ?></p>
|
||||
</div>
|
||||
<div class="meta">
|
||||
<?php
|
||||
// Get the user who created the post.
|
||||
$User = $Post->user();
|
||||
|
||||
// Default author is the username.
|
||||
$author = $User->username();
|
||||
|
||||
// If the user complete the first name or last name this will be the author.
|
||||
if( Text::isNotEmpty($User->firstName()) || Text::isNotEmpty($User->lastName()) ) {
|
||||
$author = $User->firstName().' '.$User->lastName();
|
||||
}
|
||||
?>
|
||||
<time class="published" datetime="2015-11-01"><?php echo $Post->date() ?></time>
|
||||
<div class="author"><span class="name"><?php echo $author ?></span><img src="<?php echo $User->profilePicture() ?>" alt=""></div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Cover Image -->
|
||||
<?php
|
||||
if($Post->coverImage()) {
|
||||
echo '<a href="'.$Post->permalink().'" class="image featured"><img src="'.$Post->coverImage().'" alt="Cover Image"></a>';
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- Post's content, the first part if has pagebrake -->
|
||||
<?php echo $Post->content(false) ?>
|
||||
|
||||
<!-- Post's footer -->
|
||||
<footer>
|
||||
|
||||
<!-- Read more button -->
|
||||
<?php if($Post->readMore()) { ?>
|
||||
<ul class="actions">
|
||||
<li><a href="<?php echo $Post->permalink() ?>" class="button"><?php $Language->p('Read more') ?></a></li>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<!-- Post's tags -->
|
||||
<ul class="stats">
|
||||
<?php
|
||||
$tags = $Post->tags(true);
|
||||
|
||||
foreach($tags as $tagKey=>$tagName) {
|
||||
echo '<li><a href="'.HTML_PATH_ROOT.$Url->filters('tag').'/'.$tagKey.'">'.$tagName.'</a></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
<!-- Plugins Post End -->
|
||||
<?php Theme::plugins('postEnd') ?>
|
||||
|
||||
</article>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<!-- Pagination -->
|
||||
<ul class="actions pagination">
|
||||
<?php
|
||||
if( Paginator::get('showNewer') ) {
|
||||
echo '<li><a href="'.Paginator::urlPrevPage().'" class="button big previous">'.$Language->get('Prev page').'</a></li>';
|
||||
}
|
||||
|
||||
if( Paginator::get('showOlder') ) {
|
||||
echo '<li><a href="'.Paginator::urlNextPage().'" class="button big next">'.$Language->get('Next page').'</a></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
|
@ -0,0 +1,27 @@
|
|||
<article class="post">
|
||||
|
||||
<!-- Plugins Page Begin -->
|
||||
<?php Theme::plugins('pageBegin') ?>
|
||||
|
||||
<!-- Post's header -->
|
||||
<header>
|
||||
<div class="title">
|
||||
<h1><a href="<?php echo $Page->permalink() ?>"><?php echo $Page->title() ?></a></h1>
|
||||
<p><?php echo $Page->description() ?></p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Cover Image -->
|
||||
<?php
|
||||
if($Page->coverImage()) {
|
||||
echo '<a href="'.$Page->permalink().'" class="image featured"><img src="'.$Page->coverImage().'" alt="Cover Image"></a>';
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- Post's content, the first part if has pagebrake -->
|
||||
<?php echo $Page->content() ?>
|
||||
|
||||
<!-- Plugins Page End -->
|
||||
<?php Theme::plugins('pageEnd') ?>
|
||||
|
||||
</article>
|
|
@ -0,0 +1,57 @@
|
|||
<article class="post">
|
||||
|
||||
<!-- Show plugins, Hook: Post Begin -->
|
||||
<?php Theme::plugins('postBegin') ?>
|
||||
|
||||
<!-- Post's header -->
|
||||
<header>
|
||||
<div class="title">
|
||||
<h1><a href="<?php echo $Post->permalink() ?>"><?php echo $Post->title() ?></a></h1>
|
||||
</div>
|
||||
<div class="meta">
|
||||
<?php
|
||||
// Get the user who created the post.
|
||||
$User = $Post->user();
|
||||
|
||||
// Default author is the username.
|
||||
$author = $User->username();
|
||||
|
||||
// If the user complete the first name or last name this will be the author.
|
||||
if( Text::isNotEmpty($User->firstName()) || Text::isNotEmpty($User->lastName()) ) {
|
||||
$author = $User->firstName().' '.$User->lastName();
|
||||
}
|
||||
?>
|
||||
<time class="published" datetime="2015-11-01"><?php echo $Post->date() ?></time>
|
||||
<div class="author"><span class="name"><?php echo $author ?></span><img src="<?php echo $User->profilePicture() ?>" alt=""></div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Cover Image -->
|
||||
<?php
|
||||
if($Post->coverImage()) {
|
||||
echo '<a href="'.$Post->permalink().'" class="image featured"><img src="'.$Post->coverImage().'" alt="Cover Image"></a>';
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- Post's content, the first part if has pagebrake -->
|
||||
<?php echo $Post->content() ?>
|
||||
|
||||
<!-- Post's footer -->
|
||||
<footer>
|
||||
|
||||
<!-- Post's tags -->
|
||||
<ul class="stats">
|
||||
<?php
|
||||
$tags = $Post->tags(true);
|
||||
|
||||
foreach($tags as $tagKey=>$tagName) {
|
||||
echo '<li><a href="'.HTML_PATH_ROOT.$Url->filters('tag').'/'.$tagKey.'">'.$tagName.'</a></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
<!-- Show plugins, Hook: Post End -->
|
||||
<?php Theme::plugins('postEnd') ?>
|
||||
|
||||
</article>
|
|
@ -0,0 +1,41 @@
|
|||
<!-- Intro -->
|
||||
<section id="intro">
|
||||
<header>
|
||||
<h2><a href="<?php echo $Site->url() ?>"><?php echo $Site->title() ?></a></h2>
|
||||
<p><?php echo $Site->slogan() ?></p>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<?php Theme::plugins('siteSidebar') ?>
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
<ul class="icons">
|
||||
<?php
|
||||
if($Site->twitter()) {
|
||||
echo '<li><a href="'.$Site->twitter().'" class="fa-twitter"><span class="label">Twitter</span></a></li>';
|
||||
}
|
||||
|
||||
if($Site->facebook()) {
|
||||
echo '<li><a href="'.$Site->facebook().'" class="fa-facebook"><span class="label">Facebook</span></a></li>';
|
||||
}
|
||||
|
||||
if($Site->instagram()) {
|
||||
echo '<li><a href="'.$Site->instagram().'" class="fa-instagram"><span class="label">Instagram</span></a></li>';
|
||||
}
|
||||
|
||||
if($Site->github()) {
|
||||
echo '<li><a href="'.$Site->github().'" class="fa-github"><span class="label">Github</span></a></li>';
|
||||
}
|
||||
|
||||
if( $plugins['all']['pluginRSS']->installed() ) {
|
||||
echo '<li><a href="'.DOMAIN_BASE.'rss.xml'.'" class="fa-rss"><span class="label">RSS</span></a></li>';
|
||||
}
|
||||
|
||||
if( $plugins['all']['pluginSitemap']->installed() ) {
|
||||
echo '<li><a href="'.DOMAIN_BASE.'sitemap.xml'.'" class="fa-sitemap"><span class="label">Sitemap</span></a></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
<p class="copyright"><?php echo $Site->footer() ?> | <a href="http://www.bludit.com">BLUDIT</a></p>
|
||||
</section>
|
|
@ -180,3 +180,10 @@ blockquote p {
|
|||
.plugin-tags li {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
/* Responsive images */
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
|
|
@ -69,4 +69,13 @@
|
|||
|
||||
#menu > * {
|
||||
border-top: solid 1px #dedede;
|
||||
}
|
||||
}
|
||||
|
||||
/* Responsive images */
|
||||
|
||||
@media \0screen {
|
||||
img {
|
||||
width: auto; /* for ie 8 */
|
||||
}
|
||||
}
|
||||
|
||||
|
|
47
install.php
47
install.php
|
@ -92,17 +92,11 @@ define('DB_DATE_FORMAT', 'Y-m-d H:i:s');
|
|||
// Charset, default UTF-8.
|
||||
define('CHARSET', 'UTF-8');
|
||||
|
||||
// Multibyte string extension loaded.
|
||||
define('MB_STRING', extension_loaded('mbstring'));
|
||||
// Set internal character encoding.
|
||||
mb_internal_encoding(CHARSET);
|
||||
|
||||
if(MB_STRING)
|
||||
{
|
||||
// Set internal character encoding.
|
||||
mb_internal_encoding(CHARSET);
|
||||
|
||||
// Set HTTP output character encoding.
|
||||
mb_http_output(CHARSET);
|
||||
}
|
||||
// Set HTTP output character encoding.
|
||||
mb_http_output(CHARSET);
|
||||
|
||||
// --- PHP Classes ---
|
||||
|
||||
|
@ -196,12 +190,29 @@ function checkSystem()
|
|||
$phpModules = get_loaded_extensions();
|
||||
}
|
||||
|
||||
if(!file_exists(PATH_ROOT.'.htaccess'))
|
||||
// Check .htaccess file for different webservers
|
||||
if( !file_exists(PATH_ROOT.'.htaccess') ) {
|
||||
|
||||
if ( !isset($_SERVER['SERVER_SOFTWARE']) ||
|
||||
stripos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false ||
|
||||
stripos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false
|
||||
) {
|
||||
$errorText = 'Missing file, upload the file .htaccess (ERR_201)';
|
||||
error_log($errorText, 0);
|
||||
|
||||
$tmp['title'] = 'File .htaccess';
|
||||
$tmp['errorText'] = $errorText;
|
||||
array_push($stdOut, $tmp);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(!in_array('gd', $phpModules))
|
||||
{
|
||||
$errorText = 'Missing file, upload the file .htaccess (ERR_201)';
|
||||
$errorText = 'PHP module GD is not installed.';
|
||||
error_log($errorText, 0);
|
||||
|
||||
$tmp['title'] = 'File .htaccess';
|
||||
$tmp['title'] = 'PHP module';
|
||||
$tmp['errorText'] = $errorText;
|
||||
array_push($stdOut, $tmp);
|
||||
}
|
||||
|
@ -226,6 +237,16 @@ function checkSystem()
|
|||
array_push($stdOut, $tmp);
|
||||
}
|
||||
|
||||
if(!in_array('mbstring', $phpModules))
|
||||
{
|
||||
$errorText = 'PHP module Multibyte String (mbstring) is not installed. (ERR_206)';
|
||||
error_log($errorText, 0);
|
||||
|
||||
$tmp['title'] = 'PHP module';
|
||||
$tmp['errorText'] = $errorText;
|
||||
array_push($stdOut, $tmp);
|
||||
}
|
||||
|
||||
// Try to create the directory content
|
||||
@mkdir(PATH_CONTENT, $dirpermissions, true);
|
||||
|
||||
|
|
Loading…
Reference in New Issue