2008-08-11 00:49:59 +02:00
< ? php
/**
* @ package sapphire
* @ subpackage model
*/
/**
* Represents an multi - select enumeration field .
* @ package sapphire
* @ subpackage model
*/
class MultiEnum extends Enum {
2009-11-05 02:14:17 +01:00
function __construct ( $name , $enum = NULL , $default = NULL ) {
parent :: __construct ( $name , $enum , $default );
// MultiEnums are allowed blank defaults
if ( ! $default ) $this -> default = $default ;
}
2008-08-11 00:49:59 +02:00
function requireField (){
DB :: requireField ( $this -> tableName , $this -> name , " set(' " . implode ( " ',' " , $this -> enum ) . " ') character set utf8 collate utf8_general_ci default ' { $this -> default } ' " );
}
/**
2009-06-27 09:42:31 +02:00
* Return a { @ link CheckboxSetField } suitable for editing this field
2008-08-11 00:49:59 +02:00
*/
function formField ( $title = null , $name = null , $hasEmpty = false , $value = " " , $form = null ) {
if ( ! $title ) $title = $this -> name ;
if ( ! $name ) $name = $this -> name ;
$field = new CheckboxSetField ( $name , $title , $this -> enumValues ( $hasEmpty ), $value , $form );
return $field ;
}
}
?>