/**
  * Создает новую модель участника.
  * Если создание прошло успешно - перенаправляет на просмотр.
  */
 public function actionCreate()
 {
     $model = new UserToBlog();
     try {
         if (isset($_POST['UserToBlog'])) {
             $model->attributes = $_POST['UserToBlog'];
             if ($model->save()) {
                 Yii::app()->user->setFlash(yupe\widgets\YFlashMessages::SUCCESS_MESSAGE, Yii::t('BlogModule.blog', 'Member was added!'));
                 $this->redirect((array) Yii::app()->getRequest()->getPost('submit-type', array('create')));
             }
         }
     } catch (Exception $e) {
         Yii::app()->user->setFlash(yupe\widgets\YFlashMessages::WARNING_MESSAGE, Yii::t('BlogModule.blog', 'Cannot add user to the blog. Please make sure he is not a member already.'));
         $this->redirect(array('admin'));
     }
     $this->render('create', array('model' => $model));
 }
Example #2
0
 public function join($userId)
 {
     if ($this->userInBlog($userId)) {
         return true;
     }
     $model = new UserToBlog();
     $model->blog_id = $this->id;
     $model->user_id = (int) $userId;
     if ($model->save()) {
         Yii::app()->cache->delete("Blog::Blog::members::{$userId}");
         return true;
     }
     return false;
 }
Example #3
0
 /**
  * @param $userId
  * @return bool
  */
 public function join($userId)
 {
     if ($this->isPrivate()) {
         return false;
     }
     if ($this->userIn((int) $userId)) {
         return true;
     }
     //check user status in blog
     $member = $this->getUserMembership($userId);
     if (null === $member) {
         $member = new UserToBlog();
         $member->blog_id = $this->id;
         $member->user_id = (int) $userId;
         $member->status = (int) $this->member_status;
     } else {
         if ($member->isDeleted()) {
             $member->activate();
         } else {
             return false;
         }
     }
     if ($member->save()) {
         Yii::app()->eventManager->fire(BlogEvents::BLOG_JOIN, new BlogJoinLeaveEvent($this, $userId));
         Yii::app()->getCache()->delete("Blog::Blog::members::{$userId}");
         return true;
     }
     return false;
 }
 public function actionMembers()
 {
     $data = Yii::app()->ls->createCommand('SELECT * FROM prefix_blog_user')->queryAll();
     $transaction = Yii::app()->db->beginTransaction();
     try {
         UserToBlog::model()->deleteAll();
         foreach ($data as $member) {
             $model = new UserToBlog();
             $model->user_id = $member['user_id'];
             $model->blog_id = $member['blog_id'];
             $model->save();
         }
         $transaction->commit();
     } catch (Exception $e) {
         $transaction->rollback();
         CVarDumper::dump($e);
         die;
     }
 }