Esempio n. 1
0
 protected function _output($value)
 {
     if (is_object($value)) {
         $value = (array) $value;
     }
     if (is_array($value)) {
         $valueFrom = key_exists($this->_keyFrom, $value) ? $value[$this->_keyFrom] : null;
         $valueTo = key_exists($this->_keyTo, $value) ? $value[$this->_keyTo] : null;
         $row_items = $this->_item->getItems();
         if (is_array($valueFrom)) {
             if ($row_items[$this->_keyFrom]->getNativeType() == 'DATE') {
                 $valueFrom = DB_Type_Date::extractDate($valueFrom);
             } else {
                 return $value;
             }
         }
         if (is_array($valueTo)) {
             if ($row_items[$this->_keyTo]->getNativeType() == 'DATE') {
                 $valueTo = DB_Type_Date::extractDate($valueTo);
             } else {
                 return $value;
             }
         }
         if ($valueFrom > $valueTo) {
             throw new DB_Type_Exception_Range($this, $valueFrom, $valueTo);
         }
     }
     return $value;
 }
Esempio n. 2
0
	protected function _output($value)
	{
		if (is_object($value)) $value = (array)$value;

		if (is_array($value)) {
			$valueFrom = array_key_exists($this->_keyFrom, $value) ? $value[$this->_keyFrom] : NULL;
			$valueTo = array_key_exists($this->_keyTo, $value) ? $value[$this->_keyTo] : NULL;

			$row_items = $this->_item->getItems();

			if (is_array($valueFrom)) {
				if ($row_items[$this->_keyFrom]->getNativeType() == 'DATE') {
					$valueFrom = DB_Type_Date::extractDate($valueFrom);
					$valueFrom = $valueFrom->format('Y-m-d');
				} else return $value;
			}

			if (is_array($valueTo)) {
				if ($row_items[$this->_keyTo]->getNativeType() == 'DATE') {
					$valueTo = DB_Type_Date::extractDate($valueTo);
					$valueTo = $valueTo->format('Y-m-d');
				} else return $value;
			}

			if ($valueFrom && $valueTo && $valueFrom > $valueTo) {
				throw new DB_Type_Exception_Range($this, $valueFrom, $valueTo);
			}

			$value[$this->_keyFrom] = $valueFrom;
			$value[$this->_keyTo] = $valueTo;
		}

		return $value;
	}
Esempio n. 3
0
 public function output($value)
 {
     if ($value === null) {
         return null;
     }
     /**
      * Value may be array of DateTime::createFromFormat parameters
      */
     if (is_array($value)) {
         $value = DB_Type_Date::extractDate($value);
     } elseif ($this->_format != null) {
         $value = DB_Type_Date::convertFromFormat($this->_format, $value, $this->_timezone);
     }
     $value = self::truncTimestamp($value, $this->_trunc);
     return date("r", $value);
 }
Esempio n. 4
0
<?php

include '../utils/autoload.php';
$date_format = 'd.m.Y';
// Russian date format
$dateParser = new DB_Type_Date(null, $date_format);
$localized_date = '27.09.2011';
// save localized date to DB
$output = $dateParser->output($localized_date);
echo $output, "\n\n";
// 2011-09-27
// get localized date from DB
$input = $dateParser->input($output);
echo $input, "\n\n";
// 27.09.2011
// save date in custom format "on the fly"
$output = $dateParser->output(array('m/d/Y', '11/27/2012'));
echo $output, "\n\n";
// 2012-11-27