예제 #1
0
파일: Message.php 프로젝트: quynhvv/stepup
 public static function countMessageByCategory($category)
 {
     return MessageUser::find()->where(['user_id' => Yii::$app->user->id, 'is_read' => 0, 'category_id' => (int) $category])->count();
 }
예제 #2
0
 public function actionBulkDelete()
 {
     /** @var $model \app\modules\message\models\Message */
     Yii::$app->response->format = Response::FORMAT_JSON;
     if (!isset($_POST['keys'])) {
         return ['status' => 0];
     }
     $keys = Yii::$app->request->getBodyParam('keys');
     if (!is_array($keys) || empty($keys)) {
         return ['status' => 0];
     }
     $messageIds = [];
     if (($modelMessageUser = MessageUser::find()->where(['_id' => $keys])->all()) != null) {
         foreach ($modelMessageUser as $dataMessageUser) {
             $messageIds[] = $dataMessageUser->message_id;
         }
     }
     if (empty($messageIds)) {
         return ['status' => 0];
     }
     $userId = Yii::$app->user->id;
     if (($modelMessage = Message::find()->where(['_id' => $messageIds])->all()) == null) {
         return ['status' => 0];
     }
     foreach ($modelMessage as $model) {
         // Neu day chi la nguoi nhan
         if ($model->created_by != $userId) {
             MessageUser::updateAll(['is_delete' => 1], ['message_id' => $model->primaryKey, 'user_id' => $userId]);
             continue;
         }
         // Neu day la nguoi tao message
         // Xoa du lieu lien quan
         Message::deleteAll(['message_id' => $model->primaryKey]);
         MessageUser::deleteAll(['message_id' => $model->primaryKey]);
         // Xoa message chinh
         $model->delete();
     }
     return ['status' => 1];
 }