You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(447) |
Nov
(163) |
Dec
(57) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(172) |
Feb
|
Mar
(123) |
Apr
(64) |
May
(1) |
Jun
(278) |
Jul
(89) |
Aug
(97) |
Sep
(62) |
Oct
(53) |
Nov
(119) |
Dec
(60) |
| 2006 |
Jan
(76) |
Feb
(1094) |
Mar
(363) |
Apr
(163) |
May
(57) |
Jun
(43) |
Jul
(39) |
Aug
(15) |
Sep
(33) |
Oct
(62) |
Nov
(8) |
Dec
|
| 2007 |
Jan
(9) |
Feb
(34) |
Mar
(2) |
Apr
(14) |
May
(8) |
Jun
(40) |
Jul
(21) |
Aug
(1) |
Sep
(20) |
Oct
(15) |
Nov
(26) |
Dec
|
| 2008 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
(1) |
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(32) |
Jun
|
Jul
|
Aug
(3) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(7) |
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: creedon <icr...@us...> - 2005-09-16 02:44:05
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape/menuCommands In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21446 Added Files: Tag: commercial_suite_project-branch loadOsax Log Message: created --- NEW FILE: loadOsax --- (This appears to be a binary file; contents omitted.) |
|
From: creedon <icr...@us...> - 2005-09-16 02:43:17
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21333 Modified Files: Tag: commercial_suite_project-branch menu Log Message: added an example Load an osax command Index: menu =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape/Attic/menu,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** menu 22 Aug 2005 01:21:42 -0000 1.1.2.2 --- menu 16 Sep 2005 02:43:04 -0000 1.1.2.3 *************** *** 1,3 **** FrontierVcsFile:1:mbar:suites.DuckTape.menu ! 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 \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:mbar:suites.DuckTape.menu ! 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 \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-16 02:42:23
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21169 Modified Files: Tag: commercial_suite_project-branch init Log Message: added user.DuckTape.callbacks removed support for skipping class/id when parsing events added user.DuckTape.eventInformationTableName Index: init =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape/Attic/init,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** init 18 Aug 2005 16:28:58 -0000 1.1.2.1 --- init 16 Sep 2005 02:42:15 -0000 1.1.2.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:suites.DuckTape.init ! ÇChanges Ç8/17/05; 9:09:47 PM by TAC Çcreated if not (defined (user.DuckTape)) { new (tableType, @user.DuckTape)}; if not (defined (user.DuckTape.appIdStyle)) { user.DuckTape.appIdStyle = ".appInfo.id"}; if not (defined (user.DuckTape.skipOnParse)) { new (tableType, @user.DuckTape.skipOnParse)}; if not (defined (user.DuckTape.flUseEventInformationTable)) { user.DuckTape.flUseEventInformationTable = true} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:suites.DuckTape.init ! ÇChanges Ç8/26/05; 10:28:53 AM by TAC Çadded user.DuckTape.callbacks Çremoved support for skipping class/id when parsing events Çadded user.DuckTape.eventInformationTableName Ç8/17/05; 9:09:47 PM by TAC Çcreated if not (defined (user.DuckTape)) { new (tableType, @user.DuckTape)}; if not (defined (user.DuckTape.appIdStyle)) { user.DuckTape.appIdStyle = ".appInfo.id"}; if not (defined (user.DuckTape.callbacks)) { new (tableType, @user.DuckTape.callbacks)}; if not (defined (user.DuckTape.callbacks.afterParseAete)) { new (tableType, @user.DuckTape.callbacks.afterParseAete)}; if not (defined (user.DuckTape.eventInformationTableName)) { user.DuckTape.eventInformationTableName = "defs"}; if not (defined (user.DuckTape.flUseEventInformationTable)) { user.DuckTape.flUseEventInformationTable = true} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-16 02:41:29
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20993 Modified Files: Tag: commercial_suite_project-branch getAete Log Message: reorg the code a bit remove now redundant grabbing appid from mac os x package code Index: getAete =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape/Attic/getAete,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** getAete 18 Aug 2005 16:28:58 -0000 1.1.2.1 --- getAete 16 Sep 2005 02:41:21 -0000 1.1.2.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:suites.DuckTape.getAete ! on getAETE (appPath, AETEAdr) { ÇChanges Ç8/8/05; 12:10:36 PM by TAC Çfor dynamic, if the application wasn't running then quit it after grabbing the aeteList Çminor script formatting tweaks local { name; scsz; dynamic = false; appID = file.creator (appPath); tbl}; Çif (string.nthField ((string.popTrailing (appPath, ":")), ".", 2) == "app") if (system.environment.isCarbon and file.isFolder (appPath)) { // Tue, Jul 2, 2002 at 1:11:34 PM by SE: OS X apps may be folders appID = string4 (string.mid (file.readWholeFile (appPath + "Contents:PkgInfo"), 5, 4)); dynamic = true}; if appID == "MACS" { dynamic = true}; if appID == "sevs" { dynamic = true}; if not dynamic { if rez.getNthResource (appPath, 'scsz', 1, @name, @scsz) { local (flags = long (binary (string.mid (string (scsz), 1, 4)))); dynamic = bit.get (flags, 31)}}; if dynamic { local (flQuit = false); if not (sys.appIsRunning (appID)) { launch.application (appPath); flQuit = true}; local (aeteList = appleEvent (appID, 'ascr', 'gdte', '----', 0)); if flQuit { required.quitApplication (appID)}; if typeof (aeteList) == listType { new (tableType, aeteAdr); local (ix); for ix = 1 to sizeof (aeteList) { aeteAdr^.["aete" + ix] = binary (aeteList[ix]); setbinaryType (@aeteAdr^[ix], 'aete')}} else { aeteAdr^ = binary (aeteList); setbinaryType (aeteAdr, 'aete')}} else { if !rez.getNthResource (appPath, 'aete', 1, @name, AETEAdr) { scriptError ("Couldn't find the resource.")}}}; Çbundle // testing Çon doOneAete (aeteAdr, index = "") Çlocal (f = "aete" + index + ".rsrc") Çif file.putFileDialog ("Workfile for aete", @f) Çfile.writeWholeFile (f, "", 'rsrc', 'RSED') Çrez.putResource (f, 'aete', 128, aeteAdr) Çtry {delete (@temp.aete)} ÇgetAETE (networksetup.appinfo.path, @temp.AETE) Çif typeof (temp.aete) == tableType Çlocal (ix) Çfor ix =1 to sizeof (temp.aete) ÇdoOneAete (@temp.aete[ix], ix) Çelse ÇdoOneAete (@temp.aete) \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:suites.DuckTape.getAete ! on getAETE (appPath, adrAete) { ÇChanges Ç9/6/05; 12:22:06 PM by TAC Çreorg the code a bit Çremove now redundant grabbing appid from mac os x package code Ç8/8/05; 12:10:36 PM by TAC Çfor dynamic, if the application wasn't running then quit it after grabbing the aeteList Çminor script formatting tweaks local (appID = file.creator (appPath), dynamic = false, name, scsz); case appID { 'MACS'; 'sevs' { dynamic = true}}; if not (dynamic) { if rez.getNthResource (appPath, 'scsz', 1, @name, @scsz) { local (flags = long (binary (string.mid (string (scsz), 1, 4)))); dynamic = bit.get (flags, 31)}}; if not (dynamic) { if system.environment.isCarbon and file.isFolder (appPath) { // Tue, Jul 2, 2002 at 1:11:34 PM by SE: OS X apps may be folders dynamic = true}}; if dynamic { try { local (flQuit = false); if not (sys.appIsRunning (appID)) { launch.application (appPath); flQuit = true}; local (aeteList = appleEvent (appID, 'ascr', 'gdte', '----', 0)); if flQuit { required.quitApplication (appID)}; if typeof (aeteList) == listType { local (ix); new (tableType, adrAete); for ix = 1 to sizeof (aeteList) { adrAete^.["aete" + ix] = binary (aeteList[ix]); setbinaryType (@adrAete^[ix], 'aete')}} else { adrAete^ = binary (aeteList); setbinaryType (adrAete, 'aete')}} else { dynamic = false}}; if not (dynamic) { local (fork = 1); try { if file.isFolder (appPath) { if file.type (appPath) == 'osax' { local (cp = re.compile ("<key>CFBundleExecutable</key>[ \n\r\t]*<string>([^<]*)</string>")); local (s = file.readWholeFile (appPath + "Contents:Info.plist")); local (t = re.extract (cp, s, {1})); appPath = appPath + "Contents:Resources:" + t [1] + ".rsrc"; if t == {} { scriptError ("Couldn't find the resource.")}; fork = 2}}}; if !rez.getNthResource (appPath, 'aete', 1, @name, adrAete, fork) { scriptError ("Couldn't find the resource.")}}}; Çbundle // testing Çon doOneAete (adrAete, index = "") Çlocal (f = "aete" + index + ".rsrc") Çif file.putFileDialog ("Workfile for aete", @f) Çfile.writeWholeFile (f, "", 'rsrc', 'RSED') Çrez.putResource (f, 'aete', 128, adrAete) Çtry {delete (@temp.aete)} ÇgetAETE (networksetup.appinfo.path, @temp.AETE) Çif typeof (temp.aete) == tableType Çlocal (ix) Çfor ix =1 to sizeof (temp.aete) ÇdoOneAete (@temp.aete[ix], ix) Çelse ÇdoOneAete (@temp.aete) \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-16 02:32:43
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19656 Added Files: Tag: commercial_suite_project-branch callbackLoop Log Message: created --- NEW FILE: callbackLoop --- (This appears to be a binary file; contents omitted.) |
|
From: creedon <icr...@us...> - 2005-09-16 02:30:39
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/suites/DuckTape/data/newTable In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19332 Removed Files: Tag: commercial_suite_project-branch eventInformation Log Message: removed, now initialized by script --- eventInformation DELETED --- |
|
From: creedon <icr...@us...> - 2005-09-16 02:01:12
|
Update of /cvsroot/frontierkernel/Frontier/Common/resources/Mac In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13862 Added Files: kernelverbs.r Log Message: file replaces kernvelverbs.r --- NEW FILE: kernelverbs.r --- /* $Id: kernelverbs.r,v 1.1 2005/09/16 02:01:03 icreedon Exp $ */ /****************************************************************************** UserLand Frontier(tm) -- High performance Web content management, object database, system-level and Internet scripting environment, including source code editing and debugging. Copyright (C) 1992-2004 UserLand Software, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the [...1080 lines suppressed...] "join", "visit", "grep", "getpatterninfo", "expand" } } }; resource 'EFP#' (idmathverbs, "math") { /*2004-12-29 SMD: math verbs*/ { "math", false, { "min", "max", "sqrt" } } }; |
|
From: creedon <icr...@us...> - 2005-09-16 01:59:59
|
Update of /cvsroot/frontierkernel/Frontier/Common/resources/Mac In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13587 Removed Files: kernvelverbs.r Log Message: file replaced by kernelverbs.r --- kernvelverbs.r DELETED --- |
|
From: creedon <icr...@us...> - 2005-09-16 01:55:57
|
Update of /cvsroot/frontierkernel/Frontier/Common/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13137 Modified Files: shellfile.c fileverbs.c shellwindow.c Log Message: use resourcefork (which = 1) enum instead of 1 literal to access resource fork of file, easier maintainability Index: shellfile.c =================================================================== RCS file: /cvsroot/frontierkernel/Frontier/Common/source/shellfile.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** shellfile.c 7 Sep 2005 17:45:53 -0000 1.5 --- shellfile.c 16 Sep 2005 01:55:50 -0000 1.6 *************** *** 205,209 **** #ifdef MACVERSION if (config.flopenresfile) ! if (!openresourcefile (fspec, &rnum, 1)) /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ goto error; #endif --- 205,209 ---- #ifdef MACVERSION if (config.flopenresfile) ! if (!openresourcefile (fspec, &rnum, resourcefork)) /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ goto error; #endif *************** *** 428,432 **** #ifdef MACVERSION if (config.flopenresfile) ! if (!openresourcefile (fspec, &rnum, 1)) { /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ closefile (fnum); --- 428,432 ---- #ifdef MACVERSION if (config.flopenresfile) ! if (!openresourcefile (fspec, &rnum, resourcefork)) { /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ closefile (fnum); *************** *** 543,547 **** if (config.flopenresfile) { ! if (!openresourcefile (fspec, &rnum, 1)) { /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ closefile (fnum); --- 543,547 ---- if (config.flopenresfile) { ! if (!openresourcefile (fspec, &rnum, resourcefork)) { /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ closefile (fnum); *************** *** 688,692 **** #ifdef MACVERSION if (config.flopenresfile) ! if (!openresourcefile (fspec, &rnum, 1)) /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ goto error; #endif --- 688,692 ---- #ifdef MACVERSION if (config.flopenresfile) ! if (!openresourcefile (fspec, &rnum, resourcefork)) /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ goto error; #endif Index: fileverbs.c =================================================================== RCS file: /cvsroot/frontierkernel/Frontier/Common/source/fileverbs.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** fileverbs.c 7 Sep 2005 17:45:53 -0000 1.5 --- fileverbs.c 16 Sep 2005 01:55:50 -0000 1.6 *************** *** 867,871 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 867,871 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 928,932 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 928,932 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 958,962 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 958,962 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1001,1005 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1001,1005 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1046,1050 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1046,1050 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1096,1100 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1096,1100 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1165,1169 **** return (false); ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1165,1169 ---- return (false); ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1225,1229 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1225,1229 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1242,1245 **** --- 1242,1246 ---- /* 2005-09-02 creedon: added support for fork parameter, see resources.c: openresourcefile and pushresourcefile + 2.1b4 dmb: new verb */ *************** *** 1264,1268 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1265,1269 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1282,1285 **** --- 1283,1287 ---- /* 2005-09-02 creedon: added support for fork parameter, see resources.c: openresourcefile and pushresourcefile + 2.1b4 dmb: new verb */ *************** *** 1307,1311 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1309,1313 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1348,1352 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1350,1354 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1644,1648 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1646,1650 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1704,1708 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1706,1710 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1750,1754 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1752,1756 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) *************** *** 1800,1804 **** flnextparamislast = true; ! setintvalue (1, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) --- 1802,1806 ---- flnextparamislast = true; ! setintvalue (resourcefork, &val); /* defaults to 1 */ if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x04""fork", &val)) Index: shellwindow.c =================================================================== RCS file: /cvsroot/frontierkernel/Frontier/Common/source/shellwindow.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** shellwindow.c 7 Sep 2005 17:45:53 -0000 1.6 --- shellwindow.c 16 Sep 2005 01:55:50 -0000 1.7 *************** *** 623,627 **** boolean loadwindowposition (ptrfilespec fspec, short rnum, tywindowposition *wpos) { ! return (loadresource (fspec, rnum, 'wpos', 128, nil, sizeof (tywindowposition), wpos, 1)); /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ } /*loadwindowposition*/ --- 623,627 ---- boolean loadwindowposition (ptrfilespec fspec, short rnum, tywindowposition *wpos) { ! return (loadresource (fspec, rnum, 'wpos', 128, nil, sizeof (tywindowposition), wpos, resourcefork)); /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ } /*loadwindowposition*/ *************** *** 652,656 **** //This may be a spotlight bug though. resourceSize = sizeof (savedfont); ! if (!loadresource (&fspec, (short) (**h).rnum, 'styl', 128, nil, resourceSize, &savedfont, 1)) { /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ (**h).defaultfont = config.defaultfont; --- 652,656 ---- //This may be a spotlight bug though. resourceSize = sizeof (savedfont); ! if (!loadresource (&fspec, (short) (**h).rnum, 'styl', 128, nil, resourceSize, &savedfont, resourcefork)) { /* 2005-09-02 creedon - added support for fork parameter, see resources.c: openresourcefile and pushresourcefile */ (**h).defaultfont = config.defaultfont; |
|
From: creedon <icr...@us...> - 2005-09-11 02:39:29
|
Update of /cvsroot/frontierkernel/Frontier/Common/SystemHeaders In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20323 Modified Files: land.h Log Message: changed UserLand Frontier to Frontier Index: land.h =================================================================== RCS file: /cvsroot/frontierkernel/Frontier/Common/SystemHeaders/land.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** land.h 11 Jan 2005 22:47:44 -0000 1.5 --- land.h 11 Sep 2005 02:39:18 -0000 1.6 *************** *** 640,644 **** ! /*communicating with UserLand Frontier scripting system*/ pascal boolean landruntext (Handle, boolean, Str255); --- 640,644 ---- ! /* communicating with Frontier scripting system */ pascal boolean landruntext (Handle, boolean, Str255); |
|
From: creedon <icr...@us...> - 2005-09-08 17:46:19
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/Finder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22513 Modified Files: docs Log Message: changed UserLand Frontier to Frontier Index: docs =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/Finder/docs,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** docs 26 Mar 2005 19:42:11 -0000 1.1.1.1 --- docs 8 Sep 2005 17:46:12 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:optx:system.verbs.apps.Finder.docs ! Finder.about Syntax Finder.about () Parameters None required. Action Displays the FinderÕs ÒAboutÓ window showing all open applications, the amount of memory they are using, the amount they have been allocated, and other useful information. It also brings the Finder to the front. Returns True Examples Finder.about () È true Notes ¥ This old verb is retain for compatibility. If you use only the scriptable Finder, consider using the scriptable Finder implementation of the verb: Finder.open (objspec (Finder.aboutThisMacintosh)) Finder.alias Syntax Finder.alias (path) Parameters path is the path to a file or folder of which you wish to create an alias. Action Executes the ÒMake AliasÓ command on the indicated file or folder. Returns True Examples Finder.alias ("System:System Folder:Control Panels:Views") È true Creates an alias of your Views Control Panel, which you can then move into the Apple Items folder in your System Folder. Notes With the Scriptable Finder, consider using Finder.make (Finder.aliasFile, withData: finderSpec (path)) instead. If you do, you can also set properties of the alias. See Also Finder.make file.newAlias Finder.bringToFront Syntax Finder.bringToFront () Parameters None required. Action Makes the Finder the frontmost application. Returns True Examples Finder.bringToFront () È true Notes You donÕt often need to use this verb in conjunction with the other Finder verbs. Those that should or must bring Finder to the front do so automatically. See Also sys.bringAppToFront Finder.changeView Syntax Finder.changeView (pathToFolder, viewID) Parameters pathToFolder is the path name of the folder whose Finder window view you wish to set. viewID is a number between 0 and 8 that determines the viewing method for files and folders in the window at pathToFolder. Action Sets the viewing method of the Finder window pathToFolder to a view that depends on the value of viewID, which can have the following values. ¥ 0 = Small Icon ¥ 1 = Icon ¥ 2 = Name ¥ 3 = Date Last Modified ¥ 4 = Size ¥ 5 = Kind ¥ 6 = Comments ¥ 7 = Label ¥ 8 = Version Returns True Examples Finder.changeView ("System:", 4) È true All files and folders in the disk iconÕs window are shown in order by size. Finder.changeView ("System:System Folder:Preferences:", 8) È true All files and folders in this folder are now shown in order by version number. Notes ¥ Supplying a number outside the range of 0Ð8 has no effect on the view and returns true. ¥ If the window at pathToFolder is not open, this verb opens it before changing its view. ¥ You can use this verb to select a view that is not available on the FinderÕs View menu. ¥ With Scriptable Finder, consider setting the "view" property of the folder (using the same values as above) See Also Finder.set Finder.cleanup Syntax Finder.cleanup (referenceToObject, viewID) Parameters referenceToObject is either objSpec (all) or a reference to a folder or window, or a reference to an item, or a list of any of those (see notes) viewID determines the sorting of the items in the folder after the items are moved. It may be ¥ a number between 2 and 8 (from the list for Finder.changeView ()); or ¥ one of the names name, modificationDate, size, kind, comment, labelIndex, version; or ¥ the string4 value corresponding with those names (see Finder.defs.cleanupCodes); or ¥ Not present, which is the same as using name. Action Moves each affected icon to a grid position in its folderÕs window (or on the desktop), ordered according to the value of the viewID parameter. Returns A reference (or list of references) to the objects which were cleaned up Errors It is an error to attempt to clean up icons in a window which is not open. It is an error to attempt to clean up a window which is not shown in Icon or Small Icon form. It is an error to attempt to clean up window[all] if a Control Panel window is open. But other open windows will be cleaned up. Examples cleanup (containerWindow[all], name) will rearrange the icons in all of Finder's open windows which are viewed by icon or small icon, ordering them by name. cleanup (window["Vashon"].folder["Test"]) because the window named "Vashon" is open, this moves the icon for the folder "Test" to the nearest available grid position...it does not affect items contained in the folder. cleanup (window["Vashon"].folder["Test"].contents) If the window for folder test is open, cleans up the icons it contains, putting them at the nearest grid points since no ordering is given. cleanup (objSpec (all)) Untested (because things are on my desktop where I want them). Alleged to be like selecting something on the desktop, holding down the Option key, and selecting Clean Up All from the Special menu. Notes ¥ Scriptable Finder only. ¥ The Finder window in which changes are to be made must be open. ¥ If you specify one or more folders among the objects to be cleaned up, and their windows are not open, the folder icons are moved in the containing window. ¥ If you specify one or more folders among the objects to be cleaned up, and their windows are open, the icons are moved in the foldersÕ windows. ¥ If you specify a Finder window, the icons it contains are cleaned up. ¥ The list of specifiers can mention completely unrelated items, such as items found on two or more different volumes. ¥ cleanup (objSpec (desktop), name) is alleged to be an alternate way to say cleanUp (objSpec (all)) ¥ All examples assume that they are contained within a with objectModel, Finder ¥ It is better to use containerWindow[all] rather than window[all] to clean up all windows. The window[all] form will cause an error if a Control Panel is open. Finder.close Syntax Finder.close (referenceToWindows) Parameters referenceToWindows (under non-Scriptable Finder) is the path name of the folder whose Finder window you wish to close. Only one allowed. referenceToWindows (under Scriptable Finder) is an object specifier of a Finder window or of the object whose window is to be closed, or a list of such specifiers. Action Closes each Finder window mentioned or implied in referenceToWindows. Returns Non-Scriptable Finder: True Scriptable Finder: an object specifier for the window which was closed, or a list of such specifiers. Errors With the Scriptable Finder, it is an error to try to close a window which is not open. Examples Finder.close ("System:") È true (non-Scriptable Finder) or the object specifier startupDisk.window or disk["System"].window Closes the window showing the contents of the disk volume ÒSystem.Ó Finder.close ( {window["Test"], disk["Vashon"].folder["Frontier 3.0"]} ) Ç requires Scriptable Finder, windows are open. È {startupDisk.folder ["Test"].window, startupDisk.folder ["Frontier 3.0"].window} Notes ¥ If the Finder window at referenceToWindows is not open, the non-Scriptable Finder opens it and then closes it. ¥ The examples assume they are within a with objectModel, Finder See Also Finder.open Finder.closeInfo Finder.closeInfo Syntax Finder.closeInfo (path) Parameters path is the path name pointing to the volume, folder, or file whose ÒGet InfoÓ window you wish the Finder to close. Action Closes the ÒGet InfoÓ window for the item at path. The Finder also brings itself to the front. Returns True Examples Finder.closeInfo ("System:") È true Closes the Get Info window for the disk volume ÒSystem.Ó Notes ¥ If the Get Info window for the item at path is not open, the Finder opens it and then closes it. ¥ Retained for compatibility with the non-Scriptable Finder. Can be replaced by a close of an object specifier for the information window of an item, with Scriptable Finder close (startupDisk.file["MyTest"].informationWindow) close (window["MyTest Info"]) See Also Finder.getInfo Finder.open Finder.close Finder.computer Syntax Finder.computer (x, has) Parameters x, a string4 which is the Gestalt selector to be tested has, optional...if present it is a number which forms a mask against which the result from Gestalt is tested Action Calls the Macintosh toolbox routine Gestalt passing x as the selector. Returns If the has parameter is absent, returns the result from the Gestalt call. If the has parameter is present, tests the has parameter against the result from Gestalt, returning true if every 1 bit in has is matched by a 1 bit in the result, otherwise returning false. Errors It is an error if the selector x is unknown to Gestalt, or if Gestalt reports any other error. Examples Finder.computer ('qd ') Ç version number of QuickDraw 567 string.hex (Finder.computer ('os ')) Ç various feature flags for the operating system "0x6FFF" Finder.computer ('os ', 3) È true (on machines which can run Frontier) Finder.computer ('os ', 0x8000) false Notes ¥ Scriptable Finder only ¥ Can be addressed to a Finder on a remote Macintosh, whereas gestalt () is limited to the machine on which Frontier is running. See Also Gestalt Finder.count Syntax Finder.count (obj, each) Parameters obj is an object specifier for some Finder object, or a list of such objects. each is a string4 which identifies what kind of objects contained by obj should be counted. Action Counts the kind of object indicated by each in the object specified by obj. Returns The count of the number of objects of type each in the object obj. If obj is a list, the SUM of the number of objects of interest in each container object is returned. Examples with objectModel, Finder {count (desktop, disk)} 4 Errors It is an error if obj does not exist or if each represents a type which obj cannot contain. Notes ¥ Scriptable Finder only. ¥ The behavior of returning the sum of the counts when the first parameter is a list seems to be an error and might change in the future. Finder.dataSize Syntax Finder.dataSize (obj, as) Parameters obj is an object specifier for the Finder object of interest (or a list of objects of interest) as optional...if present the reported size is based on the object as coerced to the indicated type Action Determines the size of the data which would be returned by get (obj, as). Returns Returns the size in bytes of the data which would be returned by get (obj, as), or a list of the sizes. Errors It is an error if the object whose size is requested does not exist Examples with objectModel, Finder {dataSize (disk[1])} 70 Ç disk happens to have a 5 character name with objectModel, Finder {dataSize (disk[1].folder[1].item[1])} 220 Ç more complex object specifier with objectModel, Finder {dataSize (disk[1].folder[1].item[1], aliasType)} 154 with objectModel, Finder {dataSize (get (disk[1].folder[1].file[all]), stringType)} È {48, 35, 36} Gets object specifiers for all <3> files in the folder, then asks for the datasize of the objects in that list Notes ¥ Scriptable Finder only. ¥ Relatively uninteresting in real scripting. ¥ It is never the size of a fileÕs contents, use file.size () for that. See Also file.size Finder.delete Syntax Finder.delete (obj) Parameters obj is an object specifier for a deletable Finder object, or a list of such specifiers (it may also be an alias or fileSpec or path name string in most cases). Action Moves the specified objects to the trash. Despite the name, does not actually delete them [use Finder.empty ()]. Returns An object specifier for the ÒdeletedÓ object (based on its new location in the trash), or a list of such specifiers. Errors It is an error to attempt to delete a window or other non-deletable object Examples with objectModel, Finder { delete (startupdisk.folder["Test"].file["xxx"]) } Ç moves to trash trash.file ["xxx"] with objectModel, Finder { file.delete (get (startupdisk.folder["Test"].file["xxx"], stringType)) } true Ç This has actually deleted the file without disturbing other items already in the trash Notes ¥ Scriptable Finder only. ¥ It is impolite for a script to empty the trash after deleting files, if the trash was not empty previously, without asking permission. ¥ If you want a single-step delete, use file.delete () or file.deleteFolder (). If you have a Finder-style specifier for the object, you can use Finder.get (myObj, stringType) to get its path to pass to the file verb. See Also file.delete file.deleteFolder Finder.drag Syntax Finder.drag (sourcePath, destPath) Parameters sourcePath is the path to the file or folder you wish to copy. destPath is the path to the place where the contents of sourcePath are to be copied. Action Copies the file or folder in sourcePath to folder or volume at destPath. If a file or folder of the same name already exists in destPath, this verb confirms your desire to replace it. Returns True Examples Finder.drag ("System:System Folder:System", "System:ResEdit Folder:") È true Makes a copy of the System file so you can work with it in ResEdit. Finder.drag ("System:System Folder:Passwords", "MyOTherDisk:System:A Safe Place:") È true The file called ÒPasswordsÓ in your System Folder is copied to a safe place on another hard disk for backup. Notes ¥ You can use Finder.drag across volumes. ¥ Supported on non-Scriptable Finder. ¥ New scripts for Scriptable Finder should probably use other verbs instead, such as Finder.move () and Finder.duplicate () See Also Finder.move Finder.duplicate Finder.duplicate Syntax Finder.duplicate (path, duplicateTo, replacing) Parameters path is the path name of the folder, document, or application of which you wish the Finder to make a copy (For the Scriptable Finder, path may also be a list of items to duplicate). duplicateTo (Scriptable Finder only) if present names the container into which the duplicate item(s) are placed. replacing (Scriptable Finder only) if present may be false (the default), true, conflicts, or existingItems...any of the last three causes existing items to be replaced by the newly-created items Action The original Finder creates a copy of the object at path, adding the word ÒCopyÓ to the end of its name. The Scriptable Finder does the same if the duplicateTo parameter is not given (but will copy multiple items in different containers) If the duplicateTo parameter is included, the copied items go into the designated container. If duplicateTo is a list of containers, copies of the items to duplicate appear in each of the containers If replacing is false or not included, it is an error if there already exists a conflicting item (except when the FinderÕs Duplicate menu command action is specified by omitting duplicateTo and replacing) Errors It is an error to use the duplicateTo parameter with the replacing parameter omitted or false, if there is already an existing item with the same name in the duplicateTo container It is an error if the duplicateTo parameter is other than a container Returns Original Finder: true; Scriptable Finder: an object specifier (or list of specifiers) for the newly created item(s) Examples Finder.duplicate ("System:Frontier Folder:Frontier.root") Ç original or Scriptable Finder È true (original Finder) or startupDisk.folder["Frontier Folder"].file["Frontier.root"] (Scriptable Finder) Finder.duplicate ("System:Frontier Folder:Frontier.root", "System:Backup Root:", true) È startupDisk.folder[Backup Root].file["Frontier.root"] (prior backup deleted) Notes ¥ The only form for use with the non-Scriptable Finder is Finder.duplicate (path) ¥ If a copy of the file already exists, this verb with only the path parameter behaves like the Finder and names the new copy by adding a number to the end of the name (e.g., ÒFrontier.root Copy 2Ó). See Also file.copy Finder.empty Syntax Finder.empty (trashObject) Parameters trashObject (usually omitted). The word trash, referring to the trash on the local Macintosh. Action With no parameter or the parameter trash, empties the trash on the local machine. Returns An object specifier for the trash which was emptied Notes It is possible to empty trash on remote Macintosh machines, but I have not found the necessary coding to do so in Frontier. Finder.emptyTrash Syntax Finder.emptyTrash () Parameters None required. Action Empties the trash without confirmation. Returns True Examples Finder.emptyTrash () È true Notes For use with the Scriptable Finder, new scripts should use the Finder.empty () verb, instead. See Also Finder.empty Finder.get Syntax Finder.get (obj, as) Parameters obj specifies the thing to get or a list of things to get as [optional] if present, specifies the form in which to get the object(s). aliasType, filespecType, and stringType are often useful. objspecType is the default. Action Returns the requested thing or list of things. Returns The requested thing or list of things. Errors It is an error if the requested thing (or one of the requested things) does not exist. It is an error if the requested thing cannot be returned in the form requested (eg, a window cannot be returned as a string) Examples get ("Vashon:Test") startupDisk.folder ["Test"] get (startupDisk.folder["Test"], stringType) "Vashon:Test:" get (disk ["Vashon"].folder ["Test"].window.bounds) {153,437,416,779} with objectModel, Finder { get (disk[all].name) } {"Sucia", "Lopez", "Blake", "Vashon"} Notes ¥ Scriptable Finder only. ¥ All the examples need with objectModel, Finder { ... } See Also Finder.set Finder.getInfo Syntax Finder.getInfo (path) Parameters path is the path name pointing to the volume, folder, or file for which you wish the Finder to open its ÒGet InfoÓ window. Action Opens the ÒGet InfoÓ window for the object at path. Brings the Finder to the front automatically. Returns True Examples Finder.getInfo ("System:System Folder:System") È true Finder comes to front and opens its Get Info window on the System file. Notes ¥ Finder does not open the folder(s) in which the object at path is stored. ¥ This verb is retained for use with the original Finder. For the Scriptable Finder, consider opening the informationWindow of some object, instead. See Also Finder.closeInfo Finder.grow Syntax Finder.grow (pathToFolder, horiz, vert) Parameters pathToFolder is the path name of the folder whose Finder window you wish to resize. horiz is a number indicating the number of pixels wide you wish the window to be. vert is a number indicating the number of pixels high you wish the window to be. Action Resizes the window associated with the folder at pathToFolder so that it is vert pixels high and horiz pixels wide. Returns True Examples Finder.grow ("System:System Folder", 200, 300) È true Notes ¥ If the folder or volume is not already open in a window, this verb opens the window first and then resizes it. ¥ This verb is retained for use with the original Finder. For the Scriptable Finder, consider doing a set of the bounds, position, or size property of the window associated with some container. See Also Finder.setPosition Finder.zoomWindow Finder.set Finder.move Syntax Finder.move (path, moveTo, replacing) Parameters path (original Finder) is the path to the file or folder you wish to relocate. moveTo (original Finder) is the path to the folder where the contents of sourcePath are to be moved. path (Scriptable Finder) the path or other specification of the item to move, or a list of one or more items to move moveTo (Scriptable Finder) a specification of the container to which to move the items replacing (Scriptable Finder ONLY, optional) if false or absent do not replace existing items, if true, conflicts, or existingItems replace any existing items Action Moves the contents of path to the container at moveTo. Errors With Scriptable Finder, it is an error if the replacing parameter is absent or false and duplicate items already exist in the moveTo container. Returns True (original Finder) (Scriptable Finder) A Finder specifier or list of specifers for the moved items in their new location Examples Finder.move ("System:System Folder:Passwords", "System:A Safe Place:") È true The file called ÒPasswordsÓ in your System Folder is moved to a safe place, where all good passwords should be! Notes ¥ With the original Finder, Finder.move () cannot be used to move files between volumes. Use Finder.drag for this purpose but remember that dragging leaves the original file in place. ¥ With the Scriptable FInder, Finder.move () will copy the items to the desired container, but not remove them from their orignal container. ¥ It is possible but not generally useful to specify a list of containers in the moveTo parameter. If you do, the items are moved multiple times, ending in the last container in the list. See Also file.copy Finder.drag Finder.duplicate file.delete Finder.open Syntax Finder.open (path, using) Parameters path is the path name of a file, folder, or volume you wish to open. With Scriptable Finder, path may also be a list of items to open, and may be a Finder specifier, alias, filespec, or pathString. using (Scriptable Finder only, optional) the application to be used to open the item(s) specified by path Action (Original Finder) Has the same effect as choosing ÒOpenÓ from the FinderÕs File menu, with the indicated item selected. (Scriptable Finder) If the using parameter is not specified, same as original Finder...with the replacing parameter, the effect is the same as dragging an item or items onto the indicated application. Returns Original Finder true Scriptable Finder a specifier or list of specifiers for the items which were opened. Examples Finder.open ("System:") È true Opens a Finder window on the volume ÒSystem.Ó Finder.open ("System:Frontier Folder:UserLandª Frontier") È true Since an application is named, Finder ÒopensÓ (i.e., launches) it. Finder.open ("System:Documents:Memo to Boss") È true Since a document is named, Finder launches the application used to create it. Finder.open ("System.Documents:Memo to Boss", "System:SimpleText") È startupDisk.folder ["Documents"].file["Memo to Boss"] The memo is opened using SimpleText, regardless of what application saved it as a TEXT or PICT file Notes Anything the Finder can open Ñ including desk accessories, font files, sound files, or Control Panels (cDEVs) Ñ can be opened with this verb. See Also Launch verbs Finder.close Finder.pageSetup Syntax Finder.pageSetup (pathToFolder) Parameters pathToFolder is the path name of the folder, whose Finder window you wish to invoke a Page Setup dialog box for. Action Opens a Page Setup dialog box for the folder or volume displayed in the window at pathToFolder. It also brings Finder to the front. Returns True Examples Finder.pageSetup ("System:Documents:Test Document") È true Finder displays a Page Setup dialog for the folderÕs window. Notes ¥ There is no Scriptable Finder equivalent. The original Finder verb still works but... ¥ WARNING. With at least some versions of Finder and System, this verb has crashed the Scriptable Finder on my Power Macintosh. See Also Finder.printWindow Finder.print Syntax Finder.print (obj) Parameters (Original Finder) obj is the path name to a document you wish to print from the Finder. (Scriptable Finder) obj is the same as with the original Finder, or a specifier for a file or container (or a list of such specifiers). Action (Original Finder) The effect is the same as selecting the item in Finder, then selecting Print from Finder's File menu. (Scriptable Finder) For each file specified by obj, the effect is as above. For each container, the effect is like having that container's window in front and selecting PrintWindow from Finder's File menu. Returns (Original Finder) true (Scriptable Finder) a specifier or list of specifiers of the items and container windows printed Examples Finder.print ("System:Documents:Sample Memo") È true Ç original Finder; or È startupDisk.folder["Documents"].file["Sample Memo"] Errors If you attempt to print an unprintable object (such as a folder or an application), Finder.print does not print but this is not an error. Scriptable Finder reports an error if you specify a non-existent item to print. Notes If the document in path was created by an application that cannot be found, the Finder produces an error and notifies the user of a need to be brought to the front. See Also Finder.printWindow Finder.printWindow Syntax Finder.printWindow (pathToFolder) Parameters pathToFolder is the path name of the Finder window whose contents you wish to print. Action Opens the folderÕs window if it is not yet open and invokes the FinderÕs Print Window command from the File menu, bringing the Finder to the front. This displays a print dialog, with which the user must interact to carry out the printing. Returns True Examples Finder.printWindow ("System:System Folder:Control Panels:") È true Notes ¥ This verb works with the original Finder. ¥ For the Scriptable Finder, it is probably better to use Finder.print (), specifying some open window. See Also Finder.bringToFront Finder.print Finder.putAway Syntax Finder.putAway (path) Parameters With original Finder: path is the path to a folder or file that has been previously moved to the desktop or into the Trash and which you now wish to return to its proper window and Finder location. With Scriptable Finder: path is a specifier for some object, or a suitable list. Action Moves the folder or file in path to the location from which it was previously moved. With Scriptable Finder, putAway can also be used to eject and unmount removeable volumes. Returns With the original Finder: true With the scriptable Finder: a specifier (or list) for the object(s) put away, in their new location. Errors With Scriptable Finder, it is an error to put away something which does not exist as you specify it. Examples Finder.putAway ("System:Desktop Folder:Temporary Folder:") È true The folder ÒTemporary FolderÓ is restored to its original position at the top level of the disk volume ÒSystem.Ó Notes ¥ In the original Finder, executing Finder.putAway on an object that has not been dragged to the Macintosh desktop or the Trash has no effect and returns true. ¥ Scriptable Finder uses the desktop as the default container for objects...so most objects to be put away can be specified in the form file["foo"]. Finder.restart Syntax Finder.restart () Parameters None required. Action Restarts the Macintosh after quitting all open programs and, if appropriate, asking the user to confirm the saving or loss of changes. Returns Nothing Examples Finder.restart () See Also Finder.shutDown Finder.reveal Syntax Finder.reveal (path) Parameters path is the path to an object you wish to display in its folderÕs window. With Scriptable Finder, path may also be a specifier for that object (or a suitable list) Action Scrolls to and selects the object at path in its folderÕs window, opening the window if necessary first. It also brings the Finder to the front. Returns With the original Finder: true With the scriptable Finder: a specifier (or list) for the revealed object(s) Examples Finder.reveal ("System:Frontier Folder:UserLand Frontierª") È true The window for the folder ÒFrontier FolderÓ opens and scrolls to make the application ÒUserLand FrontierªÓ visible. Then it selects this application. Finder.set Syntax Finder.set (obj, setTo) Parameters obj specifies the thing to set (generally a property of some Finder object) setTo is the value to which the property is to be set Action Sets the value of obj (usually a property) to the value specified Returns True Errors It is an error if obj does not exist or cannot be set to the value setTo. Examples set (window["Test"].zoomed, true) true set (window["Missing"].zoomed, true) an error, because there is no window named "Missing" open in Finder Notes ¥ Scriptable Finder only. ¥ Examples need with objectModel, Finder { ... } See Also Finder.get Finder.setPosition Syntax Finder.setPosition (pathToFolder, horiz, vert) Parameters pathToFolder is the path name of the folder whose Finder window you wish to move. horiz is a number indicating the horizontal location in pixels where you want the windowÕs upper left corner located. vert is a number indicating the vertical location in pixels where you want the windowÕs upper left corner located. Action Moves the window associated with the folder at pathToFolder so that its upper left corner is horiz pixels to the right of the left edge of the display and vert pixels below the top edge of the display. Returns True Examples Finder.setPosition ("System:", 5, 40) È true This script opens the Finder window on the volume ÒSystemÓ and positions it so that its upper left corner is near the upper left corner of the screen. Notes ¥ With the Scriptable Finder, suggest Finder.set (window["foo"].postion, {h, v}) {or set the window's bounds to move and resize}. ¥ Unlike its manual equivalent in the Finder, it is possible with this verb to move the window completely off the screen. You must be careful not to permit this, nor to make the title bar inaccessible without being aware of the situation and correcting it ¥ If the window for pathToFolder is not open when this verb is called, it will be opened by the Finder. See Also Finder.grow Finder.zoomWindow Finder.set Finder.showClipboard Syntax Finder.showClipboard () Parameters None required. Action Opens a window in which you can view the contents of the system Clipboard. It also brings the Finder to the front Returns True Examples Finder.showClipboard () Notes ¥ With the Scriptable Finder, you can use: with objectModel, Finder { open (clipboard) } ¥ It is harmless to use the Finder.showClipboard verb when the Clipboard is already visible. See Also Finder.open Finder.shutDown Syntax Finder.shutDown () Parameters None required. Action Shuts down the Macintosh after quitting all open programs and, if appropriate, asking the user to confirm the saving or loss of changes. Returns Nothing Examples Finder.shutDown () See Also Finder.restart Finder.sleep Syntax Finder.sleep () Parameters None required. Action Causes a Macintosh Portable, Macintosh Power Book, or other system that understands the ÒSleepÓ command to blank its display and enter power-conserving mode. Returns True Examples Finder.sleep () È true See Also Finder.restart Finder.shutDown Finder.zoomWindow Syntax Finder.zoomWindow (pathToFolder, zoom) Parameters pathToFolder is the path name of the folder whose window you wish to zoom in or out. zoom is a boolean value indicating whether to zoom the window out (if true) or in (if false). Action Changes the zoomed state of the window displaying the folder at pathToFolder, if necessary, to in or out, depending on the value in zoom. It opens the window if necessary. Returns True Examples Finder.zoomWindow ("System Folder:", true) È true Zooms System FolderÕs window open if it isnÕt already. Finder.zoomWindow ("System Folder:", false) È true Zooms System FolderÕs window in (to its original, un-zoomed size) if it isnÕt already. Notes ¥ With Scriptable Finder, you can set the window's zoomed property to true or false using Finder.set () ¥ This verb emulates the behavior of the zoom icon in a Macintosh window, acting as a toggle. Zooming behavior is slightly different between System 6 and System 7. \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:optx:system.verbs.apps.Finder.docs ! Finder.about Syntax Finder.about () Parameters None required. Action Displays the FinderÕs ÒAboutÓ window showing all open applications, the amount of memory they are using, the amount they have been allocated, and other useful information. It also brings the Finder to the front. Returns True Examples Finder.about () È true Notes ¥ This old verb is retained for compatibility. If you use only the scriptable Finder, consider using the scriptable Finder implementation of the verb: Finder.open (objspec (Finder.aboutThisMacintosh)) Finder.alias Syntax Finder.alias (path) Parameters path is the path to a file or folder of which you wish to create an alias. Action Executes the ÒMake AliasÓ command on the indicated file or folder. Returns True Examples Finder.alias ("System:System Folder:Control Panels:Views") È true Creates an alias of your Views Control Panel, which you can then move into the Apple Items folder in your System Folder. Notes With the Scriptable Finder, consider using Finder.make (Finder.aliasFile, withData: finderSpec (path)) instead. If you do, you can also set properties of the alias. See Also Finder.make file.newAlias Finder.bringToFront Syntax Finder.bringToFront () Parameters None required. Action Makes the Finder the frontmost application. Returns True Examples Finder.bringToFront () È true Notes You donÕt often need to use this verb in conjunction with the other Finder verbs. Those that should or must bring Finder to the front do so automatically. See Also sys.bringAppToFront Finder.changeView Syntax Finder.changeView (pathToFolder, viewID) Parameters pathToFolder is the path name of the folder whose Finder window view you wish to set. viewID is a number between 0 and 8 that determines the viewing method for files and folders in the window at pathToFolder. Action Sets the viewing method of the Finder window pathToFolder to a view that depends on the value of viewID, which can have the following values. ¥ 0 = Small Icon ¥ 1 = Icon ¥ 2 = Name ¥ 3 = Date Last Modified ¥ 4 = Size ¥ 5 = Kind ¥ 6 = Comments ¥ 7 = Label ¥ 8 = Version Returns True Examples Finder.changeView ("System:", 4) È true All files and folders in the disk iconÕs window are shown in order by size. Finder.changeView ("System:System Folder:Preferences:", 8) È true All files and folders in this folder are now shown in order by version number. Notes ¥ Supplying a number outside the range of 0Ð8 has no effect on the view and returns true. ¥ If the window at pathToFolder is not open, this verb opens it before changing its view. ¥ You can use this verb to select a view that is not available on the FinderÕs View menu. ¥ With Scriptable Finder, consider setting the "view" property of the folder (using the same values as above) See Also Finder.set Finder.cleanup Syntax Finder.cleanup (referenceToObject, viewID) Parameters referenceToObject is either objSpec (all) or a reference to a folder or window, or a reference to an item, or a list of any of those (see notes) viewID determines the sorting of the items in the folder after the items are moved. It may be ¥ a number between 2 and 8 (from the list for Finder.changeView ()); or ¥ one of the names name, modificationDate, size, kind, comment, labelIndex, version; or ¥ the string4 value corresponding with those names (see Finder.defs.cleanupCodes); or ¥ Not present, which is the same as using name. Action Moves each affected icon to a grid position in its folderÕs window (or on the desktop), ordered according to the value of the viewID parameter. Returns A reference (or list of references) to the objects which were cleaned up Errors It is an error to attempt to clean up icons in a window which is not open. It is an error to attempt to clean up a window which is not shown in Icon or Small Icon form. It is an error to attempt to clean up window[all] if a Control Panel window is open. But other open windows will be cleaned up. Examples cleanup (containerWindow[all], name) will rearrange the icons in all of Finder's open windows which are viewed by icon or small icon, ordering them by name. cleanup (window["Vashon"].folder["Test"]) because the window named "Vashon" is open, this moves the icon for the folder "Test" to the nearest available grid position...it does not affect items contained in the folder. cleanup (window["Vashon"].folder["Test"].contents) If the window for folder test is open, cleans up the icons it contains, putting them at the nearest grid points since no ordering is given. cleanup (objSpec (all)) Untested (because things are on my desktop where I want them). Alleged to be like selecting something on the desktop, holding down the Option key, and selecting Clean Up All from the Special menu. Notes ¥ Scriptable Finder only. ¥ The Finder window in which changes are to be made must be open. ¥ If you specify one or more folders among the objects to be cleaned up, and their windows are not open, the folder icons are moved in the containing window. ¥ If you specify one or more folders among the objects to be cleaned up, and their windows are open, the icons are moved in the foldersÕ windows. ¥ If you specify a Finder window, the icons it contains are cleaned up. ¥ The list of specifiers can mention completely unrelated items, such as items found on two or more different volumes. ¥ cleanup (objSpec (desktop), name) is alleged to be an alternate way to say cleanUp (objSpec (all)) ¥ All examples assume that they are contained within a with objectModel, Finder ¥ It is better to use containerWindow[all] rather than window[all] to clean up all windows. The window[all] form will cause an error if a Control Panel is open. Finder.close Syntax Finder.close (referenceToWindows) Parameters referenceToWindows (under non-Scriptable Finder) is the path name of the folder whose Finder window you wish to close. Only one allowed. referenceToWindows (under Scriptable Finder) is an object specifier of a Finder window or of the object whose window is to be closed, or a list of such specifiers. Action Closes each Finder window mentioned or implied in referenceToWindows. Returns Non-Scriptable Finder: True Scriptable Finder: an object specifier for the window which was closed, or a list of such specifiers. Errors With the Scriptable Finder, it is an error to try to close a window which is not open. Examples Finder.close ("System:") È true (non-Scriptable Finder) or the object specifier startupDisk.window or disk["System"].window Closes the window showing the contents of the disk volume ÒSystem.Ó Finder.close ( {window["Test"], disk["Vashon"].folder["Frontier 3.0"]} ) Ç requires Scriptable Finder, windows are open. È {startupDisk.folder ["Test"].window, startupDisk.folder ["Frontier 3.0"].window} Notes ¥ If the Finder window at referenceToWindows is not open, the non-Scriptable Finder opens it and then closes it. ¥ The examples assume they are within a with objectModel, Finder See Also Finder.open Finder.closeInfo Finder.closeInfo Syntax Finder.closeInfo (path) Parameters path is the path name pointing to the volume, folder, or file whose ÒGet InfoÓ window you wish the Finder to close. Action Closes the ÒGet InfoÓ window for the item at path. The Finder also brings itself to the front. Returns True Examples Finder.closeInfo ("System:") È true Closes the Get Info window for the disk volume ÒSystem.Ó Notes ¥ If the Get Info window for the item at path is not open, the Finder opens it and then closes it. ¥ Retained for compatibility with the non-Scriptable Finder. Can be replaced by a close of an object specifier for the information window of an item, with Scriptable Finder close (startupDisk.file["MyTest"].informationWindow) close (window["MyTest Info"]) See Also Finder.getInfo Finder.open Finder.close Finder.computer Syntax Finder.computer (x, has) Parameters x, a string4 which is the Gestalt selector to be tested has, optional...if present it is a number which forms a mask against which the result from Gestalt is tested Action Calls the Macintosh toolbox routine Gestalt passing x as the selector. Returns If the has parameter is absent, returns the result from the Gestalt call. If the has parameter is present, tests the has parameter against the result from Gestalt, returning true if every 1 bit in has is matched by a 1 bit in the result, otherwise returning false. Errors It is an error if the selector x is unknown to Gestalt, or if Gestalt reports any other error. Examples Finder.computer ('qd ') Ç version number of QuickDraw 567 string.hex (Finder.computer ('os ')) Ç various feature flags for the operating system "0x6FFF" Finder.computer ('os ', 3) È true (on machines which can run Frontier) Finder.computer ('os ', 0x8000) false Notes ¥ Scriptable Finder only ¥ Can be addressed to a Finder on a remote Macintosh, whereas gestalt () is limited to the machine on which Frontier is running. See Also Gestalt Finder.count Syntax Finder.count (obj, each) Parameters obj is an object specifier for some Finder object, or a list of such objects. each is a string4 which identifies what kind of objects contained by obj should be counted. Action Counts the kind of object indicated by each in the object specified by obj. Returns The count of the number of objects of type each in the object obj. If obj is a list, the SUM of the number of objects of interest in each container object is returned. Examples with objectModel, Finder {count (desktop, disk)} 4 Errors It is an error if obj does not exist or if each represents a type which obj cannot contain. Notes ¥ Scriptable Finder only. ¥ The behavior of returning the sum of the counts when the first parameter is a list seems to be an error and might change in the future. Finder.dataSize Syntax Finder.dataSize (obj, as) Parameters obj is an object specifier for the Finder object of interest (or a list of objects of interest) as optional...if present the reported size is based on the object as coerced to the indicated type Action Determines the size of the data which would be returned by get (obj, as). Returns Returns the size in bytes of the data which would be returned by get (obj, as), or a list of the sizes. Errors It is an error if the object whose size is requested does not exist Examples with objectModel, Finder {dataSize (disk[1])} 70 Ç disk happens to have a 5 character name with objectModel, Finder {dataSize (disk[1].folder[1].item[1])} 220 Ç more complex object specifier with objectModel, Finder {dataSize (disk[1].folder[1].item[1], aliasType)} 154 with objectModel, Finder {dataSize (get (disk[1].folder[1].file[all]), stringType)} È {48, 35, 36} Gets object specifiers for all <3> files in the folder, then asks for the datasize of the objects in that list Notes ¥ Scriptable Finder only. ¥ Relatively uninteresting in real scripting. ¥ It is never the size of a fileÕs contents, use file.size () for that. See Also file.size Finder.delete Syntax Finder.delete (obj) Parameters obj is an object specifier for a deletable Finder object, or a list of such specifiers (it may also be an alias or fileSpec or path name string in most cases). Action Moves the specified objects to the trash. Despite the name, does not actually delete them [use Finder.empty ()]. Returns An object specifier for the ÒdeletedÓ object (based on its new location in the trash), or a list of such specifiers. Errors It is an error to attempt to delete a window or other non-deletable object Examples with objectModel, Finder { delete (startupdisk.folder["Test"].file["xxx"]) } Ç moves to trash trash.file ["xxx"] with objectModel, Finder { file.delete (get (startupdisk.folder["Test"].file["xxx"], stringType)) } true Ç This has actually deleted the file without disturbing other items already in the trash Notes ¥ Scriptable Finder only. ¥ It is impolite for a script to empty the trash after deleting files, if the trash was not empty previously, without asking permission. ¥ If you want a single-step delete, use file.delete () or file.deleteFolder (). If you have a Finder-style specifier for the object, you can use Finder.get (myObj, stringType) to get its path to pass to the file verb. See Also file.delete file.deleteFolder Finder.drag Syntax Finder.drag (sourcePath, destPath) Parameters sourcePath is the path to the file or folder you wish to copy. destPath is the path to the place where the contents of sourcePath are to be copied. Action Copies the file or folder in sourcePath to folder or volume at destPath. If a file or folder of the same name already exists in destPath, this verb confirms your desire to replace it. Returns True Examples Finder.drag ("System:System Folder:System", "System:ResEdit Folder:") È true Makes a copy of the System file so you can work with it in ResEdit. Finder.drag ("System:System Folder:Passwords", "MyOTherDisk:System:A Safe Place:") È true The file called ÒPasswordsÓ in your System Folder is copied to a safe place on another hard disk for backup. Notes ¥ You can use Finder.drag across volumes. ¥ Supported on non-Scriptable Finder. ¥ New scripts for Scriptable Finder should probably use other verbs instead, such as Finder.move () and Finder.duplicate () See Also Finder.move Finder.duplicate Finder.duplicate Syntax Finder.duplicate (path, duplicateTo, replacing) Parameters path is the path name of the folder, document, or application of which you wish the Finder to make a copy (For the Scriptable Finder, path may also be a list of items to duplicate). duplicateTo (Scriptable Finder only) if present names the container into which the duplicate item(s) are placed. replacing (Scriptable Finder only) if present may be false (the default), true, conflicts, or existingItems...any of the last three causes existing items to be replaced by the newly-created items Action The original Finder creates a copy of the object at path, adding the word ÒCopyÓ to the end of its name. The Scriptable Finder does the same if the duplicateTo parameter is not given (but will copy multiple items in different containers) If the duplicateTo parameter is included, the copied items go into the designated container. If duplicateTo is a list of containers, copies of the items to duplicate appear in each of the containers If replacing is false or not included, it is an error if there already exists a conflicting item (except when the FinderÕs Duplicate menu command action is specified by omitting duplicateTo and replacing) Errors It is an error to use the duplicateTo parameter with the replacing parameter omitted or false, if there is already an existing item with the same name in the duplicateTo container It is an error if the duplicateTo parameter is other than a container Returns Original Finder: true; Scriptable Finder: an object specifier (or list of specifiers) for the newly created item(s) Examples Finder.duplicate ("System:Frontier Folder:Frontier.root") Ç original or Scriptable Finder È true (original Finder) or startupDisk.folder["Frontier Folder"].file["Frontier.root"] (Scriptable Finder) Finder.duplicate ("System:Frontier Folder:Frontier.root", "System:Backup Root:", true) È startupDisk.folder[Backup Root].file["Frontier.root"] (prior backup deleted) Notes ¥ The only form for use with the non-Scriptable Finder is Finder.duplicate (path) ¥ If a copy of the file already exists, this verb with only the path parameter behaves like the Finder and names the new copy by adding a number to the end of the name (e.g., ÒFrontier.root Copy 2Ó). See Also file.copy Finder.empty Syntax Finder.empty (trashObject) Parameters trashObject (usually omitted). The word trash, referring to the trash on the local Macintosh. Action With no parameter or the parameter trash, empties the trash on the local machine. Returns An object specifier for the trash which was emptied Notes It is possible to empty trash on remote Macintosh machines, but I have not found the necessary coding to do so in Frontier. Finder.emptyTrash Syntax Finder.emptyTrash () Parameters None required. Action Empties the trash without confirmation. Returns True Examples Finder.emptyTrash () È true Notes For use with the Scriptable Finder, new scripts should use the Finder.empty () verb, instead. See Also Finder.empty Finder.get Syntax Finder.get (obj, as) Parameters obj specifies the thing to get or a list of things to get as [optional] if present, specifies the form in which to get the object(s). aliasType, filespecType, and stringType are often useful. objspecType is the default. Action Returns the requested thing or list of things. Returns The requested thing or list of things. Errors It is an error if the requested thing (or one of the requested things) does not exist. It is an error if the requested thing cannot be returned in the form requested (eg, a window cannot be returned as a string) Examples get ("Vashon:Test") startupDisk.folder ["Test"] get (startupDisk.folder["Test"], stringType) "Vashon:Test:" get (disk ["Vashon"].folder ["Test"].window.bounds) {153,437,416,779} with objectModel, Finder { get (disk[all].name) } {"Sucia", "Lopez", "Blake", "Vashon"} Notes ¥ Scriptable Finder only. ¥ All the examples need with objectModel, Finder { ... } See Also Finder.set Finder.getInfo Syntax Finder.getInfo (path) Parameters path is the path name pointing to the volume, folder, or file for which you wish the Finder to open its ÒGet InfoÓ window. Action Opens the ÒGet InfoÓ window for the object at path. Brings the Finder to the front automatically. Returns True Examples Finder.getInfo ("System:System Folder:System") È true Finder comes to front and opens its Get Info window on the System file. Notes ¥ Finder does not open the folder(s) in which the object at path is stored. ¥ This verb is retained for use with the original Finder. For the Scriptable Finder, consider opening the informationWindow of some object, instead. See Also Finder.closeInfo Finder.grow Syntax Finder.grow (pathToFolder, horiz, vert) Parameters pathToFolder is the path name of the folder whose Finder window you wish to resize. horiz is a number indicating the number of pixels wide you wish the window to be. vert is a number indicating the number of pixels high you wish the window to be. Action Resizes the window associated with the folder at pathToFolder so that it is vert pixels high and horiz pixels wide. Returns True Examples Finder.grow ("System:System Folder", 200, 300) È true Notes ¥ If the folder or volume is not already open in a window, this verb opens the window first and then resizes it. ¥ This verb is retained for use with the original Finder. For the Scriptable Finder, consider doing a set of the bounds, position, or size property of the window associated with some container. See Also Finder.setPosition Finder.zoomWindow Finder.set Finder.move Syntax Finder.move (path, moveTo, replacing) Parameters path (original Finder) is the path to the file or folder you wish to relocate. moveTo (original Finder) is the path to the folder where the contents of sourcePath are to be moved. path (Scriptable Finder) the path or other specification of the item to move, or a list of one or more items to move moveTo (Scriptable Finder) a specification of the container to which to move the items replacing (Scriptable Finder ONLY, optional) if false or absent do not replace existing items, if true, conflicts, or existingItems replace any existing items Action Moves the contents of path to the container at moveTo. Errors With Scriptable Finder, it is an error if the replacing parameter is absent or false and duplicate items already exist in the moveTo container. Returns True (original Finder) (Scriptable Finder) A Finder specifier or list of specifers for the moved items in their new location Examples Finder.move ("System:System Folder:Passwords", "System:A Safe Place:") È true The file called ÒPasswordsÓ in your System Folder is moved to a safe place, where all good passwords should be! Notes ¥ With the original Finder, Finder.move () cannot be used to move files between volumes. Use Finder.drag for this purpose but remember that dragging leaves the original file in place. ¥ With the Scriptable FInder, Finder.move () will copy the items to the desired container, but not remove them from their orignal container. ¥ It is possible but not generally useful to specify a list of containers in the moveTo parameter. If you do, the items are moved multiple times, ending in the last container in the list. See Also file.copy Finder.drag Finder.duplicate file.delete Finder.open Syntax Finder.open (path, using) Parameters path is the path name of a file, folder, or volume you wish to open. With Scriptable Finder, path may also be a list of items to open, and may be a Finder specifier, alias, filespec, or pathString. using (Scriptable Finder only, optional) the application to be used to open the item(s) specified by path Action (Original Finder) Has the same effect as choosing ÒOpenÓ from the FinderÕs File menu, with the indicated item selected. (Scriptable Finder) If the using parameter is not specified, same as original Finder...with the replacing parameter, the effect is the same as dragging an item or items onto the indicated application. Returns Original Finder true Scriptable Finder a specifier or list of specifiers for the items which were opened. Examples Finder.open ("System:") È true Opens a Finder window on the volume ÒSystem.Ó Finder.open ("System:Frontier Folder:UserLandª Frontier") È true Since an application is named, Finder ÒopensÓ (i.e., launches) it. Finder.open ("System:Documents:Memo to Boss") È true Since a document is named, Finder launches the application used to create it. Finder.open ("System.Documents:Memo to Boss", "System:SimpleText") È startupDisk.folder ["Documents"].file["Memo to Boss"] The memo is opened using SimpleText, regardless of what application saved it as a TEXT or PICT file Notes Anything the Finder can open Ñ including desk accessories, font files, sound files, or Control Panels (cDEVs) Ñ can be opened with this verb. See Also Launch verbs Finder.close Finder.pageSetup Syntax Finder.pageSetup (pathToFolder) Parameters pathToFolder is the path name of the folder, whose Finder window you wish to invoke a Page Setup dialog box for. Action Opens a Page Setup dialog box for the folder or volume displayed in the window at pathToFolder. It also brings Finder to the front. Returns True Examples Finder.pageSetup ("System:Documents:Test Document") È true Finder displays a Page Setup dialog for the folderÕs window. Notes ¥ There is no Scriptable Finder equivalent. The original Finder verb still works but... ¥ WARNING. With at least some versions of Finder and System, this verb has crashed the Scriptable Finder on my Power Macintosh. See Also Finder.printWindow Finder.print Syntax Finder.print (obj) Parameters (Original Finder) obj is the path name to a document you wish to print from the Finder. (Scriptable Finder) obj is the same as with the original Finder, or a specifier for a file or container (or a list of such specifiers). Action (Original Finder) The effect is the same as selecting the item in Finder, then selecting Print from Finder's File menu. (Scriptable Finder) For each file specified by obj, the effect is as above. For each container, the effect is like having that container's window in front and selecting PrintWindow from Finder's File menu. Returns (Original Finder) true (Scriptable Finder) a specifier or list of specifiers of the items and container windows printed Examples Finder.print ("System:Documents:Sample Memo") È true Ç original Finder; or È startupDisk.folder["Documents"].file["Sample Memo"] Errors If you attempt to print an unprintable object (such as a folder or an application), Finder.print does not print but this is not an error. Scriptable Finder reports an error if you specify a non-existent item to print. Notes If the document in path was created by an application that cannot be found, the Finder produces an error and notifies the user of a need to be brought to the front. See Also Finder.printWindow Finder.printWindow Syntax Finder.printWindow (pathToFolder) Parameters pathToFolder is the path name of the Finder window whose contents you wish to print. Action Opens the folderÕs window if it is not yet open and invokes the FinderÕs Print Window command from the File menu, bringing the Finder to the front. This displays a print dialog, with which the user must interact to carry out the printing. Returns True Examples Finder.printWindow ("System:System Folder:Control Panels:") È true Notes ¥ This verb works with the original Finder. ¥ For the Scriptable Finder, it is probably better to use Finder.print (), specifying some open window. See Also Finder.bringToFront Finder.print Finder.putAway Syntax Finder.putAway (path) Parameters With original Finder: path is the path to a folder or file that has been previously moved to the desktop or into the Trash and which you now wish to return to its proper window and Finder location. With Scriptable Finder: path is a specifier for some object, or a suitable list. Action Moves the folder or file in path to the location from which it was previously moved. With Scriptable Finder, putAway can also be used to eject and unmount removeable volumes. Returns With the original Finder: true With the scriptable Finder: a specifier (or list) for the object(s) put away, in their new location. Errors With Scriptable Finder, it is an error to put away something which does not exist as you specify it. Examples Finder.putAway ("System:Desktop Folder:Temporary Folder:") È true The folder ÒTemporary FolderÓ is restored to its original position at the top level of the disk volume ÒSystem.Ó Notes ¥ In the original Finder, executing Finder.putAway on an object that has not been dragged to the Macintosh desktop or the Trash has no effect and returns true. ¥ Scriptable Finder uses the desktop as the default container for objects...so most objects to be put away can be specified in the form file["foo"]. Finder.restart Syntax Finder.restart () Parameters None required. Action Restarts the Macintosh after quitting all open programs and, if appropriate, asking the user to confirm the saving or loss of changes. Returns Nothing Examples Finder.restart () See Also Finder.shutDown Finder.reveal Syntax Finder.reveal (path) Parameters path is the path to an object you wish to display in its folderÕs window. With Scriptable Finder, path may also be a specifier for that object (or a suitable list) Action Scrolls to and selects the object at path in its folderÕs window, opening the window if necessary first. It also brings the Finder to the front. Returns With the original Finder: true With the scriptable Finder: a specifier (or list) for the revealed object(s) Examples Finder.reveal ("System:Frontier Folder:F... [truncated message content] |
|
From: creedon <icr...@us...> - 2005-09-08 17:46:19
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/cards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22488 Modified Files: userInfoDialog Log Message: changed UserLand Frontier to Frontier Index: userInfoDialog =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/cards/userInfoDialog,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** userInfoDialog 26 Mar 2005 19:41:20 -0000 1.1.1.1 --- userInfoDialog 8 Sep 2005 17:46:07 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:data:system.cards.userInfoDialog ! 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 \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:data:system.cards.userInfoDialog ! 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 \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 17:46:12
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/html/utilities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22460 Modified Files: buildMCF Log Message: changed UserLand Frontier to Frontier Index: buildMCF =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/html/utilities/buildMCF,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** buildMCF 26 Mar 2005 19:43:16 -0000 1.1.1.1 --- buildMCF 8 Sep 2005 17:46:02 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.html.utilities.buildMCF ! on buildMCF (folder, url, f, sitename, author=user.name, org=user.organization, email=user.mailaddress, filter=@defaultFilter) { ÇWed, Dec 25, 1996 at 8:08:38 AM by DW ÇDerived from Jim Correia's MCFGenerator suite. ÇI'll list changes I make on the change notes page. ÇThu, Dec 26, 1996 at 9:57:32 PM by JimC Çremoved remaning dependencies on MCFGenerator suite - uses the 4.2 html.getOneTagValue Çincorporated Guha's suggestions about the generated MCF Çadded the email parameter Çadded the filter paramter ( gives users more control over what files are included in the mcf ) Çthis is the default filter - only includes .html files in the resulting mcf on defaultFilter(f) { if file.isFolder(f) { return true}; if ( f endsWith ".html" ) { msg (file.fileFromPath (f)); return true}; return false}; Çthis is the filter that is used if someone passes in nil - everything is included on nilFilter(f) { msg (file.fileFromPath (f)); return true}; Çthis function does all the work on generateFileStructureMCF (baseFolder,outputFile,siteURL,siteName,authorName="",orgName="",mailAddress="",fileFilter) { local { mcfText = ""}; if ( ! (siteURL endsWith "/" ) ) { siteURL = siteURL + "/"}; Çutility methods on add(s) { mcfText = mcfText + s + cr}; on addAuthor() { Çif (authorName!="") Çadd("author_individual_name: \"" + authorName + "\"") if ((authorName!="")&&(mailAddress!="")) { add("authorIndividual: #\"" + mailAddress + "\"")}}; on addOrganization() { Çif (orgName!="") Çadd("author_organization_name: \"" + orgName + "\"") if (orgName!="") { add("authorOrganization: #\"" + orgName + "\"")}}; on addFileInfo(f) { add("firstPublicationDate: \"" + date.shortString(file.created(f)) + "\""); add("lastRevisionDate: \"" + date.shortString(file.modified(f)) + "\""); add("size: \"" + file.size(f) + "\"")}; bundle { Çadd the file header information Çadd("begin-headers:\rMCFVersion: 1.0\rname: \"" + siteName + "\"\rend-headers:") add(";This MCF File was generated by Userland Frontier 4.2 Mac -" + clock.now()); Çadd(";Script by Jim Correia <pmt...@um...> and Dave Winer <dw...@we...>.") add(""); add("begin-headers:"); add("MCFVersion: 1.0"); add("name: \"" + siteName + "\""); add("typeOf: #\"TableOfContents\""); add("tocOf: \"" + siteURL + "\""); add("end-headers:"); add(""); bundle { Ç add an author tag if ((authorName!="")&&(mailAddress!="")) { add("unit: \"" + mailAddress + "\""); add("name: \"" + authorName + "\""); add("typeOf: #\"person\""); add("emailAddress: \"" + mailAddress + "\""); add("")}}; bundle { Ç add an organization tag if (orgName!="") { add("unit: \"" + orgName + "\""); add("name: \"" + orgName + "\""); add("typeOf:#\"Organization\""); add("")}}}; on ProcessFolder(theFolder,parentgenls="",topmostfolder=false) { rollBeachBall(); local ( genls="" ); if ( topmostfolder==false ) { genls = string(theFolder) - string(baseFolder); Çgenls = string.replaceAll(genls,":","/") - "/" genls = string.replaceAll(genls,":","/"); Çgenls = (siteURL - "http://") + (genls) + ".mco" genls = (siteURL - "http://") + (genls); add( "unit: \"" + genls + "\""); add( "name: \"" + ( file.fileFromPath(theFolder) - ":") + "\""); add( "typeOf: #\"SubjectCategory\"" ); addAuthor(); addOrganization(); if ( parentgenls!="" ) { Çadd( "genls: \"" + parentgenls + "\"") add( "parent: #\"" + parentgenls + "\"")}; add("")}; local ( f ); fileloop( f in theFolder ) { if ( fileFilter^(f) ) { if ( file.isFolder(f) ) { ProcessFolder(f,genls)} else { ProcessFile(f,genls)}}}}; on ProcessFile(theFile,thegenls) { Çif ( ! (theFile endsWith ".html") ) Çreturn Çmoved into the default filters rollBeachBall(); local ( s ); s = theFile - baseFolder; s = string.replaceAll(s,":","/"); add( "unit: \"" + siteURL + s + "\""); local ( theTitle = html.getOneTagValue( string(file.readWholeFile(f)), "title") ); if ( theTitle == "" ) { theTitle = file.fileFromPath(f)}; add( "name: \"" + theTitle + "\""); addAuthor(); addOrganization(); addFileInfo(f); if ( thegenls!="" ) { Çadd( "genls: \"" + thegenls + "\"") add( "parent: #\"" + thegenls + "\"")}; add("")}; ProcessFolder(baseFolder,"",true); msg ("Writing file..."); file.writeWholeFile(outputFile, mcfText, 'TEXT', 'R*ch', clock.now()); msg (""); return true}; if ( filter == nil ) { filter = @nilFilter}; return (generateFileStructureMCF (folder, f, url, sitename, author, org, email, filter))}; Çbundle Çtest code Çlocal (folder = "internal:apps:webstar:frontier:") Çlocal (url = "http://www.scripting.com/frontier/") Çlocal (f = folder + "siteMap.mcf") ÇbuildMCF (folder, url, f, "Frontier") Çbundle ÇÊmore test code Çhtml.utilities.buildMCF ("Touch of Grey:WebSite:", "http://tango.mth.umassd.edu/correia/", "Touch of Grey:WebSite:root.mcf", "JimC") \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.html.utilities.buildMCF ! on buildMCF (folder, url, f, sitename, author=user.name, org=user.organization, email=user.mailaddress, filter=@defaultFilter) { ÇChanges Ç9/8/05; 10:36:21 AM by TAC Çchanged UserLand Frontier to Froniter Ç12/25/96; 8:08:38 AM by DW ÇDerived from Jim Correia's MCFGenerator suite. ÇI'll list changes I make on the change notes page. Ç12/26/96; 9:57:32 PM by JimC Çremoved remaning dependencies on MCFGenerator suite - uses the 4.2 html.getOneTagValue Çincorporated Guha's suggestions about the generated MCF Çadded the email parameter Çadded the filter paramter ( gives users more control over what files are included in the mcf ) Çthis is the default filter - only includes .html files in the resulting mcf on defaultFilter(f) { if file.isFolder(f) { return true}; if ( f endsWith ".html" ) { msg (file.fileFromPath (f)); return true}; return false}; Çthis is the filter that is used if someone passes in nil - everything is included on nilFilter(f) { msg (file.fileFromPath (f)); return true}; Çthis function does all the work on generateFileStructureMCF (baseFolder,outputFile,siteURL,siteName,authorName="",orgName="",mailAddress="",fileFilter) { local { mcfText = ""}; if ( ! (siteURL endsWith "/" ) ) { siteURL = siteURL + "/"}; Çutility methods on add(s) { mcfText = mcfText + s + cr}; on addAuthor() { Çif (authorName!="") Çadd("author_individual_name: \"" + authorName + "\"") if ((authorName!="")&&(mailAddress!="")) { add("authorIndividual: #\"" + mailAddress + "\"")}}; on addOrganization() { Çif (orgName!="") Çadd("author_organization_name: \"" + orgName + "\"") if (orgName!="") { add("authorOrganization: #\"" + orgName + "\"")}}; on addFileInfo(f) { add("firstPublicationDate: \"" + date.shortString(file.created(f)) + "\""); add("lastRevisionDate: \"" + date.shortString(file.modified(f)) + "\""); add("size: \"" + file.size(f) + "\"")}; bundle { Çadd the file header information Çadd("begin-headers:\rMCFVersion: 1.0\rname: \"" + siteName + "\"\rend-headers:") add(";This MCF File was generated by Frontier 4.2 Mac -" + clock.now()); Çadd(";Script by Jim Correia <pmt...@um...> and Dave Winer <dw...@we...>.") add(""); add("begin-headers:"); add("MCFVersion: 1.0"); add("name: \"" + siteName + "\""); add("typeOf: #\"TableOfContents\""); add("tocOf: \"" + siteURL + "\""); add("end-headers:"); add(""); bundle { Ç add an author tag if ((authorName!="")&&(mailAddress!="")) { add("unit: \"" + mailAddress + "\""); add("name: \"" + authorName + "\""); add("typeOf: #\"person\""); add("emailAddress: \"" + mailAddress + "\""); add("")}}; bundle { Ç add an organization tag if (orgName!="") { add("unit: \"" + orgName + "\""); add("name: \"" + orgName + "\""); add("typeOf:#\"Organization\""); add("")}}}; on ProcessFolder(theFolder,parentgenls="",topmostfolder=false) { rollBeachBall(); local ( genls="" ); if ( topmostfolder==false ) { genls = string(theFolder) - string(baseFolder); Çgenls = string.replaceAll(genls,":","/") - "/" genls = string.replaceAll(genls,":","/"); Çgenls = (siteURL - "http://") + (genls) + ".mco" genls = (siteURL - "http://") + (genls); add( "unit: \"" + genls + "\""); add( "name: \"" + ( file.fileFromPath(theFolder) - ":") + "\""); add( "typeOf: #\"SubjectCategory\"" ); addAuthor(); addOrganization(); if ( parentgenls!="" ) { Çadd( "genls: \"" + parentgenls + "\"") add( "parent: #\"" + parentgenls + "\"")}; add("")}; local ( f ); fileloop( f in theFolder ) { if ( fileFilter^(f) ) { if ( file.isFolder(f) ) { ProcessFolder(f,genls)} else { ProcessFile(f,genls)}}}}; on ProcessFile(theFile,thegenls) { Çif ( ! (theFile endsWith ".html") ) Çreturn Çmoved into the default filters rollBeachBall(); local ( s ); s = theFile - baseFolder; s = string.replaceAll(s,":","/"); add( "unit: \"" + siteURL + s + "\""); local ( theTitle = html.getOneTagValue( string(file.readWholeFile(f)), "title") ); if ( theTitle == "" ) { theTitle = file.fileFromPath(f)}; add( "name: \"" + theTitle + "\""); addAuthor(); addOrganization(); addFileInfo(f); if ( thegenls!="" ) { Çadd( "genls: \"" + thegenls + "\"") add( "parent: #\"" + thegenls + "\"")}; add("")}; ProcessFolder(baseFolder,"",true); msg ("Writing file..."); file.writeWholeFile(outputFile, mcfText, 'TEXT', 'R*ch', clock.now()); msg (""); return true}; if ( filter == nil ) { filter = @nilFilter}; return (generateFileStructureMCF (folder, f, url, sitename, author, org, email, filter))}; Çbundle Çtest code Çlocal (folder = "internal:apps:webstar:frontier:") Çlocal (url = "http://www.scripting.com/frontier/") Çlocal (f = folder + "siteMap.mcf") ÇbuildMCF (folder, url, f, "Frontier") Çbundle ÇÊmore test code Çhtml.utilities.buildMCF ("Touch of Grey:WebSite:", "http://tango.mth.umassd.edu/correia/", "Touch of Grey:WebSite:root.mcf", "JimC") \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 17:46:05
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/webserver/util In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22442 Modified Files: getServerString Log Message: changed UserLand Frontier to Frontier Index: getServerString =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/webserver/util/getServerString,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** getServerString 26 Mar 2005 19:44:14 -0000 1.1.1.1 --- getServerString 8 Sep 2005 17:45:58 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.webserver.util.getServerString ! on getServerString () { ÇThursday, November 11, 1999 at 3:06:13 AM by AR ÇImplemented as a kernel script in Frontier 6.1. ÇOld code Çon getServerString () //old code ÇCommon script to return the server name for an HTTP header. ÇThu, 14 May 1998 21:36:26 GMT by RAB ÇChanges ÇThu, Feb 25, 1999 at 10:46:27 PM by PBS ÇCall Frontier.version to get Frontier's version. ÇCollapse the script into one line. Çreturn ("UserLand Frontier/" + Frontier.version () + "-" + sys.os ()) // set the server kernel (webserver.getServerString)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.webserver.util.getServerString ! on getServerString () { ÇChanges Ç9/8/05; 10:41:31 AM by TAC Çchanged UserLand Frontier to Frontier in old code Ç11/11/99; 3:06:13 AM by AR ÇImplemented as a kernel script in Frontier 6.1. ÇOld code Çon getServerString () //old code ÇCommon script to return the server name for an HTTP header. ÇThu, 14 May 1998 21:36:26 GMT by RAB ÇChanges ÇThu, Feb 25, 1999 at 10:46:27 PM by PBS ÇCall Frontier.version to get Frontier's version. ÇCollapse the script into one line. Çreturn ("Frontier/" + Frontier.version () + "-" + sys.os ()) // set the server kernel (webserver.getServerString)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 17:46:02
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/workspace/userlandSamples/soapValidatorScripts/soapValidatorHandlers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22420 Modified Files: whichToolkit Log Message: changed UserLand Frontier to Frontier Index: whichToolkit =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/workspace/userlandSamples/soapValidatorScripts/soapValidatorHandlers/whichToolkit,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** whichToolkit 26 Mar 2005 19:44:58 -0000 1.1.1.1 --- whichToolkit 8 Sep 2005 17:45:54 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:workspace.userlandSamples.soapValidatorScripts.soapValidatorHandlers.whichToolkit ! local (struct); new (tabletype, @struct); if system.environment.ispike { struct.toolkitName = "Radio UserLand"} else { struct.toolkitName = "UserLand Frontier"}; struct.toolkitVersion = frontier.version (); struct.toolkitDocsUrl = "http://radio.userland.com/soap"; struct.toolkitOperatingSystem = system.environment.osFullNameForDisplay + " " + system.environment.osVersionString; return (struct) \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:workspace.userlandSamples.soapValidatorScripts.soapValidatorHandlers.whichToolkit ! ÇChanges Ç9/8/05; 10:43:26 AM by TAC Çchanged UserLand Frontier to Frontier local (struct); new (tabletype, @struct); if system.environment.ispike { struct.toolkitName = "Radio UserLand"} else { struct.toolkitName = "Frontier"}; struct.toolkitVersion = frontier.version (); struct.toolkitDocsUrl = "http://radio.userland.com/soap"; struct.toolkitOperatingSystem = system.environment.osFullNameForDisplay + " " + system.environment.osVersionString; return (struct) \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 17:35:31
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/xmlStorageSystem In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20059 Modified Files: register Log Message: disabled serial number check disabled useragent bundle, use Frontier.getProgramName changed UserLand Frontier to Frontier Index: register =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/xmlStorageSystem/register,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** register 26 Mar 2005 19:42:33 -0000 1.1.1.1 --- register 8 Sep 2005 17:35:23 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.apps.xmlStorageSystem.register ! on register (email, password, name, adrgreeting = nil, adrdata = @xmlStorageSystem.data, adrresponse = nil) { ÇChanges Ç4/2/01; 7:58:22 AM by DW ÇCreated. Send a registerUser message to the cloud, returning true if the user is registered, false if there was a failure. Çemail is an email address, it could be fictitious, it identifies the user. ÇWe send an MD5 hash of the password to the server. ÇThe user's name is displayed in various lists, it's nice to know people's real name. You may lie if you want. Çadrgreeting points to a string that will receive the English-language message from the server, but it's optional. Ç7/23/01; 9:45:30 PM by JES ÇThe data table now supports both xmlRpcPath, and the more general rpcPath, used for both XML-RPC and for SOAP. This is for support for SOAP-based xmlStorageSystem implementations which have a request URI which is different from the value of the SOAPAction header. Ç10/6/01; 1:55:51 AM by JES ÇSend the serial number as a parameter in the RPC request. ÇNew optional parameter, adrresponse. If not nil, the entire response struct will be copied to adrresponse. This is required in order to get usernums back from an xmlStorageSystem server. Ç10/6/01; 2:10:07 AM by JES ÇCommented out debugging code. local (useragent); bundle { //set useragent if system.environment.isPike { useragent = "Radio UserLand"} else { useragent = "UserLand Frontier"}; useragent = useragent + " v" + Frontier.version () + ", " + system.environment.osFullNameForDisplay + " " + system.environment.osVersionString}; local (params = {"email":email, "name":name, "password":string.hashmd5 (password), "clientPort":user.inetd.config.http.port, "userAgent":useragent}); if defined (adrdata^.serialNumber) { params = params + {"serialNumber":user.prefs.serialNumber}}; local (rpcPath); if defined (adrdata^.xmlRpcPath) { rpcPath = adrdata^.xmlRpcPath}; if defined (adrdata^.rpcPath) { rpcPath = adrdata^.rpcPath}; with adrdata^ { local (result); result = xml.rpc (server, port, "xmlStorageSystem.registerUser", @params, rpcPath:rpcPath, fldebug:fldebug, protocol:protocol, soapAction:soapAction); if adrgreeting != nil { adrgreeting^ = result.message}; if adrresponse != nil { adrresponse^ = result}; return (not result.flerror)}}; Çbundle //test code Çlocal (greeting) Çlocal (data); new (tableType, @data) Çbundle //init data table Çdata.fldebug = false Çdata.port = 80 Çdata.protocol = "xml-rpc" Çdata.server = "xmlstoragesystem.com" Çdata.xmlRpcPath = "/RPC2" Çdata.soapAction = "/xmlStorageSystem" Çdata.serialNumber = user.prefs.serialNumber ÇxmlStorageSystem.init () Çwith user.xmlStorageSystem Çregister (email, password, name, @greeting, @data) Çdialog.alert (greeting) \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.apps.xmlStorageSystem.register ! on register (email, password, name, adrgreeting = nil, adrdata = @xmlStorageSystem.data, adrresponse = nil) { ÇChanges Ç9/8/05; 10:04:26 AM by TAC Çdisabled serial number check Çdisabled useragent bundle, use Frontier.getProgramName Çchanged UserLand Frontier to Frontier Ç4/2/01; 7:58:22 AM by DW ÇCreated. Send a registerUser message to the cloud, returning true if the user is registered, false if there was a failure. Çemail is an email address, it could be fictitious, it identifies the user. ÇWe send an MD5 hash of the password to the server. ÇThe user's name is displayed in various lists, it's nice to know people's real name. You may lie if you want. Çadrgreeting points to a string that will receive the English-language message from the server, but it's optional. Ç7/23/01; 9:45:30 PM by JES ÇThe data table now supports both xmlRpcPath, and the more general rpcPath, used for both XML-RPC and for SOAP. This is for support for SOAP-based xmlStorageSystem implementations which have a request URI which is different from the value of the SOAPAction header. Ç10/6/01; 1:55:51 AM by JES ÇSend the serial number as a parameter in the RPC request. ÇNew optional parameter, adrresponse. If not nil, the entire response struct will be copied to adrresponse. This is required in order to get usernums back from an xmlStorageSystem server. Ç10/6/01; 2:10:07 AM by JES ÇCommented out debugging code. local (userAgent = Frontier.getProgramName () + ", " + system.environment.osFullNameForDisplay + " " + system.environment.osVersionString); Çbundle // 9/8/05; 10:04:13 AM by TAC - old code, set useragent Çif system.environment.isPike Çuseragent = "Radio UserLand" Çelse Çuseragent = "Frontier" Çuseragent = useragent + " v" + Frontier.version () + ", " + system.environment.osFullNameForDisplay + " " + system.environment.osVersionString local (params = {"email":email, "name":name, "password":string.hashmd5 (password), "clientPort":user.inetd.config.http.port, "userAgent":userAgent}); Çif defined (adrdata^.serialNumber) Çparams = params + {"serialNumber":user.prefs.serialNumber} local (rpcPath); if defined (adrdata^.xmlRpcPath) { rpcPath = adrdata^.xmlRpcPath}; if defined (adrdata^.rpcPath) { rpcPath = adrdata^.rpcPath}; with adrdata^ { local (result); result = xml.rpc (server, port, "xmlStorageSystem.registerUser", @params, rpcPath:rpcPath, fldebug:fldebug, protocol:protocol, soapAction:soapAction); if adrgreeting != nil { adrgreeting^ = result.message}; if adrresponse != nil { adrresponse^ = result}; return (not result.flerror)}}; Çbundle // testing Çlocal (greeting) Çlocal (data); new (tableType, @data) Çbundle //init data table Çdata.fldebug = false Çdata.port = 80 Çdata.protocol = "xml-rpc" Çdata.server = "xmlstoragesystem.com" Çdata.xmlRpcPath = "/RPC2" Çdata.soapAction = "/xmlStorageSystem" Çdata.serialNumber = user.prefs.serialNumber ÇxmlStorageSystem.init () Çwith user.xmlStorageSystem Çregister (email, password, name, @greeting, @data) Çdialog.alert (greeting) \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 06:01:10
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/discuss In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26192 Modified Files: downloadMessageEnclosure Log Message: changed userlandIcons to frontierIcons changed /mainResponderResources/ to /resources/ Index: downloadMessageEnclosure =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/discuss/downloadMessageEnclosure,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** downloadMessageEnclosure 26 Mar 2005 21:45:33 -0000 1.1.1.1 --- downloadMessageEnclosure 8 Sep 2005 06:01:01 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.discuss.downloadMessageEnclosure ! on downloadMessageEnclosure (msgnum) { ÇChanges: Ç03/15/00; 5:35:47 PM by PBS ÇIf the fatPages icon doesn't exist in the website, use the version that's stored in mainResponder.resources. ÇThis policy prevents breakage -- in case someone has put a custom fatPages icon in their website. ÇAnother change: delete application/x-frontier- from the type string only if the type string begins with application/x-frontier-. Ç04/10/00; 3:29:18 PM by JES ÇLocalized string constants using mainResponder.getString Ç05/01/00; 2:25:04 PM by JES Çcall getString with a replacement table address, not a list local (htmltext = "", indentlevel = 0); on add (s) { htmltext = htmltext + string.filledString ("\t", indentlevel) + s + "\r"}; on td (s) { add ("<td valign=\"top\"><font size=\"-0\">" + s + " </font></td>")}; on tr (name, value) { // JES note: this isn't getting called anywhere add ("<tr>"); indentlevel++; td (name + ":"); td (value); add ("</tr>"); indentlevel--}; local (adrmsg = mainresponder.discuss.getmessagetable (msgnum)); local (typestring = adrMsg^.enclosureType); bundle { //set typestring ÇPBS 03/15/00: delete application/x-frontier- from the type string only if it's actually present. local (prefix = "application/x-frontier-"); temp.ts = typestring; if typeString beginsWith prefix { typestring = string.delete (adrmsg^.enclosuretype, 1, sizeof (prefix))}; typestring = string.typeToString (typestring) - "Type"; bundle { // Try to translate the string for localization. 4/10/00; 4:09:20 PM by JES local (languageTableAddress = mainResponder.localization.getLanguageTableAddress ()); if defined (languageTableAddress^.strings.types.["a" + typeString]) { typestring = languageTableAddress^.strings.types.["a" + typeString]}}}; local (bits); bundle { //fart around with the bits pack (adrmsg^.enclosurebits, @bits); bits = base64.encode (bits, infinity)}; bundle { //if it has an enclosure, add a fat page comment if adrmsg^.enclosureaddress != "" { bundle { //add a user-visible comment add ("<br><br><br><br>"); add ("<center>"); indentlevel++; add ("<p><table width=\"65%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"); indentlevel++; add ("<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\">"); indentlevel++; add ("<tr bgcolor=\"beige\">"); indentlevel++; add ("<td valign=\"top\">"); indentlevel++; try { //there may be a fatPages icon in the website add (html.data.standardmacros.imageref ("fatpage"))} else { //PBS 03/15/00: use the fatPages icon from mainResponder.resources local (hwList = html.getGifHeightWidth (@mainResponder.resources.userlandIcons.fatPage)); add ("<img src=\"/resources/userlandIcons/fatPage\" height=\"" + hwList [1] + "\" width=\"" + hwList [2] + "\">")}; add ("</td>"); indentlevel--; add ("<td bgcolor=\"beige\" valign=\"middle\"><font size=\"+0\">"); indentlevel++; local (replacementList); new (tableType, @replacementList); // 05/01/00 JES: use replacement table, not a list replacementList.athing = typeString; replacementList.adr = adrmsg^.enclosureaddress; add (mainResponder.getString ("discuss.thisIsAFatPageContainingAThing", @replacementList)); local (replacementTable); new (tableType, @replacementTable); // 05/01/00 JES: use replacement table instead of a list replacementTable.size = sizeOf (bits); add (mainResponder.getString ("discuss.howBigIsItInBytes", @replacementTable)); add ("<p>" + mainResponder.getString ("discuss.howToLoadAFatPageObject")); add ("<p>" + mainResponder.getString ("discuss.forMoreInfoAboutFatPages")); add ("</font></td>"); indentlevel--; add ("</tr>"); indentlevel--; add ("</table>"); indentlevel--; add ("</td></tr></table>"); indentlevel--; add ("</center>"); indentlevel--}; bundle { //add the fatpage comment add ("<!--"); add ("#fatPage"); on addHint (name, value, flencode=false) { local (s = string (value)); if flencode { s = base64.encode (string (value), 0)}; add ("#" + name + " " + s)}; addHint ("version", 1); addHint ("docs", "http://www.scripting.com/fatPages/about.html"); addHint ("adrPageData", adrmsg^.enclosureaddress); addHint ("objectType", adrmsg^.enclosuretype); addHint ("pageData", string (bits), false); add ("-->")}}}; return (htmltext)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.discuss.downloadMessageEnclosure ! on downloadMessageEnclosure (msgnum) { ÇChanges Ç9/7/05; 10:53:18 PM by TAC Çchanged userlandIcons to frontierIcons Çchanged /mainResponderResources/ to /resources/ Ç03/15/00; 5:35:47 PM by PBS ÇIf the fatPages icon doesn't exist in the website, use the version that's stored in mainResponder.resources. ÇThis policy prevents breakage -- in case someone has put a custom fatPages icon in their website. ÇAnother change: delete application/x-frontier- from the type string only if the type string begins with application/x-frontier-. Ç04/10/00; 3:29:18 PM by JES ÇLocalized string constants using mainResponder.getString Ç05/01/00; 2:25:04 PM by JES Çcall getString with a replacement table address, not a list local (htmltext = "", indentlevel = 0); on add (s) { htmltext = htmltext + string.filledString ("\t", indentlevel) + s + "\r"}; on td (s) { add ("<td valign=\"top\"><font size=\"-0\">" + s + " </font></td>")}; on tr (name, value) { // JES note: this isn't getting called anywhere add ("<tr>"); indentlevel++; td (name + ":"); td (value); add ("</tr>"); indentlevel--}; local (adrmsg = mainresponder.discuss.getmessagetable (msgnum)); local (typestring = adrMsg^.enclosureType); bundle { //set typestring ÇPBS 03/15/00: delete application/x-frontier- from the type string only if it's actually present. local (prefix = "application/x-frontier-"); temp.ts = typestring; if typeString beginsWith prefix { typestring = string.delete (adrmsg^.enclosuretype, 1, sizeof (prefix))}; typestring = string.typeToString (typestring) - "Type"; bundle { // Try to translate the string for localization. 4/10/00; 4:09:20 PM by JES local (languageTableAddress = mainResponder.localization.getLanguageTableAddress ()); if defined (languageTableAddress^.strings.types.["a" + typeString]) { typestring = languageTableAddress^.strings.types.["a" + typeString]}}}; local (bits); bundle { //fart around with the bits pack (adrmsg^.enclosurebits, @bits); bits = base64.encode (bits, infinity)}; bundle { //if it has an enclosure, add a fat page comment if adrmsg^.enclosureaddress != "" { bundle { //add a user-visible comment add ("<br><br><br><br>"); add ("<center>"); indentlevel++; add ("<p><table width=\"65%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"); indentlevel++; add ("<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\">"); indentlevel++; add ("<tr bgcolor=\"beige\">"); indentlevel++; add ("<td valign=\"top\">"); indentlevel++; try { //there may be a fatPages icon in the website add (html.data.standardmacros.imageref ("fatpage"))} else { //PBS 03/15/00: use the fatPages icon from mainResponder.resources local (hwList = html.getGifHeightWidth (@mainResponder.resources.frontierIcons.fatPage)); add ("<img src=\"/resources/frontierIcons/fatPage\" height=\"" + hwList [1] + "\" width=\"" + hwList [2] + "\">")}; add ("</td>"); indentlevel--; add ("<td bgcolor=\"beige\" valign=\"middle\"><font size=\"+0\">"); indentlevel++; local (replacementList); new (tableType, @replacementList); // 05/01/00 JES: use replacement table, not a list replacementList.athing = typeString; replacementList.adr = adrmsg^.enclosureaddress; add (mainResponder.getString ("discuss.thisIsAFatPageContainingAThing", @replacementList)); local (replacementTable); new (tableType, @replacementTable); // 05/01/00 JES: use replacement table instead of a list replacementTable.size = sizeOf (bits); add (mainResponder.getString ("discuss.howBigIsItInBytes", @replacementTable)); add ("<p>" + mainResponder.getString ("discuss.howToLoadAFatPageObject")); add ("<p>" + mainResponder.getString ("discuss.forMoreInfoAboutFatPages")); add ("</font></td>"); indentlevel--; add ("</tr>"); indentlevel--; add ("</table>"); indentlevel--; add ("</td></tr></table>"); indentlevel--; add ("</center>"); indentlevel--}; bundle { //add the fatpage comment add ("<!--"); add ("#fatPage"); on addHint (name, value, flencode=false) { local (s = string (value)); if flencode { s = base64.encode (string (value), 0)}; add ("#" + name + " " + s)}; addHint ("version", 1); addHint ("docs", "http://www.scripting.com/fatPages/about.html"); addHint ("adrPageData", adrmsg^.enclosureaddress); addHint ("objectType", adrmsg^.enclosuretype); addHint ("pageData", string (bits), false); add ("-->")}}}; return (htmltext)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 06:01:04
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/adminSite/prefs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26169 Modified Files: subscriptions Log Message: changed userlandIcons to frontierIcons changed /mainResponderResources/ to /resources/ Index: subscriptions =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/adminSite/prefs/subscriptions,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** subscriptions 26 Mar 2005 21:45:16 -0000 1.1.1.1 --- subscriptions 8 Sep 2005 06:00:56 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.adminSite.prefs.subscriptions ! on subscriptions () { ÇChanges Ç3/13/03; 3:11:00 AM by JES ÇWhen unsubscribing from a feed, make sure that all installed Manila sites are also unsubscribed. Ç3/10/03; 8:44:32 PM by JES ÇSet the border attribute for the XML icon IMG tag to "0". Ç3/4/03; 3:34:29 PM by JES ÇCreated. Render the list of subscriptions global to this server, along with a field for adding a new subscription. local (htext); on add (s) { htext = htext + (s + "\r");}; on getDateString (when, flIncludeSeconds=true) { ÇChanges Ç1/15/01; 11:00:50 AM by DW ÇReturn the time string if it's today, return the date string if it's earlier. local (day, month, year, hour, minute, second, nowday, nowmonth, nowyear); date.get (when, @day, @month, @year, @hour, @minute, @second); date.get (clock.now (), @nowday, @nowmonth, @nowyear, @hour, @minute, @second); if (day == nowday) and (month == nowmonth) and (year == nowyear) { return (date.timestring (when, flIncludeSeconds))}; return (date.shortstring (when))}; local (xmlimg = "<img src=\"/mainResponderResources/userlandIcons/xml\" height=\"14\" width=\"36\" border=\"0\">"); local (pta = html.getPageTableAddress ()); local (adrdata = xml.aggregator.init ()); pta^.errorString = ""; pta^.adrNewService = nil; pta^.flAddSubmitButton = false; if pta^.method == "POST" { //add or remove subscription(s) local (adrargs = @pta^.postArgs); if defined (adrargs^.subscribe) { //user click the Subscribe button local (rssurl = adrargs^.url); if not (rssurl beginswith "http://") { rssurl = "http://" + rssurl}; if rssurl != "http://" { //add this subscription xml.aggregator.subscribeService (rssurl, @pta^.errorString, @pta^.adrNewService)}}; if defined (adrargs^.unsubscribe) { //user clicked the Unsubscribe button local (i, adr, adrservice); for i = sizeof (adrargs^) downto 1 { adr = @adrargs^[i]; local (urlservice = string.urlDecode (nameof (adr^)) ); adrservice = @adrdata^.services.[urlservice]; if defined (adrservice^) { xml.aggregator.unsubscribeService (nameof (adrservice^))}; local (nomad); for nomad in @config.manila.sites { local (adrsite = nomad^); if defined (adrsite^) { local (adrnewssite = manilaSuite.getNewsSiteAddress (adrsite)); if defined (adrnewssite^) { if defined (adrnewssite^.aggregator) { if defined (adrnewssite^.aggregator.services.[urlservice]) { delete (@adrnewssite^.aggregator.services.[urlservice])}}}}}}}}; bundle { //field to subscribe to a new feed, Subscribe button local (initialurl = "http://"); if defined (pta^.searchArgs) { //try to get the initial URL from a url argument in the request if pta^.searchArgs != "" { local (t); new (tableType, @t); webserver.parseArgs (pta^.searchArgs, @t); if defined (t.url) { initialurl = t.url}}}; add ("<td align=\"left\">" + "URL" + ":</td>"); add ("<td valign=\"top\"><input type=\"text\" name=\"url\" size=\"55\" maxlength=\"255\" value=\"" + initialurl + "\"> <input type=\"submit\" name=\"subscribe\" value=\"Add\"></td>"); if pta^.errorString != "" { //show the error to the user add ("</tr><tr><td colspan=\"2\"><br><i>Can't subscribe to the channel. The most likely cure is to check the URL in a web browser and see if you can get it to read the feed. The following message probably won't help you figure out what went wrong, but we include it here because it might: \"" + errorstring + "\"</i></td>")}; if pta^.adrNewService != nil { //show confirmation to the user local (channeltitle = xml.entityDecode (pta^.adrNewService^.compilation.channeltitle, true, true) ); add ("</tr><tr><td colspan=\"2\"><br><i>Congratulations, you have successfully added the \"" + channeltitle + "\" feed to the news feeds available on this server. It now appears in the list of available feeds below. For subscribed sites, new items will appear on the Aggregator page every hour.</i></td>")}; add ("</td>")}; if sizeOf (adrdata^.services) > 0 { //list of feeds with check boxes and Delete button bundle { //add explanatory text add ("</tr><tr><td colspan=\"2\">"); add ("<br><br>The following table lists the feeds available to sites on this server. Included is the name of the source, linked to its Web page, the time or day it last changed, the number of times it has changed since it was added, and a link to the XML file for the channel. To delete a feed, check it and then click on the Unsubscribe button at the bottom of the page.<br><br>"); add ("</td>")}; add ("</tr><tr><td colspan=\"2\"><blockquote>"); local (sortedtable, adr, adrsort); bundle { //fill sorted table new (tabletype, @sortedtable); for adr in @adrdata^.services { if defined (adr^.compilation) { if sizeof (adr^.compilation) > 0 { try { //missing channeltitle doesn't stop us -- 3/20/02 DW local (channeltitle = adr^.compilation.channeltitle); if sizeof (channeltitle) > 0 { adrsort = @sortedtable.[adr^.compilation.channeltitle]; if defined (adrsort^) { //collision local (ct = 1); loop { adrsort = @sortedtable.[adr^.compilation.channeltitle + "." + ct++]; if not defined (adrsort^) { break}}}; adrsort^ = nameof (adr^)}}}}}}; bundle { //start the HTML table add ("<table cellspacing=\"0\" cellpadding=\"0\"><tr bgcolor=\"DCDCDC\"><td>"); add ("<table cellspacing=\"1\" cellpadding=\"5\" border=\"0\">")}; for adrsort in @sortedtable { //add the table rows for each channel adr = @adrdata^.services.[adrsort^]; if defined (adr^.compilation) { if sizeof (adr^.compilation) > 0 { local (title = adr^.compilation.channeltitle); local (channeldescription = "", channellink = ""); if defined (adr^.compilation.channeldescription) { channeldescription = xml.entityDecode (adr^.compilation.channeldescription, true, true); channeldescription = string.replaceAll (channeldescription, "\"", """); channeldescription = string.replaceAll (channeldescription, "\'", "'"); channeldescription = string.replaceAll (channeldescription, "<", "<"); channeldescription = string.replaceAll (channeldescription, ">", ">")}; if defined (adr^.compilation.channellink) { channellink = adr^.compilation.channellink}; add ("<tr bgcolor=\"white\">"); bundle { //add checkbox local (name = nameof (adr^)); local (checkboxval = "xxx "); if false { checkboxval = checkboxval + "checked"}; add ("<td valign=\"top\"><input type=\"checkbox\" name=\"" + string.urlEncode (nameOf (adr^)) + "\" value=" + checkboxval + "></td>")}; if sizeof (title) > 50 { title = string.mid (title, 1, 50) + "..."}; add ("<td valign=\"top\" title=\"" + channeldescription + "\" nowrap><a href=\"" + channellink + "\">" + xml.entityDecode (title, true, true) + "</a></td>"); add ("<td align=\"right\" valign=\"top\"><nobr><font size=\"-1\">" + getDateString (adr^.timeLastChange, false) + "</font></nobr></td>"); add ("<td align=\"right\" valign=\"top\"><font size=\"-1\">" + adr^.ctChanges + "</font></td>"); add ("<td valign=\"top\"><a href=\"" + nameof (adr^) + "\" title=\"Click to view the current XML source text for the channel.\">" + xmlimg + "</a></td>"); add ("</tr>")}}}; bundle { //end the HTML table add ("</table></td></tr></table>")}; add ("</blockquote></td>"); bundle { //Unsubscribe button add ("</tr><tr><td colspan=\"2\">"); add ("<br><input type=\"submit\" name=\"unsubscribe\" value=\"Unsubscribe\">"); add ("</td>")}}; return (htext)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.adminSite.prefs.subscriptions ! on subscriptions () { ÇChanges Ç9/7/05; 10:53:18 PM by TAC Çchanged userlandIcons to frontierIcons Çchanged /mainResponderResources/ to /resources/ Ç3/13/03; 3:11:00 AM by JES ÇWhen unsubscribing from a feed, make sure that all installed Manila sites are also unsubscribed. Ç3/10/03; 8:44:32 PM by JES ÇSet the border attribute for the XML icon IMG tag to "0". Ç3/4/03; 3:34:29 PM by JES ÇCreated. Render the list of subscriptions global to this server, along with a field for adding a new subscription. local (htext); on add (s) { htext = htext + (s + "\r");}; on getDateString (when, flIncludeSeconds=true) { ÇChanges Ç1/15/01; 11:00:50 AM by DW ÇReturn the time string if it's today, return the date string if it's earlier. local (day, month, year, hour, minute, second, nowday, nowmonth, nowyear); date.get (when, @day, @month, @year, @hour, @minute, @second); date.get (clock.now (), @nowday, @nowmonth, @nowyear, @hour, @minute, @second); if (day == nowday) and (month == nowmonth) and (year == nowyear) { return (date.timestring (when, flIncludeSeconds))}; return (date.shortstring (when))}; local (xmlimg = "<img src=\"/resources/frontierIcons/xml\" height=\"14\" width=\"36\" border=\"0\">"); local (pta = html.getPageTableAddress ()); local (adrdata = xml.aggregator.init ()); pta^.errorString = ""; pta^.adrNewService = nil; pta^.flAddSubmitButton = false; if pta^.method == "POST" { //add or remove subscription(s) local (adrargs = @pta^.postArgs); if defined (adrargs^.subscribe) { //user click the Subscribe button local (rssurl = adrargs^.url); if not (rssurl beginswith "http://") { rssurl = "http://" + rssurl}; if rssurl != "http://" { //add this subscription xml.aggregator.subscribeService (rssurl, @pta^.errorString, @pta^.adrNewService)}}; if defined (adrargs^.unsubscribe) { //user clicked the Unsubscribe button local (i, adr, adrservice); for i = sizeof (adrargs^) downto 1 { adr = @adrargs^[i]; local (urlservice = string.urlDecode (nameof (adr^)) ); adrservice = @adrdata^.services.[urlservice]; if defined (adrservice^) { xml.aggregator.unsubscribeService (nameof (adrservice^))}; local (nomad); for nomad in @config.manila.sites { local (adrsite = nomad^); if defined (adrsite^) { local (adrnewssite = manilaSuite.getNewsSiteAddress (adrsite)); if defined (adrnewssite^) { if defined (adrnewssite^.aggregator) { if defined (adrnewssite^.aggregator.services.[urlservice]) { delete (@adrnewssite^.aggregator.services.[urlservice])}}}}}}}}; bundle { //field to subscribe to a new feed, Subscribe button local (initialurl = "http://"); if defined (pta^.searchArgs) { //try to get the initial URL from a url argument in the request if pta^.searchArgs != "" { local (t); new (tableType, @t); webserver.parseArgs (pta^.searchArgs, @t); if defined (t.url) { initialurl = t.url}}}; add ("<td align=\"left\">" + "URL" + ":</td>"); add ("<td valign=\"top\"><input type=\"text\" name=\"url\" size=\"55\" maxlength=\"255\" value=\"" + initialurl + "\"> <input type=\"submit\" name=\"subscribe\" value=\"Add\"></td>"); if pta^.errorString != "" { //show the error to the user add ("</tr><tr><td colspan=\"2\"><br><i>Can't subscribe to the channel. The most likely cure is to check the URL in a web browser and see if you can get it to read the feed. The following message probably won't help you figure out what went wrong, but we include it here because it might: \"" + errorstring + "\"</i></td>")}; if pta^.adrNewService != nil { //show confirmation to the user local (channeltitle = xml.entityDecode (pta^.adrNewService^.compilation.channeltitle, true, true) ); add ("</tr><tr><td colspan=\"2\"><br><i>Congratulations, you have successfully added the \"" + channeltitle + "\" feed to the news feeds available on this server. It now appears in the list of available feeds below. For subscribed sites, new items will appear on the Aggregator page every hour.</i></td>")}; add ("</td>")}; if sizeOf (adrdata^.services) > 0 { //list of feeds with check boxes and Delete button bundle { //add explanatory text add ("</tr><tr><td colspan=\"2\">"); add ("<br><br>The following table lists the feeds available to sites on this server. Included is the name of the source, linked to its Web page, the time or day it last changed, the number of times it has changed since it was added, and a link to the XML file for the channel. To delete a feed, check it and then click on the Unsubscribe button at the bottom of the page.<br><br>"); add ("</td>")}; add ("</tr><tr><td colspan=\"2\"><blockquote>"); local (sortedtable, adr, adrsort); bundle { //fill sorted table new (tabletype, @sortedtable); for adr in @adrdata^.services { if defined (adr^.compilation) { if sizeof (adr^.compilation) > 0 { try { //missing channeltitle doesn't stop us -- 3/20/02 DW local (channeltitle = adr^.compilation.channeltitle); if sizeof (channeltitle) > 0 { adrsort = @sortedtable.[adr^.compilation.channeltitle]; if defined (adrsort^) { //collision local (ct = 1); loop { adrsort = @sortedtable.[adr^.compilation.channeltitle + "." + ct++]; if not defined (adrsort^) { break}}}; adrsort^ = nameof (adr^)}}}}}}; bundle { //start the HTML table add ("<table cellspacing=\"0\" cellpadding=\"0\"><tr bgcolor=\"DCDCDC\"><td>"); add ("<table cellspacing=\"1\" cellpadding=\"5\" border=\"0\">")}; for adrsort in @sortedtable { //add the table rows for each channel adr = @adrdata^.services.[adrsort^]; if defined (adr^.compilation) { if sizeof (adr^.compilation) > 0 { local (title = adr^.compilation.channeltitle); local (channeldescription = "", channellink = ""); if defined (adr^.compilation.channeldescription) { channeldescription = xml.entityDecode (adr^.compilation.channeldescription, true, true); channeldescription = string.replaceAll (channeldescription, "\"", """); channeldescription = string.replaceAll (channeldescription, "\'", "'"); channeldescription = string.replaceAll (channeldescription, "<", "<"); channeldescription = string.replaceAll (channeldescription, ">", ">")}; if defined (adr^.compilation.channellink) { channellink = adr^.compilation.channellink}; add ("<tr bgcolor=\"white\">"); bundle { //add checkbox local (name = nameof (adr^)); local (checkboxval = "xxx "); if false { checkboxval = checkboxval + "checked"}; add ("<td valign=\"top\"><input type=\"checkbox\" name=\"" + string.urlEncode (nameOf (adr^)) + "\" value=" + checkboxval + "></td>")}; if sizeof (title) > 50 { title = string.mid (title, 1, 50) + "..."}; add ("<td valign=\"top\" title=\"" + channeldescription + "\" nowrap><a href=\"" + channellink + "\">" + xml.entityDecode (title, true, true) + "</a></td>"); add ("<td align=\"right\" valign=\"top\"><nobr><font size=\"-1\">" + getDateString (adr^.timeLastChange, false) + "</font></nobr></td>"); add ("<td align=\"right\" valign=\"top\"><font size=\"-1\">" + adr^.ctChanges + "</font></td>"); add ("<td valign=\"top\"><a href=\"" + nameof (adr^) + "\" title=\"Click to view the current XML source text for the channel.\">" + xmlimg + "</a></td>"); add ("</tr>")}}}; bundle { //end the HTML table add ("</table></td></tr></table>")}; add ("</blockquote></td>"); bundle { //Unsubscribe button add ("</tr><tr><td colspan=\"2\">"); add ("<br><input type=\"submit\" name=\"unsubscribe\" value=\"Unsubscribe\">"); add ("</td>")}}; return (htext)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 06:00:59
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26144 Modified Files: folderToHTML init menu Log Message: changed userlandIcons to frontierIcons changed /mainResponderResources/ to /resources/ Index: menu =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/menu,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** menu 16 Jun 2005 06:18:05 -0000 1.2 --- menu 8 Sep 2005 06:00:51 -0000 1.3 *************** *** 1,3 **** FrontierVcsFile:1:mbar:mainResponder.menu ! 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VHlwZSwgQGFkckdyb3VwXi5jYWxsYmFja3MpDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5jb29raWVEb21haW4pDQkJCWFkckdyb3VwXi5jb29raWVEb21haW4gPSAiIg0JCWlmIG5vdCBkZWZpbmVkIChhZHJHcm91cF4uY29va2llRXhwaXJlcykNCQkJYWRyR3JvdXBeLmNvb2tpZUV4cGlyZXMgPSAiTW9uLCAwMSBBcHIgMjAzMCAwNzowMDowMCBHTVQiDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5jb29raWVOYW1lKQ0JCQlhZHJHcm91cF4uY29va2llTmFtZSA9ICJBZG1pbiINCQlpZiBub3QgZGVmaW5lZCAoYWRyR3JvdXBeLm1haWxSZXR1cm5BZGRyZXNzKQ0JCQlhZHJHcm91cF4ubWFpbFJldHVybkFkZHJlc3MgPSB1c2VyLnByZWZzLm1haWxBZGRyZXNzDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5tYWlsU3ViamVjdCkNCQkJYWRyR3JvdXBeLm1haWxTdWJqZWN0ID0gIkFkbWluIg0JCWlmIG5vdCBkZWZpbmVkIChhZHJHcm91cF4ubWFpbFRlbXBsYXRlKQ0JCQl3cC5uZXdUZXh0T2JqZWN0ICgiIiwgQGFkckdyb3VwXi5tYWlsVGVtcGxhdGUpDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5vcGVuVG9QdWJsaWMpDQkJCWFkckdyb3VwXi5vcGVuVG9QdWJsaWMgPSBmYWxzZQ0JCWlmIG5vdCBkZWZpbmVkIChhZHJHcm91cF4udXNlcnMpDQkJCW5ldyAodGFibGVUeXBlLCBAYWRyR3JvdXBeLnVzZXJzKQ0JDQlsb2NhbCAoYWRyTWVtYmVyID0gbWFpblJlc3BvbmRlci5tZW1iZXJzLmdldE1lbWJlclRhYmxlICgiQWRtaW4iLCB1c2VyLnByZWZzLm1haWxBZGRyZXNzKSkNCWlmIG5vdCBkZWZpbmVkIChhZHJNZW1iZXJeKQ0JCW5ldyAodGFibGVUeXBlLCBhZHJNZW1iZXIpDQlhZHJNZW1iZXJeLnBhc3N3b3JkID0gYmluYXJ5IChwYXNzd29yZCkNCWlmIG5vdCBk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ZiBub3QgKGNvbmZpZy5tYWluUmVzcG9uZGVyLnByZWZzLmZsU2VhcmNoRW5naW5lKQ0JZGlhbG9nLmFsZXJ0ICgiQ2FuJ3QgZGVsZXRlIGEgcGFnZSBiZWNhdXNlIHRoaXMgbWFjaGluZSBpcyBub3QgYSBzZWFyY2ggZW5naW5lIHNlcnZlci4iKQ0JcmV0dXJuIChmYWxzZSkNbG9jYWwgKHVybCkNaWYgZGlhbG9nLmFzayAoIlVSTCBvZiBwYWdlIHRvIGRlbGV0ZT8iLCBAdXJsKQ0JbWFpblJlc3BvbmRlci5zZWFyY2guc2VydmVyLmRlSW5kZXhQYWdlICh1cmwsIGZsRGlhbG9nczp0cnVlKQ2AAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAAAAAgAAAE4AAAJAAAwCAAAPBUFyaWFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAFAAUAAAZUAACy11mVtEXAQQAAAEQAAAEmAT8B7gLATEFORP///////wAAAAAAAG1hYyAAAAAAAAAAAAAAAABpZiBub3QgKGNvbmZpZy5tYWluUmVzcG9uZGVyLnByZWZzLmZsU2VhcmNoRW5naW5lKQ0JZGlhbG9nLmFsZXJ0ICgiQ2FuJ3QgRWRpdCBQYWdlIEluZm8gYmVjYXVzZSB0aGlzIG1hY2hpbmUgaXMgbm90IGEgc2VhcmNoIGVuZ2luZSBzZXJ2ZXIuIikNCXJldHVybiAoZmFsc2UpDWxvY2FsICh1cmwpDWlmIGRpYWxvZy5hc2sgKCJVUkwgb2YgcGFnZT8iLCBAdXJsKQ0JbG9jYWwgKGluZGV4UGF0aCA9IG1haW5SZXNwb25kZXIuc2VhcmNoLnV0aWxpdGllcy5nZXRJbmRleFBhdGggKCkpDQltYWluUmVzcG9uZGVyLnNlYXJjaC51dGlsaXRpZXMuYXNzdXJlSW5kZXggKCkNCWxvY2FsIChhZHJQYWdlSW5mb1RhYmxlID0gQFtpbmRleFBhdGhdLnBhZ2VJbmZvKQ0JbG9jYWwgKGFkclBhZ2VJbmZvID0gQGFkclBhZ2VJbmZvVGFibGVeLlt1cmxdKQ0JaWYgbm90IGRlZmluZWQgKGFkclBhZ2VJbmZvXikNCQlkaWFsb2cuYWxlcnQgKCJDYW4ndCBlZGl0IGluZm8gZm9yICIgKyB1cmwgKyAiIGJlY2F1c2UgdGhlIHBhZ2UgaXNuJ3QgaW4gdGhlIGluZGV4LiIpDQkJcmV0dXJuIChmYWxzZSkNCWVkaXQgKGFkclBhZ2VJbmZvKQ2AAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAACAAAAAAAA= \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:mbar:mainResponder.menu ! AAEFAQAABLIAAQAAAAAAAAAAAAAAKwADA/0E/QAAAAAAAAZHZW5ldmEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgArAAMC8QH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAGaAAACMAAAAAAADwZHZW5ldmEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAsjO6178VDF0AADMQAAAA4gEjAaoCpExBTkT///////8AAAAAAABtYWMgAAAAAAAAAAAAAAAAU2VydmVyDQlTZXQgQWRtaW4gUGFzc3dvcmQuLi4NCU9wZW4gQWRtaW4gU2l0ZQ0JPW1haW5SZXNwb25kZXIubWVudUNvbW1hbmRzLmVuYWJsZURpc2FibGVNZW51SXRlbSAoKQ0JLQ0JT3Blbg0JCWNvbmZpZy5yb290DQkJZGlzY3Vzcy5yb290DQkJaW5kZXgucm9vdA0JCW1haW5SZXNwb25kZXIucm9vdA0JCW1lbWJlcnMucm9vdA0JCXRlbXAubWFpblJlc3BvbmRlcg0JCXVzZXIuZGF0YWJhc2VzDQkJdXNlci5iZXR0eS5ycGNIYW5kbGVycw0JCXVzZXIuYmV0dHkucXVldWVPdXRnb2luZw0JLQ0JTWFrZSBhbiBIVFRQIFJlcXVlc3QuLi4NCUNsb3NlL0hpZGUgV2luZG93cw0JV2FrZSBhbGwgVGhyZWFkcw0JTWFwIHRvIERvbWFpbi4uLg0JTG9va3VwIERvbWFpbi4uLg0JUmV2ZXJzZSBEb21haW4gTG9va3VwLi4uDQktDQlJbnN0YWxsIG1haW5SZXNwb25kZXIgU2l0ZS4uLg0JVW5pbnN0YWxsIG1haW5SZXNwb25kZXIgU2l0ZS4uLg0JLQ0JU2VhcmNoIEVuZ2luZQ0JCUluZGV4IFN0b3JlZCBQYWdlcw0JCURlbGV0ZSBQYWdlIEZyb20gSW5kZXguLi4NCQlFZGl0IFBhZ2UgSW5mby4uLg2AAAAAAAAAAAAAAAoAAAAAAAAFa06QAAAAAAAKAAAAAAAABWtOlAAAAAAACgAAAAAAAAVrKawAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAFay1kAAAAAAAKAAAAAAAABWsulAAAAAAACgAAAAAAAAVu/DQAAAAAAAoAAAAAAAAFbv74AAAAAAAKAAAAAAAABW7/NAAAAAAACgAAAAAAAAVrLuwAAAAAAAoAAAAAAAAFbq4sAAAAAAAKAAAAAAAABYL/aAAAAAAACgAAAAAAAAEP92QAAAAAAAAAAAAAAAoAAAAAAAABD/mkAAAAAAAKAAAAAAAABW54UAAAAAAACgAAAAAAAAVuPSgAAAAAAAoAAAAAAAAFbEYUAAAAAAAKAAAAAAAABWusDAAAAAAACgAAAAAAAAVrgPgAAAAAAAAAAAAAAAoAAAAAAAAFa4FMAAAAAAAKAAAAAAAABWuBXAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAVrgsgAAAAAAAoAAAAAAAAFa4LgAAAAAAAKAAAAAAAABWtqNAACAAAA9gAABnAAAgAAAA8FQXJpYWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAALQ58nW8oO14AAAALQAAAWYBWAIuAtlMQU5E////////AAAAAAAAbWFjIAAAAAAAAAAAAAAAAENoYW5nZXMNCTQvMTMvMDQ7IDE6MDU6NDggQU0gYnkgSkVTDQkJVXBkYXRlZCBwYXNzd29yZCBwcm9tcHQuDQk5LzMwLzAzOyAxOjAyOjUzIFBNIGJ5IEpFUw0JCVN0b3JlIHRoZSBhZG1pbiBwYXNzd29yZCBhcyBhIGJpbmFyeSB2YWx1ZS4NaWYgbm90IChtYWluUmVzcG9uZGVyLm1lbnVDb21tYW5kcy5tdXN0QmVTaXhQb2ludE9uZSAoKSkNCXJldHVybiAoZmFsc2UpDWxvY2FsIChwYXNzd29yZCkNaWYgZGlhbG9nLmdldFBhc3N3b3JkICgiU2V0IHBhc3N3b3JkIGZvciB0aGUgRnJvbnRpZXIgQWRtaW4gd2Vic2l0ZToiLCBAcGFzc3dvcmQpDQlidW5kbGUgLy9jcmVhdGUgdGhlIEFkbWluIG1lbWJlcnNoaXAgZ3JvdXAgaWYgbmVlZGVkDQkJbG9jYWwgKGFkclJvb3QgPSBAW3N5c3RlbS50ZW1wLm1haW5SZXNwb25kZXIubWVtYmVyc1Jvb3RGaWxlXSkNCQlsb2NhbCAoYWRyR3JvdXAgPSBAYWRyUm9vdF4uYWRtaW4pDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXikNCQkJbmV3ICh0YWJsZVR5cGUsIGFkckdyb3VwKQ0JCWlmIG5vdCBkZWZpbmVkIChhZHJHcm91cF4uY2FsbGJhY2tzKQ0JCQluZXcgKHRhYmxlVHlwZSwgQGFkckdyb3VwXi5jYWxsYmFja3MpDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5jb29raWVEb21haW4pDQkJCWFkckdyb3VwXi5jb29raWVEb21haW4gPSAiIg0JCWlmIG5vdCBkZWZpbmVkIChhZHJHcm91cF4uY29va2llRXhwaXJlcykNCQkJYWRyR3JvdXBeLmNvb2tpZUV4cGlyZXMgPSAiTW9uLCAwMSBBcHIgMjAzMCAwNzowMDowMCBHTVQiDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5jb29raWVOYW1lKQ0JCQlhZHJHcm91cF4uY29va2llTmFtZSA9ICJBZG1pbiINCQlpZiBub3QgZGVmaW5lZCAoYWRyR3JvdXBeLm1haWxSZXR1cm5BZGRyZXNzKQ0JCQlhZHJHcm91cF4ubWFpbFJldHVybkFkZHJlc3MgPSB1c2VyLnByZWZzLm1haWxBZGRyZXNzDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5tYWlsU3ViamVjdCkNCQkJYWRyR3JvdXBeLm1haWxTdWJqZWN0ID0gIkFkbWluIg0JCWlmIG5vdCBkZWZpbmVkIChhZHJHcm91cF4ubWFpbFRlbXBsYXRlKQ0JCQl3cC5uZXdUZXh0T2JqZWN0ICgiIiwgQGFkckdyb3VwXi5tYWlsVGVtcGxhdGUpDQkJaWYgbm90IGRlZmluZWQgKGFkckdyb3VwXi5vcGVuVG9QdWJsaWMpDQkJCWFkckdyb3VwXi5vcGVuVG9QdWJsaWMgPSBmYWxzZQ0JCWlmIG5vdCBkZWZpbmVkIChhZHJHcm91cF4udXNlcnMpDQkJCW5ldyAodGFibGVUeXBlLCBAYWRyR3JvdXBeLnVzZXJzKQ0JDQlsb2NhbCAoYWRyTWVtYmVyID0gbWFpblJlc3BvbmRlci5tZW1iZXJzLmdldE1lbWJlclRhYmxlICgiQWRtaW4iLCB1c2VyLnByZWZzLm1haWxBZGRyZXNzKSkNCWlm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AAAAaWYgbm90IChjb25maWcubWFpblJlc3BvbmRlci5wcmVmcy5mbFNlYXJjaEVuZ2luZSkNCWRpYWxvZy5hbGVydCAoIkNhbid0IEVkaXQgUGFnZSBJbmZvIGJlY2F1c2UgdGhpcyBtYWNoaW5lIGlzIG5vdCBhIHNlYXJjaCBlbmdpbmUgc2VydmVyLiIpDQlyZXR1cm4gKGZhbHNlKQ1sb2NhbCAodXJsKQ1pZiBkaWFsb2cuYXNrICgiVVJMIG9mIHBhZ2U/IiwgQHVybCkNCWxvY2FsIChpbmRleFBhdGggPSBtYWluUmVzcG9uZGVyLnNlYXJjaC51dGlsaXRpZXMuZ2V0SW5kZXhQYXRoICgpKQ0JbWFpblJlc3BvbmRlci5zZWFyY2gudXRpbGl0aWVzLmFzc3VyZUluZGV4ICgpDQlsb2NhbCAoYWRyUGFnZUluZm9UYWJsZSA9IEBbaW5kZXhQYXRoXS5wYWdlSW5mbykNCWxvY2FsIChhZHJQYWdlSW5mbyA9IEBhZHJQYWdlSW5mb1RhYmxlXi5bdXJsXSkNCWlmIG5vdCBkZWZpbmVkIChhZHJQYWdlSW5mb14pDQkJZGlhbG9nLmFsZXJ0ICgiQ2FuJ3QgZWRpdCBpbmZvIGZvciAiICsgdXJsICsgIiBiZWNhdXNlIHRoZSBwYWdlIGlzbid0IGluIHRoZSBpbmRleC4iKQ0JCXJldHVybiAoZmFsc2UpDQllZGl0IChhZHJQYWdlSW5mbykNgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAA \ No newline at end of file Index: init =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/init,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** init 13 Aug 2005 20:06:43 -0000 1.6 --- init 8 Sep 2005 06:00:51 -0000 1.7 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.init ! on init () { ÇInitialize mainResponder ÇChanges Ç8/6/05; 10:30:54 AM by TAC Çpartial path support for config.mainresponder.prefs.logFolder; config.mainresponder.prefs.discussArchiveFolder; config.mainresponder.prefs.backupFolder, more portable Ç6/19/05; 10:47:10 AM by TAC Çchanged localhost value to 127.0.0.1 Çadded config.mainResponder.callbacks.subscriptionsServer Çadded config.mainresponder.prefs.legalMacros Çadded config.mainresponder.prefs.baseUrl for adminSite setupFrontier Ç3/10/03; 5:53:51 PM by JES ÇMake sure that system.environment.isRadio is defined (and false). Ç3/4/03; 3:19:15 PM by JES ÇReturn @config.mainResponder. Ç9/3/02; 1:26:05 AM by JES ÇFixed a bonehead bug -- we were calling user.rootUpdates.init to initialize the user.rootUpdates.callbacks table. We should have called rootUpdates.init instead. Ç8/28/02; 11:18:11 PM by JES ÇRegister admin site callbacks, and config.mainResponder.prefs.flLogRootUpdates. Ç8/20/02; 12:38:52 AM by JES ÇIf the port 5335 listen configured at user.inetd.config.http2 is not installed, install it, based on the default http listen. Ç8/18/02; 5:21:19 PM by JES ÇInstall the admin site pathEvaluation callback at config.mainresponder.callbacks.pathEvaluation.frontierAdminSite. Ç8/1/02; 6:59:56 PM by JES ÇInitialize new search engine prefs at config.mainResponder.search.prefs. No longer create config.mainresponder.data.searchQueue. Ç06/22/00; 3:57:55 PM by PBS ÇSet hashed cookies to true by default. Ç06/17/00; 5:29:29 PM by PBS ÇNow false by default: flKeepParamTable, flLog, flDiscussStatsNightly Ç12/11/1999 at 5:29:32 AM by AR ÇCommented out the code for hooking into the scheduler. This is now handled in mainResponder.startup. Ç11/23/99; 4:10:06 PM by PBS ÇBackups and discuss archiving now false by default. Ç11/20/99; 4:29:29 PM by PBS ÇChanged some defaults. Discuss archiving is true by default. Nightly updates are on by default; the default nightly update list contains Frontier, mainResponder, manila, and prefs.root. Save databases every minute is true by default. Logging database opens to the temp table is now false by default. Ç11/16/99; 11:48:17 PM by PBS ÇSet up prefs for flUpdateNightly, updateNightlyList, and securityLevel. The first two are prefs for automated nightly updates, the third is the security level for the Control Panel. Ç10/25/99; 4:04:59 PM by PBS Çconfig.mainResponder.prefs.flControlPanel: if true, then the /controlPanel/ system website can be accessed. It's true by default. Ç8/15/99; 9:53:42 AM by DW Çconfig.mainresponder.prefs.flLogReopenHourly, if true, we close the log file every hour. It will be re-opened by the next log.add call. In our work with the 6.1 kernel, we've determined that for busy servers this helps Frontier's memory utilization significantly, and the cost of re-opening the file once an hour is relatively small. Ç8/15/99; 9:34:07 AM by DW ÇMake sure that scheduler tasks are installed. This is also handled in mainResponder.install, but I don't want to ask people to run this script to go to 6.1, so we check to see if they're defined and if they're not we link them in. Ç8/15/99; 8:26:14 AM by DW Çinitialize config.mainresponder.prefs.flArchiveDiscuss and discussArchiveFolder. ÇWed, Mar 10, 1999 at 2:34:19 PM by PBS ÇInitialize config.mainResponder.data. ÇInitialize config.mainResponder.data.searchQueue. ÇWed, Mar 10, 1999 at 2:19:48 PM by PBS ÇInitialize the config.mainresponder.search table. ÇSet config.mainResponder.prefs.flSearchEngine to false by default. ÇThis means that this machine is not, by default, a search engine server. ÇSet config.mainResponder.prefs.flLogMemAvail to false by default. ÇTue, Mar 9, 1999 at 4:12:13 PM by PBS ÇUse Frontier.getSubFolder rather than mainResponder.getFolder. ÇSat, Mar 20, 1999 at 4:48:37 PM by PBS ÇAdded flConvertToMacText pref. ÇOn Macs, convert incoming latin text to Mac. ÇOn Windows the pref has no effect. local (ps = string.popTrailing (system.verbs.builtins.Frontier.pathstring, file.getPathChar ())); // path string minus the trailing path character on suretable (adrtable) { if not defined (adrtable^) { new (tabletype, adrtable)}}; suretable (@config.mainresponder); bundle { //config.mainresponder.prefs suretable (@config.mainresponder.prefs); if not defined (config.mainresponder.prefs.baseUrl) { config.mainresponder.prefs.baseUrl = "http://127.0.0.1/"}; if not defined (config.mainresponder.prefs.backupFolder) { config.mainresponder.prefs.backupFolder = Frontier.getSubFolder ("/ops/backups/") - ps}; // 8/6/05; 10:30:54 AM by TAC if not defined (config.mainresponder.prefs.defaultDiscussRoot) { config.mainresponder.prefs.defaultDiscussRoot = "discuss"}; if not defined (config.mainresponder.prefs.defaultNewsRoot) { config.mainresponder.prefs.defaultNewsRoot = "default"}; if not defined (config.mainresponder.prefs.flAllowPublicSearchSubmissions) { //PBS 3/9/99 config.mainresponder.prefs.flAllowPublicSearchSubmissions = false}; if not defined (config.mainresponder.prefs.flBackupNightly) { config.mainresponder.prefs.flBackupNightly = false}; //PBS 11/23/99: now false by default if not defined (config.mainresponder.prefs.flDiscussStatsNightly) { Çconfig.mainresponder.prefs.flDiscussStatsNightly = true config.mainresponder.prefs.flDiscussStatsNightly = false}; //PBS 06/17/00: Now false by default for 6.2. if not defined (config.mainresponder.prefs.flArchiveDiscuss) { config.mainresponder.prefs.flArchiveDiscuss = false}; //PBS 11/23/99: now false by default if not defined (config.mainresponder.prefs.discussArchiveFolder) { config.mainresponder.prefs.discussArchiveFolder = Frontier.getSubFolder ("/ops/discussArchive/") - ps}; // 8/6/05; 10:30:54 AM by TAC if not defined (config.mainresponder.prefs.flControlPanel) { //PBS 10/25/99: pref for the /controlPanel/ site config.mainresponder.prefs.flControlPanel = true}; if not defined (config.mainresponder.prefs.flDebug) { config.mainresponder.prefs.flDebug = false}; if not defined (config.mainresponder.prefs.flKeepParamTable) { Çconfig.mainresponder.prefs.flKeepParamTable = true config.mainresponder.prefs.flKeepParamTable = false}; //PBS 06/17/00: Now false by default in 6.2. if not defined (config.mainresponder.prefs.flLog) { Çconfig.mainresponder.prefs.flLog = true config.mainresponder.prefs.flLog = false}; //PBS 06/17/00: HTTP logging now off by default in 6.2. if not defined (config.mainresponder.prefs.flLogMemavail) { config.mainresponder.prefs.flLogMemavail = false}; if not defined (config.mainresponder.prefs.flLogDatabaseOpens) { config.mainresponder.prefs.flLogDatabaseOpens = false}; //PBS 11/20/99: now false by default, no to logging database opens to the temp table if not defined (config.mainresponder.prefs.flLogReopenHourly) { config.mainresponder.prefs.flLogReopenHourly = false}; if not defined (config.mainresponder.prefs.flOpenAboutWindow) { config.mainresponder.prefs.flOpenAboutWindow = true}; if not defined (config.mainresponder.prefs.flBuildPagesInBackground) { config.mainresponder.prefs.flBuildPagesInBackground = false}; //PBS 11/20/99: now false by default, no to building pages in the background if not defined (config.mainresponder.prefs.flProfiling) { config.mainresponder.prefs.flProfiling = false}; if not defined (config.mainresponder.prefs.flSaveDatabasesEveryMinute) { config.mainresponder.prefs.flSaveDatabasesEveryMinute = true}; //PBS 11/20/99: save databases every minute is now true by default if not defined (config.mainResponder.prefs.flMembershipHashedCookies) { //PBS 06/22/00: true by default config.mainResponder.prefs.flMembershipHashedCookies = true}; if not defined (config.mainresponder.prefs.flSearchEngine) { config.mainresponder.prefs.flSearchEngine = false}; if not defined (config.mainresponder.prefs.flStats) { config.mainresponder.prefs.flStats = true}; if not defined (config.mainresponder.prefs.flSubscriptions) { config.mainresponder.prefs.flSubscriptions = false}; if not defined (config.mainresponder.prefs.hitsBetweenLogSaves) { config.mainresponder.prefs.hitsBetweenLogSaves = 100}; if not defined (config.mainresponder.prefs.flConvertToMacText) { //PBS 3/20/99 config.mainresponder.prefs.flConvertToMacText = true}; if not defined (config.mainresponder.prefs.logFolder) { config.mainresponder.prefs.logFolder = Frontier.getSubFolder ("/ops/logs/") - ps}; // 8/6/05; 10:30:54 AM by TAC if not defined (config.mainresponder.prefs.legalMacros) { new (tabletype, @config.mainresponder.prefs.legalMacros)}; if not defined (config.mainresponder.prefs.legalTags) { new (tabletype, @config.mainresponder.prefs.legalTags); config.mainresponder.prefs.legalTags.i = true; config.mainresponder.prefs.legalTags.pre = true}; if not defined (config.mainresponder.prefs.flAllowByIpOnly) { //AR 11/04/1999 config.mainresponder.prefs.flAllowByIpOnly = false}; if not defined (config.mainresponder.prefs.allowedIpAddresses) { //AR 11/04/1999 config.mainresponder.prefs.allowedIpAddresses = "127.0.0.1"}; if not defined (config.mainResponder.prefs.flUpdateNightly) { //PBS 11/16/99: update various gdbs every night config.mainResponder.prefs.flUpdateNightly = true}; //PBS 11/20/99: nightly updates now true by default if not defined (config.mainResponder.prefs.updateNightlyList) { //PBS 11/16/99: list of gdbs to update nightly config.mainResponder.prefs.updateNightlyList = {"Frontier.root", "mainResponder.root", "prefs.root"}}; // 6/16/05; 1:52:08 PM by TAC - removed manila.root if not defined (config.mainResponder.prefs.securityLevel) { //PBS 11/16/99: set up security level pref config.mainResponder.prefs.securityLevel = 0}; if not defined (config.mainResponder.prefs.flLogRootUpdates) { config.mainResponder.prefs.flLogRootUpdates = true}}; bundle { //config.mainresponder.urls local (localhost = "127.0.0.1"); suretable (@config.mainresponder.urls); bundle { //discuss urls local (basediscussurl = "http://" + localhost + "/htmlInterfaces/discussionGroup/"); if not defined (config.mainResponder.urls.discussEditInBrowser) { config.mainResponder.urls.discussEditInBrowser = basediscussurl + "edit/editInBrowser$"}; if not defined (config.mainResponder.urls.discussEditInFrontier) { config.mainResponder.urls.discussEditInFrontier = basediscussurl + "edit/editInFrontier$"}; if not defined (config.mainResponder.urls.discussEnclosureDownloader) { config.mainResponder.urls.discussEnclosureDownloader = basediscussurl + "enclosureDownloader$"}; if not defined (config.mainResponder.urls.discussEnclosureRPCer) { config.mainResponder.urls.discussEnclosureRPCer = basediscussurl + "enclosureRPCer$"}; if not defined (config.mainResponder.urls.discussEnclosureViewer) { config.mainResponder.urls.discussEnclosureViewer = basediscussurl + "raw/messages/"}; if not defined (config.mainResponder.urls.discussGetChangesFromWorkstation) { config.mainResponder.urls.discussGetChangesFromWorkstation = basediscussurl + "edit/getChangesFromWorkstation"}; if not defined (config.mainResponder.urls.discussHomePage) { config.mainResponder.urls.discussHomePage = basediscussurl}; if not defined (config.mainResponder.urls.discussMsgReader) { config.mainResponder.urls.discussMsgReader = basediscussurl + "msgReader$"}; if not defined (config.mainResponder.urls.discussNewThread) { config.mainResponder.urls.discussNewThread = basediscussurl + "edit/newThread$"}; if not defined (config.mainResponder.urls.discussPostEditedMessage) { config.mainResponder.urls.discussPostEditedMessage = basediscussurl + "edit/postEditedMsg"}; if not defined (config.mainResponder.urls.discussPostMessage) { config.mainResponder.urls.discussPostMessage = basediscussurl + "edit/postMsg"}; if not defined (config.mainResponder.urls.discussTopics) { config.mainResponder.urls.discussTopics = basediscussurl + "topics"}}; bundle { //resources urls local (baseresourcesurl = "http://" + localhost + "/resources/"); if not defined (config.mainresponder.urls.frontierLogo) { config.mainresponder.urls.frontierLogo = baseresourcesurl + "logos/logoWinNT.gif"}; if not defined (config.mainresponder.urls.icons) { config.mainresponder.urls.icons = baseresourcesurl + "icons/"}; if not defined (config.mainresponder.urls.imageCowSkull) { config.mainresponder.urls.imageCowSkull = baseresourcesurl + "userlandIcons/skull"}}; bundle { //member urls local (basememberurl = "http://" + localhost + "/htmlInterfaces/logon/"); if not defined (config.mainResponder.urls.memberCheckMail) { config.mainResponder.urls.memberCheckMail = basememberurl + "checkYourMail"}; if not defined (config.mainResponder.urls.memberHome) { config.mainResponder.urls.memberHome = basememberurl + "welcome"}; if not defined (config.mainResponder.urls.memberLogoff) { config.mainResponder.urls.memberLogoff = basememberurl + "logoffConfirm"}; if not defined (config.mainResponder.urls.memberLogon) { config.mainResponder.urls.memberLogon = basememberurl}}; bundle { //misc urls if not defined (config.mainResponder.urls.newsHome) { config.mainResponder.urls.newsHome = "http://" + localhost + "/"}; if not defined (config.mainResponder.urls.searchHome) { config.mainResponder.urls.searchHome = "http://" + localhost + "/search/"}; local (basepeopleurl = "http://" + localhost + "/htmlInterfaces/people/"); if not defined (config.mainResponder.urls.prefsHome) { config.mainResponder.urls.prefsHome = basepeopleurl + "prefs/"}; if not defined (config.mainResponder.urls.profilesHome) { config.mainResponder.urls.profilesHome = basepeopleurl + "profiles/"}}}; bundle { //config.mainresponder.callbacks suretable (@config.mainresponder.callbacks); suretable (@config.mainresponder.callbacks.addMessage); suretable (@config.mainresponder.callbacks.controlAccess); suretable (@config.mainresponder.callbacks.editMessage); suretable (@config.mainresponder.callbacks.lightweightMacros); suretable (@config.mainresponder.callbacks.nightlyBackup); suretable (@config.mainResponder.callbacks.searchEngineSecurity); //PBS 3/9/99 suretable (@config.mainResponder.callbacks.subscriptionsServer); ÇAdd search engine callbacks. if not defined (config.mainResponder.callbacks.addMessage.index) { script.newScriptObject ("mainResponder.search.client.addMessageCallback (adrNewMsg)", @config.mainResponder.callbacks.addMessage.index); script.compile (@config.mainResponder.callbacks.addMessage.index)}; if not defined (config.mainResponder.callbacks.editMessage.index) { script.newScriptObject ("mainResponder.search.client.addMessageCallback (adrEditedMsg)", @config.mainResponder.callbacks.editMessage.index); script.compile (@config.mainResponder.callbacks.editMessage.index)}; ÇAdd security callback if not defined (config.mainResponder.callbacks.controlAccess.blockByIP) { //AR 11/04/1999 script.newScriptObject ("mainResponder.security.blockHttpByIP ()", @config.mainResponder.callbacks.controlAccess.blockByIP)}; ÇAdd pathEvaluation callback for the Admin site if not defined (config.mainresponder.callbacks.pathEvaluation) { //JES 8/18/02 new (tableType, @config.mainresponder.callbacks.pathEvaluation)}; if not defined (config.mainresponder.callbacks.pathEvaluation.frontierAdminSite) { //JES 8/18/02 config.mainresponder.callbacks.pathEvaluation.frontierAdminSite = @mainResponder.adminSite.callbacks.pathEvaluation}}; bundle { //config.mainresponder.data suretable (@config.mainresponder.data); };Çsuretable (@config.mainresponder.data.searchQueue) bundle { //config.mainresponder.domains suretable (@config.mainresponder.domains); if sizeof (config.mainresponder.domains) == 0 { config.mainresponder.domains.default = Frontier.getSubFolder ("/www/")}}; bundle { //config.mainresponder.globals suretable (@config.mainresponder.globals); if not defined (config.mainresponder.globals.allowDirectoryListings) { //PBS 11/19/99: default is now false config.mainresponder.globals.allowDirectoryListings = false}; if not defined (config.mainresponder.globals.allowScriptListings) { config.mainresponder.globals.allowScriptListings = false}; if not defined (config.mainresponder.globals.allowScriptsToRun) { config.mainresponder.globals.allowScriptsToRun = false}; if not defined (config.mainresponder.globals.defaultDirectoryItems) { config.mainresponder.globals.defaultDirectoryItems = {"default.html", "default", "index.html", "index"}}; if not defined (config.mainresponder.globals.defaultMembershipGroup) { config.mainresponder.globals.defaultMembershipGroup = "default"}; if not defined (config.mainresponder.globals.flRender) { config.mainresponder.globals.flRender = false}; if not defined (config.mainresponder.globals.flRenderingCache) { config.mainresponder.globals.flRenderingCache = false}}; bundle { //config.mainresponder.search suretable (@config.mainresponder.search); if not defined (config.mainresponder.search.domain) { config.mainresponder.search.domain = "127.0.0.1"}; if not defined (config.mainresponder.search.port) { config.mainresponder.search.port = 80}; if not defined (config.mainresponder.search.addToIndex) { config.mainresponder.search.addToIndex = "mainResponder.search.index"}; if not defined (config.mainresponder.search.restartIndex) { config.mainresponder.search.restartIndex = "mainResponder.search.restartIndex"}; if not defined (config.mainresponder.search.sites) { suretable (@config.mainresponder.search.sites)}; if not defined (config.mainResponder.search.prefs) { new (tableType, @config.mainResponder.search.prefs)}; if not defined (config.mainResponder.search.prefs.flLogEnabled) { config.mainResponder.search.prefs.flLogEnabled = false}; if not defined (config.mainResponder.search.prefs.flLogSearches) { config.mainResponder.search.prefs.flLogSearches = true}; if not defined (config.mainResponder.search.prefs.flLogIndex) { config.mainResponder.search.prefs.flLogIndex = true}; if not defined (config.mainResponder.search.prefs.flLogNoIndex) { config.mainResponder.search.prefs.flLogNoIndex = true}; if not defined (config.mainResponder.search.prefs.flStoreFullText) { config.mainResponder.search.prefs.flStoreFullText = false}; if not defined (config.mainResponder.search.prefs.minutesBetweenIndexes) { config.mainResponder.search.prefs.minutesBetweenIndexes = 60}; if not defined (config.mainResponder.search.prefs.hoursToCacheSearchResults) { config.mainResponder.search.prefs.hoursToCacheSearchResults = 24}}; bundle { //config.mainresponder.stats if not defined (config.mainResponder.stats) { new (tabletype, @config.mainResponder.stats)}; if not defined (config.mainResponder.stats.ctDiscussionGroupReads) { config.mainResponder.stats.ctDiscussionGroupReads = 0}}; bundle { //port 5335 listener if not defined (user.inetd.config.http2) { user.inetd.config.http2 = user.inetd.config.http; user.inetd.config.http2.port = 5336; if user.inetd.config.http2.startup { try { inetd.startOne (@user.inetd.config.http2)}}}}; try { //register admin site callbacks if not defined (user.rootUpdates.callbacks) { rootUpdates.init ()}; if not defined (user.rootUpdates.callbacks.afterInstallPart.mainResponder) { user.rootUpdates.callbacks.afterInstallPart.mainResponder = @mainResponder.adminSite.callbacks.logRootUpdate}}; bundle { //miscellaneous clean-up if not defined (system.environment.isRadio) { system.environment.isRadio = false}}; Çbundle //hook in to user.scheduler Çif not defined (user.scheduler.everyMinute.nirvanaServer) Çuser.scheduler.everyMinute.nirvanaServer = @mainresponder.background.everyminute Çif not defined (user.scheduler.hourly.nirvanaServer) Çuser.scheduler.hourly.nirvanaServer = @mainresponder.background.everyHour Çif not defined (user.scheduler.overnight.nirvanaServer) Çuser.scheduler.overnight.nirvanaServer = @mainresponder.background.everynight return (@config.mainResponder)}; Çbundle //test code Çlocal (ticks = clock.ticks ()) Çfor i = 1 to 100 Çinit () Çdialog.notify ((double (clock.ticks ()) - ticks) / 60 + " secs.") \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.init ! on init () { ÇInitialize mainResponder ÇChanges Ç9/7/05; 10:53:18 PM by TAC Çchanged userlandIcons to frontierIcons Çchanged /mainResponderResources/ to /resources/ Ç8/6/05; 10:30:54 AM by TAC Çpartial path support for config.mainresponder.prefs.logFolder; config.mainresponder.prefs.discussArchiveFolder; config.mainresponder.prefs.backupFolder, more portable Ç6/19/05; 10:47:10 AM by TAC Çchanged localhost value to 127.0.0.1 Çadded config.mainResponder.callbacks.subscriptionsServer Çadded config.mainresponder.prefs.legalMacros Çadded config.mainresponder.prefs.baseUrl for adminSite setupFrontier Ç3/10/03; 5:53:51 PM by JES ÇMake sure that system.environment.isRadio is defined (and false). Ç3/4/03; 3:19:15 PM by JES ÇReturn @config.mainResponder. Ç9/3/02; 1:26:05 AM by JES ÇFixed a bonehead bug -- we were calling user.rootUpdates.init to initialize the user.rootUpdates.callbacks table. We should have called rootUpdates.init instead. Ç8/28/02; 11:18:11 PM by JES ÇRegister admin site callbacks, and config.mainResponder.prefs.flLogRootUpdates. Ç8/20/02; 12:38:52 AM by JES ÇIf the port 5335 listen configured at user.inetd.config.http2 is not installed, install it, based on the default http listen. Ç8/18/02; 5:21:19 PM by JES ÇInstall the admin site pathEvaluation callback at config.mainresponder.callbacks.pathEvaluation.frontierAdminSite. Ç8/1/02; 6:59:56 PM by JES ÇInitialize new search engine prefs at config.mainResponder.search.prefs. No longer create config.mainresponder.data.searchQueue. Ç06/22/00; 3:57:55 PM by PBS ÇSet hashed cookies to true by default. Ç06/17/00; 5:29:29 PM by PBS ÇNow false by default: flKeepParamTable, flLog, flDiscussStatsNightly Ç12/11/1999 at 5:29:32 AM by AR ÇCommented out the code for hooking into the scheduler. This is now handled in mainResponder.startup. Ç11/23/99; 4:10:06 PM by PBS ÇBackups and discuss archiving now false by default. Ç11/20/99; 4:29:29 PM by PBS ÇChanged some defaults. Discuss archiving is true by default. Nightly updates are on by default; the default nightly update list contains Frontier, mainResponder, manila, and prefs.root. Save databases every minute is true by default. Logging database opens to the temp table is now false by default. Ç11/16/99; 11:48:17 PM by PBS ÇSet up prefs for flUpdateNightly, updateNightlyList, and securityLevel. The first two are prefs for automated nightly updates, the third is the security level for the Control Panel. Ç10/25/99; 4:04:59 PM by PBS Çconfig.mainResponder.prefs.flControlPanel: if true, then the /controlPanel/ system website can be accessed. It's true by default. Ç8/15/99; 9:53:42 AM by DW Çconfig.mainresponder.prefs.flLogReopenHourly, if true, we close the log file every hour. It will be re-opened by the next log.add call. In our work with the 6.1 kernel, we've determined that for busy servers this helps Frontier's memory utilization significantly, and the cost of re-opening the file once an hour is relatively small. Ç8/15/99; 9:34:07 AM by DW ÇMake sure that scheduler tasks are installed. This is also handled in mainResponder.install, but I don't want to ask people to run this script to go to 6.1, so we check to see if they're defined and if they're not we link them in. Ç8/15/99; 8:26:14 AM by DW Çinitialize config.mainresponder.prefs.flArchiveDiscuss and discussArchiveFolder. ÇWed, Mar 10, 1999 at 2:34:19 PM by PBS ÇInitialize config.mainResponder.data. ÇInitialize config.mainResponder.data.searchQueue. ÇWed, Mar 10, 1999 at 2:19:48 PM by PBS ÇInitialize the config.mainresponder.search table. ÇSet config.mainResponder.prefs.flSearchEngine to false by default. ÇThis means that this machine is not, by default, a search engine server. ÇSet config.mainResponder.prefs.flLogMemAvail to false by default. ÇTue, Mar 9, 1999 at 4:12:13 PM by PBS ÇUse Frontier.getSubFolder rather than mainResponder.getFolder. ÇSat, Mar 20, 1999 at 4:48:37 PM by PBS ÇAdded flConvertToMacText pref. ÇOn Macs, convert incoming latin text to Mac. ÇOn Windows the pref has no effect. local (ps = string.popTrailing (system.verbs.builtins.Frontier.pathstring, file.getPathChar ())); // path string minus the trailing path character on suretable (adrtable) { if not defined (adrtable^) { new (tabletype, adrtable)}}; suretable (@config.mainresponder); bundle { //config.mainresponder.prefs suretable (@config.mainresponder.prefs); if not defined (config.mainresponder.prefs.baseUrl) { config.mainresponder.prefs.baseUrl = "http://127.0.0.1/"}; if not defined (config.mainresponder.prefs.backupFolder) { config.mainresponder.prefs.backupFolder = Frontier.getSubFolder ("/ops/backups/") - ps}; // 8/6/05; 10:30:54 AM by TAC if not defined (config.mainresponder.prefs.defaultDiscussRoot) { config.mainresponder.prefs.defaultDiscussRoot = "discuss"}; if not defined (config.mainresponder.prefs.defaultNewsRoot) { config.mainresponder.prefs.defaultNewsRoot = "default"}; if not defined (config.mainresponder.prefs.flAllowPublicSearchSubmissions) { //PBS 3/9/99 config.mainresponder.prefs.flAllowPublicSearchSubmissions = false}; if not defined (config.mainresponder.prefs.flBackupNightly) { config.mainresponder.prefs.flBackupNightly = false}; //PBS 11/23/99: now false by default if not defined (config.mainresponder.prefs.flDiscussStatsNightly) { Çconfig.mainresponder.prefs.flDiscussStatsNightly = true config.mainresponder.prefs.flDiscussStatsNightly = false}; //PBS 06/17/00: Now false by default for 6.2. if not defined (config.mainresponder.prefs.flArchiveDiscuss) { config.mainresponder.prefs.flArchiveDiscuss = false}; //PBS 11/23/99: now false by default if not defined (config.mainresponder.prefs.discussArchiveFolder) { config.mainresponder.prefs.discussArchiveFolder = Frontier.getSubFolder ("/ops/discussArchive/") - ps}; // 8/6/05; 10:30:54 AM by TAC if not defined (config.mainresponder.prefs.flControlPanel) { //PBS 10/25/99: pref for the /controlPanel/ site config.mainresponder.prefs.flControlPanel = true}; if not defined (config.mainresponder.prefs.flDebug) { config.mainresponder.prefs.flDebug = false}; if not defined (config.mainresponder.prefs.flKeepParamTable) { Çconfig.mainresponder.prefs.flKeepParamTable = true config.mainresponder.prefs.flKeepParamTable = false}; //PBS 06/17/00: Now false by default in 6.2. if not defined (config.mainresponder.prefs.flLog) { Çconfig.mainresponder.prefs.flLog = true config.mainresponder.prefs.flLog = false}; //PBS 06/17/00: HTTP logging now off by default in 6.2. if not defined (config.mainresponder.prefs.flLogMemavail) { config.mainresponder.prefs.flLogMemavail = false}; if not defined (config.mainresponder.prefs.flLogDatabaseOpens) { config.mainresponder.prefs.flLogDatabaseOpens = false}; //PBS 11/20/99: now false by default, no to logging database opens to the temp table if not defined (config.mainresponder.prefs.flLogReopenHourly) { config.mainresponder.prefs.flLogReopenHourly = false}; if not defined (config.mainresponder.prefs.flOpenAboutWindow) { config.mainresponder.prefs.flOpenAboutWindow = true}; if not defined (config.mainresponder.prefs.flBuildPagesInBackground) { config.mainresponder.prefs.flBuildPagesInBackground = false}; //PBS 11/20/99: now false by default, no to building pages in the background if not defined (config.mainresponder.prefs.flProfiling) { config.mainresponder.prefs.flProfiling = false}; if not defined (config.mainresponder.prefs.flSaveDatabasesEveryMinute) { config.mainresponder.prefs.flSaveDatabasesEveryMinute = true}; //PBS 11/20/99: save databases every minute is now true by default if not defined (config.mainResponder.prefs.flMembershipHashedCookies) { //PBS 06/22/00: true by default config.mainResponder.prefs.flMembershipHashedCookies = true}; if not defined (config.mainresponder.prefs.flSearchEngine) { config.mainresponder.prefs.flSearchEngine = false}; if not defined (config.mainresponder.prefs.flStats) { config.mainresponder.prefs.flStats = true}; if not defined (config.mainresponder.prefs.flSubscriptions) { config.mainresponder.prefs.flSubscriptions = false}; if not defined (config.mainresponder.prefs.hitsBetweenLogSaves) { config.mainresponder.prefs.hitsBetweenLogSaves = 100}; if not defined (config.mainresponder.prefs.flConvertToMacText) { //PBS 3/20/99 config.mainresponder.prefs.flConvertToMacText = true}; if not defined (config.mainresponder.prefs.logFolder) { config.mainresponder.prefs.logFolder = Frontier.getSubFolder ("/ops/logs/") - ps}; // 8/6/05; 10:30:54 AM by TAC if not defined (config.mainresponder.prefs.legalMacros) { new (tabletype, @config.mainresponder.prefs.legalMacros)}; if not defined (config.mainresponder.prefs.legalTags) { new (tabletype, @config.mainresponder.prefs.legalTags); config.mainresponder.prefs.legalTags.i = true; config.mainresponder.prefs.legalTags.pre = true}; if not defined (config.mainresponder.prefs.flAllowByIpOnly) { //AR 11/04/1999 config.mainresponder.prefs.flAllowByIpOnly = false}; if not defined (config.mainresponder.prefs.allowedIpAddresses) { //AR 11/04/1999 config.mainresponder.prefs.allowedIpAddresses = "127.0.0.1"}; if not defined (config.mainResponder.prefs.flUpdateNightly) { //PBS 11/16/99: update various gdbs every night config.mainResponder.prefs.flUpdateNightly = true}; //PBS 11/20/99: nightly updates now true by default if not defined (config.mainResponder.prefs.updateNightlyList) { //PBS 11/16/99: list of gdbs to update nightly config.mainResponder.prefs.updateNightlyList = {"Frontier.root", "mainResponder.root", "prefs.root"}}; // 6/16/05; 1:52:08 PM by TAC - removed manila.root if not defined (config.mainResponder.prefs.securityLevel) { //PBS 11/16/99: set up security level pref config.mainResponder.prefs.securityLevel = 0}; if not defined (config.mainResponder.prefs.flLogRootUpdates) { config.mainResponder.prefs.flLogRootUpdates = true}}; bundle { //config.mainresponder.urls local (localhost = "127.0.0.1"); suretable (@config.mainresponder.urls); bundle { //discuss urls local (basediscussurl = "http://" + localhost + "/htmlInterfaces/discussionGroup/"); if not defined (config.mainResponder.urls.discussEditInBrowser) { config.mainResponder.urls.discussEditInBrowser = basediscussurl + "edit/editInBrowser$"}; if not defined (config.mainResponder.urls.discussEditInFrontier) { config.mainResponder.urls.discussEditInFrontier = basediscussurl + "edit/editInFrontier$"}; if not defined (config.mainResponder.urls.discussEnclosureDownloader) { config.mainResponder.urls.discussEnclosureDownloader = basediscussurl + "enclosureDownloader$"}; if not defined (config.mainResponder.urls.discussEnclosureRPCer) { config.mainResponder.urls.discussEnclosureRPCer = basediscussurl + "enclosureRPCer$"}; if not defined (config.mainResponder.urls.discussEnclosureViewer) { config.mainResponder.urls.discussEnclosureViewer = basediscussurl + "raw/messages/"}; if not defined (config.mainResponder.urls.discussGetChangesFromWorkstation) { config.mainResponder.urls.discussGetChangesFromWorkstation = basediscussurl + "edit/getChangesFromWorkstation"}; if not defined (config.mainResponder.urls.discussHomePage) { config.mainResponder.urls.discussHomePage = basediscussurl}; if not defined (config.mainResponder.urls.discussMsgReader) { config.mainResponder.urls.discussMsgReader = basediscussurl + "msgReader$"}; if not defined (config.mainResponder.urls.discussNewThread) { config.mainResponder.urls.discussNewThread = basediscussurl + "edit/newThread$"}; if not defined (config.mainResponder.urls.discussPostEditedMessage) { config.mainResponder.urls.discussPostEditedMessage = basediscussurl + "edit/postEditedMsg"}; if not defined (config.mainResponder.urls.discussPostMessage) { config.mainResponder.urls.discussPostMessage = basediscussurl + "edit/postMsg"}; if not defined (config.mainResponder.urls.discussTopics) { config.mainResponder.urls.discussTopics = basediscussurl + "topics"}}; bundle { //resources urls local (baseresourcesurl = "http://" + localhost + "/resources/"); if not defined (config.mainresponder.urls.frontierLogo) { config.mainresponder.urls.frontierLogo = baseresourcesurl + "logos/logoWinNT.gif"}; if not defined (config.mainresponder.urls.icons) { config.mainresponder.urls.icons = baseresourcesurl + "icons/"}; if not defined (config.mainresponder.urls.imageCowSkull) { config.mainresponder.urls.imageCowSkull = baseresourcesurl + "frontierIcons/skull"}}; bundle { //member urls local (basememberurl = "http://" + localhost + "/htmlInterfaces/logon/"); if not defined (config.mainResponder.urls.memberCheckMail) { config.mainResponder.urls.memberCheckMail = basememberurl + "checkYourMail"}; if not defined (config.mainResponder.urls.memberHome) { config.mainResponder.urls.memberHome = basememberurl + "welcome"}; if not defined (config.mainResponder.urls.memberLogoff) { config.mainResponder.urls.memberLogoff = basememberurl + "logoffConfirm"}; if not defined (config.mainResponder.urls.memberLogon) { config.mainResponder.urls.memberLogon = basememberurl}}; bundle { //misc urls if not defined (config.mainResponder.urls.newsHome) { config.mainResponder.urls.newsHome = "http://" + localhost + "/"}; if not defined (config.mainResponder.urls.searchHome) { config.mainResponder.urls.searchHome = "http://" + localhost + "/search/"}; local (basepeopleurl = "http://" + localhost + "/htmlInterfaces/people/"); if not defined (config.mainResponder.urls.prefsHome) { config.mainResponder.urls.prefsHome = basepeopleurl + "prefs/"}; if not defined (config.mainResponder.urls.profilesHome) { config.mainResponder.urls.profilesHome = basepeopleurl + "profiles/"}}}; bundle { //config.mainresponder.callbacks suretable (@config.mainresponder.callbacks); suretable (@config.mainresponder.callbacks.addMessage); suretable (@config.mainresponder.callbacks.controlAccess); suretable (@config.mainresponder.callbacks.editMessage); suretable (@config.mainresponder.callbacks.lightweightMacros); suretable (@config.mainresponder.callbacks.nightlyBackup); suretable (@config.mainResponder.callbacks.searchEngineSecurity); //PBS 3/9/99 suretable (@config.mainResponder.callbacks.subscriptionsServer); ÇAdd search engine callbacks. if not defined (config.mainResponder.callbacks.addMessage.index) { script.newScriptObject ("mainResponder.search.client.addMessageCallback (adrNewMsg)", @config.mainResponder.callbacks.addMessage.index); script.compile (@config.mainResponder.callbacks.addMessage.index)}; if not defined (config.mainResponder.callbacks.editMessage.index) { script.newScriptObject ("mainResponder.search.client.addMessageCallback (adrEditedMsg)", @config.mainResponder.callbacks.editMessage.index); script.compile (@config.mainResponder.callbacks.editMessage.index)}; ÇAdd security callback if not defined (config.mainResponder.callbacks.controlAccess.blockByIP) { //AR 11/04/1999 script.newScriptObject ("mainResponder.security.blockHttpByIP ()", @config.mainResponder.callbacks.controlAccess.blockByIP)}; ÇAdd pathEvaluation callback for the Admin site if not defined (config.mainresponder.callbacks.pathEvaluation) { //JES 8/18/02 new (tableType, @config.mainresponder.callbacks.pathEvaluation)}; if not defined (config.mainresponder.callbacks.pathEvaluation.frontierAdminSite) { //JES 8/18/02 config.mainresponder.callbacks.pathEvaluation.frontierAdminSite = @mainResponder.adminSite.callbacks.pathEvaluation}}; bundle { //config.mainresponder.data suretable (@config.mainresponder.data); };Çsuretable (@config.mainresponder.data.searchQueue) bundle { //config.mainresponder.d... [truncated message content] |
|
From: creedon <icr...@us...> - 2005-09-08 06:00:53
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/adminSite/macros In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26129 Modified Files: diskInfo listSites Log Message: changed userlandIcons to frontierIcons changed /mainResponderResources/ to /resources/ Index: listSites =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/adminSite/macros/listSites,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** listSites 26 Mar 2005 21:45:11 -0000 1.1.1.1 --- listSites 8 Sep 2005 06:00:45 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.adminSite.macros.listSites ! on listSites () { ÇChanges Ç3/29/04; 5:57:32 PM by JES ÇAdd a new icon to indicate whether hosting is enabled for a given site. Ç12/12/03; 11:50:10 PM by JES ÇIf the last-modified time can't be converted to a date type, just return it as a string. Ç9/8/02; 4:55:26 PM by JES ÇUse the local globe icon instead of the one hosted at UserLand. Ç9/3/02; 4:33:36 AM by JES ÇAdded a small padlock icon next to the name of editors only sites. Ç8/20/02; 4:16:45 PM by JES ÇAdded links to multiple pages for servers that have more than 25 sites. local (pta); try {pta = html.getPageTableAddress ()}; local (bgcolor1, bgcolor2, ctitems=0, thisPageUrl=""); try {bgcolor1 = pta^.trbg1; bgcolor2 = pta^.trbg2; tisPageUrl = pta^.uri}; local (start = 1, count = 25); bundle { //get start and count from pta^.searchArgTable, if present if defined (pta^.searchArgTable.s) { try {start = number (pta^.searchArgTable.s)}}; if defined (pta^.searchArgTable.m) { try {count = number (pta^.searchArgTable.m)}}}; local (globeicon, lockicon, hostingicon); bundle { //set globeicon, lockicon and hostingicon globeicon = "<img src=\"mainResponderResources/userlandIcons/remote\" width=\"11\" height=\"11\" border=\"0\" style=\"position:relative; top:1\">"; lockicon = "<img src=\"/mainResponderResources/icons/lock\" width=\"9\" height=\"12\" border=\"0\" style=\"position:relative; top:1\">"; hostingicon = "<img src=\"/mainResponderResources/icons/folderGlobe\" width=\"18\" height=\"16\" border=\"0\" style=\"position:relative; top:4\">"}; local (htmlText = "", indentlevel = 0); on add (s) { htmlText = htmlText + (string.filledString ("\t", indentlevel) + s + "\r");}; local (flFoundSites = false); local (adrcache = mainResponder.adminSite.macros.initSiteListCache ()); local (adrincache = @adrcache^.sites); if sizeOf (adrincache) > 0 { flFoundSites = true}; bundle { //description add ("<p>Below is a list of Manila sites on this server. For more detailed information and managerial functions, click a site's name. To view a site, click the globe icon. You can also <a href=\"" + mainResponder.adminSite.urls.newSite + "\">create a new site</a>.</p>")}; bundle { //build the table that gets rendered as HTML if flFoundSites { local (yesterday = date.yesterday (clock.now ())); on shortDateTime (d) { try { if d < yesterday { return (date.shortString (d))} else { return (string.timeString (d))}} else { return (d)}}; bundle { //start the table add ("<table cellpadding=\"10\" cellspacing=\"0\" boreder=\"0\" width=\"99%\">"); indentlevel++}; ÇLoop through the table of info about the sites on this server. local (numSites = sizeOf (adrincache^)); for i = start to (start + count - 1) { if i > numSites { break}; local (bgcolor); if i % 2 == 1 { bgcolor = bgcolor1} else { bgcolor = bgcolor2}; local (adrItem = @adrincache^[i]); local (editor = adrItem^.managingEditor); local (tagline = string.replaceAll (adrItem^.tagline, "\"", """)); local (editUrl = thisPageUrl + "?site=" + string.urlEncode (adrItem^.site)); local (editLink = "<a href=\"" + editUrl + "\" title=\"" + tagline + "\">" + adrItem^.displaySiteName + "</a>"); bundle { //add lock icon for editors only sites if defined (adrItem^.adrSite^.["#newsSite"].flEditorsOnlyAccessToSite) { if adrItem^.adrSite^.["#newsSite"].flEditorsOnlyAccessToSite { editLink = editLink + " " + lockicon}}}; try { //hosting icon for hosting-enabled sites if defined (pta^.canonicalSiteName) { delete (@pta^.canonicalSiteName)}; if manilaSuite.hosting.isHostingSite (adrItem^.adrSite) { editLink = editLink + " " + hostingicon}}; local (siteLink, editorLink); bundle { //set siteLink, editorLink, tagline if adrItem^.flInstalled { siteLink = "<a href=\"" + adrItem^.siteUrl + "\" title=\"" + tagline + "\">" + globeIcon + "</a>"; editorLink = html.getLink (editor, adrItem^.profilesUrl + editor); try { //get the real name of the editor, if possible //PBS06/05/01: was a bundle, now a try, so errors aren't fatal local (groupName = adrItem^.membershipGroupName); local (adrInfo = mainResponder.members.getMemberTable (groupName, editor)); if (defined (adrInfo^.personalInfo.name)) and (adrInfo^.personalInfo.name != "") { editorLink = html.getLink (adrInfo^.personalInfo.name, adrItem^.profilesUrl + editor)}}} else { siteLink = ""; editorLink = string.replace (editor, "@", "\\@")}}; bundle { //add the info for this site add ("<tr bgcolor=\"" + bgcolor + "\">"); indentlevel++; add ("<td valign=\"bottom\" style=\"padding-bottom: 0px;\"><span style=\"width:11;\">" + siteLink + "</span> <b>" + editLink + "</b></td>"); add ("<td valign=\"bottom\" style=\"padding-bottom: 0px;\" class=\"small\" valign=\"bottom\"><nobr><b>" + shortDateTime (adrItem^.modified) + "</b></nobr></td>"); add ("<td valign=\"bottom\" style=\"padding-bottom: 0px;\" class=\"small\" style=\"padding-top: 0px;\" align=\"right\"><nobr><b>" + string.addCommas (adrItem^.totalHits) + "</b> hits; <b>" + adrItem^.hitsToday + "</b> today</nobr>" + "</td>"); add ("</tr>"); indentlevel--; add ("<tr bgcolor=\"" + bgcolor + "\">"); indentlevel++; add ("<td valign=\"bottom\" style=\"padding-top: 0px;\" class=\"small\">Owner: <b>" + editorLink + "</b></td>"); local (memberstring = "members"); if adrItem^.ctMembers == 1 { memberstring = "member"}; add ("<td class=\"small\" style=\"padding-top: 0px;\"><b>" + string.addCommas (adrItem^.ctMembers) + "</b> " + memberstring + "</td>"); add ("<td class=\"small\" style=\"padding-top: 0px;\" align=\"right\"><b>" + string.addCommas (adrItem^.ctMessages) + "</b> messages</td>"); add ("</tr>"); indentlevel--}}; add ("</table>"); indentlevel--}}; if not flFoundSites { add ("<hr size=\"0\" /><p>There are no sites to list at this time.</p>")}; if flFoundSites { //possibly add links to more pages local (ctsites = sizeOf (adrincache^)); if ctsites > count { add ("<b> More sites:</b>"); local (ctpages = 0); local (n = 1); while n <= ctsites { ctpages++; if n < start or n >= (start + count) { //link add ("<a href=\"" + pta^.uri + "?s=" + n + "&m=" + count + "\">" + ctpages + "</a>")} else { add ("<b>" + ctpages + "</b>")}; n = n + count}}}; return (htmlText)}; Çbundle //test code ÇlistSites () \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.adminSite.macros.listSites ! on listSites () { ÇChanges Ç9/7/05; 10:53:18 PM by TAC Çchanged userlandIcons to frontierIcons Çchanged /mainResponderResources/ to /resources/ Ç3/29/04; 5:57:32 PM by JES ÇAdd a new icon to indicate whether hosting is enabled for a given site. Ç12/12/03; 11:50:10 PM by JES ÇIf the last-modified time can't be converted to a date type, just return it as a string. Ç9/8/02; 4:55:26 PM by JES ÇUse the local globe icon instead of the one hosted at UserLand. Ç9/3/02; 4:33:36 AM by JES ÇAdded a small padlock icon next to the name of editors only sites. Ç8/20/02; 4:16:45 PM by JES ÇAdded links to multiple pages for servers that have more than 25 sites. local (pta); try {pta = html.getPageTableAddress ()}; local (bgcolor1, bgcolor2, ctitems=0, thisPageUrl=""); try {bgcolor1 = pta^.trbg1; bgcolor2 = pta^.trbg2; tisPageUrl = pta^.uri}; local (start = 1, count = 25); bundle { //get start and count from pta^.searchArgTable, if present if defined (pta^.searchArgTable.s) { try {start = number (pta^.searchArgTable.s)}}; if defined (pta^.searchArgTable.m) { try {count = number (pta^.searchArgTable.m)}}}; local (globeicon, lockicon, hostingicon); bundle { //set globeicon, lockicon and hostingicon globeicon = "<img src=\"mainResponderResources/frontierIcons/remote\" width=\"11\" height=\"11\" border=\"0\" style=\"position:relative; top:1\">"; lockicon = "<img src=\"/resources/icons/lock\" width=\"9\" height=\"12\" border=\"0\" style=\"position:relative; top:1\">"; hostingicon = "<img src=\"/resources/icons/folderGlobe\" width=\"18\" height=\"16\" border=\"0\" style=\"position:relative; top:4\">"}; local (htmlText = "", indentlevel = 0); on add (s) { htmlText = htmlText + (string.filledString ("\t", indentlevel) + s + "\r");}; local (flFoundSites = false); local (adrcache = mainResponder.adminSite.macros.initSiteListCache ()); local (adrincache = @adrcache^.sites); if sizeOf (adrincache) > 0 { flFoundSites = true}; bundle { //description add ("<p>Below is a list of Manila sites on this server. For more detailed information and managerial functions, click a site's name. To view a site, click the globe icon. You can also <a href=\"" + mainResponder.adminSite.urls.newSite + "\">create a new site</a>.</p>")}; bundle { //build the table that gets rendered as HTML if flFoundSites { local (yesterday = date.yesterday (clock.now ())); on shortDateTime (d) { try { if d < yesterday { return (date.shortString (d))} else { return (string.timeString (d))}} else { return (d)}}; bundle { //start the table add ("<table cellpadding=\"10\" cellspacing=\"0\" boreder=\"0\" width=\"99%\">"); indentlevel++}; ÇLoop through the table of info about the sites on this server. local (numSites = sizeOf (adrincache^)); for i = start to (start + count - 1) { if i > numSites { break}; local (bgcolor); if i % 2 == 1 { bgcolor = bgcolor1} else { bgcolor = bgcolor2}; local (adrItem = @adrincache^[i]); local (editor = adrItem^.managingEditor); local (tagline = string.replaceAll (adrItem^.tagline, "\"", """)); local (editUrl = thisPageUrl + "?site=" + string.urlEncode (adrItem^.site)); local (editLink = "<a href=\"" + editUrl + "\" title=\"" + tagline + "\">" + adrItem^.displaySiteName + "</a>"); bundle { //add lock icon for editors only sites if defined (adrItem^.adrSite^.["#newsSite"].flEditorsOnlyAccessToSite) { if adrItem^.adrSite^.["#newsSite"].flEditorsOnlyAccessToSite { editLink = editLink + " " + lockicon}}}; try { //hosting icon for hosting-enabled sites if defined (pta^.canonicalSiteName) { delete (@pta^.canonicalSiteName)}; if manilaSuite.hosting.isHostingSite (adrItem^.adrSite) { editLink = editLink + " " + hostingicon}}; local (siteLink, editorLink); bundle { //set siteLink, editorLink, tagline if adrItem^.flInstalled { siteLink = "<a href=\"" + adrItem^.siteUrl + "\" title=\"" + tagline + "\">" + globeIcon + "</a>"; editorLink = html.getLink (editor, adrItem^.profilesUrl + editor); try { //get the real name of the editor, if possible //PBS06/05/01: was a bundle, now a try, so errors aren't fatal local (groupName = adrItem^.membershipGroupName); local (adrInfo = mainResponder.members.getMemberTable (groupName, editor)); if (defined (adrInfo^.personalInfo.name)) and (adrInfo^.personalInfo.name != "") { editorLink = html.getLink (adrInfo^.personalInfo.name, adrItem^.profilesUrl + editor)}}} else { siteLink = ""; editorLink = string.replace (editor, "@", "\\@")}}; bundle { //add the info for this site add ("<tr bgcolor=\"" + bgcolor + "\">"); indentlevel++; add ("<td valign=\"bottom\" style=\"padding-bottom: 0px;\"><span style=\"width:11;\">" + siteLink + "</span> <b>" + editLink + "</b></td>"); add ("<td valign=\"bottom\" style=\"padding-bottom: 0px;\" class=\"small\" valign=\"bottom\"><nobr><b>" + shortDateTime (adrItem^.modified) + "</b></nobr></td>"); add ("<td valign=\"bottom\" style=\"padding-bottom: 0px;\" class=\"small\" style=\"padding-top: 0px;\" align=\"right\"><nobr><b>" + string.addCommas (adrItem^.totalHits) + "</b> hits; <b>" + adrItem^.hitsToday + "</b> today</nobr>" + "</td>"); add ("</tr>"); indentlevel--; add ("<tr bgcolor=\"" + bgcolor + "\">"); indentlevel++; add ("<td valign=\"bottom\" style=\"padding-top: 0px;\" class=\"small\">Owner: <b>" + editorLink + "</b></td>"); local (memberstring = "members"); if adrItem^.ctMembers == 1 { memberstring = "member"}; add ("<td class=\"small\" style=\"padding-top: 0px;\"><b>" + string.addCommas (adrItem^.ctMembers) + "</b> " + memberstring + "</td>"); add ("<td class=\"small\" style=\"padding-top: 0px;\" align=\"right\"><b>" + string.addCommas (adrItem^.ctMessages) + "</b> messages</td>"); add ("</tr>"); indentlevel--}}; add ("</table>"); indentlevel--}}; if not flFoundSites { add ("<hr size=\"0\" /><p>There are no sites to list at this time.</p>")}; if flFoundSites { //possibly add links to more pages local (ctsites = sizeOf (adrincache^)); if ctsites > count { add ("<b> More sites:</b>"); local (ctpages = 0); local (n = 1); while n <= ctsites { ctpages++; if n < start or n >= (start + count) { //link add ("<a href=\"" + pta^.uri + "?s=" + n + "&m=" + count + "\">" + ctpages + "</a>")} else { add ("<b>" + ctpages + "</b>")}; n = n + count}}}; return (htmlText)}; Çbundle //test code ÇlistSites () \ No newline at end of file Index: diskInfo =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/adminSite/macros/diskInfo,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** diskInfo 26 Mar 2005 21:45:11 -0000 1.1.1.1 --- diskInfo 8 Sep 2005 06:00:45 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.adminSite.macros.diskInfo ! on diskInfo () { ÇChanges Ç8/14/02; 3:34:39 PM by JES ÇCreated. local (htmltext); on add (s) { htmltext = htmltext + (s + "\r");}; local (pta = html.getPageTableAddress ()); local (bgcolors = {pta^.trbg2, pta^.trbg1}); local (frontiericon, systemicon); bundle { //get icons if system.environment.isMac { systemicon = "<img src=\"/mainResponderResources/logos/macosIconSmall\" height=\"16\" width=\"16\" border=\"0\">"} else { systemicon = "<img src=\"/mainResponderResources/logos/windowsIconSmall\" height=\"16\" width=\"16\" border=\"0\">"}; frontiericon = "<img src=\"/mainResponderResources/userlandIcons/cactusIconSmall\" height=\"16\" width=\"16\" border=\"0\">"}; local (systemdisk, frontierdisk); bundle { //get system and frontier disks systemdisk = file.getSystemDisk (); frontierdisk = frontier.pathstring; local (pc = file.getPathChar ()); while string.popTrailing (frontierdisk, pc) contains pc { frontierdisk = file.folderFromPath (frontierdisk)}}; add ("<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"70%\">"); bundle { //headers if system.environment.isMac { add ("<tr><td style=\"padding-left:5px;\"><b>Disk</b></td><td> </td><td align=\"right\"><b>Size</b></td><td align=\"right\" style=\"padding-right:10px;\"><b>Free</b></td><td align=\"right\" style=\"padding-right:10px;\"><b>Files</b></td></tr>")} else { add ("<tr><td style=\"padding-left:5px;\"><b>Disk</b></td><td> </td><td align=\"right\"><b>Size</b></td><td align=\"right\" style=\"padding-right:10px;\"><b>Free</b></td></tr>")}}; local (ct = 0); fileloop (f in "") { if not system.environment.isMac { //skip the A & B drives on Windows if string.lower (f) beginsWith "a:" { continue}; if string.lower (f) beginsWith "b:" { continue}}; try { local (sizedouble = file.volumeSizeDouble (f)); local (freedouble = file.freeSpaceOnVolumeDouble (f)); local (files); if system.environment.isMac { files = file.filesOnVolume (f)}; local (icon = ""); if f == systemdisk { icon = icon + " " + systemicon + " "}; if f == frontierdisk { icon = icon + " " + frontiericon + " "}; ct++; add ("<tr bgcolor=\"" + bgcolors[(ct%2) + 1] + "\">"); add ("<td class=\"small\" style=\"padding-left:5px;\">" + f + "</td>"); add ("<td class=\"small\" style=\"padding-top:5px;\"><nobr>" + icon + "</nobr></td>"); add ("<td class=\"small\" align=\"right\">" + string.gigabyteString (sizedouble) + "</td>"); add ("<td class=\"small\" align=\"right\" style=\"padding-right:10px;\">" + string.gigabyteString (freedouble) + "</td>"); if system.environment.isMac { //file.filesOnVolume only works on MacOS add ("<td class=\"small\" align=\"right\" style=\"padding-right:10px;\">" + string.addCommas (files) + "</td>")}; add ("</tr>")}}; add ("</table>"); return (htmltext)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.adminSite.macros.diskInfo ! on diskInfo () { ÇChanges Ç9/7/05; 10:53:18 PM by TAC Çchanged userlandIcons to frontierIcons Çchanged /mainResponderResources/ to /resources/ Ç8/14/02; 3:34:39 PM by JES ÇCreated. local (htmltext); on add (s) { htmltext = htmltext + (s + "\r");}; local (pta = html.getPageTableAddress ()); local (bgcolors = {pta^.trbg2, pta^.trbg1}); local (frontiericon, systemicon); bundle { //get icons if system.environment.isMac { systemicon = "<img src=\"/resources/logos/macosIconSmall\" height=\"16\" width=\"16\" border=\"0\">"} else { systemicon = "<img src=\"/resources/logos/windowsIconSmall\" height=\"16\" width=\"16\" border=\"0\">"}; frontiericon = "<img src=\"/resources/frontierIcons/cactusIconSmall\" height=\"16\" width=\"16\" border=\"0\">"}; local (systemdisk, frontierdisk); bundle { //get system and frontier disks systemdisk = file.getSystemDisk (); frontierdisk = frontier.pathstring; local (pc = file.getPathChar ()); while string.popTrailing (frontierdisk, pc) contains pc { frontierdisk = file.folderFromPath (frontierdisk)}}; add ("<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"70%\">"); bundle { //headers if system.environment.isMac { add ("<tr><td style=\"padding-left:5px;\"><b>Disk</b></td><td> </td><td align=\"right\"><b>Size</b></td><td align=\"right\" style=\"padding-right:10px;\"><b>Free</b></td><td align=\"right\" style=\"padding-right:10px;\"><b>Files</b></td></tr>")} else { add ("<tr><td style=\"padding-left:5px;\"><b>Disk</b></td><td> </td><td align=\"right\"><b>Size</b></td><td align=\"right\" style=\"padding-right:10px;\"><b>Free</b></td></tr>")}}; local (ct = 0); fileloop (f in "") { if not system.environment.isMac { //skip the A & B drives on Windows if string.lower (f) beginsWith "a:" { continue}; if string.lower (f) beginsWith "b:" { continue}}; try { local (sizedouble = file.volumeSizeDouble (f)); local (freedouble = file.freeSpaceOnVolumeDouble (f)); local (files); if system.environment.isMac { files = file.filesOnVolume (f)}; local (icon = ""); if f == systemdisk { icon = icon + " " + systemicon + " "}; if f == frontierdisk { icon = icon + " " + frontiericon + " "}; ct++; add ("<tr bgcolor=\"" + bgcolors[(ct%2) + 1] + "\">"); add ("<td class=\"small\" style=\"padding-left:5px;\">" + f + "</td>"); add ("<td class=\"small\" style=\"padding-top:5px;\"><nobr>" + icon + "</nobr></td>"); add ("<td class=\"small\" align=\"right\">" + string.gigabyteString (sizedouble) + "</td>"); add ("<td class=\"small\" align=\"right\" style=\"padding-right:10px;\">" + string.gigabyteString (freedouble) + "</td>"); if system.environment.isMac { //file.filesOnVolume only works on MacOS add ("<td class=\"small\" align=\"right\" style=\"padding-right:10px;\">" + string.addCommas (files) + "</td>")}; add ("</tr>")}}; add ("</table>"); return (htmltext)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-09-08 05:52:41
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/resources/frontierIcons In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25079 Added Files: default Log Message: a way to see the icons at frontierIcons --- NEW FILE: default --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/resources/frontierIcons In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24385 Added Files: cactusIconSmall xmlCoffeeMug fatpage remote xml help skull Log Message: moved from resources.userlandIcons, more work on the road to separating userland from open source stuff left two radio icons in userlandIcons, my hope is that userland will be happy have open source tools that link into radio, kind of a low cost form of advertising --- NEW FILE: xml --- FrontierVcsFile:1:data:mainResponder.resources.frontierIcons.xml R0lGZkdJRjg5YSQADgDVAADVWATx1MDhXQT/9vD/chXgp4L36eDlXgT0ZAXtybHwYwX69O/fnnL/q3P34NDQcjPnvaH/49GfQQP/5tXlhEP/hTT/2sHOVQTNZyP/7eHns5Hoq4LUYRTwbBTkdy7dbiTwwaH418H/fCTmezPzwqH6llPwroIhDgH5soL/0bL/j0T/tIJ9MwL/mlfCUAQ/GgH/yKT/////ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh+QQAAAAAACwAAAAAJAAOAAAGysAJbEgsGo/Io6clazqf0Kg0ymJOr1iqtdmIDQgyVSxCWMVilSbsHI5ZplVoKJYgZGKPizkGQRDOMS5iAQBScU8iCzEOMQwuCGaKHysDZ4IxhIZbTiVnAS4HMmYQdAMkloOFWlFiMQYcTWYFIGcYqJiqUIdOBAMDjBqxMQUjdC63matPKY0PZxSiwwIILgC3BhsrKypPuzJdnwcorh2yAk63gDEmCk7eMgfVTQIuLjL05071Mgr1/vky3mUZSEXCi4MIEypcyHDhiSAAOw== --- NEW FILE: fatpage --- FrontierVcsFile:1:data:mainResponder.resources.frontierIcons.fatpage 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 --- NEW FILE: remote --- FrontierVcsFile:1:data:mainResponder.resources.frontierIcons.remote R0lGZkdJRjg5YQsACwDVAAD///8ANZyc3v9amLgxUmPu+f86VIrRzMzU0tLO7v/Iw8HIwsDHwLzHwLu9urq9ubi8uLe7t7WQ0vCFkpJ8hY17gIV5e3t5enl5eXh3dnJ2dG9ajZwxVGMiT3AiR2IZOUgYLCkVKSoVKCgVJSMVJSIUJCATLT8SJSsRKCgRHh4QISUNHykNGBIMJDELICMLHykLHx8LEwwIHysGEhIECg0BDw4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh+QQBAAAAACwAAAAACwALAAAGWEAAQEH5rFKZhhDgILkCgQKtAwEcRFCoQDAoHSywbGA7MFxmhcR4zDXITIXstq1qxeWDAaeG2Qi0eQQoEwcjEn9lBAQgCAAPITaKBC8eEUsLFScxLBoMQkEAOwA= --- NEW FILE: help --- FrontierVcsFile:1:data:mainResponder.resources.frontierIcons.help Z2lmIEdJRjg3YQwACwDEAAD/////+Pb/8O3/4dn/2c//ybn/wK7/rpT/pIb/mnb/j2X/g1H/dzf/aQX607n3qnewaTmXUyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAwACwAABT2gI47OY5pOo64slKoHMRSL6qoGoAMB09yNAADB0CV+D9ZBABjYkioF7/hkWRsRaCPRZGWv3gdkTIZEzpEQADs= --- NEW FILE: skull --- FrontierVcsFile:1:data:mainResponder.resources.frontierIcons.skull Z2lmIEdJRjg5YRYAEgCRAAD/////zpzOzv8AAAAh+QQBAAAAACwAAAAAFgASAAACQISPqcuNMwyM7oxAwc1tJ++AGhRgoamVGMpcmKuyC1ySdQVPeZeq9t0a0WIci+Y4iQE/yJ5PFkz6Kh8d9YptFAAAOw== --- NEW FILE: xmlCoffeeMug --- FrontierVcsFile:1:data:mainResponder.resources.frontierIcons.xmlCoffeeMug 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 --- NEW FILE: cactusIconSmall --- FrontierVcsFile:1:data:mainResponder.resources.frontierIcons.cactusIconSmall R0lGZkdJRjg5YRAAEACiBwCJrzxBYARUfAVxlyRcigBmmQAAAAD///8h+QQBAAAHACwAAAAAEAAQAAADSXi6as5wGVCIiefNUsSFmyEMnPdIpEFygVF96ku9K0wSwezVjc4VhgCvUVkRfpxPI4f8WUAzpyeyqbRO0JISU51ietpvxkEmMxIAOw== |
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/resources/userlandIcons In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21382 Removed Files: cactusIconSmall xml xmlCoffeeMug fatpage remote help skull Log Message: moved to resources.frontierIcons --- xml DELETED --- --- fatpage DELETED --- --- remote DELETED --- --- help DELETED --- --- skull DELETED --- --- xmlCoffeeMug DELETED --- --- cactusIconSmall DELETED --- |
|
From: creedon <icr...@us...> - 2005-09-08 03:10:34
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/resources/frontierIcons In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1249/frontierIcons Log Message: Directory /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/resources/frontierIcons added to the repository |
|
From: creedon <icr...@us...> - 2005-09-08 02:53:24
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/op In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29518 Modified Files: outlineToXml Log Message: commented out appstring and replaced with Frontier.getProgramName, changing UserLand Frontier to Frontier, needed to change for docserver rez verb changes I was documenting Index: outlineToXml =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/op/outlineToXml,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** outlineToXml 26 Mar 2005 19:43:18 -0000 1.1.1.1 --- outlineToXml 8 Sep 2005 02:53:16 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.op.outlineToXml ! on outlineToXml (adrOutline, ownerName=user.prefs.name, ownerEmail=user.prefs.mailAddress, adrCloud=nil) { ÇChanges: Ç1/28/03; 4:28:20 PM by JES ÇEncode entities in the window title. Prevents formation of mal-formed XML when the outline window contains less-than or greater-than characters. Ç5/24/02; 3:02:46 PM by JES ÇAdd an XML comment to the top of the file, saying what application generated the OPML. Cleaned up change notes. Ç12/20/01; 8:50:05 AM by DB ÇFixed target setting and set more window attributes before calling the kernel Ç12/19/01; 9:43:48 AM by DMB ÇAdded adrCloud parameter Ç7/19/01; 1:34:43 PM by JES ÇPreserve the window title, by patching the xml returned by the kernelCall. Ç7/18/01; 8:33:08 PM by JES ÇCopy the outline to a temporary outline contained in a local table object, instead of to @[windowTitle]^, to prevent the possibility of stomping on objects in the odb. Ç2/18/01; 4:58:37 PM by PBS ÇPreserve size, expansion state, scroll state, and window title. Ç1/1/01; 12:58:02 PM by DW ÇPreserve the dateCreated attribute of the OPML document. Ç1/1/01; 12:25:24 PM by DW ÇIn the 11/17 change the cure was worse than the disease. Now all outlines have a <title> of "localOutline". Not good. To work around this, I create a local outline with the same name as the original, then pass its address to the kernel. Ç11/17/00; 4:18:33 PM by JES ÇConvert a copy of the outline to opml instead of converting the outline itself, since if the outline is in text mode, the last-typed changes aren't added to the opml. Ç09/17/00; 4:06:33 PM by PBS ÇKernelized. Also added ownerName and ownerEmail optional parameters. Ç9/7/00; 2:53:03 PM by JES ÇSet the target to oldTarget before returning xmltext. Ç8/25/00; 11:13:16 AM by DW ÇVersion 1.0d2. Add <ownerName> and <ownerEmail> to the <head>. Ç07/27/00; 3:24:37 PM by PBS ÇEncode > characters as >, so the generated XML can be compiled later. Ç7/26/00; 6:38:36 PM by DW ÇEncode ampersands, quotes and less-thans in attributes. Ç7/19/00; 6:30:02 PM by DW ÇCreated. if date.versionLessThan (Frontier.version (), "7.0b21") { //script version on encode (s) { s = string.replaceall (s, "&", "&"); s = string.replaceall (s, "\"", """); s = string.replaceall (s, "<", "<"); s = string.replaceall (s, ">", ">"); //PBS 07/27/00: encode > characters, so XML can be compiled later return (s)}; local (scrollstate, expansionstate, windowtop, windowleft, windowheight, windowwidth, windowtitle); bundle { //set state variables based on the original window local (oldtarget = target.set (adroutline)); scrollstate = op.getscrollstate (); expansionstate = op.getexpansionstate (); window.getSize (adroutline, @windowwidth, @windowheight); window.getPosition (adroutline, @windowleft, @windowtop); windowtitle = window.gettitle (adroutline); };Çtarget.set (oldtarget) local (xmltext = "", indentlevel = 0); on add (s) { xmltext = xmltext + string.filledstring ("\t", indentlevel) + s + "\r"}; add ("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"); local (localoutline); localoutline = adroutline^; local (oldtarget = target.set (@localoutline)); add ("<outlineDocument version=\"1.0d2\">"); indentlevel++; bundle { //add <head> add ("<head>"); indentlevel++; add ("<title>" + xml.entityEncode (windowtitle, true) + "</title>"); add ("<dateCreated>" + date.netstandardstring (timecreated (adroutline)) + "</dateCreated>"); add ("<dateModified>" + date.netstandardstring (timemodified (adroutline)) + "</dateModified>"); add ("<ownerName>" + ownerName + "</ownerName>"); //PBS 09/17/00: ownerName is now an optional parameter to this verb add ("<ownerEmail>" + ownerEmail + "</ownerEmail>"); //PBS 09/17/00: ownerEmail is now an optional parameter to this verb bundle { //add expansion state local (expansionlist = string (expansionstate), num, s = ""); for num in expansionlist { s = s + num + ","}; s = string.delete (s, sizeof (s), 1); //delete last comma add ("<expansionState>" + s + "</expansionState>")}; add ("<vertScrollState>" + scrollstate + "</vertScrollState>"); bundle { //add <windowXxx> elements add ("<windowTop>" + windowtop + "</windowTop>"); add ("<windowLeft>" + windowleft + "</windowLeft>"); add ("<windowBottom>" + (windowtop + windowheight) + "</windowBottom>"); add ("<windowRight>" + (windowleft + windowwidth) + "</windowRight>")}; add ("</head>"); indentlevel--}; bundle { //add <body> add ("<body>"); indentlevel++; op.fullexpand (); op.firstsummit (); on visitLevel () { local (s); loop { s = "<outline text=\"" + encode (op.getlinetext ()) + "\""; bundle { //add attributes from refcon, if there are any local (data = op.getrefcon ()); if typeof (data) == binarytype { //has attributes local (attstable); unpack (@data, @attstable); for adr in @attstable { s = s + " " + nameof (adr^) + "=\"" + encode (adr^) + "\""}}}; //7/26/00 DW if script.isComment () { s = s + " isComment=\"true\""}; if op.go (right, 1) { add (s + "\>"); indentlevel++; visitLevel (); add ("</outline>"); indentlevel--; op.go (left, 1)} else { add (s + "\/>")}; if not op.go (down, 1) { break}}}; visitLevel (); add ("</body>"); indentlevel--}; add ("</outlineDocument>"); indentlevel--; target.set (oldTarget); // 09/07/00 JES return (xmltext)} else { //kernel version local (localoutline); local (adrtempoutline = @localoutline); adrtempoutline^ = adroutline^; local (oldTarget = target.set (adroutline)); bundle { //PBS 02/18/01, dmb 12/20/01: duplicate window size, pos, title, expansion & scroll state local (windowTitle = window.getTitle (adroutline)); //use title of window, not name of outline object if windowTitle == "" { //if title == "", use name of object windowTitle = nameOf (adroutline^)}; windowTitle = xml.entityEncode (windowTitle, true); //JES 1/28/03: prevent malformed XML local (horiz, vert, hpos, vpos); window.getSize (adroutline, @horiz, @vert); window.getPosition (adroutline, @hpos, @vpos); local (expansionState = op.getExpansionState ()); local (scrollState = op.getScrollState ()); target.set (adrtempoutline); window.setTitle (adrtempoutline, windowTitle); window.setSize (adrtempoutline, horiz, vert); window.setPosition (adrtempoutline, hpos, vpos); op.setExpansionState (expansionState); op.setScrollState (scrollState)}; settimecreated (adrtempoutline, timecreated (adrOutline)); local (xmltext); if date.versionLessThan (Frontier.version (), "7.1b43") { // no adrCloud on kernelCall (adrOutline, ownerName, ownerEmail) { kernel (op.outlineToXml)}; xmltext = kernelCall (adrtempoutline, ownerName, ownerEmail)} else { on kernelCall (adrOutline, ownerName, ownerEmail, adrCloud) { kernel (op.outlineToXml)}; xmltext = kernelCall (adrtempoutline, ownerName, ownerEmail, adrCloud)}; try {target.set (oldTarget)}; Çbundle //patch the <title> element Çlocal (ixstart = string.patternMatch ("<title>", xmltext) + 7) Çlocal (ixend = string.patternMatch ("</title>", xmltext)) Çxmltext = string.delete (xmltext, ixstart, ixend - ixstart) Çxmltext = string.insert (windowTitle, xmltext, ixstart) bundle { //add a comment saying what application generated the OPML ÇExample comment: Ç<!-- OPML generated by Radio UserLand v8.0.5 on Fri, 24 May 2002 20:43:14 GMT --> local (appstring); bundle { //set appstring if system.environment.isRadio { appstring = "Radio UserLand "} else { //Frontier appstring = "UserLand Frontier "}; appstring = appstring + "v" + frontier.version ()}; local (commenttext = "<!-- OPML generated by " + appstring + " on " + date.netStandardString (clock.now ()) + " -->\r\n"); local (ix = string.patternMatch ("<opml ", xmltext)); xmltext = string.insert (commenttext, xmltext, ix)}; return (xmltext)}} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.op.outlineToXml ! on outlineToXml (adrOutline, ownerName=user.prefs.name, ownerEmail=user.prefs.mailAddress, adrCloud=nil) { ÇChanges Ç9/7/05; 3:12:50 PM by TAC Çcommented out appstring and replaced with Frontier.getProgramName, changing UserLand Frontier to Frontier, needed to change for docserver rez verb changes I was documenting Ç1/28/03; 4:28:20 PM by JES ÇEncode entities in the window title. Prevents formation of mal-formed XML when the outline window contains less-than or greater-than characters. Ç5/24/02; 3:02:46 PM by JES ÇAdd an XML comment to the top of the file, saying what application generated the OPML. Cleaned up change notes. Ç2001 Ç12/20/01; 8:50:05 AM by DB ÇFixed target setting and set more window attributes before calling the kernel Ç12/19/01; 9:43:48 AM by DMB ÇAdded adrCloud parameter Ç7/19/01; 1:34:43 PM by JES ÇPreserve the window title, by patching the xml returned by the kernelCall. Ç7/18/01; 8:33:08 PM by JES ÇCopy the outline to a temporary outline contained in a local table object, instead of to @[windowTitle]^, to prevent the possibility of stomping on objects in the odb. Ç2/18/01; 4:58:37 PM by PBS ÇPreserve size, expansion state, scroll state, and window title. Ç1/1/01; 12:58:02 PM by DW ÇPreserve the dateCreated attribute of the OPML document. Ç1/1/01; 12:25:24 PM by DW ÇIn the 11/17 change the cure was worse than the disease. Now all outlines have a <title> of "localOutline". Not good. To work around this, I create a local outline with the same name as the original, then pass its address to the kernel. Ç2000 Ç11/17/00; 4:18:33 PM by JES ÇConvert a copy of the outline to opml instead of converting the outline itself, since if the outline is in text mode, the last-typed changes aren't added to the opml. Ç09/17/00; 4:06:33 PM by PBS ÇKernelized. Also added ownerName and ownerEmail optional parameters. Ç9/7/00; 2:53:03 PM by JES ÇSet the target to oldTarget before returning xmltext. Ç8/25/00; 11:13:16 AM by DW ÇVersion 1.0d2. Add <ownerName> and <ownerEmail> to the <head>. Ç07/27/00; 3:24:37 PM by PBS ÇEncode > characters as >, so the generated XML can be compiled later. Ç7/26/00; 6:38:36 PM by DW ÇEncode ampersands, quotes and less-thans in attributes. Ç7/19/00; 6:30:02 PM by DW ÇCreated. if date.versionLessThan (Frontier.version (), "7.0b21") { //script version on encode (s) { s = string.replaceall (s, "&", "&"); s = string.replaceall (s, "\"", """); s = string.replaceall (s, "<", "<"); s = string.replaceall (s, ">", ">"); //PBS 07/27/00: encode > characters, so XML can be compiled later return (s)}; local (scrollstate, expansionstate, windowtop, windowleft, windowheight, windowwidth, windowtitle); bundle { //set state variables based on the original window local (oldtarget = target.set (adroutline)); scrollstate = op.getscrollstate (); expansionstate = op.getexpansionstate (); window.getSize (adroutline, @windowwidth, @windowheight); window.getPosition (adroutline, @windowleft, @windowtop); windowtitle = window.gettitle (adroutline); };Çtarget.set (oldtarget) local (xmltext = "", indentlevel = 0); on add (s) { xmltext = xmltext + string.filledstring ("\t", indentlevel) + s + "\r"}; add ("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"); local (localoutline); localoutline = adroutline^; local (oldtarget = target.set (@localoutline)); add ("<outlineDocument version=\"1.0d2\">"); indentlevel++; bundle { //add <head> add ("<head>"); indentlevel++; add ("<title>" + xml.entityEncode (windowtitle, true) + "</title>"); add ("<dateCreated>" + date.netstandardstring (timecreated (adroutline)) + "</dateCreated>"); add ("<dateModified>" + date.netstandardstring (timemodified (adroutline)) + "</dateModified>"); add ("<ownerName>" + ownerName + "</ownerName>"); //PBS 09/17/00: ownerName is now an optional parameter to this verb add ("<ownerEmail>" + ownerEmail + "</ownerEmail>"); //PBS 09/17/00: ownerEmail is now an optional parameter to this verb bundle { //add expansion state local (expansionlist = string (expansionstate), num, s = ""); for num in expansionlist { s = s + num + ","}; s = string.delete (s, sizeof (s), 1); //delete last comma add ("<expansionState>" + s + "</expansionState>")}; add ("<vertScrollState>" + scrollstate + "</vertScrollState>"); bundle { //add <windowXxx> elements add ("<windowTop>" + windowtop + "</windowTop>"); add ("<windowLeft>" + windowleft + "</windowLeft>"); add ("<windowBottom>" + (windowtop + windowheight) + "</windowBottom>"); add ("<windowRight>" + (windowleft + windowwidth) + "</windowRight>")}; add ("</head>"); indentlevel--}; bundle { //add <body> add ("<body>"); indentlevel++; op.fullexpand (); op.firstsummit (); on visitLevel () { local (s); loop { s = "<outline text=\"" + encode (op.getlinetext ()) + "\""; bundle { //add attributes from refcon, if there are any local (data = op.getrefcon ()); if typeof (data) == binarytype { //has attributes local (attstable); unpack (@data, @attstable); for adr in @attstable { s = s + " " + nameof (adr^) + "=\"" + encode (adr^) + "\""}}}; //7/26/00 DW if script.isComment () { s = s + " isComment=\"true\""}; if op.go (right, 1) { add (s + "\>"); indentlevel++; visitLevel (); add ("</outline>"); indentlevel--; op.go (left, 1)} else { add (s + "\/>")}; if not op.go (down, 1) { break}}}; visitLevel (); add ("</body>"); indentlevel--}; add ("</outlineDocument>"); indentlevel--; target.set (oldTarget); // 09/07/00 JES return (xmltext)} else { //kernel version local (localoutline); local (adrtempoutline = @localoutline); adrtempoutline^ = adroutline^; local (oldTarget = target.set (adroutline)); bundle { //PBS 02/18/01, dmb 12/20/01: duplicate window size, pos, title, expansion & scroll state local (windowTitle = window.getTitle (adroutline)); //use title of window, not name of outline object if windowTitle == "" { //if title == "", use name of object windowTitle = nameOf (adroutline^)}; windowTitle = xml.entityEncode (windowTitle, true); //JES 1/28/03: prevent malformed XML local (horiz, vert, hpos, vpos); window.getSize (adroutline, @horiz, @vert); window.getPosition (adroutline, @hpos, @vpos); local (expansionState = op.getExpansionState ()); local (scrollState = op.getScrollState ()); target.set (adrtempoutline); window.setTitle (adrtempoutline, windowTitle); window.setSize (adrtempoutline, horiz, vert); window.setPosition (adrtempoutline, hpos, vpos); op.setExpansionState (expansionState); op.setScrollState (scrollState)}; settimecreated (adrtempoutline, timecreated (adrOutline)); local (xmltext); if date.versionLessThan (Frontier.version (), "7.1b43") { // no adrCloud on kernelCall (adrOutline, ownerName, ownerEmail) { kernel (op.outlineToXml)}; xmltext = kernelCall (adrtempoutline, ownerName, ownerEmail)} else { on kernelCall (adrOutline, ownerName, ownerEmail, adrCloud) { kernel (op.outlineToXml)}; xmltext = kernelCall (adrtempoutline, ownerName, ownerEmail, adrCloud)}; try {target.set (oldTarget)}; Çbundle //patch the <title> element Çlocal (ixstart = string.patternMatch ("<title>", xmltext) + 7) Çlocal (ixend = string.patternMatch ("</title>", xmltext)) Çxmltext = string.delete (xmltext, ixstart, ixend - ixstart) Çxmltext = string.insert (windowTitle, xmltext, ixstart) bundle { //add a comment saying what application generated the OPML ÇExample comment: Ç<!-- OPML generated by Radio UserLand v8.0.5 on Fri, 24 May 2002 20:43:14 GMT --> Çbundle // 9/7/05; 3:16:55 PM by TAC - appstring old code Çlocal (appString) Çbundle // old code - set appstring Çif system.environment.isRadio Çappstring = "Radio UserLand " Çelse //Frontier Çappstring = "UserLand Frontier " Çappstring = appstring + "v" + frontier.version () local (commentText = "<!-- OPML generated by " + Frontier.getProgramName () + " on " + date.netStandardString (clock.now ()) + " -->\r\n"); local (ix = string.patternMatch ("<opml ", xmlText)); xmlText = string.insert (commentText, xmlText, ix)}; return (xmlText)}} \ No newline at end of file |