par
Nekk » 11 févr. 2016, 22:31
Oui et remplacé par
if(isset($HTTP_COOKIE_VARS['code'+iDocumentId]))
Je te donne le nouveau code
Code : Tout sélectionner
<?php
include("../init.php");
include("../includes/files/register.php");
include("../includes/files/session.disconnect.php");
$do2 = safe($_GET['starpass'],'SQL'); if($do2 == "1") {
// Déclaration des variables
$ident=$idp=$ids=$idd=$codes=$code1=$code2=$code3=$code4=$code5=$datas='';
$idp = Settings('IDP');
// $ids n'est plus utilisé, mais il faut conserver la variable pour une question de compatibilité
$idd = Settings('IDD');
$ident=$idp.";".$ids.";".$idd;
// On récupère le(s) code(s) sous la forme 'xxxxxxxx;xxxxxxxx'
if(isset($_POST['code1'])) $code1 = $_POST['code1'];
if(isset($_POST['code2'])) $code2 = ";".$_POST['code2'];
if(isset($_POST['code3'])) $code3 = ";".$_POST['code3'];
if(isset($_POST['code4'])) $code4 = ";".$_POST['code4'];
if(isset($_POST['code5'])) $code5 = ";".$_POST['code5'];
$codes=$code1.$code2.$code3.$code4.$code5;
// On récupère le champ DATAS
if(isset($_POST['DATAS'])) $datas = $_POST['DATAS'];
// On encode les trois chaines en URL
$ident=urlencode($ident);
$codes=urlencode($codes);
$datas=urlencode($datas);
/* Envoi de la requête vers le serveur StarPass
Dans la variable tab[0] on récupère la réponse du serveur
Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */
$get_f=@file("http://script.starpass.fr/check_php.php?ident=$ident&codes=$codes&DATAS=$datas");
if(!$get_f)
{
exit("Votre serveur n'a pas accès au serveur de StarPass, merci de contacter votre hébergeur.");
}
$tab = explode("|",$get_f[0]);
if(!$tab[1]) $url = Settings('Url')."/payment/error";
else $url = $tab[1];
// dans $pays on a le pays de l'offre. exemple "fr"
$pays = $tab[2];
// dans $palier on a le palier de l'offre. exemple "Plus A"
$palier = urldecode($tab[3]);
// dans $id_palier on a l'identifiant de l'offre
$id_palier = urldecode($tab[4]);
// dans $type on a le type de l'offre. exemple "sms", "audiotel, "cb", etc.
$type = urldecode($tab[5]);
// vous pouvez à tout moment consulter la liste des paliers à l'adresse : http://script.starpass.fr/palier.php
// Si $tab[0] ne répond pas "OUI" l'accès est refusé
// On redirige sur l'URL d'erreur
if(substr($tab[0],0,3) != "OUI")
{
Redirect(Settings('Url')."/payment/error");
exit;
}
else
{
/* Le serveur a répondu "OUI"
On place un cookie appelé CODE_BON et qui vaut la valeur 1
Ce cookie est valide jusqu'à ce que l'internaute ferme son navigateur
Dans les pages suivantes, nous testerons l'existence du cookie
S'il existe, c'est que l'internaute est autorisé,
sinon on le renverra sur une page d'erreur */
setCookie("CODE_BON", "1", 0);
// Si vous avez plusieurs documents, nommer le cookie plutôt 'code'+iDocumentId
// vous pouvez afficher les variables de cette façon :
// echo "idd : $idd / codes : $codes / datas : $datas / pays : $pays / palier : $palier / id_palier : $id_palier / type : $type";
}
// On vérifie si le cookie existe
if(isset($HTTP_COOKIE_VARS['code'+iDocumentId]))
{
// Si le cookie existe mais que le contenu n'est pas bon on le redirige sur la page d'erreur
if( $HTTP_COOKIE_VARS['code'+iDocumentId] != '1'){
Redirect(Settings('Url')."/payment/error");
exit(1);
}
}
else{
$SQL = "UPDATE `users` SET `diamonds` = diamonds + ".Settings('Prix_1')." WHERE id = '".safe($user['id'],'SQL')."'";
echo $SQL;
$bdd->exec($SQL);
$bdd->exec("INSERT INTO `retrophp_payment` (`user_id`, `pseudo`, `statut`, `nombres`, `type`, `code`, `operation` , `remis`) VALUES ('".safe($user['id'],'SQL')."', '".safe($user['username'],'SQL')."', 'Valide', '".Settings('Prix_1')."', 'diamants', '".safe($codes,'SQL')."', 'Achat de diamants', '1');");
Redirect(Settings('Url')."/payment/error");
echo $SQL;
exit(1);
}
}
?>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title><?php echo Settings('Name'); ?>: <?PHP echo $pagename; ?> </title>
<link type="text/css" rel="stylesheet" href="<?php echo Settings('Url_Images'); ?>/v5/css/habbo.popup.css?<?PHP echo $update; ?>">
<link rel="shortcut icon" href="<?php echo Settings('Url_Images'); ?>/v5/favicon.ico?<?PHP echo $update; ?>" type="image/vnd.microsoft.icon" />
<link href='//fonts.googleapis.com/css?family=Ubuntu:400,700,400italic,700italic|Ubuntu+Condensed' rel='stylesheet' type='text/css'>
</head>
<header>
<div id="container">
<a id="logo" style="background-image: url('<?php echo Settings('Url'); ?>/images/<?php echo Settings('Logo'); ?>');height: 40px;position: absolute;top: 20px;left: 85px;width: 110px;"></a>
</div>
</header>
<body>
<?PHP echo $SQL; ?>
<center><div id="starpass_<?php echo Settings('IDD'); ?>"></div>
<script type="text/javascript" src="http://script.starpass.fr/script.php?idd=<?php echo Settings('IDD'); ?>&datas="></script>
<noscript>Veuillez activer le Javascript de votre navigateur s'il vous pla&icir;t.<br />
<a href="http://www.starpass.fr">Micro Paiement StarPass</a>
</noscript></center>
</body>
</html>
Oui et remplacé par
if(isset($HTTP_COOKIE_VARS['code'+iDocumentId]))
Je te donne le nouveau code
[code]<?php
include("../init.php");
include("../includes/files/register.php");
include("../includes/files/session.disconnect.php");
$do2 = safe($_GET['starpass'],'SQL'); if($do2 == "1") {
// Déclaration des variables
$ident=$idp=$ids=$idd=$codes=$code1=$code2=$code3=$code4=$code5=$datas='';
$idp = Settings('IDP');
// $ids n'est plus utilisé, mais il faut conserver la variable pour une question de compatibilité
$idd = Settings('IDD');
$ident=$idp.";".$ids.";".$idd;
// On récupère le(s) code(s) sous la forme 'xxxxxxxx;xxxxxxxx'
if(isset($_POST['code1'])) $code1 = $_POST['code1'];
if(isset($_POST['code2'])) $code2 = ";".$_POST['code2'];
if(isset($_POST['code3'])) $code3 = ";".$_POST['code3'];
if(isset($_POST['code4'])) $code4 = ";".$_POST['code4'];
if(isset($_POST['code5'])) $code5 = ";".$_POST['code5'];
$codes=$code1.$code2.$code3.$code4.$code5;
// On récupère le champ DATAS
if(isset($_POST['DATAS'])) $datas = $_POST['DATAS'];
// On encode les trois chaines en URL
$ident=urlencode($ident);
$codes=urlencode($codes);
$datas=urlencode($datas);
/* Envoi de la requête vers le serveur StarPass
Dans la variable tab[0] on récupère la réponse du serveur
Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */
$get_f=@file("http://script.starpass.fr/check_php.php?ident=$ident&codes=$codes&DATAS=$datas");
if(!$get_f)
{
exit("Votre serveur n'a pas accès au serveur de StarPass, merci de contacter votre hébergeur.");
}
$tab = explode("|",$get_f[0]);
if(!$tab[1]) $url = Settings('Url')."/payment/error";
else $url = $tab[1];
// dans $pays on a le pays de l'offre. exemple "fr"
$pays = $tab[2];
// dans $palier on a le palier de l'offre. exemple "Plus A"
$palier = urldecode($tab[3]);
// dans $id_palier on a l'identifiant de l'offre
$id_palier = urldecode($tab[4]);
// dans $type on a le type de l'offre. exemple "sms", "audiotel, "cb", etc.
$type = urldecode($tab[5]);
// vous pouvez à tout moment consulter la liste des paliers à l'adresse : http://script.starpass.fr/palier.php
// Si $tab[0] ne répond pas "OUI" l'accès est refusé
// On redirige sur l'URL d'erreur
if(substr($tab[0],0,3) != "OUI")
{
Redirect(Settings('Url')."/payment/error");
exit;
}
else
{
/* Le serveur a répondu "OUI"
On place un cookie appelé CODE_BON et qui vaut la valeur 1
Ce cookie est valide jusqu'à ce que l'internaute ferme son navigateur
Dans les pages suivantes, nous testerons l'existence du cookie
S'il existe, c'est que l'internaute est autorisé,
sinon on le renverra sur une page d'erreur */
setCookie("CODE_BON", "1", 0);
// Si vous avez plusieurs documents, nommer le cookie plutôt 'code'+iDocumentId
// vous pouvez afficher les variables de cette façon :
// echo "idd : $idd / codes : $codes / datas : $datas / pays : $pays / palier : $palier / id_palier : $id_palier / type : $type";
}
// On vérifie si le cookie existe
if(isset($HTTP_COOKIE_VARS['code'+iDocumentId]))
{
// Si le cookie existe mais que le contenu n'est pas bon on le redirige sur la page d'erreur
if( $HTTP_COOKIE_VARS['code'+iDocumentId] != '1'){
Redirect(Settings('Url')."/payment/error");
exit(1);
}
}
else{
$SQL = "UPDATE `users` SET `diamonds` = diamonds + ".Settings('Prix_1')." WHERE id = '".safe($user['id'],'SQL')."'";
echo $SQL;
$bdd->exec($SQL);
$bdd->exec("INSERT INTO `retrophp_payment` (`user_id`, `pseudo`, `statut`, `nombres`, `type`, `code`, `operation` , `remis`) VALUES ('".safe($user['id'],'SQL')."', '".safe($user['username'],'SQL')."', 'Valide', '".Settings('Prix_1')."', 'diamants', '".safe($codes,'SQL')."', 'Achat de diamants', '1');");
Redirect(Settings('Url')."/payment/error");
echo $SQL;
exit(1);
}
}
?>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title><?php echo Settings('Name'); ?>: <?PHP echo $pagename; ?> </title>
<link type="text/css" rel="stylesheet" href="<?php echo Settings('Url_Images'); ?>/v5/css/habbo.popup.css?<?PHP echo $update; ?>">
<link rel="shortcut icon" href="<?php echo Settings('Url_Images'); ?>/v5/favicon.ico?<?PHP echo $update; ?>" type="image/vnd.microsoft.icon" />
<link href='//fonts.googleapis.com/css?family=Ubuntu:400,700,400italic,700italic|Ubuntu+Condensed' rel='stylesheet' type='text/css'>
</head>
<header>
<div id="container">
<a id="logo" style="background-image: url('<?php echo Settings('Url'); ?>/images/<?php echo Settings('Logo'); ?>');height: 40px;position: absolute;top: 20px;left: 85px;width: 110px;"></a>
</div>
</header>
<body>
<?PHP echo $SQL; ?>
<center><div id="starpass_<?php echo Settings('IDD'); ?>"></div>
<script type="text/javascript" src="http://script.starpass.fr/script.php?idd=<?php echo Settings('IDD'); ?>&datas="></script>
<noscript>Veuillez activer le Javascript de votre navigateur s'il vous pla&icir;t.<br />
<a href="http://www.starpass.fr">Micro Paiement StarPass</a>
</noscript></center>
</body>
</html>[/code]