X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FProfile.php;h=0b608fbb24883164733d90560d8c9a8c1c5cbbcc;hb=2688b45b572626694c67f912ef3b0d7556426550;hp=a03f53cc7d69cbdce92d38deff48caa8789cb932;hpb=7589e788170e8c322e858abfe35522cf71224579;p=quix0rs-gnu-social.git diff --git a/classes/Profile.php b/classes/Profile.php index a03f53cc7d..0b608fbb24 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -155,6 +155,11 @@ class Profile extends Managed_DataObject 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(); @@ -838,12 +843,8 @@ class Profile extends Managed_DataObject 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)) { @@ -861,7 +862,6 @@ class Profile extends Managed_DataObject { $this->_deleteNotices(); $this->_deleteSubscriptions(); - $this->_deleteMessages(); $this->_deleteTags(); $this->_deleteBlocks(); $this->_deleteAttentions(); @@ -937,17 +937,6 @@ class Profile extends Managed_DataObject $self->delete(); } - function _deleteMessages() - { - $msg = new Message(); - $msg->from_profile = $this->id; - $msg->delete(); - - $msg = new Message(); - $msg->to_profile = $this->id; - $msg->delete(); - } - function _deleteTags() { $tag = new Profile_tag(); @@ -1577,8 +1566,23 @@ class Profile extends Managed_DataObject return $this->getUser()->shortenLinks($text, $always); } + public function delPref($namespace, $topic) { + return Profile_prefs::setData($this, $namespace, $topic, null); + } + 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) {