From 815aeeaff940a0981ecace49dc6353f35cf448a3 Mon Sep 17 00:00:00 2001
From: Urban Müller
Date: Thu, 26 Nov 2015 18:47:28 +0100
Subject: correctly create checksums on devel, benefit from implied lib/itjs

---
 itjs.class | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/itjs.class b/itjs.class
index 539f97b..903f9bc 100644
--- a/itjs.class
+++ b/itjs.class
@@ -115,7 +115,7 @@ static function encode($values)
 static function filenames($filelist)
 {
 	$result = array();
-	$path = $GLOBALS['ULTRAHOME'] . "/itjs";
+	$local = $GLOBALS['ULTRAHOME'] . "/itjs";
 	$itjs = "/www/server/phpinclude/itools/itjs";
 	$libsearch = strlen($GLOBALS['debug_lib']) > 1 ? "/www/lib-" . $GLOBALS['debug_lib'] . ".search.ch" : "/www/lib.search.ch";
 	$special = array(
@@ -124,22 +124,13 @@ static function filenames($filelist)
 		"state.html" => "$itjs/state.html",
 		"error.gif" => "$itjs/error.gif",
 		"search.css" => "$libsearch/doc/search.css",
-		"searchlib.js" => "$libsearch/itjs/searchlib.js",
-		"sl_state.js" => "$libsearch/itjs/sl_state.js",
-		"sl_dropdown.js" => "$libsearch/itjs/sl_dropdown.js",
-		"sl_collapse.js" => "$libsearch/itjs/sl_collapse.js",
-		"sl_adid_debug.js" => "$libsearch/itjs/sl_adid_debug.js",
-		"locateme.js" => "$libsearch/itjs/locateme.js",
 		"prettyprint.css" => "$libsearch/doc/prettyprint.css",
 		"PIE.htc" => "$libsearch/doc/PIE.htc",
 	);
 
-	if (it::is_devel() && it::match("[^-\w.=?&,]", basename($filelist)))
-		it::error("bad filelist $filelist");
-
-	foreach (it::match("[-\w.=?&]+", basename($filelist), array('all' => true)) as $file)
+	foreach (it::match("[-\w.=?&]+", basename($filelist), array('all' => true)) as $file) # split by comma but ignore illegal chars
 	{
-		$filenames = $special[$file] ?: (file_exists("$path/$file") ? "$path/$file" : "$libsearch/itjs/$file");
+		$filenames = $special[$file] ?: (file_exists("$local/$file") ? "$local/$file" : "$libsearch/itjs/$file");
 
 		foreach (explode(",", $filenames) as $filename)
 			if (!$seen[$filename]++)
@@ -201,7 +192,7 @@ static function checksum($fnlist, $p = array())
 {
 	$p += array('short_expire' => true);
 
-	$filenames = array_merge(is_array($fnlist) ? $fnlist : itjs::filenames($fnlist), array("/www/lib.search.ch/var/jquery-ui/dist/minified/jquery.ui.core.min.js", "/www/lib.search.ch/var/jquery/dist/jquery.min.js")); # jquery files included by lib/jquery.js
+	$filenames = array_merge(itjs::filenames(join(",", (array)$fnlist)), array("/www/lib.search.ch/var/jquery-ui/dist/minified/jquery.ui.core.min.js", "/www/lib.search.ch/var/jquery/dist/jquery.min.js")); # jquery files included by lib/jquery.js
 	$key = "itjs_" . md5(join("", it::map('"$v" . @filemtime("$v")', $filenames)));
 
 	if ($p['short_expire'] && (time() - max(@array_map('filemtime', $filenames)) < 60))
-- 
cgit v1.2.3