当前位置: 首页>>代码示例>>PHP>>正文


PHP XenForo_DataWriter::isChanged方法代码示例

本文整理汇总了PHP中XenForo_DataWriter::isChanged方法的典型用法代码示例。如果您正苦于以下问题:PHP XenForo_DataWriter::isChanged方法的具体用法?PHP XenForo_DataWriter::isChanged怎么用?PHP XenForo_DataWriter::isChanged使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XenForo_DataWriter的用法示例。


在下文中一共展示了XenForo_DataWriter::isChanged方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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();
 }
开发者ID:maitandat1507,项目名称:Tinhte_XenTag,代码行数:33,代码来源:ThreadAction.php

示例2: postDataWriterSave

 public static function postDataWriterSave(XenForo_DataWriter $writer, array $extraData = array())
 {
     $self = new self();
     $oldPath = false;
     $oldData = array_merge($writer->getMergedExistingData(), array('id' => $writer->get('phrase_id')));
     if ($writer->isUpdate()) {
         $oldPath = $self->getDirectory($writer->getMergedExistingData()) . self::$s . $self->getFileName($oldData);
     }
     $newPath = false;
     $newData = array_merge($writer->getMergedData(), array('id' => $writer->get('phrase_id')));
     if ($writer->isChanged('addon_id') or $writer->isChanged('title')) {
         $newPath = $self->getDirectory($newData) . self::$s . $self->getFileName($newData);
     }
     if (!$oldPath) {
         $oldPath = $newPath;
     }
     if (!DevTools_Helper_File::write($oldPath, $writer->get('phrase_text'), array('id' => $writer->get('phrase_id')))) {
         throw new XenForo_Exception("Failed to write phrase file to {$oldPath}");
         return;
     }
     if ($newPath && $oldPath) {
         rename($oldPath, $newPath);
     }
     $self->touchDb();
 }
开发者ID:robclancy,项目名称:XenForo-Developer-Tools,代码行数:25,代码来源:Phrase.php

示例3: postDataWriterSave

 public static function postDataWriterSave(XenForo_DataWriter $writer, array $extraData = array())
 {
     if (!isset($extraData['styleId']) || !isset($extraData['self'])) {
         return;
     }
     $styleId = $extraData['styleId'];
     $self = $extraData['self'];
     $oldPath = false;
     $oldData = array_merge($writer->getMergedExistingData(), array('id' => $writer->get('template_id')));
     if ($writer->isUpdate()) {
         $oldPath = $self->getDirectory($writer->getMergedExistingData()) . self::$s . $self->getFileName($oldData);
     }
     $newPath = false;
     $newData = array_merge($writer->getMergedData(), array('id' => $writer->get('template_id')));
     if ($writer->isChanged('addon_id') or $writer->isChanged('title')) {
         $newPath = $self->getDirectory($writer->getMergedData()) . self::$s . $self->getFileName($newData);
     }
     if (!$oldPath) {
         $oldPath = $newPath;
     }
     $contents = XenForo_Model::create('XenForo_Model_StyleProperty')->replacePropertiesInTemplateForEditor($writer->get('template'), $styleId, $self->getPropertiesInStyle($styleId));
     $contents = XenForo_Model::create('XenForo_Model_Template')->replaceIncludesWithLinkRel($contents);
     if (!DevTools_Helper_File::write($oldPath, $contents, array('id' => $writer->get('template_id'), 'dbName' => XenForo_Application::getConfig()->db->dbname))) {
         throw new XenForo_Exception("Failed to write template file to {$oldPath}");
         return;
     }
     if ($newPath and $oldPath) {
         rename($oldPath, $newPath);
     }
     $self->touchDb();
 }
开发者ID:robclancy,项目名称:XenForo-Developer-Tools,代码行数:31,代码来源:Template.php


注:本文中的XenForo_DataWriter::isChanged方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。