Beispiel #1
0
 /**
  * Build query prefilter where part
  *
  * @param   PlgFabrik_Element  $element  Element model
  *
  * @return  string
  */
 public function buildQueryPrefilterWhere($element)
 {
     $elementName = FabrikString::safeColName($element->getFullName(false, false));
     $filters = $this->getFilterArray();
     $keys = array_keys($filters);
     $valueKeys = array_keys(FArrayHelper::getValue($filters, 'value', array()));
     foreach ($valueKeys as $i) {
         if ($filters['search_type'][$i] != 'prefilter' || $filters['key'][$i] != $elementName) {
             foreach ($keys as $key) {
                 unset($filters[$key][$i]);
             }
         }
     }
     list($sqlNoFilter, $sql) = $this->_filtersToSQL($filters);
     $where = str_replace('WHERE', '', $sql);
     if ($where != '') {
         $where = ' AND ' . $where;
     }
     return $where;
 }