eZContentOperationCollection::updateAlwaysAvailable PHP Method

updateAlwaysAvailable() public static method

Set the always available flag for a content object
public static updateAlwaysAvailable ( integer $objectID, integer $newAlwaysAvailable ) : array
$objectID integer
$newAlwaysAvailable integer
return array An array with operation status, always true
    public static function updateAlwaysAvailable($objectID, $newAlwaysAvailable)
    {
        $object = eZContentObject::fetch($objectID);
        $change = false;
        if ($object->isAlwaysAvailable() & $newAlwaysAvailable == false) {
            $object->setAlwaysAvailableLanguageID(false);
            $change = true;
        } else {
            if (!$object->isAlwaysAvailable() & $newAlwaysAvailable == true) {
                $object->setAlwaysAvailableLanguageID($object->attribute('initial_language_id'));
                $change = true;
            }
        }
        if ($change) {
            eZContentCacheManager::clearContentCacheIfNeeded($objectID);
            if (!eZSearch::getEngine() instanceof eZSearchEngine) {
                eZContentOperationCollection::registerSearchObject($objectID);
            }
        }
        return array('status' => true);
    }

Usage Example

 function runOperation(&$node)
 {
     if (eZOperationHandler::operationIsAvailable('content_updatealwaysavailable')) {
         $operationResult = eZOperationHandler::execute('content', 'updatealwaysavailable', array('object_id' => $node->attribute('contentobject_id'), 'new_always_available' => $this->available, 'node_id' => $node->attribute('node_id')));
     } else {
         eZContentOperationCollection::updateAlwaysAvailable($node->attribute('contentobject_id'), $this->available);
     }
     return true;
 }
All Usage Examples Of eZContentOperationCollection::updateAlwaysAvailable