$cli->output($cli->stylize('bold', 'Updating object attributes')); if (is_array($IDs) and count($IDs) > 0) { foreach ($IDs as $id) { $cli->output('Updating object attribute: id - ' . $id['id'] . ' & version - ' . $id['version']); $objectAttribute = eZContentObjectAttribute::fetch($id['id'], $id['version']); $textString = $objectAttribute->attribute('data_text'); $textArray = explode('***', $textString); $objectAttribute->setAttribute('data_type_string', 'sckenhancedselection'); $objectAttribute->DataTypeString = 'sckenhancedselection'; $objectAttribute->setAttribute('data_text', serialize($textArray)); $objectAttribute->store(); $objectAttribute->updateSortKey(); $object = $objectAttribute->attribute('object'); $class = $object->attribute('content_class'); // Reset the name $object->setName($class->contentObjectName($object)); // Update the nodes $nodes = $object->attribute('assigned_nodes'); foreach ($nodes as $node) { eZContentOperationCollection::publishNode($node->attribute('parent_node_id'), $object->attribute('id'), $object->attribute('current_version'), $object->attribute('main_node_id')); } eZSearch::removeObjectById($object->attribute('id')); eZSearch::addObject($object); unset($objectAttribute, $object, $class, $node); } } else { $cli->output('No object attributes to update!'); } $cli->output(); $cli->output('Done.'); $script->shutdown();