function removeDrafts($user)
 {
     $list = eZPersistentObject::fetchObjectList(eZContentObjectVersion::definition(), null, array('creator_id' => $user->id(), 'status' => array(EZ_VERSION_STATUS_DRAFT, EZ_VERSION_STATUS_INTERNAL_DRAFT)), null, null, true);
     foreach ($list as $item) {
         $item->remove();
     }
 }
 /**
  * @return array
  */
 static function groupedUserDrafts()
 {
     $return = array();
     $user = eZUser::currentUser();
     $fetchParameters = array('status' => array(array(eZContentObjectVersion::STATUS_DRAFT, eZContentObjectVersion::STATUS_INTERNAL_DRAFT)), 'creator_id' => $user->attribute('contentobject_id'));
     $versions = eZPersistentObject::fetchObjectList(eZContentObjectVersion::definition(), null, $fetchParameters);
     $return = array();
     foreach ($versions as $version) {
         $return[$version->attribute('contentobject_id')] = array('version' => $version, 'related' => array());
     }
     foreach ($return as $id => $entry) {
         $eZObj = $entry['version']->attribute('contentobject');
         switch ($eZObj->attribute('class_identifier')) {
             case 'image':
                 $revese_related_objects = $eZObj->reverseRelatedObjectList(false, 0, false, array('AllRelations' => true));
                 foreach ($revese_related_objects as $rr_eZObj) {
                     if (isset($return[$rr_eZObj->attribute('id')])) {
                         $return[$rr_eZObj->attribute('id')]['related'][] = $entry['version'];
                         unset($return[$eZObj->attribute('id')]);
                     }
                 }
         }
     }
     return array('result' => $return);
 }
 public static function fetchVersionCount($contentObject)
 {
     if (!is_object($contentObject)) {
         return array('result' => 0);
     }
     $versionList = eZPersistentObject::fetchObjectList(eZContentObjectVersion::definition(), array(), array('contentobject_id' => $contentObject->attribute('id')), false, null, false, false, array(array('operation' => 'count( * )', 'name' => 'count')));
     return array('result' => $versionList[0]['count']);
 }
Beispiel #4
0
}
$res = eZTemplateDesignResource::instance();
$res->setKeys(array(array('object', $object->attribute('id')), array('remote_id', $object->attribute('remote_id')), array('class', $object->attribute('contentclass_id')), array('class_identifier', $object->attribute('class_identifier')), array('section_id', $object->attribute('section_id')), array('section', $object->attribute('section_id'))));
// Section ID, 0 so far
$section = eZSection::fetch($object->attribute('section_id'));
if ($section) {
    $res->setKeys(array(array('section_identifier', $section->attribute('identifier'))));
}
$versionArray = isset($versionArray) && is_array($versionArray) ? array_unique($versionArray, SORT_REGULAR) : array();
$LastAccessesVersionURI = $http->hasSessionVariable('LastAccessesVersionURI') ? $http->sessionVariable('LastAccessesVersionURI') : null;
$explodedURI = $LastAccessesVersionURI ? explode('/', $LastAccessesVersionURI) : null;
if ($LastAccessesVersionURI and is_array($versionArray) and !in_array($explodedURI[3], $versionArray)) {
    $tpl->setVariable('redirect_uri', $http->sessionVariable('LastAccessesVersionURI'));
}
//Fetch newer drafts and count of newer drafts.
$newerDraftVersionList = eZPersistentObject::fetchObjectList(eZContentObjectVersion::definition(), null, array('contentobject_id' => $object->attribute('id'), 'status' => eZContentObjectVersion::STATUS_DRAFT, 'version' => array('>', $object->attribute('current_version'))), array('modified' => 'asc', 'initial_language_id' => 'desc'), null, true);
$newerDraftVersionListCount = is_array($newerDraftVersionList) ? count($newerDraftVersionList) : 0;
$versions = $object->versions();
$tpl->setVariable('newerDraftVersionList', $newerDraftVersionList);
$tpl->setVariable('newerDraftVersionListCount', $newerDraftVersionListCount);
$tpl->setVariable('view_parameters', $viewParameters);
$tpl->setVariable('object', $object);
$tpl->setVariable('edit_version', $EditVersion);
$tpl->setVariable('versions', $versions);
$tpl->setVariable('edit_warning', $editWarning);
$tpl->setVariable('can_edit', $canEdit);
//$tpl->setVariable( 'can_remove', $canRemove );
$tpl->setVariable('user_id', $user->attribute('contentobject_id'));
$Result = array();
$Result['content'] = $tpl->fetch('design:content/history.tpl');
$Result['path'] = array(array('text' => ezpI18n::tr('kernel/content', 'History'), 'url' => false));
    /**
     * Returns an array of eZContentObjectVersion for the current object according to the conditions in $parameters.
     *
     * @param bool $asObject If true, returns an eZContentObjectVersion; if false, returns an array
     * @param array $parameters
     * @return eZContentObjectVersion[]|array
     */
    function versions( $asObject = true, $parameters = array() )
    {
        $conditions = array( "contentobject_id" => $this->ID );
        if ( isset( $parameters['conditions'] ) )
        {
            if ( isset( $parameters['conditions']['status'] ) )
                $conditions['status'] = $parameters['conditions']['status'];
            if ( isset( $parameters['conditions']['creator_id'] ) )
                $conditions['creator_id'] = $parameters['conditions']['creator_id'];
            if ( isset( $parameters['conditions']['language_code'] ) )
            {
                $conditions['initial_language_id'] = eZContentLanguage::idByLocale( $parameters['conditions']['language_code'] );
            }
            if ( isset( $parameters['conditions']['initial_language_id'] ) )
            {
                $conditions['initial_language_id'] = $parameters['conditions']['initial_language_id'];
            }
        }
        $sort = isset( $parameters['sort'] ) ? $parameters['sort'] : null;
        $limit = isset( $parameters['limit'] ) ? $parameters['limit'] : null;

        return eZPersistentObject::fetchObjectList( eZContentObjectVersion::definition(),
                                                    null, $conditions,
                                                    $sort, $limit,
                                                    $asObject );
    }
