<% var DBOpen = false; // to keep track of DB State var DataBase; // Global Database connection var tbl = "prophetstblqueue"; // tbl definition var sacktbl = "prophetstblsacknames"; // Generic Connection Call // should call with global val prophetsProp function GetBuildList(prophetsPropFolder) { var wn = new ActiveXObject("WScript.Network"); wn.MapNetworkDrive("z:", prophetsPropFolder, "False"); var fs = new ActiveXObject("Scripting.FileSystemObject"); var f = fs.GetFolder("H:\\"); //wn.RemoveNetworkDrive("H:", "True"); return f; } function IsRunning() { var Query = "SELECT * FROM " + tbl + " WHERE running = '1'"; var RS = ExSQL(Query); if(RS.EOF) { return false; } else { return true; } } function IsEmpty() { var Query = "SELECT * FROM " + tbl; var RS = ExSQL(Query); if(RS.EOF) { return true; } else { return false; } } function SetRunStatus(Number) { var Query = "SELECT queuenum From " + tbl + " order by queuenum asc"; var RS = ExSQL(Query); try { while (Number > 0) { RS.MoveNext() Number = Number - 1; } quenum = RS("queuenum"); Query = "UPDATE " + tbl + " SET running = '1', status = 'running' WHERE queuenum = '" + quenum + "'"; ExSQL(Query); } catch (e) { } } function EstablishConnection(ConnectString) { try { var DB; DB = Server.CreateObject("ADODB.Connection"); DB.Open(ConnectString); DBOpen = true; return DB; } catch(e) { DBOpen = false; } } // Specific Connection Call function BuildEstablishConnection() { try { var vConnectionString = "DATABASE=halobuild;DRIVER=SQL Server;SERVER=bungiesql01;uid=halotest_all;pwd=Q1w2e3r4"; DataBase = Server.CreateObject("ADODB.Connection"); DataBase.Open(vConnectionString); DBOpen = true; } catch(e) { DBOpen = false; } } function CloseConnection() { DataBase.Close(); DBOpen = false; } function InsertNewBuilds(user,bc, bp, SlaveParams, buildname) { var Date = GetDate(); var Query = "INSERT INTO " + tbl + " (builduser, timestart, running, status, buildname, buildconfig, buildparams"; for(var i = 1; i <= NumSlaves; i++) { Query += ", slave" + i; } Query += ") VALUES ('"+ user +"', '" + Date + "', " + "'0', 'pending', '" + buildname + "','" + bc + "', '" + bp + "'"; for(var i = 0; i < NumSlaves; i++) { Query += ", '" + SlaveParams[i] + "'"; } Query += ")"; RW(Query); ExSQL(Query); } function GetSackName(sackid) { sackid = parseInt(Trim(sackid)); var Query = "SELECT * FROM " + sacktbl + " WHERE sackid = '" + sackid + "'"; var RS = ExSQL(Query); if(RS.EOF) { return ""; } else { return RS("sackname");; } } function InsertNewSack(sackName) { sackName = Trim(sackName); var Query = "INSERT INTO " + sacktbl + " (sackname) VALUES ('" + sackName + "')"; ExSQL(Query); } function DeleteSack(sackName) { sackName = Trim(sackName); var Query = "DELETE FROM " + sacktbl + " WHERE sackname = '" + sackName + "'"; ExSQL(Query); } function CheckSackName(sackName) { var Query = "SELECT * FROM " + sacktbl; var RS = ExSQL(Query); sackName = Trim(sackName); while(!RS.EOF) { if(Trim(RS("sackname")) == sackName) { return true; } RS.MoveNext(); } return false; } function ExSQL(SQLStatement) { var ret; var i; var MAX = 10; try { if(!DBOpen) { BuildEstablishConnection(); } return DataBase.Execute(SQLStatement); } catch(e) { DBOpen = false; RW("Problem with SQL Server: " + e); RW(SQLStatement); } } function RW(Text) { return Response.Write(Text); } function Authenticated(username) { var currentname, rsNames; //Get RecordSet of UserNames rsNames = ExSQL("Select \"username\" From tblUsers"); while(!rsNames.EOF) { var Debug = false; currentname = String(rsNames(0)); currentname = RemoveTrailingSpaces(currentname); if(Debug) { RW(currentname + " " + currentname.length); RW(username + " " + username.length); } if(currentname == username) { return true; } rsNames.MoveNext(); } return false; } // Input: String // Output: Same string without trailing spaces if any. function RemoveTrailingSpaces(sInput) { var sReturn = sInput; var sIndex; sIndex = sInput.search(" "); if(sIndex != "-1") { sReturn = sInput.substring(0,sIndex); } return sReturn; } function Trim(str) { str = new String(str); for(var i=str.length-1; str.charAt(i) == " "; i--); return str.substring(0, i+1); } function getuser() { var logonuser = new String(Request.ServerVariables("LOGON_USER")); logonuser = logonuser.toLowerCase(); var iSlash = Number(0); iSlash = logonuser.indexOf("\\"); if (iSlash == -1) // No Domain Seperator Found, return username return logonuser; else // Domain present return (logonuser.substring(iSlash+1)); } function GetDate() { var vDay, vMonth, vYear; //Create Date Object oDate = new Date(); vDay = oDate.getDate(); vMonth = (oDate.getMonth() +1); vYear = oDate.getYear(); var vDate = "(" + vMonth + "/" + vDay + "/" + vYear + ")"; var vTime = oDate.getHours() + ":" + oDate.getMinutes() + ":" + oDate.getSeconds(); var DateTime = vDate + " " + vTime; return DateTime; } //this will really need to be changed... function Show(table, column, num) { var retQuery = "SELECT * FROM " + table + " ORDER BY " + column + " DESC"; if((num == "all") || (num == "ALL") || (num == "All") || (num == "")) { return retQuery; } retQuery = "SELECT TOP " + num + " * FROM " + table + " ORDER BY " + column + " DESC"; return retQuery; } %>