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(); }
/** * 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"); }