예제 #1
0
 public function getFilterInstance(Sitengine_Controller_Request_Http $request, array $params, Zend_Session_Namespace $namespace, $usersTable)
 {
     require_once 'Sitengine/Grid/Search.php';
     $filter = new Sitengine_Grid_Search();
     $reset = $request->get($params['reset']);
     ### filter element ###
     if ($reset) {
         $filter->resetSessionVal($params['find'], $namespace);
     }
     $filter->registerSessionVal($namespace, $request, $params['find'], self::VALUE_NONESELECTED);
     # set clause
     if ($filter->getVal($params['find'])) {
         $value = $this->_database->quote($filter->getVal($params['find']));
         $value = preg_replace('/\\s+/', ' ', $value);
         $value = preg_replace('/.(.*)./', "\$1", trim($value));
         # remove quote delimiters
         $clause = "(";
         $clause .= " LOWER({$this->_name}.comment) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$usersTable}.name) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$usersTable}.firstname) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$usersTable}.lastname) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$usersTable}.nickname) LIKE LOWER('%{$value}%')";
         $clause .= ")";
         $filter->setClause($params['find'], $clause);
     }
     return $filter;
 }
예제 #2
0
 public function registerVal(Sitengine_Controller_Request_Http $request, $param, $ignore = 'noneSelected')
 {
     $value = $request->get($param);
     if ($value == $ignore) {
         $value = '';
     }
     $this->_data[$param] = array('value' => $value, 'clause' => '', 'element' => '');
 }
예제 #3
0
 public function getFilterInstance(Sitengine_Controller_Request_Http $request, array $params, Zend_Session_Namespace $namespace)
 {
     $transcripts = $this->getTranscripts();
     $transcripts->setLanguage($this->_transcript);
     $index = $transcripts->getIndex();
     $default = $transcripts->getDefaultIndex();
     require_once 'Sitengine/Grid/Search.php';
     $filter = new Sitengine_Grid_Search();
     $reset = $request->get($params['reset']);
     ### filter element ###
     if ($reset) {
         $filter->resetSessionVal($params['find'], $namespace);
     }
     $filter->registerSessionVal($namespace, $request, $params['find'], self::VALUE_NONESELECTED);
     # set clause
     if ($filter->getVal($params['find'])) {
         $value = $this->getAdapter()->quote($filter->getVal($params['find']));
         $value = preg_replace('/\\s+/', ' ', $value);
         $value = preg_replace('/.(.*)./', "\$1", trim($value));
         # remove quote delimiters
         $clause = "(";
         $clause .= "LOWER({$this->_name}.titleLang{$index}) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$this->_name}.slug) LIKE LOWER('%{$value}%')";
         $clause .= ")";
         $filter->setClause($params['find'], $clause);
     }
     return $filter;
 }
예제 #4
0
 public function getFilterInstance(Sitengine_Controller_Request_Http $request, array $params, Zend_Session_Namespace $namespace)
 {
     require_once 'Sitengine/Grid/Search.php';
     $filter = new Sitengine_Grid_Search();
     $reset = $request->get($params['reset']);
     ### filter element ###
     if ($reset) {
         $filter->resetSessionVal($params['type'], $namespace);
     }
     $filter->registerSessionVal($namespace, $request, $params['type'], self::VALUE_NONESELECTED);
     # set clause
     if ($filter->getVal($params['type'])) {
         $value = $this->getAdapter()->quote($filter->getVal($params['type']));
         $clause = "{$this->_name}.type = {$value}";
         $filter->setClause($params['type'], $clause);
     }
     ### filter element ###
     if ($reset) {
         $filter->resetSessionVal($params['find'], $namespace);
     }
     $filter->registerSessionVal($namespace, $request, $params['find'], self::VALUE_NONESELECTED);
     # set clause
     if ($filter->getVal($params['find'])) {
         $value = $this->getAdapter()->quote($filter->getVal($params['find']));
         $value = preg_replace('/\\s+/', ' ', $value);
         $value = preg_replace('/.(.*)./', "\$1", trim($value));
         # remove quote delimiters
         $clause = "(";
         $clause .= "LOWER({$this->_name}.titleLang0) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$this->_name}.markupLang0) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$this->_name}.titleLang1) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$this->_name}.markupLang1) LIKE LOWER('%{$value}%')";
         $clause .= " OR LOWER({$this->_name}.file1OriginalSource) LIKE LOWER('%{$value}%')";
         $clause .= ")";
         $filter->setClause($params['find'], $clause);
     }
     return $filter;
 }
예제 #5
0
 protected function _establishValue(Sitengine_Controller_Request_Http $request, $param)
 {
     $value = isset($this->_namespace->{$param}) ? Sitengine_String::runtimeStripSlashes($this->_namespace->{$param}) : null;
     $value = $request->get($param) !== null ? $request->get($param) : $value;
     if (!$value) {
         unset($this->_namespace->{$param});
     } else {
         $this->_namespace->{$param} = $value;
     }
     #print $param.' = '.$value.'<br />';
     return $value;
 }