silverstripe-framework/core/model/fieldtypes/Time.php
Ingo Schommer a24ccecb69 FEATURE Added ForeignKey and used it in relation- and databasefield getters in DataObject
FEATURE Added FormScaffolder for more flexible scaffolding of FieldSets from DataObject metadata
API CHANGE Removed DataObject->addScaffoldRelationFields(), now in separate class FormScaffolder
API CHANGE Changed parameters for DataObject->scaffoldSearchFields() to unify them with scaffoldFormFields()
API CHANGE Added optional $params parameter to DataObject->getCMSFields() to be passed on to scaffoldFormFields()
API CHANGE Renamed DataObject->getFormFields() to getFrontEndFields()
ENHANCEMENT Added $params parameter to all DBField->scaffoldFormField() subclasses
API CHANGE Added third optional parameter $object to DBField::create() to comply with ForeignKey and PrimaryKey constructors

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@64157 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-10-13 22:20:41 +00:00

46 lines
972 B
PHP
Executable File

<?php
/**
* Represents a column in the database with the type 'Time'
* @package sapphire
* @subpackage model
*/
class Time extends DBField {
function setVal($value) {
if($value) {
if(preg_match( '/(\d{1,2})[:.](\d{2})([ap]m)/', $value, $match )) $this->_12Hour( $match );
else $this->value = date('H:i:s', strtotime($value));
} else $value = null;
}
function setValue($value) {
return $this->setVal( $value );
}
function Nice() {
return date('g:ia', strtotime($this->value));
}
function Nice24() {
return date('H:i', strtotime($this->value));
}
function TwelveHour( $parts ) {
$hour = $parts[1];
$min = $parts[2];
$half = $parts[3];
$this->value = (( $half == 'pm' ) ? $hour + 12 : $hour ) .":$min:00";
}
function requireField() {
DB::requireField($this->tableName, $this->name, "time");
}
public function scaffoldFormField($title = null, $params = null) {
return new TimeField($this->name, $title);
}
}
?>