ModelBundle/Repository/RepositoryTrait/AutoPublishableTrait.php
public function findElementToAutoPublish($siteId, array $fromStatus)
    {
        $date = new \Mongodate(strtotime(date('d F Y')));

        $statusIds = array();
        foreach($fromStatus as $status) {
            $statusIds[] = new \MongoId($status->getId());
        }

        $qa = $this->createAggregationQuery();

        $filter = array(
            'siteId' => $siteId,
            'deleted' => false,
            'status._id' => array('$in' => $statusIds),
            'status.outOfWorkflow' => false,
            'publishDate' => array('$lte' => $date),
            '$or' => array(
                array('unpublishDate' => array('$exists' => false)),
                array('unpublishDate' => array('$gte' => $date))
            )
        );

        $qa->match($filter);
        $qa->sort(array('createdAt' => 1));

        return $this->hydrateAggregateQuery($qa);
    }
public function findElementToAutoPublish($siteId, array $fromStatus)
    {
        $date = new \Mongodate(strtotime(date('d F Y')));

        $statusIds = array();
        foreach($fromStatus as $status) {
            $statusIds[] = new \MongoId($status->getId());
        }

        $qa = $this->createAggregationQuery();

        $filter = array(
            'siteId' => $siteId,
            'deleted' => false,
            'status._id' => array('$in' => $statusIds),
            'status.outOfWorkflow' => false,
            'publishDate' => array('$lte' => $date),
            '$or' => array(
                array('unpublishDate' => array('$exists' => false)),
                array('unpublishDate' => array('$gte' => $date))
            )
        );

        $qa->match($filter);
        $qa->sort(array('createdAt' => 1));

        return $this->hydrateAggregateQuery($qa);
    }
public function findElementToAutoPublish ( $ siteId , array $ fromStatus ) { $ date = new \ Mongodate ( strtotime ( date ( 'd F Y' ) ) ) ; $ statusIds = array ( ) ; foreach ( $ fromStatus as $ status ) { $ statusIds [ ] = new \ MongoId ( $ status -> getId ( ) ) ; } $ qa = $ this -> createAggregationQuery ( ) ; $ filter = array ( 'siteId' => $ siteId , 'deleted' => false , 'status._id' => array ( '$in' => $ statusIds ) , 'status.outOfWorkflow' => false , 'publishDate' => array ( '$lte' => $ date ) , '$or' => array ( array ( 'unpublishDate' => array ( '$exists' => false ) ) , array ( 'unpublishDate' => array ( '$gte' => $ date ) ) ) ) ; $ qa -> match ( $ filter ) ; $ qa -> sort ( array ( 'createdAt' => 1 ) ) ; return $ this -> hydrateAggregateQuery ( $ qa ) ; }
Find all element (in all versions and all languages) ready to be auto-published

@param string $siteId
@param array  $fromStatus

@return array
Find all element ( in all versions and all languages ) ready to be auto - published