本文整理汇总了PHP中XenForo_DataWriter::Tinhte_XenTag_getForumData方法的典型用法代码示例。如果您正苦于以下问题:PHP XenForo_DataWriter::Tinhte_XenTag_getForumData方法的具体用法?PHP XenForo_DataWriter::Tinhte_XenTag_getForumData怎么用?PHP XenForo_DataWriter::Tinhte_XenTag_getForumData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XenForo_DataWriter
的用法示例。
在下文中一共展示了XenForo_DataWriter::Tinhte_XenTag_getForumData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Tinhte_XenTag_execute
public function Tinhte_XenTag_execute(XenForo_DataWriter $dw)
{
if ($dw->isChanged('tags')) {
return;
}
/** @var Tinhte_XenTag_XenForo_DataWriter_Discussion_Thread $dw */
if (empty($this->_data['actions']['tinhte_xentag'])) {
return;
}
$data = $this->_data['actions']['tinhte_xentag'];
if (empty($data['remove']) && empty($data['add']) && empty($data['replace']) && empty($data['remove_all'])) {
return;
}
/** @var XenForo_Model_Tag $tagModel */
$tagModel = $dw->getModelFromCache('XenForo_Model_Tag');
$tagger = $tagModel->getTagger('thread');
$tagger->setContent($dw->get('thread_id'))->setPermissionsFromContext($dw->getMergedData(), $dw->Tinhte_XenTag_getForumData());
if (!empty($data['remove'])) {
$tagTexts = $tagModel->splitTags($data['remove']);
$tagger->removeTags($tagTexts, false);
}
if (!empty($data['add'])) {
$tagTexts = $tagModel->splitTags($data['add']);
$tagger->addTags($tagTexts);
}
if (!empty($data['replace'])) {
$tagTexts = $tagModel->splitTags($data['replace']);
$tagger->setTags($tagTexts, false);
} elseif (!empty($data['remove_all'])) {
$tagger->setTags(array(), false);
}
$tagger->save();
}