]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/noticelist.php
Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x
[quix0rs-gnu-social.git] / lib / noticelist.php
index 6c296f82a7bfb154db87c28686b3a3592236de74..027db2b3e1ea20ada1883282c505c2db940d45a0 100644 (file)
@@ -75,7 +75,7 @@ class NoticeList extends Widget
     /**
      * show the list of notices
      *
-     * "Uses up" the stream by looping through it. So, probably can't
+     * "Uses up" the stream by looping through it. So, probably cannot
      * be called twice on the same list.
      *
      * @return int count of notices listed.
@@ -199,6 +199,7 @@ class NoticeListItem extends Widget
     {
         $this->out->elementStart('div', 'entry-content');
         $this->showNoticeLink();
+        $this->showNoticeLocation();
         $this->showNoticeSource();
         $this->showContext();
         $this->out->elementEnd('div');
@@ -369,6 +370,44 @@ class NoticeListItem extends Widget
         $this->out->elementEnd('a');
     }
 
+    /**
+     * show the notice location
+     *
+     * shows the notice location in the correct language.
+     *
+     * If an URL is available, makes a link. Otherwise, just a span.
+     *
+     * @return void
+     */
+
+    function showNoticeLocation()
+    {
+        $id = $this->notice->id;
+
+        $location = $this->notice->getLocation();
+
+        if (empty($location)) {
+            return;
+        }
+
+        $name = $location->getName();
+
+        if (empty($name)) {
+            // XXX: Could be a translation issue. Fall back to... something?
+            return;
+        }
+
+        $url  = $location->getUrl();
+
+        if (empty($url)) {
+            $this->out->element('span', array('class' => 'location'), $name);
+        } else {
+            $this->out->element('a', array('class' => 'location',
+                                           'href' => $url),
+                                $name);
+        }
+    }
+
     /**
      * Show the source of the notice
      *
@@ -474,7 +513,7 @@ class NoticeListItem extends Widget
         $user = common_current_user();
 
         if (!empty($user) &&
-            ($this->notice->profile_id == $user->id || $user->hasRight(Right::deleteOthersNotice))) {
+            ($this->notice->profile_id == $user->id || $user->hasRight(Right::DELETEOTHERSNOTICE))) {
 
             $deleteurl = common_local_url('deletenotice',
                                           array('notice' => $this->notice->id));