Node::_findPublished PHP Method

_findPublished() protected method

$query options: - q: term to search - roleId: Role Id - typeAlias: Type alias
protected _findPublished ( $state, $query, $results = [] )
    protected function _findPublished($state, $query, $results = array())
    {
        if ($state == 'after') {
            return $results;
        }
        $q = isset($query['q']) ? $query['q'] : null;
        $like = empty($q) ? '%' : '%' . $q . '%';
        $roleId = isset($query['roleId']) ? $query['roleId'] : null;
        $typeAlias = isset($query['typeAlias']) ? $query['typeAlias'] : null;
        $visibilityRolesField = $this->escapeField('visibility_roles');
        $nodeOrConditions = array();
        if ($like) {
            $nodeOrConditions = array_merge($nodeOrConditions, array($this->escapeField('title') . ' LIKE' => $like, $this->escapeField('excerpt') . ' LIKE' => $like, $this->escapeField('body') . ' LIKE' => $like, $this->escapeField('terms') . ' LIKE' => $like));
        }
        $defaults = array('order' => $this->escapeField('created') . ' DESC', 'limit' => Configure::read('Reading.nodes_per_page'), 'conditions' => array($this->escapeField('status') => $this->status(), 'AND' => array(array('OR' => $nodeOrConditions), array('OR' => array($visibilityRolesField => '', $visibilityRolesField . ' LIKE' => '%"' . $roleId . '"%')))), 'contain' => array('Meta', 'Taxonomy' => array('Term', 'Vocabulary'), 'User'));
        if (isset($typeAlias)) {
            $defaults['conditions'][$this->escapeField('type')] = $typeAlias;
        }
        if (empty($query['conditions'])) {
            $query['conditions'] = array();
        }
        $query = Hash::merge($defaults, $query);
        return $query;
    }