Use PSR-4 for plugin classes

This commit is contained in:
Matias Griese
2019-05-31 14:43:16 +03:00
parent 42d95e5fde
commit cc03729964
15 changed files with 75 additions and 79 deletions

View File

@@ -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 # v1.9.5
## mm/dd/2019 ## mm/dd/2019

View File

@@ -636,8 +636,6 @@ class AdminPlugin extends Plugin
*/ */
public function onTwigExtensions() public function onTwigExtensions()
{ {
require_once __DIR__ . '/classes/Twig/AdminTwigExtension.php';
$this->grav['twig']->twig->addExtension(new AdminTwigExtension); $this->grav['twig']->twig->addExtension(new AdminTwigExtension);
} }
@@ -833,10 +831,6 @@ class AdminPlugin extends Plugin
'onAdminData' => ['onAdminData', 0], 'onAdminData' => ['onAdminData', 0],
]); ]);
// Autoload classes
require_once __DIR__ . '/vendor/autoload.php';
// Check for required plugins // 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')) { 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'); throw new \RuntimeException('One of the required plugins is missing or not enabled');

View File

@@ -1,5 +1,5 @@
name: Admin Panel name: Admin Panel
version: 1.9.4 version: 1.10.0-dev
testing: false testing: false
description: Adds an advanced administration panel to manage your site description: Adds an advanced administration panel to manage your site
icon: empire icon: empire
@@ -14,7 +14,7 @@ docs: https://github.com/getgrav/grav-plugin-admin/blob/develop/README.md
license: MIT license: MIT
dependencies: dependencies:
- { name: grav, version: '>=1.6.7' } - { name: grav, version: '>=1.7' }
- { name: form, version: '>=3.0.0' } - { name: form, version: '>=3.0.0' }
- { name: login, version: '>=3.0.0' } - { name: login, version: '>=3.0.0' }
- { name: email, version: '>=3.0.0' } - { name: email, version: '>=3.0.0' }

View File

@@ -1,54 +1,54 @@
<?php <?php
namespace Grav\Plugin\Admin; namespace Grav\Plugin\Admin;
use Grav\Common\Grav; use Grav\Common\Grav;
use Grav\Common\User\Interfaces\UserCollectionInterface; use Grav\Common\User\Interfaces\UserCollectionInterface;
use Grav\Common\User\Interfaces\UserInterface; use Grav\Common\User\Interfaces\UserInterface;
/** /**
* Admin utils class * Admin utils class
* *
* @license MIT * @license MIT
*/ */
class Utils class Utils
{ {
/** /**
* Matches an email to a user * Matches an email to a user
* *
* @param string $email * @param string $email
* *
* @return UserInterface * @return UserInterface
*/ */
public static function findUserByEmail(string $email) public static function findUserByEmail(string $email)
{ {
$grav = Grav::instance(); $grav = Grav::instance();
/** @var UserCollectionInterface $users */ /** @var UserCollectionInterface $users */
$users = $grav['accounts']; $users = $grav['accounts'];
return $users->find($email, ['email']); return $users->find($email, ['email']);
} }
/** /**
* Generates a slug of the given string * Generates a slug of the given string
* *
* @param string $str * @param string $str
* @return string * @return string
*/ */
public static function slug(string $str) public static function slug(string $str)
{ {
if (function_exists('transliterator_transliterate')) { if (function_exists('transliterator_transliterate')) {
$str = transliterator_transliterate('Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove;', $str); $str = transliterator_transliterate('Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove;', $str);
} else { } else {
$str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str); $str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str);
} }
$str = strtolower($str); $str = strtolower($str);
$str = preg_replace('/[-\s]+/', '-', $str); $str = preg_replace('/[-\s]+/', '-', $str);
$str = preg_replace('/[^a-z0-9-]/i', '', $str); $str = preg_replace('/[^a-z0-9-]/i', '', $str);
$str = trim($str, '-'); $str = trim($str, '-');
return $str; return $str;
} }
} }

View File

@@ -34,8 +34,10 @@
"symfony/event-dispatcher": "~4.1" "symfony/event-dispatcher": "~4.1"
}, },
"autoload": { "autoload": {
"psr-4": {
"Grav\\Plugin\\Admin\\": "classes/plugin"
},
"classmap": [ "classmap": [
"classes/",
"admin.php" "admin.php"
] ]
}, },

View File

@@ -7,12 +7,4 @@ $baseDir = dirname($vendorDir);
return array( return array(
'Grav\\Plugin\\AdminPlugin' => $baseDir . '/admin.php', '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',
); );

View File

@@ -7,5 +7,6 @@ $baseDir = dirname($vendorDir);
return array( return array(
'ZendXml\\' => array($vendorDir . '/zendframework/zendxml/src'), 'ZendXml\\' => array($vendorDir . '/zendframework/zendxml/src'),
'Grav\\Plugin\\Admin\\' => array($baseDir . '/classes/plugin'),
'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'), 'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'),
); );

View File

@@ -11,6 +11,10 @@ class ComposerStaticInitda370287ab6d5b8a28188afe08f659c5
array ( array (
'ZendXml\\' => 8, 'ZendXml\\' => 8,
), ),
'G' =>
array (
'Grav\\Plugin\\Admin\\' => 18,
),
'C' => 'C' =>
array ( array (
'Composer\\Semver\\' => 16, 'Composer\\Semver\\' => 16,
@@ -22,6 +26,10 @@ class ComposerStaticInitda370287ab6d5b8a28188afe08f659c5
array ( array (
0 => __DIR__ . '/..' . '/zendframework/zendxml/src', 0 => __DIR__ . '/..' . '/zendframework/zendxml/src',
), ),
'Grav\\Plugin\\Admin\\' =>
array (
0 => __DIR__ . '/../..' . '/classes/plugin',
),
'Composer\\Semver\\' => 'Composer\\Semver\\' =>
array ( array (
0 => __DIR__ . '/..' . '/composer/semver/src', 0 => __DIR__ . '/..' . '/composer/semver/src',
@@ -40,14 +48,6 @@ class ComposerStaticInitda370287ab6d5b8a28188afe08f659c5
public static $classMap = array ( public static $classMap = array (
'Grav\\Plugin\\AdminPlugin' => __DIR__ . '/../..' . '/admin.php', '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) public static function getInitializer(ClassLoader $loader)