]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch 'master' into 0.9.x
authorBrion Vibber <brion@pobox.com>
Thu, 28 Oct 2010 20:01:10 +0000 (13:01 -0700)
committerBrion Vibber <brion@pobox.com>
Thu, 28 Oct 2010 20:01:10 +0000 (13:01 -0700)
actions/showgroup.php
classes/User.php
lib/ping.php

index 9a12bafaf62aba1b4ff763738f1125c558f8cf19..8e8ff717c112a0d2f7ba5544288089630b62d49e 100644 (file)
@@ -298,12 +298,12 @@ class ShowgroupAction extends GroupDesignAction
 
         $this->elementEnd('div');
 
+        $cur = common_current_user();
         $this->elementStart('div', 'entity_actions');
         $this->element('h2', null, _('Group actions'));
         $this->elementStart('ul');
         $this->elementStart('li', 'entity_subscribe');
         if (Event::handle('StartGroupSubscribe', array($this, $this->group))) {
-            $cur = common_current_user();
             if ($cur) {
                 if ($cur->isMember($this->group)) {
                     $lf = new LeaveForm($this, $this->group);
@@ -316,7 +316,7 @@ class ShowgroupAction extends GroupDesignAction
             Event::handle('EndGroupSubscribe', array($this, $this->group));
         }
         $this->elementEnd('li');
-        if ($cur->hasRight(Right::DELETEGROUP)) {
+        if ($cur && $cur->hasRight(Right::DELETEGROUP)) {
             $this->elementStart('li', 'entity_delete');
             $df = new DeleteGroupForm($this, $this->group);
             $df->show();
index f381ec6070eeba6e1ea61d6bbb58e95a8126d859..7345dc7f94ad68aa31277d4a9a21ad4d0a21d00e 100644 (file)
@@ -889,13 +889,23 @@ class User extends Memcached_DataObject
     static function singleUser()
     {
         if (common_config('singleuser', 'enabled')) {
+
+            $user = null;
+
             $nickname = common_config('singleuser', 'nickname');
-            if ($nickname) {
+
+            if (!empty($nickname)) {
                 $user = User::staticGet('nickname', $nickname);
-            } else {
+            }
+
+            // if there was no nickname or no user by that nickname,
+            // try the site owner.
+
+            if (empty($user)) {
                 $user = User::siteOwner();
             }
-            if ($user) {
+
+            if (!empty($user)) {
                 return $user;
             } else {
                 // TRANS: Server exception.
index be2933ae34016fb8dd17901e320ca86f6596c5be..abf1c4048edddb5a6c3f1bcbd783d75d9b4c9abe 100644 (file)
@@ -27,7 +27,14 @@ function ping_broadcast_notice($notice) {
 
        # Array of servers, URL => type
        $notify = common_config('ping', 'notify');
-       $profile = $notice->getProfile();
+    try {
+        $profile = $notice->getProfile();
+    } catch (Exception $e) {
+        // @todo: distinguish the 'broken notice/profile' case from more general
+        //        transitory errors.
+        common_log(LOG_ERR, "Exception getting notice profile: " . $e->getMessage());
+        return true;
+    }
        $tags = ping_notice_tags($notice);
 
        foreach ($notify as $notify_url => $type) {