Ejemplo n.º 1
0
 public function actionIndex($tab = null)
 {
     $allUsers = $pages = null;
     $itemsProvider = new CArrayDataProvider(array());
     $this->setActiveMenu('my_mailbox');
     $return = Messages::getAllContactUsers(Yii::app()->user->id);
     if ($return) {
         $allUsers = $return['allUsers'];
         $pages = $return['pages'];
         if (count($allUsers)) {
             $itemsProvider = new CArrayDataProvider($allUsers, array('pagination' => array('pageSize' => param('userPaginationPageSize', 20))));
         }
     }
     switch ($tab) {
         case "inbox":
             $messages = Messages::model()->findAll('id_userTo=:toUser AND is_deleted<>:isDeleted', [':toUser' => Yii::app()->user->id, ':isDeleted' => Messages::MESSAGE_ACTIVE]);
             break;
         case "outbox":
             $messages = Messages::model()->findAll('id_userFrom=:fromUser AND is_deleted<>:isDeleted', [':fromUser' => Yii::app()->user->id, ':isDeleted' => Messages::MESSAGE_ACTIVE]);
             break;
         case "admin":
             $sql = "select * from bt_messages WHERE is_deleted<>" . Messages::MESSAGE_ACTIVE . "\n                              AND EXISTS(select null FROM bt_users WHERE id=id_userFrom\n                                                                      AND role IN('admin','moderator'))";
             $messages = Messages::model()->findBySql($sql);
             break;
         default:
             $messages = Messages::model()->findAll('id_userTo=:toUser AND is_deleted<>:isDeleted', [':toUser' => Yii::app()->user->id, ':isDeleted' => Messages::MESSAGE_ACTIVE]);
             break;
     }
     $this->render('index', array('allUsers' => $allUsers, 'pages' => $pages, 'itemsProvider' => $itemsProvider, 'messages' => $messages));
 }
Ejemplo n.º 2
0
 public function actionAdmin()
 {
     $allUsers = $pages = null;
     $itemsProvider = new CArrayDataProvider(array());
     $return = Messages::getAllContactUsers(Yii::app()->user->id);
     if ($return) {
         $allUsers = $return['allUsers'];
         $pages = $return['pages'];
         if (count($allUsers)) {
             $itemsProvider = new CArrayDataProvider($allUsers, array('pagination' => array('pageSize' => param('adminPaginationPageSize', 20))));
         }
     }
     $this->render('admin', array('allUsers' => $allUsers, 'pages' => $pages, 'itemsProvider' => $itemsProvider));
 }