/**
  * Vrátí pole s formáty pro bezpečnější práci s daty
  *
  * @author Tomáš Kocifaj
  * @link http://www.ktstudio.cz
  *
  * @return array
  */
 private function getColumnsWithFormatsData()
 {
     $formats = array();
     $columns = array();
     foreach ($this->getColumns() as $column) {
         if ($column->getName() == $this->getPrimaryKeyColumn()) {
             continue;
         }
         $type = $column->getType();
         $value = $column->getValue();
         if ($column->getNullable() && $value == "") {
             $formats[] = "%s";
             $columns[$column->getName()] = "NULL";
             continue;
         }
         switch ($type) {
             case KT_CRUD_Column::INT:
                 $formats[] = "%d";
                 $columns[$column->getName()] = KT::tryGetInt($value);
                 break;
             case KT_CRUD_Column::BIGINT:
                 $formats[] = "%f";
                 $columns[$column->getName()] = floor(KT::tryGetFloat($value));
                 // simulace "long"
                 break;
             case KT_CRUD_Column::FLOAT:
                 $formats[] = "%f";
                 $columns[$column->getName()] = KT::tryGetFloat($value);
                 break;
             case KT_CRUD_Column::DATE:
                 $formats[] = "%s";
                 $columns[$column->getName()] = KT::dateConvert($value, "Y-m-d");
                 break;
             case KT_CRUD_Column::DATETIME:
                 $formats[] = "%s";
                 $columns[$column->getName()] = KT::dateConvert($value, "Y-m-d H:i:s");
                 break;
             default:
                 $formats[] = "%s";
                 $columns[$column->getName()] = $value;
                 break;
         }
     }
     $data = new stdClass();
     $data->formats = $formats;
     $data->columns = $columns;
     return $data;
 }
Exemple #2
0
 /**
  * Převede zadnou hodnotu na des. číslo pro formát GPS, pokud je to možné
  * 
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  * 
  * @param mixed float|int|string $coordinate
  * @return number
  */
 public static function clearGpsNumberCoordinate($coordinate)
 {
     if (KT::issetAndNotEmpty($coordinate)) {
         $coordinateNumber = KT::tryGetFloat(preg_replace("/[^0-9,.\\/-\\/+]/", "", trim($coordinate)));
         return number_format($coordinateNumber, 6, ".", "");
     }
     return null;
 }