From d41fe5c95d70a367c382ccede252cfdc6fd2969d Mon Sep 17 00:00:00 2001 From: trendschau <trendschau@gmail.com> Date: Tue, 7 Apr 2020 08:20:22 +0200 Subject: [PATCH] Version 1.3.4: Media Library --- media/markdown.png | Bin 0 -> 1073 bytes system/Models/ProcessAssets.php | 21 +++++++++++++++--- system/Models/ProcessImage.php | 10 +++++++-- system/Settings.php | 5 ++++- system/author/css/style.css | 6 ++++- system/author/layouts/layout.twig | 8 +++---- system/author/layouts/layoutAuth.twig | 4 ++-- system/author/layouts/layoutBlank.twig | 2 +- system/author/layouts/layoutBlox.twig | 28 ++++++++++++------------ system/author/layouts/layoutEditor.twig | 28 ++++++++++++------------ 10 files changed, 70 insertions(+), 42 deletions(-) create mode 100644 media/markdown.png diff --git a/media/markdown.png b/media/markdown.png new file mode 100644 index 0000000000000000000000000000000000000000..9470f0878f45a9a2cff72ff6fcbfd550daac338f GIT binary patch literal 1073 zcmeAS@N?(olHy`uVBq!ia0vp^7l62dgBeKrei7dYq`CrpLR^9LAOXTm9Qr_~=#~We z1v9Yyd~!_M(vP`aV%n=e&u8XrO#7C6X^sIu&jEYRlioIG4zDN;Y<W1jNVg&+{JnGk z8wLhuO-~ockP61PcSG~mSW2`!%t}j3llbv%|DK00Pg!nE`M&;}Yvj7u7lbPgo9*z; zE`KxgPSx?)?B@L2cDvQ~yesaOzqVuck9WKc*^x}y7mK&4lpU+z9jUbY;rv+LnX!xu zLOj_+G#Ph9IPGRQo9DG4kF)ymwO*+wVcBbXZ$Ey>vGZ1xiA})M+sipGn)>Uzi2f0< zawwCo6Iht@KcDlaZhVK)8&i({E)z$|DM(0V1CP=1WgNGz$TXKfi%1FB+1GIOw2{K< zEe~UNCs`@1p7tQ}Wr~-A^nuNdnT<KG_?yH|$g;6H@;%{WZeGA%)ZXZLf%)bEc^2IX zzJDDrFzq~iK;cBA1Y5bl7l%HBDXW(8BuPlH<O%?VGnyrU8pVzn7;yYjXankFGvs0R zW=;uabCd@Oeo}b7T@s>Hg>lot1CyA3PIru9OTBQX$!t1ftLm<(NsJ4xeXssydZNK; z-x*E$1uTbduuC~}v-nFqOVp1#&b9t?qQKz?d`=Q8EVW)qn%V>HzT?QjoM@{3Y^Lr< zkQ|Sb2FF$}LI0&~{y^7+3mkHc@VWQhN34S(NkYbvgMHz}>g$)Y6_`2_3)mE8S|09R zps3UU^39(Ghd#bj;5#APRwVmS;n?rL3C9@|-|#tEbbRFFFY^(2_D-RtS>pYNgySrR zJUmVo8aDTM%2GhyZfQRB_-w*)W{_~AK-<HEeLRO|IBM{5b(OP!bmU=f{$SVf@f(Y^ zT}NVqKv$zgzW;{D%@^JobG&b^`IrV|14C^g&>D~uj>m>}3`u)z5BBjNYL_d2!M{z6 zL$-dyR)?PL);Ee2j@_2cu@!jymT#LJ$9|tX2dA+b-s9P3)&VqTtK*9u&1<=n_DJTW z3Ou%r1_pVB@r_Fg$7UZ4V*{!xllmWGA>$<XB$BODx7kPofhJj8D){O&<+62&(avN? z>rB}@w|>6NxNG+0+CLx_l+`Z(`1%xw{maT4ewZCqz9($evVZC;Q_hz$DF^?SO@Dvz u{g1@k-QQ9Trt4aK*d^zBrvLiaKb#L%vFaWBxB4$A<9oXLxvX<aXaWGf8Ij5W literal 0 HcmV?d00001 diff --git a/system/Models/ProcessAssets.php b/system/Models/ProcessAssets.php index aaf66c4..98bed4d 100644 --- a/system/Models/ProcessAssets.php +++ b/system/Models/ProcessAssets.php @@ -60,9 +60,9 @@ class ProcessAssets foreach($folders as $folder) { - if(!file_exists($folder)) + if(!file_exists($folder) && !is_dir( $folder )) { - if(!mkdir($folder, 0774, true)) + if(!mkdir($folder, 0755, true)) { return false; } @@ -75,14 +75,29 @@ class ProcessAssets $this->generateThumbs(); } } - elseif(!is_writeable($folder)) + elseif(!is_writeable($folder) OR !is_readable($folder)) { return false; } + + # check if thumb-folder is empty, then generate thumbs from live folder + if($folder == $this->thumbFolder && $this->is_dir_empty($folder)) + { + # cleanup old systems + $this->cleanupLiveFolder(); + + # generate thumbnails from live folder + $this->generateThumbs(); + } } return true; } + public function is_dir_empty($dir) + { + return (count(scandir($dir)) == 2); + } + public function setFileName($originalname, $type, $overwrite = null) { $pathinfo = pathinfo($originalname); diff --git a/system/Models/ProcessImage.php b/system/Models/ProcessImage.php index 82a21bd..f3c4b0a 100644 --- a/system/Models/ProcessImage.php +++ b/system/Models/ProcessImage.php @@ -329,9 +329,10 @@ class ProcessImage extends ProcessAssets { if (!in_array($name, array(".",".."))) { - $this->generateThumbFromImageFile($name); + $result = $this->generateThumbFromImageFile($name); } } + return $result; } public function generateThumbFromImageFile($filename) @@ -354,7 +355,12 @@ class ProcessImage extends ProcessAssets $thumb = $this->imageResize($image, $originalSize, ['thumbs' => $thumbSize ], $this->extension); - $this->saveImage($this->thumbFolder, $thumb['thumbs'], $this->filename, $this->extension); + $saveImage = $this->saveImage($this->thumbFolder, $thumb['thumbs'], $this->filename, $this->extension); + if($saveImage) + { + return true; + } + return false; } public function generateSizesFromImageFile($filename, $image) diff --git a/system/Settings.php b/system/Settings.php index 6e469ae..7dde0a9 100644 --- a/system/Settings.php +++ b/system/Settings.php @@ -16,6 +16,9 @@ class Settings $settings = array_merge($defaultSettings, $userSettings); } + # no individual image sizes are allowed sind 1.3.4 + $settings['images'] = $defaultSettings['images']; + # if there is no theme set if(!isset($settings['theme'])) { @@ -78,7 +81,7 @@ class Settings 'contentFolder' => 'content', 'cache' => true, 'cachePath' => $rootPath . 'cache', - 'version' => '1.3.3', + 'version' => '1.3.4', 'setup' => true, 'welcome' => true, 'images' => ['live' => ['width' => 820], 'thumbs' => ['width' => 250, 'height' => 150]], diff --git a/system/author/css/style.css b/system/author/css/style.css index d951ff6..6197987 100644 --- a/system/author/css/style.css +++ b/system/author/css/style.css @@ -1727,6 +1727,7 @@ label .help, .label .help{ } .blox-editor input.mdcontent.h2,.blox-editor input.mdcontent.h3,.blox-editor input.mdcontent.h4,.blox-editor input.mdcontent.h5,.blox-editor input.mdcontent.h6{ padding-left: 35px; + height: auto; } .blox-editor input.mdcontent.h2{ font-size: 1.6em; @@ -1973,7 +1974,8 @@ button.format-item.close:hover{ ************************/ /* format menu */ -.inlineFormatBar { +.inlineFormatBar { + box-sizing:content-box; height: 30px; padding: 5px 10px; background: #333; @@ -2403,10 +2405,12 @@ hr{ } .blox li.h1{ font-weight: 700; + height:auto; } .blox li.h2,.blox li.h3,.blox li.h4,.blox li.h5,.blox li.h6{ font-weight: 400; padding-left: 25px; + height:auto; } .blox a, .blox a:link, .blox a:visited, footer a, footer a:link, footer a:visited diff --git a/system/author/layouts/layout.twig b/system/author/layouts/layout.twig index 67650ad..e96b3ed 100644 --- a/system/author/layouts/layout.twig +++ b/system/author/layouts/layout.twig @@ -17,8 +17,8 @@ <link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ base_url }}/system/author/img/apple-touch-icon-152x152.png" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" /> - <link rel="stylesheet" href="{{ base_url }}/system/author/css/tachyons.min.css?20200226" /> - <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200226" /> + <link rel="stylesheet" href="{{ base_url }}/system/author/css/tachyons.min.css?20200405" /> + <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" /> </head> <body> @@ -56,7 +56,7 @@ </article> <footer></footer> </div> - <script src="{{ base_url }}/system/author/js/color-picker.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/author.js?20200226"></script> + <script src="{{ base_url }}/system/author/js/color-picker.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/author.js?20200405"></script> </body> </html> \ No newline at end of file diff --git a/system/author/layouts/layoutAuth.twig b/system/author/layouts/layoutAuth.twig index cf38bbe..e0abd9e 100644 --- a/system/author/layouts/layoutAuth.twig +++ b/system/author/layouts/layoutAuth.twig @@ -18,7 +18,7 @@ <link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ base_url }}/system/author/img/apple-touch-icon-152x152.png" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" /> - <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200226" /> + <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" /> </head> <body> @@ -54,6 +54,6 @@ {% block content %}{% endblock %} </div> - <script src="{{ base_url }}/system/author/js/auth.js?20200226"></script> + <script src="{{ base_url }}/system/author/js/auth.js?20200405"></script> </body> </html> \ No newline at end of file diff --git a/system/author/layouts/layoutBlank.twig b/system/author/layouts/layoutBlank.twig index 4ef518c..72a8d8c 100644 --- a/system/author/layouts/layoutBlank.twig +++ b/system/author/layouts/layoutBlank.twig @@ -17,7 +17,7 @@ <link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ base_url }}/system/author/img/apple-touch-icon-152x152.png" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" /> - <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200226" /> + <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" /> </head> <body> <svg style="position: absolute; width: 0; height: 0; overflow: hidden" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> diff --git a/system/author/layouts/layoutBlox.twig b/system/author/layouts/layoutBlox.twig index ab88393..c7eebfb 100644 --- a/system/author/layouts/layoutBlox.twig +++ b/system/author/layouts/layoutBlox.twig @@ -18,7 +18,7 @@ <link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/tachyons.min.css" /> - <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200226" /> + <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" /> {{ assets.renderCSS() }} @@ -196,12 +196,12 @@ const myaxios = axios.create(); myaxios.defaults.baseURL = "{{ base_url }}"; </script> - <script src="{{ base_url }}/system/author/js/vue.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-i18n.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/autosize.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/author.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-blox-config.js?20200226"></script> + <script src="{{ base_url }}/system/author/js/vue.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-i18n.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/autosize.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/author.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-blox-config.js?20200405"></script> <script> let formatConfig = {{ settings.formats|json_encode() }}; let language = {{ settings.language|json_encode() }}; @@ -211,13 +211,13 @@ {{ assets.renderEditorJS() }} - <script src="{{ base_url }}/system/author/js/vue-blox.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-posts.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/sortable.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-navi.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-meta.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/lazy-video.js?20200226"></script> + <script src="{{ base_url }}/system/author/js/vue-blox.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-posts.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/sortable.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-navi.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-meta.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/lazy-video.js?20200405"></script> {{ assets.renderJS() }} diff --git a/system/author/layouts/layoutEditor.twig b/system/author/layouts/layoutEditor.twig index 0cb91a4..bce3438 100644 --- a/system/author/layouts/layoutEditor.twig +++ b/system/author/layouts/layoutEditor.twig @@ -18,7 +18,7 @@ <link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" /> - <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200226" /> + <link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" /> <link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" /> {{ assets.renderCSS() }} @@ -83,30 +83,30 @@ </article> <footer></footer> </div> - <script src="{{ base_url }}/system/author/js/axios.min.js?20200226"></script> + <script src="{{ base_url }}/system/author/js/axios.min.js?20200405"></script> <script> const myaxios = axios.create(); myaxios.defaults.baseURL = "{{ base_url }}"; </script> - <script src="{{ base_url }}/system/author/js/vue.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-i18n.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/autosize.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/sortable.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/author.js?20200226"></script> + <script src="{{ base_url }}/system/author/js/vue.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-i18n.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/autosize.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/sortable.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/author.js?20200405"></script> <script> - let language = {{ settings.language|json_encode() }}; - let vuejsLabels = {{ settings.vuejsLabels|json_encode() }}; + let language = {{ settings.language|json_encode() }}; + let vuejsLabels = {{ settings.vuejsLabels|json_encode() }}; let navigation = {{ navigation|json_encode() }}; </script> {{ assets.renderEditorJS() }} - <script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-editor.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-meta.js?20200226"></script> - <script src="{{ base_url }}/system/author/js/vue-navi.js?20200226"></script> + <script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-editor.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-meta.js?20200405"></script> + <script src="{{ base_url }}/system/author/js/vue-navi.js?20200405"></script> {{ assets.renderJS() }}