## Mod title: E-Univers RE ## ## Mod version: 1.0 ## Works on PunBB: 1.2.14 ## Release date: 2008-01-12 ## Author: Marthym & Verite ## ## Description: This mod show E-Univers Spy report great ## ## Affected files: include/parser.php ## ## Affects DB: No ## ## Notes: This mod make good presentation of E-Univers Spy report ## by add [re][/re] bbcode tag for parse Spy report and ## make great table ## ## DISCLAIMER: Please note that "mods" are not officially supported by ## PunBB. Installation of this modification is done at your ## own risk. Backup all applicable files before proceeding. ## # #---------[ 1. OPEN ]--------------------------------------------------------- # parser.php # #---------[ 2. FIND (line: 44) ]--------------------------------------------- # $a = array('[B]', '[I]', '[U]', '[/B]', '[/I]', '[/U]'); $b = array('[b]', '[i]', '[u]', '[/b]', '[/i]', '[/u]'); # #---------[ 3. REPLACE WITH ]------------------------------------------------- # //$a = array('[B]', '[I]', '[U]', '[/B]', '[/I]', '[/U]'); // [re] : del //$b = array('[b]', '[i]', '[u]', '[/b]', '[/i]', '[/u]'); // [re] : del $a = array('[B]', '[I]', '[U]', '[RE]', '[/B]', '[/I]', '[/U]', '[/RE]'); // [re] : Add $b = array('[b]', '[i]', '[u]', '[re]', '[/b]', '[/i]', '[/u]', '[/re]'); // [re] : Add # #---------[ 12. FIND (line: 392) ]-------------------------------------------- # // // Convert a series of smilies to images // function do_smilies($text) { global $smiley_text, $smiley_img; $text = ' '.$text.' '; $num_smilies = count($smiley_text); for ($i = 0; $i < $num_smilies; ++$i) $text = preg_replace("#(?<=.\W|\W.|^\W)".preg_quote($smiley_text[$i], '#')."(?=.\W|\W.|\W$)#m", '$1'.substr($smiley_img[$i], 0, strrpos($smiley_img[$i], '.')).'$2', $text); return substr($text, 1, -1); } # #---------[ 13. AFTER, ADD ]--------------------------------------------------- # //[re] : Begin Add // // Parse Spy Reports // function do_bbcodere($text) { //Compatibilité UNIX/Windows $text = str_replace("\r\n","\n",$text); //Compatibilité IE/Firefox $text = str_replace("\t",' ',$text); $text = stripslashes($text); $text = str_replace("Les sondes ont été interceptées et détruites ...", "
Les sondes ont été interceptées et détruites ...", $text); $lines = explode("\n", $text); $estVide = false; //On commence par vérifier que le re est valide if (preg_match("#Matières premières sur#", $lines[1])) { //Récupération des infos générales sur la planètes sondées $lines[1] = str_replace("Matières premières sur", "", $lines[1]); //Récupération des resources présentes preg_match("#Titane:\s([0-9 ]+)\sCarbone:\s([0-9 ]+)#", $lines[2], $ressources); preg_match("#Tritium:\s([0-9 ]+)#", $lines[3], $ressources2); $titane = $ressources[1]; $carbone = $ressources[2]; $tritium = $ressources2[1]; $lines[2] = ""; $lines[3] = "
TitaneCarboneTritium
".$titane."".$carbone."".$tritium."

"; //Récupération du reste du re for ($num_line = 4; $num_line < sizeof($lines); $num_line++) { $lines[$num_line] = trim($lines[$num_line]); if ($lines[$num_line] == "Flotte") { $lines[$num_line] = ""; if ($estVide) $lines[$num_line] = "".$lines[$num_line]; $estVide = true; } elseif ($lines[$num_line] == "Défense") { $lines[$num_line] = "
".$lines[$num_line]."
Rien

"; if ($estVide) $lines[$num_line] = "".$lines[$num_line]; $estVide = true; } elseif ($lines[$num_line] == "Batiments") { $lines[$num_line] = "
".$lines[$num_line]."
Rien

"; if ($estVide) $lines[$num_line] = "".$lines[$num_line]; $estVide = true; } elseif ($lines[$num_line] == "Recherche") { $lines[$num_line] = "
".$lines[$num_line]."
Rien

"; if ($estVide) $lines[$num_line] = "".$lines[$num_line]; $estVide = true; } elseif (substr($lines[$num_line], 0, 11) == "Probabilité") { $lines[$num_line] = "
".$lines[$num_line]."
Rien

\n".$lines[$num_line]; break; } else { $estVide = false; if (strlen($lines[$num_line]) > 0) { $line = explode(" ", str_replace("\t", " ", str_replace(":", "", $lines[$num_line]))); $lines[$num_line] = ""; foreach ($line as $key => $val) { $val = trim($val); if (is_numeric($val)) { $lines[$num_line] .= "".$val; if ($key < sizeof($line)-1) { $lines[$num_line] .= ""; } } else { $lines[$num_line] .= " ".$val; } } $lines[$num_line] .= "\n"; } else { $lines[$num_line] = " "; } } } } //echo "
".htmlspecialchars(implode('', $lines))."
"; return implode('', $lines); } //[re] : End Add # #---------[ 14. FIND (line: 478) ]-------------------------------------------- # // If the message contains a code tag we have to split it up (text within [code][/code] shouldn't be touched) if (strpos($text, '[code]') !== false && strpos($text, '[/code]') !== false) { list($inside, $outside) = split_text($text, '[code]', '[/code]'); $outside = array_map('ltrim', $outside); $text = implode('<">', $outside); } # #---------[ 15. AFTER, ADD ]--------------------------------------------------- # //[re] : Begin Add // If the message contains a rc tag we have to split it up (text within [rc][/rc] shouldn't be touched) if (strpos($text, '[re]') !== false && strpos($text, '[/re]') !== false) { list($inside_re, $outside_re) = split_text($text, '[re]', '[/re]'); $outside_re = array_map('ltrim', $outside_re); $text = implode('<">', $outside_re); } //[re] : End Add # #---------[ 16. FIND (line: 518) ]-------------------------------------------- # // If we split up the message before we have to concatenate it together again (code tags) if (isset($inside)) { $outside = explode('<">', $text); $text = ''; $num_tokens = count($outside); for ($i = 0; $i < $num_tokens; ++$i) { $text .= $outside[$i]; if (isset($inside[$i])) { $num_lines = ((substr_count($inside[$i], "\n")) + 3) * 1.5; $height_str = ($num_lines > 35) ? '35em' : $num_lines.'em'; $text .= '

'.$lang_common['Code'].':

'.$inside[$i].'

'; } } } # #---------[ 17. AFTER, ADD ]--------------------------------------------------- # //[re] : Begin Add // If we split up the message before we have to concatenate it together again (re tags) if (isset($inside_re)) { $outside_re = explode('<">', $text); $text = ''; $num_tokens = count($outside_re); for ($i = 0; $i < $num_tokens; ++$i) { $text .= $outside_re[$i]; if (isset($inside_re[$i])) { $inside_re[$i] = do_bbcodere($inside_re[$i]); $num_lines = ((substr_count($inside_re[$i], "\n")) + 3) * 1.5; $height_str = ($num_lines > 35) ? '35em' : $num_lines.'em'; $text .= '

'.stripslashes("Rapport d\'espionnage :").'

'.$inside_re[$i].'

'; } } } //[re] : End Add # #---------[ 18. SAVE/UPLOAD ]------------------------------------------------- #