Пример #1
0
 public function updateTreeId($sourceNodeId, $destinationNodeId)
 {
     $searchcriteria = array('tree_id' => $sourceNodeId);
     $sqlParser = clone $this->sqlParser;
     $sqlParser->parseCriteria($searchcriteria, false);
     $this->parseCriteria($sqlParser, $searchcriteria);
     $sqlParser->setFieldValue('tree_id', $destinationNodeId);
     $query = $sqlParser->getSql(SqlParser::MOD_UPDATE_FIELDS);
     $db = $this->getDb();
     $res = $db->query($query);
     if ($db->isError($res)) {
         throw new Exception($res->getDebugInfo());
     }
     // update treeref
     $treeRef = new NewsLetterTreeRef();
     $treeRef->updateRefTreeId($sourceNodeId, $destinationNodeId);
     // update settings
     $settings = $this->plugin->getObject(NewsLetter::TYPE_SETTINGS);
     $settings->updateTreeId($tag, $tree_id, $newTag);
     // update settings
     $obj = $this->plugin->getNewsLetterUser();
     $obj->updateTreeId($tag, $tree_id, $newTag);
     // update settings
     $obj = $this->plugin->getNewsLetterGroup();
     $obj->updateTreeId($tag, $tree_id, $newTag);
 }