本文整理汇总了PHP中app\models\Tag::afterTopicEdit方法的典型用法代码示例。如果您正苦于以下问题:PHP Tag::afterTopicEdit方法的具体用法?PHP Tag::afterTopicEdit怎么用?PHP Tag::afterTopicEdit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\models\Tag
的用法示例。
在下文中一共展示了Tag::afterTopicEdit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionEdit
public function actionEdit($id)
{
$request = Yii::$app->getRequest();
$me = Yii::$app->getUser()->getIdentity();
$model = $this->findTopicModel($id, ['content', 'node']);
if (!$me->canEdit($model)) {
throw new ForbiddenHttpException('您没有权限修改或已超过可修改时间。');
}
if ($me->isAdmin()) {
$model->scenario = Topic::SCENARIO_ADMIN_EDIT;
} else {
$model->scenario = Topic::SCENARIO_AUTHOR_EDIT;
}
if (!($content = $model->content)) {
$content = new TopicContent(['topic_id' => $model->id]);
}
$oldTags = $model->tags;
if ($model->load($request->post()) && $model->validate() && $content->load($request->post()) && $content->validate()) {
// $model->tags = Tag::editTags($model->tags, $oldTags);
$model->tags = Tag::getTags($model->tags);
$model->save(false) && $content->save(false);
Tag::afterTopicEdit($model->id, $model->tags, $oldTags);
(new History(['user_id' => $me->id, 'action' => History::ACTION_EDIT_TOPIC, 'action_time' => $model->updated_at, 'target' => $model->id]))->save(false);
return $this->redirect(Topic::getRedirectUrl($id, 0, $request->get('ip', 1), $request->get('np', 1)));
}
return $this->render('edit', ['model' => $model, 'content' => $content]);
}