| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 
 | require_once("../functions.inc.php");
//Début de l'inclusion de toutes les classes nécessaires avant le début de la session
require_once("../config.inc.php");
$classes_dir = getAbsolutePath()."classes";
if(is_dir($classes_dir))
{
	$dh= opendir($classes_dir);
	while ($fichier = readdir ($dh))
	{
	    if ($fichier != "." && $fichier != ".." && !is_dir($fichier) && stripos($fichier, ".class.php") > 0)
		{
 
	        require_once(getAbsolutePath()."classes/".$fichier);
	    }
	}
	closedir ($dh);
}
else
{
 
}
//fin de l'inclusion des fichiers .class.php
 
//Récupération des paramètres de la requête utilisateur
$object = $_POST["object"];
$id     = $_POST["id"];
$invoke = $_POST["invoke"];
$params = $_POST["params"];
$session_id = $_POST["session_id"];
 
 
//début du traitement du script avec gestion du lock de session
if($session_id != "")
{
	dbConnect();
	$query = "select session_id, session_status from sessions where session_id = '".$session_id."'";
	$resId = runQuery($query);
	$resCount = resCount($resId);
	if($resCount > 0)
	{
		$session = moveNext($resId);
		if($session["session_status"] == "locked")
		{
			$query = "select session_id, session_status from sessions where session_id = '".$session_id."'";
			while($resCount > 0 && $session["session_status"] == "locked")
			{
				usleep(500);
				$resId = runQuery($query);
				$resCount = resCount($resId);
				if($resCount > 0)
				{
					$session = moveNext($resId);
				}
			}
		}
		$query = "update sessions set session_status='locked' where session_id='".$session_id."'";
	}
	else
	{
		$query = "insert into sessions (session_id, session_status) values ('".$session_id."', 'locked')";
	}
	runQuery($query);
	session_start();
	$internetSite = $_SESSION["site"];
 
	echo $internetSite->updateSite($object, $id, $invoke, $params);
	$_SESSION["site"] = $internetSite;
	session_write_close();
	$query = "update sessions set session_status='unlocked' where session_id='".$session_id."'";
	runQuery($query);
} | 
Partager