<?php
include("../config.php3");
include($BIB."bib_generic.php3");
include($BIB."bib_curl.php3");


$STATE_ACTION_ACTIVE = 1;
$STATE_ACTION_INACTIVE = 0;

$DO_IT_NO = 0;
$DO_IT_YES = 1;
$DO_IT_RUNNING = 2;


// ok, on demande de faire une mise à jour
if ($crontabler == 1)
{
	// 1. On vérifie qu'il n'y a pas une action en cours
	$action_en_cours = db_fetch_array(main_db_query("SELECT Id FROM Crontable WHERE DoIt='".$DO_IT_RUNNING."' ORDER BY Id ASC LIMIT 0,1"));
	if ($action_en_cours['Id'] > 0)
	{
		echo "Pas de maj car une action est déjà en cours<br>On sort";
		exit;
	}
	$actions = main_db_query("SELECT * FROM Crontable WHERE DoIt='".$DO_IT_YES."' AND State='".$STATE_ACTION_ACTIVE."' ORDER BY Id ASC");
	echo "On effectue les actions<br>";
	// on n'en lance qu'une, pour ne pas charger la machine
	while ($action = db_fetch_array($actions))
	{
		
		if ($action['DoIt'] == $DO_IT_YES)
		{
			//debug("On lance la cron suivante : ".$action['Name']." sur l'url:".$action['URL']);
			
			echo "On fait cette action : ".$action['Name']."<br>";
			main_db_query("UPDATE Crontable Set DoIt='".$DO_IT_RUNNING."' WHERE Id='".$action['Id']."'");
			$URL = $action['URL'];
			echo "Appel de : ".$URL."<br>";
			
			VG_file($URL);
			
			echo "Appel terminé<br>";
			echo "On ne fait que celle-là pour ne pas charger le serveur<br>";
			echo "La suivante sera faite au prochain appel<br>";
			$current_european_date = date("Y-m-d H:i:s", my_local_time());
			main_db_query("UPDATE Crontable Set DoIt='".$DO_IT_NO."', lastDate='".$current_european_date."' WHERE Id='".$action['Id']."'");
			break;
		}
	}
	
}
elseif ($maj == 1)
{
	// 1. Récupérer les actions inscrites dans la Crontable
	$actions = main_db_query("SELECT Id FROM Crontable WHERE State='".$STATE_ACTION_ACTIVE."' ORDER BY Id ASC");
	while ($action = db_fetch_array($actions))
	{
		$var = "maj_Id_" . $action['Id'];
		if ($$var == 1)
			main_db_query("UPDATE Crontable Set DoIt='1' WHERE Id='".$action['Id']."'");
		else
			main_db_query("UPDATE Crontable Set DoIt='0' WHERE Id='".$action['Id']."'");
	}
	
	echo "<font color=red><b>OK c'est enregistré !</b></font>";
}

?>

<html>
<head></head>
<link rel="stylesheet" href="admin.css">
<body rightmargin=0>
<div align=center class=trTitle>Commande des mises à jour</div>
<br>

<div class=universBold>Action Disponibles</div>
<form>
<table border=1>
	<tr class=trTitle>
		<td>Id</td>
		<td>Action</td>
		<td>A faire</td>
		<td>Effectuée le :</td>
	</tr>
<?php
$actions = main_db_query("SELECT * FROM Crontable WHERE State='".$STATE_ACTION_ACTIVE."' ORDER BY Id ASC");

while($action = db_fetch_array($actions))
{
	echo "<tr>";
	echo "<td>".$action[Id]."</td>";
	echo "<td>".$action['Name']."</td>";
	echo "<td>";
	if ($action['DoIt'] == $DO_IT_RUNNING)
		echo "En cours</td";
	else
	{
		echo "<input type=\"checkbox\" name=\"maj_Id_".$action[Id]."\" value=\"1\" ";
		if ($action['DoIt'] == $DO_IT_YES)
			echo " checked ";
	}
	echo ">";
	echo "<td>".$action['lastDate']."</td>";
	echo "</tr>";
}
echo "</table>";
?>
<br><hr>
	<input type=hidden name=maj value="1">
	<input type=submit name=submit value="Demander une action">&nbsp;&nbsp;&nbsp;&nbsp;
	<br><br>
	<a class=under href="<?php echo $PHP_SELF ?>">Rafraichir la page</a>
</form>
</body>
</html>