1
Changeset 7082576 – MultiMag

Changeset 7082576


Ignore:
Timestamp:
Jan 23, 2013, 3:27:39 PM (10 years ago)
Author:
Blacklight <blacklight@…>
Branches:
master
Children:
140a723
Parents:
68302e0
Message:
  • Исправление регресса в википарсере
File:
1 edited

Legend:

Unmodified
Added
Removed
  • web/include/wikiparser.php

    r68302e0 r7082576  
    4747                $this->emphasis=array();
    4848        }
    49        
     49
    5050        function AddVariable($var, $value)
    5151        {
     
    7373
    7474                $listtypes = array(
    75                         '*'=>'ul class=\'items\'',
    76                         '#'=>'ol class=\'items\'',
     75                        '*'=>'ul',
     76                        '#'=>'ol',
    7777                );
    7878
     
    8080
    8181                $newlevel = ($close) ? 0 : strlen($matches[1]);
    82                
     82
    8383                while ($this->list_level!=$newlevel) {
    8484                        if(!$close)
     
    9292                                $listtype = '/'.array_pop($this->list_level_types);
    9393                                $this->list_level--;
     94                                $output .= "\n<{$listtype}>\n";
     95
    9496                        } else {
    9597                                $this->list_level++;
    9698                                array_push($this->list_level_types,$listtype);
     99                                $output .= "\n<{$listtype} class='items'>\n";
    97100                        }
    98                         $output .= "\n<{$listtype}>\n";
     101
    99102                }
    100103
     
    233236                        else
    234237                                $href = $this->reference_wiki.($namespace?$namespace.':':'').$this->wiki_link($href).'.html';
    235                 } 
     238                }
    236239                else {
    237240                        $nolink = true;
     
    246249                );
    247250        }
    248        
     251
    249252        function handle_definitions($matches) {
    250253                //var_dump($matches);
     
    258261                $data = preg_replace('/\(.*?\)/','',$data);
    259262                $data = preg_replace('/^.*?\:/','',$data);
    260                
     263
    261264                if($namespace=='title')
    262265                {
     
    331334                if($this->variables[$matches[2]])
    332335                        return $this->variables[$matches[2]];
    333        
     336
    334337                switch($matches[2]) {
    335338                        case 'CURRENTMONTH': return date('m');
     
    368371                                ')',
    369372                        'definitions'=>'('.
    370                                 '\(:'. // opening 
     373                                '\(:'. // opening
    371374                                        '(([^\]]*?)\s)?'. // variable
    372375                                        '([^\]]*?)'. // data
Note: See TracChangeset for help on using the changeset viewer.