tl_content::getAlias PHP Method

getAlias() public method

Get all content elements and return them as array (content element alias)
public getAlias ( ) : array
return array
    public function getAlias()
    {
        $arrPids = array();
        $arrAlias = array();
        if (!$this->User->isAdmin) {
            foreach ($this->User->pagemounts as $id) {
                $arrPids[] = $id;
                $arrPids = array_merge($arrPids, $this->Database->getChildRecords($id, 'tl_page'));
            }
            if (empty($arrPids)) {
                return $arrAlias;
            }
            $objAlias = $this->Database->prepare("SELECT c.id, c.pid, c.type, (CASE c.type WHEN 'module' THEN m.name WHEN 'form' THEN f.title WHEN 'table' THEN c.summary ELSE c.headline END) AS headline, c.text, a.title FROM tl_content c LEFT JOIN tl_article a ON a.id=c.pid LEFT JOIN tl_module m ON m.id=c.module LEFT JOIN tl_form f on f.id=c.form WHERE a.pid IN(" . implode(',', array_map('intval', array_unique($arrPids))) . ") AND (c.ptable='tl_article' OR c.ptable='') AND c.id!=? ORDER BY a.title, c.sorting")->execute(Input::get('id'));
        } else {
            $objAlias = $this->Database->prepare("SELECT c.id, c.pid, c.type, (CASE c.type WHEN 'module' THEN m.name WHEN 'form' THEN f.title WHEN 'table' THEN c.summary ELSE c.headline END) AS headline, c.text, a.title FROM tl_content c LEFT JOIN tl_article a ON a.id=c.pid LEFT JOIN tl_module m ON m.id=c.module LEFT JOIN tl_form f on f.id=c.form WHERE (c.ptable='tl_article' OR c.ptable='') AND c.id!=? ORDER BY a.title, c.sorting")->execute(Input::get('id'));
        }
        while ($objAlias->next()) {
            $arrHeadline = StringUtil::deserialize($objAlias->headline, true);
            if (isset($arrHeadline['value'])) {
                $headline = StringUtil::substr($arrHeadline['value'], 32);
            } else {
                $headline = StringUtil::substr(preg_replace('/[\\n\\r\\t]+/', ' ', $arrHeadline[0]), 32);
            }
            $text = StringUtil::substr(strip_tags(preg_replace('/[\\n\\r\\t]+/', ' ', $objAlias->text)), 32);
            $strText = $GLOBALS['TL_LANG']['CTE'][$objAlias->type][0] . ' (';
            if ($headline != '') {
                $strText .= $headline . ', ';
            } elseif ($text != '') {
                $strText .= $text . ', ';
            }
            $key = $objAlias->title . ' (ID ' . $objAlias->pid . ')';
            $arrAlias[$key][$objAlias->id] = $strText . 'ID ' . $objAlias->id . ')';
        }
        return $arrAlias;
    }