[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
1 <?php 2 // $Id: save.php 19415 2005-10-14 14:08:53Z ralfbecker $ 3 4 // Macros for on-save features. 5 6 require_once (EGW_INCLUDE_ROOT.'/wiki/parse/html.php'); 7 require_once (EGW_INCLUDE_ROOT.'/wiki/parse/macros.php'); 8 9 // Define the link table. 10 function parse_define_links($text) 11 { 12 global $pagestore, $page, $ParseEngine, $Entity, $ParseObject; 13 static $called = 0; 14 15 $macros_index = -1; 16 $transclude_index = -1; 17 $elements_index = -1; 18 for($i = 0; $i < count($ParseEngine); $i++) 19 { 20 if($ParseEngine[$i] == 'parse_macros') 21 { $macros_index = $i; } 22 if($ParseEngine[$i] == 'parse_transclude') 23 { $transclude_index = $i; } 24 if($ParseEngine[$i] == 'parse_elements') 25 { $elements_index = $i; } 26 } 27 if($macros_index != -1) 28 { $ParseEngine[$macros_index] = 'parse_noop'; } 29 if($transclude_index != -1) 30 { $ParseEngine[$transclude_index] = 'parse_noop'; } 31 if($elements_index != -1) 32 { $ParseEngine[$elements_index] = 'parse_noop'; } 33 34 if(!$called) 35 { 36 $pagestore->clear_link($page); 37 $called = 1; 38 } 39 40 $j = count($Entity); 41 parseText($text, $ParseEngine, $ParseObject); 42 43 for(; $j < count($Entity); $j++) 44 { 45 if($Entity[$j][0] == 'ref') 46 { $pagestore->new_link($page, $Entity[$j][1]); } 47 } 48 49 if($macros_index != -1) 50 { $ParseEngine[$macros_index] = 'parse_macros'; } 51 if($transclude_index != -1) 52 { $ParseEngine[$transclude_index] = 'parse_transclude'; } 53 if($elements_index != -1) 54 { $ParseEngine[$elements_index] = 'parse_elements'; } 55 56 return $text; 57 } 58 59 // Define interwiki links. 60 function parse_define_interwiki($text) 61 { 62 global $pagestore, $page; 63 static $called = 0; 64 65 if(!$called) 66 { 67 $pagestore->clear_interwiki($page); 68 $called = 1; 69 } 70 71 if(preg_match('/^\\*InterWiki:\\s+([A-Z][A-Za-z]+)\s+(http:[^\\s]+)/', 72 $text, $result)) 73 { 74 $pagestore->new_interwiki($page, $result[1], $result[2]); 75 } 76 77 return $text; 78 } 79 80 // Define sisterwiki links. 81 function parse_define_sisterwiki($text) 82 { 83 global $pagestore, $page; 84 static $called = 0; 85 86 if(!$called) 87 { 88 $pagestore->clear_sisterwiki($page); 89 $called = 1; 90 } 91 92 if(preg_match('/^\\*SisterWiki:\\s+([A-Z][A-Za-z]+)\s+(http:[^\\s]+)/', 93 $text, $result)) 94 { 95 $pagestore->new_sisterwiki($page, $result[1], $result[2]); 96 } 97 98 99 return $text; 100 } 101 102 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |