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;
 }
Example #2
0
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;
}