function Q_script_urls($dir, $len = null, &$result = null, $was_link = false) { if (!isset($result)) { $result = array(); $len = strlen($dir); } $tree = new Q_Tree($result); $filenames = glob($dir . DS . '*'); foreach ($filenames as $f) { $u = substr($f, $len); if (!empty($result[$u])) { continue; } if (!is_dir($f)) { $parts = explode('/', $u); $parts[] = filemtime($f); call_user_func_array(array($tree, 'set'), $parts); } $is_link = is_link($f); // do depth first search, following symlinks one level down if (!$was_link or !$is_link) { Q_script_urls($f, $len, $result, $was_link or $is_link); } } return $result; }
function Q_script_urls($dir, $len = null, &$result = null, $was_link = false) { if (!isset($result)) { $result = array(); $len = strlen($dir); } $filenames = glob($dir . DS . '*'); foreach ($filenames as $f) { $u = substr($f, $len); if (!empty($result[$u])) { continue; } if (!is_dir($f)) { $result[$u] = filemtime($f); } $is_link = is_link($f); // do depth first search, following symlinks one level down if (!$was_link or !$is_link) { Q_script_urls($f, $len, $result, $was_link or $is_link); } } return $result; }