]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/noticelistitem.php
Merge branch 'genericons-fix' into 'nightly'
[quix0rs-gnu-social.git] / lib / noticelistitem.php
index 687a645e97f55cc8502ff8558b7409a069cd7481..1a629cf37289bb9b0047eb7d21cc3678b55c7134 100644 (file)
@@ -179,8 +179,9 @@ class NoticeListItem extends Widget
     function showNoticeTitle()
     {
         if (Event::handle('StartShowNoticeTitle', array($this))) {
+            $nameClass = $this->notice->getTitle(false) ? 'p-name ' : '';
             $this->element('a', array('href' => $this->notice->getUri(),
-                                      'class' => 'p-name u-uid'),
+                                      'class' => $nameClass . 'u-uid'),
                            $this->notice->getTitle());
             Event::handle('EndShowNoticeTitle', array($this));
         }
@@ -228,8 +229,10 @@ class NoticeListItem extends Widget
             if ($this->notice->scope != 0 && $this->notice->scope != 1) {
                 $class .= ' limited-scope';
             }
-            if (!empty($this->notice->source)) {
-                $class .= ' notice-source-'.$this->notice->source;
+            try {
+                $class .= ' notice-source-'.common_to_alphanumeric($this->notice->source);
+            } catch (Exception $e) {
+                // either source or what we filtered out was a zero-length string
             }
             $id_prefix = (strlen($this->id_prefix) ? $this->id_prefix . '-' : '');
             $this->out->elementStart($this->item_tag, array('class' => $class,
@@ -283,7 +286,7 @@ class NoticeListItem extends Widget
             $this->out->elementStart('ul', 'addressees');
             $first = true;
             foreach ($pa as $addr) {
-                $this->out->elementStart('li', 'h-card');
+                $this->out->elementStart('li');
                 $text = $addr['text'];
                 unset($addr['text']);
                 $this->out->element('a', $addr, $text);
@@ -301,12 +304,12 @@ class NoticeListItem extends Widget
         $attentions = $this->getAttentionProfiles();
 
         foreach ($attentions as $attn) {
-            $class = $attn->isGroup() ? 'group' : 'account';
-            $profileurl = $attn->getUri();
-            if (common_valid_http_url($profileurl)) {
-                $class .= ' u-uid';
+            if ($attn->isGroup()) {
+                $class = 'group';
+                $profileurl = common_local_url('groupbyid', array('id' => $attn->getGroup()->getID()));
             } else {
-                $profileurl = $attn->getUrl();
+                $class = 'account';
+                $profileurl = common_local_url('userbyid', array('id' => $attn->getID()));
             }
             $this->pa[] = array('href' => $profileurl,
                                 'title' => $attn->getNickname(),
@@ -348,7 +351,8 @@ class NoticeListItem extends Widget
     function showContent()
     {
         // FIXME: URL, image, video, audio
-        $this->out->elementStart('article', array('class' => 'e-content'));
+        $nameClass = $this->notice->getTitle(false) ? '' : 'p-name ';
+        $this->out->elementStart('article', array('class' => $nameClass . 'e-content'));
         if (Event::handle('StartShowNoticeContent', array($this->notice, $this->out, $this->out->getScoped()))) {
             if ($this->maxchars > 0 && mb_strlen($this->notice->content) > $this->maxchars) {
                 $this->out->text(mb_substr($this->notice->content, 0, $this->maxchars) . '[…]');