· 8 years ago · Apr 13, 2018, 09:42 PM
1function menuDynamic($DBname,$ImagePath) {
2 $sqlMenu = "SELECT
3 ID,
4 SortOrder,
5 ItemTitle,
6 ToolTip,
7 LinkURL,
8 ParmName,
9 ParentID ,
10 ItemLevel,
11 ItemQuery
12 FROM mainmenu
13 ORDER BY SortOrder, ItemLevel";
14 $rowMenu = DBConnect($sqlMenu, "Multiple", $DBname);
15
16 $NavIcon = "<img src="$ImagePath/arrow_r.gif" class="NavArrow">";
17
18 echo "<div class="menustyle">n";
19 echo "<nav>n<ul>n";
20 foreach ($rowMenu as $row) :
21 $ParentID = (isset($row['ParentID'])) ? $row['ParentID'] : "";
22 $ID = (isset($row['ID'])) ? $row['ID'] : "";
23 $ItemTitle = (isset($row['ItemTitle'])) ? $row['ItemTitle'] : "";
24 $ToolTip = (isset($row['ToolTip'])) ? $row['ToolTip'] : "";
25 $LinkURL = (isset($row['LinkURL'])) ? $row['LinkURL'] : "";
26 $ParmName = (isset($row['ParmName'])) ? $row['ParmName'] : "";
27 $PageLink = ($ID && $LinkURL) ? "$LinkURL?$ParmName=$ID" : "";
28 $ItemQuery = (isset($row['ItemQuery'])) ? $row['ItemQuery'] : "";
29 if ($ParentID == 0) :
30 $HasChildren = (DBLookup("SELECT COUNT(ID) FROM mainmenu WHERE ParentID=$ID OR (ItemQuery IS NOT NULL AND ID=$ID)", $DBname) > 0) ? TRUE : FALSE;
31 $NavIcon = ($HasChildren === TRUE) ? " $NavIcon" : "";
32 menuItem($LinkURL, $ItemTitle, $ToolTip, "_self", $NavIcon);
33 if ($ItemQuery) :
34 $rowMenu = DBConnect($ItemQuery, "Multiple", $DBname);
35 foreach ($rowMenu as $row) :
36 $ParentID = (isset($row['ParentID'])) ? $row['ParentID'] : "";
37 $ID = (isset($row['ID'])) ? $row['ID'] : "";
38 $ItemTitle = (isset($row['ItemTitle'])) ? $row['ItemTitle'] : "";
39 $ToolTip = (isset($row['ToolTip'])) ? $row['ToolTip'] : "";
40 $LinkURL = (isset($row['LinkURL'])) ? $row['LinkURL'] : "";
41 $ParmName = (isset($row['ParmName'])) ? $row['ParmName'] : "";
42 $PageLink = ($ID && $LinkURL) ? "$LinkURL?$ParmName=$ID" : "";
43 $ItemQuery = (isset($row['ItemQuery'])) ? $row['ItemQuery'] : "";
44 $HasChildren = (DBLookup("SELECT COUNT(ID) FROM mainmenu WHERE ParentID=$ID OR (ItemQuery IS NOT NULL AND ID=$ID)", $DBname) > 0) ? TRUE : FALSE;
45 $NavIcon = ($HasChildren === TRUE) ? " $NavIcon" : "";
46 menuItem($LinkURL, $ItemTitle, $ToolTip, "_self", $NavIcon);
47 endforeach;
48 endif;
49 endif;
50 endforeach;
51 echo "</ul>n</nav>n</div>nn";
52}
53
54function menuItem($LinkURL, $LinkName, $Tip="Select to open", $Target="_self", $NavIcon) {
55 $BeginLink = ($LinkURL) ? "<a href="$LinkURL" target="$Target" alt="$LinkName" title="$Tip">" : "";
56 $EndLink = ($LinkURL) ? "</a>" : "";
57 echo "<li>$BeginLink$LinkName$NavIcon$EndLink</li>n";
58}
59
60DROP TABLE IF EXISTS `mainmenu`;
61CREATE TABLE IF NOT EXISTS `mainmenu` (
62 `ID` int(11) unsigned NOT NULL AUTO_INCREMENT,
63 `SortOrder` tinyint(3) unsigned DEFAULT '0',
64 `ItemTitle` varchar(255) DEFAULT NULL,
65 `ToolTip` varchar(255) DEFAULT NULL,
66 `LinkURL` varchar(255) DEFAULT NULL,
67 `ParmName` varchar(50) DEFAULT NULL,
68 `ParentID` tinyint(3) unsigned DEFAULT '0',
69 `ItemLevel` tinyint(3) unsigned DEFAULT '0',
70 `ItemQuery` text,
71 PRIMARY KEY (`ID`)
72) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
73
74/*!40000 ALTER TABLE `mainmenu` DISABLE KEYS */;
75REPLACE INTO `mainmenu` (`ID`, `SortOrder`, `ItemTitle`, `ToolTip`, `LinkURL`, `ParmName`, `ParentID`, `ItemLevel`, `ItemQuery`) VALUES
76 (1, 1, 'Introduction', 'Site Introduction and Description', '/', NULL, 0, 0, NULL),
77 (2, 2, 'Articles', 'List of Articles', NULL, NULL, 0, 0, NULL),
78 (3, 3, NULL, NULL, '/', 'ID', 2, 1, 'SELECT ID, Title nFROM pages nWHERE ShowEntry = 1 nORDER BY Title'),
79 (4, 4, 'Classified Ads', 'Classified Ads', NULL, NULL, 0, 0, NULL),
80 (5, 5, 'Post Your Ad', 'Post Your Classified Ad', '/members/addclassified.php', NULL, 4, 0, NULL),
81 (6, 6, NULL, NULL, '/categories/classifieds.php', 'MenuID', 4, 1, 'SELECT DISTINCT mg.ID AS ID, ButtonText'),
82 (7, 7, 'Sold', 'Items Sold', '/categories/classifieds.php?Sold=4', NULL, 4, 1, NULL),
83 (8, 8, NULL, NULL, '/categories/classifieds.php', 'MenuGroup', 7, 2, 'SELECT DISTINCT mg.ID AS ID, ButtonTextnFROM sale c nLEFT JOIN marques m ON m.ID = c.MarquenLEFT JOIN menugroups mg ON mg.ID = m.MenuID nLEFT JOIN classifiedtype ct ON c.SaleWanted = ct.IDnWHERE SaleWanted IS NOT NULL nAND ( Status = 4 )nORDER BY ButtonText'),
84 (9, 9, 'View All', 'View All Classified Ads', '/categories/classifieds.php?Classifieds=1', NULL, 4, 1, NULL),
85 (10, 10, 'Members Area', 'Log-in or Open Member Menu', '/members/', NULL, 0, 0, NULL),
86 (11, 11, 'Other Sites', 'View List of other Related Sites', '/categories/links.php', NULL, 0, 0, NULL),
87 (12, 12, 'Parts Book', 'View the Interactive Parts Book (requires login)', NULL, NULL, 0, 0, 'SELECT DISTINCT Edition nFROM parts_listing nORDER BY Edition'),
88 (13, 13, 'NUMERICAL INDEX', 'Numeric Part Number Listing of Parts Book', '/members/partsbookindex.php?Edition-48-54', NULL, 12, 1, NULL),
89 (14, 14, NULL, NULL, '/members/partsbook.php', 'BaseGroup', 12, 2, 'SELECT DISTINCT BaseGroup, CONCAT_WS(' ', 'Group', BaseGroup , '-', BaseName) AS BaseName n FROM parts_listing nORDER BY BaseGroup'),
90 (15, 15, 'Photo Albums', 'Select Album To View', NULL, NULL, 0, 0, NULL),
91 (16, 16, NULL, NULL, NULL, NULL, 15, 1, 'SELECT ID, BaseCategoryNamenFROM albumbasecategories ac nWHERE ID IN (SELECT DISTINCT BaseCategory FROM albumtypes)nORDER BY BaseCategoryName'),
92 (17, 17, NULL, NULL, '/categories/album.php', 'ID', 16, 2, 'SELECT ID, AlbumName n FROM albumtypes n WHERE BaseCategory = {$_POST['ID']} n ORDER BY AlbumName'),
93 (18, 18, 'Rosters', 'Roster Details', NULL, NULL, 0, 0, NULL),
94 (19, 19, NULL, NULL, NULL, NULL, 18, 1, 'SELECT ID, Make FROM roster_makes nWHERE ID IN (SELECT Make FROM roster) nORDER BY SortOrder'),
95 (20, 20, NULL, NULL, '/members/rosterdetails.php', 'ID', 19, 2, 'SELECT ID, Make FROM roster_makes nWHERE ID IN (SELECT Make FROM roster) nORDER BY SortOrder'),
96 (21, 21, 'Transportation', 'Short and Long Distance Auto Transporting and Shipping', '/categories/transportation.php', NULL, 0, 0, NULL),
97 (22, 22, 'Contact Me', 'Contact Me', '/categories/contact.php', NULL, 0, 0, NULL);