예제 #1
0
 public function run()
 {
     $bars = [];
     if (BackendAccessControl::checkPermissionAccess(UserController::BACKEND_PERMISSION)) {
         $usersCount = User::find()->where(['status' => User::STATUS_ACTIVE])->count();
         $bars[] = ['bgClass' => 'bg-blue', 'label' => Yii::t('b/radiata/common', 'Total users'), 'data' => $usersCount, 'icon' => 'fa-user', 'url' => Url::to(['user/index'])];
     }
     if (BackendAccessControl::checkPermissionAccess(NewsController::BACKEND_PERMISSION)) {
         $newsCount = News::find()->count();
         $bars[] = ['bgClass' => 'bg-olive', 'label' => Yii::t('b/news', 'Total news'), 'data' => $newsCount, 'icon' => 'fa-bars', 'url' => Url::to(['/news/news/index'])];
     }
     if (BackendAccessControl::checkPermissionAccess(VoteController::BACKEND_PERMISSION)) {
         $newsCount = Vote::find()->count();
         $bars[] = ['bgClass' => 'bg-aqua', 'label' => Yii::t('b/vote', 'Total votes'), 'data' => $newsCount, 'icon' => 'fa-question-circle', 'url' => Url::to(['/vote/vote/index'])];
     }
     if (BackendAccessControl::checkPermissionAccess(BannerController::BACKEND_PERMISSION)) {
         $newsCount = Banner::find()->count();
         $bars[] = ['bgClass' => 'bg-maroon', 'label' => Yii::t('b/banner', 'Total banners'), 'data' => $newsCount, 'icon' => 'fa-flag', 'url' => Url::to(['/vote/vote/index'])];
     }
     if (BackendAccessControl::checkRoleAccess('developer')) {
         $migrator = new Migrator();
         $migrations = $migrator->findNewMigrations();
         if (count($migrations) > 0) {
             $bars[] = ['bgClass' => 'bg-gold', 'label' => Yii::t('b/radiata/common', 'New migrations'), 'data' => count($migrations), 'icon' => 'fa-database', 'url' => Url::to(['radiata/apply-migrations']), 'more' => Yii::t('b/radiata/common', 'Apply migrations')];
         }
     }
     if (count($bars) > 0) {
         return $this->render('SiteStatsBars', ['bars' => $bars]);
     }
 }
예제 #2
0
 public function run()
 {
     if (BackendAccessControl::checkPermissionAccess(AdminLogController::BACKEND_PERMISSION)) {
         $logs = AdminLog::find()->joinWith('user')->orderBy(['id' => SORT_DESC])->limit($this->limit)->all();
         $logsFull = [];
         if ($logs) {
             $prevIcon = '';
             foreach ($logs as $log) {
                 $logFull['additional_icon'] = RadiataHelper::getActionAdditionalIconClass($log['action']);
                 $logFull['action'] = RadiataHelper::getActionName($log['action']);
                 if ($log['user_id'] > 0) {
                     $logFull['user'] = $log['user']->getFullName();
                 }
                 if ($prevIcon != $log['icon']) {
                     $logFull['icon'] = $log['icon'];
                     $prevIcon = $log['icon'];
                 } else {
                     $logFull['icon'] = '';
                 }
                 $logFull['data'] = $log['data'];
                 $logFull['created_at'] = $log['created_at'];
                 $logFull['user_id'] = $log['user_id'];
                 $logsFull[] = $logFull;
             }
         }
         if (count($logsFull) > 0) {
             return $this->render('AdminLog', ['logs' => $logsFull]);
         }
     }
 }
예제 #3
0
 public function run()
 {
     if (BackendAccessControl::checkPermissionAccess(UserController::BACKEND_PERMISSION)) {
         $users = User::find()->where(['status' => User::STATUS_ACTIVE])->orderBy('id')->limit($this->limit)->all();
         if (count($users) > 0) {
             return $this->render('LastUsers', ['users' => $users]);
         }
     }
 }
예제 #4
0
 public function run()
 {
     if (BackendAccessControl::checkPermissionAccess(UserController::BACKEND_PERMISSION)) {
         $news = News::find()->language()->orderBy(['date' => SORT_DESC])->limit($this->limit)->all();
         if (count($news) > 0) {
             return $this->render('LastNews', ['news' => $news]);
         }
     }
 }
예제 #5
0
 public function canAccess($child, $moduleId)
 {
     if (BackendAccessControl::checkFullAccess()) {
         return true;
     } elseif ($child['isModule'] && defined(get_class(Yii::$app->getModule($moduleId)) . '::BACKEND_PERMISSION') && Yii::$app->user->can(constant(get_class(Yii::$app->getModule($moduleId)) . '::BACKEND_PERMISSION'))) {
         return true;
     } elseif ($child['permission'] && Yii::$app->user->can($child['permission'])) {
         return true;
     } elseif (isset($child['children'])) {
         foreach ($child['children'] as $subChild) {
             if ($this->canAccess($subChild, $moduleId)) {
                 return true;
             }
         }
     }
     return false;
 }