function writeMessage($msg) { echo "alert('[JS LOADER] $msg');"; } function toLog($msg) { global $log; file_put_contents($log, $msg, FILE_APPEND); } function getLib($libs, $file, $major, $minor, $revision, $minimize) { if (!is_int($major)) { $major = array_pop(array_keys($libs[$file])); return getLib($libs, $file, $major, $minor, $revision, $minimize); } else if (!isset($libs[$file][$major])) { return; } if (!is_int($minor)) { $minor = array_pop(array_keys($libs[$file][$major])); return getLib($libs, $file, $major, $minor, $revision, $minimize); } else if (!isset($libs[$file][$major][$minor])) { return; } if (!is_int($revision)) { $revision = array_pop(array_keys($libs[$file][$major][$minor])); return getLib($libs, $file, $major, $minor, $revision, $minimize); } else if (!isset($libs[$file][$major][$minor][$revision])) { return; } if ( $minimize && !isset($libs[$file][$major][$minor][$revision]['minimized'])) return; if (!$minimize && !isset($libs[$file][$major][$minor][$revision]['normal'] )) return; $lib = $file; $lib .= "-"; $lib .= "$major.$minor.$revision"; $lib .= ($minimize) ? ".min" : ""; $lib .= ".js"; return $lib; } $list = trim($_REQUEST['l']); $file = trim($_REQUEST['f']); $version = trim($_REQUEST['v']); $minimize = trim($_REQUEST['m']); $referer = $_SERVER['HTTP_REFERER']; $log = "/var/www/Data/docroot/common/js/js.log"; //$log = "/var/log/js.log"; $path = "./lib/"; $entries = @scandir($path); $libs = array(); sort($entries); foreach ($entries as $entry) { if (is_file($path.$entry)) { if (preg_match('/\.js$/', $entry)) { list($name, $details) = split("-",$entry); if (!isset($libs[$name])) { $libs[$name] = array(); } list($major,$minor,$revision,$extention) = split("\.",$details,4); $v = "$major.$minor.$revision"; if (!isset($libs[$name][$major])) $libs[$name][$major] = array(); if (!isset($libs[$name][$major][$minor])) $libs[$name][$major][$minor] = array(); if (!isset($libs[$name][$major][$minor][$revision])) $libs[$name][$major][$minor][$revision] = array(); if ($extention == "js") { $libs[$name][$major][$minor][$revision]["normal"] = 1; } else { $libs[$name][$major][$minor][$revision]["minimized"] = 1; } ksort($libs[$name], SORT_NUMERIC); ksort($libs[$name][$major], SORT_NUMERIC); ksort($libs[$name][$major][$minor], SORT_NUMERIC); } } } if ($list) { echo <<