]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
QnA - truncate long question titles in notice content
authorZach Copley <zach@status.net>
Tue, 5 Apr 2011 00:04:13 +0000 (17:04 -0700)
committerZach Copley <zach@status.net>
Tue, 5 Apr 2011 00:04:13 +0000 (17:04 -0700)
plugins/QnA/QnAPlugin.php
plugins/QnA/actions/qnanewquestion.php
plugins/QnA/classes/QnA_Question.php

index 35811a309a742d6849685e789a0df86d7900c7f4..5b6c1eb91c4d4f8241f48dbaa684352511257379 100644 (file)
@@ -356,7 +356,7 @@ class QnAPlugin extends MicroAppPlugin
      * @param Notice $notice
      * @param HTMLOutputter $out
      */
-    
+
     function showNotice($notice, $out)
     {
         switch ($notice->object_type) {
@@ -415,7 +415,7 @@ class QnAPlugin extends MicroAppPlugin
     function showNoticeAnswer($notice, $out)
     {
         $user = common_current_user();
-        
+
         $answer   = QnA_Answer::getByNotice($notice);
         $question = $answer->getQuestion();
 
index 8682f8dd47213236dbb614d5f625456a0c21cd64..561b11575a7f136652b005b148c43fdeca193e63 100644 (file)
@@ -88,6 +88,7 @@ class QnanewquestionAction extends Action
         }
 
         $this->title       = $this->trimmed('title');
+        common_debug("TITLE = " . $this->title);
         $this->description = $this->trimmed('description');
 
         return true;
index ed1757e9892e5c9021a3881f9451dbde9b1fdc6a..70558763692bf1192a4115f80cd2ba907cf3aec8 100644 (file)
@@ -273,15 +273,17 @@ class QnA_Question extends Managed_DataObject
         common_log(LOG_DEBUG, "Saving question: $q->id $q->uri");
         $q->insert();
 
-        // TRANS: Notice content creating a question.
-        // TRANS: %1$s is the title of the question, %2$s is a link to the question.
-        $content  = sprintf(
-            _m('question: %1$s %2$s'),
-            $title,
-            $q->uri
-        );
+        if (Notice::contentTooLong($q->title . ' ' . $q->uri)) {
+            $max       = Notice::maxContent();
+            $uriLen    = mb_strlen($q->uri);
+            $targetLen = $max - ($uriLen + 15);
+            $title = mb_substr($q->title, 0, $targetLen) . '…';
+
+        }
+
+        $content = $title . ' ' . $q->uri;
 
-        $link = '<a href="' . htmlspecialchars($q->uri) . '">' . htmlspecialchars($title) . '</a>';
+        $link = '<a href="' . htmlspecialchars($q->uri) . '">' . htmlspecialchars($q->title) . '</a>';
         // TRANS: Rendered version of the notice content creating a question.
         // TRANS: %s a link to the question as link description.
         $rendered = sprintf(_m('Question: %s'), $link);