public function actionComplaint($id) { /** @var $model UserComplaints */ $complaint = UserComplaints::model()->with('fromUser')->findByPk($id); /** @var $user User */ $user = User::model()->findByPk($complaint->on_id); $this->breadcrumbs = array(_('Користувачі') => $this->createUrl('users'), $user->getFirstName() . ' - скарги' => $this->createUrl('complaints', array('userId' => $user->id)), 'Перегляд скарги'); $this->render('complaint', array('complaint' => $complaint, 'user' => $user)); }
public static function createComplaint($fromId, $onId, $content) { $model = new UserComplaints(); if ($model->findByAttributes(array('from_id' => $fromId, 'on_id' => $onId))) { return; } $model->from_id = $fromId; $model->on_id = $onId; $model->content = $content; $model->created_at = time(); if ($model->save()) { $count = $model->countByAttributes(array('on_id' => $onId)); if ($count % Yii::app()->params['user']['complaintsLimitBeforeBan'] == 0) { /** @var $user User */ $user = User::model()->findByPk($onId); $user->is_banned = TRUE; $user->save(); } } }
public function save() { UserComplaints::createComplaint(Yii::app()->user->id, $this->on_id, $this->content); }