public function getUserValue($user, $raw = true) { $internalName = $this->profileField->internal_name; $birthdayDate = $user->profile->{$internalName}; if ($birthdayDate == "" || $birthdayDate == "0000-00-00 00:00:00") { return ""; } $internalNameHideAge = $this->profileField->internal_name . "_hide_year"; $hideAge = $user->profile->{$internalNameHideAge}; if (!$hideAge) { $birthDate = new \DateTime($birthdayDate); $lifeSpan = $birthDate->diff(new \DateTime()); $age = Yii::t('UserModule.models_ProfileFieldTypeBirthday', '%y Years', array('%y' => $lifeSpan->format("%y"))); return Yii::$app->formatter->asDate($birthdayDate, 'long') . " (" . $age . ")"; } else { return Yii::$app->formatter->asDate($birthdayDate, 'dd. MMMM'); } }
/** * Returns a list of all available field type classes. * * @return Array */ public function getFieldTypes() { $fieldTypes = array_merge(array(Number::className() => Yii::t('UserModule.models_ProfileFieldType', 'Number'), Text::className() => Yii::t('UserModule.models_ProfileFieldType', 'Text'), TextArea::className() => Yii::t('UserModule.models_ProfileFieldType', 'Text Area'), Select::className() => Yii::t('UserModule.models_ProfileFieldType', 'Select List'), Date::className() => Yii::t('UserModule.models_ProfileFieldType', 'Date'), DateTime::className() => Yii::t('UserModule.models_ProfileFieldType', 'Datetime'), Birthday::className() => Yii::t('UserModule.models_ProfileFieldType', 'Birthday'), CountrySelect::className() => Yii::t('UserModule.models_ProfileFieldType', 'Country')), $this->fieldTypes); return $fieldTypes; }
/** * @inheritdoc */ public function beforeProfileSave($value) { if ($value == "") { return null; } $date = new \DateTime(); $date->setTimestamp($value); return $date->format('Y-m-d H:i:s'); }