<?php
# récupère un "fichier d'exploitation" dans la bdd
# par défaut on le récupère de la bdd, sinon on va le chercher dans un fichier txt généré
function getExploitationFile($sFileName, $fromFile = false)
{
	if ($fromFile)
	{
		global $ARCHIVES_DIR;
		
		$row['Contenu'] = file_get_contents($ARCHIVES_DIR.$sFileName);
	}
	else{
		$query = "SELECT Contenu FROM Exploitation WHERE Fichier=:FILENAME";
		$args = Array(":FILENAME"=>$sFileName);
		$GLOBALS["vg_pdo"]->query($query,$args);
		$row = $GLOBALS["vg_pdo"]->fetch_assoc();
	}
	
	return $row['Contenu'];
}

# récupère plusieurs fichiers d'un coup
function getSeveralExploitationsFiles($tabFileName, $fromFile = false)
{
	$sizeTab = count($tabFileName);
	
	if ($fromFile)
	{
		global $ARCHIVES_DIR;
		
		for($i=1; $i < $sizeTab; $i++)
			$tabContenu[$tabFileName[$i]] = file_get_contents($ARCHIVES_DIR.$tabFileName[$i]);
	}
	else
	{
		$sSQL = "Fichier = :FILENAME1'".$tabFileName[0]."'";
		$args = Array(":FILENAME"=>$tabFileName[0]);

		for($i=1;$i<$sizeTab;$i++)
		{
			$sSQL .= " OR Fichier = :FILENAME".$i;
			$args[":FILENAME".$i] = $tabFileName[$i];
		}
		$query = "SELECT Contenu,Fichier FROM Exploitation WHERE ".$sSQL;
		$GLOBALS["vg_pdo"]->query($query,$args);

		
		$i = 0;
		while($row= $GLOBALS["vg_pdo"]->fetch_assoc())
		{
			$tabContenu[$row['Fichier']] = $row['Contenu'];
			$i++;
		}
	}
	/*echo "<pre>";
	print_r($tabContenu['Classement général']);
	echo "</pre>";*/
	return $tabContenu;
}

# ajoute/modifie un "fichier d'exploitation" dans la bdd
# a ne pas utiliser lors d'un flag par exemple
function setExploitationFile($sFileName, $sContenu, $toFile = false, $toSql = true, $openMode = "w")
{
	if($toSql){
		$query = "REPLACE INTO Exploitation (Fichier, Contenu) VALUES (:FILENAME, :CONTENU)";
		$args = Array(":FILENAME"=>$sFileName,":CONTENU"=>$sContenu);
		$GLOBALS["vg_pdo"]->query($query,$args);
	}
	
	if ($toFile)
	{
		global $ARCHIVES_DIR;
		
		# on écrit dans un fichier
		$fd = fopen($ARCHIVES_DIR.$sFileName, $openMode);
		fwrite($fd, $sContenu);
		fclose($fd);
		
		# on synchro;
		# syncroFile();
	}
}

# ajoute/modifie un "fichier d'exploitation" dans un dossier externe
# a ne pas utiliser lors d'un flag par exemple
function setExternExploitationFile($sFileName, $sContenu, $toFile = false, $toSql = true)
{
	if($toSql){
		$query = "REPLACE INTO Exploitation (Fichier, Contenu) VALUES (:FILENAME, :CONTENU)";
		$args = Array(":FILENAME"=>$sFileName,":CONTENU"=>$sContenu);
		$GLOBALS["vg_pdo"]->query($query,$args);
	}
	
	if ($toFile)
	{
		# on écrit dans un fichier
		$fd = fopen($sFileName, "w");
		fwrite($fd, $sContenu);
		fclose($fd);
		
		# on synchro;
		# syncroFile();
	}
}

# supprime
function deleteExploitationFile($sFileName)
{
	global $ARCHIVES_DIR;
	
	$query = "DELETE FROM Exploitation WHERE Fichier=:FILENAME";
	$args = Array(":FILENAME"=>$sFileName,":CONTENU"=>$sContenu);
	$GLOBALS["vg_pdo"]->query($query,$args);
	
	# on supprime le fichier généré éventuellement
	unlink($ARCHIVES_DIR.$sFileName);
}

function syncroFile()
{
	global $GAME_DIR;
	
	VG_file("http://jessica.hst.nerim.net:8880/Synchro/synchro.php3?&sSourceDir=".$GAME_DIR."&config=remote&exinclude=1&sExclusion=debug.txt&submit=1&noadmin=1");
}
?>