当前位置: 首页>>代码示例>>PHP>>正文


PHP eZContentObjectVersion::fetchFiltered方法代码示例

本文整理汇总了PHP中eZContentObjectVersion::fetchFiltered方法的典型用法代码示例。如果您正苦于以下问题:PHP eZContentObjectVersion::fetchFiltered方法的具体用法?PHP eZContentObjectVersion::fetchFiltered怎么用?PHP eZContentObjectVersion::fetchFiltered使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在eZContentObjectVersion的用法示例。


在下文中一共展示了eZContentObjectVersion::fetchFiltered方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getDraftVersions

 public function getDraftVersions($objects)
 {
     $return = array();
     $user = eZUser::currentUser();
     foreach ($objects as $object) {
         // If this user already has a draft in this language
         $filters = array('contentobject_id' => $object->attribute('id'), 'status' => array(array(eZContentObjectVersion::STATUS_DRAFT, eZContentObjectVersion::STATUS_INTERNAL_DRAFT)), 'creator_id' => $user->attribute('contentobject_id'));
         $existingDrafts = eZContentObjectVersion::fetchFiltered($filters, 0, 1);
         if (!empty($existingDrafts)) {
             $return[] = $existingDrafts[0];
         } else {
             $return[] = $object->createNewVersion(false, true);
         }
     }
     return $return;
 }
开发者ID:pkamps,项目名称:mugo_bootstrap_admin,代码行数:16,代码来源:MultiEdit.php

示例2: removeVersions

    static function removeVersions( $versionStatus = false, $limit = false, $expiryTime = false, $fetchPortionSize = 50 )
    {
        $statuses = array( eZContentObjectVersion::STATUS_DRAFT,
                           eZContentObjectVersion::STATUS_PENDING,
                           eZContentObjectVersion::STATUS_REJECTED,
                           eZContentObjectVersion::STATUS_ARCHIVED,
                           eZContentObjectVersion::STATUS_INTERNAL_DRAFT );
        if ( $versionStatus === false )
        {
            $versionStatus = $statuses;
        }
        else if ( !is_array( $versionStatus ) )
        {
            $versionStatus = array( $versionStatus );
        }

        $versionStatus = array_unique( $versionStatus );
        $checkIntersect = array_intersect( $versionStatus, $statuses );
        if ( count( $checkIntersect ) != count( $versionStatus ) )
        {
            eZDebug::writeError( 'Invalid version status was passed in.', __METHOD__ );
            return false;
        }

        if ( $limit !== false and ( !is_numeric( $limit ) or $limit < 0 ) )
        {
            eZDebug::writeError( '$limit must be either false or positive numeric value.', __METHOD__ );
            return false;
        }

        if ( !is_numeric( $fetchPortionSize ) or $fetchPortionSize < 1 )
            $fetchPortionSize = 50;

        $filters = array();
        $filters['status'] = array( $versionStatus );
        if ( $expiryTime !== false )
            $filters['modified'] = array( '<', $expiryTime );

        $processedCount = 0;
        $db = eZDB::instance();
        while ( $processedCount < $limit or !$limit )
        {
            // fetch by versions by preset portion at a time to avoid memory overflow
            $tmpLimit = ( !$limit or ( $limit - $processedCount ) > $fetchPortionSize ) ?
                            $fetchPortionSize : $limit - $processedCount;
            $versions = eZContentObjectVersion::fetchFiltered( $filters, 0, $tmpLimit );
            if ( count( $versions ) < 1 )
                break;

            foreach ( $versions as $version )
            {
                $db->begin();
                $version->removeThis();
                $db->commit();
            }
            $processedCount += count( $versions );
        }
        return $processedCount;
    }
开发者ID:ataxel,项目名称:tp,代码行数:59,代码来源:ezcontentobjectversion.php

示例3: getCurrentDraft

 /**
  * Returns current draft for current content object.
  * If there is no current draft, a new one will be created in provided language.
  * @param string|bool $lang Valid locale xxx-XX. If not provided, default edit language will be used
  * @see eZContentObject::createNewVersionIn()
  * @return eZContentObjectVersion
  */
 public function getCurrentDraft($lang = false)
 {
     $currentDraft = null;
     $db = eZDB::instance();
     // First check if we already have a draft
     $aFilter = array('contentobject_id' => $this->contentObject->attribute('id'), 'status' => array(array(eZContentObjectVersion::STATUS_DRAFT, eZContentObjectVersion::STATUS_INTERNAL_DRAFT)));
     $res = eZContentObjectVersion::fetchFiltered($aFilter, null, null);
     if (count($res) > 0 && $res[0] instanceof eZContentObjectVersion) {
         $currentDraft = $res[0];
         // FIXME : Fetch may result several drafts. We should take the last one (highest version)
         $currentDraft->setAttribute('modified', eZDateTime::currentTimeStamp());
         $currentDraft->setAttribute('status', eZContentObjectVersion::STATUS_DRAFT);
         $currentDraft->store();
     } else {
         $db->begin();
         $currentDraft = $this->contentObject->createNewVersionIn($lang, false, $this->contentObject->attribute('current_version'));
         $currentDraft->store();
         $db->commit();
     }
     return $currentDraft;
 }
开发者ID:lolautruche,项目名称:sqliimport,代码行数:28,代码来源:sqlicontentfieldsetholder.php


注:本文中的eZContentObjectVersion::fetchFiltered方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。