|
|
<% /* Modification History: 3/15 - Added IfColIDIsNull code 6/3/02 - Added davidgaz to the admins array per SandyWe Request. */ var Admins = new Array( "solson", "gabea", "derekmo", "erikt", "sandywe", "toddc", "v-wsugg", "andreva", "sbeer", "a-mattk", "llau", "davidgaz" )
var Testers = new Array( "sbeer", "kiranrk", "alokkar", "solson", "llau" )
var PMs = new Array ( "derekmo", "andreva" , "solson" )
var CompareOperators = { "EQ" : {Text:"Equal to", Sign:"=" }, "GT" : { Text:"Greater Than", Sign:">" }, "LT" : { Text:"Less Than", Sign:"<" }, "GTET" : { Text:"Greater than/Equal to", Sign:">=" }, "LTET" : { Text:"Less than/Equal to", Sign:"<=" }, "NE" : { Text:"Not Equal to", Sign:"<>" }, "IS" : { Text:"Is Null", Sign:"IS NULL" }, "ISN" : { Text:"Is Not Null", Sign:"IS NOT NULL"}, "LK" : { Text:"Like", Sign:"LIKE " }, "CONT" : { Text:"Contains", Sign:"CONTAINS" }, "DNCONT" : { Text:"Does Not Contain", Sign:"DNCONTAINS" } }
var SearchFields = { "1" : { Text:"Bucket ID", Value:"BucketID", ValType: "String" }, "2" : { Text:"Has a Full Dump", Value:"bHasFullDump", ValType: "Number" }, "3" : { Text:"Follow Up", Value:"FollowUp", ValType: "String" }, "4" : { Text:"Response ID", Value:"SolutionID", ValType: "Number" }, "5" : { Text:"Bug ID" , Value:"BugID" , ValType: "Number" }, "6" : { Text:"Crash Count" , Value:"CrashCount", ValType: "Number" }, "7" : { Text:"Driver Name" , Value:"DriverName", ValType: "String" }, "8" : { Text:"iBucket" , Value:"iBucket", ValType: "Number" } }
var CrashSearchFields = { "1" : { Text:"BucketID" , Value:"BucketID", ValType: "String" }, "2" : { Text:"Build", Value:"BuildNo", ValType: "Number" }, "3" : { Text:"Entry Date", Value:"EntryDate", ValType: "String" }, "4" : { Text:"Email" , Value:"Email" , ValType: "String" }, "5" : { Text:"Description" , Value:"Description", ValType: "String" }, "6" : { Text:"FullDump" , Value:"bFullDump", ValType: "Number" }, "7" : { Text:"Source" , Value:"Source", ValType: "Number" }, "8" : { Text:"SKU" , Value:"sku", ValType: "Number" }, "9" : { Text:"Crash Path", Value:"FilePath", ValType: "String" }, "10" : { Text:"iBucket", Value:"iBucket", ValType: "Number" } }
//set this to taket the site down var SiteDown = 0
if ( SiteDown == 0 ) { if ( Application("SiteDown") == 1 ) SiteDown = 1 else SiteDown = 0 }
//Server name var g_ServerName = Request.ServerVariables( "SERVER_NAME" )
function trim ( src ) { var temp = new String( src ) var rep = /^( *)/ var rep2 = /( )*$/ var rep3 = /\n/
var temp = temp.replace( rep3, "" ) temp = temp.replace( rep2, "" ) return ( temp.replace( rep, "" ) ) }
function SendMail ( Recipients, Subject, MessageText ) { var StrBody var MailObject
//MailObject = Server.CreateObject("CDONTS.NewMail") //MailObject.BodyFormat=0 //MailObject.MailFormat=0 //MailObject.Body = "HTML" //MailObject.To = "[email protected];" + Recipients //MailObject.From = "OCA/SCP_Build_Lab" //MailObject.subject = subject
MessageText=MessageText + "\n" MessageText=MessageText + "\n" MessageText=MessageText + "\n" + "Do not respond to this email, it is automatically generated" MessageText=MessageText + "\n"
var CDoObject = Server.CreateObject("CDO.Message") CDoObject.From = "DBGPortal" CDoObject.To = Recipients CDoObject.Cc = "" CDoObject.Subject = Subject CDoObject.TextBody = MessageText CDoObject.Send()
}
function GetUserAlias() { return Request.ServerVariables( "AUTH_USER" ) }
function GetShortUserAlias() { try { var FullAlias = new String( GetUserAlias() ) FullAlias = FullAlias.split( "\\" ) return FullAlias[1].toString() } catch( err ) { return "unknown" } }
function isAdmin( sUserAlias ) { return( Admins.find( sUserAlias ) ) }
function isTester( sUserAlias ) { return( Testers.find( sUserAlias ) ) }
function isPM( sUserAlias ) { return( PMs.find( sUserAlias ) ) }
function BuildDropDown(SP, Value, SelectName ) { Response.Write("<SELECT style='text-size:100%' ID='" + SelectName + "' NAME='" + SelectName + "'>\n" ) DropDown( SP, Value ) Response.Write("</SELECT>")
}
function BuildSingleValueDropDown(SP, Value, SelectName, FirstValue ) { Response.Write("<SELECT style='text-size:100%' ID='" + SelectName + "' NAME='" + SelectName + "'>\n" ) if ( String( FirstValue ) != "undefined" ) Response.Write("<OPTION VALUE=" + FirstValue + ">" + FirstValue + "</OPTION>" ) SingleValueDropDown( SP, Value ) Response.Write("</SELECT>")
}
function DropDown(SP, Value) { //if ( g_DBConn == null ) //DB_GetConnectionObject( "CRASHDB" ) var g_DBConn = GetDBConnection( Application("SOLUTIONS3") ) //var g_DBConn = GetDBConnection( Application("CRASHDB3") ) try { var List = g_DBConn.Execute( SP ) var dbFields = GetRecordsetFields( List ) if ( !List.BOF ) { while ( !List.EOF ) { if( String(List(dbFields[1])) != String( "null") ) { if ( String(List(dbFields[0])) == String( Value ) ) Response.Write ( "<OPTION SELECTED VALUE='" + List(dbFields[0]) + "'>" + List(dbFields[1]) + "</OPTION>\n" ) else Response.Write ( "<OPTION VALUE='" + List(dbFields[0]) + "'>" + List(dbFields[1]) + "</OPTION>\n" ) } List.MoveNext() } } } catch ( err ) { Response.Write( "</SELECT><BR>" ) Response.Write ("An error occured try to create the drop down list: \n<BR>" ) Response.Write ("Query: " + SP + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) } }
function SingleValueDropDown(SP, Value) { if ( g_DBConn == null ) //DB_GetConnectionObject( "CRASHDB" ) DB_GetConnectionObject( "SEP_DB" ) try { var List = g_DBConn.Execute( SP ) var dbFields = GetRecordsetFields( List ) if ( !List.BOF ) { while ( !List.EOF ) { if( String(List(dbFields[0])) != String( "null") ) { if ( String(List(dbFields[0])) == String( Value ) ) Response.Write ( "<OPTION SELECTED VALUE='" + List(dbFields[0]) + "'>" + List(dbFields[0]) + "</OPTION>\n" ) else Response.Write ( "<OPTION VALUE='" + List(dbFields[0]) + "'>" + List(dbFields[0]) + "</OPTION>\n" ) } List.MoveNext() } } } catch ( err ) { Response.Write( "</SELECT><BR>" ) Response.Write ("An error occured try to create the drop down list: \n<BR>" ) Response.Write ("Query: " + SP + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) } }
/* * GetDefaultTableFormat * Ok, the syntax is as follows: * The numbers represent the column order, 1-5 will be displayed in order 1-5 * Column : is hte name of the column from the recordset. * InnerText : What you want to display it like, use %VALUE% to use the value of this column * use %1% to use the value from column 1 etc . . . If you want to use values * from other columsn, you must specify the ReplaceColumn entry * ReplaceColumn : The column to get data from, use just the number * NumberOfColumns : is pretty obvious, you must specify the numbered entries exactly thouhg * TRParams : Anything you want added to the TR tags * NoHeader : If true, won't display the column name at the top * IfNone : If the column is null, then display this instead of NONE * TableParams : Formatting you want on the table tag * AltColor : Color to use if alternating the table cells, default is white with your color * MaxRows : Maximum number of rows to display * THParams : Extra goodies to pu in on the TH line of this column * GlobalTHParams : TH parameters that are global * * eg: "5" : { Column: "Modules", InnerText : "<HREF='http://%1%'>%VALUE%</>", ReplaceColumn : "1" }, * This will print a link with the value of modules from the recordset as the text * and the value of the #1 column as the href. */ function GetDefaultTableFormat() { var TableFormat = { TableParams : "CELLSPACING=0 CELLPADDING=0", GlobalTHParams : "", NoHeader : false, AltColor : "white", MaxRows : 2000, DisplayRowCount : false, "1" : { Column: "*"}, "2" : { Column: "" } , "3" : { Column: "" }, "4" : { Column: "" }, "5" : { Column: "" }, "6" : { Column: "" }, "7" : { Column: "" }, "8" : { Column: "" }, "9" : { Column: "" }, "10" : { Column: "" }, "11" : { Column: "" }, "12" : { Column: "", InnerText : "", ReplaceColumn : "", TDParams : "", THParams : "", IfNull : "", IfColIDIsNull : "", IFColIDIsNullCode : "" }, NumberOfColumns : 1, "TRParams" : "" } return TableFormat }
function printTD( str ) { prints( "<TD>" + str + "</TD>" ) }
function prints( str ) { Response.Write( str + "\n" ) }
function Trim( ) { return 1 }
function find( strToFind ) { try { var strToFind = new String( strToFind.toLowerCase() )
for ( var element in this ) { var CurrentString = new String( this[element] ) CurrentString = CurrentString.toLowerCase() //if ( String(strToFind).toLowerCase() == String( this[element] ).toLowerCase() ) if ( strToFind == CurrentString ) return true } return false } catch ( err ) { Response.Write("Find Failed") } }
//add a find method to the Array object. Array.prototype.find = find
function findRemoveColumn( column ) { var tmp = new String( this.RemoveColumns ) var tmp = tmp.split( ";" ) for ( var i=0 ; i < tmp.length ; i++ ) { if ( tmp[i] == column ) return true } return false }
function GetRecordsetFields( rs ) { var Fields = new Array() for( var i=0 ; i< rs.fields.count ; i++ ) Fields[i] = rs.fields(i).Name
return Fields }
function BuildTableFromRecordset( rs, TableFormat ) { var altColor = TableFormat.AltColor; var counter = new Number( 0 ) if ( TableFormat["1"].Column=="*" ) { var rsFields = GetRecordsetFields( rs ) for( var i=1 ; i <= rsFields.length ; i++ ) { TableFormat[String(i)].Column = rsFields[i-1] } TableFormat.NumberOfColumns = i }
prints( "<TABLE " + TableFormat.TableParams + ">" )
if ( !TableFormat.NoHeader ) { for( var i=1 ; i < TableFormat.NumberOfColumns ; i++ ) { var Index = new String(i) if ( TableFormat[Index].Column == "" ) prints( "<TH " + TableFormat[Index].THParams + " " + TableFormat.GlobalTHParams + "></TH>" ) else { if ( typeof( TableFormat[Index].THName) == "undefined" ) prints( "<TH " + TableFormat[Index].THParams + " " + TableFormat.GlobalTHParams + ">" + TableFormat[Index].Column + "</TH>" ) else prints( "<TH " + TableFormat[Index].THParams + " " + TableFormat.GlobalTHParams + ">" + TableFormat[Index].THName + "</TH>" ) } } }
if ( rs.EOF ) prints("<TR><TD COLSPAN=" + TableFormat.NumberOfColumns + "> No records to display </TD></TR>" ) while( !rs.EOF && Number(counter) < Number(TableFormat.MaxRows) ) { if ( altColor == TableFormat.AltColor ) altColor = "white" else altColor = TableFormat.AltColor if ( typeof(TableFormat["TRParams"].ReplaceColumn) == "undefined" ) prints( "<TR " + TableFormat["TRParams"].Value + ">" ) else { prints ( "<TR " + String( ReplaceDataColumn( TableFormat["TRParams"].Value, rs( TableFormat[TableFormat["TRParams"].ReplaceColumn].Column ), TableFormat["TRParams"].ReplaceColumn), "" ) + ">") } for( var i=1 ; i < TableFormat.NumberOfColumns ; i++ ) { var Index=new String(i) var TDInnerText = new String() try { var rsVal = new String( rs(TableFormat[Index].Column) ) } catch( err ) { var rsVal = new String( TableFormat[Index].Column ) } if ( TableFormat[Index].Column != "" ) {
if ( typeof(TableFormat[Index].TDParams ) != "undefined" ) TDInnerText = "<TD " + TableFormat[Index].TDParams + " BGCOLOR='" + altColor + "'>" else TDInnerText = "<TD BGCOLOR='" + altColor + "'>"
if ( rsVal != "null" ) { if ( typeof( TableFormat[Index].InnerText ) != "undefined" ) { if ( typeof(TableFormat[Index].ReplaceColumn) != "undefined" ) { TDInnerText += ReplaceDataColumn( TableFormat[Index].InnerText, rs( TableFormat[TableFormat[Index].ReplaceColumn].Column ), TableFormat[Index].ReplaceColumn, rs(TableFormat[String(i)].Column ) ) } else TDInnerText += TableFormat[String(i)].InnerText } else { TDInnerText +=rs(TableFormat[String(i)].Column) } } else { if ( typeof( TableFormat[Index].IfNull ) == "undefined" ) { TDInnerText += "none" } else { if ( typeof( TableFormat[Index].IfColIDIsNull ) == "undefined" ) { if ( typeof(TableFormat[Index].ReplaceColumn) == "undefined" ) TDInnerText += TableFormat[Index].IfNull else TDInnerText += String( ReplaceDataColumn( TableFormat[Index].IfNull, rs( TableFormat[TableFormat[Index].ReplaceColumn].Column ), TableFormat[Index].ReplaceColumn, rs( TableFormat[TableFormat[Index].ReplaceColumn].Column ) )) } else { var tmp = new String( rs( TableFormat[TableFormat[Index].IfColIDIsNull].Column )) if ( "null" == tmp ) TDInnerText += TableFormat[Index].IfColIDIsNullCode else { //this chunk of code is the same as above if ( typeof(TableFormat[Index].ReplaceColumn) == "undefined" ) TDInnerText += TableFormat[Index].IfNull else TDInnerText += String( ReplaceDataColumn( TableFormat[Index].IfNull, rs( TableFormat[TableFormat[Index].ReplaceColumn].Column ), TableFormat[Index].ReplaceColumn, rs( TableFormat[TableFormat[Index].ReplaceColumn].Column ) )) } } } } } else { TDInnerText = "<TD>" } prints( TDInnerText + "</TD>" ) } rs.MoveNext() counter++ prints("</TR>") } if ( TableFormat.DisplayRowCount ) Response.Write( "<TR><TD COLSPAN=" + String(Number(TableFormat.NumberOfColumns) - 2 ) + "><HR> Number of Records: " + String(counter) + "<TD></TR>" ) prints("</TABLE>") } function ReplaceDataColumn( dest, src, column, orig ) { var tmp = new String(dest) var tmp2 = new String(orig)
if ( tmp2.substr(0,7) == "http://" ) { tmp = "<a href=" + tmp2 + " target=_blank>" + TextBreak(tmp2,35) + "</a>" return tmp } else { var regexp=new RegExp( "%" + String(column) + "%" , "g" ) var regexp2=new RegExp( "%VALUE%" , "g" ) tmp = tmp.replace( regexp, Server.URLEncode(String(src)) ) tmp = tmp.replace( regexp2, TextBreak(orig,40) ) } return tmp }
function TextBreak( aStrParam, aLength ) { var curPos = 0 var retval = new String("") var aStr = new String(aStrParam) if ( aStr.length < aLength ) retval = aStr else while ( curPos < aStr.length ) { retval += aStr.substr( curPos, aLength ) + "<br>" curPos += aLength } return retval }
function BuildTableFromRecordset2( rs, TableFormat ) { prints( "<TABLE " + TableFormat.TableParams + ">" )
if ( !TableFormat.NoHeader ) { //first dump all the fields into a TH for( var i = 0 ; i < rs.fields.count ; i++ ) { if ( TableFormat[rs.fields(i).Name] ) { if( !TableFormat[rs.fields(i).Name].Remove ) { if ( typeof( TableFormat[rs.fields(i).Name].InnerText) != "undefined" ) prints ( "<TH>" + TableFormat[rs.fields(i).Name].InnerText + "</TH>" ) else prints ( "<TH>" + rs.fields(i).Name + "</TH>" ) } } else prints ( "<TH>" + rs.fields(i).Name + "</TH>" ) } } while( !rs.EOF ) { prints( "<TR " + TableFormat["TRParams"] + ">" ) for( var i=0 ; i < rs.fields.count ; i++ ) { if ( TableFormat[rs.fields(i).Name] ) { if( !TableFormat[rs.fields(i).Name].Remove ) if ( typeof( TableFormat[rs.fields(i).Name].InnerText) != "undefined" ) prints( "<TD " + TableFormat[rs.fields(i).Name]["TDParams"] + ">" + TableFormat[rs.fields(i).Name].InnerText + "</TD>" ) else prints( "<TD " + TableFormat[rs.fields(i).Name]["TDParams"] + ">" + rs.fields(i).Value + "</TD>" )
} else prints( "<TD>" + rs.fields(i).Value + "</TD>" ) } rs.MoveNext() prints("</TR>" ) }
prints( "</TABLE>" )
}
function CreateClauseTable() { var sI var Field var sField //submitted field name, requested from the form post var FieldSelected //the selected field var sConjunction var display var sCompare var op var sValue for ( var i=1 ; i < 9 ; i++ ) { //sField=Request("sField" & sI ) //sCompare=Request("sCompare" & sI ) //sValue=Request("tbSearchValue" & sI ) //sConjunction=Request("sConjunction" & sI ) //if sField <> "" then Display="Block" else Display="none" var Display="none" sI = new String(i) Response.Write( " <TABLE Class=Plain BORDER=0 ID=tDivClause" + sI + " NAME=tDivClause" + sI + " STYLE='text-decoration:none;display:" + Display + "'>" + "\n" ) Response.Write( " <TR BORDER=0>" + "\n" ) Response.Write( " <TD class=Plain>" + "\n" ) Response.Write( " <SELECT STYLE='width:70px' NAME=sConjunction" + sI + " >" + "\n" ) if ( sConjunction == "AND" || sConjunction=="" ) { Response.Write( " <OPTION VALUE='AND' SELECTED >AND</OPTION>" + "\n" ) Response.Write( " <OPTION VALUE='OR'>OR</OPTION>" + "\n" ) } else { Response.Write( " <OPTION VALUE='AND' >AND</OPTION>" + "\n" ) Response.Write( " <OPTION VALUE='OR' SELECTED>OR</OPTION>" + "\n" ) } Response.Write( " </SELECT>" + "\n" ) Response.Write( " </TD>" + "\n" )
Response.Write( " <TD class=Plain>" + "\n" ) Response.Write( " <SELECT STYLE='width:175px' NAME=sField" + sI + " onChange='FillInCompareField(" + sI + ", this)'>" + "\n" ) Response.Write( " <OPTION VALUE='' ></OPTION>" + "\n" ) for ( Field in SearchFields ) { FieldSelected="" //if sField <> "" and g_AdvFields( Field )("Value") = sField then FieldSelected=" SELECTED " //Response.Write( "<OPTION VALUE='" + g_AdvFields( Field )("Value") + "' " + FieldSelected + ">" + g_AdvFields( Field )("Text") + "</OPTION>" + "\n" ) Response.Write( "<OPTION VALUE='" + SearchFields[Field].Value + "' " + FieldSelected + ">" + SearchFields[Field].Text + "</OPTION>" + "\n" ) } Response.Write( " </SELECT>" + "\n" ) Response.Write( " </TD>" + "\n" ) Response.Write( " <TD class=plain>" + "\n" ) Response.Write( " <SELECT STYLE='width:175px' NAME=sCompare" + sI + " OnClick='ClearValueTB(" + sI + ")' OnChange='ValidateCompare( " + sI + ", this.value )'>" + "\n" )
if ( sCompare != "" ) { for ( Op in CompareOperators ) { FieldSelected="" //if( sCompare != "" && sCompare == Operators(op) ) //FieldSelected=" SELECTED " Response.Write( "<OPTION VALUE='" + CompareOperators[Op].Sign + "' " + FieldSelected + ">" + CompareOperators[Op].Text + "</OPTION>" + "\n" ) } }
Response.Write( " </SELECT>" + "\n" ) Response.Write( " </TD>" + "\n" )
Response.Write( " <TD Class=Plain>" + "\n" ) //if ( sValue != "" ) //Response.Write( " <INPUT STYLE='width:175px;visibility:visible' TYPE=TextBox NAME='tbSearchValue" + sI + "' VALUE='" + sValue + "'>" + "\n" ) //else Response.Write( " <INPUT STYLE='width:175px;visibility:visible' TYPE=TextBox NAME='tbSearchValue" + sI + "'>" + "\n" ) Response.Write( " </TD>" + "\n" )
Response.Write( " <TD Class=Plain>" + "\n" ) Response.Write( " <INPUT TYPE=Button VALUE='Remove Clause' NAME=btnRemoveClause" + sI + " OnClick='RemoveClause(" + sI + ")' >" + "\n" ) Response.Write( " </TD>" + "\n" ) Response.Write( " </TR>" + "\n" ) Response.Write( " </TABLE>" + "\n" ) }
}
function BuildBucketTable( Query, PageSize, Sortable ) { if ( PageSize == "undefined" || isNaN( PageSize ) ) PageSize=25
try { var rsRecordSet = g_DBConn.Execute( Query ) } catch ( err ) { Response.Write("Could not get get recordset (BuildBucketTable(...):<BR>") Response.Write( "Query: " + Query + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) Response.End }
try { var TableFormat = GetDefaultTableFormat()
TableFormat.MaxRows=PageSize TableFormat.DisplayRowCount = true TableFormat.TableParams = " CELLSPACING=0 CELLPADDING=0 WIDTH=100% NAME=BucketTable ID=BucketTable " TableFormat["1"].ReplaceColumn = "2" TableFormat["1"].InnerText = "<IMG SRC='images/ButtonViewBucket.bmp' ALT='Bucket ID %VALUE%' onMouseOut=\"style.cursor='default';\" onMouseOver=\"style.cursor='hand';\" Onclick=\"javascript:window.navigate(\'DBGPortal_ViewBucket.asp?BucketID=%2%')\">" TableFormat["2"].ReplaceColumn = "2" TableFormat["2"].InnerText = "<A HREF='DBGPortal_ViewBucket.asp?BucketID=%2%' >%VALUE%"
TableFormat["3"].TDParams="ALIGN=Center" TableFormat["3"].ReplaceColumn = "3" TableFormat["3"].InnerText = "<A HREF='DBGPortal_DisplayQuery.asp?SP=DBGP_GetBucketsByAlias&Param1=All&Param2=All&Param3=CrashCount&Param4=DESC&Param5=%VALUE%' >%VALUE%</A>" //SP=DBGP_GetBucketsBySpecificBuildNumber&Platform=2600&QueryType=1 TableFormat["5"].ReplaceColumn = "5" TableFormat["5"].InnerText = "<A HREF='#RightHere' OnClick='OpenBug( %VALUE% )'>%VALUE%</A>" TableFormat["4"].TDParams="ALIGN=Center"
if ( Sortable != false ) { TableFormat["1"].THParams = "OnClick=\"SortColumn( 'iBucket')\" OnMouseOver=\"this.style.backgroundColor='#0099ff'\" OnMouseOut=\"this.style.backgroundColor='#eeeeee'\" " TableFormat["2"].THParams = "OnClick=\"SortColumn( 'BucketID')\" OnMouseOver=\"this.style.backgroundColor='#0099ff'\" OnMouseOut=\"this.style.backgroundColor='#eeeeee'\" " TableFormat["3"].THParams = "OnClick=\"SortColumn( 'FollowUp')\" OnMouseOver=\"this.style.backgroundColor='#0099ff'\" OnMouseOut=\"this.style.backgroundColor='#eeeeee'\" " TableFormat["4"].THParams = "OnClick=\"SortColumn( 'CrashCount')\" OnMouseOver=\"this.style.backgroundColor='#0099ff'\" OnMouseOut=\"this.style.backgroundColor='#eeeeee'\" " TableFormat["5"].THParams = "OnClick=\"SortColumn( 'BugID')\" OnMouseOver=\"this.style.backgroundColor='#0099ff'\" OnMouseOut=\"this.style.backgroundColor='#eeeeee'\" " TableFormat["6"].THParams = "OnClick=\"SortColumn( 'SolutionID')\" OnMouseOver=\"this.style.backgroundColor='#0099ff'\" OnMouseOut=\"this.style.backgroundColor='#eeeeee'\" " }
BuildTableFromRecordset( rsRecordSet, TableFormat ) } catch ( err ) { Response.Write("Could not build table from recordset (BuildBucketTable(...):<BR>") Response.Write( "Query: " + Query + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) Response.End }
}
function BuildTableFromRecord( rs, TableFormat ) { var altColor = TableFormat.AltColor; if ( TableFormat["1"].Column=="*" ) { var rsFields = GetRecordsetFields( rs ) for( var i=1 ; i <= rsFields.length ; i++ ) { TableFormat[String(i)].Column = rsFields[i-1] } TableFormat.NumberOfColumns = i }
prints( "<TABLE " + TableFormat.TableParams + ">" )
if ( !TableFormat.NoHeader ) { for( var i=1 ; i < TableFormat.NumberOfColumns ; i++ ) { var Index = new String(i) if ( TableFormat[Index].Column == "" ) prints( "<TH></TH>" ) else { if ( typeof( TableFormat[Index].THName) == "undefined" ) prints( "<TH>" + TableFormat[Index].Column + "</TH>" ) else prints( "<TH>" + TableFormat[Index].THName + "</TH>" ) } } }
if ( rs.EOF ) prints("<TR><TD COLSPAN=" + TableFormat.NumberOfColumns + "> No records to display </TD></TR>" ) //while( !rs.EOF ) { if ( altColor == TableFormat.AltColor ) altColor = "white" else altColor = TableFormat.AltColor if ( typeof(TableFormat["TRParams"].ReplaceColumn) == "undefined" ) prints( "<TR " + TableFormat["TRParams"].Value + ">" ) else { prints ( "<TR " + String( ReplaceDataColumn( TableFormat["TRParams"].Value, rs( TableFormat[TableFormat["TRParams"].ReplaceColumn].Column ), TableFormat["TRParams"].ReplaceColumn), "" ) + ">") } for( var i=1 ; i < TableFormat.NumberOfColumns ; i++ ) { var Index=new String(i) var TDInnerText = new String() var rsVal = new String( rs(TableFormat[Index].Column) ) if ( TableFormat[Index].Column != "" ) {
if ( typeof(TableFormat[Index].TDParams ) != "undefined" ) TDInnerText = "<TD " + TableFormat[Index].TDParams + " BGCOLOR='" + altColor + "'>" else TDInnerText = "<TD BGCOLOR='" + altColor + "'>"
if ( rsVal != "null" ) { if ( typeof( TableFormat[Index].InnerText ) != "undefined" ) { if ( typeof(TableFormat[Index].ReplaceColumn) != "undefined" ) { TDInnerText += ReplaceDataColumn( TableFormat[Index].InnerText, rs( TableFormat[TableFormat[Index].ReplaceColumn].Column ), TableFormat[Index].ReplaceColumn, rs(TableFormat[String(i)].Column ) ) } else TDInnerText += TableFormat[String(i)].InnerText } else { TDInnerText +=rs(TableFormat[String(i)].Column) } } else { TDInnerText += "none" } } else { TDInnerText = "<TD>" } prints( TDInnerText + "</TD>" ) } //rs.MoveNext() prints("</TR>") } prints("</TABLE>") }
function CreateClauseTable2( SearchFields, CompareOperators, TableName ) { var sI var Field var sField //submitted field name, requested from the form post var FieldSelected //the selected field var sConjunction var display var sCompare var op var sValue for ( var i=1 ; i < 9 ; i++ ) { var Display="none" sI = new String(i) Response.Write( " <TABLE border='0' class='clsTableInfoPlain' ID=" + TableName + sI + " NAME=" + TableName + sI + " STYLE='display:" + Display + "'>" + "\n" ) Response.Write( " <TR>" + "\n" ) Response.Write( " <TD class='sys-table-cell-bgcolor1' nowrap style='width:100px'>" + "\n" ) Response.Write( " <SELECT class='clsSEPSelect2' style='width:75px' NAME=" + TableName + "sConjunction" + sI + " >" + "\n" ) if ( sConjunction == "AND" || sConjunction=="" ) { Response.Write( " <OPTION VALUE='AND' SELECTED >AND</OPTION>" + "\n" ) Response.Write( " <OPTION VALUE='OR'>OR</OPTION>" + "\n" ) } else { Response.Write( " <OPTION VALUE='AND' >AND</OPTION>" + "\n" ) Response.Write( " <OPTION VALUE='OR' SELECTED>OR</OPTION>" + "\n" ) } Response.Write( " </SELECT>" + "\n" ) Response.Write( " </TD>" + "\n" )
Response.Write( " <TD class='sys-table-cell-bgcolor1' nowrap style='width:175px'>" + "\n" ) Response.Write( " <SELECT style='width:160px' class='clsSEPSelect2' NAME=" + TableName + "sField" + sI + " onChange=\"FillInCompareField('" + TableName + "'," + sI + ", this)\">" + "\n" ) Response.Write( " <OPTION VALUE='' ></OPTION>" + "\n" ) for ( Field in SearchFields ) { FieldSelected="" Response.Write( "<OPTION VALUE='" + SearchFields[Field].Value + "' " + FieldSelected + ">" + SearchFields[Field].Text + "</OPTION>" + "\n" ) } Response.Write( " </SELECT>" + "\n" ) Response.Write( " </TD>" + "\n" ) Response.Write( " <TD class='sys-table-cell-bgcolor1' nowrap style='width:175px'>" + "\n" ) Response.Write( " <SELECT class='clsSEPSelect2' style='width:160px' NAME=" + TableName + "sCompare" + sI + " OnChange=\"ValidateCompare( '" + TableName + "'," + sI + ", this.value )\">" + "\n" )
if ( sCompare != "" ) { for ( Op in CompareOperators ) { FieldSelected="" Response.Write( "<OPTION VALUE='" + CompareOperators[Op].Sign + "' " + FieldSelected + ">" + CompareOperators[Op].Text + "</OPTION>" + "\n" ) } }
Response.Write( " </SELECT>" + "\n" ) Response.Write( " </TD>" + "\n" )
Response.Write( " <TD nowrap style='width:175px' >" + "\n" ) Response.Write( " <INPUT STYLE='width:165px;visibility:visible' OnChange=\"VerifySearchData( '" + TableName + "', this.value, " + sI + " )\" TYPE=TextBox NAME='" + TableName + "tbSearchValue" + sI + "'>" + "\n" ) Response.Write( " </TD>" + "\n" )
Response.Write( " <TD nowrap style='width:175px'>" + "\n" ) Response.Write( " <INPUT class='clsButton' TYPE=Button VALUE='Remove' NAME=" + TableName + "btnRemoveClause" + sI + " OnClick=\"RemoveClause('" + TableName + "'," + sI + ")\" >" + "\n" ) Response.Write( " </TD>" + "\n" ) Response.Write( " </TR>" + "\n" ) Response.Write( " </TABLE>" + "\n" ) }
}
function BuildPageJump( TotalPages, PageSpace, SubmitForm ) { Response.Write( "Jump to page: " ) var PageIncrement = parseInt ( TotalPages / 18, 10 ) if ( Number(PageIncrement) == 0 ) PageIncrement=1 for ( var i=1 ; i< TotalPages ; i+= PageIncrement ) Response.Write("<A HREF=\"javascript:document.all.Page.value=" + i + ";" + SubmitForm + ".submit()\">" + i + "</A>  \n" ) //Response.Write("<A HREF=\"javascript:document.all.Page.value=" + i + ";frmPageCrashes.submit()\">" + i + "</A>  \n" ) }
function DisplayError( err, msg ) {
Prints( "<TABLE CELLSPACING=0 Class=ContentArea><TR><TD>" ) Prints( "<H2>An error has occured:</H2>" ) Prints( "Please notify the <A href='mailto:[email protected];[email protected]'>Debug Portal Team</A><BR>" ) Prints( "please also paste the error message into the mail. Thank you.<BR>" )
if ( String( msg ) != "undefined" ) { Response.Write( msg + "<BR>\n" ) } if ( err != null ) { Response.Write( "[" + err.number + "] " + err.description + "<BR>") if ( DebugBuild ) throw( err ) } Response.Write("Page: " + Request.ServerVariables("SCRIPT_NAME") + "<BR>" ) Response.Write("<BR><a HREF='javascript:history.back()'>Back</a><BR>\n" ) Prints( "</TD></TR></TABLE>" ) }
function Prints( text ) { Response.Write( text + "\n" ) }
function LinkSolutionToBucket( SolutionID, BucketID, iBucket, BucketType ) {
var g_DBConn = GetDBConnection( Application("SOLUTIONS3" ) ) Query = "SEP_SetSolvedBucket '" + BucketID + "'," + SolutionID + "," + BucketType try { g_DBConn.Execute( Query ) } catch ( err ) { Response.Write ("Could not execute query SEP_SetSolvedBucket(...)" ) Response.Write( "Query: " + Query + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) throw( err ) Response.End }
try { var g_DBConn = GetDBConnection( Application("CRASHDB3") ) Query = "DBGPortal_UpdateStaticDataSolutionID '" + BucketID + "'," + SolutionID g_DBConn.Execute( Query ) } catch ( err ) { Response.Write ("Could not execute query DBGP_UpdateStaticDataSolutionID(...)" ) Response.Write( "Query: " + Query + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) throw ( err ) Response.End }
try { //DB_GetConnectionObject( "CRASHDB" ) Query = "DBGPortal_SetComment '" + GetShortUserAlias() + "', 9, 'Solution linked by " + GetShortUserAlias() + "','" + BucketID + "'," + iBucket g_DBConn.Execute( Query ) //Response.Write("Attempting to Change comment: " + Query + "<BR>") } catch ( err ) { Response.Write ("Could not execute query DBGP_SetComment(...). <BR> The solution queue/comment could not be updated for this bucket.<BR><BR>" ) Response.Write( "Query: " + Query + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) Response.End }
try { Query = "DBGPortal_SetResponseStatus '" + GetShortUserAlias() + "', 1,'" + BucketID + "'" g_DBConn.Execute( Query ) } catch ( err ) { Response.Write ("Could not execute query DBGP_SetComment(...). <BR> The solution queue/comment could not be updated for this bucket.<BR><BR>" ) Response.Write( "Query: " + Query + "<BR>" ) Response.Write( "[" + err.number + "] " + err.description ) Response.End }
}
function BuildQuickQuery() { %> Currently viewing <SELECT NAME=PageSize> <OPTION VALUE=10 <% if ( PageSize == "10" ) Response.Write("SELECTED")%>>10</OPTION> <OPTION VALUE=25 <% if ( PageSize == "25" ) Response.Write("SELECTED")%>>25</OPTION> <OPTION VALUE=50 <% if ( PageSize == "50" ) Response.Write("SELECTED")%>>50</OPTION> <OPTION VALUE=100 <% if ( PageSize == "100" ) Response.Write("SELECTED")%>>100</OPTION> <OPTION VALUE=500 <% if ( PageSize == "500" ) Response.Write("SELECTED")%>>500</OPTION> </SELECT> buckets per page that are <SELECT NAME=Param1> <OPTION VALUE="Solved" <% if ( Param1 == "Solved" ) Response.Write("SELECTED")%>>Solved</OPTION> <OPTION VALUE="UnSolved" <% if ( Param1 == "UnSolved" ) Response.Write("SELECTED")%>>UnSolved</OPTION> <OPTION VALUE="All" <% if ( Param1 == "All" ) Response.Write("SELECTED")%>>solved or not solved</OPTION> </SELECT> and have <SELECT NAME=Param2> <OPTION VALUE="Raided" <% if ( Param2 == "Raided" ) Response.Write("SELECTED")%>>RAID bugs</OPTION> <OPTION VALUE="NotRaided" <% if ( Param2 == "NotRaided" ) Response.Write("SELECTED")%>>no RAID bug</OPTION> <OPTION VALUE="All" <% if ( Param2 == "All" ) Response.Write("SELECTED")%>>a RAID bug or not</OPTION> </SELECT> <% if ( Param5 != "undefined" & Param5 != "" ) { if ( Param5 != "none" ) Response.Write("and are assigned to") %> <SELECT NAME=Param5 <%if ( Param5 == 'none') Response.Write("STYLE='display:none'")%> > <OPTION VALUE="<%=Param5%>" SELECTED><%=Param5%></OPTION> <OPTION VALUE="">anyone</OPTION> </SELECT> <% } else { //Response.Write( "<INPUT TYPE=HIDDEN NAME=SP VALUE='" + StoredProc + "'>" ) //Response.Write( "<INPUT TYPE=HIDDEN NAME=Param5 VALUE='" + Param5 + "'>" ) } if ( Param6 != "undefined" & Param6 != "" & Param6 != 0 ) { %> for the last <SELECT NAME=Param6> <OPTION VALUE=0>anytime</OPTION> <OPTION VALUE=2 <% if ( Param6 == "2" ) Response.Write("SELECTED")%> >2</OPTION> <OPTION VALUE=7 <% if ( Param6 == "7" ) Response.Write("SELECTED")%> >7</OPTION> <OPTION VALUE=14 <% if ( Param6 == "14" ) Response.Write("SELECTED")%> >14</OPTION> </SELECT> days. <% } %>    |    <INPUT TYPE=SUBMIT OnClick="document.all.Page.value=1;document.all.TotalRows.value=0" VALUE="Apply Changes" id=SUBMIT1 name=SUBMIT1>
<% }
function BuildRSNavigationButtons() { %> <td COLSPAN=3> <INPUT TYPE=HIDDEN NAME=Page VALUE="<%=Page%>"> <!--<INPUT TYPE=HIDDEN NAME=PageSize VALUE="<%=PageSize%>"> --> <!--<INPUT TYPE=HIDDEN NAME=Param1 VALUE="<%=Param1%>">--> <!--<INPUT TYPE=HIDDEN NAME=Param2 VALUE="<%=Param2%>">--> <INPUT TYPE=HIDDEN NAME=Param3 VALUE="<%=Param3%>"> <INPUT TYPE=HIDDEN NAME=Param4 VALUE="<%=Param4%>"> <INPUT TYPE=HIDDEN NAME=Param7 VALUE="<%=Param7%>"> <!-- <INPUT TYPE=HIDDEN NAME=Param6 VALUE="<%=Param6%>"> --> <INPUT TYPE=HIDDEN NAME=TotalRows VALUE="<%=TotalRows%>"> <INPUT TYPE=HIDDEN NAME=SP VALUE='<%=StoredProc%>'> <INPUT TYPE=HIDDEN NAME=NoFormat VALUE='<%=NoFormat%>'> <!--<INPUT TYPE=HIDDEN NAME=Param5 VALUE="<%=Param5%>">--> <CENTER> Total Records: <%=TotalRows%> <BR> <img ID="DblBackButton" SRC="images/dblBackArrow.jpg" OnClick="MovePage( -9999 )" onMouseOut="style.cursor='default';" onMouseOver="style.cursor='hand';" WIDTH="25" HEIGHT="16" ALT="Move to first page."> <img ID="BackButtonStop" SRC="images/BackArrowStop.bmp" OnClick="MovePage(-10)" onMouseOut="style.cursor='default';" onMouseOver="style.cursor='hand';" WIDTH="20" HEIGHT="16" ALT="Move 10 Pages back."> <img ID="BackButton" SRC="images/BackArrow.jpg" OnClick="MovePage(-1)" onMouseOut="style.cursor='default';" onMouseOver="style.cursor='hand';" WIDTH="13" HEIGHT="16" ALT="Move 1 page back."> Page <%=Page%> of <%=TotalPages%> <img ID="FwdButton" SRC="images/fwdArrow.jpg" OnClick="MovePage( 1 )" onMouseOut="style.cursor='default';" onMouseOver="style.cursor='hand';" WIDTH="13" HEIGHT="16" ALT="Move 1 page forward."> <img ID="FwdButtonStop" SRC="images/fwdArrowStop.bmp" OnClick="MovePage( 10 )" onMouseOut="style.cursor='default';" onMouseOver="style.cursor='hand';" WIDTH="20" HEIGHT="16" ALT="Move 10 pages forward."> <img ID="DblFwdButton" SRC="images/dblFwdArrow.jpg" OnClick="MovePage(<%=TotalPages%>)" onMouseOut="style.cursor='default';" onMouseOver="style.cursor='hand';" WIDTH="25" HEIGHT="16" ALT="Move to last page."> </CENTER> </TD>
<% } %>
<% function fnBuildRSResults( rsResults, iMode ) { //iMode is whether or not it is kernel or user // an iMode of 1 is user mode // an iMode of 0 is kernel mode.
if( typeof( iMode ) == "undefined" ) iMode = 0 var Fields = GetRecordsetFields( rsResults ) var DisplayedFieldValue //use this if you want to change an item column heading Response.Write( "<tr>" ) for ( var i = 0 ; i < Fields.length; i++ ) { switch( Fields[i] ) { case "SolutionID": DisplayedFieldValue = "Response ID" break; case "CrashCount": DisplayedFieldValue = "Crash Count" break; case "iIndex": DisplayedFieldValue = "" break; case "bHasFullDump": DisplayedFieldValue = "FD" break; case "ResponseType": DisplayedFieldValue = "Type" break; case "QueueIndex": DisplayedFieldValue = " " break; case "RequestedBy": DisplayedFieldValue = "By" break;
case "BuildNo": Response.Write( "<td style='border-left:white 1px solid' align='left' nowrap class='clsTDInfo'>Build</td>" ) DisplayedFieldValue = "SP" break; default: DisplayedFieldValue = Fields[i] }
if ( DisplayedFieldValue != "" ) { if ( i == 0 ) Response.Write( "<td align='left' class='clsTDInfo'>" + DisplayedFieldValue + "</td>" ) else Response.Write( "<td style='border-left:white 1px solid' align='left' class='clsTDInfo'>" + DisplayedFieldValue + "</td>" ) } } Response.Write( "</tr>" ) //try //{ var altColor = "sys-table-cell-bgcolor2" if ( rsResults.EOF ) { Response.Write("<tr><td colspan='" + Fields.length + "' class='sys-table-cell-bgcolor1'>There are no Buckets that fit the selected criteria.</td></tr>\n" ) }
while ( !rsResults.EOF ) { if ( altColor == "sys-table-cell-bgcolor1" ) altColor = "sys-table-cell-bgcolor2" else altColor = "sys-table-cell-bgcolor1"
Response.Write("<tr>\n") for ( var i = 0 ; i < Fields.length ; i++ ) { switch ( Fields[i] ) { case "CrashTotal": Response.Write("<td class='" + altColor + "'>" + rsResults("CrashTotal") + "</td>\n" ) break; case "DriverName": Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href='dbgportal_displayquery.asp?SP=DBGPortal_GetBucketsByDriverName&Param0=" + rsResults("DriverName") + "&FrameID=" + Request.QueryString("FrameID" ) + "'>" + rsResults("DriverName") + "</a></td>\n" ) break; case "FilePath": Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href='dbgportal_displayquery.asp?SP=DBGPortal_GetBucketsByDriverName&Param0=" + rsResults("FilePath") + "'>" + rsResults("FilePath") + "</a></td>\n" ) break; case "BucketID": Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href=\"DBGPortal_ViewBucket.asp?BucketID=" + Server.URLEncode( rsResults("BucketID") ) + "&FrameID=" + Request.QueryString("FrameID" ) + "\">" + rsResults("BucketID") + "</a></td>\n" ) break; case "bHasFullDump": if ( rsResults("bHasFullDump") == "1" ) Response.Write("<td class='" + altColor + "'>Yes</td>\n" ) else Response.Write("<td class='" + altColor + "'> </td>" )
break; case "FollowUp": case "FollowUP": Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href=\"DBGPortal_Main.asp?SP=DBGPortal_GetBucketsByAlias&Page=0&Alias=" + rsResults("FollowUp") + "&FrameID=" + Request.QueryString("FrameID" ) + "\">" + rsResults("FollowUp") + "</a></td>\n" ) break; case "iBucket": Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href=\"http://watson/ViewBucket.aspx?Database=4&iBucket=" + rsResults("iBucket") + "\" target=_blank>" + rsResults("iBucket") + "</a></td>" ) break; case "BugID": if ( String(rsResults("BugID" )).toString() != "null" ) { if( iMode == 0 ) Response.Write( "<td class='" + altColor + "'><a class='clsALinkNormal' href=\"javascript:fnShowBug(" + rsResults("BugID") + ",'" + Server.URLEncode( rsResults("BucketID") ) + "')\">" + rsResults("BugID") + "</a></td>\n" ) else Response.Write( "<td class='" + altColor + "'><a class='clsALinkNormal' href=\"javascript:fnShowBug(" + rsResults("BugID") + ",'OCA Debug Portal')\">" + rsResults("BugID") + "</a></td>\n" ) } else Response.Write("<td class='" + altColor + "'>None</td>\n" ) break; case "BuildNo": var BuildNumber = new String( rsResults("BuildNo" ) ) var SP = BuildNumber.substr( 4, 4 ) var BuildNumber = BuildNumber.substr( 0, 4 ) Response.Write("<td valign='center' nowrap class='" + altColor + "'>" + BuildNumber + "</td>") Response.Write("<td valign='center' nowrap class='" + altColor + "'>" + SP + "</td>") break; case "SolutionID": if ( String(rsResults("SolutionID" )).toString() != "null" ) Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href='#none' onclick=\"window.open('http://oca.microsoft.com/en/Response.asp?SID=" + rsResults("SolutionID") + "')\">" + rsResults("SolutionID") + "</a></td>\n" ) else Response.Write("<td class='" + altColor + "'>None</td>\n" ) break; case "Source": var Source = new String( rsResults("Source") ) if ( Source == "1" ) Response.Write("<td valign='center' nowrap class='" + altColor + "'>Web Site</td>") else if ( Source == "2" ) Response.Write("<td valign='center' nowrap class='" + altColor + "'>CER Report</td>") else if ( Source == "0" ) Response.Write("<td valign='center' nowrap class='" + altColor + "'>CMD DBG</td>") else if ( Source == "5" ) Response.Write("<td valign='center' nowrap class='" + altColor + "'>Manual Upload</td>") else if ( Source == "6" ) Response.Write("<td valign='center' nowrap class='" + altColor + "'>Stress Upload</td>") else Response.Write("<td valign='center' nowrap class='" + altColor + "'>Unknown[" + Source + "]</td>") break; case "iIndex": LastIndex = new String( rsResults("iIndex" ) ) break; case "Link to Solution": Response.Write("<td class='" + altColor + "'><input style='font-size:85%;width:85px' type='button' value='Link as Solution' onclick=\"window.parent.frames('sepTopBody').window.location='SEP_BodyTop.asp?SolutionType=1&Mode=kernel&iBucket=" + Server.URLEncode(rsResults("BucketID")) + "'\"><br>") Response.Write("<input style='font-size:85%;width:85px' type='button' value='Link as Response' onclick=\"window.parent.frames('sepTopBody').window.location='SEP_BodyTop.asp?SolutionType=0&Mode=kernel&iBucket=" + Server.URLEncode(rsResults("BucketID")) + "'\" id='button'1 name='button'1></td>") break; case "Reject Solution": Response.Write("<td class='" + altColor + "'><input style='font-size:85%' type='button' value='Reject' onclick=\"window.parent.frames('sepTopBody').window.location='SEP_BodyTop.asp?Mode=kernel&RejectID=" + Server.URLEncode(rsResults("QueueIndex")) + "'\" ></td>") break; case "Create Response": case "CreateResponse": Response.Write("<td class='" + altColor + "'><input style='font-size:85%' type='button' value='Create Response' onclick=\"window.parent.frames('sepTopBody').window.location='SEP_BodyTop.asp?Mode=user&iBucket=" + rsResults("iBucket") + "'\" id='button'1 name='button'1></td>") break; case "szResponse": Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href=\"" + rsResults("szResponse") + "\">" + rsResults("szResponse") + "</a></td>\n" ) break; case "szAltResponse": Response.Write("<td class='" + altColor + "'><a class='clsALinkNormal' href=\"" + rsResults("szAltResponse") + "\">" + rsResults("szAltResponse") + "</a></td>\n" ) break; case "Status": var ResType = rsResults("Status") if( ResType == "0" ) Response.Write("<td class='" + altColor + "'>Awaiting review</td>\n" ) else if ( ResType == "1" ) Response.Write("<td class='" + altColor + "'>Response created</td>\n" ) else if ( ResType == "2" ) Response.Write("<td class='" + altColor + "'>Rejected</td>\n" ) else Response.Write("<td class='" + altColor + "'>" + ResType + "</td>\n" )
break; case "ResponseType": var ResType = rsResults("ResponseType") if( ResType == "1" ) Response.Write("<td class='" + altColor + "'>Solution</td>\n" ) else if ( ResType == "2" ) Response.Write("<td class='" + altColor + "'>Response</td>\n" ) else Response.Write("<td class='" + altColor + "'>" + ResType + "</td>\n" )
break; default: Response.Write("<td class='" + altColor + "'>" + rsResults(Fields[i] ) + "</td>\n" ) } } Response.Write("</tr>" ) rsResults.MoveNext() }
}
function CreateQueryBuilder( BlockName, RunFunction, SaveFunction, BlockFields, Title, RedirASPPage, RedirASPParams ) {
%>
<form NAME=frm<%=BlockName%> METHOD="POST" ACTION="Global_SaveAdvancedQuery.asp"> <table cellspacing=0 cellpadding=0> <tr> <td> <p Class='clsPSubTitle'><%=Title%></p> </td> </tr> <tr> <td style='padding-left:16px'> <INPUT class='clsButton' TYPE=Button NAME=btnAddClause<%=BlockName%> VALUE="Add Clause" OnClick="AddClause( '<%=BlockName%>' )"> </td> <td> <p>Select number of records to display: </p> </td> <td> <select class='clsSEPselect' name="<%=BlockName%>Top"> <option value="10">10 <option value="20">20 <option value="40">40 <option value="50">50 <option value="70">70 <option value="90">90 <option value="100">100 <option value="150">150 <option value="200">200 <option value="250" selected>250 <option value="300">300 <option value="350">350 <option value="400">400 <option value="500">500 <option value="1000">1000 <option value="2000">2000 <!-- <option value="100 percent" selected>all --> </select> </td> </tr> </table> <table class="clsTableInfo" border="0" cellpadding="2" cellspacing="1"> <tr> <td style='width:100px' nowrap class='clsTDInfo'> </td> <td style='border-left:white 1px solid;width:175px' align='left' nowrap class='clsTDInfo'>Field</td> <td style='border-left:white 1px solid;width:175px' align='left' nowrap class='clsTDInfo'>Comparison</td> <td style='border-left:white 1px solid;width:175px' align='left' nowrap class='clsTDInfo'>Value</td> <td style='border-left:white 1px solid;width:175px' align='left' nowrap class='clsTDInfo'>Remove Clause</td> </tr> </table> <% CreateClauseTable2( BlockFields, CompareOperators, BlockName ) %>
<table> <tr> <td> <p>Order by:</p> </td> <td> <SELECT class='clsSEPSelect' STYLE="width:200px" NAME="<%=BlockName%>OrderBy"> <% for ( Field in BlockFields ) Response.Write( "<OPTION VALUE='" + BlockFields[Field].Value + "'>" + BlockFields[Field].Text + "</OPTION>" + "\n" ) %> </SELECT> </td> <td> <SELECT class='clsSEPSelect' STYLE="width:100px" NAME="<%=BlockName%>SortDirection"> <OPTION VALUE=DESC>Descending</OPTION> <OPTION VALUE=ASC>Ascending</OPTION> </SELECT> </td> </tr> <tr> <td style='padding-left:16px' colspan='3'> <input class='clsButton' TYPE=button VALUE="Run Query" OnClick="<%=RunFunction%>( '<%=BlockName%>', false, '<%=RedirASPPage%>', '<%=RedirASPParams%>' )" id=button1 name=button1> <input class='clsButton' TYPE=button VALUE="Run In New Window" OnClick="<%=RunFunction%>( '<%=BlockName%>', true, '<%=RedirASPPage%>', '<%=RedirASPParams%>' )" id=button1 name=button1> </td> <td> <p>Description:</p> </td> <td> <input type='text' class='clsButton' id='<%=BlockName%>SaveDescription' maxLength='30' value='Custom Query' OnClick="javascript:this.value=''"> </td> <td> <img src='include/images/go.gif'> </td> <td> <input class='clsButton' TYPE=button VALUE="Save Query" OnClick="<%=SaveFunction%>( '<%=BlockName%>', '<%=RedirASPPage%>', '<%=RedirASPParams%>' )" id=button2 name=button2> </td> </tr> </table> </form>
<SCRIPT LANGUAGE="javascript">
<% Response.Write( BlockName + "Fields = { \n" ) for( op in BlockFields ) { Response.Write( op + " : { \t\tText:\"" + BlockFields[op].Text + "\"\t,\t\tValue:\"" + BlockFields[op].Value + "\", ValType: \"" + BlockFields[op].ValType + "\" },\n" ) } Response.Write( "NONE : { Text: \"\", Sign:\"\" }\n}" ) %>
AddClause( '<%=BlockName%>' )
</SCRIPT>
<%
} %>
|