|
From: creedon <icr...@us...> - 2006-01-07 21:37:04
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/adminSite/prefs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21618 Modified Files: listSubscribableDatabases Log Message: lowercase method case, XHTML compliance exclude aggregatorData.root in list Index: listSubscribableDatabases =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/adminSite/prefs/listSubscribableDatabases,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** listSubscribableDatabases 25 Dec 2005 01:51:54 -0000 1.2 --- listSubscribableDatabases 7 Jan 2006 21:36:51 -0000 1.3 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.adminSite.prefs.listSubscribableDatabases ! on listSubscribableDatabases () { ÇChanges Ç12/24/05; 2:56:15 PM by TAC Çadded support to display host database (@root) as subscribable Çadded support for relative paths Ç9/7/02; 10:22:30 PM by JES ÇBe more tolerant about which databases are allowed to be subscribed. Ç8/26/02; 5:52:49 PM by JES ÇCreated. Lists databases on this server, with checkboxes for whether or not the database should be subscribable. local (pta = html.getPageTableAddress ()); local (bgcolors = {pta^.trbg1, pta^.trbg2}); on findInUserDatabases (f) { local (lowerpath = string.lower (f)); local (adrTable); for adrTable in @user.databases { if string.lower (adrTable^.f) == lowerpath { return (adrTable)}}; return (@user.databases.[file.fileFromPath (f)] )}; local (htmltext); on add (s) { htmltext = htmltext + (s + "\r");}; bundle { //list the databases local (t); new (tableType, @t); bundle { //build sorted table of databases local (pc = file.getPathChar ()); on isSubscribable (f) { local (lowerpath = string.lower (f)); local (adrTable); for adrTable in @user.databases { try { if string.lower (fileSpec (adrTable^.f)) == lowerpath { return (adrTable^.supportsSubscribe)}}}; return (false)}; on skipDatabase (f) { bundle { //skip all databases that are getting updates from elsewhere local (lowerfname = string.lower (file.fileFromPath (f))); local (adrTable); for adrTable in @user.rootUpdates.servers { try { if string.lower (adrTable^.dbname) == lowerfname { if tcp.equalNames (tcp.dns.getMyDottedId (), adrTable^.server) { return (false)}; return (true)}}}}; bundle { //skip other canonical databases local (lowerpath = string.lower (f)); local (appFolder = Frontier.getSubFolder ("apps")); local (logFolder = Frontier.getSubFolder ("ops") + "logs" + pc); local (opsFolder = Frontier.getSubFolder ("ops")); local (datafilesFolder = Frontier.getSubFolder ("ops") + "datafiles" + pc); on checkOne (path) { if string.lower (path) == lowerpath { return (true)}; return (false)}; if checkOne (appFolder + "config.root") {return (true)}; if checkOne (datafilesFolder + "mainResponderSearchQueue.root") {return (true)}; if checkOne (opsFolder + "members.root") {return (true)}; if checkOne (opsFolder + "discuss.root") {return (true)}; if lowerpath beginsWith string.lower (logfolder) {return (true)}}; return (false)}; local (fileList = {}); bundle { // build fileList local (adr); for adr in @system.compiler.files { fileList = fileList + nameOf (adr^)}; if defined (config.mainResponder.prefs.flAddRootToSubscribableDatabasesList) { // add host database (@root) to list if config.mainResponder.prefs.flAddRootToSubscribableDatabasesList { fileList = fileList + window.getFile (@root)}}}; local (f); for f in fileList { if skipDatabase (f) { continue}; local (dbname = file.fileFromPath (f)); local (dbsize = file.size (f)); local (modified = file.modified (f)); local (folder = file.folderFromPath (f)); local (folderName = file.fileFromPath (folder)); local (adrDb); bundle { // host database (@root)? if window.getFile (@root) == f { adrDb = @root; folderName = ":"} else { adrDb = @[f]}}; local (dbtables = sizeOf (adrDb^)); local (adrFolder = @t.[folderName]); if not defined (adrFolder^) { new (tableType, adrFolder)}; local (adrDbInfo = @adrFolder^.[dbname]); new (tableType, adrDbInfo); if defined (adrDb^.["#changes"]) { adrDbInfo^.changes = sizeOf (adrDb^.["#changes"])} else { adrDbInfo^.changes = 0}; adrDbInfo^.flSubscribable = isSubscribable (f); adrDbInfo^.f = f}}; add ("<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\">"); bundle { //headers add ("<tr><td> </td><td><b>Folder</b></td><td><b>Database</b></td><td align=\"right\"><b>Changes</b></td></tr>")}; local (ct = 0, adrFolder, adrDb); for adrFolder in @t { local (folder = nameOf (adrFolder^)); if folder == ':' { folder = ""}; folder = folder + " "; for adrDb in adrFolder { local (dbname = nameOf (adrDb^)); if pta^.method == "POST" { //set up this db if defined (pta^.postArgs.[string.urlEncode (adrDb^.f)] ) { local (adrinfo = findInUserDatabases (adrDb^.f)); if not defined (adrinfo^) { //init user.databases sub-table new (tableType, adrinfo); adrinfo^.f = adrDb^.f; adrinfo^.openOnStartup = true; adrinfo^.runStartupScript = false}; adrinfo^.supportsSubscribe = true; bundle { // #changes local (adr); if window.getFile (@root) == adrDb^.f { adr = @root} else { adr = @[adrDb^.f]}; if not defined (adr^.["#changes"]) { new (tableType, @adr^.["#changes"])}}; adrDb^.flsubscribable = true} else { //turn off subscriptions for this database local (adrinfo = findInUserDatabases (adrDb^.f)); if defined (adrinfo^) { adrinfo^.supportsSubscribe = false; adrDb^.flsubscribable = false}}}; add ("<tr bgcolor=\"" + bgcolors[(ct++% 2) + 1] + "\">"); bundle { //checkbox local (checked = ""); if adrDb^.flsubscribable { checked = " checked"}; add ("<td> <input type=\"checkbox\" name=\"" + string.urlEncode (adrDb^.f) + "\"" + checked + " /> </td>")}; add ("<td class=\"small\">" + folder + "</td>"); folder = ""; //only display the folder once add ("<td class=\"small\">" + dbname + "</td>"); add ("<td class=\"small\" align=\"right\">" + adrDb^.changes + " </td>"); add ("</tr>")}; };Çadd ("<tr><td> </td></tr>"); ct = 0 add ("</table>")}; return (htmltext)}; Çbundle // testing Çhtml.setPageTableAddress (@workspace.pt) ÇlistSubscribableDatabases () \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.adminSite.prefs.listSubscribableDatabases ! on listSubscribableDatabases () { ÇChanges Ç1/7/06; 12:16:41 PM by TAC Çlowercase method case, XHTML compliance Çexclude aggregatorData.root in list Ç12/24/05; 2:56:15 PM by TAC Çadded support to display host database (@root) as subscribable Çadded support for relative paths Ç9/7/02; 10:22:30 PM by JES ÇBe more tolerant about which databases are allowed to be subscribed. Ç8/26/02; 5:52:49 PM by JES ÇCreated. Lists databases on this server, with checkboxes for whether or not the database should be subscribable. local (pta = html.getPageTableAddress ()); Çscratchpad.pt = pta^ // enable for debugging local (bgcolors = {pta^.trbg1, pta^.trbg2}); on findInUserDatabases (f) { local (lowerpath = string.lower (f)); local (adrTable); for adrTable in @user.databases { if string.lower (adrTable^.f) == lowerpath { return (adrTable)}}; return (@user.databases.[file.fileFromPath (f)] )}; local (htmlText); on add (s) { htmlText = htmlText + (s + "\r");}; bundle { //list the databases local (t); new (tableType, @t); bundle { //build sorted table of databases local (pc = file.getPathChar ()); on isSubscribable (f) { local (lowerpath = string.lower (f)); local (adrTable); for adrTable in @user.databases { try { if string.lower (fileSpec (adrTable^.f)) == lowerpath { return (adrTable^.supportsSubscribe)}}}; return (false)}; on skipDatabase (f) { bundle { //skip all databases that are getting updates from elsewhere local (lowerfname = string.lower (file.fileFromPath (f))); local (adrTable); for adrTable in @user.rootUpdates.servers { try { if string.lower (adrTable^.dbname) == lowerfname { if tcp.equalNames (tcp.dns.getMyDottedId (), adrTable^.server) { return (false)}; return (true)}}}}; bundle { //skip other canonical databases local (lowerpath = string.lower (f)); local (appFolder = Frontier.getSubFolder ("apps")); local (logFolder = Frontier.getSubFolder ("ops") + "logs" + pc); local (opsFolder = Frontier.getSubFolder ("ops")); local (datafilesFolder = Frontier.getSubFolder ("ops") + "datafiles" + pc); on checkOne (path) { if string.lower (path) == lowerpath { return (true)}; return (false)}; if checkOne (appFolder + "config.root") {return (true)}; if checkOne (datafilesFolder + "aggregatorData.root") {return (true)}; if checkOne (datafilesFolder + "mainResponderSearchQueue.root") {return (true)}; if checkOne (opsFolder + "members.root") {return (true)}; if checkOne (opsFolder + "discuss.root") {return (true)}; if lowerpath beginsWith string.lower (logfolder) {return (true)}}; return (false)}; local (fileList = {}); bundle { // build fileList local (adr); for adr in @system.compiler.files { fileList = fileList + nameOf (adr^)}; if defined (config.mainResponder.prefs.flAddRootToSubscribableDatabasesList) { // add host database (@root) to list if config.mainResponder.prefs.flAddRootToSubscribableDatabasesList { fileList = fileList + window.getFile (@root)}}}; local (f); for f in fileList { if skipDatabase (f) { continue}; local (dbname = file.fileFromPath (f)); local (dbsize = file.size (f)); local (modified = file.modified (f)); local (folder = file.folderFromPath (f)); local (folderName = file.fileFromPath (folder)); local (adrDb); bundle { // host database (@root)? if window.getFile (@root) == f { adrDb = @root; folderName = ":"} else { adrDb = @[f]}}; local (dbtables = sizeOf (adrDb^)); local (adrFolder = @t.[folderName]); if not defined (adrFolder^) { new (tableType, adrFolder)}; local (adrDbInfo = @adrFolder^.[dbname]); new (tableType, adrDbInfo); if defined (adrDb^.["#changes"]) { adrDbInfo^.changes = sizeOf (adrDb^.["#changes"])} else { adrDbInfo^.changes = 0}; adrDbInfo^.flSubscribable = isSubscribable (f); adrDbInfo^.f = f}}; add ("<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\">"); bundle { //headers add ("<tr><td> </td><td><b>Folder</b></td><td><b>Database</b></td><td align=\"right\"><b>Changes</b></td></tr>")}; local (ct = 0, adrFolder, adrDb); for adrFolder in @t { local (folder = nameOf (adrFolder^)); if folder == ':' { folder = ""}; folder = folder + " "; for adrDb in adrFolder { local (dbname = nameOf (adrDb^)); if string.lower (pta^.method) == "post" { //set up this db if defined (pta^.postArgs.[string.urlEncode (adrDb^.f)] ) { local (adrinfo = findInUserDatabases (adrDb^.f)); if not defined (adrinfo^) { //init user.databases sub-table new (tableType, adrinfo); adrinfo^.f = adrDb^.f; adrinfo^.openOnStartup = true; adrinfo^.runStartupScript = false}; adrinfo^.supportsSubscribe = true; bundle { // #changes local (adr); if window.getFile (@root) == adrDb^.f { adr = @root} else { adr = @[adrDb^.f]}; if not defined (adr^.["#changes"]) { new (tableType, @adr^.["#changes"])}}; adrDb^.flsubscribable = true} else { //turn off subscriptions for this database local (adrinfo = findInUserDatabases (adrDb^.f)); if defined (adrinfo^) { adrinfo^.supportsSubscribe = false; adrDb^.flsubscribable = false}}}; add ("<tr bgcolor=\"" + bgcolors[(ct++% 2) + 1] + "\">"); bundle { //checkbox local (checked = ""); if adrDb^.flsubscribable { checked = " checked"}; add ("<td> <input type=\"checkbox\" name=\"" + string.urlEncode (adrDb^.f) + "\"" + checked + " /> </td>")}; add ("<td class=\"small\">" + folder + "</td>"); folder = ""; //only display the folder once add ("<td class=\"small\">" + dbname + "</td>"); add ("<td class=\"small\" align=\"right\">" + adrDb^.changes + " </td>"); add ("</tr>")}; };Çadd ("<tr><td> </td></tr>"); ct = 0 add ("</table>")}; return (htmlText)}; Çbundle // testing Çhtml.setPageTableAddress (@scratchpad.pt) ÇlistSubscribableDatabases () \ No newline at end of file |