eZContentOperationCollection::updateNontranslatableAttributes PHP Method

updateNontranslatableAttributes() public static method

*! Updates non-translatable attributes.
public static updateNontranslatableAttributes ( $objectID, $versionNum )
    public static function updateNontranslatableAttributes($objectID, $versionNum)
    {
        $object = eZContentObject::fetch($objectID);
        $version = $object->version($versionNum);
        $nonTranslatableAttributes = $version->nonTranslatableAttributesToUpdate();
        if ($nonTranslatableAttributes) {
            $attributes = $version->contentObjectAttributes($version->initialLanguageCode());
            $attributeByClassAttrID = array();
            foreach ($attributes as $attribute) {
                $attributeByClassAttrID[$attribute->attribute('contentclassattribute_id')] = $attribute;
            }
            foreach ($nonTranslatableAttributes as $attributeToUpdate) {
                $originalAttribute =& $attributeByClassAttrID[$attributeToUpdate->attribute('contentclassattribute_id')];
                if ($originalAttribute) {
                    unset($tmp);
                    $tmp = $attributeToUpdate;
                    $tmp->initialize($attributeToUpdate->attribute('version'), $originalAttribute);
                    $tmp->setAttribute('id', $attributeToUpdate->attribute('id'));
                    $tmp->setAttribute('language_code', $attributeToUpdate->attribute('language_code'));
                    $tmp->setAttribute('language_id', $attributeToUpdate->attribute('language_id'));
                    $tmp->setAttribute('attribute_original_id', $originalAttribute->attribute('id'));
                    $tmp->store();
                    $tmp->postInitialize($attributeToUpdate->attribute('version'), $originalAttribute);
                }
            }
        }
    }