Exemplo n.º 1
0
 /**
  * Загрузка фильтра
  * @param string $filter срока с параметрами фильтрации
  * @return bool
  */
 protected function loadFilter($filter)
 {
     $this->debug->debug('Load filter ' . $this->debug->dumpData($filter), 'loadFilter', 2);
     $out = false;
     $fltr_params = explode(':', $filter, 2);
     $fltr = APIHelpers::getkey($fltr_params, 0, null);
     // check if the filter is implemented
     if (!is_null($fltr) && file_exists(dirname(__FILE__) . '/filter/' . $fltr . '.filter.php')) {
         require_once dirname(__FILE__) . '/filter/' . $fltr . '.filter.php';
         /**
          * @var tv_DL_filter|content_DL_filter $fltr_class
          */
         $fltr_class = $fltr . '_DL_filter';
         $this->totalFilters++;
         $fltr_obj = new $fltr_class();
         if ($fltr_obj->init($this, $filter)) {
             $out = $fltr_obj;
         } else {
             $this->debug->error("Wrong filter parameter: '{$this->debug->dumpData($filter)}'", 'Filter');
         }
     } else {
         $this->debug->error("Error load Filter: '{$this->debug->dumpData($filter)}'", 'Filter');
     }
     $this->debug->debugEnd("loadFilter");
     return $out;
 }