From 5a5f92392ccfb299d391be1c94c25b693c9e2db9 Mon Sep 17 00:00:00 2001
From: Cameron <e107inc@gmail.com>
Date: Wed, 15 Mar 2017 15:56:17 -0700
Subject: [PATCH] news-grid sitelink menu.

---
 e107_plugins/news/e_sitelink.php              | 47 +++++++++++++++++--
 .../news/templates/news_grid_template.php     |  9 +++-
 e107_web/css/e107.css                         | 10 +++-
 3 files changed, 60 insertions(+), 6 deletions(-)

diff --git a/e107_plugins/news/e_sitelink.php b/e107_plugins/news/e_sitelink.php
index 2465a0098..cba435080 100644
--- a/e107_plugins/news/e_sitelink.php
+++ b/e107_plugins/news/e_sitelink.php
@@ -39,12 +39,45 @@ class news_sitelink // include plugin-folder in the name.
 			'name'			=> "Last 10 News Items",
 			'function'		=> "last_ten",
 			'description' 	=> ""
-		);	
+		);
+
+		$links[] = array(
+			'name'			=> "Last 10 News Items (News Grid)",
+			'function'		=> "last_ten_newsgrid",
+			'description' 	=> ""
+		);
 		
 		return $links;
 	}
 
-	
+
+	function last_ten_newsgrid()
+	{
+
+		$text = '<div class="dropdown-menu mega-dropdown-menu">
+                    <div class="container">';
+
+		$parm = array();
+		$parm['limit'] = 9;
+		$parm['category'] = 0;
+		$parm['source'] = 'latest';
+		$parm['featured'] = 1;
+		$parm['layout'] = 'sitelink-last-ten';
+
+		$mega = e107::getObject('news')->render_newsgrid($parm);
+
+	//	e107::getDebug()->log($mega);
+
+		$text .= $mega;
+
+		$text .= '
+                    </div>
+				</div>			';
+
+		return $text;
+
+	}
+
 	function news_category_page()
 	{
 		return $this->news_category_list('category');	
@@ -110,14 +143,15 @@ class news_sitelink // include plugin-folder in the name.
 	}
 
 
-	function last_ten() 
+	function last_ten()
 	{
 		$sql = e107::getDb();
 		$sublinks = array();
 		
 		$nobody_regexp = "'(^|,)(".str_replace(",", "|", e_UC_NOBODY).")(,|$)'";
 		$query = "SELECT * FROM #news WHERE news_class REGEXP '".e_CLASS_REGEXP."' AND NOT (news_class REGEXP ".$nobody_regexp.") ORDER BY news_datestamp DESC LIMIT 10";
-		
+
+
 		if($sql->gen($query))
 		{		
 			while($row = $sql->fetch())
@@ -133,6 +167,8 @@ class news_sitelink // include plugin-folder in the name.
 					'link_open'			=> '',
 					'link_class'		=> intval($row['news_class'])
 				);
+
+
 			}
 			
 			$sublinks[] = array(
@@ -146,6 +182,9 @@ class news_sitelink // include plugin-folder in the name.
 					'link_open'			=> '',
 					'link_class'		=> intval($row['news_class'])
 				);
+
+
+
 				
 			return $sublinks;
 	    };
diff --git a/e107_plugins/news/templates/news_grid_template.php b/e107_plugins/news/templates/news_grid_template.php
index 87caeadb5..37a8b42a3 100644
--- a/e107_plugins/news/templates/news_grid_template.php
+++ b/e107_plugins/news/templates/news_grid_template.php
@@ -100,10 +100,17 @@
 													    <p>{NEWS_SUMMARY: limit=60}</p>
 													  </div>
 													  </li>
-													</ul>
+
 												</ul>
             							    </div>';
 
 
 	$NEWS_GRID_TEMPLATE['media-list']['end'] = '</div>';
 
+
+	// @see sitelink function "Last 10 News Items (News Grid)"
+	$NEWS_GRID_TEMPLATE['sitelink-last-ten'] = $NEWS_GRID_TEMPLATE['media-list'];
+
+
+
+
diff --git a/e107_web/css/e107.css b/e107_web/css/e107.css
index 159318aef..d6e7f453b 100644
--- a/e107_web/css/e107.css
+++ b/e107_web/css/e107.css
@@ -344,4 +344,12 @@ div.login-page-signup-link, div.login-page-fpw-link { text-align:center }
 
 /* Navigation */
 .nav-side.listgroup { padding-left:0; }
-.nav-side li.list-group-item.active { padding:0}
\ No newline at end of file
+.nav-side li.list-group-item.active { padding:0}
+
+
+.news-last-ten-newsgrid { position: static !important; }
+
+.mega-dropdown-menu {
+  padding: 20px 15px 15px;
+  width: 100%;
+}
\ No newline at end of file