Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
<?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'])) {
Ejemplo n.º 3
0
    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'];
    }
Ejemplo n.º 4
0
 /**
  *
  * @return ownuniverse
  */
 public static function getinstance()
 {
     if (!self::$instance) {
         self::$instance = new self();
     }
     return self::$instance;
 }
Ejemplo n.º 5
0
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');
}
Ejemplo n.º 6
0
    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/...
Ejemplo n.º 7
0
        `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']);