| 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
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 
 | <?php
define(HOST, "xxxx"); 
define(USER, "xxxx");
define(PASS, "xxxx");
define(DATABASE, "xxxx");
 
$licence = get_licence_zip(utf8_encode($argv[1]), utf8_encode($argv[2]));
 
if (isset ($licence)) 
{
	echo $licence;
}
 
/** Permet le dossier de stockage des licences
* @param Le nom du site
* @param Le nom de l'entreprise (optionnel)
* @return L'URL du fichier de licence */
function get_licence_zip($arg1, $arg2) 
{
	$env=htmlspecialchars($arg1,ENT_QUOTES);
	$comp=htmlspecialchars($arg2,ENT_QUOTES);
	$to_return = null;
	try 
	{
		$db = new PDO('mysql:host=' . HOST . ';dbname=' . DATABASE . '', USER, PASS);
				if ($env == null && $comp == null) {
			$to_return = "Cette commande s'utilise avec deux arguments entre guillements" . "\n";
			$to_return .= "Par exemple, php -f function.php \"environnement\" \"site\" \n";
		} 
		else if ($comp == "") 
		{
			$query = 'SELECT `ID_SITE`,`guid`,`EXPIRE_DAYS` FROM `sky_ext_site` WHERE `SITE_NAME` = "' .
			'' . $env . '"';
			$result = $db->query($query)->fetchAll(PDO :: FETCH_ASSOC);
			if ($result != "" || $result != null) 
			{
				if (count($result) == 0) 
				{
					echo "Aucune entreprise avec des licences correspondantes";
					echo PHP_EOL;
					$eval = get_evaluation_licence($env);
					if (isset ($eval) && $eval != "") 
					{
						echo "Mais des licences d'évaluation ...";
						echo PHP_EOL;
						$to_return .= ($eval);
					}
				}
				else if (count($result) == 1) 
				{
					$to_return .= "/srv/sites/extranet/skyline/components/com_extranet/licences/" .
					"site/" . md5($result[0]["ID_SITE"]) . "/" . $result[0]["guid"] . ".zip";
					$to_return .= PHP_EOL;
					$to_return .= show_licence_type($result[0]["EXPIRE_DAYS"]);
					$to_return .= PHP_EOL;
				} 
				else if (count($result) > 1) 
				{
					$queryE = 'SELECT `COMPANY` FROM `sky_ext_organization` WHERE `id` IN' .
					'(SELECT `ID_ORG` FROM `sky_ext_site` WHERE `SITE_NAME` LIKE "%' . $env . '%")';
					$resultE = $db->query($queryE)->fetchAll(PDO :: FETCH_ASSOC);
					echo "Il existe plusieurs entreprises correspondantes a votre choix : ";
					echo PHP_EOL;
					foreach ($resultE as $row) 
					{
						foreach ($row as $key => $value) 
						{
							$to_return .= $value . "\n";
						}
					}
				}
			}
		} 
		else 
		{
			$query = 'SELECT `ID_SITE`,`guid`,`EXPIRE_DAYS` FROM `sky_ext_site` WHERE `SITE_NAME` = "' . $env . '" AND `ID_ORG` IN (SELECT `id`  FROM `sky_ext_organization` WHERE `COMPANY`' . ' = "' . $comp . '")';
			$result = $db->query($query)->fetchAll(PDO :: FETCH_ASSOC);
			$to_return .= "/srv/sites/extranet/skyline/components/com_extranet/licences/site/" . md5($result[0]["ID_SITE"]) . "/" . $result[0]["guid"] . ".zip";
			$to_return .= "\n" . show_licence_type($result[0]["EXPIRE_DAYS"]);
			$to_return .= PHP_EOL;
		}
	} 
	catch (PDOException $e) 
	{
		die("Erreur ! : " . $e->getMessage() . "<br/>");
	}
	return $to_return;
}
/** Permet de savoir quel est le type licence (temporaire, permanent)
    * @param Un entier décrivant le temps d'expiration de la licence
    * @return L'explication */
function show_licence_type($code) 
{
	$to_return = null;
	if ($code != null || $code != "") 
	{
		$to_return = "Licence de ";
		$to_return .= ($code);
		$to_return .= " jours";
	} 
	else 
	{
		$to_return = "Licence illimitee";
	}
	return $to_return;
}
/** Permet de reprendre l'URL du fichier ZIP contenant la licence temporaire
 * @param Le nom de l'entreprise
 * @param La base de donnée
 */
function get_evaluation_licence($arg) 
{
	$db = new PDO('mysql:host=' . HOST . ';dbname=' . DATABASE . '', USER, PASS);
	$to_return = null;
	$query = 'SELECT `ID_EVAL`,`GUID` FROM `sky_ext_eval_request` WHERE `COMPANY`="' . utf8_decode($arg) . '"';
	$result = $db->query($query)->fetchAll(PDO :: FETCH_ASSOC);
	$i = 1;
	foreach ($result as $row) 
	{
		if ($row["GUID"] != "" && $row["ID_EVAL"] != "") 
		{
			$to_return .= "/srv/sites/extranet/skyline/components/com_extranet/licences/eval/" 
				. md5($row["ID_EVAL"])  . "/" . $row["GUID"] . ".zip";
			$to_return .= PHP_EOL;
		}
		else if (($row["GUID"] == "" && $row["ID_EVAL"] != "") || ($row["GUID"] != "" && $row["ID_EVAL"] == "")) 
		{
			$to_return .= "Dont " . $i . " non générée";
			$to_return .= PHP_EOL;
			$i++;
		}
	}
	return $to_return;
}
?> | 
Partager