00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 class ActiveLanguage extends RedBeanModel
00038 {
00039 public static function getDefaultMetadata()
00040 {
00041 $metadata = parent::getDefaultMetadata();
00042 $metadata[__CLASS__] = array(
00043 'members' => array(
00044 'code',
00045 'name',
00046 'nativeName',
00047 'activationDatetime',
00048 'lastUpdateDatetime'
00049 ),
00050 'rules' => array(
00051 array('code', 'required'),
00052 array('code', 'type', 'type' => 'string'),
00053 array('code', 'length', 'min' => 2, 'max' => 16),
00054 array('name', 'required'),
00055 array('name', 'type', 'type' => 'string'),
00056 array('name', 'length', 'min' => 2, 'max' => 64),
00057 array('nativeName', 'required'),
00058 array('nativeName', 'type', 'type' => 'string'),
00059 array('nativeName', 'length', 'min' => 2, 'max' => 64),
00060 array('activationDatetime', 'required'),
00061 array('activationDatetime', 'type', 'type' => 'datetime'),
00062 array('lastUpdateDatetime', 'type', 'type' => 'datetime'),
00063 )
00064 );
00065 return $metadata;
00066 }
00067
00068 public static function getByCode($languageCode, $modelClassName = null)
00069 {
00070 assert('!empty($languageCode)');
00071 assert('$modelClassName === null || is_string($modelClassName) && $modelClassName != ""');
00072 if ($modelClassName === null)
00073 {
00074 $modelClassName = get_called_class();
00075 }
00076 $tableName = $modelClassName::getTableName();
00077 $bean = ZurmoRedBean::findOne(
00078 $tableName,
00079 ' code = :code',
00080 array(
00081 ':code' => $languageCode
00082 )
00083 );
00084 assert('$bean === false || $bean instanceof RedBean_OODBBean');
00085 if (!is_object($bean))
00086 {
00087 throw new NotFoundException();
00088 }
00089 return self::makeModel($bean, $modelClassName);
00090 }
00091
00092 public static function getSourceLanguageModel()
00093 {
00094 $model = new self();
00095 $model->code = 'en';
00096 $model->name = 'English';
00097 $model->nativeName = 'English';
00098
00099 return $model;
00100 }
00101 }
00102 ?>