Changeset 1965
- Timestamp:
- 28/03/07 14:16:27 (1 year ago)
- Files:
-
- Trunk/core/js/main.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
Trunk/core/js/main.js
r1847 r1965 107 107 if(safeMode) 108 108 return false; 109 var configTiddlers = store.getTaggedTiddlers("systemConfig"); 109 var tiddlers = store.getTaggedTiddlers("systemConfig"); 110 var i, n, p, toLoad = [], nLoaded = 0, map = {}, nPlugins = tiddlers.length; 110 111 installedPlugins = []; 111 var hadProblem = false; 112 for(var t=0; t<configTiddlers.length; t++) { 113 tiddler = configTiddlers[t]; 114 pluginInfo = getPluginInfo(tiddler); 115 var startTime = new Date(); 116 if(isPluginExecutable(pluginInfo)) { 117 pluginInfo.executed = true; 118 pluginInfo.error = false; 112 for(i=0; i<nPlugins; i++) { 113 p = installedPlugins[i] = getPluginInfo(tiddlers[i]); 114 n = p.Name; 115 if(n) 116 map[n] = p; 117 if(n = p.Source) 118 map[n] = p; 119 } 120 var visit = function(p) { 121 if(!p || p.done) return; 122 p.done = 1; 123 var reqs = p.Requires; 124 if(reqs) { 125 reqs = reqs.readBracketedList(); 126 for(var i=0; i<reqs.length; i++) 127 visit(map[reqs[i]]); 128 } 129 toLoad.push(p); 130 }; 131 for(n in map) 132 visit(map[n]); 133 for(i=0; i<toLoad.length; i++) { 134 pluginInfo = p = toLoad[i]; 135 tiddler = p.tiddler; 136 if(isPluginExecutable(p)) { 137 p.executed = true; 138 var startTime = new Date(); 119 139 try { 120 if(tiddler.text && tiddler.text != "")140 if(tiddler.text) 121 141 window.eval(tiddler.text); 142 nLoaded++; 122 143 } catch(ex) { 123 pluginInfo.log.push(config.messages.pluginError.format([exceptionText(ex)])); 124 pluginInfo.error = true; 125 hadProblem = true; 144 p.log.push(config.messages.pluginError.format([exceptionText(ex)])); 145 p.error = true; 126 146 } 127 pluginInfo.startupTime = String((new Date()) - startTime) + "ms"; 147 pluginInfo.startupTime = String((new Date()) - startTime) + "ms"; 128 148 } else { 129 p luginInfo.warning = true;149 p.warning = true; 130 150 } 131 installedPlugins.push(pluginInfo); 132 } 133 return hadProblem; 151 } 152 return nLoaded != nPlugins; 134 153 } 135 154 136 155 function getPluginInfo(tiddler) 137 156 { 138 var p = store.getTiddlerSlices(tiddler.title,["Name","Description","Version"," CoreVersion","Date","Source","Author","License","Browsers"]);157 var p = store.getTiddlerSlices(tiddler.title,["Name","Description","Version","Requires","CoreVersion","Date","Source","Author","License","Browsers"]); 139 158 p.tiddler = tiddler; 140 159 p.title = tiddler.title;