Описание:
Купоны v.3 для DS обновленная версия первой!
author Drk
-
Запрещено продавать!
Запрещено сливать в другие ВМ и ЗЦ !
Файл adm_panel / voucher.php
Код:
<?
/**
* @ PACKAGE = DCMS-SOCIAL
* @ AUTHOR = DARIK
* @ SITE = LAFI.MOBI
*/
/* CORE */
include_once '../sys/inc/home.php';include_once H.'sys/inc/start.php';
include_once H.'sys/inc/compress.php';include_once H.'sys/inc/sess.php';
include_once H.'sys/inc/settings.php';include_once H.'sys/inc/db_connect.php';
include_once H.'sys/inc/ipua.php';include_once H.'sys/inc/fnc.php';
include_once H.'sys/inc/user.php';only_level(1);
/* $_GET['delete'] */
if(isset($_GET['delete']))
{
mysql_query("DELETE FROM `voucher` WHERE `id` = '" . intval($_GET['delete']) . "'");
$_SESSION['message'] = 'Купон успешно удален';
header("Location: ?");
exit;
}
/* TITLE */
$set['title'] = 'Управление купонами';
/* HEAD */
include_once H.'sys/inc/thead.php';;
/* TITLE AND ERR AND AUT */
err();
title();
aut();
/* $_GET['act'] */
if(isset($_GET['act']) && $_GET['act'] == 'gen')
{
if(isset($_POST['save']))
{
$money = htmlspecialchars($_POST['money']);
$balls = htmlspecialchars($_POST['balls']);
$rating = htmlspecialchars($_POST['rating']);
$plus5 = htmlspecialchars($_POST['plus5']);
$liders = htmlspecialchars($_POST['liders']);
$reusable = htmlspecialchars($_POST['reusable']);
$time_end = htmlspecialchars($_POST['time_end']);
if ($plus5 > 10) $err = 'Не верно указано дней в оценки 5+';
if ($liders > 10) $err = 'Не верно указано дней в лидер сайта';
if ($reusable > 1) $err = 'Не верно указано тип купона';
if ($time_end > 10) $err = 'Не верно указано дней действия купона';
if(!isset($err))
{
if ($time_end == 1 ) $time_ends = $time+86400;
if ($time_end == 2 ) $time_ends = $time+172800;
if ($time_end == 3 ) $time_ends = $time+259200;
if ($time_end == 4 ) $time_ends = $time+345600;
if ($time_end == 5 ) $time_ends = $time+432000;
if ($time_end == 6 ) $time_ends = $time+518400;
if ($time_end == 7 ) $time_ends = $time+604800;
if ($time_end == 8 ) $time_ends = $time+691200;
if ($time_end == 9 ) $time_ends = $time+777600;
if ($time_end == 10 ) $time_ends = $time+864000;
$array_ar = array("a", "q", "w", "e", "r"); // 5
$array_to = array("t", "y", "u", "i", "o"); //5
$array_pg = array("p", "s","d", "f", "g"); // 5
$array_hz = array("h", "j", "k", "l", "z"); // 5
$array_xm = array("x", "c", "v", "b","n", "m"); // 6
$key = $array_ar[rand(1,4)].rand(11,99).$array_to[rand(1,4)].rand(11,99).$array_pg[rand(1,4)]
.rand(11,99).$array_hz[rand(1,4)].rand(11,99).$array_xm[rand(1,4)].rand(11,99);
mysql_query("INSERT INTO `voucher` (`key`,`user`,`money`,`balls`,`rating`,`plus5`,`liders`,`time`,`reusable`,`time_end`) VALUES ('".$key."','".$user['id']."','".$money."','".$balls."','".$rating."','".$plus5."','".$liders."','".$time."','".$reusable."','".$time_ends."')");
$_SESSION['message'] = 'Купон успешно сгенерирован';
header("Location: ?act=gen");
exit;
}
}
err();
echo'
<div class="mess">
Здесь вы можете сгенерировать купон, для этого введите на какую сумму монет,баллов,рейтинга хотите купон.</br>
Так же можно сгенерировать для услуг таких как оценка 5+ и лидерка.</br>
Можно генерировать купон как на все , так и по отдельности.
</div>
<form class="main" method="post" action="?act=gen">
Тип купона:</br>
<input name="reusable" type="radio" checked="checked" value="0"> Одноразовый</br>
<input name="reusable" type="radio" value="1"> Многоразовый</br>
Время действия купона:
<select name="time_end">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
дней.</br>
Монеты:<br />
<input type="text" name="money" maxlength="50" /><br />
Баллы:<br />
<input type="text" name="balls" maxlength="50" /><br />
Рейтинг:<br />
<input type="text" name="rating" maxlength="50" /><br />
Оценка 5+:
<select name="plus5">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
дней.</br>
Лидер сайта:
<select name="liders">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
дней.
</br>
<input type="submit" name="save" value="Генерация" />
</form>';
}
/* Вывод купонов */
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `voucher`"),0);
echo' <table class="post">';
if ($k_post == 0)
{
echo'<div class="mess">Нет купонов</div>';
}
$q = mysql_query("SELECT * FROM `voucher`");
while($act = mysql_fetch_array($q))
{
/* Лесенка */
echo '<div class="' . ($num % 2 ? "nav1" : "nav2") . '">';
$num++;
$key = htmlspecialchars($act['key']);
$ank = get_user($act['user']);
echo'
<img src="/style/icons/blogi.png" alt="*"> Купон: <b style="color:red;">'.$key.'</b>
<a href="?delete='.$act['id'].'"><img src="/style/icons/delete.gif" alt="*"></a>
</br>
Тип купона: '.($act['reusable'] == 0 ? 'Одноразовый':'Многоразовый').'</br>
'.($act['time_end'] > 0 ? 'Время действия: до (' . vremja($act['time_end']) . ')</br>':'').'
'.($act['money'] > 0 ? '+ '.$act['money'].' монет.</br>':'').'
'.($act['balls'] > 0 ? '+ '.$act['balls'].' баллов.</br>':'').'
'.($act['rating'] > 0 ? '+ '.$act['rating'].' % рейтинга.</br>':'').'
'.($act['plus5'] > 0 ? '+ '.$act['plus5'].' дн. услуги оценки 5+.</br>':'').'
'.($act['liders'] > 0 ? '+ '.$act['liders'].' дн. услуги лидера сайта.</br>':'').'
Создал: '.group($ank['id']) . user::nick($ank['id']).medal($ank['id']) . online($ank['id']) . ' (' . vremja($act['time']) . ')
';
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `voucher_user` WHERE `voucher` = '".$act['id']."'"),0);
if ($count == 0) echo'</br>Не активирован';
if ($count > 0)echo'</br>Активировали:</br>';
$query = mysql_query("SELECT * FROM `voucher_user` WHERE `voucher` = '".$act['id']."'");
while($post = mysql_fetch_array($query))
{
$ank2 = get_user($post['user']);
echo'
'.group($ank2['id']) . user::nick($ank2['id']).medal($ank2['id']) . online($ank2['id']) . ' (' . vremja($post['time']) . ') </br>
';
}
echo'</div>';
}
echo'
<div class="foot">
<img src="/style/icons/str.gif" alt="*"> <a href="?act=gen">Cгенерировать купон</a><br />
</div>';
/* FOOT */
include_once H.'sys/inc/tfoot.php';
?>
Файл user / money / voucher.php
Код:
<?
/**
* @ PACKAGE = DCMS-SOCIAL
* @ AUTHOR = DARIK
* @ SITE = LAFI.MOBI
*/
/* CORE */
include_once '../../sys/inc/start.php';include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/adm_check.php';include_once '../../sys/inc/user.php';
/* $_POST['key'] */
if (isset($user) && isset($_POST['key']))
{
$key = htmlspecialchars($_POST['key']);
$voucher = mysql_fetch_assoc(mysql_query("SELECT * FROM `voucher` WHERE `key` = '".$key."' LIMIT 1"));
if (!empty($voucher)) {
$money = $voucher['money'];
$balls = $voucher['balls'];
$rating = $voucher['rating'];
$plus5 = $voucher['plus5'];
$liders = $voucher['liders'];
$id = $voucher['id'];
$time_end = $voucher['time_end'];
$reusable = $voucher['reusable'];
$check = mysql_result(mysql_query("SELECT COUNT(*) FROM `voucher_user` WHERE `voucher` = '".$voucher['id']."' AND `reusable` = '0'"),0);
if(empty($check)){
$checks = mysql_result(mysql_query("SELECT COUNT(*) FROM `voucher_user` WHERE `voucher` = '".$voucher['id']."' AND `reusable` = '1'"),0);
if(empty($checks) || !empty($checks)){
$check_user = mysql_result(mysql_query("SELECT COUNT(*) FROM `voucher_user` WHERE `voucher` = '".$voucher['id']."' AND `user` = '".$user['id']."'"),0);
if(empty($check_user)){
if ($time_end > $time){
if ($money > 0) mysql_query("UPDATE `user` SET `money` = '" . ($user['money']+$money) . "' WHERE `id` = '" . $user[id]. "' LIMIT 1");
if ($balls > 0) mysql_query("UPDATE `user` SET `balls` = '" . ($user['balls']+$balls) . "' WHERE `id` = '" . $user[id]. "' LIMIT 1");
if ($rating > 0) mysql_query("UPDATE `user` SET `rating` = '" . ($user['rating']+$rating) . "' WHERE `id` = '" . $user[id]. "' LIMIT 1");
if ($plus5 > 0){
if ($plus5 == 1 ) $time_plu5 = $time+86400;
if ($plus5 == 2 ) $time_plu5 = $time+172800;
if ($plus5 == 3 ) $time_plu5 = $time+259200;
if ($plus5 == 4 ) $time_plu5 = $time+345600;
if ($plus5 == 5 ) $time_plu5 = $time+432000;
if ($plus5 == 6 ) $time_plu5 = $time+518400;
if ($plus5 == 7 ) $time_plu5 = $time+604800;
if ($plus5 == 8 ) $time_plu5 = $time+691200;
if ($plus5 == 9 ) $time_plu5 = $time+777600;
if ($plus5 == 10 ) $time_plu5 = $time+864000;
mysql_query("UPDATE `user_set` SET `ocenka` = '".$time_plu5."' WHERE `id_user` = '" . $user[id]. "'");
}
if ($liders > 0){
if ($liders == 1 ) $time_liders = $time+86400;
if ($liders == 2 ) $time_liders = $time+172800;
if ($liders == 3 ) $time_liders = $time+259200;
if ($liders == 4 ) $time_liders = $time+345600;
if ($liders == 5 ) $time_liders = $time+432000;
if ($liders == 6 ) $time_liders = $time+518400;
if ($liders == 7 ) $time_liders = $time+604800;
if ($liders == 8 ) $time_liders = $time+691200;
if ($liders == 9 ) $time_liders = $time+777600;
if ($liders == 10 ) $time_liders = $time+864000;
$msg = 'Я активировал купон от админа.';
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `liders` WHERE `id_user` = '$user[id]'"), 0)==0)
{
mysql_query("INSERT INTO `liders` (`id_user`, `stav`, `msg`, `time`, `time_p`) values('".$user[id]."', '".$liders."', '".$msg."', '".$time_liders."', '".$time."')");
}else{
mysql_query("UPDATE `liders` SET `time` = '".$time_liders."', `time_p` = '".$time."', `msg` = '".$msg."', `stav` = '".$liders."' WHERE `id_user` = '".$user[id]."'");
}
}
mysql_query("INSERT INTO `voucher_user` (`reusable`,`user`, `voucher`, `key`, `money`, `balls`, `rating`, `plus5`, `liders`, `time`)values('".$reusable."','".$user[id]."', '".$id."', '".$key."', '".$money."', '".$balls."', '".$rating."', '".$plus5."', '".$liders."', '".$time."')");
$_SESSION['message'] = ' Поздравляем, вы активировали купон';
header("Location: ?");
exit;
} else { $err = 'Время данного купона закончилось'; }
} else { $err = 'Вы уже активировали купон'; }
}
} else { $err = 'Код купона уже активирован'; }
} else { $err = 'Код купона указан неверно'; }
}
/* TITLE */
$set['title']='Активация купона';
/* HEAD */
include_once H.'sys/inc/thead.php';
/* TITLE AND ERR AND AUT */
title();
if (!isset($user))header("location: /index.php?");
err();
aut();
/* MENU */
echo "<div class='foot'>
<img src='/style/icons/str2.gif' alt='*'> <a href='/info.php'>$user[nick]</a> | Активация купона <br /></div>
<div class='mess'>
Здесь вы можете активировать полученные купоны, введите секретный код в форму обработчика, и нажмите Активировать
</div>
<form class='main' method=\"post\" action=\"voucher.php\">
Cекретный код:<br />
<input type='text' name='key' value=''>
<br />
<input value=\"Активировать\" type=\"submit\" />
</form>
<div class='mess'>
Внимание! Полученные Монеты,Баллы можно потратить, только в рамках платных услуг нашего сайта!
</div>
";
echo'<div class ="main">Активированные коды: </div>';
$сount = mysql_result(mysql_query("SELECT COUNT(*) FROM `voucher_user` WHERE `user` = '".$user['id']."'"),0);
if ($сount == 0)echo'<div class = "nav2">Список пуст</div>';
$k_page = k_page($сount,$set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
$query = mysql_query("SELECT * FROM `voucher_user` WHERE `user` = '".$user['id']."' ORDER BY time LIMIT $start, $set[p_str]");
while ($act = mysql_fetch_assoc($query))
{
echo'<div class = "nav2">
<b>Код: '.$act['key'].'</b>
<span style="float: right;">(' . vremja($act['time']) . ')</span></br>
'.($act['money'] > 0 ? '+ '.$act['money'].' монет.</br>':'').'
'.($act['balls'] > 0 ? '+ '.$act['balls'].' баллов.</br>':'').'
'.($act['rating'] > 0 ? '+ '.$act['rating'].' % рейтинга.</br>':'').'
'.($act['plus5'] > 0 ? '+ '.$act['plus5'].' дн. услуги оценки 5+.</br>':'').'
'.($act['liders'] > 0 ? '+ '.$act['liders'].' дн. услуги лидера сайта.</br>':'').'
</div>';
}
if ($k_page>1)str('?',$k_page,$page);
echo"
<div class='foot'>\n
<img src='/style/icons/str2.gif' alt='*'> <a href='/info.php'>$user[nick]</a> | Активация купона<br />\n
</div>\n";
/* FOOT */
include_once H.'sys/inc/tfoot.php';
?>
Файл db.sql
Код:
-- phpMyAdmin SQL Dump -- version 4.7.7 -- https://www.phpmyadmin.net/ -- -- Хост: 127.0.0.1:3306 -- Время создания: Фев 28 2019 г., 06:09 -- Версия сервера: 5.6.38-log -- Версия PHP: 5.6.32 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- База данных: `dcms` -- -- -------------------------------------------------------- -- -- Структура таблицы `voucher` -- CREATE TABLE `voucher` ( `id` int(11) NOT NULL, `user` int(11) NOT NULL, `data` int(11) NOT NULL, `key` varchar(50) NOT NULL, `money` int(11) NOT NULL, `balls` int(11) NOT NULL, `rating` int(11) NOT NULL, `plus5` int(11) NOT NULL, `liders` int(11) NOT NULL, `time` int(11) NOT NULL, `time_data` int(11) NOT NULL, `reusable` int(11) NOT NULL, `time_end` int(11) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=utf8; -- -------------------------------------------------------- -- -- Структура таблицы `voucher_user` -- CREATE TABLE `voucher_user` ( `id` int(11) NOT NULL, `user` int(11) NOT NULL, `voucher` int(11) NOT NULL, `time` int(11) NOT NULL, `key` varchar(50) NOT NULL, `money` int(11) NOT NULL, `balls` int(11) NOT NULL, `rating` int(11) NOT NULL, `plus5` int(11) NOT NULL, `liders` int(11) NOT NULL, `reusable` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Индексы сохранённых таблиц -- -- -- Индексы таблицы `voucher` -- ALTER TABLE `voucher` ADD PRIMARY KEY (`id`); -- -- Индексы таблицы `voucher_user` -- ALTER TABLE `voucher_user` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT для сохранённых таблиц -- -- -- AUTO_INCREMENT для таблицы `voucher` -- ALTER TABLE `voucher` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT для таблицы `voucher_user` -- ALTER TABLE `voucher_user` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Файл readme.txt
Код:
/** * @ PACKAGE = DCMS-SOCIAL * @ AUTHOR = DARIK * @ SITE = LAFI.MOBI */ Поздравляю с покупкой !! #1 - Залейте файлы #2 - Залейте бд называет для тех кто купил в первый раз #3 - в user/money/index.php пропишите ссылку где угодно echo "<div class='nav2'><font color='red'>→ <a href='voucher.php'><font color='red'>Активировать</font> купон </a></font></div>"; #4 - в adm_panel/index.php пропишите ссылку где угодно if ($user['level'] > 1)echo "<div class='main'><img src='/style/icons/str.gif' alt=''/> <a href='voucher.php'>Купоны</a></div>\n"; #5 - на этом все!
[marq]
Большая благодарность автору.
Тем более за то что он слил в общий доступ!
[/marq]
Android 8.1.0, Chrome,70.0.3538.110





