]> 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..4e5623ded60fee5ae43b52866b249af488025cec 100644 (file)
@@ -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');
@@ -346,7 +347,7 @@ class NoticeListItem extends Widget
      * show the link to the main page for the notice
      *
      * Displays a link to the page for a notice, with "relative" time. Tries to
-     * get remote notice URLs correct, but doesn't always succeed.
+     * get remote notice URLs correct, but does not always succeed.
      *
      * @return void
      */
@@ -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
      *
@@ -444,7 +483,7 @@ class NoticeListItem extends Widget
      * show a link to reply to the current notice
      *
      * Should either do the reply in the current notice form (if available), or
-     * link out to the notice-posting form. A little flakey, doesn't always work.
+     * link out to the notice-posting form. A little flakey, does not always work.
      *
      * @return void
      */
@@ -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));