Lets say this is my URL:
http://example.com/f...um-name-f1.html
this URL will show me the forum "forum-name".
Now, I have a lot of Hebrew names. (forums)
lets say:
http://example.com/forum/?????-f3.html
It will show a browser error, infinite loop.
This is the function that cause the error(I guess):
Code: Select all
function dice_the_url()
{
$url = $_SERVER['REQUEST_URI'];
$this->current_url = 'http://'.$_SERVER['HTTP_HOST'].$url;
uksort($this->the_rules, array($this,'sortr_longer'));
foreach ($this->the_rules as $key => $value)
{
$all_rules[$this->the_rules[$key][2]] = $this->the_rules[$key][0];
}
// $all_rules[$this->the_rules['topic_view_getnewpost'][2]] = $this->the_rules['topic_view_getnewpost'][0];
// $all_rules[$this->the_rules['topic_view_getlastpost'][2]] = $this->the_rules['topic_view_getlastpost'][0]; $all_rules[$this->the_rules['topic_multipage_rule'][2]] = $this->the_rules['topic_multipage_rule'][0];
// $all_rules[$this->the_rules['forum_multipage_rule'][2]] = $this->the_rules['forum_multipage_rule'][0];
// $all_rules[$this->the_rules['topic_rule'][2]] = $this->the_rules['topic_rule'][0];
// $all_rules[$this->the_rules['forum_rule'][2]] = $this->the_rules['forum_rule'][0];
// $all_rules[$this->the_rules['showuser_rule'][2]] = $this->the_rules['showuser_rule'][0];
if($this->call_list)
{
foreach ($this->call_list as $plugin)
{
$all_rules = $this->loaded_plugin[$plugin]->build_rule($all_rules);
}
}
// $all_rules['act=help$matches[1]'] = 'help.html(.*)';
//if we pop we dont continue
$poped = 0;
foreach($all_rules as $key_rule => $rule)
{
if(!$poped)
{
if(preg_match('@'.$rule.'@si',$url,$matches))
{
eval("\$new_query = \"{$key_rule}\";");
parse_str($new_query,$this->ipsclass->input);
// print_r($matches);
$poped = 1;
}
}
}