/** * @absctract */ public function getDocs($tvlist = '') { if ($tvlist == '') { $tvlist = $this->getCFGDef('tvList', ''); } $this->extTV->getAllTV_Name(); if ($this->extPaginate = $this->getExtender('paginate')) { $this->extPaginate->init($this); } else { $this->setConfig(array('start' => 0)); } $type = $this->getCFGDef('idType', 'parents'); $this->_docs = $type == 'parents' ? $this->getChildrenList() : $this->getDocList(); if ($tvlist != '' && count($this->_docs) > 0) { $tv = $this->extTV->getTVList(array_keys($this->_docs), $tvlist); if (!is_array($tv)) { $tv = array(); } foreach ($tv as $docID => $TVitem) { if (isset($this->_docs[$docID]) && is_array($this->_docs[$docID])) { $this->_docs[$docID] = array_merge($this->_docs[$docID], $TVitem); } else { unset($this->_docs[$docID]); } } } if (1 == $this->getCFGDef('tree', '0')) { $this->treeBuild('id', 'parent'); } return $this->_docs; }
public function get_join() { $join = ''; $exists = $this->DocLister->checkTableAlias($this->tvName, $this->extTV->tvValuesTable()); $alias = $this->DocLister->TableAlias($this->tvName, $this->extTV->tvValuesTable(), $this->getTableAlias()); $this->field = $alias . ".value"; if (!$exists) { $join = 'LEFT JOIN ' . $this->DocLister->getTable($this->extTV->tvValuesTable(), $alias) . ' ON `' . $alias . '`.`contentid`=`' . content_DL_filter::TableAlias . '`.`id` AND `' . $alias . '`.`tmplvarid`=' . $this->tv_id; } else { $this->setTableAlias($alias); } return $join; }