/** * Создает новую модель участника. * Если создание прошло успешно - перенаправляет на просмотр. */ 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)); }
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; }
/** * @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; } }