39 public static function getDefaultMetadata()
41 $metadata = parent::getDefaultMetadata();
42 $metadata[__CLASS__] = array(
48 'messagesource' => array(static::HAS_ONE,
'MessageSource', static::OWNED),
51 array(
'translation',
'required'),
52 array(
'translation',
'type',
'type' =>
'blob'),
53 array(
'language',
'required'),
54 array(
'language',
'type',
'type' =>
'string'),
55 array(
'language',
'length',
'min' => 1,
'max' => 16),
58 'messagesource' =>
'MessageSource',
61 'sourceLanguageTranslation' => array(
62 'members' => array(
'messagesource_id',
'language',
'translation(767)'),
80 assert(
'intval($sourceId) && $sourceId > 0');
81 assert(
'!empty($languageCode)');
82 assert(
'$modelClassName === null || is_string($modelClassName) && $modelClassName != ""');
83 if ($modelClassName === null)
85 $modelClassName = get_called_class();
87 $tableName = $modelClassName::getTableName();
88 $bean = ZurmoRedBean::findOne(
90 ' messagesource_id = :sourceId AND language = :languageCode',
92 ':sourceId' => $sourceId,
93 ':languageCode' => $languageCode
96 assert(
'$bean === false || $bean instanceof RedBean_OODBBean');
97 if (!is_object($bean))
101 return self::makeModel($bean, $modelClassName);
115 assert(
'is_string($languageCode) && !empty($languageCode)');
116 assert(
'$sourceModel instanceof MessageSource');
117 assert(
'is_string($translation) && !empty($translation)');
119 $model->language = $languageCode;
120 $model->messagesource = $sourceModel;
121 $model->translation = $translation;
139 assert(
'!empty($translation)');
140 $this->translation = $translation;
updateTranslation($translation)
static getBySourceIdAndLangCode($sourceId, $languageCode, $modelClassName=null)
static addNewTranslation($languageCode, $sourceModel, $translation)
save($runValidation=true, array $attributeNames=null)