public function beforeDelete() { if (parent::beforeDelete()) { //delete: Messages(to/from), Ban History, UpVotes, LogTopic YBoardMessage::deleteAll(['or', 'sendfrom' => $this->id, 'sendto' => $this->id]); // Post(Polls and Votes) YBoardVote::deleteAll(['user_id' => $this->id]); YBoardUpvoted::deleteAll(['member_id' => $this->id]); YBoardPoll::deleteAll(['user_id' => $this->id]); YBoardPost::deleteAll(['user_id' => $this->id]); //log topic YBoardLogTopic::deleteAll(['member_id' => $this->id]); //ban YBoardBan::deleteAll(['user_id' => $this->id]); return true; } else { return false; } }
/** * @return \yii\db\ActiveQuery */ public function getPoll() { return $this->hasOne(YBoardPoll::className(), ['id' => 'poll_id']); }
public function beforeDelete() { if (parent::beforeDelete()) { //delete all upvotes and polls YBoardUpvoted::deleteAll(['post_id' => $this->id]); YBoardPoll::deleteAll(['post_id' => $this->id]); return true; } else { return false; } }
/** * Determine the icon for a topic */ public function topicIcon($topic) { $img = 'topic'; if ($this->topicIsRead($topic->id)) { $img .= '2'; } else { $img .= '1'; } if ($topic->global) { $img .= 'g'; } if ($topic->sticky) { $img .= 's'; } if (YBoardPoll::find()->where(['post_id' => $topic->first_post_id])->one()) { $img .= 'p'; } if ($topic->locked) { $img .= 'l'; } return $img; }