예제 #1
0
 /**
  * Move/rename page
  * @param $oldtitle
  * @param $newtitle
  * @param $pageid
  * @param $redirid
  */
 public function changeTitle(Title $oldTitle, Title $newTitle, $pageId, $redirectId = 0)
 {
     // Save it in parent store now!
     // We need that so we get all information correctly!
     $result = parent::changeTitle($oldTitle, $newTitle, $pageId, $redirectId);
     // Delete old stuff
     $oldUri = SMWExporter::getInstance()->expandURI($this->getURI($oldTitle));
     $this->removeDataForURI($oldUri);
     $newpage = SMWDataValueFactory::newTypeIDValue('_wpg');
     $newpage->setValues($newTitle->getDBkey(), $newTitle->getNamespace(), $pageId);
     $semdata = $this->getSemanticData($newpage);
     $this->updateData($semdata);
     $oldpage = SMWDataValueFactory::newTypeIDValue('_wpg');
     $oldpage->setValues($oldTitle->getDBkey(), $oldTitle->getNamespace(), $redirectId);
     $semdata = $this->getSemanticData($oldpage);
     $this->updateData($semdata, false);
     return $result;
 }