public function setOriginal($filename)
{
+ if ($this->isGroup()) {
+ // Until Group avatars are handled just like profile avatars.
+ return $this->getGroup()->setOriginal($filename);
+ }
+
$imagefile = new ImageFile($this->id, Avatar::path($filename));
$avatar = new Avatar();
common_debug("Updating User ({$this->id}) nickname from {$dataObject->nickname} to {$this->nickname}");
$origuser = clone($local);
$local->nickname = $this->nickname;
- $result = $local->updateKeys($origuser);
- if ($result === false) {
- common_log_db_error($local, 'UPDATE', __FILE__);
- // TRANS: Server error thrown when user profile settings could not be updated.
- throw new ServerException(_('Could not update user nickname.'));
- }
+ // updateWithKeys throws exception on failure.
+ $local->updateWithKeys($origuser);
// Clear the site owner, in case nickname changed
if ($local->hasRole(Profile_role::OWNER)) {
}
public function getPref($namespace, $topic, $default=null) {
- return Profile_prefs::getData($this, $namespace, $topic, $default);
+ // If you want an exception to be thrown, call Profile_prefs::getData directly
+ try {
+ return Profile_prefs::getData($this, $namespace, $topic, $default);
+ } catch (NoResultException $e) {
+ return null;
+ }
+ }
+
+ // The same as getPref but will fall back to common_config value for the same namespace/topic
+ public function getConfigPref($namespace, $topic)
+ {
+ return Profile_prefs::getConfigData($this, $namespace, $topic);
}
public function setPref($namespace, $topic, $data) {