Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.init
<<Changes <<8/21/04; 9:39:47 AM by SK <<Init user.radio.prefs.flNewsPageSortNewestFirst to true, preserving current behavior. Linked to radio.html.viewNewsItems change that allows sorting by oldest or newest first. <<1/21/03; 7:54:01 AM by DW <<New callbacks for RSS file-writing, see radio.weblog.writeRssFile. <<12/22/02; 12:57:37 PM by JES <<Init user.radio.prefs.flOpenHomePageAtStartup to true, preserving current behavior. <<12/13/02; 9:11:41 AM by DW <<Initialize path for RSD file, user.radio.prefs.rsdXmlFilePath. <<11/5/02; 10:36:26 AM by DW <<Initialize the mail-from-aggregator feature -- call radio.aggregator.mailAggregator.init. <<10/27/02; 3:46:08 AM by JES <<On MacOS X, the default value of user.radio.prefs.flUseFileUrls is now false, since different browsers (and different versions of IE) support file URLs differently. <<6/12/02; 12:31:54 AM by JES <<Init the user.radio.callbacks.beforeWeblogPostForm and user.radio.callbacks.afterWeblogPostForm callback tables. <<5/8/02; 9:42:38 AM by DW <<Init user.radio.callbacks.writeRssFile. <<4/9/02; 4:15:18 PM by DW <<Initialize user.radio.prefs.flUpstreamDirectoryOpml. <<3/3/02; 12:44:31 PM by DW <<Init user.radio.prefs.flWebBugSimulator, call radio.aggregator.webBugSimulator.init. <<2/25/02; 7:05:59 PM by JES <<Initialize user.radio.prefs.weblogUpdates as a copy of weblogUpdates.data. <<2/18/02; 5:35:38 PM by DW <<Init user.radio.prefs.flUpstreamOnlyAfterPublish. <<2/11/02; 5:03:56 PM by DW <<Init user.radio.callbacks.firewall. <<2/8/02; 3:07:50 PM by DW <<Initialize user.radio.stats.dateLastUpdate. <<1/21/02; 7:43:46 AM by DW <<Init system.temp.radio.pingAfterUpstream. <<1/10/02; 12:55:09 PM by JES <<Changed ctStoriesOnNewsPage to 100. <<1/9/02; 12:27:37 PM by PBS <<New pref for disabling file:/// URLs: user.radio.prefs.flUseFileUrls. <<1/8/02; 7:35:54 PM by JES <<When not upgrading from 7.0.1, initialize user.radio.prefs.enclosures.flDownloadsEnabled to false. <<1/8/02; 6:35:32 PM by JES <<Set the correct path for user.radio.prefs.servicesXmlFilePath. <<1/7/02; 11:19:37 PM by JES <<Initialize user.radio.prefs.security.allowRemoteSystemPageAccess to false. <<1/3/02; 12:35:17 PM by DW <<Init user.radio.prefs.flEmptyLogsFolderOnStartup. <<12/31/01; 6:39:42 PM by JES <<Initialize user.radio.prefs.flLogThemeUpdates to true. <<12/31/01; 1:19:03 AM by JES <<Initialize user.radio.prefs.flUpdateThemesHourly to true. <<12/23/01; 11:29:44 PM by JES <<Init user.radio.prefs.browserBasedEditorSize to 9. <<12/19/01; 3:05:22 PM by JES <<Init user.radio.prefs.flLogWeblogPublish to false, instead of true, for new 7.1 (non-upgrading) users. <<12/19/01; 11:01:41 AM by JES <<Init user.radio.prefs.flNewsPageReturnAfterPost to false. <<12/18/01; 9:00:27 AM by DW <<Init user.radio.prefs.flLegacyUrlRedirects. <<12/17/01; 7:07:33 PM by DW <<Initialize user.radio.prefs.flBackupRendering and user.radio.prefs.renderingBackupFolder. <<12/16/01; 8:59:19 AM by DW <<Initialize user.radio.prefs.flBuildWeblogMonthNightly. <<12/14/01; 8:34:15 PM by DW <<Initialize user.radio.prefs.flWeblogArchive, user.radio.prefs.flLogWeblogArchive and user.radio.prefs.weblogArchiveFolder. <<12/6/01; 8:26:09 PM by DW <<Initialize user.radio.prefs.flLogWeblogsComPing. <<12/5/01; 3:57:41 PM by JES <<Only initialize websites.["#ftpSite"].url if user.radio.prefs.usernum is defined. <<12/5/01; 12:37:23 AM by JES <<Initialize items in the websites.["#ftpSite"] table. <<12/2/01; 8:46:24 AM by DW <<Initialize user.radio.settings.whenInstalled and user.radio.settings.flTrialVersion. <<Initialize user.radio.prefs.serialnumber. <<12/1/01; 11:33:14 AM by DW <<Init user.radio.settings.flPasswordStoredInCloud to false. <<11/27/01; 12:35:19 PM by DW <<Init system.temp.radio.recentlyWrittenWwwFiles. <<11/27/01; 12:17:39 PM by DW <<Init user.callbacks.fileWriteWholeFile, user.callbacks.fileSetModified. <<11/23/01; 4:42:14 PM by JES <<Init user.radio.prefs.flNewsPageDeleteCheckboxesDefault. If user.radio.prefs.newsPageDeleteCheckboxesDefault, copy its value, otherwise init to false. <<11/22/01; 7:52:22 PM by DW <<Init user.radio.settings.statusCenter. <<11/21/01; 11:00:06 AM by PBS <<Init user.radio.prefs.upstream.secsBetweenChecks -- default is 10 seconds. <<11/21/01; 1:27:30 AM by JES <<Init user.radio.prefs.upstream.folder to the new upstream folder -- the www folder. <<11/19/01; 2:52:57 PM by JES <<Initialize user.radio.prefs.flSystemEditor to false. <<11/9/01; 10:15:45 PM by DW <<Initialize user.radio.prefs.flLogHotlistReload. <<Comment initialization of user.radio.prefs.flLogNewSources. <<11/5/01; 12:06:58 AM by JES <<Init user.webserver.postFilters.addToServerLog. <<10/31/01; 2:58:39 PM by JES <<Commented out initialization of user.radio.stats.flNotifyWorkgroupOfNewStory. <<10/28/01; 2:54:08 AM by JES <<Moved initialization of writing services XML to after initializing user.radio.prefs.upstream. This is necessary because we need to call radio.weblog.init when initializing the path to save servicesXml, but radio.weblog.init references user.radio.prefs.upstream.folder. <<10/21/01; 10:46:59 AM by JES <<Init prefs for saving myServices.opml. <<10/19/01; 4:53:48 AM by JES <<Init user.radio.callbacks.downloadEnclosure. <<10/19/01; 3:19:46 AM by JES <<Init enclosure downloading prefs. <<10/18/01; 6:07:14 PM by JES <<Init user.radio.prefs.flBehindFirewall to false. Delete obsolete pref: user.radio.prefs.maxOutputItemsPerChannel. <<10/18/01; 12:17:57 PM by JES <<Make sure the port 5335 inetd daemon is running, if enabled, and not offline. <<10/18/01; 2:27:13 AM by JES <<Init user.radio.prefs.flLogNightlyUpdate. <<Init user.radio.prefs.flReadGlobalGlossaryNightly. <<Init user.radio.prefs.flReloadHotlistNightly. <<10/16/01; 6:57:03 PM by DW <<Initialize user.radio.prefs.defaultCloud. <<Updated initialization of user.radio.prefs.rssCloud to point to radio.xmlstoragesystem.com. <<10/16/01; 3:36:32 PM by JES <<If user.callbacks.tcpSetOffline is undefined, create the table. <<10/16/01; 12:56:36 PM by DW <<system.temp.radio was being initialized twice. <<Make sure the script in user.callbacks.tcpSetOffline is installed so we can ping the cloud when the user goes offline or comes back online. Also install script in user.callbacks.shutdown. <<10/7/01; 7:58:28 PM by JES <<Leave radio.data.flRebuildMenus in place, but set to false when rebuilding menus. This makes maintainence of the menus easier. <<9/23/01; 4:11:14 AM by JES <<If radio.data.flRebuildMenus is defined, rebuild the menu bar. <<11/8/01; 11:30:08 PM by PBS <<Set up callbacks for systemTray2Click and systemTrayRightClick. bundle { //init prefs if not defined (user.radio.prefs) { new (tabletype, @user.radio.prefs)}; if not defined (user.radio.prefs.editors) { new (tabletype, @user.radio.prefs.editors); user.radio.prefs.editors.["text/x-opml"] = frontier.getprogrampath ()}; if not defined (user.radio.prefs.passwords) { new (tabletype, @user.radio.prefs.passwords)}; if not defined (user.radio.prefs.imgFileCreator) { user.radio.prefs.imgFileCreator = user.html.prefs.imgFileCreator}; if not defined (user.radio.prefs.wwwfolder) { if defined (user.playlist.prefs.wwwfolder) { user.radio.prefs.wwwfolder = user.playlist.prefs.wwwfolder} else { user.radio.prefs.wwwfolder = file.folderFromPath (Frontier.getFilePath ()) + "www" + file.getPathChar ()}; file.surefolder (user.radio.prefs.wwwfolder)}; if not defined (user.radio.prefs.typesToRender) { new (tabletype, @user.radio.prefs.typesToRender); <<user.radio.prefs.typesToRender.["text/html"] = true user.radio.prefs.typesToRender.["text/plain"] = true; user.radio.prefs.typesToRender.["text/x-opml"] = true}; if not defined (user.radio.prefs.indexFileNames) { new (tabletype, @user.radio.prefs.indexFileNames); user.radio.prefs.indexFileNames.fname1 = "index.opml"; user.radio.prefs.indexFileNames.fname2 = "index.txt"; user.radio.prefs.indexFileNames.fname3 = "index.html"}; if not defined (user.radio.prefs.browserBasedEditorSize) { user.radio.prefs.browserBasedEditorSize = 9}; if not defined (user.radio.prefs.flBehindFirewall) { user.radio.prefs.flBehindFirewall = false}; if not defined (user.radio.prefs.flDirectoryListings) { user.radio.prefs.flDirectoryListings = true}; if not defined (user.radio.prefs.flTitleOnHomePage) { user.radio.prefs.flTitleOnHomePage = false}; if not defined (user.radio.prefs.flAddToDailyLogDatabase) { user.radio.prefs.flAddToDailyLogDatabase = true}; if not defined (user.radio.prefs.flLogWeblogPublish) { if defined (myUserLandData.prefs.flLogBlogPublish) { user.radio.prefs.flLogWeblogPublish = myUserLandData.prefs.flLogBlogPublish} else { user.radio.prefs.flLogWeblogPublish = false}}; if not defined (user.radio.prefs.flLogThemeUpdates) { user.radio.prefs.flLogThemeUpdates = true}; <<if not defined (user.radio.prefs.flLogNewSources) <<if defined (myUserLandData.prefs.flLogNewSources) <<user.radio.prefs.flLogNewSources = myUserLandData.prefs.flLogNewSources <<else <<user.radio.prefs.flLogNewSources = true if not defined (user.radio.prefs.flLogHotlistReload) { user.radio.prefs.flLogHotlistReload = true}; if not defined (user.radio.prefs.flLogWeblogsComPing) { user.radio.prefs.flLogWeblogsComPing = true}; if not defined (user.radio.prefs.flUpdateThemesHourly) { user.radio.prefs.flUpdateThemesHourly = true}; if not defined (user.radio.prefs.flSystemEditor) { user.radio.prefs.flSystemEditor = false}; if not defined (user.radio.prefs.maxDataFiles) { user.radio.prefs.maxDataFiles = 3}; if not defined (user.radio.prefs.ctStoriesOnNewsPage) { if defined (myUserLandData.prefs.ctStoriesOnHomePage) { user.radio.prefs.ctStoriesOnNewsPage = myUserLandData.prefs.ctStoriesOnHomePage} else { user.radio.prefs.ctStoriesOnNewsPage = 100}}; if not defined (user.radio.prefs.flNewsPageDeleteCheckboxesDefault) { if defined (user.radio.prefs.newsPageDeleteCheckboxesDefault) { user.radio.prefs.flNewsPageDeleteCheckboxesDefault = user.radio.prefs.newsPageDeleteCheckboxesDefault; delete (@user.radio.prefs.newsPageDeleteCheckboxesDefault)} else { user.radio.prefs.flNewsPageDeleteCheckboxesDefault = false}}; if not defined (user.radio.prefs.flNewsPageReturnAfterPost) { user.radio.prefs.flNewsPageReturnAfterPost = false}; if not defined (user.radio.prefs.flCacheNewsItemsPage) { if defined (myUserLandData.prefs.flCacheStoriesPage) { user.radio.prefs.flCacheNewsItemsPage = myUserLandData.prefs.flCacheStoriesPage} else { user.radio.prefs.flCacheNewsItemsPage = true}}; if not defined (user.radio.prefs.flNewsPageSortNewestFirst) { user.radio.prefs.flNewsPageSortNewestFirst=true}; if not defined (user.radio.prefs.flSaveDatabasesEveryMinute) { user.radio.prefs.flSaveDatabasesEveryMinute = true}; if not defined (user.radio.prefs.weblogArchiveFolder) { local (pc = file.getpathchar ()); user.radio.prefs.weblogArchiveFolder = frontier.pathstring + "backups" + pc + "weblogArchive" + pc}; if not defined (user.radio.prefs.flWeblogArchive) { user.radio.prefs.flWeblogArchive = false}; if not defined (user.radio.prefs.flLogWeblogArchive) { user.radio.prefs.flLogWeblogArchive = false}; if not defined (user.radio.prefs.flBuildWeblogMonthNightly) { user.radio.prefs.flBuildWeblogMonthNightly = true}; if not defined (user.radio.prefs.flBackupRendering) { user.radio.prefs.flBackupRendering = false}; if not defined (user.radio.prefs.renderingBackupFolder) { local (pc = file.getpathchar ()); user.radio.prefs.renderingBackupFolder = frontier.pathstring + "backups" + pc + "rendering" + pc}; if not defined (user.radio.prefs.flLegacyUrlRedirects) { user.radio.prefs.flLegacyUrlRedirects = true}; if not defined (user.radio.prefs.flEmptyLogsFolderOnStartup) { user.radio.prefs.flEmptyLogsFolderOnStartup = true}; if not defined (user.radio.prefs.flUpstreamOnlyAfterPublish) { user.radio.prefs.flUpstreamOnlyAfterPublish = false}; if not defined (user.radio.prefs.serialnumber) { user.radio.prefs.serialnumber = ""}; if not defined (user.radio.prefs.flUseFileUrls) { user.radio.prefs.flUseFileUrls = (not system.environment.isCarbon)}; if not defined (user.radio.prefs.flWebBugSimulator) { user.radio.prefs.flWebBugSimulator = true}; if not defined (user.radio.prefs.flUpstreamDirectoryOpml) { user.radio.prefs.flUpstreamDirectoryOpml = false}; if not defined (user.radio.prefs.flOpenHomePageAtStartup) { user.radio.prefs.flOpenHomePageAtStartup = true}; bundle { //init defaultCloud if not defined (user.radio.prefs.defaultCloud) { new (tabletype, @user.radio.prefs.defaultCloud)}; if not defined (user.radio.prefs.defaultCloud.flDebug) { user.radio.prefs.defaultCloud.flDebug = false}; if not defined (user.radio.prefs.defaultCloud.path) { user.radio.prefs.defaultCloud.path = "/RPC2"}; if not defined (user.radio.prefs.defaultCloud.port) { user.radio.prefs.defaultCloud.port = 80}; if not defined (user.radio.prefs.defaultCloud.protocol) { user.radio.prefs.defaultCloud.protocol = "xml-rpc"}; if not defined (user.radio.prefs.defaultCloud.rpcPath) { user.radio.prefs.defaultCloud.rpcPath = "/RPC2"}; if not defined (user.radio.prefs.defaultCloud.server) { user.radio.prefs.defaultCloud.server = "radio.xmlstoragesystem.com"}; if not defined (user.radio.prefs.defaultCloud.soapAction) { user.radio.prefs.defaultCloud.soapAction = "/xmlStorageSystem"}}; bundle { //init rssCloud if not defined (user.radio.prefs.rssCloud) { if defined (myUserLandData.prefs.rssCloud) { user.radio.prefs.rssCloud = myUserLandData.prefs.rssCloud} else { new (tabletype, @user.radio.prefs.rssCloud)}}; if not defined (user.radio.prefs.rssCloud.server) { user.radio.prefs.rssCloud.server = "radio.xmlstoragesystem.com"}; if not defined (user.radio.prefs.rssCloud.port) { user.radio.prefs.rssCloud.port = 80}; if not defined (user.radio.prefs.rssCloud.registerProcedure) { user.radio.prefs.rssCloud.registerProcedure = "xmlStorageSystem.rssPleaseNotify"}; if not defined (user.radio.prefs.rssCloud.path) { user.radio.prefs.rssCloud.path = "/RPC2"}; if not defined (user.radio.prefs.rssCloud.protocol) { user.radio.prefs.rssCloud.protocol = "xml-rpc"}}; bundle { //init flags for overnight tasks if not defined (user.radio.prefs.flReloadHotlistNightly) { user.radio.prefs.flReloadHotlistNightly = true}; if not defined (user.radio.prefs.flUpdateDatabaseNightly) { if defined (myUserLandData.prefs.flUpdateNightly) { user.radio.prefs.flUpdateDatabaseNightly = myUserLandData.prefs.flUpdateNightly} else { user.radio.prefs.flUpdateDatabaseNightly = true}}; if not defined (user.radio.prefs.flLogNightlyUpdate) { if defined (myUserLandData.prefs.flLogNightlyUpdate) { user.radio.prefs.flLogNightlyUpdate = myUserLandData.prefs.flLogNightlyUpdate} else { user.radio.prefs.flLogNightlyUpdate = true}}}; bundle { //init enclosure prefs if not defined (user.radio.prefs.enclosures) { new (tableType, @user.radio.prefs.enclosures)}; if not defined (user.radio.prefs.enclosures.flDownloadsEnabled) { if defined (myUserLandData.prefs.flEnclosureDownloadsEnabled) { user.radio.prefs.enclosures.flDownloadsEnabled = myUserLandData.prefs.flEnclosureDownloadsEnabled} else { user.radio.prefs.enclosures.flDownloadsEnabled = false}}; if not defined (user.radio.prefs.enclosures.flLogDownloads) { if defined (myUserLandData.prefs.flLogEnclosureDownloads) { user.radio.prefs.enclosures.flLogDownloads = myUserLandData.prefs.flLogEnclosureDownloads} else { user.radio.prefs.enclosures.flLogDownloads = true}}; if not defined (user.radio.prefs.enclosures.hourToStartDownloads) { if defined (myUserLandData.prefs.hourToStartDownloads) { user.radio.prefs.enclosures.hourToStartDownloads = myUserLandData.prefs.hourToStartDownloads} else { user.radio.prefs.enclosures.hourToStartDownloads = 1}}; if not defined (user.radio.prefs.enclosures.hourToStopDownloads) { if defined (myUserLandData.prefs.hourToStopDownloads) { user.radio.prefs.enclosures.hourToStopDownloads = myUserLandData.prefs.hourToStopDownloads} else { user.radio.prefs.enclosures.hourToStopDownloads = 1}}; if not defined (user.radio.prefs.enclosures.enclosureFolder) { if defined (myUserLandData.prefs.enclosureFolder) { user.radio.prefs.enclosures.enclosureFolder = myUserLandData.prefs.enclosureFolder} else { user.radio.prefs.enclosures.enclosureFolder = file.folderfrompath (frontier.getprogrampath ()) + "enclosures" + file.getpathchar ()}}; if not defined (user.radio.prefs.enclosures.flOutlineEnclosures) { if defined (myUserLandData.prefs.flOutlineEnclosures) { user.radio.prefs.enclosures.flOutlineEnclosures = myUserLandData.prefs.flOutlineEnclosures} else { user.radio.prefs.enclosures.flOutlineEnclosures = true}}}; bundle { //init weblogUpdates if not defined (user.radio.prefs.weblogUpdates) { user.radio.prefs.weblogUpdates = weblogUpdates.data}}}; bundle { //init drivers if not defined (user.radio.drivers) { new (tabletype, @user.radio.drivers)}; if not defined (user.radio.drivers.upstream) { new (tabletype, @user.radio.drivers.upstream)}}; bundle { //thread prefs if not defined (user.radio.prefs.thread) { new (tabletype, @user.radio.prefs.thread)}; if not defined (user.radio.prefs.thread.secsBetweenChecks) { if defined (user.playlist.data.upstream.secsBetweenChecks) { user.radio.prefs.thread.secsBetweenChecks = user.playlist.data.upstream.secsBetweenChecks} else { user.radio.prefs.thread.secsBetweenChecks = 10}}; if not defined (user.radio.prefs.thread.minuteToDoHourlyScan) { if defined (myUserLandData.prefs.minuteToDoHourlyScan) { user.radio.prefs.thread.minuteToDoHourlyScan = myUserLandData.prefs.minuteToDoHourlyScan} else { user.radio.prefs.thread.minuteToDoHourlyScan = 0}}; if defined (radio.thread.agents.getServerCapabilities) { //obsolete delete (@radio.thread.agents.getServerCapabilities)}}; bundle { //security prefs if not defined (user.radio.prefs.security) { if defined (myuserlanddata.prefs.security) { user.radio.prefs.security = myuserlanddata.prefs.security} else { new (tabletype, @user.radio.prefs.security)}}; if not defined (user.radio.prefs.security.allowRemotePost) { user.radio.prefs.security.allowRemotePost = false}; if not defined (user.radio.prefs.security.allowRemoteViewing) { user.radio.prefs.security.allowRemoteViewing = false}; if not defined (user.radio.prefs.security.remotePassword) { user.radio.prefs.security.remotePassword = ""}; if not defined (user.radio.prefs.security.remoteUsername) { user.radio.prefs.security.remoteUsername = "visitor"}; if not defined (user.radio.prefs.security.requireRemoteLogin) { user.radio.prefs.security.requireRemoteLogin = true}; if not defined (user.radio.prefs.security.allowRemoteSystemPageAccess) { user.radio.prefs.security.allowRemoteSystemPageAccess = false}}; bundle { //glossary prefs if not defined (user.radio.prefs.glossary) { new (tableType, @user.radio.prefs.glossary)}; if not defined (user.radio.prefs.glossary.url) { if defined (myUserLandData.prefs.glossaryUrl) { user.radio.prefs.glossary.url = myUserLandData.prefs.glossaryUrl} else { user.radio.prefs.glossary.url = radio.data.globalGlossaryUrl}}; if not defined (user.radio.prefs.glossary.logging) { if defined (myUserLandData.prefs.flLogGlossaryRead) { user.radio.prefs.glossary.logging = myUserLandData.prefs.flLogGlossaryRead} else { user.radio.prefs.glossary.logging = true}}; if not defined (user.radio.prefs.glossary.flReadNightly) { user.radio.prefs.glossary.flReadNightly = true}}; bundle { //responder if string (user.webserver.responders.default.methods.any) == "on any (pta) {\r\treturn (playlist.filesystemResponder (pta))}" { local (s = "on any (pta) {\r\treturn (radio.webserver.responder (pta))}"); script.newScriptObject (s, @user.webserver.responders.default.methods.any)}}; bundle { //port 5335 listener (calls builtins.webserver.server) if not defined (user.inetd.config.http2) { new (tableType, @user.inetd.config.http2); user.inetd.config.http2.count = 10; user.inetd.config.http2.daemon = @webserver.server; user.inetd.config.http2.noWait = true; user.inetd.config.http2.port = radio.data.daemonPort; user.inetd.config.http2.startup = user.inetd.config.http.startup; user.inetd.config.http2.timeout = 30}; if user.inetd.config.http2.startup { if not tcp.isOffline () { if not inetd.isDaemonRunning (@user.inetd.config.http2) { inetd.startOne (@user.inetd.config.http2)}}}}; bundle { //upstreaming prefs if not defined (user.radio.prefs.upstream) { new (tabletype, @user.radio.prefs.upstream)}; if not defined (user.radio.prefs.upstream.enabled) { if defined (user.playlist.data.upstream.enabled) { user.radio.prefs.upstream.enabled = user.playlist.data.upstream.enabled} else { user.radio.prefs.upstream.enabled = false}}; if not defined (user.radio.prefs.upstream.folder) { <<if defined (user.playlist.prefs.wwwFolder) <<user.radio.prefs.upstream.folder = user.playlist.prefs.wwwFolder <<else <<user.radio.prefs.upstream.folder = radio.file.getSubFolder (radio.data.folderNames.wwwSystemSubfolderName + "/" + radio.data.folderNames.wwwUpstreamSubfolderName) user.radio.prefs.upstream.folder = user.radio.prefs.wwwFolder; file.surefolder (user.radio.prefs.upstream.folder)}; bundle { //new multi-server items if not defined (user.radio.prefs.upstream.servers) { new (tableType, @user.radio.prefs.upstream.servers)}}; if not defined (user.radio.prefs.upstream.logging) { if defined (user.playlist.data.upstream.logging) { user.radio.prefs.upstream.logging = user.playlist.data.upstream.logging} else { user.radio.prefs.upstream.logging = true}}; if not defined (user.radio.prefs.upstream.secsBetweenChecks) { //PBS 11/21/01 user.radio.prefs.upstream.secsBetweenChecks = 10}; <<bundle //obsolete items to port? <<if not defined (user.radio.prefs.upstream.timeLastUpload) <<user.radio.prefs.upstream.timeLastUpload = date (0) <<if not defined (user.radio.prefs.upstream.timeLastServerCapabilities) <<user.radio.prefs.upstream.timeLastServerCapabilities = date (0) <<if not defined (user.radio.prefs.upstream.magicFolders) <<if defined (user.playlist.data.upstream.magicFolders) <<user.radio.prefs.upstream.magicFolders = user.playlist.data.upstream.magicFolders <<else <<new (tabletype, @user.radio.prefs.upstream.magicFolders) <<if not defined (user.radio.prefs.upstream.xmlStorageSystem) <<user.radio.prefs.upstream.xmlStorageSystem = xmlStorageSystem.data bundle { //delete obsolete prefs if defined (user.radio.prefs.upstream.account) { delete (@user.radio.prefs.upstream.account)}; if defined (user.radio.prefs.upstream.timeoutSeconds) { delete (@user.radio.prefs.upstream.timeoutSeconds)}; if defined (user.radio.prefs.upstream.maxFilesPerMessage) { delete (@user.radio.prefs.upstream.maxFilesPerMessage)}; if defined (user.radio.prefs.upstream.packetSizeLimit) { delete (@user.radio.prefs.upstream.packetSizeLimit)}; if defined (user.radio.settings.wwwUpstreamFolderUrl) { //obsolete delete (@user.radio.settings.wwwUpstreamFolderUrl)}; if defined (user.radio.prefs.maxOutputItemsPerChannel) { delete (@user.radio.prefs.maxOutputItemsPerChannel)}}}; bundle { //init servicesXml prefs -- must be done after upstreaming prefs <<10/28/01; 2:53:25 AM by JES <<This has to happen after upstreaming prefs because we need to call radio.weblog.init, which references user.radio.prefs.upstream.folder. if not defined (user.radio.prefs.flSaveServicesXml) { user.radio.prefs.flSaveServicesXml = true}; if not defined (user.radio.prefs.servicesXmlFilePath) { local (pc = file.getPathChar ()); with radio.data.foldernames, radio.data.filenames { user.radio.prefs.servicesXmlFilePath = radio.file.getRelativePath (user.radio.prefs.upstream.folder + wwwGemsSubFolderName + pc + servicesXmlFileName)}}}; <<with radio.data.foldernames, radio.data.filenames <<user.radio.prefs.servicesXmlFilePath = radio.file.getRelativePath (user.radio.prefs.upstream.folder + "rss" + pc + "misc" + pc + servicesXmlFileName) <<user.radio.prefs.servicesXmlFilePath = wwwSystemSubfolderName + "/" + wwwUpstreamSubfolderName + "/" + wwwRssCategorySubfolderName + "/misc/" + servicesXmlFileName bundle { //init user.radio.prefs.rsdXmlFilePath, 12/13/02 by DW if not defined (user.radio.prefs.rsdXmlFilePath) { user.radio.prefs.rsdXmlFilePath = radio.file.getRelativePath (user.radio.prefs.upstream.folder + radio.data.foldernames.wwwGemsSubFolderName + file.getPathChar () + radio.data.fileNames.weblogRsdFileName)}}; bundle { //callbacks if not defined (user.radio.callbacks) { new (tabletype, @user.radio.callbacks)}; if not defined (user.radio.callbacks.addToDailyLogDatabase) { if defined (user.playlist.callbacks.addToDailyLogDatabase) { user.radio.callbacks.addToDailyLogDatabase = user.playlist.callbacks.addToDailyLogDatabase} else { new (tabletype, @user.radio.callbacks.addToDailyLogDatabase)}}; if not defined (user.radio.callbacks.upstream) { if defined (user.playlist.callbacks.upstream) { user.radio.callbacks.upstream = user.playlist.callbacks.upstream} else { new (tabletype, @user.radio.callbacks.upstream)}}; if not defined (user.radio.callbacks.upstreamFileWasDeleted) { if defined (user.playlist.callbacks.upstreamFileWasDeleted) { user.radio.callbacks.upstreamFileWasDeleted = user.playlist.callbacks.upstreamFileWasDeleted} else { new (tabletype, @user.radio.callbacks.upstreamFileWasDeleted)}}; if not defined (user.radio.callbacks.downloadEnclosure) { if defined (myUserLandData.callbacks.downloadEnclosure) { user.radio.callbacks.downloadEnclosure = myUserLandData.callbacks.downloadEnclosure} else { new (tableType, @user.radio.callbacks.downloadEnclosure)}}; if not defined (user.radio.callbacks.firewall) { new (tableType, @user.radio.callbacks.firewall)}; if not defined (user.radio.callbacks.writeRssFile) { new (tableType, @user.radio.callbacks.writeRssFile)}; if not defined (user.radio.callbacks.beforeWeblogPostForm) { new (tableType, @user.radio.callbacks.beforeWeblogPostForm)}; if not defined (user.radio.callbacks.afterWeblogPostForm) { new (tableType, @user.radio.callbacks.afterWeblogPostForm)}; bundle { //new callbacks, see radio.weblog.writeRssFile, 1/21/03 by DW if not defined (user.radio.callbacks.writeRssNamespace) { new (tableType, @user.radio.callbacks.writeRssNamespace)}; if not defined (user.radio.callbacks.writeRssChannelElement) { new (tableType, @user.radio.callbacks.writeRssChannelElement)}; if not defined (user.radio.callbacks.writeRssItemElement) { new (tableType, @user.radio.callbacks.writeRssItemElement)}}}; bundle { //init settings if not defined (user.radio.settings) { new (tabletype, @user.radio.settings)}; if defined (user.radio.settings.flControlPanelExpanded) { //obsolete delete (@user.radio.settings.flControlPanelExpanded)}; if not defined (user.radio.settings.minuteToDoNightlyTasks) { user.radio.settings.minuteToDoNightlyTasks = random (5, 55)}; if not defined (user.radio.settings.files) { new (tabletype, @user.radio.settings.files)}; if not defined (user.radio.settings.statusCenter) { new (tabletype, @user.radio.settings.statusCenter)}; if not defined (user.radio.settings.statusCenter.whenMessageOfTheDayChanged) { user.radio.settings.statusCenter.whenMessageOfTheDayChanged = date (0)}; if not defined (user.radio.settings.statusCenter.messageOfTheDay) { user.radio.settings.statusCenter.messageOfTheDay = ""}; if not defined (user.radio.settings.flPasswordStoredInCloud) { user.radio.settings.flPasswordStoredInCloud = false}; if not defined (user.radio.settings.whenInstalled) { user.radio.settings.whenInstalled = clock.now ()}; if not defined (user.radio.settings.flTrialVersion) { //until a serial number is entered, all copies are Trial versions user.radio.settings.flTrialVersion = true}; if not defined (user.radio.settings.flExpired) { user.radio.settings.flExpired = false}}; bundle { //init stats if not defined (user.radio.stats) { new (tabletype, @user.radio.stats)}; if not defined (user.radio.stats.dateLastImageSave) { user.radio.stats.dateLastImageSave = date (0)}; if not defined (user.radio.stats.dateLastHit) { user.radio.stats.dateLastHit = date (0)}; if not defined (user.radio.stats.dateLastImageSave) { user.radio.stats.dateLastImageSave = date (0)}; if not defined (user.radio.stats.dateLastHelpSave) { user.radio.stats.dateLastHelpSave = date (0)}; if not defined (user.radio.stats.flNewStoryOpensInOutliner) { user.radio.stats.flNewStoryOpensInOutliner = false}; if not defined (user.radio.stats.dateLastUpdate) { user.radio.stats.dateLastUpdate = date (0)}}; <<if not defined (user.radio.stats.flNotifyWorkgroupOfNewStory) <<user.radio.stats.flNotifyWorkgroupOfNewStory = false bundle { //init temp table if not defined (system.temp.radio) { new (tabletype, @system.temp.radio)}; if not defined (system.temp.radio.hwCache) { new (tabletype, @system.temp.radio.hwCache)}; if not defined (system.temp.radio.menus) { new (tabletype, @system.temp.radio.menus)}; if not defined (system.temp.radio.datafiles) { new (tabletype, @system.temp.radio.datafiles)}; if not defined (system.temp.radio.htmlCache) { new (tabletype, @system.temp.radio.htmlCache)}; if not defined (system.temp.radio.upstreamSpecCache) { new (tabletype, @system.temp.radio.upstreamSpecCache)}; if not defined (system.temp.radio.recentlyChangedFolders) { new (tabletype, @system.temp.radio.recentlyChangedFolders)}; if not defined (system.temp.radio.misc) { new (tabletype, @system.temp.radio.misc)}; if not defined (system.temp.radio.stats) { new (tabletype, @system.temp.radio.stats)}; if not defined (system.temp.radio.stats.agentsTicks) { new (tabletype, @system.temp.radio.stats.agentsTicks)}; if not defined (system.temp.radio.recentlyWrittenWwwFiles) { new (tabletype, @system.temp.radio.recentlyWrittenWwwFiles)}; if not defined (system.temp.radio.pingAfterUpstream) { new (tabletype, @system.temp.radio.pingAfterUpstream)}}; bundle { //init the thread if not defined (user.scheduler.threads.radio) { user.scheduler.threads.radio = @radio.thread}}; bundle { //init callbacks if not defined (user.callbacks.tcpSetOffline) { new (tableType, @user.callbacks.tcpSetOffline)}; if not defined (user.callbacks.tcpSetOffline.radio) { user.callbacks.tcpSetOffline.radio = @radio.callbacks.tcpSetOffline}; if not defined (user.callbacks.shutdown.radio) { user.callbacks.shutdown.radio = @radio.callbacks.shutdown}; if not defined (user.callbacks.systemTrayIcon2Click) { //PBS 11/08/01: new system tray callbacks new (tableType, @user.callbacks.systemTrayIcon2Click)}; if not defined (user.callbacks.systemTrayIcon2Click.radio) { user.callbacks.systemTrayIcon2Click.radio = @radio.callbacks.systemTrayIcon2Click}; if not defined (user.callbacks.systemTrayIconRightClick) { new (tableType, @user.callbacks.systemTrayIconRightClick)}; if not defined (user.callbacks.systemTrayIconRightClick.radio) { user.callbacks.systemTrayIconRightClick.radio = @radio.callbacks.systemTrayIconRightClick}; if not defined (user.callbacks.fileWriteWholeFile) { new (tabletype, @user.callbacks.fileWriteWholeFile)}; if not defined (user.callbacks.fileWriteWholeFile.radio) { user.callbacks.fileWriteWholeFile.radio = @radio.file.writeFileCallback}; if not defined (user.callbacks.fileSetModified) { new (tabletype, @user.callbacks.fileSetModified)}; if not defined (user.callbacks.fileSetModified.radio) { user.callbacks.fileSetModified.radio = @radio.file.writeFileCallback}}; bundle { //init other things if not defined (user.webserver.prefs.ext2MIME.opml) { user.webserver.prefs.ext2MIME.opml = "text/x-opml"}; if not defined (user.webserver.postFilters.addToServerLog) { user.webserver.postFilters.addToServerLog = @radio.log.addToServerLog}; bundle { //init websites.["#ftpSite"] items local (adrftpsite = @websites.["#ftpSite"]); if defined (adrftpsite^) { if adrftpsite^.folder == "" { adrftpsite^.folder = user.radio.prefs.wwwFolder}; if adrftpsite^.url == "" { if defined (user.radio.prefs.usernum) { adrftpsite^.url = string.replace (radio.data.cloudUrls.homePage, "<%usernum%>", string.padWithZeros (user.radio.prefs.usernum, 7))}}}}; radio.aggregator.webBugSimulator.init (); radio.aggregator.mailAggregator.init ()}; bundle { //perform any necessary upgrades local (flrebuildmenus = false); if defined (user.menus.playlist) { delete (@user.menus.playlist); flrebuildmenus = true}; if not defined (user.menus.radio) { user.menus.radio = @radio.menu; flrebuildmenus = true}; if defined (radio.data.flRebuildMenus) { if radio.data.flRebuildMenus { menu.noSuite (); //reset the menu bar, no suite running radio.data.flRebuildMenus = false}}; if flrebuildmenus { system.menus.buildMenuBar ()}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.