diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d9eed59..4ef746ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# v1.10.0 +## mm/dd/2019 + +1. [](#new) + * Require Grav v1.7 + * Use PSR-4 for plugin classes + # v1.9.5 ## mm/dd/2019 diff --git a/admin.php b/admin.php index 0ecc2d04..37115097 100644 --- a/admin.php +++ b/admin.php @@ -636,8 +636,6 @@ class AdminPlugin extends Plugin */ public function onTwigExtensions() { - require_once __DIR__ . '/classes/Twig/AdminTwigExtension.php'; - $this->grav['twig']->twig->addExtension(new AdminTwigExtension); } @@ -833,10 +831,6 @@ class AdminPlugin extends Plugin 'onAdminData' => ['onAdminData', 0], ]); - // Autoload classes - require_once __DIR__ . '/vendor/autoload.php'; - - // Check for required plugins if (!$this->grav['config']->get('plugins.login.enabled') || !$this->grav['config']->get('plugins.form.enabled') || !$this->grav['config']->get('plugins.email.enabled')) { throw new \RuntimeException('One of the required plugins is missing or not enabled'); diff --git a/blueprints.yaml b/blueprints.yaml index 726916a9..a014cf9e 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -1,5 +1,5 @@ name: Admin Panel -version: 1.9.4 +version: 1.10.0-dev testing: false description: Adds an advanced administration panel to manage your site icon: empire @@ -14,7 +14,7 @@ docs: https://github.com/getgrav/grav-plugin-admin/blob/develop/README.md license: MIT dependencies: - - { name: grav, version: '>=1.6.7' } + - { name: grav, version: '>=1.7' } - { name: form, version: '>=3.0.0' } - { name: login, version: '>=3.0.0' } - { name: email, version: '>=3.0.0' } diff --git a/classes/admin.php b/classes/plugin/Admin.php similarity index 100% rename from classes/admin.php rename to classes/plugin/Admin.php diff --git a/classes/adminbasecontroller.php b/classes/plugin/AdminBaseController.php similarity index 100% rename from classes/adminbasecontroller.php rename to classes/plugin/AdminBaseController.php diff --git a/classes/admincontroller.php b/classes/plugin/AdminController.php similarity index 100% rename from classes/admincontroller.php rename to classes/plugin/AdminController.php diff --git a/classes/gpm.php b/classes/plugin/Gpm.php similarity index 100% rename from classes/gpm.php rename to classes/plugin/Gpm.php diff --git a/classes/popularity.php b/classes/plugin/Popularity.php similarity index 100% rename from classes/popularity.php rename to classes/plugin/Popularity.php diff --git a/classes/themes.php b/classes/plugin/Themes.php similarity index 100% rename from classes/themes.php rename to classes/plugin/Themes.php diff --git a/classes/Twig/AdminTwigExtension.php b/classes/plugin/Twig/AdminTwigExtension.php similarity index 100% rename from classes/Twig/AdminTwigExtension.php rename to classes/plugin/Twig/AdminTwigExtension.php diff --git a/classes/utils.php b/classes/plugin/Utils.php similarity index 95% rename from classes/utils.php rename to classes/plugin/Utils.php index 067764b9..75645bf9 100644 --- a/classes/utils.php +++ b/classes/plugin/Utils.php @@ -1,54 +1,54 @@ -find($email, ['email']); - } - - /** - * Generates a slug of the given string - * - * @param string $str - * @return string - */ - public static function slug(string $str) - { - if (function_exists('transliterator_transliterate')) { - $str = transliterator_transliterate('Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove;', $str); - } else { - $str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str); - } - - $str = strtolower($str); - $str = preg_replace('/[-\s]+/', '-', $str); - $str = preg_replace('/[^a-z0-9-]/i', '', $str); - $str = trim($str, '-'); - - return $str; - } -} +find($email, ['email']); + } + + /** + * Generates a slug of the given string + * + * @param string $str + * @return string + */ + public static function slug(string $str) + { + if (function_exists('transliterator_transliterate')) { + $str = transliterator_transliterate('Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove;', $str); + } else { + $str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str); + } + + $str = strtolower($str); + $str = preg_replace('/[-\s]+/', '-', $str); + $str = preg_replace('/[^a-z0-9-]/i', '', $str); + $str = trim($str, '-'); + + return $str; + } +} diff --git a/composer.json b/composer.json index 86ebc21f..5217f4da 100644 --- a/composer.json +++ b/composer.json @@ -34,8 +34,10 @@ "symfony/event-dispatcher": "~4.1" }, "autoload": { + "psr-4": { + "Grav\\Plugin\\Admin\\": "classes/plugin" + }, "classmap": [ - "classes/", "admin.php" ] }, diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 7c79f9dc..11ac7076 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -7,12 +7,4 @@ $baseDir = dirname($vendorDir); return array( 'Grav\\Plugin\\AdminPlugin' => $baseDir . '/admin.php', - 'Grav\\Plugin\\Admin\\Admin' => $baseDir . '/classes/admin.php', - 'Grav\\Plugin\\Admin\\AdminBaseController' => $baseDir . '/classes/adminbasecontroller.php', - 'Grav\\Plugin\\Admin\\AdminController' => $baseDir . '/classes/admincontroller.php', - 'Grav\\Plugin\\Admin\\Gpm' => $baseDir . '/classes/gpm.php', - 'Grav\\Plugin\\Admin\\Popularity' => $baseDir . '/classes/popularity.php', - 'Grav\\Plugin\\Admin\\Themes' => $baseDir . '/classes/themes.php', - 'Grav\\Plugin\\Admin\\Twig\\AdminTwigExtension' => $baseDir . '/classes/Twig/AdminTwigExtension.php', - 'Grav\\Plugin\\Admin\\Utils' => $baseDir . '/classes/utils.php', ); diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index 5b6cc63b..26414205 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -7,5 +7,6 @@ $baseDir = dirname($vendorDir); return array( 'ZendXml\\' => array($vendorDir . '/zendframework/zendxml/src'), + 'Grav\\Plugin\\Admin\\' => array($baseDir . '/classes/plugin'), 'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'), ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index ff8dd752..b3d7781a 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -11,6 +11,10 @@ class ComposerStaticInitda370287ab6d5b8a28188afe08f659c5 array ( 'ZendXml\\' => 8, ), + 'G' => + array ( + 'Grav\\Plugin\\Admin\\' => 18, + ), 'C' => array ( 'Composer\\Semver\\' => 16, @@ -22,6 +26,10 @@ class ComposerStaticInitda370287ab6d5b8a28188afe08f659c5 array ( 0 => __DIR__ . '/..' . '/zendframework/zendxml/src', ), + 'Grav\\Plugin\\Admin\\' => + array ( + 0 => __DIR__ . '/../..' . '/classes/plugin', + ), 'Composer\\Semver\\' => array ( 0 => __DIR__ . '/..' . '/composer/semver/src', @@ -40,14 +48,6 @@ class ComposerStaticInitda370287ab6d5b8a28188afe08f659c5 public static $classMap = array ( 'Grav\\Plugin\\AdminPlugin' => __DIR__ . '/../..' . '/admin.php', - 'Grav\\Plugin\\Admin\\Admin' => __DIR__ . '/../..' . '/classes/admin.php', - 'Grav\\Plugin\\Admin\\AdminBaseController' => __DIR__ . '/../..' . '/classes/adminbasecontroller.php', - 'Grav\\Plugin\\Admin\\AdminController' => __DIR__ . '/../..' . '/classes/admincontroller.php', - 'Grav\\Plugin\\Admin\\Gpm' => __DIR__ . '/../..' . '/classes/gpm.php', - 'Grav\\Plugin\\Admin\\Popularity' => __DIR__ . '/../..' . '/classes/popularity.php', - 'Grav\\Plugin\\Admin\\Themes' => __DIR__ . '/../..' . '/classes/themes.php', - 'Grav\\Plugin\\Admin\\Twig\\AdminTwigExtension' => __DIR__ . '/../..' . '/classes/Twig/AdminTwigExtension.php', - 'Grav\\Plugin\\Admin\\Utils' => __DIR__ . '/../..' . '/classes/utils.php', ); public static function getInitializer(ClassLoader $loader)