From 58b5a38b643558cdaa4d8a0c2545f2ec5291382b Mon Sep 17 00:00:00 2001 From: nizsheanez Date: Wed, 22 Aug 2012 21:57:00 +0400 Subject: [PATCH] kill static methods in modules --- protected/components/AppManager.php | 34 +++++++------------ protected/components/UrlManager.php | 8 ++--- protected/components/WebModule.php | 2 +- .../interfaces/WebModuleInterface.php | 6 ++-- protected/modules/banners/BannersModule.php | 8 ++--- protected/modules/codegen/CodegenModule.php | 8 ++--- protected/modules/comments/CommentsModule.php | 10 +++--- protected/modules/content/ContentModule.php | 10 +++--- protected/modules/docs/DocsModule.php | 10 +++--- .../modules/fileManager/FileManagerModule.php | 10 +++--- protected/modules/install/InstallModule.php | 8 ++--- protected/modules/mailer/MailerModule.php | 8 ++--- protected/modules/main/MainModule.php | 8 ++--- protected/modules/rbac/RbacModule.php | 8 ++--- protected/modules/social/SocialModule.php | 10 +++--- protected/modules/users/UsersModule.php | 10 +++--- protected/modules/video/VideoModule.php | 10 +++--- 17 files changed, 79 insertions(+), 89 deletions(-) diff --git a/protected/components/AppManager.php b/protected/components/AppManager.php index a444cc0b..c27e45fc 100644 --- a/protected/components/AppManager.php +++ b/protected/components/AppManager.php @@ -33,18 +33,10 @@ public static function init() public static function getModulesData($active = null, $check_allowed_links = false) { $modules = array(); - foreach (Yii::app()->getModules() as $module_dir => $module_config) + foreach (Yii::app()->getModules() as $module_id => $module_config) { - $module_class = ucfirst($module_dir) . 'Module'; - $module_path = MODULES_PATH . $module_dir . '/' . $module_class . '.php'; - - if (!file_exists($module_path)) - { - continue; - } - - require_once $module_path; - + $module = Yii::app()->getModule($module_id); + $module_class = get_class($module); $vars = get_class_vars($module_class); if (!$vars) { @@ -64,17 +56,17 @@ public static function getModulesData($active = null, $check_allowed_links = fal } } - $module = array( - 'description' => call_user_func(array($module_class, 'description')), - 'version' => call_user_func(array($module_class, 'version')), - 'name' => call_user_func(array($module_class, 'name')), + $moduleInfo = array( + 'description' => $module->getDescription(), + 'version' => $module->getVersion(), + 'name' => $module->getName(), 'class' => $module_class, - 'dir' => $module_dir + 'dir' => $module_id ); - if (method_exists($module_class, 'adminMenu')) + if (method_exists($module, 'adminMenu')) { - $module['admin_menu'] = call_user_func(array($module_class, 'adminMenu')); + $moduleInfo['admin_menu'] = $module->adminMenu(); // $settins_count = Param::model()->count("module_id = '{$module_dir}'"); // if ($settins_count) @@ -84,7 +76,7 @@ public static function getModulesData($active = null, $check_allowed_links = fal if ($check_allowed_links) { - foreach ($module['admin_menu'] as $title => $url) + foreach ($moduleInfo['admin_menu'] as $title => $url) { $url = explode('/', trim($url, '/')); @@ -99,13 +91,13 @@ public static function getModulesData($active = null, $check_allowed_links = fal if (!RbacModule::isAllow($auth_item)) { - unset($module['admin_menu'][$title]); + unset($moduleInfo['admin_menu'][$title]); } } } } - $modules[$module_class] = $module; + $modules[$module_class] = $moduleInfo; } return $modules; diff --git a/protected/components/UrlManager.php b/protected/components/UrlManager.php index afac9445..d023deff 100644 --- a/protected/components/UrlManager.php +++ b/protected/components/UrlManager.php @@ -21,12 +21,12 @@ public function collectRules() if (Yii::app()->params['collect_routes_from_modules']) { - $modules = AppManager::getModulesData(true); - foreach ($modules as $class => $data) + foreach (Yii::app()->getModules() as $id => $config) { - if (method_exists($class, 'routes')) + $module = Yii::app()->getModule($id); + if (method_exists($module, 'routes')) { - $routes = array_merge($routes, call_user_func(array($class, 'routes'))); + $routes = array_merge($routes, $module->routes()); } } } diff --git a/protected/components/WebModule.php b/protected/components/WebModule.php index 718d6eb9..1e68f209 100644 --- a/protected/components/WebModule.php +++ b/protected/components/WebModule.php @@ -20,7 +20,7 @@ public function assetsUrl() } - public static function routes() + public function routes() { return array(); } diff --git a/protected/components/interfaces/WebModuleInterface.php b/protected/components/interfaces/WebModuleInterface.php index 75bd0989..93948332 100644 --- a/protected/components/interfaces/WebModuleInterface.php +++ b/protected/components/interfaces/WebModuleInterface.php @@ -1,9 +1,7 @@ '/banners/bannerAdmin/manage/is_big/1', diff --git a/protected/modules/codegen/CodegenModule.php b/protected/modules/codegen/CodegenModule.php index da6bcbd2..e9af7ab9 100644 --- a/protected/modules/codegen/CodegenModule.php +++ b/protected/modules/codegen/CodegenModule.php @@ -4,19 +4,19 @@ class CodegenModule extends WebModule public static $active = true; - public static function name() + public function getName() { return 'Генератор кода'; } - public static function description() + public function getDescription() { return 'Генератор кода'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -32,7 +32,7 @@ public function init() } - public static function adminMenu() + public function adminMenu() { return array( 'Создать модуль' => Yii::app()->createUrl('/codegen/moduleAdmin/create'), diff --git a/protected/modules/comments/CommentsModule.php b/protected/modules/comments/CommentsModule.php index 87614487..1d08692e 100644 --- a/protected/modules/comments/CommentsModule.php +++ b/protected/modules/comments/CommentsModule.php @@ -5,19 +5,19 @@ class CommentsModule extends WebModule public static $active = true; - public static function name() + public function getName() { return 'Комментарии'; } - public static function description() + public function getDescription() { return 'Комментарии'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -32,14 +32,14 @@ public function init() } - public static function adminMenu() + public function adminMenu() { return array( ); } - public static function routes() + public function routes() { return array( ); diff --git a/protected/modules/content/ContentModule.php b/protected/modules/content/ContentModule.php index 26c2086e..0c3b9f00 100644 --- a/protected/modules/content/ContentModule.php +++ b/protected/modules/content/ContentModule.php @@ -1,19 +1,19 @@ Yii::app()->createUrl('/content/pageAdmin/manage'), @@ -42,7 +42,7 @@ public static function adminMenu() } - public static function routes() + public function routes() { $routes = array( '/' => 'content/page/index', diff --git a/protected/modules/docs/DocsModule.php b/protected/modules/docs/DocsModule.php index 6fab8f7b..a6e86b7e 100644 --- a/protected/modules/docs/DocsModule.php +++ b/protected/modules/docs/DocsModule.php @@ -4,19 +4,19 @@ class DocsModule extends WebModule public static $active = true; - public static function name() + public function getName() { return 'Документациякода'; } - public static function description() + public function getDescription() { return 'Документация'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -30,7 +30,7 @@ public function init() )); } - public static function routes() + public function routes() { return array( '/docs/module//' => '/docs/docs/module', @@ -41,7 +41,7 @@ public static function routes() } - public static function adminMenu() + public function adminMenu() { return array( ); diff --git a/protected/modules/fileManager/FileManagerModule.php b/protected/modules/fileManager/FileManagerModule.php index 704d8aa2..bb46ca87 100644 --- a/protected/modules/fileManager/FileManagerModule.php +++ b/protected/modules/fileManager/FileManagerModule.php @@ -11,32 +11,32 @@ public function init() )); } - public static function name() + public function getName() { return 'Файловый менеджер'; } - public static function description() + public function getDescription() { return 'Добавляет возможность использования HTML5 загрузчика. Используется для создания своих модулей.'; } - public static function version() + public function getVersion() { return '2.1'; } - public static function adminMenu() + public function adminMenu() { return array( "Все файлы" => "/fileManager/fileManagerAdmin/manage", ); } - public static function routes() + public function routes() { return array( '/userAlbums/' => '/fileManager/fileAlbum/userAlbums', diff --git a/protected/modules/install/InstallModule.php b/protected/modules/install/InstallModule.php index c18feb9d..d799576a 100644 --- a/protected/modules/install/InstallModule.php +++ b/protected/modules/install/InstallModule.php @@ -4,19 +4,19 @@ class InstallModule extends WebModule { public static $base_module = true; - public static function description() + public function getDescription() { return 'Модуль установки'; } - public static function version() + public function getVversion() { return '0.0.1'; } - public static function name() + public function getName() { return 'Установочный'; } @@ -29,7 +29,7 @@ public function init() )); } - public static function routes() + public function routes() { return array( '/install' => 'install/install/index', diff --git a/protected/modules/mailer/MailerModule.php b/protected/modules/mailer/MailerModule.php index 03243cd1..30e8f8bd 100644 --- a/protected/modules/mailer/MailerModule.php +++ b/protected/modules/mailer/MailerModule.php @@ -14,19 +14,19 @@ class MailerModule extends WebModule public static $active = true; - public static function name() + public function getName() { return 'Рассылка'; } - public static function description() + public function getDescription() { return 'Email рассылка'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -53,7 +53,7 @@ public function beforeControllerAction($controller, $action) } - public static function adminMenu() + public function adminMenu() { return array( 'Исходящие письма' => Yii::app()->createUrl('/mailer/mailerOutboxAdmin/manage'), diff --git a/protected/modules/main/MainModule.php b/protected/modules/main/MainModule.php index 26a709d4..eccec09a 100644 --- a/protected/modules/main/MainModule.php +++ b/protected/modules/main/MainModule.php @@ -5,13 +5,13 @@ class MainModule extends WebModule public static $base_module = true; - public static function description() + public function getDescription() { return 'Главный модуль'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -33,7 +33,7 @@ public function init() } - public static function adminMenu() + public function adminMenu() { return array( //'Мета-теги' => '/main/MetaTagAdmin/manage', @@ -83,7 +83,7 @@ public static function saveSiteAction() } - public static function routes() + public function routes() { return array( 'off' => 'main/main/off', diff --git a/protected/modules/rbac/RbacModule.php b/protected/modules/rbac/RbacModule.php index 13372a92..6c8bb8a1 100644 --- a/protected/modules/rbac/RbacModule.php +++ b/protected/modules/rbac/RbacModule.php @@ -5,19 +5,19 @@ class RbacModule extends WebModule public static $active = true; - public static function name() + public function getName() { return 'Контроль доступа'; } - public static function description() + public function getDescription() { return 'Система контроля доступа на основе ролей'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -33,7 +33,7 @@ public function init() } - public static function adminMenu() + public function adminMenu() { return array( 'Роли' => '/rbac/RoleAdmin/manage', diff --git a/protected/modules/social/SocialModule.php b/protected/modules/social/SocialModule.php index dbad952f..bc75f243 100644 --- a/protected/modules/social/SocialModule.php +++ b/protected/modules/social/SocialModule.php @@ -5,19 +5,19 @@ class SocialModule extends WebModule public static $active = true; - public static function name() + public function getName() { return ''; } - public static function description() + public function getDescription() { return ''; } - public static function version() + public function getVersion() { return '0.0'; } @@ -31,14 +31,14 @@ public function init() } - public static function adminMenu() + public function adminMenu() { return array( ); } - public static function routes() + public function routes() { return array( ); diff --git a/protected/modules/users/UsersModule.php b/protected/modules/users/UsersModule.php index 8ed343ae..0e30c139 100644 --- a/protected/modules/users/UsersModule.php +++ b/protected/modules/users/UsersModule.php @@ -13,19 +13,19 @@ class UsersModule extends WebModule public static $base_module = true; - public static function name() + public function getName() { return 'Пользователи'; } - public static function description() + public function getDescription() { return 'Пользователи, права доступа'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -40,7 +40,7 @@ public function init() } - public static function adminMenu() + public function adminMenu() { return array( 'Все пользователи ' => '/users/userAdmin/manage', @@ -49,7 +49,7 @@ public static function adminMenu() } - public static function routes() + public function routes() { return array( '/admin/login/*' => 'users/userAdmin/login', diff --git a/protected/modules/video/VideoModule.php b/protected/modules/video/VideoModule.php index 8e8c094b..d6a3f134 100644 --- a/protected/modules/video/VideoModule.php +++ b/protected/modules/video/VideoModule.php @@ -5,19 +5,19 @@ class VideoModule extends WebModule public static $active = true; - public static function name() + public function getName() { return 'Видео'; } - public static function description() + public function getDescription() { return 'Видео хостинг агрегатор'; } - public static function version() + public function getVersion() { return '1.0'; } @@ -31,14 +31,14 @@ public function init() } - public static function adminMenu() + public function adminMenu() { return array( ); } - public static function routes() + public function routes() { return array( );