X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fprofilesettings.php;h=159dab18a91015fb27d4e7be0b544b3ab9609b3e;hb=4aedce6864eb27a0c37b3dcae22fee0aa16ae537;hp=e94d846bdfa2dbae175551d81d68c9910643e827;hpb=f81b4421fe225ef9ce5fa7cb01539e0ed4439c43;p=quix0rs-gnu-social.git diff --git a/actions/profilesettings.php b/actions/profilesettings.php index e94d846bdf..159dab18a9 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -23,36 +23,47 @@ require_once(INSTALLDIR.'/lib/settingsaction.php'); class ProfilesettingsAction extends SettingsAction { - function show_form($msg=NULL, $success=false) { - $user = common_current_user(); - $profile = $user->getProfile(); - common_show_header(_t('Profile settings')); - $this->settings_menu(); + function show_top($arr) { + $msg = $arr[0]; + $success = $arr[1]; if ($msg) { $this->message($msg, $success); } else { - common_element('div', 'instructions', - _t('You can update your personal profile info here so people know more about you. ' . - 'Nickname must be 1-64 lowercase letters or numbers -- no punctuation or spaces. ' . - 'Full name, bio, and location can be whatever you want. Email address should be valid.')); + common_element('div', 'instructions', + _t('You can update your personal profile info here '. + 'so people know more about you.')); } + $this->settings_menu(); + } + + function show_form($msg=NULL, $success=false) { + $user = common_current_user(); + $profile = $user->getProfile(); + common_show_header(_t('Profile settings'), NULL, array($msg, $success), + array($this, 'show_top')); + common_element_start('form', array('method' => 'POST', 'id' => 'profilesettings', 'action' => common_local_url('profilesettings'))); # too much common patterns here... abstractable? common_input('nickname', _t('Nickname'), - ($this->arg('nickname')) ? $this->arg('nickname') : $profile->nickname); + ($this->arg('nickname')) ? $this->arg('nickname') : $profile->nickname, + _t('1-64 lowercase letters or numbers, no punctuation or spaces')); common_input('fullname', _t('Full name'), ($this->arg('fullname')) ? $this->arg('fullname') : $profile->fullname); common_input('email', _t('Email address'), - ($this->arg('email')) ? $this->arg('email') : $user->email); + ($this->arg('email')) ? $this->arg('email') : $user->email, + _t('Used only for updates, announcements, and password recovery')); common_input('homepage', _t('Homepage'), - ($this->arg('homepage')) ? $this->arg('homepage') : $profile->homepage); + ($this->arg('homepage')) ? $this->arg('homepage') : $profile->homepage, + _t('URL of your homepage, blog, or profile on another site')); common_textarea('bio', _t('Bio'), - ($this->arg('bio')) ? $this->arg('bio') : $profile->bio); + ($this->arg('bio')) ? $this->arg('bio') : $profile->bio, + _t('Describe yourself and your interests in 140 chars')); common_input('location', _t('Location'), - ($this->arg('location')) ? $this->arg('location') : $profile->location); + ($this->arg('location')) ? $this->arg('location') : $profile->location, + _t('Where you are, like "City, State (or Region), Country"')); common_submit('submit', _t('Save')); common_element_end('form'); common_show_footer(); @@ -108,7 +119,12 @@ class ProfilesettingsAction extends SettingsAction { $user->nickname = $nickname; $user->email = $email; - if (!$user->update($original)) { + common_debug('Updating, nickname ="'.$user->nickname.'" and email ="'.$user->email.'"'); + common_debug('Original, nickname ="'.$original->nickname.'" and email ="'.$original->email.'"'); + + $result = $user->update($original); + + if (!$result) { common_server_error(_t('Couldnt update user.')); return; } @@ -124,11 +140,17 @@ class ProfilesettingsAction extends SettingsAction { $profile->location = $location; $profile->profileurl = common_profile_url($nickname); - if (FALSE === $profile->update($orig_profile)) { + $result = $profile->update($orig_profile); + + if (!$result) { common_server_error(_t('Couldnt save profile.')); return; } + common_broadcast_profile($profile); + + $user->query('COMMIT'); + $this->show_form(_t('Settings saved.'), TRUE); }