public function testRemoveByAction()
 {
     $nodeID = mt_rand();
     $action = "eznode:{$nodeID}";
     $url = eZURLAliasML::create(__FUNCTION__, $action, 1, 2);
     $url->store();
     $db = eZDB::instance();
     $query = "SELECT * from ezurlalias_ml where action = '{$action}'";
     // Make sure we have one and only one url
     $result = $db->arrayQuery($query);
     if (count($result) !== 1) {
         self::fail("There was already an url with same action ({$action}) as our test in the database.");
     }
     // Remove the url and verify that it's gone
     eZURLAliasML::removeByAction("eznode", $nodeID);
     $result = $db->arrayQuery($query);
     self::assertEquals(count($result), 0);
 }
 function removeThis()
 {
     $ini = eZINI::instance();
     $object = $this->object();
     $nodeID = $this->attribute('node_id');
     $objectID = $object->attribute('id');
     if (eZAudit::isAuditEnabled()) {
         // Set audit params.
         $objectName = $object->attribute('name');
         eZAudit::writeAudit('content-delete', array('Node ID' => $nodeID, 'Object ID' => $objectID, 'Content Name' => $objectName, 'Comment' => 'Removed the current node: eZContentObjectTreeNode::removeNode()'));
     }
     $db = eZDB::instance();
     $db->begin();
     $nodePath = $this->attribute('path_string');
     $childrensPath = $nodePath;
     $pathString = " path_string like '{$childrensPath}%' ";
     $urlAlias = $this->attribute('url_alias');
     // Remove static cache
     if ($ini->variable('ContentSettings', 'StaticCache') == 'enabled') {
         $optionArray = array('iniFile' => 'site.ini', 'iniSection' => 'ContentSettings', 'iniVariable' => 'StaticCacheHandler');
         $options = new ezpExtensionOptions($optionArray);
         $staticCacheHandler = eZExtension::getHandlerClass($options);
         $staticCacheHandler->removeURL("/" . $urlAlias);
         $staticCacheHandler->generateAlwaysUpdatedCache();
         $parent = $this->fetchParent();
     }
     $db->query("DELETE FROM ezcontentobject_tree\n                            WHERE {$pathString} OR\n                            path_string = '{$nodePath}'");
     // Re-cache parent node
     if ($ini->variable('ContentSettings', 'StaticCache') == 'enabled') {
         if ($parent) {
             $staticCacheHandler->cacheURL("/" . $parent->urlAlias());
         }
     }
     // Clean up URL alias entries
     eZURLAliasML::removeByAction('eznode', $nodeID);
     // Clean up content cache
     eZContentCacheManager::clearContentCacheIfNeeded($this->attribute('contentobject_id'));
     // clean up user cache
     if (in_array($object->attribute('contentclass_id'), eZUser::contentClassIDs())) {
         eZUser::removeSessionData($objectID);
         eZUser::purgeUserCacheByUserId($objectID);
     }
     $parentNode = $this->attribute('parent');
     if (is_object($parentNode)) {
         eZContentCacheManager::clearContentCacheIfNeeded($parentNode->attribute('contentobject_id'));
         $parentNode->updateAndStoreModified();
         eZNodeAssignment::purgeByParentAndContentObjectID($parentNode->attribute('node_id'), $objectID);
     }
     // Clean up policies and limitations
     eZRole::cleanupByNode($this);
     // Clean up recent items
     eZContentBrowseRecent::removeRecentByNodeID($nodeID);
     // Clean up bookmarks
     eZContentBrowseBookmark::removeByNodeID($nodeID);
     // Clean up tip-a-friend counter
     eZTipafriendCounter::removeForNode($nodeID);
     // Clean up view counter
     eZViewCounter::removeCounter($nodeID);
     $db->commit();
 }
Beispiel #3
0
 /**
  * Test that url lookup falls back to system url when url path lookup fails.
  */
 public function testPathWithNamesFallback()
 {
     $fallbackFolder = new ezpObject("folder", 2);
     $fallbackFolder->name = __FUNCTION__;
     $fallbackFolder->publish();
     // We simulate a failing url lookup by removing the entry from the table.
     eZURLAliasML::removeByAction("eznode", $fallbackFolder->mainNode->node_id);
     $expectedPath = 'content/view/full/' . $fallbackFolder->mainNode->node_id;
     self::assertEquals($expectedPath, $fallbackFolder->mainNode->node->pathWithNames(), "The expected fallback system-url was not generated");
 }