00001 <?PHP
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00028 function globalID_page( $splitID )
00029 {
00030         global $language;
00031         $pageID = null;
00032         
00033         if( $splitID[0] == "content" )
00034         {
00035                 
00036                 if( $splitID[2] != null )
00037                 {
00038                         if( is_numeric( $splitID[2] ) )
00039                                 $_REQUEST["page_id"] = $splitID[2];
00040                         else
00041                         {
00042                                 $_REQUEST["page_id"] = getPageID( stripslashes( urldecode( $splitID[2] ) ) );
00043                                 $_REQUEST["page"] = stripslashes( urldecode( $splitID[2] ) );
00044                         }
00045                         $_REQUEST["language"] = $splitID[1];
00046                         $language = $_REQUEST["language"];
00047                 }
00048                 else
00049                         $_REQUEST["page_id"] = getPageID($splitID[1]);
00050                 
00051                 include("i18n.php");
00052                 $pageID = $_REQUEST["page_id"];
00053         }
00054         
00055         return $pageID;
00056 }
00057 
00058 $modules_globalID[] = "globalID_page";
00059 
00068 function showPageHelp($language = "en", $setupfolder = "setup") {
00069         $txtfile = "$setupfolder/i18n/$language/pagehelp.inc";
00070         if (!(file_exists($txtfile))) $txtfile = "$setupfolder/i18n/en/pagehelp.inc";
00071         if (file_exists($txtfile)) {
00072                 $fp = fopen($txtfile, "r");
00073                 $contents = fread($fp, filesize($txtfile));
00074                 fclose($fp);
00075                 return $contents;
00076         } else {
00077                 return "Internationalisation error...";
00078         }
00079 }
00080 
00081 class Page {
00082         var $ERRORS;
00083         var $securitymeasures = "<?php die(\"access denied\"); ?>\n";
00084 
00094         function fetchPageData($page_id, $language = "en", $page_folder = "setup/pages") {
00095                 if ($language == "") $language = "en";
00096                 $txtfile = "$page_folder/$page_id.$language.php";
00097                 if (!file_exists($txtfile)) {
00098                         $txtfile = "$page_folder/$page_id.en.php";
00099                         if (!file_exists($txtfile)) {
00100                                 $txtfile = "$page_folder/$page_id.$language.txt";
00101                                 
00102                                 if (!file_exists($txtfile)) $txtfile = "$page_folder/$page_id.en.txt";
00103                         }
00104                 }
00105                 
00106                 if (file_exists($txtfile)) {
00107                         $fp = fopen($txtfile, "r");
00108                         $contents = fread($fp, filesize($txtfile));
00109                         if (substr($contents, 0, strlen($this->securitymeasures)) == $this->securitymeasures) $contents = substr($contents, strlen($this->securitymeasures));
00110                         $contents = unserialize(&$contents);
00111                         if (!empty($contents["date"])) {
00112                                 $data = $contents;
00113                         }
00114                         $data = array_reverse($data);
00115                         fclose($fp);
00116                 } else {
00117                         $data["author"] = $owner_name;
00118                         $data["email"] = $owner_email;
00119                         $data["menu"] = 0;
00120                         $data["title"] = i18n("Unknown page");
00121                         $data["content"] = i18n("The page was not found on the system. Please return to the ((Front page)) and try again.");
00122                         $data["date"] = date("F j, Y, g:i a");
00123                 }
00124                 return $data;
00125         }
00126 
00132         function fetchPageList($page_folder) {
00133         
00134                 $fp = opendir($page_folder);
00135                 $array_index = 0;
00136                 while ($file = readdir($fp)) {
00137                         if( substr($file, 0, 1) != "." ) {
00138                                         $dirarray[$array_index] = $file;
00139                                         $array_index++;
00140                         }
00141                 }
00142                 closedir($fp);
00143 
00144                 if (count($dirarray) > 0) {
00145                         
00146                         $array_index = 0;
00147                         foreach ($dirarray as $key => $value) {
00148                                 $fpn = fopen("$page_folder/$value", "r");
00149                                 $contents = fread($fpn, filesize("$page_folder/$value"));
00150                                 if (substr($contents, 0, strlen($this->securitymeasures)) == $this->securitymeasures) $contents = substr($contents, strlen($this->securitymeasures));
00151                                 $contents = unserialize(&$contents);
00152                                 if (!empty($contents["date"]))
00153                                         $loaded_data = $contents;
00154                                 else
00155                                         $loaded_data = array();
00156                                 
00157                                 $loaded_data = array_reverse($loaded_data);
00158                                 fclose($fpn);
00159                                 $id = $loaded_data["id"];
00160                                 $data["$id"]["id"] = $loaded_data["id"];
00161                                 $data["$id"]["language"][] = $loaded_data["language"];
00162                                 $data["$id"]["title"][] = $loaded_data["title"];
00163                                 $array_index++;
00164                         }
00165                         return $data;
00166                 } else {  
00167                         return array(   "100" => array("id" => 100, "language" => array("en", "dk"), "title" => array("No pages so far", "Ingen sider endnu")),
00168                                                         "101" => array("id" => 101, "language" => array("en", "dk"), "title" => array("No pages so far 2", "Ingen sider endnu 2")));
00169                 }
00170         }
00171 
00180         function getFreePageID($page_folder, $page_control) {
00181                 $page_list = $page_control->fetchPageList($page_folder);
00182                 $array_index = 100;
00183                 while (true) {
00184                         
00185                         if ($page_list["$array_index"]["id"] == "" || $page_list[101]["title"][0] == "No pages so far 2") {
00186                                 $free_id = $array_index;
00187                                 break;
00188                         }
00189                         $array_index++;
00190                 }
00191                 return $free_id;
00192         }
00193 
00208         function savePageData($page_folder, $page_id, $page_language = "en", $page_author, $page_author_email, $page_menu, $page_title, $page_content) {
00209                 if ($page_language == "") $page_language = "en";
00210 
00211                 $txtfile_old = "$page_folder/$page_id.$page_language.txt";
00212                 $txtfile = "$page_folder/$page_id.$page_language.php";
00213                 if (file_exists($txtfile_old)) { rename($txtfile_old, $txtfile); }
00214                 
00215                 
00216 
00217 
00218 
00219 
00220 
00221 
00222 
00223 
00224                 $page_content = stripslashes($page_content);
00225                 $page_title = stripslashes($page_title);
00226                 
00227                 $data = array(  "id"                    => $page_id,
00228                                 "language"              => $page_language,
00229                                 "author"                => $page_author,
00230                                 "email"                 => $page_author_email,
00231                                 "menu"                  => $page_menu,
00232                                 "title"                 => $page_title,
00233                                 "content"               => $page_content,
00234                                 "date"                  => date("F j, Y, g:i a"));
00235                 $data = serialize($data);
00236                 if (file_exists($txtfile)) unlink($txtfile);
00237                 $fp = fopen($txtfile, "a");
00238                 if ($fp) {
00239                         $fp = fwrite($fp, $this->securitymeasures . $data); 
00240                         chmod($txtfile, 0664);
00241                         return true;
00242                 } else {
00243                         $this->ERRORS = "Could not save page.";
00244                         return false;
00245                 }
00246         }
00247 
00257         function fetchMenuMenu($menu_folder, $menu_id, $language = "en") {
00258                 if ($language == "") $language = "en";
00259                 if ($menu_id == 1) { 
00260                         $data = "
00261                         <div class=\"menutext\"><a class=\"menutext\" href=\"" . globalIDtoURL("setup") . "\">" . i18n("Site setup") . "</a></div>
00262                         <div class=\"menutext\"><em>" . i18n("Manage") . "...</em></div>
00263                         <div class=\"menutext\"><a class=\"menutext\" href=\"" . globalIDtoURL("setup/pagesetup") . "\"> " . i18n("Pages") . "</a></div>
00264                         <div class=\"menutext\"><a class=\"menutext\" href=\"" . globalIDtoURL("setup/menusetup") . "\"> " . i18n("Menus") . "</a></div>
00265                         <div class=\"menutext\"><a class=\"menutext\" href=\"" . globalIDtoURL("setup/users") . "\"> " . i18n("Users") . "</a></div>
00266                         <div class=\"menutext\"><a class=\"menutext\" href=\"" . globalIDtoURL("setup/themes") . "\"> " . i18n("Themes") . "</a></div>
00267                         <div class=\"menutext\"><a class=\"menutext\" href=\"" . globalIDtoURL("setup/files") . "\"> " . i18n("Files") . "</a></div>
00268                         <div class=\"menutext\"><a class=\"menutext\" href=\"" . globalIDtoURL("setup/modulesetup") . "\"> " . i18n("Modules") . "</a></div>
00269                         ";
00270                 } else {
00271                         $txtfile = "$menu_folder/$menu_id.$language.php";
00272                         if (!file_exists($txtfile)) {
00273                                 $txtfile = "$menu_folder/$menu_id.en.php";
00274                                 if (!file_exists($txtfile)) {
00275                                         $txtfile = "$menu_folder/$menu_id.$language.txt";
00276                                         
00277                                         if (!file_exists($txtfile)) $txtfile = "$menu_folder/$menu_id.en.txt";
00278                                 }
00279                         }
00280                         if (file_exists($txtfile)) {
00281                                 $fp = fopen($txtfile, "r");
00282                                 $contents = fread($fp, filesize($txtfile));
00283                                 if (substr($contents, 0, strlen($this->securitymeasures)) == $this->securitymeasures) $contents = substr($contents, strlen($this->securitymeasures));
00284                                 $contents = unserialize(&$contents);
00285                                 if (!$contents["menu"] == "" or $menu_id == 0) { 
00286                                         $data = $contents["menu"];
00287                                 } else { 
00288                                         $data = $this->fetchMenuMenu($menu_folder, 0);
00289                                 }
00290                                 fclose($fp);
00291                         } else { 
00292                                 if (strlen($data) < 1) {
00293                                         $data = "((" . i18n("Front page") . "))";
00294                                 }
00295                         }
00296                 }
00297 
00298                 
00299 
00300 
00301 
00302 
00303 
00304                 
00305 
00306                 return $data;
00307         }
00308 
00317         function fetchMenuTitle($menu_folder, $menu_id, $language = "en") {
00318                 if ($language == "") $language = "en";
00319                 if ($menu_id == 1) { 
00320                         $data = i18n("Setup");
00321                 } else {
00322                         $txtfile = "$menu_folder/$menu_id.$language.php";
00323                         if (!file_exists($txtfile)) {
00324                                 $txtfile = "$menu_folder/$menu_id.en.php";
00325                                 if (!file_exists($txtfile)) {
00326                                         $txtfile = "$menu_folder/$menu_id.$language.txt";
00327                                         
00328                                         if (!file_exists($txtfile)) $txtfile = "$menu_folder/$menu_id.en.txt";
00329                                 }
00330                         }
00331                         if (file_exists($txtfile)) {
00332                                 $fp = fopen($txtfile, "r");
00333                                 $contents = fread($fp, filesize($txtfile));
00334                                 if (substr($contents, 0, strlen($this->securitymeasures)) == $this->securitymeasures) $contents = substr($contents, strlen($this->securitymeasures));
00335                                 $contents = unserialize(&$contents);
00336                                 if (!$contents["title"] == "" or $menu_id == 0) { 
00337                                         $data = $contents["title"];
00338                                 } else { 
00339                                         $data = $this->fetchMenuTitle($menu_folder, 0);
00340                                 }
00341                                 fclose($fp);
00342                         } else { 
00343                                 if (strlen($data) < 1) {
00344                                         $data = i18n("Default");
00345                                 }
00346                         }
00347                 }
00348                 return $data;
00349         }
00350 
00360         function fetchMenuTheme($menu_folder, $menu_id, $language = "en") {
00361                 if ($language == "") $language = "en";
00362                 if ($menu_id == 1) { 
00363                         $data = "/none/";
00364                 } else {
00365                         $txtfile = "$menu_folder/$menu_id.$language.php";
00366                         if (!file_exists($txtfile)) {
00367                                 $txtfile = "$menu_folder/$menu_id.en.php";
00368                                 if (!file_exists($txtfile)) {
00369                                         $txtfile = "$menu_folder/$menu_id.$language.txt";
00370                                         
00371                                         if (!file_exists($txtfile)) $txtfile = "$menu_folder/$menu_id.en.txt";
00372                                 }
00373                         }
00374                         if (file_exists($txtfile)) {
00375                                 $fp = fopen($txtfile, "r");
00376                                 $contents = fread($fp, filesize($txtfile));
00377                                 if (substr($contents, 0, strlen($this->securitymeasures)) == $this->securitymeasures) $contents = substr($contents, strlen($this->securitymeasures));
00378                                 $contents = unserialize(&$contents);
00379                                 if (!$contents["theme"] == "" or $menu_id == 0) { 
00380                                         $data = $contents["theme"];
00381                                 } else { 
00382                                         $data = $this->fetchMenuTheme($menu_folder, 0);
00383                                 }
00384                                 fclose($fp);
00385                         } else { 
00386                                 if (strlen($data) < 1) {
00387                                         $data = "/none/";
00388                                 }
00389                         }
00390                 }
00391                 return $data;
00392         }
00393 
00402         function getFreeMenuID($menu_folder, $page_control) {
00403                 $menu_list = $page_control->fetchMenuMenuList($menu_folder);
00404                 
00405                 
00406                 if ($menu_list == array("0" => array("id" => "100", "title" => array("Standard", "Default"), "menu" => array("", ""), "language" => array("dk", "en")))) return 100;
00407                 
00408                 
00409                 foreach($menu_list as $key => $value) {
00410                         $temp_menu_list[$value["id"]] = $menu_list[$key];
00411                 }
00412                 $menu_list = $temp_menu_list;
00413                 
00414                 $array_index = 100;
00415                 while (true) {
00416                         if ($menu_list["$array_index"]["id"] == "") {
00417                                 $free_id = $array_index;
00418                                 break;
00419                         }
00420                         $array_index++;
00421                 }
00422                 return $free_id;
00423         }
00424 
00433         function saveMenuMenu($menu_folder, $menu_id, $menu_title, $menu_menu, $menu_language, $menu_theme) {
00434                 if ($menu_language == "") $menu_language = "en";
00435                 
00436                 $txtfile_old = "$menu_folder/$menu_id.$menu_language.txt";
00437                 $txtfile = "$menu_folder/$menu_id.$menu_language.php";
00438                 if (file_exists($txtfile_old)) { rename($txtfile_old, $txtfile); }
00439                 
00440                 $menu_menu = stripslashes($menu_menu);
00441                 
00442                 $data = array(  "id"            => $menu_id,
00443                                 "title"         => $menu_title,
00444                                 "menu"          => $menu_menu,
00445                                 "language"      => $menu_language,
00446                                 "theme"         => $menu_theme);
00447                 $data = serialize($data);
00448                 if (file_exists($txtfile)) unlink($txtfile);
00449                 $fp = fopen($txtfile, "a");
00450                 if ($fp) {
00451                         $fp = fwrite($fp, $this->securitymeasures . $data); 
00452                         chmod($txtfile, 0664);
00453                         return true;
00454                 } else {
00455                         $this->ERRORS = "Could not save menu menu.";
00456                         return false;
00457                 }       }
00458 
00464         function fetchMenuMenuList($menu_folder, $language = "") {
00465         
00466                 $fp = opendir($menu_folder);
00467                 $array_index = 0;
00468                 while ($file = readdir($fp)) {
00469                         if( substr($file, 0, 1) != "." ) {
00470                                         $dirarray[$array_index] = $file;
00471                                         $array_index++;
00472                         }
00473                 }
00474                 closedir($fp);
00475 
00476                 if (count($dirarray) > 0) {
00477                         
00478                         $array_index = 0;
00479                         foreach ($dirarray as $key => $value) {
00480                                 $fpn = fopen("$menu_folder/$value", "r");
00481                                 $contents = fread($fpn, filesize("$menu_folder/$value"));
00482                                 if (substr($contents, 0, strlen($this->securitymeasures)) == $this->securitymeasures) $contents = substr($contents, strlen($this->securitymeasures));
00483                                 $contents = unserialize(&$contents);
00484                                 if (!empty($contents["id"]))
00485                                         $loaded_data = $contents;
00486                                 else
00487                                         $loaded_data = array();
00488                                 
00489                                 $loaded_data = array_reverse($loaded_data);
00490                                 fclose($fpn);
00491                                 if ($language == "") {
00492                                         $id = $loaded_data["id"];
00493                                         $data["$id"]["id"] = $loaded_data["id"];
00494                                         $data["$id"]["language"][] = $loaded_data["language"];
00495                                         $data["$id"]["title"][] = $loaded_data["title"];
00496                                 } else if ($language == $loaded_data["language"]) {
00497                                         $id = $loaded_data["id"];
00498                                         $data["$id"]["id"] = $loaded_data["id"];
00499                                         $data["$id"]["language"] = $loaded_data["language"];
00500                                         $data["$id"]["title"] = $loaded_data["title"];
00501                                 }
00502                                 $array_index++;
00503                                 if ($array_index = 1) $array_index++; 
00504                         }
00505                         sort($data); 
00506                         return $data;
00507                 } else {  
00508                                 return array("0" => array("id" => "100", "title" => array("Standard", "Default"), "menu" => array("", ""), "language" => array("dk", "en")));
00509                 }
00510         }
00511 }
00512 
00513 
00514 function update_getpage_id($page_folder, $setup_folder, $pagectl) {
00515         $page_list = $pagectl->fetchPageList($page_folder);
00516 
00517         
00518         
00519                 $page_list["0"]["id"] = 0;
00520                 $page_list["0"]["title"][] = "Forside";
00521                 $page_list["0"]["language"][] = "dk";
00522                 $page_list["0"]["title"][] = "Front page";
00523                 $page_list["0"]["language"][] = "en";
00524         
00525                 $page_list["1"]["id"] = 1;
00526                 $page_list["1"]["title"][] = "Om Travelsized CMS";
00527                 $page_list["1"]["language"][] = "dk";
00528                 $page_list["1"]["title"][] = "About Travelsized CMS";
00529                 $page_list["1"]["language"][] = "en";
00530         
00531                 $page_list["2"]["id"] = 2;
00532                 $page_list["2"]["title"][] = "Tagwall";
00533                 $page_list["2"]["language"][] = "dk";
00534                 $page_list["2"]["title"][] = "Tag wall";
00535                 $page_list["2"]["language"][] = "en";
00536 
00537         $txtfile = "$setup_folder/page_backwards.txt";
00538         if (file_exists($txtfile)) unlink($txtfile);
00539         $page_list = serialize($page_list);
00540         $fp = fopen($txtfile, "a");
00541         if ($fp) {
00542                 $fp = fwrite($fp, $page_list); 
00543                 chmod($txtfile, 0664);
00544                 return true;
00545         } else {
00546                 $this->ERRORS = "Could not update backwards page_id lookup index.";
00547                 return false;
00548         }
00549 }
00550 
00551 function getPageID( $search_page )
00552 {
00553         global $setup_folder;
00554         return getpage_id( $setup_folder, $search_page );
00555 }
00556 
00557 
00558 
00559 function getpage_id ($setup_folder, $search_page) {
00560         $txtfile = "$setup_folder/page_backwards.txt";
00561         $fp = fopen($txtfile, "r");
00562         if ($fp) {
00563                 $contents = fread($fp, filesize($txtfile));
00564                 $contents = unserialize(&$contents);
00565                 $value = $contents;
00566                 if (is_array($value)) {
00567                         foreach($value as $key2 => $value2) {
00568                                 $value2 = $value[$key2]["title"];
00569                                 if (is_array($value2)) {
00570                                         foreach($value2 as $key3 => $value3) {
00571                                                 if (strtoupper($value2[$key3]) == strtoupper($search_page)) {
00572                                                         $data[] = $value[$key2];
00573                                                 }
00574                                         }
00575                                 } else {
00576                                         if (strtoupper($value2) == strtoupper($search_page)) {
00577                                                 $data[] = $value;
00578                                         }
00579                                 }
00580                         }
00581                 }
00582                 if (count($data) == 0) {
00583                         $data = -1;
00584                 } else if (count($data) < 2) {
00585                         $data = "{$data[0]['id']}";
00586                 } else {
00587                         $data = array_reverse($data);
00588                 }
00589                 fclose($fp);
00590                 return $data;
00591         } else {
00592                 $this->ERRORS = "Could not open file.";
00593                 return -1;
00594         }
00595 }
00596 
00597 
00598 include ("page_parsefunctions.php");
00599 
00600 
00601 
00602 $fp = opendir("$setup_folder/modules");
00603 while ($file = readdir($fp)) {
00604         if (substr($file, -4) == ".php") include("$setup_folder/modules/$file");
00605 }
00606 closedir($fp);
00607 
00608 
00609 
00610 
00611 
00612 
00613 
00614 
00615 
00616 
00617 
00618 
00619 
00620 
00621 
00622 
00623 
00624 function parse_page_data($page_data, $language = "en", $setup_folder = "setup", $is_menu_menu = false ) {
00625         
00626         if (substr($page_data, 0, 1) == "<") return $page_data;
00627         
00628         
00629         
00630         
00631         $page_data = preg_replace("/(\r\n|\n|\r)/", "\n", $page_data); 
00632         $page_data = preg_replace("/\n+/", "\n", $page_data); 
00633         $page_data = preg_replace("/\n?(.+?)(\n|\z)/s", "<p >$1</p >\n", $page_data); 
00634         $page_data = preg_replace("/<p >([^<]*)(\s+)<\/p >/is", "<p >$1</p >", $page_data); 
00635         $page_data = preg_replace("/<p ><\/p >/is", "<br />", $page_data); 
00636         $count = 0; $page_data = preg_replace("/<p >!!!!!([^<]*)<\/p >/ise", "'<h6 name=\"6-' . ++\$count . '\">$1</h6>'", $page_data); 
00637         $count = 0; $page_data = preg_replace("/<p >!!!!([^<]*)<\/p >/ise", "'<h5 name=\"5-' . ++\$count . '\">$1</h5>'", $page_data); 
00638         $count = 0; $page_data = preg_replace("/<p >!!!([^<]*)<\/p >/ise", "'<h4 name=\"4-' . ++\$count . '\">$1</h4>'", $page_data); 
00639         $count = 0; $page_data = preg_replace("/<p >!!([^<]*)<\/p >/ise", "'<h3 name=\"3-' . ++\$count . '\">$1</h3>'", $page_data); 
00640         $count = 0; $page_data = preg_replace("/<p >!([^<]*)<\/p >/ise", "'<h2 name=\"2-' . ++\$count . '\">$1</h2>'", $page_data); 
00641 
00642         $page_data = preg_replace("/{{([^<\}\{]*)\|\|([^<\}\{]*)}}/is", "<a href=\"" . siteURL(true) . "$setup_folder/files/$1\" title=\"Download $1\">$2</a>", $page_data); 
00643 
00644         $page_data = preg_replace("/\(\(\(([^<\}\{]*)\|\|([^<\}\{]*)\)\)\)/is", "<acronym class=\"description\" title=\"$1\">$2[?]</acronym>", $page_data); 
00645 
00646         
00647         $page_data = preg_replace("/{(http\:\/\/[^<\}\{]+)\|\|([^<\}\{]+)\|\|([^<\}\{]+)\|\|([^<\}\{]+)}/is", "<a href=\"$1\" title=\"$2\" target=\"_blank\"><img border=\"0\" src=\"$1\" alt=\"$2\" width=\"$3\" align=\"$4\" /></a>", $page_data); 
00648         $page_data = preg_replace("/{(http\:\/\/[^<\}\{]+)\|\|([^<\}\{]+)\|\|([^<\}\{]+)}/is", "<img border=\"0\" src=\"$1\" alt=\"$2\" align=\"$3\" />", $page_data); 
00649         $page_data = preg_replace("/{(http\:\/\/[^<\}\{]+)\|\|([^<\}\{]+)}/is", "<img border=\"0\" src=\"$1\" alt=\"$2\" />", $page_data); 
00650         
00651         
00652         $page_data = preg_replace("/{([^<\}\{]+)\|\|([^<\}\{]+)\|\|([^<\}\{]+)\|\|([^<\}\{]+)}/is", "<a href=\"$setup_folder/files/$1\" title=\"$2\" target=\"_blank\"><img border=\"0\" src=\"" . siteURL(true) . "$setup_folder/files/$1\" alt=\"$2\" width=\"$3\" align=\"$4\" /></a>", $page_data); 
00653         $page_data = preg_replace("/{([^<\}\{]+)\|\|([^<\}\{]+)\|\|([^<\}\{]+)}/is", "<img border=\"0\" src=\"" . siteURL(true) . "$setup_folder/files/$1\" alt=\"$2\" align=\"$3\" />", $page_data); 
00654         $page_data = preg_replace("/{([^<\}\{]+)\|\|([^<\}\{]+)}/is", "<img border=\"0\" src=\"" . siteURL(true) . "$setup_folder/files/$1\" alt=\"$2\" />", $page_data); 
00655         
00656         $page_data = parse_tables($page_data); 
00657         $page_data = parse_lists($page_data); 
00658         $page_data = parse_wikilinks($page_data); 
00659         $page_data = parse_externallinks($page_data); 
00660         $page_data = parse_userlist_control($page_data); 
00661         $page_data = parse_profilelinks($page_data); 
00662         $page_data = parse_preformatted($page_data); 
00663 
00664         $page_data = preg_replace("/\/\/([^\"]*?)\/\//is", "<em>$1</em>", $page_data); 
00665         $page_data = preg_replace("/\*\*(.*?)\*\*/is", "<b>$1</b>", $page_data); 
00666         $page_data = preg_replace("/__(.*?)__/is", "<u>$1</u>", $page_data); 
00667         $page_data = preg_replace("/<p >---<\/p >/is", "<hr class=\"wikiline\" />", $page_data); 
00668         $page_data = preg_replace("/<p >>>(.*?)<\/p >/is", "<p class=\"wikirightalign\">$1</p >", $page_data); 
00669         $page_data = preg_replace("/<p >\|\|(.*?)<\/p >/is", "<p class=\"wikicenteralign\">$1</p >", $page_data); 
00670 
00671         
00672         global $modules;
00673         foreach($modules as $module) {
00674                 $page_data = $module($page_data);
00675         }
00676 
00677         $page_data = parse_userlists($page_data, $is_menu_menu); 
00678         
00679         if ($is_menu_menu) {
00680                 $page_data = str_replace("<p >", "<div class=\"menutext\">", $page_data);
00681                 $page_data = str_replace("<p class=\"wikirightalign\">", "<div class=\"menutextrightalign\">", $page_data);
00682                 $page_data = str_replace("<p class=\"wikicenteralign\">", "<div class=\"menutextcenteralign\">", $page_data);
00683                 $page_data = str_replace("</p >", "</div>", $page_data);
00684                 $page_data = str_replace("<h2", "<h2 class=\"menutext\"", $page_data);
00685                 $page_data = str_replace("<h3", "<h3 class=\"menutext\"", $page_data);
00686                 $page_data = str_replace("<h4", "<h4 class=\"menutext\"", $page_data);
00687                 $page_data = str_replace("<h5", "<h5 class=\"menutext\"", $page_data);
00688                 $page_data = str_replace("<h6", "<h6 class=\"menutext\"", $page_data);
00689                 $page_data = preg_replace("/<a ([^<]*)/is", "<a class=\"menutext\" $1", $page_data);
00690         }
00691 
00692         return $page_data;
00693 }
00694 ?>