From 086ed34bc0e0b35c7edfb69f888813625d6c65ed Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Sun, 24 Jan 2016 19:27:53 -0700 Subject: [PATCH 1/5] Fix theme_url in admin for #407 --- admin.php | 3 +-- themes/grav/templates/partials/base.html.twig | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/admin.php b/admin.php index 1c4f9908..9278fab2 100644 --- a/admin.php +++ b/admin.php @@ -411,14 +411,13 @@ class AdminPlugin extends Plugin // Dynamic type support $format = $this->uri->extension(); - $ext = '.' . ($format ? $format : 'html') . TWIG_EXT; $twig->twig_vars['location'] = $this->template; $twig->twig_vars['base_url_relative_frontend'] = $twig->twig_vars['base_url_relative'] ?: '/'; $twig->twig_vars['admin_route'] = trim($this->config->get('plugins.admin.route'), '/'); $twig->twig_vars['base_url_relative'] = $twig->twig_vars['base_url_simple'] . '/' . $twig->twig_vars['admin_route']; - $twig->twig_vars['theme_url'] = '/user/plugins/admin/themes/' . $this->theme; + $twig->twig_vars['theme_url'] = $this->grav['locator']->findResource('plugin://admin/themes/' . $this->theme, false); $twig->twig_vars['base_url'] = $twig->twig_vars['base_url_relative']; $twig->twig_vars['base_path'] = GRAV_ROOT; $twig->twig_vars['admin'] = $this->admin; diff --git a/themes/grav/templates/partials/base.html.twig b/themes/grav/templates/partials/base.html.twig index d3f799e4..651f1d09 100644 --- a/themes/grav/templates/partials/base.html.twig +++ b/themes/grav/templates/partials/base.html.twig @@ -15,7 +15,7 @@ {% endif %} - + {% block stylesheets %} {% do assets.addCss(theme_url~'/css-compiled/nucleus.css') %} From 5e1004f06fc3b43c8d1e9d255d4258809276a785 Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Tue, 26 Jan 2016 14:19:08 +0100 Subject: [PATCH 2/5] :art: Cut previewTemplate in multiple lines, --- .../templates/forms/fields/pagemedia/pagemedia.html.twig | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig b/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig index cac0e609..4a6e636a 100644 --- a/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig +++ b/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig @@ -57,7 +57,14 @@ addRemoveLinks: false, dictRemoveFileConfirmation: '[placeholder]', acceptedFiles: $('[data-media-types]').data('media-types'), - previewTemplate: "
\n
\n
\n
\n \n
\n
\n
\n
\n
\nDelete\nInsert\n
", + previewTemplate: "
\n
\n " + + "
\n " + + "
\n \n
\n " + + "
\n "+ + "
\n
\n " + + "
\n" + + "Delete\n" + + "Insert\n
", init: function() { thisDropzone = this; $.get(URI + '/task{{ config.system.param_sep }}listmedia/admin-nonce{{ config.system.param_sep }}' + GravAdmin.config.admin_nonce, function(data) { From 80eef0a91921280e3b3543c32fdd72a7fc724d8f Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Tue, 26 Jan 2016 14:31:57 +0100 Subject: [PATCH 3/5] :bug: Fix preview and insertion of images with non-lowercase extension --- themes/grav/js/mdeditor.js | 2 +- .../grav/templates/forms/fields/pagemedia/pagemedia.html.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/grav/js/mdeditor.js b/themes/grav/js/mdeditor.js index b10ada41..f207ce2f 100644 --- a/themes/grav/js/mdeditor.js +++ b/themes/grav/js/mdeditor.js @@ -149,7 +149,7 @@ filename = filename.replace(/@3x|@2x|@1x/, ''); filename = filename.replace(/\(/g, '%28'); filename = filename.replace(/\)/g, '%29'); - if (filename.match(/\.(jpg|jpeg|png|gif)$/)) { + if (filename.toLowerCase().match(/\.(jpg|jpeg|png|gif)$/)) { editor.doc.replaceSelection('![](' + filename + ')'); } else { editor.doc.replaceSelection('[' + decodeURI(filename) + '](' + filename + ')'); diff --git a/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig b/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig index 4a6e636a..47fd5287 100644 --- a/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig +++ b/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig @@ -80,7 +80,7 @@ thisDropzone.files.push(mockFile); thisDropzone.options.addedfile.call(thisDropzone, mockFile); - if (filename.match(/\.(jpg|jpeg|png|gif)$/)) { + if (filename.toLowerCase().match(/\.(jpg|jpeg|png|gif)$/)) { thisDropzone.options.thumbnail.call(thisDropzone, mockFile, data.url); } }); From 13c60ed833485842bf20ce883dc52502e2510123 Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Thu, 28 Jan 2016 13:52:28 +0100 Subject: [PATCH 4/5] :sparkles: Add a logout button when not authorized to access a page in Admin Otherwise if the user cannot access any page it needs to clear the cache to be able to logout and login again --- themes/grav/templates/login.html.twig | 1 + 1 file changed, 1 insertion(+) diff --git a/themes/grav/templates/login.html.twig b/themes/grav/templates/login.html.twig index 3bfad306..195857b6 100644 --- a/themes/grav/templates/login.html.twig +++ b/themes/grav/templates/login.html.twig @@ -12,6 +12,7 @@
{% if notAuthorized %} {{ 'PLUGIN_ADMIN.BACK'|tu }} + {% else %} {% if not authenticated %} {{ 'PLUGIN_ADMIN.LOGIN_BTN_FORGOT'|tu }} From c62fb6bdb5233e28acedfd7526c464c93e534677 Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Thu, 28 Jan 2016 14:03:53 +0100 Subject: [PATCH 5/5] Fix #390 Incorrect number of pages being displayed --- admin.php | 2 ++ classes/admin.php | 13 +++++++++++-- themes/grav/templates/partials/nav.html.twig | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/admin.php b/admin.php index 9278fab2..a44443d6 100644 --- a/admin.php +++ b/admin.php @@ -330,6 +330,8 @@ class AdminPlugin extends Plugin // make sure page is not frozen! unset($this->grav['page']); + $this->admin->pagesCount(); + // Replace page service with admin. $this->grav['page'] = function () use ($self) { $page = new Page; diff --git a/classes/admin.php b/classes/admin.php index 26720225..520de6e4 100644 --- a/classes/admin.php +++ b/classes/admin.php @@ -75,6 +75,11 @@ class Admin */ protected $gpm; + /** + * @var int + */ + protected $pages_count; + /** * Constructor. * @@ -404,9 +409,13 @@ class Admin * * @return array */ - public function countPages() + public function pagesCount() { - return count($this->grav['pages']->all()); + if (!$this->pages_count) { + $this->pages_count = count($this->grav['pages']->all()); + } + + return $this->pages_count; } /** diff --git a/themes/grav/templates/partials/nav.html.twig b/themes/grav/templates/partials/nav.html.twig index f93d9a08..d84c1cd3 100644 --- a/themes/grav/templates/partials/nav.html.twig +++ b/themes/grav/templates/partials/nav.html.twig @@ -34,7 +34,7 @@ {{ "PLUGIN_ADMIN.PAGES"|tu }} - {{ admin.countPages }} + {{ admin.pagesCount }}