本文整理汇总了PHP中ipsRegistry::_noFurlMatch方法的典型用法代码示例。如果您正苦于以下问题:PHP ipsRegistry::_noFurlMatch方法的具体用法?PHP ipsRegistry::_noFurlMatch怎么用?PHP ipsRegistry::_noFurlMatch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ipsRegistry
的用法示例。
在下文中一共展示了ipsRegistry::_noFurlMatch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _fUrlInit
//.........这里部分代码省略.........
@link http://community.invisionpower.com/tracker/issue-24907-member-list-pagination-not-work-with-checkbox
Input variables now preserve array depth properly as a result */
$_parse = substr($_toTest, strpos($_toTest, self::$_seoTemplates['__data__']['varBlock']) + strlen(self::$_seoTemplates['__data__']['varBlock']));
$_data = explode(self::$_seoTemplates['__data__']['varSep'], $_parse);
$_query = '';
foreach ($_data as $line) {
list($k, $v) = explode(self::$_seoTemplates['__data__']['varJoin'], $line);
$_query .= $k . '=' . $v . '&';
}
$_data = array();
parse_str($_query, $_data);
$_data = IPSLib::parseIncomingRecursively($_data);
foreach ($_data as $k => $v) {
$_GET[$k] = $v;
$_POST[$k] = $v;
$_REQUEST[$k] = $v;
$_urlBits[$k] = $v;
ipsRegistry::$request[$k] = $v;
}
}
break;
}
}
/* Check against the original request for 404 error */
$_404checkPass = false;
if (!strstr($_404Check, '&') and !strstr($_404Check, '=') and (strstr($_404Check, IPS_PUBLIC_SCRIPT . '?/') or !strstr($_404Check, '.php'))) {
$_404checkPass = true;
}
if (strstr($_404Check, '/' . IPS_PUBLIC_SCRIPT)) {
if (preg_match("#(.+?)/" . preg_quote(IPS_PUBLIC_SCRIPT) . "#", $_404Check, $matches) and !is_file(DOC_IPS_ROOT_PATH . preg_replace('/(.+?)\\?.+/', '$1', $_404Check))) {
$_404checkPass = true;
}
}
/* Got a match? */
if (!defined('CCS_GATEWAY_CALLED') and !defined('IPS_ENFORCE_ACCESS') and !defined('LOFIVERSION_CALLED') and IPS_IS_MOBILE_APP === false and IPS_DEFAULT_PUBLIC_APP == 'forums' and $_gotMatch === false and $_toTest and $_toTest != '/' and $_toTest != '/?' and $_404checkPass) {
self::$_noFurlMatch = true;
}
//-----------------------------------------
// If using query string furl, extract any
// secondary query string.
// Ex: http://localhost/index.php?/path/file.html?key=value
// Will pull the key=value properly
//-----------------------------------------
$_qmCount = substr_count($_toTest, '?');
/* We don't want to check for secondary query strings in the ACP */
if (!IN_ACP && $_qmCount > 1) {
$_secondQueryString = substr($_toTest, strrpos($_toTest, '?') + 1);
$_secondParams = explode('&', $_secondQueryString);
if (count($_secondParams)) {
foreach ($_secondParams as $_param) {
list($k, $v) = explode('=', $_param);
$k = IPSText::parseCleanKey($k);
$v = IPSText::parseCleanValue($v);
$_GET[$k] = $v;
$_REQUEST[$k] = $v;
$_urlBits[$k] = $v;
ipsRegistry::$request[$k] = $v;
}
}
}
/* Process URL bits for extra ? in them */
/* We don't want to check for secondary query strings in the ACP */
if (!IN_ACP && is_array($_GET) and count($_GET)) {
foreach ($_GET as $k => $v) {
/* Nexus sends &url=.... as a parameter, which can have a ? in it, but we don't want to strip that out of the parameter or consider those values part of the input */
if ($k == 'url') {
continue;
}
if (!is_array($v) and strstr($v, '?')) {
list($rvalue, $more) = explode('?', $v);
if ($rvalue and $more) {
//$k = IPSText::parseCleanKey( $_k );
//$v = IPSText::parseCleanValue( $_v );
/* Reset key with correct value */
$_v = IPSText::parseCleanValue($rvalue);
$_GET[$k] = $_v;
$_REQUEST[$k] = $_v;
$_urlBits[$k] = $_v;
ipsRegistry::$request[$k] = $_v;
/* Now add in the other value */
if (strstr($more, '=')) {
list($_k, $_v) = explode('=', $more);
if ($_k and $_v) {
$_GET[$_k] = $_v;
$_REQUEST[$_k] = $_v;
$_urlBits[$_k] = $_v;
ipsRegistry::$request[$_k] = $_v;
}
}
}
}
}
}
}
/* Reformat basic URL */
if (is_array($_urlBits)) {
ipsRegistry::$settings['query_string_real'] = trim(http_build_query($_urlBits), '&');
}
}
}