In addition: here are the httpd.conf configurations for this application: <FilesMatch "\.(htm|asp)$"> PerlSetVar Global /usr/local/etc/infosource/apps/netcfg/ # PerlSetVar Global . PerlSetVar GlobalPackage INAP::NEIS PerlSetVar StateDir /usr/local/etc/infosource/apps/netcfg/state-dir PerlSetVar CookiePath /apps/netcfg SetHandler perl-script PerlHandler Apache::ASP Apache::SSI PerlSetVar SessionTimeout 90 #0 production, 2 or 1 for dev PerlSetVar Debug 0 PerlSetVar StatINCMatch PNAP|NCM # PerlSetVar StatINC 1 #0 production, text compression # PerlSetVar DynamicIncludes 0 PerlSetVar Clean 0 PerlSetVar StateDB DB_File PerlSetVar AllowSessionState 1 PerlSetVar DebugBufferLength 500 PerlSetVar StateCache 0 # PerlSetVar UseStrict 1 PerlSetVar TimeHiRes 1 </FilesMatch> On Wed, 4 Apr 2001, Carl Lipo wrote: > > I've just started having problems with asp state files for Apache::ASP > 2.09 becoming corrupted during use. My application will work just fine but > at somepoint the session asp state files get corrupted and only deleting > them allows the application to continue working. Oddly, this occurs on two > different servers so the problem does not appear to be machine specific. > > The symptom of the problem is that application errors are returned > from the asp code execution that look something like this: > > Uncaught exception from user code: > Can't locate object method 'Quer' via package > "Apache::ASP::Request'; at (eval 263) <a href=#167>l > ine 167</a>. >INAP::NEIS::_usr_local_applprod_infosource_apps_netcfg_viewNodes_htmxINL() called > at /usr/local/lib/site_perl/Apache/ > ASP.pm line 1504 > > or > > $Response::Appe not defined at /usr/local/lib/site_perl/Apache/ASP.pm <a > href=#3132>line 3132</a> > > Where the object method that cant be located is truncated from the actual > ASP method (i.e., Query will be truncated to be Quer or $Response::Append > to log will be tructed at Response::Appe). What appears to be happnening > is that the namespace is corrupted somehow and the Apache::ASP/mod_perl is > not mapping the names of methods correctly. > > When we delete the state files, the problem goes away (and then returns at > some point in the future). Has anyone encountered this problem? Is there a > bug in the 2.09 code? > > This is our environment: > Linux, Apache 1.3.19, mod_perl 1.25 > Apache::ASP 2.09 > > ---------------------------------------------------------------------------- > Here is the actual error output: > > <table> > <tr><td valign=top><font size=-1><b> Global: </b><td valign=top><font size=-1> >/usr/local/etc/infosource/apps/netcfg/ > <tr><td valign=top><font size=-1><b> File: </b><td valign=top><font size=-1> >/usr/local/applprod/infosource/apps/netcfg/viewNodes.htm > <tr><td valign=top><font size=-1><b> IP: </b><td valign=top><font size=-1> >64.94.117.16 > <tr><td valign=top><font size=-1><b> HTTP_*: </b><td valign=top><font size=-1> >HTTP_ACCEPT= image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*<br> > HTTP_ACCEPT_CHARSET= iso-8859-1,*,utf-8<br> > HTTP_ACCEPT_ENCODING= gzip<br> > HTTP_ACCEPT_LANGUAGE= en<br> > HTTP_CONNECTION= Keep-Alive<br> > HTTP_COOKIE= session-id=0eef76d5377c6e62def6333423014869<br> > HTTP_HOST= applprod4.sea.internap.com<br> > HTTP_REFERER= https://applprod4.sea.internap.com/apps/netcfg/searchNode.htm<br> > HTTP_USER_AGENT= Mozilla/4.75 [en] (X11; U; Linux 2.2.16 i686) > <tr><td valign=top><font size=-1><b> Query: </b><td valign=top><font size=-1> > <tr><td valign=top><font size=-1><b> Form: </b><td valign=top><font size=-1> >search= Search <br> > searchLocation= <br> > searchNodeName= <br> > searchNodeStatus= <br> > searchNodeType= <br> > searchRack= <br> > searchSiteCode= sea<br> > sessionActive= Active > </table> > > <tt> > <b><u>Errors Output</u></b> > <ol> > > <li> Uncaught exception from user code: > Can't locate object method "Quer" via package >"Apache::ASP::Request" at (eval 263) <a href=#167>line 167</a>. > INAP::NEIS::_usr_local_applprod_infosource_apps_netcfg_viewNodes_htmxINL() >called at /usr/local/lib/site_perl/Apache/ASP.pm line 1504 > eval {...} called at /usr/local/lib/site_perl/Apache/ASP.pm line 1504 > Apache::ASP::Execute('Apache::ASP=HASH(0x8d7d930)') called at >/usr/local/lib/site_perl/Apache/ASP.pm line 174 > Apache::ASP::handler('Apache=SCALAR(0x8d2b978)') called at /dev/null line 0 > eval {...} called at /dev/null line 0 > , /usr/local/lib/site_perl/Apache/ASP.pm line 1506 > </ol> > > <b><u>Debug Output</u></b> > <ol> > > <li> Uncaught exception from user code: > Can't locate object method "Quer" via package >"Apache::ASP::Request" at (eval 263) line 167. > INAP::NEIS::_usr_local_applprod_infosource_apps_netcfg_viewNodes_htmxINL() >called at /usr/local/lib/site_perl/Apache/ASP.pm line 1504 > eval {...} called at /usr/local/lib/site_perl/Apache/ASP.pm line 1504 > Apache::ASP::Execute('Apache::ASP=HASH(0x8d7d930)') called at >/usr/local/lib/site_perl/Apache/ASP.pm line 174 > Apache::ASP::handler('Apache=SCALAR(0x8d2b978)') called at /dev/null line 0 > eval {...} called at /dev/null line 0 > , /usr/local/lib/site_perl/Apache/ASP.pm line 1506 > </ol> > </tt> > <pre> > > <b><u>ASP to Perl Script</u></b><a name=1> </a> > > <a name=2> 1</a>: package INAP::NEIS; ;; sub >INAP::NEIS::_usr_local_applprod_infosource_apps_netcfg_viewNodes_htmxINL { ;; @_ = >(); ;; no strict;;use vars qw($Application $Session $Response $Server $Request);;use >lib qw(/usr/local/etc/infosource/apps/netcfg/);;; > <a name=3> 2</a>: > <a name=4> 3</a>: $Response->AppendToLog("[NEIS] - init.htm:"); > <a name=5> 4</a>: > <a name=6> 5</a>: > <a name=7> 6</a>: ################################################### > <a name=8> 7</a>: # > <a name=9> 8</a>: # init.htm > <a name=10> 9</a>: # > <a name=11> 10</a>: # Dexter and Wayland > <a name=12> 11</a>: # > <a name=13> 12</a>: # October 2000 > <a name=14> 13</a>: # > <a name=15> 14</a>: # 10/12/00 Wayland Wasserman > <a name=16> 15</a>: # Common header file for entire NCM app > <a name=17> 16</a>: # Contains database info and other global data > <a name=18> 17</a>: # > <a name=19> 18</a>: # > <a name=20> 19</a>: #################################################### > <a name=21> 20</a>: > <a name=22> 21</a>: use DBI; # Used for database >calls. > <a name=23> 22</a>: use PNAP::NETCFG::DBconn qw(dbconnect); # Used for database >calls. > <a name=24> 23</a>: use PNAP::Conf; > <a name=25> 24</a>: use PNAP::Database::Query; > <a name=26> 25</a>: use NCM::Nodes; > <a name=27> 26</a>: use NCM::Common; > <a name=28> 27</a>: use XML::Config; > <a name=29> 28</a>: use strict; > <a name=30> 29</a>: > <a name=31> 30</a>: # This part is in the Apache configuration file, httpd.conf. > <a name=32> 31</a>: # BEGIN > <a name=33> 32</a>: # { > <a name=34> 33</a>: # $ENV{'ORACLE_HOME'} = 'usr/local/oracle_client/v8_0_5'; > <a name=35> 34</a>: # } > <a name=36> 35</a>: > <a name=37> 36</a>: $Response->AppendToLog("[NEIS] - init.htm: test 1"); > <a name=38> 37</a>: > <a name=39> 38</a>: ### Read the conf file ### > <a name=40> 39</a>: # my $g_conffile = "/usr/local/etc/netcfg/neis.conf"; ># Not used anywhere else. > <a name=41> 40</a>: my $g_debug = 0; > <a name=42> 41</a>: # my $conf = new XML::Config; # Not used anywhere else without >first being re-initialized. > <a name=43> 42</a>: > <a name=44> 43</a>: $Response->AppendToLog("[NEIS] - init.htm: >$Application->{'DBService'}"); > <a name=45> 44</a>: > <a name=46> 45</a>: my $DEBUG = $Application->{'Debug'}; > <a name=47> 46</a>: > <a name=48> 47</a>: $DEBUG && $Response->AppendToLog("[NEIS] - >init.htm: DEBUG level is $DEBUG"); > <a name=49> 48</a>: > <a name=50> 49</a>: my $g_dbsection = $Application->{'DBService'}; > <a name=51> 50</a>: > <a name=52> 51</a>: $DEBUG && $Response->AppendToLog("[NEIS] - >init.htm: $Application->{'Application'} $Application->{'CVS_Version'} - >$g_dbsection"); > <a name=53> 52</a>: > <a name=54> 53</a>: ### Misc Global Variables ### > <a name=55> 54</a>: my $g_nodeName; > <a name=56> 55</a>: my $g_nodeOID; > <a name=57> 56</a>: my $g_retPage; > <a name=58> 57</a>: my $g_prevPage; > <a name=59> 58</a>: my $g_searchCriteria; > <a name=60> 59</a>: > <a name=61> 60</a>: ### Database connection (Database::Query) ### > <a name=62> 61</a>: my $g_dbconn = new >PNAP::Database::Query(Connection=>$g_dbsection, Debug=>$g_debug); > <a name=63> 62</a>: > <a name=64> 63</a>: ### Database connection (straight DBI) ### > <a name=65> 64</a>: ### Dev Note: this is a test to see how well this works > <a name=66> 65</a>: # my $dbconf = $Application->{'DBConf'}; > <a name=67> 66</a>: # $DEBUG && $Response->AppendToLog("[NEIS] - >init.htm: dbconf is $dbconf"); > <a name=68> 67</a>: > <a name=69> 68</a>: # my $dbconfobj = new PNAP::Conf($dbconf, $g_debug); > <a name=70> 69</a>: # my $service = >$dbconfobj->getServInfo($Application->{'DBService'}); > <a name=71> 70</a>: > <a name=72> 71</a>: # $Application->{'DBSID'} = $service->{'SID'}; > <a name=73> 72</a>: # $Application->{'DBDriver'} = $service->{'Driver'}; > <a name=74> 73</a>: # $Application->{'DBServer'} = $service->{'Server'}; > <a name=75> 74</a>: # $Application->{'DBUsername'} = $service->{'Username'}; > <a name=76> 75</a>: # $Application->{'DBPassword'} = $service->{'Password'}; > <a name=77> 76</a>: # $Application->{'DBTnsname'} = $service->{'Tnsname'}; > <a name=78> 77</a>: > <a name=79> 78</a>: # my $driver = $Application->{'DBDriver'}; > <a name=80> 79</a>: # my $server = $Application->{'DBServer'}; > <a name=81> 80</a>: # my $sid = $Application->{'DBSID'}; > <a name=82> 81</a>: # my $user = $Application->{'DBUsername'}; > <a name=83> 82</a>: # my $pw = $Application->{'DBPassword'}; > <a name=84> 83</a>: # my $connstr = "dbi:$driver:host=$server;sid=$sid"; > <a name=85> 84</a>: # my $g_dbiconn = DBI->connect($connstr, $user, $pw); > <a name=86> 85</a>: my $g_dbiconn = dbconnect(); > <a name=87> 86</a>: > <a name=88> 87</a>: # This is where we check for form submission for the header.inc > <a name=89> 88</a>: # check for ChangeRole > <a name=90> 89</a>: $Session->{'Role'} = $Request->Form('role') if >($Request->Form('control') eq "ChangeRole"); > <a name=91> 90</a>: > <a name=92> 91</a>: my $err = $g_dbiconn->err() || ""; > <a name=93> 92</a>: my $errstr = $g_dbiconn->errstr() || ""; > <a name=94> 93</a>: if ($err || $errstr) { > <a name=95> 94</a>: $Response->AppendToLog("[NEIS] - init.htm: DATABASE >ERROR -- ($err) $errstr"); > <a name=96> 95</a>: } > <a name=97> 96</a>: > <a name=98> 97</a>: ; $main::Response->WriteRef(\(' > <a name=99> 98</a>: > <a name=100> 99</a>: ')); > <a name=101>100</a>: >############################################################################ > <a name=102>101</a>: # > <a name=103>102</a>: # viewNodes.htm > <a name=104>103</a>: # > <a name=105>104</a>: # Purpose: displays information about nodes matching the given >search criteria > <a name=106>105</a>: # > <a name=107>106</a>: # Input: > <a name=108>107</a>: # search criteria, read from the Form or $Session >variable > <a name=109>108</a>: # column name by which results should be sorted, passed >along the URL > <a name=110>109</a>: # > <a name=111>110</a>: # Created by: Catherine Higuchi, Dexter Lieu > <a name=112>111</a>: # Last Update: 09/29/2000 > <a name=113>112</a>: # > <a name=114>113</a>: >############################################################################ > <a name=115>114</a>: > <a name=116>115</a>: ### Variable definition ### > <a name=117>116</a>: my $asppage = $INAP::NEIS::asppage; > <a name=118>117</a>: my $pagetitle = "View Nodes"; > <a name=119>118</a>: > <a name=120>119</a>: ########################### > <a name=121>120</a>: # > <a name=122>121</a>: # Code to check users permission to edit > <a name=123>122</a>: # current area > <a name=124>123</a>: # > <a name=125>124</a>: > <a name=126>125</a>: my $pageTopic = 'NODE'; > <a name=127>126</a>: my $userRole = $Session->{'Role'}; > <a name=128>127</a>: my $allowEdit = NCM::Nodes::checkUserRole($userRole, >$pageTopic); > <a name=129>128</a>: my $editcols = 2; > <a name=130>129</a>: $editcols = 3 if $allowEdit; > <a name=131>130</a>: $Session->{"nodeSearchError"} = ''; > <a name=132>131</a>: > <a name=133>132</a>: > <a name=134>133</a>: ### testing of pagehash... > <a name=135>134</a>: > <a name=136>135</a>: ## for ( keys %g_PageHash) > <a name=137>136</a>: ## { > <a name=138>137</a>: ## $DEBUG && >$Response->AppendToLog("[NEIS] - viewNodes.htm - $g_PageHash->{$_}"); > <a name=139>138</a>: ## } > <a name=140>139</a>: > <a name=141>140</a>: > <a name=142>141</a>: > <a name=143>142</a>: > <a name=144>143</a>: ### read the values from the previous form ### > <a name=145>144</a>: ### and save to the session vars ### > <a name=146>145</a>: my $form=$Request->Form(); > <a name=147>146</a>: my $nm; > <a name=148>147</a>: for ( keys %{$form}) { > <a name=149>148</a>: $nm = $_; > <a name=150>149</a>: $Session->{$nm}= $form->{$nm}; > <a name=151>150</a>: $DEBUG && $Response->AppendToLog("[NEIS] - >viewNodes.htm - $nm: $form->{$nm}"); > <a name=152>151</a>: } > <a name=153>152</a>: > <a name=154>153</a>: > <a name=155>154</a>: if ($Request->QueryString('assetTag')) { > <a name=156>155</a>: $Session->{"searchNodeOID"} = >NCM::Nodes::getNodeFromAsset($g_dbconn, $Request->QueryString('assetTag')); > <a name=157>156</a>: if ( !($Session->{"searchNodeOID"}) ) > <a name=158>157</a>: { > <a name=159>158</a>: $Session->{'ERROR'} = 'Invalid Asset Tag'; > <a name=160>159</a>: > <a name=161>160</a>: $Response->Redirect("index.htm"); > <a name=162>161</a>: } > <a name=163>162</a>: > <a name=164>163</a>: } > <a name=165>164</a>: > <a name=166>165</a>: > <a name=167>166</a>: ### get the criteria from the session vars ### > <a name=168><b><font color=red>167</font></b></a>: my $searchNodeOID = >$Session->{"searchNodeOID"} || $Request->QueryString('OID') || >""; > <a name=169>168</a>: my $searchNodeName = $Session->{"searchNodeName"} >|| ""; > <a name=170>169</a>: my $searchNodeType = $Session->{"searchNodeType"} >|| ""; > <a name=171>170</a>: my $searchNodeStatus = >$Session->{"searchNodeStatus"} || ""; > <a name=172>171</a>: my $searchSiteCode = $Session->{"searchSiteCode"} >|| ""; > <a name=173>172</a>: my $searchLocation = $Session->{"searchLocation"} >|| ""; > <a name=174>173</a>: my $searchRack = $Session->{"searchRack"} || >""; > <a name=175>174</a>: > <a name=176>175</a>: ### whack the other fields if searching by nodeoid > <a name=177>176</a>: if ($searchNodeOID) > <a name=178>177</a>: { > <a name=179>178</a>: $searchNodeName = ''; > <a name=180>179</a>: $searchNodeType = ''; > <a name=181>180</a>: $searchNodeStatus = ''; > <a name=182>181</a>: $searchSiteCode = ''; > <a name=183>182</a>: $searchLocation = ''; > <a name=184>183</a>: $searchRack = ''; > <a name=185>184</a>: } > <a name=186>185</a>: my @altNodeOIDs; > <a name=187>186</a>: > <a name=188>187</a>: > <a name=189>188</a>: $searchNodeName =~ s/'/_/g; > <a name=190>189</a>: $searchLocation =~ s/'/_/g; > <a name=191>190</a>: $searchRack =~ s/'/_/g; > <a name=192>191</a>: > <a name=193>192</a>: $searchNodeName =~ s/"/_/g; > <a name=194>193</a>: $searchLocation =~ s/"/_/g; > <a name=195>194</a>: $searchRack =~ s/"/_/g; > <a name=196>195</a>: > <a name=197>196</a>: > <a name=198>197</a>: if ($Session->{"altNodeSearch"}) > <a name=199>198</a>: { > <a name=200>199</a>: @altNodeOIDs = @{$Session->{"altNodeSearch"}}; > <a name=201>200</a>: } > <a name=202>201</a>: > <a name=203>202</a>: > <a name=204>203</a>: ### if no criteria bounce them back to search page > <a name=205>204</a>: if ( (! ($searchNodeOID) ) && (! ($searchNodeName) ) >&& (! ($searchNodeType) ) && (! ($searchNodeStatus) ) && (! >($searchSiteCode) ) && (! ($searchLocation) ) && (! ($searchRack) ) ) > { > <a name=206>205</a>: > <a name=207>206</a>: $Session->{"nodeSearchError"} = 'Search requires >at least one field be filled in'; > <a name=208>207</a>: > <a name=209>208</a>: $Response->Redirect("searchNode.htm"); > <a name=210>209</a>: > <a name=211>210</a>: > <a name=212>211</a>: } > <a name=213>212</a>: > <a name=214>213</a>: > <a name=215>214</a>: > <a name=216>215</a>: > <a name=217>216</a>: > <a name=218>217</a>: > <a name=219>218</a>: > <a name=220>219</a>: > <a name=221>220</a>: > <a name=222>221</a>: > <a name=223>222</a>: > <a name=224>223</a>: > <a name=225>224</a>: ### Get the order by column ### > <a name=226>225</a>: my $ordercolumn = $Request->QueryString('ordercolumn') || >"NODENAME, NODETYPE, STATUS, SITECODE"; > <a name=227>226</a>: > <a name=228>227</a>: ### lists of returned data ### > <a name=229>228</a>: my (@nodeOIDList, @nodeNameList, @nodeTypeList, >@nodeTypeCodeList, @statusList, @statusCodeList, @siteCodeList, @locationList, >@rackList, @commentList, @updateNbrList); > <a name=230>229</a>: my $nodecount = NCM::Nodes::getNodes($g_dbconn, $searchNodeOID, >$searchNodeName, $searchNodeType, $searchNodeStatus, > <a name=231>230</a>: $searchSiteCode, $searchLocation, $searchRack, \@altNodeOIDs, >$ordercolumn, \@nodeOIDList, > <a name=232>231</a>: \@nodeNameList, \@nodeTypeList, \@nodeTypeCodeList, >\@statusList, \@statusCodeList, > <a name=233>232</a>: \@siteCodeList, \@locationList, \@rackList, \@commentList, >\@updateNbrList); > <a name=234>233</a>: > <a name=235>234</a>: ######################### HTML START ######################### > <a name=236>235</a>: > <a name=237>236</a>: ; $main::Response->WriteRef(\(' > <a name=238>237</a>: <html> > <a name=239>238</a>: <head> > <a name=240>239</a>: ')); > <a name=241>240</a>: >###################################################################### > <a name=242>241</a>: # head.inc > <a name=243>242</a>: # > <a name=244>243</a>: # use: include in the <head> block on every page and >add onload="init()" > <a name=245>244</a>: # to the <body> tag on every page > <a name=246>245</a>: # > <a name=247>246</a>: # purpose: defines the meta tags and stylesheets for the page, > <a name=248>247</a>: # sets the timeout redirect, sets the page title > <a name=249>248</a>: # and creates the menus to be used in the nav bar > <a name=250>249</a>: # > <a name=251>250</a>: # prerequisites: the value of $pagetitle describing the >specific page > <a name=252>251</a>: # is set in each page where this include is used > <a name=253>252</a>: # > <a name=254>253</a>: # Created By: Will Stevenson, Dexter Lieu > <a name=255>254</a>: # Last Update: 09/29/2000 > <a name=256>255</a>: # > <a name=257>256</a>: >###################################################################### > <a name=258>257</a>: > <a name=259>258</a>: use vars qw($pagetitle); > <a name=260>259</a>: > <a name=261>260</a>: # Put go.script include file here rather than in each htm file. > <a name=262>261</a>: if ($asppage =~ >/^(searchCircuit|searchBandwidth|searchService|viewCircuitService|editservice|addSecondary)/) > { > <a name=263>262</a>: ; $main::Response->WriteRef(\(' <script >language="JavaScript"> > <a name=264>263</a>: <!-- > <a name=265>264</a>: >if(document.layers){origWidth=innerWidth;origHeight=innerHeight;onresize=function(){if(innerWidth!=origWidth||innerHeight!=origHeight)location.reload()}} > <a name=266>265</a>: function MM_showHideLayers() { //v2.0 > <a name=267>266</a>: var i, visStr, args, theObj; > <a name=268>267</a>: args = MM_showHideLayers.arguments; > <a name=269>268</a>: for (i=0; i<(args.length-2); i+=3) { //with arg triples >(objNS,objIE,visStr) > <a name=270>269</a>: visStr = args[i+2]; > <a name=271>270</a>: if (navigator.appName == \'Netscape\' && >document.layers != null) { > <a name=272>271</a>: theObj = eval(args[i]); > <a name=273>272</a>: if (theObj) theObj.visibility = visStr; > <a name=274>273</a>: } else if (document.all != null) { //IE > <a name=275>274</a>: if (visStr == \'show\') visStr = \'visible\'; //convert >vals > <a name=276>275</a>: if (visStr == \'hide\') visStr = \'hidden\'; > <a name=277>276</a>: theObj = eval(args[i+1]); > <a name=278>277</a>: if (theObj) theObj.style.visibility = visStr; > <a name=279>278</a>: } } > <a name=280>279</a>: } > <a name=281>280</a>: > <a name=282>281</a>: function PopSearch(){ > <a name=283>282</a>: var QUERY=prompt("Enter Search Term", >""); > <a name=284>283</a>: if (QUERY) { > <a name=285>284</a>: >document.location.href="/cgi-bin/nph-seek.cgi/query.html?qt="+QUERY; > <a name=286>285</a>: } > <a name=287>286</a>: } > <a name=288>287</a>: //--> > <a name=289>288</a>: </script> > <a name=290>289</a>: ')); > <a name=291>290</a>: } > <a name=292>291</a>: > <a name=293>292</a>: > <a name=294>293</a>: ; $main::Response->WriteRef(\(' > <a name=295>294</a>: > <a name=296>295</a>: > <a name=297>296</a>: <meta http-equiv="Pragma" >content="No-cache"> > <a name=298>297</a>: <meta http-equiv="Content-Type" >content="text/html; charset=iso-8859-1"> > <a name=299>298</a>: <meta http-equiv="refresh" >content="'.(($Session->{'Timeout'}*60) ).';URL=logout.htm"> > <a name=300>299</a>: > <a name=301>300</a>: <noscript> > <a name=302>301</a>: <!-- in case the user is not using javascript we send them >to infosource > <a name=303>302</a>: which has a nice red page that tells them how to enable it >--> > <a name=304>303</a>: <meta http-equiv="refresh" >content="0;URL=http://infosource.internap.com/"> > <a name=305>304</a>: </noscript> > <a name=306>305</a>: > <a name=307>306</a>: <link rel="stylesheet" type="text/css" >href="/track.css"> > <a name=308>307</a>: <link rel="stylesheet" type="text/css" >href="/sub.css"> > <a name=309>308</a>: <link rel="stylesheet" type="text/css" >href="netcfg.css"> > <a name=310>309</a>: > <a name=311>310</a>: <title>')); >$Response->Write("$Application->{'Application'} >$Application->{'CVS_Version'}");; $main::Response->WriteRef(\(' | >'.($pagetitle).'</title> > <a name=312>311</a>: > <a name=313>312</a>: <script language="JavaScript1.2" >SRC="./inc/menu.js"></script> > <a name=314>313</a>: <script language="JavaScript1.2" >SRC="./inc/dhtmllib.js"></script> > <a name=315>314</a>: > <a name=316>315</a>: <script language="JavaScript1.2"> > <a name=317>316</a>: > <a name=318>317</a>: ')); > <a name=319>318</a>: #check for errormsgs > <a name=320>319</a>: if($Session->{ERRORMSG} ne ''){ > <a name=321>320</a>: ; $main::Response->WriteRef(\(' > <a name=322>321</a>: top.errorWindow = >window.open(\'error.htm\',\'errorWindow\',\'scrollbars=yes,titlebar=no,dependent=yes,width=400,height=400,screenX=200,screenY=200\'); > <a name=323>322</a>: top.errorWindow.focus(); > <a name=324>323</a>: '));}; $main::Response->WriteRef(\(' > <a name=325>324</a>: > <a name=326>325</a>: //<!-- > <a name=327>326</a>: var isNetscape=0; > <a name=328>327</a>: var isIE=0; > <a name=329>328</a>: > <a name=330>329</a>: //This is to fix netscape bug with style sheets; > <a name=331>330</a>: //Reload the document if resized; > <a name=332>331</a>: function onResize(){ > <a name=333>332</a>: > <a name=334>333</a>: //Netscape has a bug and needs to be reloaded after resized >if it > <a name=335>334</a>: //contains css or dhtml > <a name=336>335</a>: if(isNetscape){ > <a name=337>336</a>: location.reload(); > <a name=338>337</a>: } > <a name=339>338</a>: } > <a name=340>339</a>: > <a name=341>340</a>: > <a name=342>341</a>: //global menus > <a name=343>342</a>: > <a name=344>343</a>: /*************************************************************** > <a name=345>344</a>: * client side initialization of NEIS::Network Configuration > <a name=346>345</a>: */ > <a name=347>346</a>: function init(){ > <a name=348>347</a>: > <a name=349>348</a>: //which browser? > <a name=350>349</a>: if(navigator.appName.indexOf("Internet Explorer") >!= -1){ > <a name=351>350</a>: isIE=1; > <a name=352>351</a>: } > <a name=353>352</a>: if( navigator.appName.indexOf("Netscape") != -1){ > <a name=354>353</a>: isNetscape=1; > <a name=355>354</a>: } > <a name=356>355</a>: if(!isNetscape && !isIE){ > <a name=357>356</a>: alert(navigator.appName + " is an unsupported browser >for NEIS::Network Configuration. \\n Use at your own risk."); > <a name=358>357</a>: } > <a name=359>358</a>: > <a name=360>359</a>: // if we are using netscape we can create menus right now > <a name=361>360</a>: // else we will create the menus in ./inc/header.inc for IE > <a name=362>361</a>: if(isNetscape){ > <a name=363>362</a>: CreateMenus(); > <a name=364>363</a>: } > <a name=365>364</a>: > <a name=366>365</a>: window.document.onkeyup=function(event){ > <a name=367>366</a>: if( !isNetscape){ > <a name=368>367</a>: event=window.event; > <a name=369>368</a>: } > <a name=370>369</a>: > <a name=371>370</a>: if (event){ > <a name=372>371</a>: var charCode = (navigator.appName == >"Netscape") ? event.which : event.keyCode; > <a name=373>372</a>: var actualChar = String.fromCharCode(charCode); > <a name=374>373</a>: } > <a name=375>374</a>: } //end function(event) > <a name=376>375</a>: } // end init() > <a name=377>376</a>: > <a name=378>377</a>: > <a name=379>378</a>: /********************************************************** > <a name=380>379</a>: * Creates the menus for NEIS Net Config (NCM) > <a name=381>380</a>: */ > <a name=382>381</a>: > <a name=383>382</a>: var myMenu; > <a name=384>383</a>: var mainMenu; > <a name=385>384</a>: var roleMenu; > <a name=386>385</a>: > <a name=387>386</a>: function CreateMenus(){ > <a name=388>387</a>: // create main menu; items to be added via navmenu.htm > <a name=389>388</a>: mainMenu = new Menu("main"); > <a name=390>389</a>: > <a name=391>390</a>: // get the menu options from navmenu.htm > <a name=392>391</a>: ')); > <a name=393>392</a>: >################################################################################# > <a name=394>393</a>: # > <a name=395>394</a>: # navmenu.inc > <a name=396>395</a>: # > <a name=397>396</a>: # use: this file is included in head.inc; so, as long as >head.inc is included > <a name=398>397</a>: # in the file, this file does not have to be >explicitly included as well > <a name=399>398</a>: # > <a name=400>399</a>: # purpose: used to generate the options in the main menu, >based on the current > <a name=401>400</a>: # page and context > <a name=402>401</a>: # > <a name=403>402</a>: # prerequisites: the boolean $allowEdit must be defined in >each page (this > <a name=404>403</a>: # determines if the add links are >displayed) > <a name=405>404</a>: # > <a name=406>405</a>: # comment: it may be better to not try to suppress the add >links based on role, > <a name=407>406</a>: # and just let the role security in the >add pages reject users without > <a name=408>407</a>: # the right access > <a name=409>408</a>: # > <a name=410>409</a>: # Created By: Dexter Lieu > <a name=411>410</a>: # Last Revision: 10/16/2000 > <a name=412>411</a>: # > <a name=413>412</a>: >################################################################################# > <a name=414>413</a>: > <a name=415>414</a>: ### define hash of context-sensitive help docs > <a name=416>415</a>: > <a name=417>416</a>: ### done just in case someone forgets to define this var > <a name=418>417</a>: use vars qw($allowEdit); > <a name=419>418</a>: > <a name=420>419</a>: my %helpdoc = ( > <a name=421>420</a>: "index.htm" > => "ncm30.htm", > <a name=422>421</a>: "addLinkGroup.htm" => >"about_links_and_link_groups.htm", > <a name=423>422</a>: "addNode.htm" => >"about_nodes.htm", > <a name=424>423</a>: "editEndpoint.htm" => >"about_endpoints.htm", > <a name=425>424</a>: "editInstalledAsset.htm" => >"about_assets.htm", > <a name=426>425</a>: "editLinks.htm" > => "about_links_and_link_groups.htm", > <a name=427>426</a>: "editLinkGroup.htm" => >"about_links_and_link_groups.htm", > <a name=428>427</a>: "editNode.htm" > => "about_nodes.htm", > <a name=429>428</a>: "listBWServices.htm" => >"to_navigate_from_search_results.htm", > <a name=430>429</a>: "listCircuits.htm" => >"to_navigate_from_search_results.htm", > <a name=431>430</a>: "pickAsset.htm" > => "about_assets.htm", > <a name=432>431</a>: "pickEndpoint.htm" => >"about_endpoints.htm", > <a name=433>432</a>: "pickLocation.htm" => >"about_locations.htm", > <a name=434>433</a>: "pickNode.htm" > => "about_nodes.htm", > <a name=435>434</a>: "pickRack.htm" > => "about_racks.htm", > <a name=436>435</a>: "refineAsset.htm" => >"refining_a_search.htm", > <a name=437>436</a>: "refineEndpoint.htm" => >"refining_a_search.htm", > <a name=438>437</a>: "refineLocation.htm" => >"refining_a_search.htm", > <a name=439>438</a>: "refineNode.htm" => >"refining_a_search.htm", > <a name=440>439</a>: "refineRack.htm" => >"refining_a_search.htm", > <a name=441>440</a>: "searchBandwidthService.htm" >=> "about_bandwidth_services.htm", > <a name=442>441</a>: "searchCircuit.htm" => >"about_circuits_and_secondary_circuits.htm", > <a name=443>442</a>: "searchLinkGroup.htm" => >"searching_for_link_groups.htm", > <a name=444>443</a>: "searchNode.htm" => >"about_nodes.htm", > <a name=445>444</a>: "viewEndpoints.htm" => >"to_navigate_from_search_results.htm", > <a name=446>445</a>: "viewInstalledAssets.htm" => >"to_navigate_from_search_results.htm", > <a name=447>446</a>: "viewLinkGroups.htm" => >"to_navigate_from_search_results.htm", > <a name=448>447</a>: "viewNodes.htm" > => "to_navigate_from_search_results.htm" > <a name=449>448</a>: ); > <a name=450>449</a>: > <a name=451>450</a>: > <a name=452>451</a>: > <a name=453>452</a>: > <a name=454>453</a>: > <a name=455>454</a>: > <a name=456>455</a>: > <a name=457>456</a>: >################################################################################# > <a name=458>457</a>: # add menu options for the viewEndpoints.htm page > <a name=459>458</a>: >################################################################################# > <a name=460>459</a>: if ($asppage =~ /viewEndpoints/) > <a name=461>460</a>: { ; $main::Response->WriteRef(\(' > <a name=462>461</a>: mainMenu.addMenuItem("Back to Nodes List", >"document.location.href=\'viewNodes.htm\'"); > <a name=463>462</a>: <!-- mainMenu.addMenuItem("Search Nodes", >"document.location.href=\'searchNode.htm\'"); --> > <a name=464>463</a>: mainMenu.addMenuSeparator(); > <a name=465>464</a>: ')); if ($allowEdit) > <a name=466>465</a>: { ; $main::Response->WriteRef(\(' > <a name=467>466</a>: mainMenu.addMenuItem("Add >Endpoints", >"document.location.href=\'editEndpoint.htm?nodeOID='.($g_nodeOID).'\'"); > <a name=468>467</a>: mainMenu.addMenuSeparator(); > <a name=469>468</a>: ')); } ; $main::Response->WriteRef(\(' > <a name=470>469</a>: ')); } > <a name=471>470</a>: > <a name=472>471</a>: > <a name=473>472</a>: >################################################################################# > <a name=474>473</a>: # add menu options for the viewInstalledAssets.htm page > <a name=475>474</a>: >################################################################################# > <a name=476>475</a>: if ($asppage =~ /viewInstalledAssets/) > <a name=477>476</a>: { ; $main::Response->WriteRef(\(' > <a name=478>477</a>: mainMenu.addMenuItem("Back to Nodes List", >"document.location.href=\'viewNodes.htm\'"); > <a name=479>478</a>: <!-- mainMenu.addMenuItem("Search Nodes", >"document.location.href=\'searchNode.htm\'"); --> > <a name=480>479</a>: mainMenu.addMenuSeparator(); > <a name=481>480</a>: ')); if ($allowEdit) > <a name=482>481</a>: { ; $main::Response->WriteRef(\(' > <a name=483>482</a>: mainMenu.addMenuItem("Add Installed >Asset", >"document.location.href=\'editInstalledAsset.htm?OID='.($g_nodeOID).'\'"); > <a name=484>483</a>: mainMenu.addMenuSeparator(); > <a name=485>484</a>: ')); } ; $main::Response->WriteRef(\(' > <a name=486>485</a>: ')); } > <a name=487>486</a>: > <a name=488>487</a>: > <a name=489>488</a>: >################################################################################# > <a name=490>489</a>: # add common options to all menus except the denied page > <a name=491>490</a>: >################################################################################# > <a name=492>491</a>: if ( $asppage !~ /(denied|logout)/ ) { > <a name=493>492</a>: > <a name=494>493</a>: > <a name=495>494</a>: >################################################################################# > <a name=496>495</a>: # add menu options for adding a node > <a name=497>496</a>: >################################################################################# > <a name=498>497</a>: if (NCM::Nodes::checkUserRole($Session->{'Role'}, 'NODE')) > <a name=499>498</a>: { ; $main::Response->WriteRef(\(' > <a name=500>499</a>: mainMenu.addMenuItem("Add a Node", >"document.location.href=\'addNode.htm?origPage='.($asppage).'\'"); > <a name=501>500</a>: mainMenu.addMenuSeparator(); > <a name=502>501</a>: ')); } > <a name=503>502</a>: > <a name=504>503</a>: > <a name=505>504</a>: >################################################################################# > <a name=506>505</a>: # add menu options for adding linkgroups > <a name=507>506</a>: >################################################################################# > <a name=508>507</a>: if (NCM::Nodes::checkUserRole($Session->{'Role'}, 'LINK')) > <a name=509>508</a>: { ; $main::Response->WriteRef(\(' > <a name=510>509</a>: mainMenu.addMenuItem("Add a Link Group", >"document.location.href=\'editLinkGroup.htm?origPage='.($asppage).'\'"); > <a name=511>510</a>: mainMenu.addMenuItem("Add a PNAP", >"document.location.href=\'addPNAP.htm\'"); > <a name=512>511</a>: mainMenu.addMenuSeparator(); > <a name=513>512</a>: ')); } > <a name=514>513</a>: ; $main::Response->WriteRef(\(' > <a name=515>514</a>: mainMenu.addMenuItem("Go To Asset", >"javascript:GoToAsset();"); > <a name=516>515</a>: mainMenu.addMenuItem("Go To Link Group", >"javascript:GoToLG();"); > <a name=517>516</a>: mainMenu.addMenuItem("Go To Service", >"javascript:GoToSVC();"); > <a name=518>517</a>: mainMenu.addMenuSeparator(); > <a name=519>518</a>: mainMenu.addMenuItem("Search Bandwidth >Services", "document.location.href=\'searchBandwidthService.htm\'"); > <a name=520>519</a>: mainMenu.addMenuItem("Search Circuit >Services", "document.location.href=\'searchCircuit.htm\'"); > <a name=521>520</a>: mainMenu.addMenuItem("Search Link Groups and >Links", "document.location.href=\'searchLinkGroup.htm\'"); > <a name=522>521</a>: mainMenu.addMenuItem("Search Nodes and >Endpoints", "document.location.href=\'searchNode.htm\'"); > <a name=523>522</a>: mainMenu.addMenuItem("Search Services", >"document.location.href=\'searchService.htm\'"); > <a name=524>523</a>: ')); if ($Session->{'Role'} =~ /^NCMADM$/) { ; >$main::Response->WriteRef(\(' > <a name=525>524</a>: mainMenu.addMenuSeparator(); > <a name=526>525</a>: <!-- mainMenu.addMenuItem("Administer Roles", >"document.location.href=\'roleAdmin.htm\'"); --> > <a name=527>526</a>: mainMenu.addMenuItem("Administer Roles", >"document.location.href=\''.($INAP::NEIS::Application->{'RolesLocation'}).'/index.htm?rct=NEIS&logo=/apps/netcfg/images/netconfig.gif\'"); > <a name=528>527</a>: ')); } ; $main::Response->WriteRef(\(' > <a name=529>528</a>: mainMenu.addMenuSeparator(); > <a name=530>529</a>: mainMenu.addMenuItem("NCM Home", >"document.location.href=\'index.htm\'"); > <a name=531>530</a>: mainMenu.addMenuSeparator(); > <a name=532>531</a>: mainMenu.addMenuItem("Help", >"open(\'https://infosource.internap.com/appdocs/ncm/WebHelp/index.htm\',\'helpwindow\',\'scrollbars\');"); > <a name=533>532</a>: > <a name=534>533</a>: //// mainMenu.addMenuItem("Help", >"open(\'https://infosource.internap.com/apps/ncm/webhelp/'.($helpdoc{$asppage}).'\',\'helpwindow\',\'scrollbars\');"); > <a name=535>534</a>: > <a name=536>535</a>: ')); } elsif ( $asppage =~ /(denied|logout)/ ) { ; >$main::Response->WriteRef(\(' > <a name=537>536</a>: mainMenu.addMenuItem("NCM Home", >"document.location.href=\'index.htm\'"); > <a name=538>537</a>: ')); } > <a name=539>538</a>: ; $main::Response->WriteRef(\(' > <a name=540>539</a>: > <a name=541>540</a>: > <a name=542>541</a>: setupMenu(mainMenu,\'grayblue\'); > <a name=543>542</a>: > <a name=544>543</a>: //located in ./inc/header.inc > <a name=545>544</a>: createRoleMenu("'.($Session->{'Role'}).'"); > <a name=546>545</a>: > <a name=547>546</a>: mainMenu.writeMenus(); > <a name=548>547</a>: } > <a name=549>548</a>: > <a name=550>549</a>: function setupMenu( menu, type){ > <a name=551>550</a>: menu.enableHideOnMouseOut=1; > <a name=552>551</a>: menu.menuBorder=0; > <a name=553>552</a>: menu.menuItemHeight=0; > <a name=554>553</a>: menu.menuItemBorder=0; > <a name=555>554</a>: menu.menuHiliteBgColor="#cccccc"; > <a name=556>555</a>: menu.fontSize=12; > <a name=557>556</a>: > <a name=558>557</a>: if(type==\'white\'){ > <a name=559>558</a>: menu.fontColor = "blue"; > <a name=560>559</a>: menu.bgColor = "#dddddd"; > <a name=561>560</a>: menu.menuItemBgColor = "white"; > <a name=562>561</a>: menu.menuHiliteBgColor = "#a6b9e9"; > <a name=563>562</a>: } > <a name=564>563</a>: > <a name=565>564</a>: if(type==\'grayblue\'){ > <a name=566>565</a>: menu.fontColorHilite = "#0000ff"; > <a name=567>566</a>: } > <a name=568>567</a>: } > <a name=569>568</a>: > <a name=570>569</a>: > <a name=571>570</a>: // Note from Dex: I don\'t think we need these last three menus, > <a name=572>571</a>: // but they may become useful so I\'m leaving them in for now > <a name=573>572</a>: > <a name=574>573</a>: function ShowUserMenu( UserName){ > <a name=575>574</a>: if(UserName != "No data"){ > <a name=576>575</a>: userMenu = new Menu(UserName); > <a name=577>576</a>: userMenu.addMenuItem("Infosource Page", >"document.location.href=\'https://infosource.internap.com/corp/staff/info.htm?login="+UserName+"\'"); > <a name=578>577</a>: userMenu.addMenuSeparator(); > <a name=579>578</a>: userMenu.addMenuItem("Email", >"document.location.href=\'mailto:"+UserName+"@internap.com\'"); > <a name=580>579</a>: userMenu.addMenuItem("Page", >"document.location.href=\'https://infosource.internap.com/corp/staff/page.htm?login="+UserName+"\'"); > <a name=581>580</a>: setupMenu(userMenu,\'white\'); > <a name=582>581</a>: userMenu.writeMenus(); > <a name=583>582</a>: showMenu(userMenu); > <a name=584>583</a>: } > <a name=585>584</a>: } > <a name=586>585</a>: > <a name=587>586</a>: function NewContact(){ > <a name=588>587</a>: top.contactWindow = >window.open(\'newcontact.htm\',\'contactWindow\',\'titlebar=no,dependent=yes,width=300,height=200,screenX=100,screenY=100\'); > <a name=589>588</a>: top.contactWindow.focus(); > <a name=590>589</a>: > <a name=591>590</a>: document.FNewContact.target=\'contactWindow\'; > <a name=592>591</a>: document.FNewContact.submit(); > <a name=593>592</a>: } > <a name=594>593</a>: > <a name=595>594</a>: function GetUserInfo( UserName){ > <a name=596>595</a>: >document.location.href="https://infosource.internap.com/corp/staff/info.htm?login="+UserName; > <a name=597>596</a>: } > <a name=598>597</a>: > <a name=599>598</a>: //*************************************** > <a name=600>599</a>: //Navigates to the next service > <a name=601>600</a>: // > <a name=602>601</a>: // > <a name=603>602</a>: function GoToSVC(){ > <a name=604>603</a>: var SVCOID=prompt("Enter Service", >"'.($Session->{'LastsvcOID'}).'"); > <a name=605>604</a>: if(SVCOID!=null){ > <a name=606>605</a>: if(isNaN(SVCOID)) > <a name=607>606</a>: alert(\'Sorry. You did not enter a valid number\'); > <a name=608>607</a>: else > <a name=609>608</a>: >document.location.href="viewCircuitService.htm?SVCOID="+SVCOID; > <a name=610>609</a>: } > <a name=611>610</a>: } > <a name=612>611</a>: > <a name=613>612</a>: //*************************************** > <a name=614>613</a>: //Navigates to the asset > <a name=615>614</a>: // > <a name=616>615</a>: // > <a name=617>616</a>: function GoToAsset(){ > <a name=618>617</a>: var ASTNBR=prompt("Enter Asset Tag",""); > <a name=619>618</a>: if(ASTNBR.length > 0){ > <a name=620>619</a>: if(isNaN(ASTNBR)) > <a name=621>620</a>: alert(\'Sorry. You did not enter a valid number\'); > <a name=622>621</a>: else > <a name=623>622</a>: >document.location.href="viewNodes.htm?assetTag="+ASTNBR; > <a name=624>623</a>: } else { > <a name=625>624</a>: alert(\'Sorry. You did not enter a valid number\'); > <a name=626>625</a>: } > <a name=627>626</a>: } > <a name=628>627</a>: > <a name=629>628</a>: //*************************************** > <a name=630>629</a>: //Navigates to the next link group > <a name=631>630</a>: // > <a name=632>631</a>: // > <a name=633>632</a>: function GoToLG(){ > <a name=634>633</a>: var LGOID=prompt("Enter Link Group", >"'.($Session->{'searchLinkGroupOID'}).'"); > <a name=635>634</a>: if(LGOID!=null){ > <a name=636>635</a>: if(isNaN(LGOID)) { > <a name=637>636</a>: alert(\'Sorry. You did not enter a valid number\'); > <a name=638>637</a>: return 0; > <a name=639>638</a>: } else { > <a name=640>639</a>: >document.FGoToLinkGroupDetail.searchLinkGroupOID.value=LGOID; > <a name=641>640</a>: document.FGoToLinkGroupDetail.submit(); > <a name=642>641</a>: } > <a name=643>642</a>: } > <a name=644>643</a>: } > <a name=645>644</a>: > <a name=646>645</a>: /*************************************************** > <a name=647>646</a>: * Function is used to submit the LinkGroupOID to > <a name=648>647</a>: * the View Link Group page > <a name=649>648</a>: * > <a name=650>649</a>: */ > <a name=651>650</a>: function GoToLinkGroupDetail(linkgroupOID){ > <a name=652>651</a>: >document.FGoToLinkGroupDetail.searchLinkGroupOID.value=linkgroupOID; > <a name=653>652</a>: document.FGoToLinkGroupDetail.submit(); > <a name=654>653</a>: } > <a name=655>654</a>: /********************************************************** > <a name=656>655</a>: TOOL TIP > <a name=657>656</a>: Timing and positioning constants for tool tip display. > <a name=658>657</a>: */ > <a name=659>658</a>: > <a name=660>659</a>: > <a name=661>660</a>: var toolTipWait = 1000; // Delay before showing tool tip. > <a name=662>661</a>: var toolTipShow = 25000; // Time to keep tool tip active. > <a name=663>662</a>: var toolTipxOff = 0; // Horizontal distance from mouse. > <a name=664>663</a>: var toolTipyOff = 20; // Vertical distance from mouse. > <a name=665>664</a>: > <a name=666>665</a>: function startToolTip(name) { > <a name=667>666</a>: var tip = getLayer(name); > <a name=668>667</a>: // Clear out any pending timer. > <a name=669>668</a>: if (tip.timerID) > <a name=670>669</a>: clearTimeout(tip.timerID); > <a name=671>670</a>: > <a name=672>671</a>: // Set timer to show tool tip. > <a name=673>672</a>: tip.timerID = setTimeout(\'showToolTip("\' + name + >\'")\', toolTipWait); > <a name=674>673</a>: } > <a name=675>674</a>: > <a name=676>675</a>: function showToolTip(name) { > <a name=677>676</a>: var tip = getLayer(name); > <a name=678>677</a>: // Clear out any pending timer. > <a name=679>678</a>: if (tip.timerID) > <a name=680>679</a>: clearTimeout(tip.timerID); > <a name=681>680</a>: > <a name=682>681</a>: // Position and show the tool tip. > <a name=683>682</a>: moveLayerTo(tip, window.pageX + toolTipxOff, window.pageY + >toolTipyOff); > <a name=684>683</a>: showLayer(tip); > <a name=685>684</a>: // Set timer to hide the tool tip after a delay. > <a name=686>685</a>: tip.timerID = setTimeout(\'hideToolTip("\' + name + >\'")\', toolTipShow); > <a name=687>686</a>: } > <a name=688>687</a>: > <a name=689>688</a>: function hideToolTip(name) { > <a name=690>689</a>: var tip = getLayer(name); > <a name=691>690</a>: // Clear out any pending timer. > <a name=692>691</a>: if (tip.timerID) > <a name=693>692</a>: clearTimeout(tip.timerID); > <a name=694>693</a>: > <a name=695>694</a>: hideLayer(tip); > <a name=696>695</a>: } > <a name=697>696</a>: //--> > <a name=698>697</a>: </script> > <a name=699>698</a>: > <a name=700>699</a>: <script language="JavaScript"> > <a name=701>700</a>: <!-- > <a name=702>701</a>: >if(document.layers){origWidth=innerWidth;origHeight=innerHeight;onresize=function(){if(innerWidth!=origWidth||innerHeight!=origHeight)location.reload()}} > <a name=703>702</a>: function MM_showHideLayers() { //v2.0 > <a name=704>703</a>: var i, visStr, args, theObj; > <a name=705>704</a>: args = MM_showHideLayers.arguments; > <a name=706>705</a>: for (i=0; i<(args.length-2); i+=3) { //with arg triples >(objNS,objIE,visStr) > <a name=707>706</a>: visStr = args[i+2]; > <a name=708>707</a>: if (navigator.appName == \'Netscape\' && >document.layers != null) { > <a name=709>708</a>: theObj = eval(args[i]); > <a name=710>709</a>: if (theObj) theObj.visibility = visStr; > <a name=711>710</a>: } else if (document.all != null) { //IE > <a name=712>711</a>: if (visStr == \'show\') visStr = \'visible\'; //convert >vals > <a name=713>712</a>: if (visStr == \'hide\') visStr = \'hidden\'; > <a name=714>713</a>: theObj = eval(args[i+1]); > <a name=715>714</a>: if (theObj) theObj.style.visibility = visStr; > <a name=716>715</a>: } } > <a name=717>716</a>: } > <a name=718>717</a>: > <a name=719>718</a>: function PopSearch(){ > <a name=720>719</a>: var QUERY=prompt("Enter Search Term", >""); > <a name=721>720</a>: if (QUERY) { > <a name=722>721</a>: >document.location.href="/cgi-bin/nph-seek.cgi/query.html?qt="+QUERY; > <a name=723>722</a>: } > <a name=724>723</a>: } > <a name=725>724</a>: //--> > <a name=726>725</a>: </script> > <a name=727>726</a>: > <a name=728>727</a>: </head> > <a name=729>728</a>: <body onLoad="init()"> > <a name=730>729</a>: ')); > <a name=731>730</a>: > <a name=732>731</a>: # this file is included in the <body> tag of every page > <a name=733>732</a>: # and generates the role menu and HTML for the header > <a name=734>733</a>: # (company logo, application gif, nav bar) > <a name=735>734</a>: > <a name=736>735</a>: ; $main::Response->WriteRef(\(' > <a name=737>736</a>: > <a name=738>737</a>: <script language="JavaScript1.2"> > <a name=739>738</a>: <!-- > <a name=740>739</a>: > <a name=741>740</a>: function ChangeRole(role) { > <a name=742>741</a>: document.FChangeRole.role.value=role; > <a name=743>742</a>: document.FChangeRole.submit(); > <a name=744>743</a>: } > <a name=745>744</a>: > <a name=746>745</a>: function createRoleMenu() { > <a name=747>746</a>: roleMenu=new Menu("role"); > <a name=748>747</a>: > <a name=749>748</a>: > <a name=750>749</a>: ')); if ($Session->{'Role'}) { ; >$main::Response->WriteRef(\(' > <a name=751>750</a>: > <a name=752>751</a>: > <a name=753>752</a>: >roleMenu.addMenuItem("'.($Session->{'RoleLong'}).'"); > <a name=754>753</a>: > <a name=755>754</a>: > <a name=756>755</a>: ')); > <a name=757>756</a>: } > <a name=758>757</a>: > <a name=759>758</a>: if ($Session->{'Roles'}) { > <a name=760>759</a>: my @Roles = @{$Session->{'Roles'}}; > <a name=761>760</a>: my @RolesLong = @{$Session->{'RolesLong'}}; > <a name=762>761</a>: my $role; > <a name=763>762</a>: my $roleCounter = 0; > <a name=764>763</a>: > <a name=765>764</a>: foreach $role (@Roles) { > <a name=766>765</a>: > <a name=767>766</a>: unless ($role eq $Session->{'Role'}) { ; >$main::Response->WriteRef(\(' > <a name=768>767</a>: > <a name=769>768</a>: roleMenu.addMenuItem("'.( >$RolesLong[$roleCounter] ).'","ChangeRole(\''.( $role ).'\');"); > <a name=770>769</a>: > <a name=771>770</a>: > <a name=772>771</a>: ')); > <a name=773>772</a>: } > <a name=774>773</a>: $roleCounter++; > <a name=775>774</a>: } > <a name=776>775</a>: > <a name=777>776</a>: if ($Session->{'Role'} =~ /^NCMADM$/) { > <a name=778>777</a>: ; $main::Response->WriteRef(\(' > <a name=779>778</a>: roleMenu.addMenuSeparator(); > <a name=780>779</a>: > <a name=781>780</a>: roleMenu.addMenuItem("Administer Roles", >"document.location.href=\''.( $INAP::NEIS::Application->{'RolesLocation'} >).'/index.htm?rct=NEIS&logo=/apps/netcfg/images/netconfig.gif\'"); > <a name=782>781</a>: ')); > <a name=783>782</a>: } > <a name=784>783</a>: ; $main::Response->WriteRef(\(' > <a name=785>784</a>: > <a name=786>785</a>: setupMenu(roleMenu,\'grayblue\'); > <a name=787>786</a>: ')); > <a name=788>787</a>: } ### end if > <a name=789>788</a>: > <a name=790>789</a>: ; $main::Response->WriteRef(\(' > <a name=791>790</a>: > <a name=792>791</a>: } // end function > <a name=793>792</a>: > <a name=794>793</a>: //--> > <a name=795>794</a>: </script> > <a name=796>795</a>: > <a name=797>796</a>: <!-- form used to change user role --> > <a name=798>797</a>: <form name="FChangeRole" >method="post"> > <a name=799>798</a>: <input type="hidden" name="control" >value="ChangeRole"> > <a name=800>799</a>: <input type="hidden" name="role"> > <a name=801>800</a>: </form> > <a name=802>801</a>: > <a name=803>802</a>: <!-- form used to move to the viewLinkGroups.htm page --> > <a name=804>803</a>: <form name="FGoToLinkGroupDetail" >method="post" action="viewLinkGroups.htm"> > <a name=805>804</a>: <input type="hidden" >name="searchLinkGroupOID"> > <a name=806>805</a>: <input type="hidden" name="search" >value="SEARCH"> > <a name=807>806</a>: </form> > <a name=808>807</a>: > <a name=809>808</a>: <!-- main nav --> > <a name=810>809</a>: <table width="100%" cellpadding="0" >cellspacing="0"> > <a name=811>810</a>: <tr> > <a name=812>811</a>: <td><img src="../../images/info-sm2.gif" >align="left" usemap="#gomenu" border="0" >alt="InfoSource"></td> > <a name=813>812</a>: <td align="right"> </td> > <a name=814>813</a>: <td align="right" valign="top"> > <a name=815>814</a>: <a href="index.htm"><img >src="./images/netconfig.gif" alt="Network Configuration" >border="0"></a> > <a name=816>815</a>: <font size="-1" >color="red"><br> > <a name=817>816</a>: <div align="center"> > <a name=818>817</a>: ')); > <a name=819>818</a>: $Response->Write("DEBUG MODE ON") if >($Application->{'Debug'} eq "1"); > <a name=820>819</a>: ; $main::Response->WriteRef(\(' > <a name=821>820</a>: </div> > <a name=822>821</a>: </font> > <a name=823>822</a>: </td> > <a name=824>823</a>: </tr> > <a name=825>824</a>: </table> > <a name=826>825</a>: <!-- end mainnav --> > <a name=827>826</a>: > <a name=828>827</a>: <script language="JavaScript1.2"> > <a name=829>828</a>: <!-- > <a name=830>829</a>: //this is nessecary for the menus to show up on IE. > <a name=831>830</a>: //IE needs to create the menus after the <BODY> tag > <a name=832>831</a>: > <a name=833>832</a>: if(document.all){ > <a name=834>833</a>: CreateMenus(); > <a name=835>834</a>: } > <a name=836>835</a>: //--> > <a name=837>836</a>: </script> > <a name=838>837</a>: > <a name=839>838</a>: > <a name=840>839</a>: > <a name=841>840</a>: <!-- begin navbar --> > <a name=842>841</a>: <table border="0" bgcolor="#0000AA" >cellpadding="2" cellspacing="0" width="100%"> > <a name=843>842</a>: <tr> > <a name=844>843</a>: <td align="left" >class="navsm">Current User: '.($Session->{'FirstName'}).' >'.($Session->{'LastName'}).'&nbsp&nbsp&nbsp > <a name=845>844</a>: ')); > <a name=846>845</a>: if ($Session->{'Role'} ne '') { > <a name=847>846</a>: if ($asppage eq "index.htm") { ; >$main::Response->WriteRef(\(' > <a name=848>847</a>: Current Role: <a class="navsm" >href="javascript:void(0)" >onmouseover="window.showMenu(window.roleMenu);" >>'.($Session->{'RoleLong'}).'</a> > <a name=849>848</a>: ')); } else { ; $main::Response->WriteRef(\(' > <a name=850>849</a>: Current Role: '.($Session->{'RoleLong'}).' > <a name=851>850</a>: ')); } > <a name=852>851</a>: } > <a name=853>852</a>: ; $main::Response->WriteRef(\(' > <a name=854>853</a>: </td> > <a name=855>854</a>: <td align="right" class="navsm"> > <a name=856>855</a>: <!-- <a href="mywo.htm" >onMouseOver="window.showMenu(window.myMenu);" class="navsm">My >NetConfig</a>&nbsp;&nbsp;|&nbsp;&nbsp; --> > <a name=857>856</a>: <a href="javascript:void(0)" >onmouseover="window.showMenu(window.mainMenu);" >class="navsm">Main Menu</a> > <a name=858>857</a>: >&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; > <a name=859>858</a>: <a href="logout.htm" >class="navsm">Sign Out</a> &nbsp;&nbsp; > <a name=860>859</a>: </td> > <a name=861>860</a>: </tr> > <a name=862>861</a>: </table> > <a name=863>862</a>: <!-- end navbar --> > <a name=864>863</a>: <br> > <a name=865>864</a>: > <a name=866>865</a>: > <a name=867>866</a>: <center> > <a name=868>867</a>: <form method="POST"> > <a name=869>868</a>: <table border="0" >cellpadding="4"> > <a name=870>869</a>: <tr> > <a name=871>870</a>: <th class="header" >colspan="9"><font size="+1">Nodes</font></th> > <a name=872>871</a>: </tr> > <a name=873>872</a>: <tr> > <a name=874>873</a>: <td colspan="9"> > <a name=875>874</a>: > <a name=876>875</a>: ')); ### if the user has edit >rights, show the edit links > <a name=877>876</a>: if ($allowEdit) > <a name=878>877</a>: { ; >$main::Response->WriteRef(\(' > <a name=879>878</a>: <img >src="images/edite.gif" width="15" height="18" >border="0" alt="Edit"> Edit > <a name=880>879</a>: &nbsp;&nbsp;&nbsp; > <a name=881>880</a>: ')); } ; >$main::Response->WriteRef(\(' > <a name=882>881</a>: > <a name=883>882</a>: <img >src="images/editp.gif" width="15" height="18" >border="0" alt="Endpoints"> Endpoints > <a name=884>883</a>: &nbsp;&nbsp;&nbsp; > <a name=885>884</a>: <img >src="images/edita.gif" width="15" height="18" >border="0" alt="Assets"> Assets > <a name=886>885</a>: </td> > <a name=887>886</a>: </tr> > <a name=888>887</a>: <tr> > <a name=889>888</a>: <th >colspan="'.($editcols).'">Select:</th> > <a name=890>889</a>: <td >class="columnHeader"> > <a name=891>890</a>: <A >href="'.($asppage).'?ordercolumn=NODENAME">Name</A> > <a name=892>891</a>: </td> > <a name=893>892</a>: <td >class="columnHeader"> > <a name=894>893</a>: <A >href="'.($asppage).'?ordercolumn=NODETYPE">Type</A> > <a name=895>894</a>: </td> > <a name=896>895</a>: <td >class="columnHeader"> > <a name=897>896</a>: <A >href="'.($asppage).'?ordercolumn=STATUS">Status</A> > <a name=898>897</a>: </td> > <a name=899>898</a>: <td >class="columnHeader"> > <a name=900>899</a>: <A >href="'.($asppage).'?ordercolumn=SITECODE">Site Code</A> > <a name=901>900</a>: </td> > <a name=902>901</a>: <td >class="columnHeader"> > <a name=903>902</a>: <A >href="'.($asppage).'?ordercolumn=LOCATIONDSCR">Location</A> > <a name=904>903</a>: </td> > <a name=905>904</a>: <td >class="columnHeader"> > <a name=906>905</a>: <A >href="'.($asppage).'?ordercolumn=RACKNBR">Rack #</A> > <a name=907>906</a>: </td> > <a name=908>907</a>: </tr> > <a name=909>908</a>: > <a name=910>909</a>: ')); ### Add the data to the table ### > <a name=911>910</a>: my $iCount; > <a name=912>911</a>: my $bgcolor; > <a name=913>912</a>: for ($iCount = 0; $iCount < $nodecount; >$iCount++) > <a name=914>913</a>: { > <a name=915>914</a>: # set the alternating row >colors > <a name=916>915</a>: if ($iCount%2 != 0) { > <a name=917>916</a>: $bgcolor = >"eeeeee" > <a name=918>917</a>: } else { > <a name=919>918</a>: $bgcolor = >"ffffff" > <a name=920>919</a>: } > <a name=921>920</a>: ; >$main::Response->WriteRef(\(' > <a name=922>921</a>: <tr> > <a name=923>922</a>: > <a name=924>923</a>: ')); ### if the user has edit rights, >show the edit links > <a name=925>924</a>: if ($allowEdit) > <a name=926>925</a>: { ; >$main::Response->WriteRef(\(' > <a name=927>926</a>: > <a name=928>927</a>: <td><A >href="editNode.htm?OID='.($nodeOIDList[$iCount]).'"> > <a name=929>928</a>: <img >src="images/edite.gif" width="15" height="18" >border="0" alt="Edit"></a> > <a name=930>929</a>: </td> > <a name=931>930</a>: > <a name=932>931</a>: ')); } ; >$main::Response->WriteRef(\(' > <a name=933>932</a>: > <a name=934>933</a>: <td><A >href="viewEndpoints.htm?OID='.($nodeOIDList[$iCount]).'&nodeName='.($nodeNameList[$iCount]).'"> > <a name=935>934</a>: <img >src="images/editp.gif" width="15" height="18" >border="0" alt="Endpoints"></a> > <a name=936>935</a>: </td> > <a name=937>936</a>: <td><A >href="viewInstalledAssets.htm?OID='.($nodeOIDList[$iCount]).'"> > <a name=938>937</a>: <img >src="images/edita.gif" width="15" height="18" >border="0" alt="Assets"></a> > <a name=939>938</a>: </td> > <a name=940>939</a>: <td >bgcolor="#'.($bgcolor).'">'.( $nodeNameList[$iCount] >).'&nbsp;</td> > <a name=941>940</a>: <td >bgcolor="#'.($bgcolor).'">'.( $nodeTypeList[$iCount] >).'&nbsp;</td> > <a name=942>941</a>: <td >bgcolor="#'.($bgcolor).'">'.( $statusList[$iCount] >).'&nbsp;</td> > <a name=943>942</a>: <td >bgcolor="#'.($bgcolor).'">'.( $siteCodeList[$iCount] >).'&nbsp;</td> > <a name=944>943</a>: <td >bgcolor="#'.($bgcolor).'">'.( $locationList[$iCount] >).'&nbsp;</td> > <a name=945>944</a>: <td >bgcolor="#'.($bgcolor).'">'.( $rackList[$iCount] ).'&nbsp;</td> > <a name=946>945</a>: </tr> > <a name=947>946</a>: > <a name=948>947</a>: ')); } ### end for loop > <a name=949>948</a>: ; $main::Response->WriteRef(\(' > <a name=950>949</a>: > <a name=951>950</a>: <tr> > <a name=952>951</a>: <td colspan="9"> > <a name=953>952</a>: <font >color="red"> > <a name=954>953</a>: > <a name=955>954</a>: ')); > <a name=956>955</a>: if (0 == $nodecount) > <a name=957>956</a>: { ; $main::Response->WriteRef(\(' > <a name=958>957</a>: <font >size="+2"> > <a name=959>958</a>: No nodes were found with that >search critera. Please try again. > <a name=960>959</a>: </font> > <a name=961>960</a>: ')); } else { ; >$main::Response->WriteRef(\(' > <a name=962>961</a>: Your search returned >'.($nodecount ).' nodes. > <a name=963>962</a>: ')); } ; >$main::Response->WriteRef(\(' > <a name=964>963</a>: > <a name=965>964</a>: </font> > <a name=966>965</a>: </td> > <a name=967>966</a>: </tr> > <a name=968>967</a>: </table> > <a name=969>968</a>: <!-- SAVE THE SEARCH CRITERIA --> > <a name=970>969</a>: <input type="hidden" >name="searchNodeOID" value="'.($searchNodeOID).'"> > <a name=971>970</a>: <input type="hidden" >name="searchNodeName" value="'.($searchNodeName).'"> > <a name=972>971</a>: <input type="hidden" >name="searchNodeType" value="'.($searchNodeType).'"> > <a name=973>972</a>: <input type="hidden" >name="searchNodeStatus" value="'.($searchNodeStatus).'"> > <a name=974>973</a>: <input type="hidden" >name="searchSiteCode" value="'.($searchSiteCode).'"> > <a name=975>974</a>: <input type="hidden" >name="searchLocation" value="'.($searchLocation).'"> > <a name=976>975</a>: <input type="hidden" >name="searchRack" value="'.($searchRack).'"> > <a name=977>976</a>: </form> > <a name=978>977</a>: </center> > <a name=979>978</a>: <div align="center">Problems? Please <a >href="javascript:document.FBug.submit();">let us >know.</a></div> > <a name=980>979</a>: <form name="FBug" method="get" >action="/cgi-bin/itservices.cgi"> > <a name=981>980</a>: <input type="hidden" name="app" >value="'));$Response->Write(qq($Application->{'Application'} >$Application->{'CVS_Version'}));; $main::Response->WriteRef(\('"> > <a name=982>981</a>: </form> > <a name=983>982</a>: <div align="left"><b><i>Version >'.($Application->{'CVS_Version'}).'</i></b></div> > <a name=984>983</a>: <!-- <div align="right"><i>For ></i><b><font face="Helvetica" >color="blue">Inter</font>NAP</b><i> internal use >only.</i></div> --> > <a name=985>984</a>: <div align="right"><i>For ><b>INTERNAP</b> internal use only.</i></div> > <a name=986>985</a>: ')); # Comment out this functionality until I need to add menus >later. > <a name=987>986</a>: # <script language="JavaScript1.2"> > <a name=988>987</a>: # <!-- > <a name=989>988</a>: # //this is nessecary for the menus to show up on IE. > <a name=990>989</a>: # //IE needs to create the menus after the <BODY> >tag > <a name=991>990</a>: # if(document.all){ # document.all is only defined in >IE, not in Netscape. > <a name=992>991</a>: # CreateMenus(); > <a name=993>992</a>: # } > <a name=994>993</a>: # //--> > <a name=995>994</a>: # </script> > <a name=996>995</a>: unless ($asppage =~ /^(pick|refine)/) { ; >$main::Response->WriteRef(\(' > <a name=997>996</a>: <Map name="gomenu"> > <a name=998>997</a>: <area shape="rect" >coords="61,0,251,25" href="/"> > <a name=999>998</a>: </map> > <a name=1000>999</a>: > <a name=1001>1000</a>: <div id="goOff"><a >href="javascript:void(0)" >onMouseOver="MM_showHideLayers(\'document.layers[\\\'goOff\\\']\',\'document.all[\\\'goOff\\\']\',\'hide\',\'document.layers[\\\'go\\\']\',\'document.all[\\\'go\\\']\',\'hide\')"><img > src="/images/1space.gif" alt="" width="150" >height="400" border="0"></a></div> > <a name=1002>1001</a>: > <a name=1003>1002</a>: <div id="goTgl"><a >href="javascript:void(0)" >onMouseOver="MM_showHideLayers(\'document.layers[\\\'goOff\\\']\',\'document.all[\\\'goOff\\\']\',\'show\',\'document.layers[\\\'go\\\']\',\'document.all[\\\'go\\\']\',\'show\')"><img > src="/images/1space.gif" alt="" width="120" >height="55" border="0"></a></div> > <a name=1004>1003</a>: > <a name=1005>1004</a>: <div id="go"> > <a name=1006>1005</a>: <div align="center"><a >href="/"><font face="sans-serif" color="#000000" >size="-1"><b>Home</b></font></a></div><br> > <a name=1007>1006</a>: <a href="/corp/staff/pageall.htm"><font >face="sans-serif" color="#000099" >size="-1"><b>Paging</b></font></a><br><br> > <a name=1008>1007</a>: <a >href="/passwd/cgi-bin/prox/password.cgi"><font >face="sans-serif" color="#000099" >size="-1"><b>Change&nbsp;Password</b></font></a>&nbsp;<br><br> > <a name=1009>1008</a>: <a href="/top/help.htm"><font >face="sans-serif" color="#000099" >size="-1"><b>Help</b></font></a><br><br> > <a name=1010>1009</a>: <a href="/dept/index.htm"><font >face="sans-serif" color="#000099" >size="-1"><b>Departments</b></font></a><br><br> > <a name=1011>1010</a>: <a href="/apps/index.htm"><font >face="sans-serif" color="#000099" >size="-1"><b>Applications</b></font></a><br><br> > <a name=1012>1011</a>: <a href="/corp/staff/search.htm"><font >face="sans-serif" color="#000099" >size="-1"><b>Staff&nbsp;Search</b></font></a><br><br> > <a name=1013>1012</a>: <a href="javascript:PopSearch();"><font >face="sans-serif" color="#000099" >size="-1"><b>InfoSource&nbsp;Search</b></font></a><br> > <a name=1014>1013</a>: <!--<a >href="javascript:q=document.getSelection();for(i=0;i<frames.length;i++){q=frames[i].document.getSelection();if(q)break;}if(!q)void(q=prompt(\'Enter > Search >Terms\',\'\'));if(q)location.href=\'https://infosource.internap.com/cgi-bin/nph-seek.cgi/query.html?qt=\'+escape(q)"><font > face="sans-serif" color="#000099" >size="-1"><b>InfoSource&nbsp;Search</b></font></a>--><br> > <a name=1015>1014</a>: </div> > <a name=1016>1015</a>: > <a name=1017>1016</a>: ')); } ; $main::Response->WriteRef(\(' > <a name=1018>1017</a>: > <a name=1019>1018</a>: > <a name=1020>1019</a>: </body> > <a name=1021>1020</a>: </html>'));;;no lib >qw(/usr/local/etc/infosource/apps/netcfg/); ;; } > > </pre> > <hr width=30% size=1> > <font size=-1> > <i> > An error has occured with the Apache::ASP script just run. > If you are the developer working on this script, and cannot work > through this problem, please try researching the it at the > <a href=http://www.apache-asp.org/>Apache::ASP web site</a>, > specifically the <a href=http://www.apache-asp.org/faq.html>FAQ section</a>. > Failing that, check out your > <a href=http://www.apache-asp.org/support.html>support options</a>, and > if necessary include this debug output with any query. > > > > > >