cristian2307
Местный
Здравствуйте, что мне сделать, чтобы промокод работал более чем на 1 активацию разными пользователями?
Пример 10 разных пользователей могут активировать один и тот же код, после чего срок его действия истечет.
Пример 10 разных пользователей могут активировать один и тот же код, после чего срок его действия истечет.
PHP:
<?PHP include("pages/admin/head/_head_gl.php");?>
<div class="content">
<div class="header">
<h1 class="page-title">Промокоды</h1>
</div>
<div class="main-content">
<div class="panel panel-default" >
<?PHP
if (!defined('AlexMoon') || AlexMoon !== true) { Header('Location: /404'); return; }
$create_by_users = false; // Разрешать ли пользователям создавать промокоды
$view_all = true; // false отображаються только не активированные пинкоды (true все)
$product = array("money_p"=>"Для вывода",
"money_b"=>"Для покупок",
"money_s"=>"Для рекламы"
);
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
?>
<div class="silver-bk">
<br>
<?
if(isset($_POST['type'])) {
$type = strval($_POST['type']);
$count = intval($_POST['count']);
$usid = isset($_SESSION['user_id']);
$gen = rand(1000000000, 9999999999).'t'.time();
$gen_md = md5($gen);
$key_md = strtoupper(substr($gen_md,0,25));
$key = implode('-',str_split($key_md,5)); // Генерируем промокод
if(!isset($_SESSION['admin'])){ // У админа ничего не списываем
if($type!=='0'){
if($user_data[$type]>=$count){
$db->Query("UPDATE db_users_b SET {$type} = {$type} - {$count} WHERE id = '$usid'"); // Списываем элемен у пользователя
$db->Query("INSERT INTO db_promocod (user_id, code, element, summa, status) VALUES ('$usid', '$key', '$type', '$count', '0')"); // Записываем промокод в бд
echo "<center><b><font color='green'>Вы создали промокод ($key)</font></b></center><BR />";
}else echo "<center><b><font color='red'>Выбраного элемента не достаточно для создания промокода.</font></b></center><BR />";
}else echo "<center><b><font color='red'>Неизвестный элемент!</font></b></center><BR />";
}else{
$db->Query("INSERT INTO db_promocod (user_id, code, element, summa, status) VALUES ('$usid', '$key', '$type', '$count', '0')"); // Записываем промокод в бд
echo "<center><b><font color='green'>Вы создали промокод ($key)</font></b></center><BR />";
}
}
?>
<?PHP
if( $create_by_users || isset($_SESSION['admin'])){
?>
<table class="promocod_table" style="width:100%; background-image: none; text-align: center; border: 1px solid #dcdcdc !important;">
<tbody>
<tr style="line-height: 22px;background-color: #ececec !important;font-weight: bold;" class="title">
<td style="color:#707070;text-align:center; border-radius:0px; margin-right:0px;">Создать Промокод</td>
</tr>
<tr>
<td>
<form action="" name="create" method="POST">
<select name="type" onchange="getCenaProdati()" style="margin-top:2px; width:100%;">
<option value="0" selected="selected">Выбрать элемент для создания промокода</option>
<?
foreach($product as $k=>$v){
echo '<option value="'.$k.'">'.$v.'</option>';
}
?>
</select>
<input name="count" value="" placeholder="Количество" style="margin-top:2px; width:100%;">
<input type="submit" value="Создать" style="margin-top:2px; width:100%;">
</form>
</td>
</tr>
</tbody>
</table><br>
<table class="promocod_table" style="width:100%; background-image: none; text-align: center; border: 1px solid #dcdcdc !important;">
<tbody>
<tr style="line-height: 22px;background-color: #ececec !important;font-weight: bold;" class="title">
<td colspan="5" align="center" style="color:#707070;text-align:center; border-radius:0px; margin-right:0px;">Созданые промокоды</td>
</tr>
<tr>
<td align="center" class="m-tb">Промокод</td>
<td align="center" class="m-tb">Элемент</td>
<td align="center" class="m-tb">Сумма</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<?PHP
$usid = 'user_id';
$db->Query("SELECT * FROM db_promocod WHERE user_id = '$usid'".($view_all==false ? " AND status='0'":"")." ORDER BY id DESC");
if($db->NumRows() > 0){
while($promo_data = $db->FetchArray()){
?>
<tr class="htt">
<td align="center"><?=$promo_data["code"]; ?></td>
<td align="center"><?=$product[$promo_data["element"]]; ?></td>
<td align="center"><?=$promo_data["summa"]; ?></td>
<td align="center"><?=($promo_data["status"]==0 ? "Рабочий":"Активирован"); ?></td>
</tr>
<?PHP
}
}else echo '<tr><td align="center" colspan="5">Нет промокодов</td></tr>'
?>
</tbody>
</table>
<?
}
?>
<div class="clr"></div>
</div>
</div>
</div>
<?PHP include("pages/admin/foot/_foot_gl.php");?>