Blog dashlet improvements
authorColeman Watts <coleman@civicrm.org>
Wed, 3 Aug 2016 19:07:01 +0000 (15:07 -0400)
committerColeman Watts <coleman@civicrm.org>
Fri, 12 Aug 2016 03:32:35 +0000 (23:32 -0400)
CRM/Dashlet/Page/Blog.php
css/dashboard.css
templates/CRM/Dashlet/Page/Blog.tpl

index 31462f81f1c0baee2962d47cc1a975f6ef4f7d2a..acc144ba9ed39d87a681232e1876b28b85bcbbf7 100644 (file)
@@ -117,7 +117,12 @@ class CRM_Dashlet_Page_Blog extends CRM_Core_Page {
         $item = (array) $item;
         // Clean up description - remove tags that would break dashboard layout
         $description = preg_replace('#<h[1-3][^>]*>(.+?)</h[1-3][^>]*>#s', '<h4>$1</h4>', $item['description']);
-        $item['description'] = strip_tags($description, "<a><p><h4><h5><h6><b><i><em><strong><ol><ul><li><dd><dt><code><pre><br/>");
+        $description = strip_tags($description, "<a><p><h4><h5><h6><b><i><em><strong><ol><ul><li><dd><dt><code><pre><br/>");
+        // Add paragraph markup if it's missing.
+        if (strpos($description, '<p') === FALSE) {
+          $description = '<p>' . $description . '</p>';
+        }
+        $item['description'] = $description;
         $blog[] = $item;
       }
       if ($blog) {
index 60017e5e607352e21a35b5d58f300f43ea130fa4..c2f63fb6531467378404f3da6be98da1c03f385b 100644 (file)
@@ -75,7 +75,7 @@
 #crm-container .widget-content .crm-accordion-header {
   background-color: #EFEFE5;
   background-image: url("../i/TreeMinus.gif");
-  color: #3E3E3E;
+  color: #080808;
 }
 
 #crm-container .widget-content .crm-accordion-wrapper.collapsed .crm-accordion-header {
index 4f130dbe1556e60e6189c2a574f90e7a9d4a8516..a59bbabad68f3ce0ab453f818dc70f5f09d19b1f 100644 (file)
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-{foreach from=$blog item=article}
+{strip}{literal}
+<style type="text/css">
+  #civicrm-blog-feed .collapsed .crm-accordion-header {
+    text-overflow: ellipsis;
+    text-wrap: none;
+    white-space: nowrap;
+    overflow: hidden;
+  }
+  #civicrm-blog-feed .crm-blog-preview {
+    color: #8d8d8d;
+    display: none;
+  }
+  #civicrm-blog-feed .collapsed .crm-blog-preview {
+    display: inline;
+  }
+</style>
+{/literal}
 <div id="civicrm-blog-feed">
+{foreach from=$blog item=article}
   <div class="crm-accordion-wrapper collapsed">
-    <div class="crm-accordion-header">{$article.title}</div>
-    <div class="crm-accordion-body help">
+    <div class="crm-accordion-header">
+      <span class="crm-blog-title">{$article.title}</span>
+      <span class="crm-blog-preview"> - {$article.description|strip_tags|substr:0:100}…</span>
+    </div>
+    <div class="crm-accordion-body">
       <div>{$article.description}</div>
-      <div><a href="{$article.link}" title="{$article.title}">{ts}read more{/ts}.</a></div>
+      <div><a target="_blank" href="{$article.link}" title="{$article.title}"><i class="crm-i fa-external-link"></i> {ts}read more{/ts}…</a></div>
     </div>
   </div>
-</div>
 {/foreach}
+</div>
+{/strip}