plugins/SpecialLog.php
changeset 911 facff435cdaa
parent 910 e5de998b934b
child 913 3ec535acd11e
equal deleted inserted replaced
910:e5de998b934b 911:facff435cdaa
    80       $url = makeUrlNS('Special', "Log/{$append}{$type}={$value}");
    80       $url = makeUrlNS('Special', "Log/{$append}{$type}={$value}");
    81       
    81       
    82       redirect($url, '', '', 0);
    82       redirect($url, '', '', 0);
    83     }
    83     }
    84     $params = explode('/', $params);
    84     $params = explode('/', $params);
    85     foreach ( $params as $param )
    85     foreach ( $params as $i => $param )
    86     {
    86     {
    87       $param = str_replace('.2f', '/', dirtify_page_id($param));
    87       $param = str_replace('.2f', '/', dirtify_page_id($param));
    88       if ( preg_match('/^([a-z!]+)=(.+?)$/', $param, $match) )
    88       if ( preg_match('/^([a-z]+)!?=(.+?)$/', $param, $match) )
    89       {
    89       {
    90         $name =& $match[1];
    90         $name =& $match[1];
    91         $value =& $match[2];
    91         $value =& $match[2];
    92         switch($name)
    92         switch($name)
    93         {
    93         {
   106                 $output = new Output_Naked();
   106                 $output = new Output_Naked();
   107                 break;
   107                 break;
   108             }
   108             }
   109             break;
   109             break;
   110           case 'page':
   110           case 'page':
       
   111             // tolerate slashes
       
   112             $j = $i;
       
   113             while ( true )
       
   114             {
       
   115               if ( isset($params[++$j]) )
       
   116               {
       
   117                 if ( preg_match('/^([a-z]+)!?=(.+?)$/', $params[$j]) )
       
   118                   break;
       
   119                 
       
   120                 $value .= '/' . $params[$j];
       
   121               }
       
   122               else
       
   123               {
       
   124                 break;
       
   125               }
       
   126             }
   111             if ( get_class($perms) == 'sessionManager' )
   127             if ( get_class($perms) == 'sessionManager' )
   112             {
   128             {
   113               unset($perms);
   129               unset($perms);
   114               list($pid, $ns) = RenderMan::strToPageID($value);
   130               list($pid, $ns) = RenderMan::strToPageID($value);
   115               $perms = $session->fetch_page_acl($pid, $ns);
   131               $perms = $session->fetch_page_acl($pid, $ns);