@taastvac

Нужно настроить cron.php?

Здравствуйте, есть сервис рекламы https://adsvt.ru, нужно настроить cron.php

Есть 2 функции у этого крона:
1: Каждую минуту или каждый час (на своё усмотрение) нужно ставить крон чтоб он деньги с замороженного счёта переводил на основной баланс и обновлял на главном меню статистику успешных сделок и т.д.
2: Каждые сутки он должен проверять время размещения баннера, чтоб если человек на неделю купил он сутки считал и удалял потом баннеры которые своё отстояли.

Дело в том, что крон работает, деньги списываются с замороженного счета на основной баланс, а вот с баннерами проблема, например я купил на неделю баннер, а он через день удаляется, не знаю как исправить эту проблему

Путь который я указывал в crontab-e для выполнения крон
wget -O /dev/null -t 1 -q 'https://adsvt.ru/cron.php?uid=d41d8cd98f00b204e980...'

Сам скрипт крона

<?php
define('BASE_DIR', $_SERVER['DOCUMENT_ROOT']);
define('TIME', time());

require_once(BASE_DIR . '/inc/init.php');

if (isset($_GET['uid']) && $_GET['uid'] == HASH_MD5) {
    $query = $mysqli->query("SELECT * FROM `" . PREFIX . "_banners` WHERE `status` = '1'");
    if ($query->num_rows) {
        while ($res = $query->fetch_assoc()) {
            if ($res['money'] <= 0) {
                $mysqli->query("UPDATE `" . PREFIX . "_banners` SET `status` = '0' WHERE `id` = '" . $res['id'] . "'");
                $mysqli->query("UPDATE `" . PREFIX . "_config` SET `success_work` = `success_work` + '1' WHERE `id` = '1'");
                continue;
            }
            $money = number_format($res['price'] / (($res['weeks'] * 7) * 24),7);
            if ($res['money'] < $money) {
                $money = $res['money'];
            }
            $money_frozen = $mysqli->query("SELECT `money_frozen` FROM `" . PREFIX . "_users` WHERE `id` = '" . $res['user_blocks'] . "' LIMIT 1")->fetch_assoc();
            if ($money_frozen['money_frozen'] >= $money) {
                //списание замороженных средств вебмастера и зачисление средств на баланс вебмастера
                $mysqli->query("UPDATE `" . PREFIX . "_users` SET `money_frozen` = `money_frozen` - '" . $money . "', `money` = `money` + '" . $money . "', `money_all` = `money_all` + '" . $money . "', `money_banner` = `money_banner` + '" . $money . "' WHERE `id` = '" . $res['user_blocks'] . "'");
            } else {
                //списание замороженных средств вебмастера и зачисление средств на баланс вебмастера
                $mysqli->query("UPDATE `" . PREFIX . "_users` SET `money_frozen` = '0', `money` = `money` + '" . $money . "', `money_all` = `money_all` + '" . $money . "', `money_banner` = `money_banner` + '" . $money . "' WHERE `id` = '" . $res['user_blocks'] . "'");
            }
            //обновление баланса сделки
            $mysqli->query("UPDATE `" . PREFIX . "_banners` SET `money` = `money` - '" . $money . "' WHERE `id` = '" . $res['id'] . "'");
            $mysqli->query("INSERT INTO `" . PREFIX . "_history` (`time_add`, `user_id`, `type`, `money`) VALUES (NOW(), '" . $res['user_blocks'] . "', 'banner', '" . $money . "')");
            $mysqli->query("UPDATE `" . PREFIX . "_config` SET `users_profit` = `users_profit` + '" . $money . "' WHERE `id` = '1'");
        }
    }
}


if (isset($_GET['uid']) && $_GET['uid'] == HASH_MD5 && $_GET['mode'] == 'iks') {
    $query = $mysqli->query("SELECT * FROM `" . PREFIX . "_blocks`");
    if ($query->num_rows) {
        while ($res = $query->fetch_assoc()) {
            $url = $res['url'];
            $mysqli->query("UPDATE `".PREFIX."_blocks` SET `tic` = '".YandexIks::getValueFromImage($url)."' WHERE id = '".(int)$res['id']."'");
        }
    }
}


if (isset($_GET['uid']) && $_GET['uid'] == HASH_MD5 && $_GET['mode'] == 'deldayip') {
    $query = $mysqli->query("DELETE FROM `" . PREFIX . "_blocks_view` WHERE time_add < (CURDATE()-2)");
    echo 1;
}
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы