/** * 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; }
/** * 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; }