From: Christopher Kings-L. <ch...@us...> - 2002-04-10 04:19:58
|
Update of /cvsroot/phppgadmin/webdb/public_html/explorer/scripts In directory usw-pr-cvs1:/tmp/cvs-serv18477/scripts Added Files: config.js explorerMenu.js main.js menucss.js menus.js Log Message: code for left nav explorer --- NEW FILE: config.js --- //explorerMenu configuration file //Written by RedHog (Egil Möller) //Copyright (C) 1997 by Söderköpings Tekniska Datorsupport ek. för //This script may freely be distributed, used, modyfied and copyed, as long as this copyright //text remains unchanged at the top of the script. //==Menu proprieties== //The pictures. Note that pictures are assumed to be in .gif-format. and named as shown bellow, plus the individual picture names. var proprieties_pictureSet = curDir + "mnupicts/graysofted-"; //The pictures. Note that pictures are assumed to be in .gif-format. and named as shown bellow, plus the individual picture names. var proprieties_menuCSS = curDir + "scripts/menucss.js"; //The font of the menuitems var proprieties_menuItemFont = "face='Arial,geneva,helvetica' size=+1"; //The color/background of the menu var proprieties_menuBody = "bgcolor='#dfdfdf' text='#000000' link='#000055' vlink='#000055'"; //==Link directory proprieties== //The font of the links var proprieties_linksFont = "face='Arial,geneva,helvetica' size=+1"; //The background of the links var proprieties_linksBody = "bgcolor='#ffffff' text='#000000' link='#000055' vlink='#000055'"; //Leadtexts for links var proprieties_folder_name_firsChar = "N"; var proprieties_folder_name_rest = "AME"; var proprieties_folder_description_firsChar = "D"; var proprieties_folder_description_rest = "ESCRIPTION"; var proprieties_folder_language_firsChar = "L"; var proprieties_folder_language_rest = "ANGUAGE"; //The font of the first characters of the leadtexts var proprieties_leadTextFont = "face='Arial,geneva,helvetica' size=-1 color='#ffffff'"; //The font of the first characters of the leadtexts var proprieties_leadTextFontFirst = "size=+1"; //The background of the leadtexts var proprieties_leadTextBackground = "bgcolor='#0000ff'"; //Path to the about document. Do not change. var proprieties_aboutEM = "http://www.algonet.se/~redhog/Programming/Projects/explorerMenu/index.html"; var proprieties_aboutgetIt = "http://www.algonet.se/~redhog/Programming/Projects/getIt!/index.html"; --- NEW FILE: explorerMenu.js --- //explorerMenu ver. 1.09 script file //Written by RedHog (Egil Möller) //Copyright (C) 1997 by Söderköpings Tekniska Datorsupport ek. för //This script may freely be distributed, used, modyfied and copyed, as long as this copyright //text remains unchanged at the top of the script. function createEmptyMenu(title, href, target, code) { this.showSubMenus = -1; this.type = "menuItem"; this.title = title; if (href != "") this.href = href; else this.href = "javaScript:'';"; this.target = target; this.code = code; this.mnu = new array(0); return this; }; function createEmptyMenuFolder(title) { this.showSubMenus = -1; this.type = "menuFolder"; this.title = title; this.mnu = new array(0); return this; }; function createEmptyFolder(title, target) { this.showSubMenus = -1; this.type = "folder"; this.title = title; this.target = target; this.item = new array(0); this.mnu = new array(0); return this; }; function createFolderItem(href, name, description, language, target) { this.href = href; this.name = name; this.description = description; this.language = language; this.target = target; return this; }; function addSubMenu(mnu, title, href, target, code) { mnu.mnu.length++; mnu.mnu[mnu.mnu.length] = new createEmptyMenu(title, href, target, code); return mnu.mnu.length; }; function addSubMenuFolder(mnu, title) { mnu.mnu.length++; mnu.mnu[mnu.mnu.length] = new createEmptyMenuFolder(title); return mnu.mnu.length; }; function addSubFolder(mnu, title, target) { mnu.mnu.length++; mnu.mnu[mnu.mnu.length] = new createEmptyFolder(title, target); return mnu.mnu.length; }; function addFolderItem(mnu, href, name, description, language, target) { mnu.item.length++; mnu.item[mnu.item.length] = new createFolderItem(href, name, description, language, target); }; function unionize(mnu, subMenu) { mnu.mnu.length++; mnu.mnu[mnu.mnu.length] = subMenu; return mnu.mnu.length; }; function getMenu(mnu, root_varName) { return "<Html>\n" + " <Base href='" + curDir + "'>\n" + " <Style type='text/javascript' src='" + proprieties_menuCSS + "'></Style>\n" + " <Body " + proprieties_menuBody + ">\n" + " <A href='" + proprieties_aboutEM + "' target='main'><Img align=right border=0 src='" + proprieties_pictureSet + "explorerMenu.gif' alt='Go to explorerMenu homepage.'></Img></A>" + " <A href='" + proprieties_aboutgetIt + "' target='main'><Img align=right border=0 src='" + proprieties_pictureSet + "getIt!.gif' alt='Go to explorerMenu homepage.'></Img></A>" + " <Font " + proprieties_menuItemFont + ">\n" + " <nobr>\n" + getSubMenu("", mnu, root_varName, root_varName, -1) + " </nobr>\n" + " </Font>\n" + " </Body>\n" + "</Html>\n"; }; function getSubFolder(mnu, varName) { var html = String(); html = "<Html>\n" + " <Base href='" + curDir + "'>\n" + " <Body " + proprieties_linksBody + ">\n" + " <Font " + proprieties_linksFont + ">\n"; if (mnu.item.length > 0) { html += " <Table border=0 cellspacing=0 cellpadding=0 width=100%>\n" + " <Tr>\n" + " <Td valign=top " + proprieties_leadTextBackground + ">\n" + " <Font " + proprieties_leadTextFont + ">\n" + " <B>\n" + " <Font " + proprieties_leadTextFontFirst + ">" + proprieties_folder_name_firsChar + "</Font>" + proprieties_folder_name_rest + "\n" + " </B>\n" + " </Font>\n" + " </Td>\n" + " <Td valign=top " + proprieties_leadTextBackground + ">\n" + " <Font " + proprieties_leadTextFont + ">\n" + " <B>\n" + " <Font " + proprieties_leadTextFontFirst + ">" + proprieties_folder_description_firsChar + "</Font>" + proprieties_folder_description_rest + "\n" + " </B>\n" + " </Font>\n" + " </Td>\n" + " <Td valign=top " + proprieties_leadTextBackground + ">\n" + " <Font " + proprieties_leadTextFont + ">\n" + " <B>\n" + " <Font " + proprieties_leadTextFontFirst + " >" + proprieties_folder_language_firsChar + "</Font>" + proprieties_folder_language_rest + "\n" + " </B>\n" + " </Font>\n" + " </Td>\n" + " </Tr>\n"; for (var i = 1;i <= mnu.item.length;i++) { html += " <Tr>\n" + " <Td valign=top>\n" + " <Font " + proprieties_linksFont + ">\n" + " <A Href=\"" + mnu.item[i].href + "\" target=\"" + mnu.item[i].target + "\" >" + mnu.item[i].name + "</A>\n" + " </Font>\n" + " </Td>\n" + " <Td valign=top>\n" + " <Font " + proprieties_linksFont + ">\n" + " " + mnu.item[i].description + "\n" + " </Font>\n" + " </Td>\n" + " <Td valign=top>\n" + " <Font " + proprieties_linksFont + ">\n" + " " + mnu.item[i].language + "\n" + " </Font>\n" + " </Td>\n" + " </Tr>\n"; }; html += " </Table>\n"; } else html += "Sorry, there are no items in this folder."; html += " </Font>\n" + " </Body>\n" + "</Html>\n"; return html; }; function getSubMenu(indent, mnu, varName, root_varName, type) { var html = String(); if (mnu.mnu.length > 0) { if (mnu.showSubMenus == 1) { if (type > 0) html = indent + "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\"><Img src='" + proprieties_pictureSet + "middle.expanded.gif' border=0 align=top></Img><Img src='" + proprieties_pictureSet + "map.open.gif' border=0 align=top></Img></A>" else if (type < 0) html = indent + "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\"><Img src='" + proprieties_pictureSet + "map.open.gif' border=0 align=top></Img></A>"; else html = indent + "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\"><Img src='" + proprieties_pictureSet + "end.expanded.gif' border=0 align=top></Img><Img src='" + proprieties_pictureSet + "map.open.gif' border=0 align=top></Img></A>"; if (mnu.type == "menuItem") html += "<A Href=\"" + mnu.href + "\" target=\"" + mnu.target + "\" onClick=\"" + mnu.code + "\">" + mnu.title + "</A><Br>\n"; else if (mnu.type == "menuFolder") html += "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\">" + mnu.title + "</A><Br>\n"; else if (mnu.type == "folder") html += "<A Href=\"javaScript:top.getSubFolder(top." + varName + ", 'top." + varName + "', '');\" target=\"" + mnu.target + "\">" + mnu.title + "</A><Br>\n"; else alert('Unsupported menuitem type: ' + mnu.type + '\n Possible reason: Modules of different versions mixed. Please upgrade.'); for (var i = 1;i <= mnu.mnu.length;i++) { if (type > 0) html += getSubMenu(indent + "<Img src='" + proprieties_pictureSet + "vertical.gif' border=0 align=top></Img>", mnu.mnu[i], varName + ".mnu[" + i + "]", root_varName, (mnu.mnu.length-i)) else if (type < 0) html += getSubMenu(indent, mnu.mnu[i], varName + ".mnu[" + i + "]", root_varName, (mnu.mnu.length-i)) else html += getSubMenu(indent + "<Img src='" + proprieties_pictureSet + "empty.gif' border=0 align=top></Img>", mnu.mnu[i], varName + ".mnu[" + i + "]", root_varName, (mnu.mnu.length-i)); }; } else { if (type > 0) html = indent + "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\"><Img src='" + proprieties_pictureSet + "middle.expandable.gif' border=0 align=top></Img><Img src='" + proprieties_pictureSet + "map.gif' border=0 align=top></A>" else if (type < 0) html = indent + "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\"><Img src='" + proprieties_pictureSet + "map.gif' border=0 align=top></A>" else html = indent + "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\"><Img src='" + proprieties_pictureSet + "end.expandable.gif' border=0 align=top></Img><Img src='" + proprieties_pictureSet + "map.gif' border=0 align=top></A>"; if (mnu.type == "menuItem") html += "<A Href=\"" + mnu.href + "\" target=\"" + mnu.target + "\" onClick=\"" + mnu.code + "\">" + mnu.title + "</A><Br>\n"; else if (mnu.type == "menuFolder") html += "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\" onDblClick=\"top.expandMenu(top." + varName + ");document.href='javascript:top.getMenu(top." + root_varName + ", \\'top." + root_varName + "\\');';\">" + mnu.title + "</A><Br>\n"; else if (mnu.type == "folder") html += "<A Href=\"javaScript:top.getSubFolder(top." + varName + ", 'top." + varName + "', '');\" target=\"" + mnu.target + "\">" + mnu.title + "</A><Br>\n"; else alert('Unsupported menuitem type: ' + mnu.type + '\n Possible reason: Modules of different versions mixed. Please upgrade.'); }; } else { if (mnu.type == "menuItem") html += indent + "<A Href=\"" + mnu.href + "\" target=\"" + mnu.target + "\" onClick=\"" + mnu.code + "\">"; else if (mnu.type == "menuFolder") html += indent + "<A Href=\"javascript:top." + varName + ".showSubMenus *= -1; top.getMenu(top." + root_varName + ", 'top." + root_varName + "');\">"; else if (mnu.type == "folder") html += indent + "<A Href=\"javaScript:top.getSubFolder(top." + varName + ", 'top." + varName + "', '');\" target=\"" + mnu.target + "\">"; else alert('Unsupported menuitem type: ' + mnu.type + '\n Possible reason: Modules of different versions mixed. Please upgrade.'); if (type != 0) html += "<Img src='" + proprieties_pictureSet + "middle.gif' border=0 align=top></Img><Img src='" + proprieties_pictureSet + "doc.gif' border=0 align=top></Img>" + mnu.title + "</A><Br>\n" else if (type < 0) html += "<Img src='" + proprieties_pictureSet + "doc.gif' border=0 align=top></Img>" + mnu.title + "</A><Br>\n" else html += "<Img src='" + proprieties_pictureSet + "end.gif' border=0 align=top></Img><Img src='" + proprieties_pictureSet + "doc.gif' border=0 align=top></Img>" + mnu.title + "</A><Br>\n"; }; return html; }; function getMenuListing(mnu, root_varName, targets) { return "<Html>\n" + " <Base href='" + curDir + "'>\n" + " <Body " + proprieties_menuBody + ">\n" + mnu.html + " <Font size=-1 face='Arial'>\n" + " <nobr>\n" + getSubMenuListing("", mnu, root_varName, root_varName, targets) + " </nobr>\n" + " </Font>\n" + " </Body>\n" + "</Html\n"; }; function getSubMenuListing(indent, mnu, varName, root_varName, targets) { var html = String(); html = indent; if (targets == 1) { if (mnu.type == "menuItem") html += "<A Href=\"" + mnu.href + "\" target=\"" + mnu.target + "\" onClick=\"" + mnu.code + "\">" + mnu.title + "</A><Br>\n"; else if (mnu.type == "menuFolder") html += mnu.title + "<Br>\n"; else if (mnu.type == "folder") html += " <A Href=\"javaScript:top.getSubFolder(top." + varName + ", 'top." + varName + "', '');\" target=\"" + mnu.target + "\">" + mnu.title + "</A><Br>\n"; else alert('Unsupported menuitem type: ' + mnu.type + '\n Possible reason: Modules of different versions mixed. Please upgrade.'); } else { if (mnu.type == "menuItem") html += "<A Href=\"" + mnu.href + "\" onClick=\"" + mnu.code + "\">" + mnu.title + "</A><Br>\n"; else if (mnu.type == "menuFolder") html += mnu.title + "<Br>\n"; else if (mnu.type == "folder") html += " <A Href=\"javaScript:top.getSubFolder(top." + varName + ", 'top." + varName + "', '');\">" + mnu.title + "</A><Br>\n"; else alert('Unsupported menuitem type: ' + mnu.type + '\n Possible reason: Modules of different versions mixed. Please upgrade.'); }; if (mnu.mnu.length > 0) { for (var i = 1;i <= mnu.mnu.length;i++) { html += getSubMenuListing(indent + " ", mnu.mnu[i], varName + ".mnu[" + i + "]", root_varName, targets) }; }; return html; }; function expandMenu(mnu) { mnu.showSubMenus = 1 if (mnu.mnu.length > 0) { for (var i = 1;i <= mnu.mnu.length;i++) { expandMenu(mnu.mnu[i]); }; }; }; --- NEW FILE: main.js --- //explorerMenu global function script file //Written by RedHog (Egil Möller) //Copyright (C) 1997 by Söderköpings Tekniska Datorsupport ek. för //This script may freely be distributed, used, modyfied and copyed, as long as this copyright //text remains unchanged at the top of the script. curDir = new String(window.top.location); if (curDir.substring(curDir.length - 10, curDir.length) == "index.html") curDir = curDir.substring(0, curDir.length - 10); if (curDir.substring(curDir.length, curDir.length - 1) != "/") curDir = curDir + "/"; function array(n) { this.length = n; if (n > 0) for (var i = 1; i <= n; i++) { this[i] = 0; }; return this; }; --- NEW FILE: menucss.js --- //explorerMenu css configuration file //Written by RedHog (Egil Möller) //Copyright (C) 1997 by Söderköpings Tekniska Datorsupport ek. för //This script may freely be distributed, used, modyfied and copyed, as long as this copyright //text remains unchanged at the top of the script. document.tags.A.textDecoration = "none"; --- NEW FILE: menus.js --- //explorerMenu menu contents definition file //Written by RedHog (Egil Möller) //Copyright (C) 1997 by Söderköpings Tekniska Datorsupport ek. för //This script may freely be distributed, used, modyfied and copyed, as long as this copyright //text remains unchanged at the top of the script. //This creates a new menu with the name 'menu' with a root item named 'Home' pointing at the URL 'main.html' //The 3rd parameter is the frame to open main.html in, and the 4th is an optional javascript to run when //opening it (Here unused). var menu = new createEmptyMenu("Home", "main.html", "main", ""); menu.html = ""; //Each line defines either a menu item pointing at a document, or a menu item only being a sub menu (A normal item may be a sub //menu too). The definition takes two or five parameters, depending on the type. Definitions for items which does not point at //a document takes two parameters; the parent menu item and a name. Parent item is defined as the name of the menu and a list //of the text '.mnu[something]'. Each sub sequent such text identifies a sub menu to the menu identified without that sub sequent //text. For example menu.mnu[3] identifies the 3rd menu item in the root menu; menu.mnu[3].mnu[5] identifies the 5th menu item in //the 3rd sub menu to the root menu, and so on... The number identifying the index of an item in a menu (The number inside //brackets), may be placed in a variable (Using the allotation operator, the equal sign (=)). Here is an example with the same //result as the previous one: i1 = 3; i2 = 5; menu.mnu[i1].mnu[i2]. //Whenever you define a menu item, the index of the newly created item is returned, thus, you can do: //This line adds a new sub menu named 'Test directory' i1 = addSubMenuFolder(menu, "Test directory"); //This is in a sub menu i2 = addSubMenuFolder(menu.mnu[i1], "Some links"); i3 = addSubMenuFolder(menu.mnu[i1].mnu[i2], "Internet Service Providers in sweden"); i4 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3], "Algonet (My provider until summer -98)", "http://www.algonet.se", "main", ""); i4 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3], "Telia (I hate them!)", "http://www.telia.com", "main", ""); i4 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3], "Tele2", "http://www.tele2.se", "main", ""); i3 = addSubMenuFolder(menu.mnu[i1].mnu[i2], "Search engines"); i4 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3], "AltaVista", "http://www.altavista.digital.com", "main", ""); i4 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3], "WebCrawler", "http://www.webcrawler.com", "main", ""); i3 = addSubMenuFolder(menu.mnu[i1].mnu[i2], "Universities"); i4 = addSubMenuFolder(menu.mnu[i1].mnu[i2].mnu[i3], "Swedish universities"); i5 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3].mnu[i4], "Linköping University", "http://www.liu.se", "main", ""); i5 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3].mnu[i4], "Stockholm University", "http://www.su.se", "main", ""); i5 = addSubMenu(menu.mnu[i1].mnu[i2].mnu[i3].mnu[i4], "Stockholm Technical High School", "http://www.kth.se", "main", ""); i4 = addSubMenuFolder(menu.mnu[i1].mnu[i2].mnu[i3], "I don't know about any other universities"); i3 = addSubMenu(menu.mnu[i1].mnu[i2], "The RedHog's den", "http://www.algonet.se/~redhog", "main", ""); i1 = addSubMenu(menu, "About", "About.html", "main", ""); //This ensures that the top most menu is expanded after loading the site (It can be collapsed by klicking on it). //The best way to understund what this is about is to comment the line out and see the result... menu.showSubMenus *= -1; |