Beispiel #6
0
 static function fetchFiltered( $filters, $offset, $limit )
 {
     $limits = null;
     if ( $offset or $limit )
         $limits = array( 'offset' => $offset,
                          'length' => $limit );
     return eZPersistentObject::fetchObjectList( eZContentObjectVersion::definition(),
                                                 null, $filters,
                                                 null, $limits,
                                                 true );
 }
Beispiel #7
0
                      ) ); // Section ID, 0 so far

$section = eZSection::fetch( $object->attribute( 'section_id' ) );
if( $section )
{
    $res->setKeys( array( array( 'section_identifier', $section->attribute( 'identifier' ) ) ) );
}

$versionArray =( isset( $versionArray ) and is_array( $versionArray ) ) ? array_unique( $versionArray ) : array();
$LastAccessesVersionURI = $http->hasSessionVariable( 'LastAccessesVersionURI' ) ? $http->sessionVariable( 'LastAccessesVersionURI' ) : null;
$explodedURI = $LastAccessesVersionURI ? explode ( '/', $LastAccessesVersionURI ) : null;
if ( $LastAccessesVersionURI and is_array( $versionArray ) and !in_array( $explodedURI[3], $versionArray ) )
  $tpl->setVariable( 'redirect_uri', $http->sessionVariable( 'LastAccessesVersionURI' ) );

//Fetch newer drafts and count of newer drafts.
$newerDraftVersionList = eZPersistentObject::fetchObjectList( eZContentObjectVersion::definition(),
                                                              null,
                                                              array( 'contentobject_id' => $object->attribute( 'id' ),
                                                                     'status' => eZContentObjectVersion::STATUS_DRAFT,
                                                                     'version' => array( '>', $object->attribute( 'current_version' ) ) ),
                                                              array( 'modified' => 'asc',
                                                                     'initial_language_id' => 'desc' ),
                                                              null, true );
$newerDraftVersionListCount = is_array( $newerDraftVersionList ) ? count( $newerDraftVersionList ) : 0;

$versions = $object->versions();

$tpl->setVariable( 'newerDraftVersionList', $newerDraftVersionList );
$tpl->setVariable( 'newerDraftVersionListCount', $newerDraftVersionListCount );
$tpl->setVariable( 'view_parameters', $viewParameters );
$tpl->setVariable( 'object', $object );
$troubleshoot = isset($options['script-verbose-level']) && $options['script-verbose-level'] > 0 ? true : false;
$objectIDs = isset($options['object-ids']) && strlen($options['object-ids']) >= 1 ? explode(',', $options['object-ids']) : false;
$attributeIdentifiers = isset($options['attribute-identifiers']) && strlen($options['attribute-identifiers']) >= 1 ? explode(',', $options['attribute-identifiers']) : array('image');
$version = isset($options['version']) && strlen($options['version']) >= 1 ? $options['version'] : 'current';
$test = isset($options['test-only']) ? true : false;
$showSQL = isset($options['sql']) ? true : false;
/** Script default values **/
$adminUserID = 14;
$objectVersionsModified = array();
$offset = 0;
$limit = 1;
$status = true;
$resultCounter = 1;
$asObject = true;
$contentObjectDefinition = eZContentObject::definition();
$contentObjectVersionDefinition = eZContentObjectVersion::definition();
$contentObjectDefinitionContentObjectID = $contentObjectDefinition['name'] . '.id';
$contentObjectVersionDefinitionContentObjectID = $contentObjectVersionDefinition['name'] . '.id';
$conditions = null;
$customConds = ' WHERE ';
$countCustomConds = $customConds;
if ($version == 'current' || $version == 'new') {
    $queryContentObjectXDefinition = $contentObjectDefinition;
    $queryContentObjectXDefinitionContentObjectID = $contentObjectDefinitionContentObjectID;
    $objectTypeName = 'objects';
    $objectTypeVersionName = "{$version} version";
} elseif ($version == 'all') {
    $queryContentObjectXDefinition = $contentObjectVersionDefinition;
    $contentObjectVersionDefinitionContentObjectIDFieldName = str_replace('ez', '', $contentObjectDefinition['name']);
    $queryContentObjectXDefinitionContentObjectID = $contentObjectVersionDefinition['name'] . "." . $contentObjectVersionDefinitionContentObjectIDFieldName . '_id';
    $objectTypeName = 'object versions';