summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/showgroup.php4
-rw-r--r--lib/ping.php9
2 files changed, 10 insertions, 3 deletions
diff --git a/actions/showgroup.php b/actions/showgroup.php
index 9a12bafaf..8e8ff717c 100644
--- a/actions/showgroup.php
+++ b/actions/showgroup.php
@@ -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();
diff --git a/lib/ping.php b/lib/ping.php
index be2933ae3..abf1c4048 100644
--- a/lib/ping.php
+++ b/lib/ping.php
@@ -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) {