public static function setObjectStatusPublished($objectID, $versionNum)
 {
     $object = eZContentObject::fetch($objectID);
     $version = $object->version($versionNum);
     $db = eZDB::instance();
     $db->begin();
     $object->publishContentObjectRelations($versionNum);
     $object->setAttribute('status', eZContentObject::STATUS_PUBLISHED);
     $version->setAttribute('status', eZContentObjectVersion::STATUS_PUBLISHED);
     $object->setAttribute('current_version', $versionNum);
     $objectIsAlwaysAvailable = $object->isAlwaysAvailable();
     $object->setAttribute('language_mask', eZContentLanguage::maskByLocale($version->translationList(false, false), $objectIsAlwaysAvailable));
     if ($object->attribute('published') == 0) {
         $object->setAttribute('published', time());
     }
     $object->setAttribute('modified', time());
     $classID = $object->attribute('contentclass_id');
     $class = eZContentClass::fetch($classID);
     $objectName = $class->contentObjectName($object);
     $object->setName($objectName, $versionNum);
     $existingTranslations = $version->translations(false);
     foreach ($existingTranslations as $translation) {
         $translatedName = $class->contentObjectName($object, $versionNum, $translation);
         $object->setName($translatedName, $versionNum, $translation);
     }
     if ($objectIsAlwaysAvailable) {
         $initialLanguageID = $object->attribute('initial_language_id');
         $object->setAlwaysAvailableLanguageID($initialLanguageID);
     }
     $version->store();
     $object->store();
     eZContentObjectTreeNode::setVersionByObjectID($objectID, $versionNum);
     $nodes = $object->assignedNodes();
     foreach ($nodes as $node) {
         $node->setName($object->attribute('name'));
         $node->updateSubTreePath();
     }
     $db->commit();
     /* Check if current class is the user class, and if so, clean up the user-policy cache */
     if (in_array($classID, eZUser::contentClassIDs())) {
         eZUser::purgeUserCacheByUserId($object->attribute('id'));
     }
 }