Esempio n. 1
0
 public function updateNotice()
 {
     $moduleName = \common\populac\components\Module::getModuleName(get_class($this->owner));
     if ($module = Module::findOne(['name' => $moduleName])) {
         $module->notice = call_user_func($this->callback);
         $module->update();
     }
 }
Esempio n. 2
0
 /**
  * Module name getter
  *
  * @param $namespace
  * @return string|bool
  */
 public static function getModuleName($namespace)
 {
     foreach (ModuleModel::findAllActive() as $module) {
         //'/[\w]+$/':结尾的单词
         //获取 模块类 目录,eg: $module->class = 'yii\easyii\modules\article\ArticleModule'
         // 则 $moduleClassPath = 'yii\easyii\modules\article\';
         $moduleClassPath = preg_replace('/[\\w]+$/', '', $module->class);
         if (strpos($namespace, $moduleClassPath) !== false) {
             return $module->name;
         }
     }
     return false;
 }
Esempio n. 3
0
 /**
  * @inheritdoc
  */
 public function init()
 {
     parent::init();
     // custom initialization code goes here
     parent::init();
     if (Yii::$app->cache === null) {
         throw new ServerErrorHttpException('请在配置文件中配置cache组件!');
     }
     $this->activeModules = Module::findAllActive();
     $modules = [];
     foreach ($this->activeModules as $name => $module) {
         $modules[$name]['class'] = $module->class;
         if (is_array($module->settings)) {
             $modules[$name]['settings'] = $module->settings;
         }
     }
     $this->setModules($modules);
     //define('IS_ROOT',  !Yii::$app->user->isGuest && Yii::$app->user->identity->isAdmin);
     //define('LIVE_EDIT', !Yii::$app->user->isGuest && Yii::$app->session->get('easyii_live_edit'));
     //后台登录的都算为ROOT
     define('IS_ROOT', !Yii::$app->user->isGuest && Yii::$app->homeUrl != '/');
     define('LIVE_EDIT', !Yii::$app->user->isGuest && Yii::$app->session->get('easyii_live_edit'));
 }
Esempio n. 4
0
 public function rules()
 {
     return [[['title', 'name'], 'required'], ['name', 'match', 'pattern' => '/^[a-z]+$/'], ['name', 'unique', 'targetClass' => Module::className()]];
 }
Esempio n. 5
0
 public function actionDelete($id)
 {
     if ($model = Module::findOne($id)) {
         $model->delete();
     } else {
         $this->error = 'Not found';
     }
     return $this->formatResponse('模块已删除!');
 }
Esempio n. 6
0
 public function actionViewall()
 {
     Guestbook::updateAll(['new' => 0]);
     $module = \common\populac\models\Module::findOne(['name' => 'guestbook']);
     $module->notice = 0;
     $module->save();
     $this->flash('success', Yii::t('easyii/guestbook', 'Guestbook updated'));
     return $this->back();
 }