Exemple #1
0
function parseFile2($TROLL, $auto, $cX = '', $cY = '', $cZ = '', $taille = '', $refresh)
{
    global $lt, $lm, $ll, $lc, $lo, $trolls, $champi, $came, $labs;
    global $streums, $lieux, $nCasesVue, $X, $Y, $Z, $db_vue_rm;
    global $DEV, $date, $quadrillage;
    if ($DEV) {
        echo "DEBUG parseFile({$TROLL},{$auto},{$cX},{$cY},{$cZ},{$taille}) entré<br>\n";
    }
    $vert = "<b><font color=gree>Fait</font></b>  ";
    $date = date("Y-m-d H-i-s");
    $date_less_5_min = date("Y-m-d H-i-s", mktime(date("H"), date("i") - 5, date("s"), date("m"), date("d"), date("Y")));
    /* on regarde si la vue n'est pas en cours de refresh */
    $sql = "SELECT date_last_refresh_himself_troll, lock_refresh_troll ";
    $sql .= " FROM trolls ";
    $sql .= " WHERE id_troll={$TROLL}";
    $sql .= " AND lock_refresh_troll = 'oui'";
    $sql .= " AND date_last_refresh_himself_troll > '{$date_less_5_min}'";
    if ($DEV) {
        echo "DEBUG refreshVue() {$sql} <br>\n";
    }
    $result = mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    /* on place le lock dans la base et la datetime */
    $sql = "UPDATE trolls SET ";
    $sql .= " date_last_refresh_himself_troll='{$date}', ";
    $sql .= " lock_refresh_troll='oui' ";
    $sql .= " WHERE id_troll={$TROLL}";
    if ($DEV) {
        echo "DEBUG parseFile2() {$sql} <br>";
    }
    mysql_query($sql, $db_vue_rm);
    echo mysql_error();
    if (!$auto) {
        //		ob_end_flush();
        echo "<center>";
        echo "<br><br><h1>Mise à jour du vue en cours </h1><br>";
        echo "<h1><font color=red><b>Ne fermez pas votre navigateur</b></font></h1>";
        echo "Fichier Récupéré {$vert}<br>";
        echo "Mise à jour de la base en cours<br>";
        echo "</center>";
        /*		flush();
        		ob_flush();*/
    }
    if (file_exists("vues/{$TROLL}")) {
        if ($cZ == '') {
            die('ERREUR PARSEFILE 1 contactez Bodga');
        } elseif ($taille == '') {
            die('ERREUR PARSEFILE 2 contactez Bodega');
        } else {
            $X = $cX;
            $Y = $cY;
            $Z = $cZ;
            $taille = $taille;
            // Pour info uniquement ! :)
        }
        if ($DEV) {
            echo "DEBUG parseFile X={$X} Y={$Y} Z={$Z} taille={$taille}<br>";
        }
        setlocale(LC_ALL, "fr_FR");
        $mtime = filemtime("vues/{$TROLL}");
        $date = date("Y-m-d H-i-s", $mtime);
        // On va pas prendre la date du fichier public qui
        // n'est pas mis à jour en cas de DEV = TRUE
        // il faut donc changer la $date !
        if ($DEV) {
            $date = date("Y-m-d H-i-s");
            echo "DEBUG DEV parseFile() : changement de date={$date}";
        }
        $miniX = $X - $taille;
        $maxiX = $X + $taille;
        $miniY = $Y - $taille;
        $maxiY = $Y + $taille;
        $miniZ = $Z - ceil($taille / 2);
        $maxiZ = $Z + ceil($taille / 2);
        if ($DEV) {
            echo "DEBUG parseFile minX={$miniX}, maxX={$maxiX}, minY={$miniY}, maxY={$maxiY}, minZ={$miniZ}, maxZ={$maxiZ}<br>";
        }
        updateDb_zone_to_not_view('troll', $miniX, $maxiX, $miniY, $maxiY, $miniZ, $maxiZ, $date);
        // puis pour les monstres, mais c'est utile que Pour les gowaps RM
        // On met tous les monstres à non vus sur la zone (gowaps et les autres compris)
        // sachant qu'ensuite la table monstres verra tous les monstres, sauf les gowaps RM) de supprimés de
        // la zone
        updateDb_zone_to_not_view('monstre', $miniX, $maxiX, $miniY, $maxiY, $miniZ, $maxiZ, $date);
        $lesGowaps = selectDbGowaps();
        $lesTanieres = selectDbTanieres();
        deleteDb_zone('monstre', $miniX, $maxiX, $miniY, $maxiY, $miniZ, $maxiZ, $lesGowaps);
        deleteDb_zone('tresor', $miniX, $maxiX, $miniY, $maxiY, $miniZ, $maxiZ);
        deleteDb_zone('champi', $miniX, $maxiX, $miniY, $maxiY, $miniZ, $maxiZ);
        deleteDb_zone('lieu', $miniX, $maxiX, $miniY, $maxiY, $miniZ, $maxiZ, $lesTanieres);
        $lien = "sequence_refresh.php?auto={$auto}&state=1&maj_troll_id={$TROLL}&refresh={$refresh}";
        $_SESSION['state'] = 1;
        if (!$auto) {
            echo "<script language='JavaScript'>";
            echo "document.location.href='{$lien}'";
            echo "</script>";
            echo "<a href='{$lien}'>Cliquez ici si vous ne passez pas à la page suivante automatiquement</a>";
        } else {
            header("Location:{$lien}");
        }
    } else {
        echo "Erreur Survenue. Avez-vous bien copié toute votre vue depuis MH (Ctrl+A) ?<br>";
        echo "Si oui, contactez Bodéga pour voir ce qu'il se passe.<br>";
    }
}
function afficherListeGowaps($id_troll)
{
    global $db_vue_rm;
    $page = "engine_view.php";
    echo "<table class='list'>";
    echo "<tr class='titre-tableau'>";
    echo "<td nowrap>Id Gowap</td>";
    echo "<td nowrap>Vu</td>";
    echo "<td nowrap>Position</td>";
    echo "<td>date de mise à jour du chargement</td>";
    echo "<td nowrap>Accès</td>";
    echo "</tr>";
    $lesGowaps = selectDbGowaps("", $id_troll);
    $nbGowaps = count($lesGowaps);
    for ($i = 1; $i <= $nbGowaps; $i++) {
        $res = $lesGowaps[$i];
        $liste_gowap_id[$i] = $res[id_gowap];
        $lien_vue2d = "href='cockpit.php?centrer=on&cX={$res['x_monstre']}&cY={$res['y_monstre']}&cZ={$res['z_monstre']}'";
        $lien_gps_adv = "href='gps_advanced.php?taille_map=600&vue=40&x={$res['x_monstre']}&y={$res['y_monstre']}'";
        $lien = "href='{$page}?gowap={$res['id_gowap']}'";
        echo "<tr class=\"item-impair\" onmouseover=\"this.className='item-mouseover'\"";
        echo "onmouseout=\"this.className='item-impair'\">";
        echo "<td nowrap><a {$lien}>{$res['id_gowap']}</a></td>";
        echo "<td nowrap><a {$lien}>{$res['is_seen_monstre']} (" . date("d/m/y H:i", $res[date_monstre]) . ")</a></td>";
        echo "<td nowrap><a {$lien}>X={$res['x_monstre']}, Y={$res['y_monstre']}, Z={$res['z_monstre']}</a></td>";
        echo "<td nowrap><a {$lien}>{$res['date_chargement_gowap']}</a></td>";
        echo "<td nowrap>accès : <a {$lien_vue2d}>vue 2d</a>,<a {$lien_gps_adv}> GPS</a></td>";
        echo "</tr>";
    }
    echo "</table>";
    // On regarde s'il n'y a pas d'erreur => si tous les gowaps sont dans la table gowaps
    if (isControlAdministrateur() || $_SESSION[AuthTroll] == $id_troll) {
        echo "<table class='fiche'>";
        $lesGowaps = selectDbGowapsFromTableGowap("", $id_troll);
        $nbGowaps = count($lesGowaps);
        for ($i = 1; $i <= $nbGowaps; $i++) {
            $res = $lesGowaps[$i];
            $flag = false;
            for ($j = 1; $j <= count($liste_gowap_id); $j++) {
                if ($res[id_gowap] == $liste_gowap_id[$j]) {
                    $flag = true;
                }
            }
            if (!$flag) {
                echo "<tr><td><font color=red><b>ERREUR détectée <b>";
                $lien_del = "href='{$page}?gowap=del&id_gowap={$res['id_gowap']}'";
                echo "<a {$lien_del}>Supprimer l'erreur ({$res['id_gowap']})</a>";
                echo "</font></td></tr>";
            }
        }
        echo "</table>";
    }
}
function afficherAccesRapide()
{
    $fiche = "<a href='/engine_view.php?troll=" . $_SESSION['AuthTroll'] . "' title='Accès direct à ma fiche RG'>[Ma fiche RG]</a> ";
    if (!preg_match("/cockpit.php/", $_SERVER['REQUEST_URI'])) {
        $fiche .= "<a href='/cockpit.php?id_troll=" . $_SESSION['AuthTroll'] . "' title='Accès direct à ma vue2D'>[Ma Vue]</a> ";
    } else {
        $fiche .= "<a href='#' onClick='document.form_cockpit.id_troll.value=" . $_SESSION[AuthTroll] . ";get_map();'title='Accès direct à ma vue2D'>[Ma Vue]</a> ";
    }
    $lesGowaps = selectDbGowaps("", $_SESSION['AuthTroll']);
    $nbGowaps = count($lesGowaps);
    if ($nbGowaps > 0) {
        $text = "<b>Mes Gowaps</b><br><br>";
        for ($i = 1; $i <= $nbGowaps; $i++) {
            $res = $lesGowaps[$i];
            $id_gowap = $res['id_gowap'];
            $text .= "Gowap {$id_gowap}";
            $titre = "X={$res['x_monstre']}, Y={$res['y_monstre']}, Z={$res['z_monstre']}<br>";
            $titre .= "vu : {$res['is_seen_monstre']} (" . date("d/m/y H:i", $res['date_monstre']) . ")";
            $text .= afficherLien('gowap', 'fiche', $res['id_gowap'], "", "", "", "", false);
            $text .= afficherLien('gowap', 'vue2d', $res['id_gowap'], $res['x_monstre'], $res['y_monstre'], $res['z_monstre'], "", false);
            $text .= afficherLien('gowap', 'gps', $res['id_gowap'], $res['x_monstre'], $res['y_monstre'], $res['z_monstre'], "", false);
            $text .= afficherLien('gowap', 'mh_evenements', $res['id_gowap'], "", "", "", "", false);
            $text .= "<br>" . $titre;
            $text .= "<br><br>";
        }
        $html_gowap = "<td onmouseover=\"return overlib('{$text}',CAPTION,'Clique pour fixer la popup!');\"";
        $html_gowap .= " onclick=\"return overlib('{$text}', STICKY, CAPTION, 'Accès Rapide', CLOSECLICK, EXCLUSIVE);\" ";
        $html_gowap .= " onmouseout=\"return nd();\">Mes Gowaps</td>";
    }
    if (!isset($html_gowap)) {
        $html_gowap = "";
    }
    $lesTanieres = selectDbTanieres("", $_SESSION['AuthTroll']);
    $nbTanieres = count($lesTanieres);
    $html_taniere = "";
    if ($nbTanieres > 0) {
        $text = "<b>Mes Tanières</b><br><br>";
        for ($i = 1; $i <= $nbTanieres; $i++) {
            $res = $lesTanieres[$i];
            $id_taniere = $res['id_taniere'];
            $text .= "Tanière {$id_taniere}";
            $text .= afficherLien('taniere', 'fiche', $res['id_taniere'], "", "", "", "", false);
            $text .= afficherLien('taniere', 'vue2d', $res['id_taniere'], $res['x_lieu'], $res['y_lieu'], $res['z_lieu'], "", false);
            $text .= afficherLien('taniere', 'gps', $res['id_taniere'], $res['x_lieu'], $res['y_lieu'], $res['z_lieu'], "", false);
            $text .= afficherLien('taniere', 'mh_profil', $res['id_taniere'], "", "", "", "", false);
            $text .= "<br>X={$res['x_lieu']}, Y={$res['y_lieu']}, Z={$res['z_lieu']}";
            $text .= "<br><br>";
        }
        $html_taniere .= "<td onmouseover=\"return overlib('{$text}',CAPTION,'Clique pour fixer la popup!');\"";
        $html_taniere .= " onclick=\"return overlib('{$text}', STICKY, CAPTION, 'Accès Rapide', CLOSECLICK, EXCLUSIVE);\" ";
        $html_taniere .= " onmouseout=\"return nd();\">Mes Tanières</td>";
    }
    $lesGt = selectDbTanieres("", "", true);
    $nbTanieres = count($lesGt);
    $html_gt = "";
    if ($nbTanieres > 0 && userIsGuilde()) {
        $text = "<b>Les Grandes Tanières Relais&Mago</b><br><br>";
        for ($i = 1; $i <= $nbTanieres; $i++) {
            $res = $lesGt[$i];
            $id_taniere = $res['id_taniere'];
            $nom_lieu = $res['nom_lieu'] . " ";
            $text .= addslashes($nom_lieu);
            $text .= afficherLien('taniere', 'fiche', $res['id_taniere'], "", "", "", "", false);
            $text .= afficherLien('taniere', 'vue2d', $res['id_taniere'], $res['x_lieu'], $res['y_lieu'], $res['z_lieu'], "", false);
            $text .= afficherLien('taniere', 'gps', $res['id_taniere'], $res['x_lieu'], $res['y_lieu'], $res['z_lieu'], "", false);
            $text .= afficherLien('taniere', 'mh_profil', $res['id_taniere'], "", "", "", "", false);
            $text .= "<br>X={$res['x_lieu']}, Y={$res['y_lieu']}, Z={$res['z_lieu']}";
            $text .= "<br><br>";
        }
        $html_gt .= "<td onmouseover=\"return overlib('{$text}',CAPTION,'Clique pour fixer la popup!');\"";
        $html_gt .= " onclick=\"return overlib('{$text}', STICKY, CAPTION, 'Accès Rapide', CLOSECLICK, EXCLUSIVE);\" ";
        $html_gt .= " onmouseout=\"return nd();\">GT</td>";
    }
    ?>
	<table class='mh_tdborder'>
		<tr class='mh_tdpage'>
			<td nowrap>
				<?php 
    echo $fiche;
    ?>
	
			</td>
			<?php 
    echo $html_gowap;
    ?>
			<?php 
    echo $html_taniere;
    ?>
			<?php 
    echo $html_gt;
    ?>
		</tr>
	</table>
	<?php 
}