Version 1.8
This commit is contained in:
parent
aea537909a
commit
5f81f76b17
184 changed files with 78335 additions and 736 deletions
|
|
@ -1,7 +1,124 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) define('INDEX', 1);
|
||||
//Script by Keiran
|
||||
print 'Début de la génération du classement ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
set_time_limit(0);
|
||||
ignore_user_abort(true);
|
||||
|
||||
$onyx = @file_get_contents('./../.onyx') or die("Configuration introuvable.");
|
||||
define("_FCORE",'../'.trim($onyx));
|
||||
|
||||
require_once(_FCORE."kernel.php");
|
||||
require_once(_FCORE."hb_game/tables.php");
|
||||
require_once(_FCORE."hb_game/vars.php");
|
||||
|
||||
$bdd = new bdd();
|
||||
/*
|
||||
//Classement Joueurs
|
||||
$bdd->connexion();
|
||||
$bdd->query("TRUNCATE TABLE $table_classement;");
|
||||
$users = $bdd->query("SELECT * FROM $table_user;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$cnt = $bdd->num_rows;
|
||||
for($i = 0; $i < $cnt; $i++){
|
||||
$id_user = $users[$i]['id'];
|
||||
$queryUser = $users[$i];
|
||||
$pointsbat = 0;
|
||||
$pointsterr = 0;
|
||||
$pointsvais = 0;
|
||||
|
||||
$bdd->connexion();
|
||||
$planetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$cntp = $bdd->num_rows;
|
||||
for($j = 0; $j < $cntp; $j++){
|
||||
$queryPlanete = $planetes[$j];
|
||||
|
||||
$nbbat = count($batimentVAR);
|
||||
for($k = 0; $k < $nbbat; $k++){
|
||||
if ($queryPlanete[$batimentVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryPlanete[$batimentVAR[$k]];
|
||||
eval($batimentCALC[$k][0]);
|
||||
eval($batimentCALC[$k][1]);
|
||||
eval($batimentCALC[$k][2]);
|
||||
$pointsbat += $a + $b + $c;
|
||||
}
|
||||
}
|
||||
|
||||
$nbterr = count($nomterrnVAR);
|
||||
for($k = 0; $k < $nbterr; $k++){
|
||||
if ($queryPlanete[$nomterrnVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryPlanete[$nomterrnVAR[$k]];
|
||||
$pointsterr += $nomterrnCALC[$k][0] + $nomterrnCALC[$k][1] + $nomterrnCALC[$k][2];
|
||||
}
|
||||
}
|
||||
|
||||
$nbvais = count($nomvaisnVAR);
|
||||
for($k = 0; $k < $nbvais; $k++){
|
||||
if ($queryPlanete[$nomvaisnVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryPlanete[$nomvaisnVAR[$k]];
|
||||
$pointsvais += $nomvaisnCALC[$k][0] + $nomvaisnCALC[$k][1] + $nomvaisnCALC[$k][2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$nbtech = count($technoloVAR);
|
||||
$pointstech = 0;
|
||||
for($k = 0; $k < $nbtech; $k++){
|
||||
if ($queryUser[$technoloVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryUser[$technoloVAR[$k]];
|
||||
eval($technoloCALC[$k][0]);
|
||||
eval($technoloCALC[$k][1]);
|
||||
eval($technoloCALC[$k][2]);
|
||||
$pointstech += $a + $b + $c;
|
||||
}
|
||||
}
|
||||
|
||||
$pointstech /= 1000;
|
||||
$pointsvais /= 1000;
|
||||
$pointsterr /= 1000;
|
||||
$pointsbat /= 1000;
|
||||
$points = $pointsbat + $pointsterr + $pointsvais + $pointstech;
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE $table_user SET points = $points, batiments = $pointsbat, recherches = $pointstech, flotte = $pointsvais, terrestre = $pointsterr WHERE id = $id_user;");
|
||||
if ($queryUser['auth_level'] < 2 && $queryUser['mv'] < 2) $bdd->query("INSERT INTO $table_classement (id_user, points, flottes, terrestres, recherches, batiments) VALUES ($id_user, $points, $pointsvais, $pointsterr, $pointstech, $pointsbat);");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
|
||||
$bdd->connexion();
|
||||
$classement = $bdd->query("SELECT U.id, U.auth_level FROM $table_classement C INNER JOIN $table_user U ON C.id_user = U.id ORDER BY C.points DESC;");
|
||||
$cnt = $bdd->num_rows;
|
||||
$p = 0;
|
||||
for($i = 0; $i < $cnt; $i++){
|
||||
if ($classement[$i]['auth_level'] < 2) {
|
||||
$p++;
|
||||
$bdd->query("UPDATE $table_user SET place_points = $p WHERE id = ".$classement[$i]['id']);
|
||||
}
|
||||
else $bdd->query("UPDATE $table_user SET place_points = 0 WHERE id = ".$classement[$i]['id']);
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
*/
|
||||
print '<br />Fin de la génération du classement joueur ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
//Classement Alliances
|
||||
$bdd->connexion();
|
||||
$bdd->query("TRUNCATE TABLE $table_classement_alliances;");
|
||||
$alliances = $bdd->query("SELECT U.id_alliance, SUM(U.id) AS nombre, SUM(U.points)/SUM(U.id) AS points, SUM(U.batiments)/SUM(U.id) AS batiments, SUM(U.recherches)/SUM(U.id) AS recherches, SUM(U.flotte)/SUM(U.id) AS flotte, SUM(U.terrestre)/SUM(U.id) AS terrestre FROM $table_user U GROUP BY U.id_alliance;");
|
||||
$cnt = $bdd->num_rows;
|
||||
for($i = 0; $i < $cnt; $i++){
|
||||
if ($alliances[$i]['id_alliance'] != 0) $bdd->query("INSERT INTO $table_classement_alliances (id_alliance, nbr_membres, points, batiments, recherches, flottes, terrestres) VALUES (".$alliances[$i]['id_alliance'].", ".$alliances[$i]['nombre'].", ".$alliances[$i]['points'].", ".$alliances[$i]['batiments'].", ".$alliances[$i]['recherches'].", ".$alliances[$i]['flotte'].", ".$alliances[$i]['terrestre'].");");
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
|
||||
print '<br />Fin de la génération du classement ; il est : '.date('d/m/Y H:i:s');
|
||||
exit;
|
||||
//Script by Keiran
|
||||
print 'Il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
set_time_limit(0);
|
||||
|
|
@ -127,7 +244,7 @@ while($recup_id = mysql_fetch_array($sql_1)) {
|
|||
$POINTS_BATIMENTS = $POINTS_BATIMENTS / 1000;
|
||||
|
||||
// points flottes terrestres recherches batiments
|
||||
if ($recup_id['auth_level'] < 3 && $recup_id['mv'] < 2) mysql_query("INSERT INTO `classement` VALUES (NULL, '$PSEUDO_USER', '$race', '$PT_RESSOURCES', '$POINTS_VAISSEAUX', '0', '$POINTS_TECHNO', '$POINTS_BATIMENTS')") or die (mysql_error());
|
||||
if ($recup_id['auth_level'] < 2 && $recup_id['mv'] < 2) mysql_query("INSERT INTO `classement` VALUES (NULL, '$PSEUDO_USER', '$race', '$PT_RESSOURCES', '$POINTS_VAISSEAUX', '0', '$POINTS_TECHNO', '$POINTS_BATIMENTS')") or die (mysql_error());
|
||||
mysql_query("UPDATE `user` SET `flotte` = '" . $POINTS_VAISSEAUX . "', `recherches` = '" . $POINTS_TECHNO . "', `batiments` = '" . $POINTS_BATIMENTS . "', `points` = '" . $PT_RESSOURCES . "' WHERE `pseudo` = '" . $PSEUDO_USER . "'") or die (mysql_error());
|
||||
|
||||
$metal = 0;
|
||||
|
|
@ -150,7 +267,7 @@ while($resultat = mysql_fetch_array($sql_2)) {
|
|||
$nomuser = $resultat['pseudo'];
|
||||
$reqd = mysql_query("SELECT `auth_level` FROM `user` WHERE `pseudo` = '$nomuser'");
|
||||
$resultatd = mysql_fetch_array($reqd);
|
||||
if ($resultatd['auth_level'] < 3) {
|
||||
if ($resultatd['auth_level'] < 2) {
|
||||
$i++;
|
||||
mysql_query("UPDATE `user` SET `place_points` = '$i' WHERE `pseudo` = '$nomuser'");
|
||||
}
|
||||
|
|
|
|||
689
htdocs/cron/webcronsave.php
Normal file
689
htdocs/cron/webcronsave.php
Normal file
|
|
@ -0,0 +1,689 @@
|
|||
<?
|
||||
function showHeaderPage()
|
||||
{
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>WebcronSave V1.41</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"/>
|
||||
<meta http-equiv="expires" content="0">
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body { background: #FFFFFF; }
|
||||
|
||||
#topnav {
|
||||
background-color: #003399;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
#topnav li {
|
||||
display : inline;
|
||||
width: 100%;
|
||||
background-color: #FFFFFF;
|
||||
margin: 1 0px 1 0px;
|
||||
}
|
||||
|
||||
#topnav a {
|
||||
color: #003399;
|
||||
}
|
||||
|
||||
#topnav a {
|
||||
color: #003399;
|
||||
}
|
||||
|
||||
.message {
|
||||
color: black;
|
||||
font_weight:bold;
|
||||
}
|
||||
.error {
|
||||
color: red;
|
||||
font_weight:bold;
|
||||
}
|
||||
|
||||
//-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<?
|
||||
}
|
||||
|
||||
// recup chaine de get, post ou cookie avec ou sans stripslashes selon magic_quotes_gpc
|
||||
function RecupChaine($chaine) {
|
||||
if (get_magic_quotes_gpc()==1) return stripslashes($chaine); // il y avait magic
|
||||
return $chaine; // il n'y avait pas magic
|
||||
}
|
||||
|
||||
function showMessage($message,$class)
|
||||
{
|
||||
?>
|
||||
<div class="<?=$class?>">
|
||||
<?=$message?>
|
||||
</div>
|
||||
<?
|
||||
}
|
||||
|
||||
function moimeme($paramget='') {
|
||||
|
||||
global $_CONFIG;
|
||||
$ret=rtrim($_SERVER['PHP_SELF'],'/');
|
||||
$ret .=$paramget;
|
||||
if ($_CONFIG['IDENTIF'] != 'basic') {
|
||||
$ret .= empty($paramget)?'?':'&';
|
||||
$ret .= 'login='.urlencode($_CONFIG['LOGIN_HTTP']);
|
||||
$ret .= '&pass='.urlencode($_CONFIG['PASS_HTTP']);
|
||||
}
|
||||
return '"'.$ret.'"';
|
||||
}
|
||||
|
||||
function showFormConfig()
|
||||
{
|
||||
global $_CONFIG;
|
||||
?>
|
||||
<H1>CONFIGURATION</H1>
|
||||
<B>ATTENTION !</B><BR />
|
||||
Les mots de passe de base de données et d'administration doivent être saisis lors de la première configuration.
|
||||
Lors des autres accès à l'administration, laissez-les en blanc, sauf si vous désirez les changer.<BR>
|
||||
Nous conseillons le mode d'identification 'basic', mais il se peut qu'il ne fonctionne pas sur certains systèmes.
|
||||
Utilisez alors le mode 'par URL'.<br>
|
||||
<B>Si vous êtes obligé d'utiliser le mode 'par URL' et que d'autres personnes utilisent votre machine, videz l'historique de
|
||||
votre browser sinon d'autres personnes pourront retrouver vos login et mot de passe.</B>
|
||||
<BR><BR>
|
||||
<B>Utilisation de Webcronsave avec webcron.org :</B><br>
|
||||
<UL>
|
||||
<LI>identification basic : créez une tâche quotidienne avec l'url :<BR>
|
||||
<i>http://monsite.com/webcronsave.php?action=savewebcron</i><BR>
|
||||
et mettez le login et le mot de passe d'administration dans les login et mot de passe de la création/édition d'une tâche.
|
||||
<LI>identification par URL : créez une tâche quotidienne avec l'url :<BR>
|
||||
<i>http://monsite.com/webcronsave.php?action=savewebcron&login=monlogin&pass=monpass</i><BR>
|
||||
mais laissez vides les login et mot de passe de la création/édition d'une tâche.
|
||||
</UL>
|
||||
|
||||
<form action=<?=moimeme()?> method="POST">
|
||||
<input type="hidden" name="action" value="saveconfig">
|
||||
<TABLE border=1 cellpadding="3" align="center">
|
||||
|
||||
<tr bgcolor="#FFFFCC"><td colspan="2" align = "center" ><b>BASE DE DONNEES</b></td></tr>
|
||||
<TR bgcolor="#FFFFCC">
|
||||
<td align="right">Nom du serveur :</td>
|
||||
<td><input type="text" name="SERVER" value="<?=$_CONFIG['SERVER']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#FFFFCC">
|
||||
<td align="right">Login utilisateur :</td>
|
||||
<td><input type="text" name="USER" value="<?=$_CONFIG['USER']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#FFFFCC">
|
||||
<td align="right">Nouveau mot de passe utilisateur :</td>
|
||||
<td><input type="text" name="PASS"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#FFFFCC">
|
||||
<td align="right">Nom de la base de données :</td>
|
||||
<td><input type="text" name="BASE" value="<?=$_CONFIG['BASE']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF"><td colspan="2" align = "center"><b>ADMINISTRATION</b></td></tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Email en cas de problème :</td>
|
||||
<td><input type="text" name="EMAIL" value="<?=$_CONFIG['EMAIL']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Login d'accès à l'admin :</td>
|
||||
<td><input type="text" name="LOGIN_HTTP" value="<?=$_CONFIG['LOGIN_HTTP']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Nouveau mot de passe d'accès à l'admin :</td>
|
||||
<td><input type="text" name="PASS_HTTP"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Mode d'identification :</td>
|
||||
<td>
|
||||
basic : <input type="radio" name="IDENTIF" value="basic"<? echo $_CONFIG['IDENTIF']!='basic'?'':'CHECKED'?>>
|
||||
par URL : <input type="radio" name="IDENTIF" value="url"<? echo $_CONFIG['IDENTIF']=='basic'?'':'CHECKED'?>>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td colspan="2" align="center"><b>LISTE DES SAUVEGARDES A FAIRE</b</td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right"> sauvegarde du 1er du mois : </td>
|
||||
<td><input type="radio" name="MONTH" value="1" <?=($_CONFIG['MONTH']==1)?"CHECKED":""?>> Oui <input type="radio" name="MONTH" value="0" <?=($_CONFIG['MONTH']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">sauvegarde du dimanche : </td>
|
||||
<td><input type="radio" name="WEEK" value="1" <?=($_CONFIG['WEEK']==1)?"CHECKED":""?>> Oui <input type="radio" name="WEEK" value="0" <?=($_CONFIG['WEEK']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">sauvegarde de la veille : </td>
|
||||
<td><input type="radio" name="YESTERDAY" value="1" <?=($_CONFIG['YESTERDAY']==1)?"CHECKED":""?>> Oui <input type="radio" name="YESTERDAY" value="0" <?=($_CONFIG['YESTERDAY']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">sauvegarde du jour : </td>
|
||||
<td><input type="radio" name="TODAY" value="1" <?=($_CONFIG['TODAY']==1)?"CHECKED":""?>> Oui <input type="radio" name="TODAY" value="0" <?=($_CONFIG['TODAY']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<? if (isset($_CONFIG["BASE"]) && isset($_CONFIG["SERVER"]) && isset($_CONFIG["USER"]) && isset($_CONFIG["PASS"])) {
|
||||
if (checkMysql())
|
||||
{
|
||||
$list=listTable();
|
||||
?>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td colspan="2" align="center"><b>LISTE DES TABLES A SAUVEGARDER</b</td>
|
||||
</tr>
|
||||
<?
|
||||
foreach($list as $table)
|
||||
{
|
||||
if (!isset($_CONFIG['TABLE_'.$table['nom']])) $_CONFIG['TABLE_'.$table['nom']]=1;
|
||||
?>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">table <b><?=$table['nom']?></b></td>
|
||||
<td><input type="radio" name="TABLE_<?=$table['nom']?>" value="1" <?=($_CONFIG['TABLE_'.$table['nom']]==1)?"CHECKED":""?>> Oui <input type="radio" name="TABLE_<?=$table['nom']?>" value="0" <?=($_CONFIG['TABLE_'.$table['nom']]==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<?
|
||||
}
|
||||
?>
|
||||
<? } else {?>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td colspan="2" align="center"><b>TOUTES LES TABLES SONT SAUVEGARDEES</b</td>
|
||||
</tr>
|
||||
<? } } else { ?>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td colspan="2" align="center"><b>TOUTES LES TABLES SONT SAUVEGARDEES</b</td>
|
||||
</tr>
|
||||
<? } ?>
|
||||
<TR>
|
||||
<td colspan="2" align="center"><input type="submit" name="submit" value="Valider"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</form>
|
||||
<?
|
||||
}
|
||||
function showFooterPage()
|
||||
{
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
<?
|
||||
}
|
||||
function showMenu()
|
||||
{
|
||||
?>
|
||||
<ul id="topnav">
|
||||
<li> <a href=<?=moimeme('?action=config')?>>Configuration</a> </li>
|
||||
<li> <a href=<?=moimeme('?action=save')?>>Sauvegarde Manuelle</a> </li>
|
||||
<li> <a href=<?=moimeme('?action=restore')?>>Restauration</a> </li>
|
||||
<li> <a href="http://www.webcron.org">Webcron</a> </li>
|
||||
</ul>
|
||||
<?
|
||||
}
|
||||
|
||||
function showIdentifPage()
|
||||
{
|
||||
global $_CONFIG;
|
||||
?>
|
||||
<H1>IDENTIFICATION</H1>
|
||||
<FORM align="center" method="GET" action="<?=$_SERVER['PHP_SELF']?>">
|
||||
<TABLE border=1 cellpadding="3" align="center">
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Login d'accès à l'admin :</td>
|
||||
<td><input type="text" name="login" value="<?=$_CONFIG['LOGIN_HTTP']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Mot de passe d'accès à l'admin :</td>
|
||||
<td><input type="text" name="pass"></td>
|
||||
</tr>
|
||||
<TR>
|
||||
<td colspan="2" align="center"><input type="submit" name="submit" value="Valider"></td>
|
||||
</tr>
|
||||
</TABLE>
|
||||
</FORM>
|
||||
<?
|
||||
}
|
||||
|
||||
function checkMysql()
|
||||
{
|
||||
global $_CONFIG;
|
||||
include('./webcronsave/config.php');
|
||||
|
||||
if (!$my=mysql_connect($_CONFIG['SERVER'],$_CONFIG['USER'],$_CONFIG['PASS']))
|
||||
return false;
|
||||
else
|
||||
{
|
||||
if (!mysql_select_db($_CONFIG['BASE']))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function saveData()
|
||||
{
|
||||
global $_CONFIG;
|
||||
checkMysql();
|
||||
$fname=date('Y-m-d')."_".$_CONFIG['BASE'];
|
||||
$list=listTable();
|
||||
if (!function_exists('gzopen'))
|
||||
$fp=fopen('./webcronsave/'.$fname.'.sql','w');
|
||||
else
|
||||
$fp=gzopen('./webcronsave/'.$fname.'.gz','w');
|
||||
if ($fp)
|
||||
{
|
||||
foreach($list as $table)
|
||||
{
|
||||
if (isset($_CONFIG['TABLE_'.$table['nom']]))
|
||||
{
|
||||
if ($_CONFIG['TABLE_'.$table['nom']]=='1')
|
||||
{
|
||||
dumpTable($fp,$table);
|
||||
}
|
||||
}
|
||||
else dumpTable($fp,$table);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
function restoreFile($file)
|
||||
{
|
||||
showMessage('Restauration en cours','message');
|
||||
checkMysql();
|
||||
list($name,$ext)=explode('.',$file);
|
||||
if ($ext=='gz')
|
||||
$pref='gz';
|
||||
else
|
||||
$pref='f';
|
||||
$open=$pref.'open';
|
||||
$gets=$pref.'gets';
|
||||
$eof=$pref.'eof';
|
||||
$close=$pref.'close';
|
||||
$fp=$open($dir='./webcronsave/'.$file,'r');
|
||||
if ($fp)
|
||||
{
|
||||
$buffer='';
|
||||
$inChamp=false;
|
||||
while (!$eof($fp)) {
|
||||
$s=$gets($fp, 4096);
|
||||
$old='';
|
||||
for($i=0;$i<strlen($s);$i++)
|
||||
{
|
||||
$current=$s[$i];
|
||||
if ($current=="'" && $old!='\\')
|
||||
$inChamp=!$inChamp;
|
||||
|
||||
if ($current==';' && $inChamp==false)
|
||||
{
|
||||
$query=$buffer;
|
||||
if (!mysql_query($query))
|
||||
{
|
||||
showMessage('Problème de requete <b>'.htmlentities($query).'</b> Mysql '.mysql_error(),'error');
|
||||
return false;
|
||||
}
|
||||
$buffer='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$buffer.=$current;
|
||||
}
|
||||
$old=$current;
|
||||
}
|
||||
}
|
||||
$close($fp);
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
|
||||
function dumpTable($fp,$table)
|
||||
{
|
||||
global $_CONFIG;
|
||||
$nomtable=$table['nom'];
|
||||
|
||||
if (!function_exists('gzopen'))
|
||||
$fwrite='fwrite';
|
||||
else
|
||||
$fwrite='gzwrite';
|
||||
|
||||
$fwrite($fp,'#sauvegarde base mysql '.$_CONFIG['BASE']."\n\n");
|
||||
$fwrite($fp,"DROP TABLE IF EXISTS `$nomtable`;\n\n");
|
||||
|
||||
$sql='SET SQL_QUOTE_SHOW_CREATE=1';
|
||||
$res=mysql_query($sql); // pas fatal
|
||||
|
||||
$sql="SHOW CREATE TABLE `$nomtable`";
|
||||
$res=mysql_query($sql) or die ('Erreur Mysql '.mysql_error().'<br>');
|
||||
while($res && $row=mysql_fetch_row($res))
|
||||
{
|
||||
if (is_numeric($table['autoinc'])) $row[1] .= ' AUTO_INCREMENT='.$table['autoinc'];
|
||||
$fwrite($fp,$row[1].";\n");
|
||||
}
|
||||
$fwrite($fp,"\n\n");
|
||||
|
||||
$res = mysql_query("SELECT * FROM `$nomtable`") or die ('Erreur Mysql '.mysql_error().'<br>');
|
||||
|
||||
while ($row = mysql_fetch_assoc($res)){
|
||||
$strFieldsNames = '';
|
||||
$strFieldsValues = '';
|
||||
|
||||
foreach ($row as $field_name => $field_value){
|
||||
if ($strFieldsNames) $strFieldsNames .= ', ';
|
||||
$strFieldsNames .= "`$field_name`";
|
||||
|
||||
if($strFieldsValues) $strFieldsValues .= ', ';
|
||||
$strFieldsValues .= "'" . addslashes($field_value) . "'";
|
||||
}
|
||||
|
||||
$fwrite($fp,"INSERT INTO `$nomtable` ($strFieldsNames) values($strFieldsValues);\n");
|
||||
}
|
||||
$fwrite($fp,"\n\n");
|
||||
}
|
||||
|
||||
function listTable()
|
||||
{
|
||||
global $_CONFIG;
|
||||
$list_table=array();
|
||||
$list_autoinc =array();
|
||||
$res=mysql_query('SHOW TABLE STATUS') or die ('Erreur Mysql '.mysql_error().'<br>');
|
||||
// $tmpfile=tempnam(ini_get("session.save_path"),"webcronsave_");
|
||||
if (!$res)
|
||||
{
|
||||
echo 'Erreur Mysql '.mysql_error().'<br>';
|
||||
die;
|
||||
}
|
||||
else
|
||||
{
|
||||
while($row=mysql_fetch_array($res))
|
||||
{
|
||||
$list_table[]=array('nom'=>$row['Name'],'autoinc'=>$row['Auto_increment']);
|
||||
}
|
||||
}
|
||||
return $list_table;
|
||||
}
|
||||
|
||||
function saveConfig($data)
|
||||
{
|
||||
global $_CONFIG;
|
||||
|
||||
// on vérifie si config correcte
|
||||
if (empty($data['PASS'])) {
|
||||
if (empty($_CONFIG['PASS'])) {
|
||||
showMessage ('Le mot de passe de la base de données est vide.','error');
|
||||
showMessage ('Ceci n\'est acceptable que si vous faites un essai en local','error');
|
||||
$_CONFIG['PASS']='';
|
||||
}
|
||||
$data['PASS']=$_CONFIG['PASS']; // prise en compte nouveau mot de passe bdd
|
||||
}
|
||||
|
||||
if (empty($data['PASS_HTTP'])) {
|
||||
if (empty($_CONFIG['PASS_HTTP'])) {
|
||||
return 'le mot de passe admin ne doit pas être vide'; // mot de passe admin vide interdit
|
||||
}
|
||||
$data['PASS_HTTP']=$_CONFIG['PASS_HTTP']; // prise en compte nouveau mot de passe admin
|
||||
}
|
||||
|
||||
if (empty($data['USER'])) {
|
||||
showMessage ('Le nom d\'utilisateur de la base de données est vide.','error');
|
||||
showMessage ('Ceci n\'est acceptable que si vous faites un essai en local','error');
|
||||
}
|
||||
if (empty($data['LOGIN_HTTP'])) {
|
||||
return 'le nom d\'utilisateur admin ne doit pas être vide';
|
||||
}
|
||||
|
||||
if($fd = fopen('./webcronsave/config.php','w'))
|
||||
{
|
||||
fputs($fd,"<?php\n");
|
||||
foreach($data as $key => $val)
|
||||
{
|
||||
fputs($fd,"\$_CONFIG[\"$key\"]=".var_export(recupchaine($val),true).";\n");
|
||||
$_CONFIG[$key]=$val;
|
||||
}
|
||||
fputs($fd,'?','>');
|
||||
fclose($fd);
|
||||
//je crée un htaccess pour ne pas que les gens viennent chercher les fichiers en direct
|
||||
if($fd = @fopen('./webcronsave/.htaccess','w'))
|
||||
{
|
||||
$str="order deny,allow\ndeny from all\n";
|
||||
fputs($fd,$str);
|
||||
fclose($fd);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
else
|
||||
return 'Problème de droits : impossible de sauvegarder le fichier de config';
|
||||
}
|
||||
|
||||
function getFileSize($size) {
|
||||
$units = array(' B', ' KB', ' MB', ' GB', ' TB');
|
||||
for ($i = 0; $size > 1024; $i++) { $size /= 1024; }
|
||||
return round($size, 2).$units[$i];
|
||||
}
|
||||
|
||||
function fileData($file)
|
||||
{
|
||||
global $_CONFIG;
|
||||
$dir='./webcronsave/';
|
||||
list($name,$ext)=explode('.',$file);
|
||||
list($date,$db)=explode('_',$name);
|
||||
list($year,$month,$day)=explode('-',$date);
|
||||
if ($ext=='gz') $ext_f='Fichier compressé (algorithme GZIP)';
|
||||
else $ext_f='Fichier non compressé';
|
||||
return 'sauvegarde du '.$day.'/'.$month.'/'.$year.' '.getFileSize(filesize($dir.$file)).' '.$ext_f;
|
||||
}
|
||||
function checkFile()
|
||||
{
|
||||
global $_CONFIG;
|
||||
if (!function_exists('gzopen'))
|
||||
$ext='.sql';
|
||||
else
|
||||
$ext='.gz';
|
||||
//sauvegarde du jour
|
||||
if ($_CONFIG['TODAY']=='1') $names[date('Y-m-d').'_'.$_CONFIG['BASE'].$ext]=date('Y-m-d').'_'.$_CONFIG['BASE'].$ext;
|
||||
//sauvegarde de la veille
|
||||
if ($_CONFIG['YESTERDAY']=='1') $names[date('Y-m-d',time()-86400).'_'.$_CONFIG['BASE'].$ext]=date('Y-m-d',time()-86400).'_'.$_CONFIG['BASE'].$ext;
|
||||
//sauvegarde du debut du mois
|
||||
if ($_CONFIG['MONTH']=='1') $names[date('Y-m-01').'_'.$_CONFIG['BASE'].$ext]=date('Y-m-01').'_'.$_CONFIG['BASE'].$ext;
|
||||
//sauvegarde du dimanche
|
||||
if ($_CONFIG['WEEK']=='1') $names[date('Y-m-d',time()-date('w')*86400).'_'.$_CONFIG['BASE'].$ext]=date('Y-m-d',time()-date("w")*86400)."_".$_CONFIG['BASE'].$ext;
|
||||
//var_dump($names);
|
||||
$list_f=listFileSave();
|
||||
foreach($list_f as $file)
|
||||
{
|
||||
if (!in_array($file,$names)) unlink('./webcronsave/'.$file);
|
||||
}
|
||||
|
||||
}
|
||||
function listFileSave()
|
||||
{
|
||||
$dir='./webcronsave/';
|
||||
$list_f=array();
|
||||
if (is_dir($dir)) {
|
||||
if ($dh = opendir($dir)) {
|
||||
while (($file = readdir($dh)) !== false) {
|
||||
if (!in_array($file,array('.','..','config.php','.htaccess')))
|
||||
{
|
||||
$list_f[]=$file;
|
||||
}
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
return $list_f;
|
||||
}
|
||||
function listeSave()
|
||||
{
|
||||
global $_CONFIG;
|
||||
|
||||
$list_f=listFileSave();
|
||||
|
||||
echo '<ul id="list_archive">';
|
||||
foreach($list_f as $val)
|
||||
{
|
||||
echo '<li> <a href='.moimeme('?action=dorestore&file='.urlencode($val)).'>Restaurer</a> '.fileData($val).'</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
}
|
||||
function readConfig()
|
||||
{
|
||||
global $_CONFIG;
|
||||
$rsrc=@opendir( './webcronsave');
|
||||
if ($rsrc===false) return false;
|
||||
closedir ($rsrc);
|
||||
|
||||
if (file_exists('./webcronsave/config.php'))
|
||||
include_once('./webcronsave/config.php');
|
||||
if (!isset($_CONFIG['TODAY'])) $_CONFIG['TODAY']=0;
|
||||
if (!isset($_CONFIG['YESTERDAY'])) $_CONFIG['YESTERDAY']=0;
|
||||
if (!isset($_CONFIG['MONTH'])) $_CONFIG['MONTH']=1;
|
||||
if (!isset($_CONFIG['WEEK'])) $_CONFIG['WEEK']=0;
|
||||
if (!isset($_CONFIG['SERVER'])) $_CONFIG['SERVER']='localhost';
|
||||
if (!isset($_CONFIG['USER'])) $_CONFIG['USER']='';
|
||||
if (!isset($_CONFIG['PASS'])) $_CONFIG['PASS']='';
|
||||
if (!isset($_CONFIG['BASE'])) $_CONFIG['BASE']='';
|
||||
if (!isset($_CONFIG['EMAIL'])) $_CONFIG['EMAIL']='';
|
||||
if (!isset($_CONFIG['LOGIN_HTTP'])) $_CONFIG['LOGIN_HTTP']='';
|
||||
if (!isset($_CONFIG['PASS_HTTP'])) $_CONFIG['PASS_HTTP']='';
|
||||
if (!isset($_CONFIG['IDENTIF'])) $_CONFIG['IDENTIF']='basic';
|
||||
return true;
|
||||
|
||||
} // function readConfig()
|
||||
|
||||
|
||||
function AfficherListe() {
|
||||
echo 'sauvegarde(s) disponible(s) :<BR>';
|
||||
$lst= ListFileSave();
|
||||
for ($k= 0; $k < count($lst); $k++) {
|
||||
echo htmlentities($lst[$k]),'<BR>';
|
||||
}
|
||||
|
||||
} //function AfficherListe()
|
||||
|
||||
//GESTION DE LA PAGE
|
||||
|
||||
if (isset($_POST['action']) && strlen($_POST['action'])>0) $action=recupchaine($_POST['action']);
|
||||
else if (isset($_GET['action']) && strlen($_GET['action'])>0) $action=recupchaine($_GET['action']);
|
||||
//par défaut l'action est la configuration
|
||||
else $action='config';
|
||||
|
||||
if (!readConfig())
|
||||
{
|
||||
$action='error';
|
||||
$errorMessage='Veuillez créer le repertoire \'webcronsave\' pour sauvegarder votre config et vos sauvegardes.';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!empty($_CONFIG['LOGIN_HTTP']) && !empty($_CONFIG['PASS_HTTP']))
|
||||
{
|
||||
if ($_CONFIG['IDENTIF']!='basic') {
|
||||
if (empty($_GET['login']) || empty($_GET['pass'])) // identification non fournie
|
||||
$action='demandermdp';
|
||||
else if ((recupchaine($_GET['login']) != $_CONFIG['LOGIN_HTTP']) ||
|
||||
(recupchaine($_GET['pass']) != $_CONFIG['PASS_HTTP']) ) // identif incorrecte
|
||||
$action='demandermdp';
|
||||
|
||||
} // fin identif par url
|
||||
else { // identif par basic
|
||||
if (!isset($_SERVER['PHP_AUTH_USER'])) {
|
||||
header('WWW-Authenticate: Basic realm="WebCronSave"');
|
||||
header('HTTP/1.0 401 Unauthorized');
|
||||
exit;
|
||||
} else {
|
||||
if ($_SERVER['PHP_AUTH_USER']!=$_CONFIG['LOGIN_HTTP'] || $_SERVER['PHP_AUTH_PW']!=$_CONFIG['PASS_HTTP'])
|
||||
{
|
||||
header('WWW-Authenticate: Basic realm="WebCronSave"');
|
||||
header('HTTP/1.0 401 Unauthorized');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
} // fin identif par basic
|
||||
}
|
||||
}
|
||||
checkFile();
|
||||
//traitement spécifique
|
||||
switch($action)
|
||||
{
|
||||
//webcron sauvegarde automatique
|
||||
case 'savewebcron':
|
||||
if (!saveData()) {
|
||||
mail($_CONFIG['EMAIL'],'Problème avec votre sauvegarde','Veuillez vérifier votre configuration : http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\n");
|
||||
echo 'pb sauvegarde';
|
||||
} else {
|
||||
checkFile();
|
||||
AfficherListe();
|
||||
}
|
||||
break;
|
||||
|
||||
//Affichage de la config
|
||||
case 'config':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
showFormConfig();
|
||||
break;
|
||||
|
||||
//sauvegarde de la config
|
||||
case 'saveconfig':
|
||||
showHeaderPage();
|
||||
$diag=saveConfig($_POST);
|
||||
showMenu();
|
||||
if ($diag!='')
|
||||
{
|
||||
showMessage($diag,'error');
|
||||
}
|
||||
else
|
||||
{
|
||||
showMessage('La configuration a été sauvegardée',"message");
|
||||
showMessage('Vérification de la connexion de la base de données','message');
|
||||
if (!checkMysql()) showMessage('Problème de connexion Mysql '.mysql_error(),'error');
|
||||
else showMessage('La connexion est bien configurée !','message');
|
||||
}
|
||||
break;
|
||||
|
||||
//Affichage d'une erreur
|
||||
case 'error':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
showMessage($errorMessage,'error');
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//Gestion de la sauvegarde manuel
|
||||
case 'save':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
if (saveData())
|
||||
{
|
||||
showMessage('La sauvegarde a été effectuée avec succès','message');
|
||||
}
|
||||
else
|
||||
showMessage('Problème de création de fichier','error');
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//gestion de la restauration
|
||||
case 'restore':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
listeSave();
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//gestion de la restauration
|
||||
case 'dorestore':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
$file=recupchaine($_GET['file']);
|
||||
if (!restoreFile($file)) showMessage('Problème de requête Mysql '.mysql_error(),'error');
|
||||
else showMessage('Restauration effectuée avec succès','message');
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//saisie de l'identification par URL
|
||||
case 'demandermdp':
|
||||
showHeaderPage();
|
||||
showIdentifPage();
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//gestion par défaut
|
||||
default:
|
||||
break;
|
||||
}
|
||||
?>
|
||||
2
htdocs/cron/webcronsave/.htaccess
Normal file
2
htdocs/cron/webcronsave/.htaccess
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
order deny,allow
|
||||
deny from all
|
||||
BIN
htdocs/cron/webcronsave/2008-06-19_hb_37.gz
Normal file
BIN
htdocs/cron/webcronsave/2008-06-19_hb_37.gz
Normal file
Binary file not shown.
75176
htdocs/cron/webcronsave/2008-06-19_hb_37/2008-06-19_hb_37.sql
Normal file
75176
htdocs/cron/webcronsave/2008-06-19_hb_37/2008-06-19_hb_37.sql
Normal file
File diff suppressed because it is too large
Load diff
35
htdocs/cron/webcronsave/config.php
Normal file
35
htdocs/cron/webcronsave/config.php
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
$_CONFIG["action"]='saveconfig';
|
||||
$_CONFIG["SERVER"]='localhost';
|
||||
$_CONFIG["USER"]='hb_37';
|
||||
$_CONFIG["PASS"]='JQ2Pe%!bpUDr1';
|
||||
$_CONFIG["BASE"]='hb_37';
|
||||
$_CONFIG["EMAIL"]='admin@halo-battle.s-fr.com';
|
||||
$_CONFIG["LOGIN_HTTP"]='nemunaire';
|
||||
$_CONFIG["PASS_HTTP"]='KT58pUm%s!9';
|
||||
$_CONFIG["IDENTIF"]='basic';
|
||||
$_CONFIG["MONTH"]='0';
|
||||
$_CONFIG["WEEK"]='0';
|
||||
$_CONFIG["YESTERDAY"]='0';
|
||||
$_CONFIG["TODAY"]='1';
|
||||
$_CONFIG["TABLE_alliances"]='1';
|
||||
$_CONFIG["TABLE_alliances_attente"]='1';
|
||||
$_CONFIG["TABLE_alliances_chat"]='1';
|
||||
$_CONFIG["TABLE_alliances_creation"]='1';
|
||||
$_CONFIG["TABLE_alliances_grade"]='1';
|
||||
$_CONFIG["TABLE_bug"]='0';
|
||||
$_CONFIG["TABLE_classement"]='0';
|
||||
$_CONFIG["TABLE_classement_alliances"]='0';
|
||||
$_CONFIG["TABLE_flottes"]='1';
|
||||
$_CONFIG["TABLE_flottes_combats"]='1';
|
||||
$_CONFIG["TABLE_infoshead"]='0';
|
||||
$_CONFIG["TABLE_mail"]='1';
|
||||
$_CONFIG["TABLE_ope_faq"]='1';
|
||||
$_CONFIG["TABLE_ope_mail"]='1';
|
||||
$_CONFIG["TABLE_ope_modele"]='1';
|
||||
$_CONFIG["TABLE_planete"]='1';
|
||||
$_CONFIG["TABLE_registre_identification"]='0';
|
||||
$_CONFIG["TABLE_sessions"]='0';
|
||||
$_CONFIG["TABLE_user"]='1';
|
||||
$_CONFIG["TABLE_version"]='0';
|
||||
$_CONFIG["submit"]='Valider';
|
||||
Loading…
Add table
Add a link
Reference in a new issue