diff --git a/.github/issue_template.md b/.github/issue_template.md index 62ecd03f..4c13e5e9 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -1,9 +1,11 @@ ### Describe your problem -### Expected behavior - -### Actual behavior - ### Steps to reproduce the problem +### PHP version +If you don't know delete this line. + +### PHP logs +If you have access to the logs could be really helpful for troubleshoot, if you don't have access delete this line. + ### Bludit version diff --git a/.gitignore b/.gitignore index e9c1ad61..eeeaca99 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ bl-themes/striped bl-themes/log bl-themes/micro bl-themes/tagg +bl-themes/future-imperfect \ No newline at end of file diff --git a/.htaccess b/.htaccess index 3ef5e449..b1523b66 100644 --- a/.htaccess +++ b/.htaccess @@ -13,6 +13,7 @@ RewriteRule ^bl-content/(databases|workspaces|pages|tmp)/.*$ - [R=404,L] # All URL process by index.php RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php [PT,L] \ No newline at end of file diff --git a/LICENSE b/LICENSE index ff655691..e0eecd23 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015-2018 Diego Najar +Copyright (c) 2015-2019 Diego Najar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 787f5403..e1dc3259 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [Bludit](https://www.bludit.com/) ================================ -**Simple**, **Fast** and **Flexible** CMS +**Simple**, **Fast** and **Flexible** CMS. Bludit is a web application to build your own **website** or **blog** in seconds, it's completely **free and open source**. Bludit uses files in JSON format to store the content, you don't need to install or configure a database. You only need a web server with PHP support. @@ -13,14 +13,13 @@ Bludit supports **Markdown** and **HTML code** for the content. - [Documentation](https://docs.bludit.com) - Help and Support [Forum](https://forum.bludit.org) and [Chat](https://gitter.im/bludit/support) -[](https://pro.bludit.com/) - -Social Networks +Follow Bludit --------------- +- [Blog](https://blog.bludit.com) - [Twitter](https://twitter.com/bludit) - [Facebook](https://www.facebook.com/bluditcms) -- [Youtube](https://www.youtube.com/channel/UCuLu0Z_CHBsTiYTDz129x9Q?view_as=subscriber) +- [Youtube](https://www.youtube.com/c/Bluditcms) Requirements ------------ @@ -47,25 +46,24 @@ Installation Guide Docker Image ------------ -Bludit provides an official Docker image. +Official Docker image on Docker Hub. - https://hub.docker.com/r/bludit/docker/ -Backers +Also we provide Kubernetes deployments yaml files. +- https://github.com/bludit/docker/tree/master/kubernetes + +Support Bludit! ------- -Become a **Backer** and support Bludit with a monthly contribution to help us continue development. -- [Become a Backer](https://www.patreon.com/bePatron?c=921115&rid=2458859) +Bludit is open soruce and free, but if you really like the project and is useful for your you can contribute in [Patreon](https://www.patreon.com/bePatron?c=921115&rid=2458860), also for the supporters we provide Bludit PRO. -Sponsors --------- -Become a **Sponsor** and support Bludit with a monthly contribution to help us continue development. +[](https://pro.bludit.com/) -[](https://www.patreon.com/bePatron?c=921115&rid=2458860) +### Golden sponsors in Patreon! - Clickwork - KreativMind - Martin Cajzer - Jan Rippl -- Wesleigh Walker License ------- diff --git a/bl-kernel/admin/controllers/content.php b/bl-kernel/admin/controllers/content.php index 3ea7755f..d8db3787 100644 --- a/bl-kernel/admin/controllers/content.php +++ b/bl-kernel/admin/controllers/content.php @@ -4,12 +4,25 @@ // Check role // ============================================================================ -checkRole(array('admin', 'editor')); +checkRole(array('admin', 'editor', 'author')); // ============================================================================ // Functions // ============================================================================ +// Returns the content belongs to the current user if the user has the role Editor +function filterContentOwner($list) { + global $login; + global $pages; + $tmp = array(); + foreach ($list as $pageKey) { + if ($pages->db[$pageKey]['username']==$login->username()) { + array_push($tmp, $pageKey); + } + } + return $tmp; +} + // ============================================================================ // Main before POST // ============================================================================ @@ -22,21 +35,26 @@ checkRole(array('admin', 'editor')); // Main after POST // ============================================================================ -// List of published pages -$onlyPublished = true; -$numberOfItems = ITEMS_PER_PAGE_ADMIN; -$pageNumber = $url->pageNumber(); -$published = $pages->getList($pageNumber, $numberOfItems, $onlyPublished); +$published = $pages->getList($url->pageNumber(), ITEMS_PER_PAGE_ADMIN); +$drafts = $pages->getDraftDB(true); +$scheduled = $pages->getScheduledDB(true); +$static = $pages->getStaticDB(true); +$sticky = $pages->getStickyDB(true); +$autosave = $pages->getAutosaveDB(true); + +// If the user is an Author filter the content he/she can edit +if (checkRole(array('author'), false)) { + $published = filterContentOwner($published); + $drafts = filterContentOwner($drafts); + $scheduled = filterContentOwner($scheduled); + $static = filterContentOwner($static); + $sticky = filterContentOwner($sticky); +} // Check if out of range the pageNumber if (empty($published) && $url->pageNumber()>1) { Redirect::page('content'); } -$drafts = $pages->getDraftDB(true); -$scheduled = $pages->getScheduledDB(true); -$static = $pages->getStaticDB(true); -$sticky = $pages->getStickyDB(true); - // Title of the page $layout['title'] .= ' - '.$L->g('Manage content'); \ No newline at end of file diff --git a/bl-kernel/admin/controllers/edit-content.php b/bl-kernel/admin/controllers/edit-content.php index 0566ea95..9fcbae16 100644 --- a/bl-kernel/admin/controllers/edit-content.php +++ b/bl-kernel/admin/controllers/edit-content.php @@ -4,7 +4,7 @@ // Check role // ============================================================================ -if (!checkRole(array('admin','editor'), false)) { +if (checkRole(array('author'), false)) { try { $pageKey = isset($_POST['key']) ? $_POST['key'] : $layout['parameters']; $page = new Page($pageKey); @@ -64,11 +64,28 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') { try { $pageKey = $layout['parameters']; $page = new Page($pageKey); - $uuid = $page->uuid(); } catch (Exception $e) { Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to get the page: '.$pageKey, LOG_TYPE_ERROR); Redirect::page('content'); } +// Images prefix directory +define('PAGE_IMAGES_KEY', $page->uuid()); + +// Images and thubmnails directories +if (IMAGE_RESTRICT) { + define('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/')); + define('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/')); + define('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.DS.'thumbnails'.DS); + define('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/'); + define('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/'); +} else { + define('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS)); + define('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS)); + define('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_THUMBNAILS); + define('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_THUMBNAILS); + define('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_THUMBNAILS); +} + // Title of the page $layout['title'] .= ' - '.$L->g('Edit content').' - '.$page->title(); \ No newline at end of file diff --git a/bl-kernel/admin/controllers/new-content.php b/bl-kernel/admin/controllers/new-content.php index 908a4d2a..882e24ef 100644 --- a/bl-kernel/admin/controllers/new-content.php +++ b/bl-kernel/admin/controllers/new-content.php @@ -4,7 +4,7 @@ // Check role // ============================================================================ -checkRole(array('admin', 'editor')); +checkRole(array('admin', 'editor', 'author')); // ============================================================================ // Functions @@ -35,5 +35,23 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') { // UUID of the page is need it for autosave and media manager $uuid = $pages->generateUUID(); +// Images prefix directory +define('PAGE_IMAGES_KEY', $uuid); + +// Images and thubmnails directories +if (IMAGE_RESTRICT) { + define('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/')); + define('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/')); + define('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.DS.'thumbnails'.DS); + define('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/'); + define('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/'); +} else { + define('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS)); + define('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS)); + define('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_THUMBNAILS); + define('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_THUMBNAILS); + define('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_THUMBNAILS); +} + // Title of the page $layout['title'] = $L->g('New content').' - '.$layout['title']; \ No newline at end of file diff --git a/bl-kernel/admin/controllers/user-password.php b/bl-kernel/admin/controllers/user-password.php index 491f4ae7..8a7e8c9d 100644 --- a/bl-kernel/admin/controllers/user-password.php +++ b/bl-kernel/admin/controllers/user-password.php @@ -4,8 +4,6 @@ // Functions // ============================================================================ - - // ============================================================================ // Main before POST // ============================================================================ @@ -15,8 +13,14 @@ // ============================================================================ if ($_SERVER['REQUEST_METHOD'] == 'POST') { + // Prevent non-administrators to change other users + $username = $_POST['username']; + if ($login->role()!=='admin') { + $username = $login->username(); + } + if (changeUserPassword(array( - 'username'=>$_POST['username'], + 'username'=>$username, 'newPassword'=>$_POST['newPassword'], 'confirmPassword'=>$_POST['confirmPassword'] ))) { diff --git a/bl-kernel/admin/themes/booty/css/bludit.bootstrap.css b/bl-kernel/admin/themes/booty/css/bludit.bootstrap.css new file mode 100644 index 00000000..e99a96ae --- /dev/null +++ b/bl-kernel/admin/themes/booty/css/bludit.bootstrap.css @@ -0,0 +1,62 @@ +a { + color: #0078D4; +} + +a:hover { + color: #003f6f; + text-decoration: none; +} + +.bg-success { + background-color: #8BC34A!important; +} + +.text-primary { + color: #0078D4!important; +} + +.text-danger { + color: #D40000!important; +} +a.text-danger:focus, +a.text-danger:hover { + color: #790000!important; +} + +/* Buttons */ +.btn { + border-radius: 2px; +} + +.btn-primary { + background-color: #0078D4; + border-color: #0078D4; +} + +.btn-primary:hover { + background-color: #4585CF; + border-color: #4a90e2; +} + +.btn-light.focus, .btn-light:focus { + box-shadow: none; +} + +.btn.focus, .btn:focus { + box-shadow: none; +} + +/* Form */ +.form-control:focus { + box-shadow: none; +} + +/* Tables */ +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.02); +} + +.table thead th { + font-size: 0.8em; + text-transform: uppercase!important; +} \ No newline at end of file diff --git a/bl-kernel/admin/themes/booty/css/bludit.css b/bl-kernel/admin/themes/booty/css/bludit.css index eebeb418..8b79cb37 100644 --- a/bl-kernel/admin/themes/booty/css/bludit.css +++ b/bl-kernel/admin/themes/booty/css/bludit.css @@ -9,6 +9,56 @@ body { background: #fcfcfc; } +/* Prevent events in iframes */ +/* iframe{ + pointer-events: none; +} */ + +/* + ICONS +*/ +.fa { + padding-right: 2px; + line-height: inherit; +} + +/* + SIDEBAR +*/ + +div.sidebar .nav-item a { + padding-left:0; + padding-right:0; + color: #555; + padding-top: 5px; + padding-bottom: 5px; +} + +div.sidebar .nav-item a:hover { + color: #0078D4; +} + +div.sidebar .nav-item h4 { + font-size: 1.2em; + text-transform: uppercase; + font-weight: 400; + margin-top: 10px; +} + +/* + AUTOCOMPLETE SEARCH +*/ +.search-suggestion { + padding: 5px; +} + +.search-suggestion-options { + font-size: 0.9em; + padding-top: 2px; +} + + + /* BOOTSTRAP Hacks */ @@ -29,27 +79,8 @@ body { } } -a { - color: #4a90e2; -} -a:hover { - color: #4a90e2; -} -.btn { - border-radius: 2px; -} - -.btn-primary { - background-color: #4F93E0; - border-color: #4a90e2; -} - -.btn-primary:hover { - background-color: #4585CF; - border-color: #4a90e2; -} .btn-light { color: #212529; @@ -69,6 +100,8 @@ a:hover { color: #000; } + + code { padding: 3px 5px 2px; margin: 0 1px; @@ -188,34 +221,7 @@ body.login { color: #ffffff; } -/* - SIDEBAR -*/ -div.sidebar .nav-item a { - padding-left:0; - padding-right:0; - color: #777; - padding-top: 5px; - padding-bottom: 5px; -} - -div.sidebar .nav-item a:hover { - text-decoration: underline; -} - -div.sidebar .nav-item h4 { - font-size: 1.3em; - text-transform: uppercase; - font-weight: 400; - margin-top: 10px; -} - -div.sidebar .nav-item span.oi { - color: #000; - font-size: 0.8em; - padding-right: 5px; -} /* PLUGINS @@ -336,7 +342,7 @@ td.child { right: 0; bottom: 0; left: 0; - background-color: rgba(255,255,255,0.7); + background-color: rgba(72,72,72,0.7); z-index: 10; display: none; } @@ -349,61 +355,12 @@ img.profilePicture { } /* Switch button */ -.switch { - position: relative; - height: 26px; - width: 140px; - background: #f3f3f3; - border: 1px solid #ced4d9; - border-radius: 2px; -} - -.switch-label { - position: relative; - z-index: 2; - float: left; - width: 50%; - line-height: 25px; - font-size: 11px; - text-align: center; +.switch-button { + font-size: 0.9em; + text-transform: uppercase; cursor: pointer; - margin: 0 !important; -} -.switch-label:active { - font-weight: bold; } -.switch-label-off { - padding-left: 2px; -} - -.switch-label-on { - padding-right: 2px; -} - -.switch-input { - display: none; -} - -.switch-input:checked + .switch-label { - font-weight: bold; - color: #fff; - transition: 0.15s ease-out; - transition-property: color, text-shadow; -} -.switch-input:checked + .switch-label-on ~ .switch-selection { - left: 50%; -} - -.switch-selection { - position: absolute; - z-index: 1; - top: 2px; - left: 2px; - display: block; - width: 50%; - height: 21px; - border-radius: 2px; - background-color: #6c757d; - transition: left 0.15s ease-out; +.switch-icon-publish { + color: #1cb11c; } diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.eot b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.eot deleted file mode 100755 index f98177db..00000000 Binary files a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.eot and /dev/null differ diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.otf b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.otf deleted file mode 100755 index f6bd6846..00000000 Binary files a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.otf and /dev/null differ diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.svg b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.svg deleted file mode 100755 index 32b2c4e9..00000000 --- a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.svg +++ /dev/null @@ -1,543 +0,0 @@ - - - - diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.ttf b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.ttf deleted file mode 100755 index fab60486..00000000 Binary files a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.ttf and /dev/null differ diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.woff b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.woff deleted file mode 100755 index f9309988..00000000 Binary files a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.woff and /dev/null differ diff --git a/bl-kernel/admin/themes/booty/css/open-iconic-bootstrap.min.css b/bl-kernel/admin/themes/booty/css/open-iconic-bootstrap.min.css deleted file mode 100755 index 0ac996dd..00000000 --- a/bl-kernel/admin/themes/booty/css/open-iconic-bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Icons;src:url(./fonts/open-iconic.eot);src:url(./fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(./fonts/open-iconic.woff) format('woff'),url(./fonts/open-iconic.ttf) format('truetype'),url(./fonts/open-iconic.otf) format('opentype'),url(./fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'} \ No newline at end of file diff --git a/bl-kernel/admin/themes/booty/html/alert.php b/bl-kernel/admin/themes/booty/html/alert.php index fb7578af..7b76d611 100644 --- a/bl-kernel/admin/themes/booty/html/alert.php +++ b/bl-kernel/admin/themes/booty/html/alert.php @@ -2,7 +2,7 @@ function showAlert(text) { console.log("[INFO] Function showAlert() called."); $("#alert").html(text); - $("#alert").slideDown().delay().slideUp(); + $("#alert").slideDown().delay().slideUp(); } diff --git a/bl-kernel/admin/themes/booty/html/media.php b/bl-kernel/admin/themes/booty/html/media.php index f5aca487..25c3897c 100644 --- a/bl-kernel/admin/themes/booty/html/media.php +++ b/bl-kernel/admin/themes/booty/html/media.php @@ -1,26 +1,14 @@ @@ -35,15 +23,15 @@ $numberOfPages = count($listOfFilesByPage); -
p('There are no images'); ?> |