Files
resatennis_tyroltenn/www/cgi-bin/Demos/DEMO_side.pl

672 lines
27 KiB
Perl
Executable File

#!/usr/sbin/perl
#**************************************************************************
#* *
#* Copyright (c) 1996 Silicon Graphics, Inc. *
#* All Rights Reserved *
#* *
#* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF SGI *
#* *
#* The copyright notice above does not evidence any actual of intended *
#* publication of such source code, and is an unpublished work by Silicon *
#* Graphics, Inc. This material contains CONFIDENTIAL INFORMATION that is *
#* the property of Silicon Graphics, Inc. Any use, duplication or *
#* disclosure not specifically authorized by Silicon Graphics is strictly *
#* prohibited. *
#* *
#* RESTRICTED RIGHTS LEGEND: *
#* *
#* Use, duplication or disclosure by the Government is subject to *
#* restrictions as set forth in subdivision (c)(1)(ii) of the Rights in *
#* Technical Data and Computer Software clause at DFARS 52.227-7013, *
#* and/or in similar or successor clauses in the FAR, DOD or NASA FAR *
#* Supplement. Unpublished - rights reserved under the Copyright Laws of *
#* the United States. Contractor is SILICON GRAPHICS, INC., 2011 N. *
#* Shoreline Blvd., Mountain View, CA 94039-7311 *
#**************************************************************************
# DEMO_side.pl
#
# Routines to manage the sidebar
1; # Return true
sub Generate_Side_Page {
if ($in{$CGI_BOTTOM_SIDE_SWITCH}) {
if ("$in{$CGI_BOTTOM_SIDE_SWITCH}" eq "$CGI_ALL_DEMOS_FLAG") {
&Print_List_All_Page;
} elsif ("$in{$CGI_BOTTOM_SIDE_SWITCH}" eq "$CGI_FEATURES_FLAG") {
&Print_Bottom_Category_Page("$CGI_FEATURES_FLAG", "$in{$CGI_CATEGORY_SWITCH}");
} elsif ("$in{$CGI_BOTTOM_SIDE_SWITCH}" eq "$CGI_MARKETS_FLAG") {
&Print_Bottom_Category_Page("$CGI_MARKETS_FLAG", "$in{$CGI_CATEGORY_SWITCH}");
} elsif ("$in{$CGI_BOTTOM_SIDE_SWITCH}" eq "$CGI_HARDWARE_FLAG") {
&Print_Bottom_Category_Page("$CGI_HARDWARE_FLAG", "$in{$CGI_CATEGORY_SWITCH}");
} elsif ("$in{$CGI_BOTTOM_SIDE_SWITCH}" eq "$CGI_CUSTOM_NAME_FLAG") {
&Print_Bottom_Custom_Page;
} else {
&Print_List_All_In_Tree("$in{$CGI_BOTTOM_SIDE_SWITCH}");
}
} elsif ($in{$CGI_TOP_SIDE_SWITCH}) {
#if ("$in{$CGI_TOP_SIDE_SWITCH}" eq "$CGI_FEATURES_FLAG") {
# &Print_Top_Category_Page("$CGI_FEATURES_FLAG", "$in{$CGI_CATEGORY_SWITCH}");
#} elsif ("$in{$CGI_TOP_SIDE_SWITCH}" eq "$CGI_MARKETS_FLAG") {
# &Print_Top_Category_Page("$CGI_MARKETS_FLAG", "$in{$CGI_CATEGORY_SWITCH}");
#} elsif ("$in{$CGI_TOP_SIDE_SWITCH}" eq "$CGI_HARDWARE_FLAG") {
# &Print_Top_Category_Page("$CGI_HARDWARE_FLAG", "$in{$CGI_CATEGORY_SWITCH}");
#} elsif ("$in{$CGI_TOP_SIDE_SWITCH}" eq "$CGI_CUSTOM_NAME_FLAG") {
# &Print_Top_Custom_Page;
#} else {
&Print_Top_Tree_Menu("$in{$CGI_TOP_SIDE_SWITCH}");
#}
} elsif ($in{$CGI_SUB_SWITCH}) {
# Maybe the first 3 lines here can be removed if the bottom frame buttons are not used???
if ("$in{$CGI_SUB_SWITCH}" eq "$CGI_FEATURES_FLAG") {
&Print_Two_Frames("$CGI_FEATURES_FLAG&$CGI_CATEGORY_SWITCH=$in{$CGI_CATEGORY_SWITCH}","$CGI_FEATURES_FLAG&$CGI_CATEGORY_SWITCH=$in{$CGI_CATEGORY_SWITCH}", &Side_Top_Length("$CGI_FEATURES_FLAG"));
} elsif ("$in{$CGI_SUB_SWITCH}" eq "$CGI_MARKETS_FLAG") {
&Print_Two_Frames("$CGI_MARKETS_FLAG&$CGI_CATEGORY_SWITCH=$in{$CGI_CATEGORY_SWITCH}","$CGI_MARKETS_FLAG&$CGI_CATEGORY_SWITCH=$in{$CGI_CATEGORY_SWITCH}", &Side_Top_Length("$CGI_MARKETS_FLAG"));
} elsif ("$in{$CGI_SUB_SWITCH}" eq "$CGI_HARDWARE_FLAG") {
&Print_Two_Frames("$CGI_HARDWARE_FLAG&$CGI_CATEGORY_SWITCH=$in{$CGI_CATEGORY_SWITCH}","$CGI_HARDWARE_FLAG&$CGI_CATEGORY_SWITCH=$in{$CGI_CATEGORY_SWITCH}", &Side_Top_Length("$CGI_HARDWARE_FLAG"));
#} elsif ("$in{$CGI_SUB_SWITCH}" eq "$CGI_CUSTOM_TOP_FLAG") {
# &Generate_Custom_Top_Page;
} elsif ("$in{$CGI_SUB_SWITCH}" eq "$CGI_SEARCH_RESULT_FLAG") {
&Generate_Search_Result_Page($in{$CGI_DEMO_LIST_SWITCH});
} elsif ("$in{$CGI_SUB_SWITCH}" eq "$CGI_ADMIN_FLAG") {
&Generate_Admin_Menu;
} elsif ("$in{$CGI_SUB_SWITCH}" eq "$CGI_HELP_FLAG") {
&Generate_Help_Menu;
} elsif ("$in{$CGI_SUB_SWITCH}" eq "$CGI_MAINT_FLAG") {
&Print_Maint_Menu;
} else {
&Generate_Trees_Page("$CGI_ALL_DEMOS_FLAG",&Get_Default_List, &Side_Top_Length("$CGI_ALL_DEMOS_FLAG"));
}
} else {
&Generate_Trees_Page("$CGI_ALL_DEMOS_FLAG", &Get_Default_List, &Side_Top_Length("$CGI_ALL_DEMOS_FLAG"));
}
}
sub Generate_Trees_Page {
# if (&Is_Multiple_Trees || &Is_Custom_List) {
&Print_Two_Frames("$_[0]","$_[1]", "$_[2]");
# } else {
# &Print_List_All_Page;
# }
}
sub Generate_Admin_Menu {
&Print_HTTP_Header;
if ($_[0]) {
$no_passwd = "&$CGI_MAINT_OUTSIDE_SWITCH=$CGI_MAINT_FALSE_FLAG";
} else {
$no_passwd = "";
}
local($help_page) = "$WWW_SCRIPT?$CGI_SWITCH=$FRAME_MAIN&$CGI_SUB_SWITCH=$CGI_ADMIN_FLAG";
print "<body background=\"$IMGSRC_BACK_HELP\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
print "<p><b>Administration topics</b><p>\n";
print "<hr><p>\n";
print "<table border cellpadding=\"5\">\n";
print "<tr><th>Do It!</th><th>Info</th></tr>\n";
print "<tr><td>\n";
print "<a target=$FRAME_MAIN onMouseOver=\"window.status = \'Go To Manage Custom List Form\'; return true;\" \n";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$CGI_MAINT_FLAG$no_passwd&$CGI_SUB_SWITCH=$CGI_MAINT_CUSTOM_FLAG\">";
print "<img align=left hspace=5 vspace=3 src=\"$IMGSRC_DOIT_BULLET\" border=0></a>\n";
print "</td><td>\n";
print "<a onMouseOver=\"window.status = \'Help On Managing Custom Demo Lists\'; return true;\" \n";
print "target=$FRAME_MAIN href=\"$help_page$no_passwd#create_custom_list\">\n";
print "Managing Custom Demo Lists</a><BR>\n";
print "</td></tr><tr><td>\n";
print "<a target=$FRAME_MAIN onMouseOver=\"window.status = \'Go To Password Protection Form\'; return true;\" \n";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$CGI_MAINT_FLAG$no_passwd&$CGI_SUB_SWITCH=$CGI_MAINT_PASSWD_FLAG\">";
print "<img align=left hspace=5 vspace=3 src=\"$IMGSRC_DOIT_BULLET\" border=0></a>\n";
print "</td><td>\n";
print "<a onMouseOver=\"window.status = \'Help On Password Protection\'; return true;\" \n";
print "target=$FRAME_MAIN href=\"$help_page$no_passwd#passwd\">\n";
print "Password Protection</a><BR>\n";
print "</td></tr><tr><td>\n";
print "<a target=$FRAME_MAIN onMouseOver=\"window.status = \'Go To Edit Demo Information Form\'; return true;\" \n";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$CGI_MAINT_FLAG$no_passwd&$CGI_SUB_SWITCH=$CGI_MAINT_EDIT_FLAG\">";
print "<img align=left hspace=5 vspace=3 src=\"$IMGSRC_DOIT_BULLET\" border=0></a>\n";
print "</td><td>\n";
print "<a onMouseOver=\"window.status = \'Help On Editing Demo Information\'; return true;\" \n";
print "target=$FRAME_MAIN href=\"$help_page$no_passwd#edit_demo_info\">\n";
print "Edit Demo Information</a><BR>\n";
print "</td></tr><tr><td>\n";
print "<a target=$FRAME_MAIN onMouseOver=\"window.status = \'Go To Add a Demo Form\'; return true;\" \n";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$CGI_MAINT_FLAG$no_passwd&$CGI_SUB_SWITCH=$CGI_MAINT_ADD_FLAG\">";
print "<img align=left hspace=5 vspace=3 src=\"$IMGSRC_DOIT_BULLET\" border=0></a>\n";
print "</td><td>\n";
print "<a onMouseOver=\"window.status = \'Help On Adding a Demo\'; return true;\" \n";
print "target=$FRAME_MAIN href=\"$help_page$no_passwd#add_a_demo\">\n";
print "Add a Demo</a><BR>\n";
print "</td></tr><tr><td>\n";
print "<a target=$FRAME_MAIN onMouseOver=\"window.status = \'Go To Add a Group of Demos Form\'; return true;\" \n";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$CGI_MAINT_FLAG$no_passwd&$CGI_SUB_SWITCH=$CGI_MAINT_ADD_TREE_FLAG\">";
print "<img align=left hspace=5 vspace=3 src=\"$IMGSRC_DOIT_BULLET\" border=0></a>\n";
print "</td><td>\n";
print "<a onMouseOver=\"window.status = \'Help On Add a Group of Demos\'; return true;\" \n";
print "target=$FRAME_MAIN href=\"$help_page$no_passwd#load_tree\">\n";
print "Add a Group of Demos</a><BR>\n";
print "</td></tr><tr><td>\n";
print "<a target=$FRAME_MAIN onMouseOver=\"window.status = \'Go To Managing Categories Form\'; return true;\" \n";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$CGI_MAINT_FLAG$no_passwd&$CGI_SUB_SWITCH=$CGI_MAINT_ELEMENTS_FLAG\">";
print "<img align=left hspace=5 vspace=3 src=\"$IMGSRC_DOIT_BULLET\" border=0></a>\n";
print "</td><td>\n";
print "<a onMouseOver=\"window.status = \'Help On Managing Categories\'; return true;\" \n";
print "target=$FRAME_MAIN href=\"$help_page$no_passwd#managing_categories\">\n";
print "Managing Categories</a><BR>\n";
print "</td></tr><tr><td>\n";
print "<a target=$FRAME_MAIN onMouseOver=\"window.status = \'Go To Update Demo Tables Form\'; return true;\" \n";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$CGI_MAINT_FLAG$no_passwd&$CGI_SUB_SWITCH=$CGI_MAINT_UPDATE_FLAG\">";
print "<img align=left hspace=5 vspace=3 src=\"$IMGSRC_DOIT_BULLET\" border=0></a>\n";
print "</td><td>\n";
print "<a onMouseOver=\"window.status = \'Help On Updating Demo Tables\'; return true;\" \n";
print "target=$FRAME_MAIN href=\"$help_page$no_passwd#update_demo_tables\">\n";
print "Update Demo Tables</a><BR>\n";
print "</td></tr><tr><td></table>\n";
print "<hr>\n";
&Print_HTTP_Footer;
}
sub Print_Top_Custom_Page {
&Print_Side_Bar_Header;
print "<body background=\"$IMGSRC_BACK_CUSTOM\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
&Parse_Name_Space;
if ($MENU_USE_FORM) {
print "<center>\n<font size=1>\n";
print "<form target=\"$FRAME_SIDE_BOTTOM\" action=\"$WWW_SCRIPT\">\n";
print "<input type=hidden name=\"$CGI_SWITCH\" value=\"$FRAME_SIDE\">\n";
print "<input type=hidden name=\"$CGI_BOTTOM_SIDE_SWITCH\" value=\"$CGI_CUSTOM_NAME_FLAG\">\n";
print "<select name=\"$CGI_CUSTOM_NAME_SWITCH\" onChange=\"submitForm(this.form)\">\n";
foreach $list (&alpha(keys(%name_space)) ) {
print "<option value=\"$list\">$list\n";
}
print "</select>\n";
print "</form>\n";
print "</font>\n</center>\n";
} else {
print "<center><font size=3><b>CUSTOM LISTS</b></font></center>\n<p>\n";
for $list ( &alpha(keys(%name_space)) ) {
print "<nobr><img align=left vspace=5 src=\"$IMGSRC_BULLET\" border=0>\n";
print "<a target=$FRAME_SIDE_BOTTOM onMouseOver = \"window.status = ";
print "\'Display $list\'; return true \" ";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&$CGI_BOTTOM_SIDE_SWITCH=$CGI_CUSTOM_NAME_FLAG&";
print "$CGI_CUSTOM_NAME_SWITCH=";
print &HTTP_Syntax($list);
print "\">$list</a>\n</nobr>\n<br><br>\n";
}
print "<br><hr>\n";
}
&Print_HTTP_Footer;
}
sub Print_Bottom_Custom_Page {
&Parse_Name_Space;
if ($in{$CGI_CUSTOM_NAME_SWITCH}) {
$list = $in{$CGI_CUSTOM_NAME_SWITCH};
} else {
@lists = &alpha(keys(%name_space));
$list = $lists[0];
}
&Parse_Name_Space;
&Print_Side_Bar_Header;
print "<body background=\"$IMGSRC_BACK_CUSTOM\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
print "<center><font size=3><b>$list</b></font></center>\n";
print "<p><hr><p>\n";
print "<table border cellpadding=\"5\">\n";
print "<tr><th>Do It!</th><th>Info</th></tr>\n";
local(@custom_demos) = &Demos_On_List("$list");
for (@custom_demos) {
($demo_name, $demo_tree) = split($TREES_DELIM, $_);
&Print_Demo_Bullet("$demo_name", "$demo_tree") if ($demo_tree);
}
print "</table>\n";
print "<p><hr><p>\n";
&Print_HTTP_Footer;
}
sub Print_Top_Tree_Menu {
&Print_Side_Bar_Header;
print "<body background=\"$IMGSRC_BACK_ALL\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
&Parse_Name_Space;
@list_names = &alpha(keys(%name_space));
@tree_names = &List_Tree_Names;
push(@tree_names, @list_names);
if ($MENU_USE_TREES_FORM) {
print "<font size=2>\n";
print "<form target=\"$FRAME_SIDE_BOTTOM\" action=\"$WWW_SCRIPT\">\n";
print "<spacer type=\"horizontal\" size=\"340\"><b>Show:</b><br>\n";
# print "<input type=hidden name=\"$CGI_SWITCH\" value=\"$FRAME_SIDE\">\n";
print "<center>\n<select name=\"$CGI_BOTTOM_SIDE_SWITCH\" onChange=\"treeBelow(this.form)\">\n";
print "<option value=\"$CGI_ALL_DEMOS_FLAG\"";
local($DefList) = &Get_Default_List;
print " selected" if ("$DefList" eq "$CGI_ALL_DEMOS_FLAG");
print ">All Demos\n";
print "<option value=\"";
print "$CGI_MARKETS_FLAG&$CGI_CATEGORY_SWITCH=$CGI_ALL_DEMOS_FLAG\" ";
print ">All by Industries\n";
print "<option value=\"";
print "$CGI_FEATURES_FLAG&$CGI_CATEGORY_SWITCH=$CGI_ALL_DEMOS_FLAG\" ";
print ">All by Features\n";
print "<option value=\"";
print "$CGI_HARDWARE_FLAG&$CGI_CATEGORY_SWITCH=$CGI_ALL_DEMOS_FLAG\" ";
print ">All by Hardware\n";
foreach $tree_name (@tree_names) {
$tree_http_name = &HTTP_Syntax($tree_name);
print "<option value=\"$tree_http_name\"";
print " selected" if ("$tree_name" eq "$DefList");
print ">$tree_name\n";
}
# print "\n";
print "</select>\n";
# print "<br>\n";
# Stop printing default button checkbox since that should go into admin page
# print "<input type=\"checkbox\" name=\"defaultBox\" onClick=\"setDefault(this.form)\" checked><font size=1>Default</font>\n";
print "</form>\n";
print "</center>\n";
print "</font>\n";
} else {
print "<center><font size=3><b>TREES</b></font></center>\n<p>\n";
$bold = ("$CGI_ALL_DEMOS_FLAG" eq "$_[0]");
&Print_Top_Tree_Menu_Item("$CGI_ALL_DEMOS_FLAG", "All Demos", "$bold");
print "<p>\n";
for $tree_name (@tree_names) {
$bold = ("$tree_name" eq "$_[0]");
&Print_Top_Tree_Menu_Item(&HTTP_Syntax($tree_name), "$tree_name", "$bold");
}
print "<hr>\n";
}
&Print_HTTP_Footer;
}
sub Print_Top_Tree_Menu_Item {
print "<nobr><img align=left vspace=0 src=\"$IMGSRC_BULLET\" border=0>\n";
print "<a ";
print "onMouseOver = \"window.status = \'$_[1]\'; return true \" ";
print "onClick=reloadMenu(\"$_[0]\") ";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&";
print "$CGI_BOTTOM_SIDE_SWITCH=$_[0]\" ";
print "target=\"$FRAME_SIDE_BOTTOM\">";
print "<b>" if ($_[2]);
print "$_[1]";
print "</b>" if ($_[2]);
print "</a></nobr>\n<br>\n";
}
sub Print_List_All_In_Tree {
local(@demo_list);
&Print_Side_Bar_Header;
print "<body onLoad=\"parent.parent.setDoc(document)\" background=\"$IMGSRC_BACK_ALL\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
print "<center><font size=3><b>$_[0]</b></font></center>\n";
print "<p><hr><p>\n";
print "<table border cellpadding=\"5\">\n";
print "<tr><th>Do It!</th><th>Info</th></tr>\n";
local($name) = $_[0];
if (grep(/^$name$/, &List_Tree_Names)) {
@demo_list = &Demos_In_Tree("$name");
for $demo (@demo_list) {
$demo = "$demo$TREES_DELIM$name";
}
} else {
&Parse_Name_Space;
@demo_list = &Demos_On_List("$name");
}
for (&alpha(@demo_list)) {
($demo, $tree) = split($TREES_DELIM, $_);
&Print_Demo_Bullet("$demo", "$tree");
}
print "</table>\n";
print "<p><hr><p>\n";
&Print_HTTP_Footer;
}
sub Side_Top_Length {
if ("$_[0]" eq "$CGI_ALL_DEMOS_FLAG") {
if ($MENU_USE_TREES_FORM) {
return($MENU_FORM_SIZE);
} else {
return($MENU_DEFAULT_SIZE);
}
} elsif ($MENU_USE_FORM) {
return($MENU_FORM_SIZE);
} elsif ("$_[0]" eq "$CGI_CUSTOM_NAME_FLAG") {
return($MENU_CUSTOM_SIZE);
} elsif ("$_[0]" eq "$CGI_HARDWARE_FLAG") {
return($MENU_HARDWARE_SIZE);
} elsif ("$_[0]" eq "$CGI_MARKETS_FLAG") {
return($MENU_MARKETS_SIZE);
} elsif ("$_[0]" eq "$CGI_FEATURES_FLAG") {
return($MENU_FEATURES_SIZE);
}
}
sub Print_Two_Frames {
local($top_frame, $bottom_frame, $length);
$top_frame = shift;
$bottom_frame = shift;
$bottom_frame =~ s/ /+/g;
$length = shift;
&Print_HTTP_Header;
print "<frameset frameborder=$FRAME_SIDE_BORDER framespacing=1 border=0 rows=$length,*>\n";
print "\t<frame src=\"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&";
print "$CGI_TOP_SIDE_SWITCH=$top_frame\" marginheight=0 marginwidth=0 ";
print "name=$FRAME_SIDE_TOP>\n";
print "\t<frame src=\"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&";
print "$CGI_BOTTOM_SIDE_SWITCH=$bottom_frame\" marginheight=0 marginwidth=0 ";
print "name=$FRAME_SIDE_BOTTOM>\n";
print "</frameset>\n";
&Print_HTTP_Footer;
}
sub Generate_Custom_Top_Page {
&Parse_Name_Space;
@lists = &List_Custom_Lists;
if (&Number_Custom_Lists == 1) {
&Print_Bottom_Custom_Page;
} else {
&Print_Two_Frames("$CGI_CUSTOM_NAME_FLAG","$CGI_CUSTOM_NAME_FLAG", &Side_Top_Length("$CGI_CUSTOM_NAME_FLAG"));
}
}
sub Print_List_All_Page {
local(@demo_list, $demo, $demo_name, $demo_tree);
&Print_Side_Bar_Header;
print "<body onLoad=\"parent.parent.setDoc(document)\" background=\"$IMGSRC_BACK_ALL\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
print "<center><font size=3><b>All Demos</b></font></center>\n";
print "<p><hr><p>\n";
print "<table border cellpadding=\"5\">\n";
print "<tr><th>Do It!</th><th>Info</th></tr>\n";
@demo_list = &Demos_In_All_Trees;
for $demo (@demo_list) {
($demo_name,$demo_tree) = split(/$TREES_DELIM/, $demo);
&Print_Demo_Bullet("$demo_name", "$demo_tree");
}
print "</table>\n";
print "<p><hr><p>\n";
&Print_HTTP_Footer;
}
sub Generate_Search_Result_Page {
local(@match_demos);
&Print_Side_Bar_Header;
@match_demos = split(/$HTTP_DEMOS_DELIM/, $_[0]);
print "<body onLoad=\"parent.parent.setDoc(document)\" background=\"$IMGSRC_BACK_SEARCH\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
print "<center><font size=3><b>Search Results</b></font></center>\n";
print "<p><hr><p>\n";
print "<table border cellpadding=\"5\">\n";
if ($#match_demos == -1) {
print "<td colspan=\"2\"> <b>Sorry!</b><br> No demo matching<br>that search criteria<br>found.</td>\n";
}
else {
print "<tr><th>Do It!</th><th>Info</th></tr>\n";
for $demo (@match_demos) {
($demo_name, $demo_tree) = split(/$HTTP_TREES_DELIM/, $demo);
&Print_Demo_Bullet("$demo_name", "$demo_tree");
}
}
print "</table>\n";
print "<p><hr><p>\n";
&Print_HTTP_Footer;
}
sub Print_Bottom_Category_Page {
local($category_flag, @demos, $demo, $demo_name, $demo_tree);
&Print_Category_Top($_[0]);
print "<br><hr><p>\n";
for $category (&alpha(keys(%demos_under))) {
$category_flag = &Insert_For_Space("$category", "$HTTP_NAME_DELIM");
if ( ("$_[1]" eq "$CGI_ALL_DEMOS_FLAG") || ("$_[1]" eq "\U$category_flag\E") ) {
@demos = split(/$TABLE_SECOND_DELIM/, $demos_under{$category});
print "<b><a name=\"\U$category_flag\E\"><font size=2>";
print "$category</font></a></b><br><hr>\n";
for $demo (@demos) {
($demo_name,$demo_tree) = split(/$TABLE_THIRD_DELIM/, $demo);
&Print_Demo_Bullet($demo_name, $demo_tree);
}
print "<hr>\n";
}
}
if ("$_[1]" eq "$CGI_ALL_DEMOS_FLAG") {
print "<pre>\n";
for $i (0..$SIDE_EXTRA_LINES) {
print "\n";
}
print "</pre>\n";
}
&Print_HTTP_Footer;
}
sub Print_Top_Category_Page {
local($category, $category_flag);
&Print_Category_Top($_[0]);
if ($MENU_USE_FORM) {
print "<center>\n<font size=1>\n";
print "<form>\n<b>";
print "Select Industry" if ("$_[0]" eq "$CGI_MARKETS_FLAG");
print "Select Feature" if ("$_[0]" eq "$CGI_FEATURES_FLAG");
print "Select Hardware" if ("$_[0]" eq "$CGI_HARDWARE_FLAG");
print "</b><br>\n";
print "<select name=catPicker onChange=\"updateBelow(this.form)\">\n";
print "<option value=\"";
print "$CGI_BOTTOM_SIDE_SWITCH=$_[0]&$CGI_CATEGORY_SWITCH=$CGI_ALL_DEMOS_FLAG\" ";
print "selected" if ("$_[1]" eq "$CGI_ALL_DEMOS_FLAG");
print ">All ";
print "Industries" if ("$_[0]" eq "$CGI_MARKETS_FLAG");
print "Features" if ("$_[0]" eq "$CGI_FEATURES_FLAG");
print "Hardware" if ("$_[0]" eq "$CGI_HARDWARE_FLAG");
print "\n";
foreach $category (&alpha(keys(%demos_under))) {
$category_flag = &Insert_For_Space("$category", "$HTTP_NAME_DELIM");
print "<option value=\"$CGI_BOTTOM_SIDE_SWITCH=$_[0]&$CGI_CATEGORY_SWITCH=\U$category_flag\E\" ";
print "selected" if ("\U$category_flag\E" eq "$_[1]");
print ">$category\n";
}
print "</select>\n";
print "</form>\n";
print "</font>\n</center>\n";
} else {
foreach $category (&alpha(keys(%demos_under))) {
$category_flag = &Insert_For_Space("$category", "$HTTP_NAME_DELIM");
print "<nobr><a ";
print "onMouseOver = \"window.status = \'Scroll Down to $category\'; ";
print "return true \" target=$FRAME_SIDE_BOTTOM ";
print "href=\"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&";
print "$CGI_BOTTOM_SIDE_SWITCH=$_[0]";
print "#\U$category_flag\E\">";
print "<font size=2>$category</font></a>";
print "</nobr><br>\n";
}
}
&Print_HTTP_Footer;
}
sub Print_Category_Top {
&Print_Side_Bar_Header;
print "<body onLoad=\"parent.parent.setDoc(document)\" background=\"";
print "$IMGSRC_BACK_MARKETS"; # using MARKETS image for all
# print "$IMGSRC_BACK_MARKETS" if ("$_[0]" eq "$CGI_FEATURES_FLAG");
# print "$IMGSRC_BACK_MARKETS" if ("$_[0]" eq "$CGI_MARKETS_FLAG");
# print "$IMGSRC_BACK_MARKETS" if ("$_[0]" eq "$CGI_HARDWARE_FLAG");
print "\" text=\"#000000\" link=\"#000022\" vlink=\"#330000\">\n";
&Source_Table("$FILE_TABLE_FEATURES", @features_categories) if ("$_[0]" eq "$CGI_FEATURES_FLAG");
&Source_Table("$FILE_TABLE_MARKETS", @markets_categories) if ("$_[0]" eq "$CGI_MARKETS_FLAG");
&Source_Table("$FILE_TABLE_HARDWARE", @hardware_categories) if ("$_[0]" eq "$CGI_HARDWARE_FLAG");
}
sub Print_Side_Bar_Header {
&Print_HTTP_Header("BLANK", "$HTTP_YES_SCRIPT");
print "<script language=\"JavaScript\">\n";
print "<!-- \n";
&Print_DblClick_Script;
print "function reloadMenu( demo_tree ) {\n";
print "\tparent.frames[\"$FRAME_SIDE_TOP\"].location = ";
print "\"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&";
print "$CGI_TOP_SIDE_SWITCH=\" + demo_tree\n";
print "}\n";
print "\n";
print "function updateBelow (form) {\n";
print "\tyourSelect = form.catPicker.options[form.catPicker.selectedIndex].value\n";
print "\tif (yourSelect != \"$MENU_DO_NOTHING\") {\n";
print "\t\tparent.frames[1].location = \"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&\" + yourSelect\n";
print "\t}\n";
print "}\n";
print "\n";
print "function treeBelow (form) {\n";
print "\tyourSelect = form.$CGI_BOTTOM_SIDE_SWITCH.options[form.$CGI_BOTTOM_SIDE_SWITCH.selectedIndex].value\n";
# print "\tif (yourSelect == parent.parent.defaultTree) {\n";
# print "\t\tform.defaultBox.checked = true\n";
# print "\t} else {\n";
# print "\t\tform.defaultBox.checked = false\n";
# print "\t}\n";
print "\tif (yourSelect != \"$MENU_DO_NOTHING\") {\n";
# print "\t\tform.submit()\n";
print "\t\tparent.frames[1].location = \"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_SIDE&$CGI_BOTTOM_SIDE_SWITCH=\" + yourSelect\n";
print "\t}\n";
print "}\n";
# print "\n";
# print "function setDefault (form) {\n";
# print "\tyourSelect = form.$CGI_BOTTOM_SIDE_SWITCH.options[form.$CGI_BOTTOM_SIDE_SWITCH.selectedIndex].value\n";
# print "\tif (yourSelect != \"$MENU_DO_NOTHING\") {\n";
# print "\t\tparent.parent.defaultTree = yourSelect\n";
# print "\t\tparent.parent.frames[\"$FRAME_DIAG\"].location = \"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_DIAG&$CGI_SUB_SWITCH=$CGI_DEFAULT_FLAG&$CGI_DEFAULT_SWITCH=\" + escape(yourSelect)\n";
# print "\t}\n";
# print "}\n";
# print "\n";
print "\n";
print "function submitForm (form) {\n";
print "\tyourSelect = form.$CGI_CUSTOM_NAME_SWITCH.options[form.$CGI_CUSTOM_NAME_SWITCH.selectedIndex].value\n";
print "\tif (yourSelect != \"$MENU_DO_NOTHING\") {\n";
print "\t\tdocument.forms[0].submit()\n";
print "\t}\n";
print "}\n";
print "\n";
print "// -->\n";
print "</script>\n";
print "</head>\n";
}
sub Print_DblClick_Script {
print "// Protect from double clicks. \n";
print "// c. Silicon Graphics Inc. \n";
print "// David J. Anderson (sprout\@whip.mti.sgi.com) \n\n";
print "var running = false\n";
print "var endTime = null\n";
print "var timerID = null\n";
print "var dblClickLen = $DOUBLE_CLICK_TIME;\n";
print "\n";
print "function safeGo( place ) {\n";
print "\tif (!running) {\n";
print "\t\tupdateLocation(place)\n";
print "\t}\n";
print "\trunning = true\n";
print "\tnow = new Date()\n";
print "\tnow = now.getTime()\n";
print "\tendTime = now + dblClickLen \n";
print "\tshowCountDown()\n";
print "}\n";
print "\n";
print "function updateLocation(newPlace) {\n";
# print "\tself.location = newPlace\n";
#good print "\tself.location.replace(newPlace)\n";
print "\ttop.frames[\"diag\"].location.replace(newPlace)\n";
print "}\n";
print "\n";
print "function showCountDown() {\n";
print "\tvar now = new Date()\n";
print "\tnow = now.getTime()\n";
print "\tif (endTime - now <= 0) {\n";
print "\t\tstopTimer()\n";
print "\t} else {\n";
print "\t\tvar delta = new Date(endTime - now)\n";
print "\t\tvar theDiff = delta.getTime()\n";
print "\t\tif (running) {\n";
print "\t\t\ttimerID = setTimeout(\"showCountDown()\", 1000)\n";
print "\t\t}\n";
print "\t}\n";
print "}\n";
print "\n";
print "function stopTimer() {\n";
print "\tclearTimeout(timerID)\n";
print "\trunning = false\n";
print "}\n";
print "\n";
}
sub Is_Basically_Legal {
local($dir) = shift;
local($demo) = shift;
local($isLegal) = true;
chdir("$dir");
$isLegal = chdir("$dir/$demo");
$isLegal = ( (-x "$DEMOSRC_RUN") && ($isLegal) );
$isLegal = ( (-r "$DEMOSRC_DEMOPIC") && ($isLegal) );
$isLegal = ( (-r "$DEMOSRC_HEADER") && ($isLegal) );
$isLegal = ( (-r "$DEMOSRC_THUMBNAIL") && ($isLegal) );
$isLegal = ( (-r "$DEMOSRC_INDEX") && ($isLegal) );
return($isLegal);
}
sub Print_Demo_Bullet {
local($tree_path);
$tree_path = &Tree_Path_From_Name("$_[1]");
# Run a few file tests to make sure the demo is still there
if ( &Is_Basically_Legal("$tree_path","$_[0]") ) {
print "<tr><td>";
print "<nobr><a ";
print "href=\"javascript:safeGo(\'$WWW_SCRIPT?$CGI_SWITCH=$FRAME_DIAG&";
print "$CGI_SUB_SWITCH=$CGI_EXECUTE_FLAG&$CGI_TREE_SWITCH=";
print &HTTP_Syntax("$_[1]");
print "&$CGI_DEMO_SWITCH=$_[0]\')\" ";
print "onMouseOver = \"window.status = \'Start $_[0]\'; return true \" ";
print ">\n";
print "<img width=58 height=58 align=middle border=0 ";
print "src=\"$PATH_WEB_GENERAL_DIR/$_[0]/$DEMOSRC_THUMBNAIL\"></a>";
print "</td><td align=\"center\">\n";
print "<nobr><a target=$FRAME_MAIN onMouseOver = \"window.status = \'$_[0] Information\'; ";
print "return true \" href=\"$WWW_SCRIPT?$CGI_SWITCH=$FRAME_MAIN&";
print "$CGI_SUB_SWITCH=$CGI_DEMO_INFO_FLAG&";
print "$CGI_TREE_SWITCH=";
print &HTTP_Syntax("$_[1]");
print "&$CGI_DEMO_SWITCH=$_[0]\"><b><font size=-1>$_[0]</font></b></a></nobr><br>";
print "</td></tr>\n";
} else {
# print "<b>Demo $_[0] was skipped</b><p>\n";
&Print_Error("$ERROR_INFO", "Removing \"$_[0]\" from \"$_[1]\". Did not pass basic test of directory.", "$STATUS_MINOR");
# Update tables
}
}