コード例 #1
0
ファイル: Date.php プロジェクト: pepakriz/grido
 /**
  * @param mixed $value
  * @return string
  */
 protected function formatValue($value)
 {
     if ($value === NULL) {
         return $this->applyReplacement($value);
     } elseif (is_scalar($value)) {
         $value = \Nette\Templating\Helpers::escapeHtml($value);
         $replaced = $this->applyReplacement($value);
         if ($value !== $replaced && is_scalar($replaced)) {
             return $replaced;
         }
     }
     return $value instanceof \DateTime ? $value->format($this->dateFormat) : date($this->dateFormat, is_numeric($value) ? $value : strtotime($value));
     //@todo add notice when result is "01.01.1970"
 }
コード例 #2
0
ファイル: GridTableModel.php プロジェクト: hajek-raven/agenda
 public function suggest($column, array $conditions, $limit)
 {
     $fluent = clone $this->getSelection();
     is_string($column) && $fluent->removeClause('SELECT')->select("DISTINCT {$column}");
     foreach ($conditions as $condition) {
         $this->makeWhere($condition, $fluent);
     }
     $items = array();
     $data = $fluent->fetchAll(0, $limit);
     foreach ($data as $row) {
         if (is_string($column)) {
             $value = (string) $row[$column];
         } elseif (is_callable($column)) {
             $value = (string) $column($row);
         } else {
             $type = gettype($column);
             throw new \InvalidArgumentException("Column of suggestion must be string or callback, {$type} given.");
         }
         $items[$value] = \Nette\Templating\Helpers::escapeHtml($value);
     }
     return array_values($items);
 }
コード例 #3
0
ファイル: ArraySource.php プロジェクト: cujan/vcelyweb
 /**
  * @param mixed $column
  * @param array $conditions
  * @param int $limit
  * @return array
  */
 public function suggest($column, array $conditions, $limit)
 {
     $data = $this->data;
     foreach ($conditions as $condition) {
         $data = $this->makeWhere($condition, $data);
     }
     array_slice($data, 1, $limit);
     $items = array();
     foreach ($data as $row) {
         if (is_string($column)) {
             $value = (string) $row[$column];
         } elseif (is_callable($column)) {
             $value = (string) $column($row);
         } else {
             $type = gettype($column);
             throw new \InvalidArgumentException("Column of suggestion must be string or callback, {$type} given.");
         }
         $items[$value] = \Nette\Templating\Helpers::escapeHtml($value);
     }
     return array_values($items);
 }
コード例 #4
0
ファイル: Column.php プロジェクト: s4muel/grido
 /**
  * @param mixed $value
  * @return mixed
  */
 protected function formatValue($value)
 {
     $value = is_string($value) ? \Nette\Templating\Helpers::escapeHtml($value) : $value;
     return $this->applyReplacement($value);
 }
コード例 #5
0
ファイル: Doctrine.php プロジェクト: s4muel/grido
 /**
  * @param mixed $column
  * @param array $conditions
  * @param int $limit
  * @return array
  * @throws Exception
  */
 public function suggest($column, array $conditions, $limit)
 {
     $qb = clone $this->qb;
     $qb->setMaxResults($limit);
     if (is_string($column)) {
         $mapping = isset($this->filterMapping[$column]) ? $this->filterMapping[$column] : current($qb->getRootAliases()) . '.' . $column;
         $qb->select($mapping)->distinct()->orderBy($mapping);
     }
     foreach ($conditions as $condition) {
         $this->makeWhere($condition, $qb);
     }
     $items = array();
     $data = $qb->getQuery()->getScalarResult();
     foreach ($data as $row) {
         if (is_string($column)) {
             $value = (string) current($row);
         } elseif (is_callable($column)) {
             $value = (string) $column($row);
         } else {
             $type = gettype($column);
             throw new Exception("Column of suggestion must be string or callback, {$type} given.");
         }
         $items[$value] = \Nette\Templating\Helpers::escapeHtml($value);
     }
     is_callable($column) && sort($items);
     return array_values($items);
 }
コード例 #6
0
ファイル: NetteDatabase.php プロジェクト: novotnej/grido
 /**
  * @param mixed $column
  * @param array $conditions
  * @param int $limit
  * @return array
  * @throws \InvalidArgumentException
  */
 public function suggest($column, array $conditions, $limit)
 {
     $selection = clone $this->selection;
     is_string($column) && $selection->select("DISTINCT {$column}")->order($column);
     $selection->limit($limit);
     foreach ($conditions as $condition) {
         $this->makeWhere($condition, $selection);
     }
     $items = array();
     foreach ($selection as $row) {
         if (is_string($column)) {
             $value = (string) $row[$column];
         } elseif (is_callable($column)) {
             $value = (string) $column($row);
         } else {
             $type = gettype($column);
             throw new \InvalidArgumentException("Column of suggestion must be string or callback, {$type} given.");
         }
         $items[$value] = \Nette\Templating\Helpers::escapeHtml($value);
     }
     is_callable($column) && sort($items);
     return array_values($items);
 }
コード例 #7
0
ファイル: Column.php プロジェクト: cujan/atlashornin
 /**
  * @param mixed $value
  * @return mixed
  */
 protected function formatValue($value)
 {
     if (is_null($value) || is_scalar($value) || is_object($value) && method_exists($value, '__toString')) {
         $value = \Nette\Templating\Helpers::escapeHtml($value);
         $value = $this->applyReplacement($value);
     }
     return $value;
 }