mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-05-29 06:25:18 -04:00
Filter accepts RegExp and primitive search sequences.
This commit is contained in:
parent
749a87eaf7
commit
84f543aca5
5 changed files with 42 additions and 22 deletions
|
@ -7,20 +7,23 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
global $H5AI_CONFIG;
|
global $H5AI_CONFIG;
|
||||||
$H5AI_CONFIG = array();
|
|
||||||
|
|
||||||
/*
|
$H5AI_CONFIG = array(
|
||||||
* This configuration assumes that h5ai is installed
|
|
||||||
* in the webroot directory of the Apache server.
|
|
||||||
*/
|
|
||||||
$H5AI_CONFIG["ROOT_ABS_PATH"] = safe_dirname(safe_dirname(__FILE__));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Files/folders that should not be listed. Specified
|
* This configuration assumes that h5ai is installed
|
||||||
* by the complete filename or by a regular expression.
|
* in the webroot directory of the Apache server.
|
||||||
* http://www.php.net/manual/en/function.preg-match.php
|
*/
|
||||||
*/
|
"ROOT_ABS_PATH" => safe_dirname(safe_dirname(__FILE__)),
|
||||||
$H5AI_CONFIG["IGNORE"] = array();
|
|
||||||
$H5AI_CONFIG["IGNORE_PATTERNS"] = array("/^\\./", "/^_h5ai/");
|
/*
|
||||||
|
* Files/folders that should not be listed. Specified
|
||||||
|
* by the complete filename or by a regular expression.
|
||||||
|
* http://www.php.net/manual/en/function.preg-match.php
|
||||||
|
*/
|
||||||
|
"IGNORE" => array(),
|
||||||
|
"IGNORE_PATTERNS" => array("/^\\./", "/^_h5ai/")
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -38,6 +38,18 @@
|
||||||
$filter.removeClass('current');
|
$filter.removeClass('current');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
parseFilterSequence = function (sequence) {
|
||||||
|
|
||||||
|
if (sequence.substr(0,3) === 're:') {
|
||||||
|
return new RegExp(sequence.substr(3));
|
||||||
|
}
|
||||||
|
|
||||||
|
sequence = $.map($.trim(sequence).split(/\s+/), function (part) {
|
||||||
|
|
||||||
|
return H5AI.util.reEscape(part);
|
||||||
|
}).join('|');
|
||||||
|
return new RegExp(sequence);
|
||||||
|
},
|
||||||
init = function () {
|
init = function () {
|
||||||
|
|
||||||
if (H5AI.core.settings.showFilter) {
|
if (H5AI.core.settings.showFilter) {
|
||||||
|
@ -63,7 +75,7 @@
|
||||||
val = $input.val();
|
val = $input.val();
|
||||||
|
|
||||||
if (val) {
|
if (val) {
|
||||||
filter(new RegExp(val));
|
filter(parseFilterSequence(val));
|
||||||
} else {
|
} else {
|
||||||
filter();
|
filter();
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,10 @@
|
||||||
return decodeURI(uri);
|
return decodeURI(uri);
|
||||||
} catch (err) {}
|
} catch (err) {}
|
||||||
return uri;
|
return uri;
|
||||||
|
},
|
||||||
|
reEscape = function (sequence) {
|
||||||
|
|
||||||
|
return sequence.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -108,7 +112,8 @@
|
||||||
getAbsHref: getAbsHref,
|
getAbsHref: getAbsHref,
|
||||||
parseSize: parseSize,
|
parseSize: parseSize,
|
||||||
formatSize: formatSize,
|
formatSize: formatSize,
|
||||||
checkedDecodeUri: checkedDecodeUri
|
checkedDecodeUri: checkedDecodeUri,
|
||||||
|
reEscape: reEscape
|
||||||
};
|
};
|
||||||
}());
|
}());
|
||||||
|
|
||||||
|
|
|
@ -14,11 +14,6 @@ function require_h5ai($lib) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
require_h5ai("/php/inc/H5ai.php");
|
|
||||||
$h5ai = new H5ai();
|
|
||||||
$options = $h5ai->getOptions();
|
|
||||||
|
|
||||||
|
|
||||||
function fail($code, $msg, $cond = true) {
|
function fail($code, $msg, $cond = true) {
|
||||||
if ($cond) {
|
if ($cond) {
|
||||||
echo "$code: $msg";
|
echo "$code: $msg";
|
||||||
|
@ -36,6 +31,11 @@ function checkKeys($keys) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
require_h5ai("/php/inc/H5ai.php");
|
||||||
|
$h5ai = new H5ai();
|
||||||
|
$options = $h5ai->getOptions();
|
||||||
|
|
||||||
|
|
||||||
list($action) = checkKeys(array("action"));
|
list($action) = checkKeys(array("action"));
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -256,8 +256,8 @@ class H5ai {
|
||||||
|
|
||||||
public function getHttpCode($absHref) {
|
public function getHttpCode($absHref) {
|
||||||
|
|
||||||
return $this->cachedHttpCode($absHref);
|
//return $this->cachedHttpCode($absHref);
|
||||||
// return $this->fetchHttpCode($absHref);
|
return $this->fetchHttpCode($absHref);
|
||||||
// return $this->guessHttpCode($absHref);
|
// return $this->guessHttpCode($absHref);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue