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, // XXX: getPhones, getIms, and getWebsites pretty much do the same thing,
// so refactor. // so refactor.
function getPhones() function getPhones()

View File

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

View File

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