function Queue_Coupon_End($queue) { global $db_prefix; $now = $queue['end']; $ip = $_SERVER['REMOTE_ADDR']; // Выбрать пользователей согласно критериям. $inactive_days = $queue['obj_id'] >> 16 & 0xffff; $ingame_days = $queue['obj_id'] & 0xffff; $query = "SELECT * FROM " . $db_prefix . "users WHERE regdate < " . ($now - $ingame_days * 24 * 60 * 60) . " AND lastclick >= " . ($now - $inactive_days * 24 * 60 * 60); $result = dbquery($query); while ($user = dbarray($result)) { $code = AddCoupon($queue['sub_id']); SendCoupon($user, $code); } // Продлить или завершить задание. $seconds = $queue['level'] * 24 * 60 * 60; if ($seconds > 0) { ProlongQueue($queue['task_id'], $seconds); } else { RemoveQueue($queue['task_id']); } }
function home() { global $db, $prefix; do_head(); OpenTable(); if (isset($_POST['submit_order_config'])) { $sql = "UPDATE " . $prefix . "_hosting_order_config SET admin_email = '" . $_POST['admin_email'] . "', allow_nochex = '" . $_POST['allow_nochex'] . "',\r\n\t\t\tallow_paypal = '" . $_POST['allow_paypal'] . "', allow_cc = '" . $_POST['allow_cc'] . "', allow_paypal_subscriptions = '" . $_POST['allow_paypal_subscriptions'] . "', \r\n\t\t\tprorate = '" . $_POST['prorate'] . "', prorate_date = '" . $_POST['prorate_date'] . "', currency = '" . $_POST['currency'] . "', currency_code = '" . $_POST['currency_code'] . "'"; $db->sql_query($sql); ?> <table width="100%" style="border: 1px solid;"><tr><td><b>Settings Saved!</b></td></tr></table> <?php } $row = $db->sql_fetchrow($db->sql_query("SELECT * FROM " . $prefix . "_hosting_order_config")); ?> <table width="100%"> <form method="post"> <tr> <td colspan="2" align="center"><b>Order Configuration</b></td> </tr><tr> <td>Admin Email:</td> <td><input type="text" name="admin_email" style="width: 200px;" value="<?php echo $row['admin_email']; ?> "></td> </tr><tr> <td>Allow Paypal:</td> <td><input type="checkbox" name="allow_paypal" <?php if ($row['allow_paypal']) { echo "checked"; } ?> value="1"></td> </tr><tr> <td>Allow NoChex:</td> <td><input type="checkbox" name="allow_nochex" <?php if ($row['allow_nochex']) { echo "checked"; } ?> value="1"></td> </tr><tr> <td>Allow Credit Card:</td> <td><input type="checkbox" name="allow_cc" <?php if ($row['allow_cc']) { echo "checked"; } ?> value="1"></td> </tr><tr> <td>Pro-Rate Payments:</td> <td><input type="checkbox" name="prorate" <?php if ($row['prorate']) { echo "checked"; } ?> value="1"></td> </tr><tr> <td nowrap>Use Paypal Subscriptions:</td> <td><input type="checkbox" name="allow_paypal_subscriptions" <?php if ($row['allow_paypal_subscriptions']) { echo "checked"; } ?> value="1"> (setup fee's cannot be used with subscriptions)</td> </tr><tr> <td>Pro-Rate Date of Month:</td> <td><input type="text" name="prorate_date" style="width: 200px;" value="<?php echo $row['prorate_date']; ?> "></td> </tr><tr> <td>Currency Symbol:</td> <td><input type="text" name="currency" style="width: 200px;" value="<?php echo $row['currency']; ?> "></td> </tr><tr> <td>Currency Code:</td> <td><input type="text" name="currency_code" style="width: 200px;" value="<?php echo $row['currency_code']; ?> "></td> </tr><tr> <td colspan="2" align="center"><input type="submit" name="submit_order_config" value="Save Settings"></td> </tr> </form> </table> <?php CloseTable(); // Display list of categories OpenTable(); ?> <center><b><strong>· Category List ·</strong></b><br><br></center> <table cellspacing="0" cellpadding="0" border="0"> <?php $result = $db->sql_query("SELECT id, name FROM " . $prefix . "_hosting_order_category ORDER BY name ASC"); while ($row = $db->sql_fetchrow($result)) { ?> <tr> <td align="left"> · [<a href="admin.php?op=Order&action=EditCat&id=<?php echo $row['id']; ?> ">Edit</a> | <a href="admin.php?op=Order&action=DelCat&id=<?php echo $row['id']; ?> ">Delete</a>] · <?php echo $row['name']; ?> </td> </tr> <?php } ?> </table><br> <?php CloseTable(); AddCat(); // Display list of ordering services OpenTable(); ?> <center><b><strong>· Order List ·</strong></b><br><br></center> <table cellspacing="0" cellpadding="0" border="0"> <?php $sql = "SELECT description, name, id, status FROM " . $prefix . "_hosting_order ORDER BY name ASC"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { ?> <tr><td align="left">· [<a href="admin.php?op=Order&action=editOrder&id=<?php echo $row['id']; ?> ">Edit</a>] · <?php echo $row['name']; ?> </td></tr> <?php } ?> </table><br> <?php CloseTable(); // Draw the Add Order table addOrder(); // Show current coupons OpenTable(); ?> <center><b><strong>· Coupon List ·</strong></b><br><br></center> <table cellspacing="0" cellpadding="0" border="0"> <?php $sql = "SELECT description, code, id FROM " . $prefix . "_hosting_order_coupons WHERE parent='0' ORDER BY description ASC"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { ?> <tr> <td align="left"> · [<a href="admin.php?op=Order&action=EditCoupon&id=<?php echo $row['id']; ?> ">Edit</a>] · <?php echo $row['description'] . " (" . $row['code'] . ")"; ?> </td> </tr> <?php } ?> </table><br> <?php CloseTable(); // Draw the Add Coupon table AddCoupon(); include "footer.php"; }
return $paging; } } /*########################################################### Section : Main ###########################################################*/ $user->AuthenticationAdmin(); if (empty($pf)) { GetAllCoupon(); ShowAllCoupon(); } elseif ($pf == 'browse') { GetAllCoupon(); ShowAllCoupon(); } elseif ($pf == 'add') { if ($_REQUEST['process'] == 'add') { AddCoupon(); } else { ShowFormAddCoupon(); } } elseif ($pf == 'detail') { GetCouponDetail(); ShowCouponDetail(); } elseif ($pf == 'add_product_discount') { AddProductDiscount(); ShowFormAddProductDiscount(); } elseif ($pf == 'delete') { DeleteCoupon($_REQUEST['delete']); } elseif ($pf == 'edit') { EditCoupon(); ShowFormEditCoupon(); } elseif ($pf == 'search') {
function Admin_Coupons() { global $session; global $db_prefix; global $GlobalUser; global $AdminMessage, $AdminError; // Обработка POST-запроса. if (method() === "POST" && $GlobalUser['admin'] >= 2) { $action = $_GET['action']; if ($action === "add_one") { $code = AddCoupon(intval($_POST['dm'])); if ($code == NULL) { $AdminError = "<font color=red>Ошибка добавления купона!</font>"; } else { $AdminMessage = "<font color=lime>Купон добавлен : {$code}</font>"; } } if ($action === "add_date") { $ddmm = explode('.', $_POST['ddmm']); $hhmm = explode(':', $_POST['hhmm']); $now = time(); $end = mktime($hhmm[0], $hhmm[1], 0, $ddmm[1], $ddmm[0]); $inactive_days = intval($_POST['inactive_days']); $ingame_days = intval($_POST['ingame_days']); $darkmatter = intval($_POST['darkmatter']); $periodic = intval($_POST['periodic']); $queue = array(null, 99999, "Coupon", $darkmatter, $inactive_days << 16 | $ingame_days, $periodic, $now, $end, 520); AddDBRow($queue, "queue"); } } // Обработка GET-запроса. if (method() === "GET" && $GlobalUser['admin'] >= 2) { $action = $_GET['action']; if ($action === "remove_one") { DeleteCoupon($_GET['item_id']); } if ($action === "remove_date") { RemoveQueue($_GET['item_id']); } } ?> <?php echo AdminPanel(); ?> <?php // Вывести список купонов. $count = 15; // количество купонов на страницу $from = intval($_GET['from']); $total = TotalCoupons(); $result = EnumCoupons($from, $count); $rows = MDBRows($result); ?> <table border="0" cellpadding="2" cellspacing="1"> <tr height="20"> <td class="c">Код</td> <td class="c">Тёмная материя</td> <td class="c">Активирован</td> <td class="c">Вселенная</td> <td class="c">Имя игрока</td> <td class="c">Действие</td> </tr> <?php while ($rows--) { $entry = MDBArray($result); echo " <tr height=\"20\">\n"; echo " <th>" . $entry['code'] . "</th>\n"; echo " <th>" . nicenum($entry['amount']) . "</th>\n"; echo " <th>" . ($entry['used'] ? "<font color=red>Да</font>" : "<font color=lime>Нет</font>") . "</th>\n"; echo " <th>" . ($entry['used'] ? $entry['user_uni'] : '-') . "</th>\n"; echo " <th>" . $entry['user_name'] . "</th>\n"; echo " <th><a href=\"index.php?page=admin&session={$session}&mode=Coupons&action=remove_one&item_id=" . $entry['id'] . "\">Удалить</a></th>\n"; echo " </tr>\n"; } ?> <tr> <th colspan="6"> <?php $url = "index.php?page=admin&session={$session}&mode=Coupons&from"; if ($from >= $count) { echo " <a href=\"" . $url . "=" . ($from - $count) . "\"><< Предыдущие {$count}</a> \n"; } if ($from < $total && $from + $count < $total) { echo " <a href=\"" . $url . "=" . ($from + $count) . "\">Следующие {$count} >></a>\n"; } ?> </th> </tr> </table> <table> <tr><td class="c">Добавить один купон</td></tr> <tr><td> <form action="index.php?page=admin&session=<?php echo $session; ?> &mode=Coupons&action=add_one" method="POST"> Темная материя <input type="text" size="10" name="dm"> <input type="submit"> </form> </td></tr> </table> <?php // Вывести активные задания начисления купонов. $query = "SELECT * FROM " . $db_prefix . "queue WHERE type = 'Coupon' ORDER BY end ASC"; $result = dbquery($query); while ($queue = dbarray($result)) { print_r($queue); echo "<br>"; } ?> <form action="index.php?page=admin&session=<?php echo $session; ?> &mode=Coupons&action=add_date" method="POST"> <table> <tr><td class="c"colspan=2>Купоны по праздникам</td></tr> <tr><td>День в формате ДД.ММ <input type="text" size="10" name="ddmm"></td><td>Время в формате ЧЧ:ММ <input type="text" size="10" name="hhmm" value="10:00"></td></tr> <tr><td>Темной материи на купон</td><td><input type="text" size="10" name="darkmatter" value="100000"> </td></tr> <tr><td>Отправлять игрокам неактивным не менее</td><td><input type="text" size="10" name="inactive_days" value="7"> дней</td></tr> <tr><td>Игроки должны играть не менее</td><td><input type="text" size="10" name="ingame_days" value="365"> дней</td></tr> <tr><td>Периодичность дней (0-без периодичности)</td><td><input type="text" size="10" name="periodic" value="365"> </td></tr> <tr><td colspan=2><input type="submit"></td></tr> </table> </form> <?php }