Extended profile - fix some issues saving and displaying dates

This commit is contained in:
Zach Copley 2011-03-16 01:09:38 -07:00
parent 974d0c48f6
commit bb087a9650
3 changed files with 23 additions and 7 deletions

View File

@ -98,6 +98,15 @@ class ExtendedProfile
}
}
function getDateValue($name) {
$key = strtolower($name);
if (array_key_exists($key, $this->fields)) {
return $this->fields[$key][0]->date;
} else {
return null;
}
}
// XXX: getPhones, getIms, and getWebsites pretty much do the same thing,
// so refactor.
function getPhones()

View File

@ -493,11 +493,14 @@ class ExtendedProfileWidget extends Form
$this->out->text($this->ext->getTextValue($name));
break;
case 'date':
$this->out->element(
'div',
array('class' => 'field date'),
date('j M Y', strtotime($this->ext->getTextValue($name)))
);
$value = $this->ext->getDateValue($name);
if (!empty($value)) {
$this->out->element(
'div',
array('class' => 'field date'),
date('j M Y', strtotime($value))
);
}
break;
case 'person':
$this->out->text($this->ext->getTextValue($name));
@ -549,7 +552,7 @@ class ExtendedProfileWidget extends Form
$out->input(
$id,
null,
date('j M Y', strtotime($this->ext->getTextValue($name)))
date('j M Y', strtotime($this->ext->getDateValue($name)))
);
break;
case 'person':

View File

@ -113,10 +113,14 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
foreach ($dateFieldNames as $name) {
$value = $this->trimmed('extprofile-' . $name);
$dateVal = $this->parseDate($name, $value);
$this->saveField(
$user,
$name,
$this->parseDate($name, $value)
null,
null,
null,
$dateVal
);
}