function runOperation(&$node) { $contentobject = $node->object(); $current_parent_ids = $contentobject->attribute('parent_nodes'); $db = eZDB::instance(); $db->begin(); foreach ($this->locations as $parent_id) { if (in_array($parent_id, $current_parent_ids)) { continue; } addNodeAssignment($contentobject, $parent_id); } $db->commit(); return true; }
function &createObject($object_class_name, $parent_node_id, $import_field_list, $sectionID = 1, $priority = 0, $add_node_list = false) { $class = eZContentClass::fetchByIdentifier($object_class_name); $user =& eZUser::currentUser(); $contentObject =& $class->instantiate($user->attribute('contentobject_id'), $sectionID); unset($user); $contentObject->remoteID(); $contentObjectID = $contentObject->attribute('id'); $nodeAssignment = eZNodeAssignment::create(array('contentobject_id' => $contentObjectID, 'contentobject_version' => 1, 'parent_node' => $parent_node_id, 'is_main' => 1)); $nodeAssignment->setAttribute('parent_remote_id', "VHB_" . $parent_node_id); $nodeAssignment->store(); if ($priority) { $node = $nodeAssignment->attribute('node'); $node->setAttribute('priority', $priority); $node->store(); } $version =& $contentObject->version(1); $version->setAttribute('modified', time()); $version->setAttribute('status', EZ_VERSION_STATUS_DRAFT); $version->store(); $contentObjectID = $contentObject->attribute('id'); $contentObjectAttributes =& $version->contentObjectAttributes(); foreach ($contentObjectAttributes as $attribute) { if (isset($import_field_list[$attribute->attribute("contentclass_attribute_identifier")])) { $data = $import_field_list[$attribute->attribute("contentclass_attribute_identifier")]; importAttribute($data, $attribute); } } if (is_array($add_node_list)) { foreach ($add_node_list as $parent_node_id) { addNodeAssignment($contentObject, $parent_node_id); } } $operationResult = eZOperationHandler::execute('content', 'publish', array('object_id' => $contentObjectID, 'version' => 1)); eZContentCacheManager::clearObjectViewCache($contentObjectID, 1); return $contentObject; }