comparison index.php @ 16:a64e8f968e7e

Fast abort if cachehit.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Wed, 19 Sep 2012 14:31:02 +0200
parents 91ee5f49907e
children ee2c31392ea3
comparison
equal deleted inserted replaced
15:f51be7b9711a 16:a64e8f968e7e
143 } 143 }
144 return $param_value; 144 return $param_value;
145 } 145 }
146 146
147 foreach ($files as $file) { 147 foreach ($files as $file) {
148 $script=$file->getAttribute("script"); 148 if ($file->getAttribute("script")) {
149 $cachable = false;
150 break;
151 }
152 else {
153 $src = $file->getAttribute("src");
154 $fname = "${lang}/${src}";
155 if (!file_exists($fname)) {
156 errorPage("Resource not found '${fname}'");
157 }
158 cache_time($fname);
159 }
160 }
161
162 if ($cachable)
163 cache_check($newest);
164
165 foreach ($files as $file) {
166 $script = $file->getAttribute("script");
149 if ($script) { 167 if ($script) {
150 $cachable = false; 168 $src = "";
151 $src=""; 169 $cwd = getcwd();
152 $cwd=getcwd();
153 170
154 $matches=array(); 171 $matches=array();
155 preg_match('/(.*\/)/', $script, $matches); 172 preg_match('/(.*\/)/', $script, $matches);
156 $dirname=$matches[0]; 173 $dirname=$matches[0];
157 preg_match('/([^\/]*)$/', $script, $matches); 174 preg_match('/([^\/]*)$/', $script, $matches);
160 $pipe=popen("php ${filename}","r"); 177 $pipe=popen("php ${filename}","r");
161 $file_content = stream_get_contents($pipe); 178 $file_content = stream_get_contents($pipe);
162 chdir("${cwd}"); 179 chdir("${cwd}");
163 } 180 }
164 else { 181 else {
165 $src=$file->getAttribute("src"); 182 $src = $file->getAttribute("src");
166 $fname = "${lang}/${src}"; 183 $fname = "${lang}/${src}";
167 $mtime = filemtime($fname); 184 $file_content = loadFile($fname);
168 if ($mtime > $newest) { 185 }
169 $newest = $mtime; 186 if(floatval($file_content) < 0) {
170 }
171 $file_content=loadFile($fname);
172 }
173 if(floatval($file_content)<0) {
174 errorPage("Resource not found '${lang}/${src}'"); 187 errorPage("Resource not found '${lang}/${src}'");
175 } 188 }
176 189
177 $filters=$file->getElementsByTagName("filter"); 190 $filters=$file->getElementsByTagName("filter");
178 foreach($filters as $filter) { 191 foreach($filters as $filter) {
192 $callString.=");"; 205 $callString.=");";
193 eval($callString); 206 eval($callString);
194 } 207 }
195 $out.= $file_content; 208 $out.= $file_content;
196 } 209 }
197 if ($cachable) 210
198 cache_check($newest);
199 211
200 212
201 $out.=' 213 $out.='
202 </div> 214 </div>
203 </body> 215 </body>