function initimg($Nbx, $Nby, $taillex, $tailley) { global $colormap, $image, $debug_cl; $map = map::getinstance(); $image = imagecreate($Nbx * $taillex, $Nby * $tailley); $background_color = imagecolorallocate($image, 0, 0, 0); $blanc = imagecolorallocate($image, 254, 254, 254); $rouge = imagecolorallocate($image, 85, 0, 64); imagefilledrectangle($image, 0, 0, $Nbx * $taillex, $Nby * $tailley, $background_color); // Tableau des couleurs... $colormap = DataEngine::config('MapColors'); $colormap = $colormap[$map->itineraire ? 0 : $map->sc + 1]; if ($map->itineraire) { $map->load_prefs('1;0;0;0;' . $map->sc . ';' . $map->taille . ';0;0;0'); } foreach ($colormap as $k => $c) { $R = hexdec(p_substr($c, 1, 2)); $V = hexdec(p_substr($c, 3, 2)); $B = hexdec(p_substr($c, 5, 2)); $colormap[$k] = imagecolorallocate($image, $R, $V, $B); } $colormap[-1] = $debug_cl = $blanc; $colormap[-2] = $rouge; // Centre de communication... $comlevel = ownuniverse::getinstance()->get_comlevel(); if (is_array($comlevel)) { foreach ($comlevel as $k => $planet) { list($CoordsY, $CoordsX) = map::ss2xy($planet['ss']); $level = $planet['level']; if ($level > 0) { ImageFilledEllipse($image, 1 + ($CoordsY - 1) * $taillex + round($taillex / 2) + 1, 1 + ($CoordsX - 1) * $tailley + round($tailley / 2) + 1, $level * 20 * $taillex, $level * 20 * $tailley, $colormap["0"]); } } } return $image; }
<?php /** * @author Alex10336 * Dernière modification: $Id$ * @license GNU Public License 3.0 ( http://www.gnu.org/licenses/gpl-3.0.txt ) * @license Creative Commons 3.0 BY-SA ( http://creativecommons.org/licenses/by-sa/3.0/deed.fr ) * **/ require_once './init.php'; require_once INCLUDE_PATH . 'Script.php'; require_once CLASS_PATH . 'ownuniverse.class.php'; require_once CLASS_PATH . 'parser.class.php'; require_once TEMPLATE_PATH . 'ownuniverse.tpl.php'; Members::CheckPermsOrDie('PERSO_OWNUNIVERSE'); $ownuniverse = ownuniverse::getinstance(); $lng = language::getinstance()->GetLngBlock('ownuniverse'); // initialisation des variables $info = $warn = ''; if (isset($_GET['reset']) && $_GET['reset'] == $_SESSION['_permkey']) { DataEngine::sql('DELETE FROM `SQL_PREFIX_ownuniverse` WHERE `UTILISATEUR` = \'' . $_SESSION['_login'] . '\' LIMIT 1'); output::Boink('%ROOT_URL%ownuniverse.php'); } if ($_GET['showuser'] != '' && Members::CheckPerms('PERSO_OWNUNIVERSE_READONLY')) { $player = gpc_esc($_GET['showuser']); $include_form = false; } else { $player = false; $include_form = true; } if (isset($_POST['importation'])) {
function AddPillage_log($mode, $idate, $msg) { // check si existant $sql = sprintf('SELECT `pid` FROM SQL_PREFIX_troops_pillage WHERE Player=\'%s\' AND date=%d', sqlesc($_SESSION['_login']), $idate); $result = DataEngine::sql($sql); if (mysql_numrows($result) > 0) { return $this->lng['log_allreadyexists']; } // Type du log/bataille // Puis recherche de la bataille (coords+participation) if ($mode == 'defender') { preg_match($this->lng['defender_regex'], $msg, $info); $ident = $this->lng['defender_ident']; if (!($planets = ownuniverse::getinstance()->get_coordswithname())) { return $this->lng['battle_error_ownuniverse']; } foreach ($planets as $v) { if ($v['Name'] == $info[$this->lng[$mode . '_regex_planetid']]) { cartographie::getinstance()->FormatId($v['Coord'], $idsys, $iddet, 'troops::AddPillage_log(def,1)'); break; } } $sql = sprintf('SELECT `ID` FROM `SQL_PREFIX_troops_attack` WHERE `type`=\'%s\' AND ' . '`coords_ss`=\'%s\' AND `coords_3p`=\'%s\' AND `when`<=%d AND `when`>=%d' . ' AND `players_defender` LIKE \'%%"%s"%%\' AND `players_attack` LIKE \'%%"%s"%%\'' . 'ORDER BY `when` DESC LIMIT 1', sqlesc($mode), $idsys, $iddet, $idate, $idate - 604800, sqlesc($_SESSION['_login']), sqlesc($info[$this->lng[$mode . '_regex_userid']])); $result = DataEngine::sql($sql); if (mysql_numrows($result) < 1) { return $this->lng['log_battlenofound']; } $line = mysql_fetch_assoc($result); $mid = $line['ID']; } else { preg_match($this->lng['attacker_regex'], $msg, $info); $ident = $this->lng['attacker_ident']; $sql = <<<sql SELECT `POSIN`, `COORDET` FROM `SQL_PREFIX_Coordonnee` LEFT JOIN `SQL_PREFIX_Coordonnee_Joueurs` on `ID`=`jID` WHERE `TYPE` in (0,3,5) AND `USER`='%s' AND `INFOS`='%s' sql; $sql = sprintf($sql, $info[$this->lng[$mode . '_regex_userid']], $info[$this->lng[$mode . '_regex_planetid']]); $result = DataEngine::sql($sql); if (mysql_numrows($result) < 1) { return $this->lng['log_coordsnotfound']; } if (mysql_numrows($result) > 1) { return $this->lng['log_multiplecoords']; } $line = mysql_fetch_assoc($result); $idsys = $line['POSIN']; $iddet = $line['COORDET']; $sql = sprintf('SELECT `ID` FROM `SQL_PREFIX_troops_attack` WHERE `type`=\'%s\' AND ' . '`coords_ss`=\'%s\' AND `coords_3p`=\'%s\' AND `when`<%d AND `when`>%d AND ' . '`players_attack` LIKE \'%%"%s"%%\' AND `players_defender` LIKE \'%%"%s"%%\'', sqlesc($mode), $idsys, $iddet, $idate, $idate - 604800, sqlesc($_SESSION['_login']), sqlesc($info[$this->lng[$mode . '_regex_userid']])); $result = DataEngine::sql($sql); if (mysql_numrows($result) < 1) { return $this->lng['log_battlenofound']; } if (mysql_numrows($result) > 1) { return 'Error battle result > 1 (omfg)'; } $line = mysql_fetch_assoc($result); $mid = $line['ID']; } // Info à ajouter $amsg = explode("\n", trim(p_substr($msg, p_stripos($msg, $ident, 0) + p_strlen($ident), -1))); $ares = DataEngine::a_ressources(); $fields = array(); $sets = array(); $fields[] = 'date'; $sets[] = $idate; $fields[] = 'mid'; $sets[] = $mid; $fields[] = 'Player'; $sets[] = '\'' . sqlesc($_SESSION['_login']) . '\''; foreach ($ares as $k => $v) { foreach ($amsg as $line) { list($key, $value) = explode(':', $line); if ($v['Nom'] == trim($key)) { $fields[] = 'ress' . $k; $sets[] = DataEngine::strip_number($value); break; } } } $fields = implode(',', $fields); $sets = implode(',', $sets); $sql = 'INSERT INTO `SQL_PREFIX_troops_pillage` (' . $fields . ') VALUES (' . $sets . ')'; $result = DataEngine::sql($sql); return $this->lng['log_added']; }
/** * * @return ownuniverse */ public static function getinstance() { if (!self::$instance) { self::$instance = new self(); } return self::$instance; }
FB::setEnabled(false); ob_end_flush(); if (!isset($_GET['id']) || !isset($_GET['step']) || !isset($_SESSION['scanner_email']) || !isset($_SESSION['scanner_session']) || $_SESSION['scanner_email'] == '' || $_SESSION['scanner_session'] == '') { DataEngine::ErrorAndDie('Paramètre(s) manquant(s)'); } $scanner = addons::getinstance()->Get_Addons('scanner'); $host = $scanner->ScanServer(); $header = 'Cookie: login_email=' . str_replace('@', '%40', $_SESSION['scanner_email']) . '; testcookie=1; PHPSESSID=' . $_SESSION['scanner_session'] . "\r\n"; $nbplanets = 0; $skipnb = intval($_GET['step']); $skipnext = $skipnb + 1; $carto = cartographie::getinstance(); if (isset($_GET['ss']) && $_GET['ss'] != '') { $coord = $_GET['ss']; } else { $coord = ownuniverse::getinstance()->get_comlevel(); $coord = $coord[intval($_GET['id'])]['ss']; } $coords = map::getinstance()->Parcours()->GetListeCoorByRay($coord, $scanner->ScanRay('planets')); $maxpage = count($coords) - 1; $curcoord = $coords[$skipnb]; echo '<html><head><title>Scan N°' . $skipnb . '/' . $maxpage . ' (base:' . $coord . ')</title></head><body>'; echo 'Système ' . $curcoord . ':</br>'; if (($page = GetUrl($host, '/galaxy/galaxy_overview.php?area=galaxy&starsystem_id=' . $curcoord . '&fleet_id=&from=', $header)) === false) { die('error sock 1'); } //$page = file_get_contents('../../test/data/galaxy_1.txt'); preg_match_all("#sun,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([a-fA-f0-9]{32})#", $page, $sun); if (count($sun[0]) == 0) { die('err preg 1'); }
Votre id session: <input type="text" name="session" value="{$_SESSION['scanner_session']}" size="32" /><br/> <br/> L'id de session ce trouve dans le panneau des préférences: <br/> - "<b>Vie Privée</b>"<br/> - Règles de conservation: "<b>utiliser les paramètres personnalisés pour l'historique</b>"<br/> - Le bouton "<b>Afficher les cookies...</b>" apparait.<br/> - Dans le champ de recherche mettez "<b>australis</b>" ou "<b>borealis</b>".<br/> - Sélectionner celui qui porte le nom de "<b>PHPSESSID</b>"<br/> - Et copier/coller la partie "<b>Contenu</b>".<br/> - la valeur ressemble a ça: <b>694000333b545d5ffda746955eb6067a</b><br/> <input type="submit" value="Enregistrer" /><br/> </form> form; $tpl->PushOutput($out); // ajoute le texte précédant à la sortie qui sera affiché. $planets = ownuniverse::getinstance()->get_comlevelwithname(); if ($ScannerEnabled && is_array($planets)) { $tpl->PushOutput('<address>l\'exactitude des champ ci-dessus ne sont pas vérifié, et considéré systématiquement comme bon.</address><br/>'); foreach ($planets as $id => $coord) { $tpl->PushOutput('<a href="./scan.php?id=' . $id . '&step=0">Vortex autour de la planète ' . $coord['ss'] . ': ' . $coord['name'] . '</a><br/>'); } foreach ($planets as $id => $coord) { $tpl->PushOutput('<a href="./planets.php?id=' . $id . '&step=0">Planètes autour de la planète ' . $coord['ss'] . ': ' . $coord['name'] . '</a><br/>'); } } else { $tpl->PushOutput('Pour la suite veuillez remplir les champs ci-dessus, ainsi que votre page perso "Production"'); } // Un petit menu perso pour l'addons $menu = array('carte' => array('%ROOT_URL%Carte.php', '%BTN_URL%carte.png', 160, 'DataEngine::CheckPerms(AXX_MEMBER)', array()), 'prod' => array('%ROOT_URL%ownuniverse.php', '%BTN_URL%ownuniverse.png', 160, 'DataEngine::CheckPerms(AXX_MEMBER)', array())); $tpl->DoOutput($menu, true); // stoppe toute execution du script et transmet les sorties html/xml/...
`Titre`='%s', `GameGrade`='%s', `pts_architecte`='%d', `pts_mineur`='%d', `pts_science`='%d', `pts_commercant`='%d', `pts_amiral`='%d', `pts_guerrier`='%d', `Date`=now() WHERE `Joueur`='%s' q; DataEngine::sql(sprintf($query, DataEngine::strip_number($_POST['POINTS']), DataEngine::strip_number($_POST['Economie']), DataEngine::strip_number($_POST['Commerce']), DataEngine::strip_number($_POST['Recherche']), DataEngine::strip_number($_POST['Combat']), DataEngine::strip_number($_POST['Construction']), DataEngine::strip_number($_POST['Navigation']), sqlesc(trim($_POST['Race']), false), sqlesc($_POST['Titre'], false), sqlesc($_POST['GameGrade'], false), DataEngine::strip_number($_POST['pts_architecte']), DataEngine::strip_number($_POST['pts_mineur']), DataEngine::strip_number($_POST['pts_science']), DataEngine::strip_number($_POST['pts_commercant']), DataEngine::strip_number($_POST['pts_amiral']), DataEngine::strip_number($_POST['pts_guerrier']), $_SESSION['_login'])); $xml['log'] = $lng['mafiche_maj']; break; case 'ownuniverse': //------------------------------------------------------ if (!Members::CheckPerms('PERSO_OWNUNIVERSE')) { $carto->AddErreur($lng['err_noaxx']); break; } require_once CLASS_PATH . 'ownuniverse.class.php'; $data = unserialize(gpc_esc($_POST['data'])); list($info, $warn) = ownuniverse::getinstance()->add_ownuniverse($data); $xml['log'] = $info; break; case 'troop_battle': //----------------------------------------------------- if (!Members::CheckPerms('PERSO_TROOPS_BATTLE')) { $carto->AddErreur($lng['err_noaxx']); break; } require_once CLASS_PATH . 'map.class.php'; require_once CLASS_PATH . 'ownuniverse.class.php'; require_once CLASS_PATH . 'troops.class.php'; $date = gpc_esc($_POST['date']); preg_match('/(\\d{2})\\.(\\d{2})\\.(\\d{4}) (\\d{2}):(\\d{2})/', $date, $adate); $idate = mktime($adate[4], $adate[5], 0, $adate[2], $adate[1], $adate[3]); $coords = gpc_esc($_POST['coords']);