Версия полностью совместимая c CMS
This commit is contained in:
parent
7ce493414e
commit
75bb35d5bf
21 changed files with 1404 additions and 783 deletions
|
|
@ -1,103 +1,119 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Преобразование типов !!! Пересмотреть использование классов!!
|
||||
* Класс преобразования типа значения поля класса в тип поля таблицы
|
||||
* @package core
|
||||
* @package system
|
||||
*/
|
||||
class Primitive
|
||||
{
|
||||
public $value;
|
||||
public $name;
|
||||
public function __construct ($name = "")
|
||||
|
||||
class Primitive {
|
||||
// varchar
|
||||
public static function to_varchar($value)
|
||||
{
|
||||
$this->name = $name;
|
||||
return ((string) $value);
|
||||
}
|
||||
|
||||
// Преобразование из внешнего вормата
|
||||
public function setString ($value)
|
||||
public static function from_varchar($value)
|
||||
{
|
||||
$this->value = $value;
|
||||
return $value;
|
||||
}
|
||||
|
||||
// Преобразование из формата базы данных
|
||||
public function setRes ($res, $key)
|
||||
// int
|
||||
public static function to_bool($value)
|
||||
{
|
||||
$this->value = $res->getString ($key);
|
||||
return filter_var($value, FILTER_VALIDATE_BOOLEAN);//(int)((bool) $value);
|
||||
}
|
||||
|
||||
public function __toString ()
|
||||
public static function from_bool($value)
|
||||
{
|
||||
return ((string) $this->value);
|
||||
return ((bool) $value);
|
||||
}
|
||||
|
||||
// Преобразование во внешний формат
|
||||
public function getString ()
|
||||
// int
|
||||
public static function to_int($value)
|
||||
{
|
||||
return $this->__toString ();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Отображение поля таблицы в целое число
|
||||
* @package core
|
||||
*/
|
||||
class Int4 extends Primitive {
|
||||
public function setRes ($res, $key) {
|
||||
$this->value = $res->getInt ($key);
|
||||
return ((int) $value);
|
||||
}
|
||||
|
||||
public function setString ($value) {
|
||||
$this->value = ((int) $value);
|
||||
}
|
||||
}
|
||||
|
||||
/* Foreign key */
|
||||
class FKey extends Int4 {}
|
||||
|
||||
/**
|
||||
* Отображение поля таблицы в дату - время
|
||||
*/
|
||||
class Date extends Primitive
|
||||
{
|
||||
public function setRes ($res, $key)
|
||||
public static function from_int($value)
|
||||
{
|
||||
$this->value = $res->getInt ($key);
|
||||
return ((string) $value);
|
||||
}
|
||||
|
||||
public function setString ($value)
|
||||
|
||||
// date
|
||||
public static function to_date($value)
|
||||
{
|
||||
$this->value = 0;
|
||||
if ($tmp = explode("/",$value,3)) {
|
||||
if ($tmp[1] && $tmp[0] && $tmp[2]) {
|
||||
if (checkdate($tmp[1], $tmp[0], $tmp[2])) {
|
||||
$this->value = mktime(0, 0, 0, $tmp[1], $tmp[0], $tmp[2]);
|
||||
$result = 0;
|
||||
$tmp = explode("/", $value, 3);
|
||||
if (!empty($tmp)) {
|
||||
if (count($tmp) != 3) return $result;
|
||||
|
||||
$year = intval($tmp[2]);
|
||||
$month = intval($tmp[1]);
|
||||
$day = intval($tmp[0]);
|
||||
|
||||
if ($month != 0 && $day != 0 && $year != 0) {
|
||||
if (checkdate($month, $day, $year)) {
|
||||
return mktime(0, 0, 0, $month, $day, $year);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getString ()
|
||||
public static function to_datetime($value)
|
||||
{
|
||||
return date ("d/m/Y", $this->value);
|
||||
$result = 0;
|
||||
|
||||
$tmp = array();
|
||||
if (preg_match('/(\d+)-(\d+)-(\d+)T(\d+):(\d+)Z/', $value, $tmp)) {
|
||||
if (checkdate($tmp[2], $tmp[3], $tmp[1])) {
|
||||
$result = mktime($tmp[4], $tmp[5], 0, $tmp[2], $tmp[3], $tmp[1]);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function from_date($value)
|
||||
{
|
||||
if ($value > 0) {
|
||||
return date("d/m/Y", $value);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
public static function from_datetime($value)
|
||||
{
|
||||
if ($value > 0) {
|
||||
return date("Y-m-d\TH:i\Z", $value);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
// secure
|
||||
public static function to_secure($value)
|
||||
{
|
||||
// Значение приабразуется во время сохранения в базе данных
|
||||
return $value;
|
||||
}
|
||||
|
||||
public static function from_secure($value)
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
|
||||
// array
|
||||
public static function to_array($value)
|
||||
{
|
||||
return (is_array($value)) ? $value : array();
|
||||
}
|
||||
|
||||
public static function from_array($value)
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class Password extends Primitive
|
||||
{
|
||||
public function setRes ($res, $key)
|
||||
{
|
||||
$this->value = $res->getString($key);
|
||||
}
|
||||
|
||||
public function setString ($value)
|
||||
{
|
||||
$this->value = md5($value);
|
||||
}
|
||||
|
||||
public function getString ()
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue