diff --git a/lib/wiki.php b/lib/wiki.php deleted file mode 100644 index 33c8d2311db..00000000000 --- a/lib/wiki.php +++ /dev/null @@ -1,866 +0,0 @@ -list_state != LIST_NONE) { - - $lclose = $this->do_list( " ",true ); - - } - - - - $sclose = ""; - - switch ($state) { - - case STATE_PARAGRAPH: - - $sclose = "
\n"; - - break; - - case STATE_BLOCKQUOTE: - - $sclose = "\n"; - - break; - - case STATE_PREFORM: - - $sclose = "\n"; - - break; - - case STATE_NOTIKI: - - $sclose = "\n"; - - break; - - } - - - - return $lclose . $sclose; - - } - - - - - - function do_replace( $line, $mark, $tag ) { - - // do the regex thingy for things like bold, italic etc - - // $mark is the magic character, and $tag the HTML tag to insert - - - - // BODGE: replace inline $mark characters in places where we want them ignored - - // they will be put back after main substitutue, stops problems with eg, and/or - - $bodge = chr(1); - - $line = eregi_replace( '([[:alnum:]])'.$mark.'([[:alnum:]])', '\\1'.$bodge.'\\2',$line ); - - - - $regex = '(^| |[(.,])'.$mark.'([^'.$mark.']*)'.$mark.'([^[:alnum:]]|$)'; - - $replace = '\\1<'.$tag.'>\\2'.$tag.'>\\3'; - - $line = eregi_replace( $regex, $replace, $line ); - - - - // BODGE: back we go - - $line = eregi_replace( $bodge, $mark, $line ); - - - - return $line; - - } - - - - function do_replace_sub( $line, $mark, $tag ) { - - // do regex for subscript and superscript (slightly different) - - // $mark is the magic character and $tag the HTML tag to insert - - - - $regex = $mark.'([^'.$mark.']*)'.$mark; - - $replace = '<'.$tag.'>\\1'.$tag.'>'; - - return eregi_replace( $regex, $replace, $line ); - - } - - - - function do_list( $line, $blank=false ) { - - // handle line with list character on it - - // if blank line implies drop to level 0 - - - - // get magic character and then delete it from the line if not blank - - if ($blank) { - - $listchar=""; - - $count = 0; - - } - - else { - - $listchar = $line{0}; - - $count = strspn( $line, $listchar ); - - $line = eregi_replace( "^[".$listchar."]+ ", "", $line ); - - } - - - - // find what sort of list this character represents - - $list_tag = ""; - - $item_tag = ""; - - $list_style = LIST_NONE; - - switch ($listchar) { - - case '*': - - $list_tag = "ul"; - - $item_tag = "li"; - - $list_style = LIST_UNORDERED; - - break; - - case '#': - - $list_tag = "ol"; - - $item_tag = "li"; - - $list_style = LIST_ORDERED; - - break; - - case ';': - - $list_tag = "dl"; - - $item_tag = "dd"; - - $list_style = LIST_DEFINITION; - - break; - - case ':': - - $list_tag = "dl"; - - $item_tag = "dt"; - - $list_style = LIST_DEFINITION; - - break; - - } - - - - // tag opening/closing regime now - fun bit :-) - - $tags = ""; - - - - // if depth has reduced do number of closes to restore level - - for ($i=$this->list_depth; $i>$count; $i-- ) { - - $close_tag = array_pop( $this->list_backtrack ); - - $tags = $tags . $close_tag; - - } - - - - // if depth has increased do number of opens to balance - - for ($i=$this->list_depth; $i<$count; $i++ ) { - - array_push( $this->list_backtrack, "$list_tag>" ); - - $tags = $tags . "<$list_tag>"; - - } - - - - // ok, so list state is now same as style and depth same as count - - $this->list_state = $list_style; - - $this->list_depth = $count; - - - - // apply formatting to remainder of line - - $line = $this->line_replace( $line ); - - - - if ($blank) { - - $newline = $tags; - - } - - else { - - $newline = $tags . "<$item_tag>" . $line . "$item_tag>"; - - } - - - - return $newline; - - } - - - - function line_replace( $line ) { - - // return line after various formatting replacements - - // have been made - order is vital to stop them interfering with each other - - - - if (IN_MOODLE==1) { - - global $CFG; - - } - - - - // convert < and > (kills HTML) - - $line = str_replace( ">", ">", $line ); - - $line = str_replace( "<", "<", $line ); - - - - // ---- (at least) means a\n";
-
- $buffer = $buffer . $this->line_replace( eregi_replace( "^>","",$line) ). "\n";
-
- $this->block_state = STATE_BLOCKQUOTE;
-
- }
-
- else
-
- if (eregi( "^ ",$line) ) {
-
- // preformatted text
-
- $buffer = $buffer . "\n";
-
- $buffer = $buffer . $this->line_replace($line) . "\n";
-
- $this->block_state = STATE_PREFORM;
-
- }
-
- else
-
- if (eregi("^\% ",$line) ) {
-
- // preformatted text - no processing
-
- $buffer = $buffer . "\n";
-
- $buffer = $buffer . eregi_replace( "^\%","",$line) . "\n";
-
- $this->block_state = STATE_NOTIKI;
-
- }
-
- else {
-
- // ordinary paragraph
-
- $buffer = $buffer . "\n";
-
- $buffer = $buffer . $this->line_replace($line) . "\n";
-
- $this->block_state = STATE_PARAGRAPH;
-
- }
-
- continue;
-
- }
-
-
-
- if (($this->block_state == STATE_PARAGRAPH) |
-
- ($this->block_state == STATE_BLOCKQUOTE) |
-
- ($this->block_state == STATE_PREFORM) ) {
-
- $buffer = $buffer . $this->line_replace($line) . "\n";
-
- continue;
-
- }
-
- elseif ($this->block_state == STATE_NOTIKI) {
-
- $buffer = $buffer . $line . "\n";
-
- }
-
- }
-
-
-
- // close off any block level tags
-
- $buffer = $buffer . $this->close_block( $this->block_state );
-
-
-
- // close off wiki div
-
- $buffer = $buffer . "