Example #1
0
 /**
  * @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;
 }
Example #2
0
 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;
 }