Linkslot скрипт, помогите пожалуйста с cron!

  • Автор темы moneytown
  • Дата начала
moneytown
Участник
Сообщения
4
Реакции
0
Появилась новая проблема. Стандартный файл крон задачи не работал почему-то. Я сделал другой но с проблемой.
Есть 2 функции у этого крона:
1: Каждую минуту или каждый час (на своё усмотрение) нужно ставить крон чтоб он деньги с замороженного счёта переводил на основной баланс и обновлял на главном меню статистику успешных сделок и т.д.
2: Каждые сутки он должен проверять время размещения баннера, чтоб если человек на неделю купил он сутки считал и удалял потом бннеры которые своё отстояли.
Я же как-то крон сделал что он начал всё в одном делать, я его когда ставлю выполняться каждую минуту для (смотреть пункт первый) то он начинает каждую минуту выполнять сразу 2 предназначения.. в итоге статистика обновляется,деньги переводит на счет основной но и каждую минуту считает размещённый баннер и очень быстро убирает его из показа думая, что баннер уже неделю простоял.
Нужна помощь с настройкой крона, могу копеечку выделить. Жду ответа срочно ребятки)




Прилагаю код крона который у меня не работал.
Может он рабочий и мне просто путь не правильный дали на команды? Посмотрите пожалуйста и скажите может просто верный путь нужно указать? Должно 2 крона получится которые я сверху описал)

<?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;
}


Это крон который у меня сейчас стоит и который выполняет сразу 2 задачи за одно подключение, может тут тоже путь неправильный? Он у меня в этом кроне один получился.. Подскажите какой код нужно ставить и какие пути прописывать в кроне.. умоляяяяяююююю

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

error_reporting(E_ALL);
ini_set('display_errors', 1);

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

if ($_GET['mode'] == 'uptic')
{
$query = $mysqli->query("SELECT `id`, `url` FROM `".PREFIX."_blocks`");

if ($query->num_rows)
{
while($res = $query->fetch_assoc())
{
$tic = updateTCY($res['url']);

$mysqli->query("UPDATE `".PREFIX."_blocks` SET `tic` = '".$tic."' WHERE `id` = '".$res['id']."'");
}
}

exit('YES');
}

if ($_GET['mode'] == 'dblocktime') {

$query = $mysqli->query("SELECT `id`, `type`,`user_id` FROM `".PREFIX."_blocks` WHERE `time_upd` < '".time()."' && time_add < DATE_SUB(NOW(), INTERVAL 168 HOUR)");

if ($query->num_rows){
while($res = $query->fetch_assoc()) {
$bll = ($res['type'] == 1) ? '_links' : '_banners';
$query = $mysqli->query("SELECT * FROM `".PREFIX.$bll."` WHERE `ident` = '".(int)$res['id']."' and `status` = '1'");
if ($query->num_rows){
while ($row = $query->fetch_assoc()) {
#возвращаем деньги рекламодателю
$mysqli->query("UPDATE `".PREFIX."_users` SET `money` = `money` + '".$row['price']."' WHERE `id` = '".$row['user_id']."'");

#удаляем деньги с замороженых
$mysqli->query("UPDATE `".PREFIX."_users` SET `money_frozen` = `money_frozen` - '".$row['price']."' WHERE `id` = '".$res['user_id']."'");

}
}
$mysqli->query("DELETE FROM `".PREFIX."_blocks` WHERE `id` = '".$res['id']."'");
if($res['type'] == 2) {
addStats('advert_banners', -1);
} else if ($res['type'] == 1){
addStats('advert_links', -1);
}
}
}
exit('YES');
}

if ($_GET['mode'] == 'dhspay') {

$query = $mysqli->query("SELECT * FROM `".PREFIX."_history_pay` WHERE `status` = '0' && `time_add` < DATE_SUB(NOW(), INTERVAL 1 HOUR)");
if ($query->num_rows > 0) {
while($res = $query->fetch_assoc()) {
$mysqli->query("DELETE FROM `".PREFIX."_history_pay` WHERE `id` = '".$res['id']."'");


$img_e = unserialize($res['data']);
if(!empty($img_e['img'])) {
unlink(BASE_DIR.'/uploads/'.explode('/uploads/', $img_e['img'])[1]);
}
}
}

exit('YES');
}

if ($_GET['mode'] == 'banners123')
{
$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), 4);

if ($res['money'] < $money && $money > 0) {
$money = $res['money'];
}
if($money <= 0) {
$money = 0;
}

$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 ($_GET['mode'] == 'deldayip123')
{
$query = $mysqli->query("DELETE FROM `".PREFIX."_blocks_view` WHERE `time_add` < (CURDATE()-2)");
//$query = $mysqli->query("SELECT count(*) FROM `".PREFIX."_blocks_view` WHERE `time_add` > (CURDATE()-2)");
//$res = $query->fetch_assoc();
//echo $res['count'];
}

if ($_GET['mode'] == 'delbannersandlink123')
{
$query = $mysqli->query("SELECT * FROM `".PREFIX."_banners` WHERE `status` = '2' || `status` = '0'");

if ($query->num_rows)
{
while($res = $query->fetch_assoc())
{
$mysqli->query("DELETE FROM `".PREFIX."_banners` WHERE `id` = '".$res['id']."'");
unlink(BASE_DIR.'/uploads/'.explode('/uploads/', $res['url_banner'])[1]);
}
}

$query = $mysqli->query("SELECT * FROM `".PREFIX."_links` WHERE `status` = '2' || `status` = '0'");

if ($query->num_rows)
{
while($res = $query->fetch_assoc())
{
$mysqli->query("DELETE FROM `".PREFIX."_links` WHERE `id` = '".$res['id']."'");
}
}
}
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
moneytown написал(а):
Может он рабочий и мне просто путь не правильный дали на команды?
А команду, которую ты добавляешь в крон, мы так и не увидели
 
moneytown
Участник
Сообщения
4
Реакции
0
Это для крона который сразу две команды за один раз делает, он сейчас у меня стоит.

https://reklink.site/cron.php?uid=sddfgetewrt34drg4tdafd345 - каждый час. (этот для статистики и для перевода замороженных средств на основной баланс должен быть.
https://reklink.site/cron.php?uid=sddfgetewrt34drg4tdafd345&mode=deldayip - ежедневно. (этот для баннеров я так понимаю).
Эти кроны не работают ни в какую,
 
moneytown
Участник
Сообщения
4
Реакции
0
pligin написал(а):
А команду, которую ты добавляешь в крон, мы так и не увидели
Скинул кроны свои, глянете? Может я в старом кроне путь неверный давал ему просто? Просто я не пойму пути которые дал продавец, первый путь не понятно куда идёт, второй есть в самом файле крон "mode=deldayip", а первый путь куда идёт и как я не понимаю.
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
moneytown написал(а):
Скинул кроны свои, глянете? Может я в старом кроне путь неверный давал ему просто? Просто я не пойму пути которые дал продавец, первый путь не понятно куда идёт, второй есть в самом файле крон "mode=deldayip", а первый путь куда идёт и как я не понимаю.
А чему равен HASH_MD5 ?
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
В configbd.php указать
PHP:
define('HASH_MD5','sddfgetewrt34drg4tdafd345');
 
moneytown
Участник
Сообщения
4
Реакции
0
Подскажите пожалуйста какой крон нужно ставить и на какое время?
Вот файл, тут много крон задач внутри (mode), не знаю какой на сколько ставить..

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

error_reporting(E_ALL);
ini_set('display_errors', 1);

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

if ($_GET['mode'] == 'uptic')
{
$query = $mysqli->query("SELECT `id`, `url` FROM `".PREFIX."_blocks`");

if ($query->num_rows)
{
while($res = $query->fetch_assoc())
{
$tic = updateTCY($res['url']);

$mysqli->query("UPDATE `".PREFIX."_blocks` SET `tic` = '".$tic."' WHERE `id` = '".$res['id']."'");
}
}

exit('YES');
}

if ($_GET['mode'] == 'dblocktime') {

$query = $mysqli->query("SELECT `id`, `type`,`user_id` FROM `".PREFIX."_blocks` WHERE `time_upd` < '".time()."' && time_add < DATE_SUB(NOW(), INTERVAL 168 HOUR)");

if ($query->num_rows){
while($res = $query->fetch_assoc()) {
$bll = ($res['type'] == 1) ? '_links' : '_banners';
$query = $mysqli->query("SELECT * FROM `".PREFIX.$bll."` WHERE `ident` = '".(int)$res['id']."' and `status` = '1'");
if ($query->num_rows){
while ($row = $query->fetch_assoc()) {
#возвращаем деньги рекламодателю
$mysqli->query("UPDATE `".PREFIX."_users` SET `money` = `money` + '".$row['price']."' WHERE `id` = '".$row['user_id']."'");

#удаляем деньги с замороженых
$mysqli->query("UPDATE `".PREFIX."_users` SET `money_frozen` = `money_frozen` - '".$row['price']."' WHERE `id` = '".$res['user_id']."'");

}
}
$mysqli->query("DELETE FROM `".PREFIX."_blocks` WHERE `id` = '".$res['id']."'");
if($res['type'] == 2) {
addStats('advert_banners', -1);
} else if ($res['type'] == 1){
addStats('advert_links', -1);
}
}
}
exit('YES');
}

if ($_GET['mode'] == 'dhspay') {

$query = $mysqli->query("SELECT * FROM `".PREFIX."_history_pay` WHERE `status` = '0' && `time_add` < DATE_SUB(NOW(), INTERVAL 1 HOUR)");
if ($query->num_rows > 0) {
while($res = $query->fetch_assoc()) {
$mysqli->query("DELETE FROM `".PREFIX."_history_pay` WHERE `id` = '".$res['id']."'");


$img_e = unserialize($res['data']);
if(!empty($img_e['img'])) {
unlink(BASE_DIR.'/uploads/'.explode('/uploads/', $img_e['img'])[1]);
}
}
}

exit('YES');
}

if ($_GET['mode'] == 'banners123')
{
$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), 4);

if ($res['money'] < $money && $money > 0) {
$money = $res['money'];
}
if($money <= 0) {
$money = 0;
}

$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 ($_GET['mode'] == 'deldayip123')
{
$query = $mysqli->query("DELETE FROM `".PREFIX."_blocks_view` WHERE `time_add` < (CURDATE()-2)");
//$query = $mysqli->query("SELECT count(*) FROM `".PREFIX."_blocks_view` WHERE `time_add` > (CURDATE()-2)");
//$res = $query->fetch_assoc();
//echo $res['count'];
}

if ($_GET['mode'] == 'delbannersandlink123')
{
$query = $mysqli->query("SELECT * FROM `".PREFIX."_banners` WHERE `status` = '2' || `status` = '0'");

if ($query->num_rows)
{
while($res = $query->fetch_assoc())
{
$mysqli->query("DELETE FROM `".PREFIX."_banners` WHERE `id` = '".$res['id']."'");
unlink(BASE_DIR.'/uploads/'.explode('/uploads/', $res['url_banner'])[1]);
}
}

$query = $mysqli->query("SELECT * FROM `".PREFIX."_links` WHERE `status` = '2' || `status` = '0'");

if ($query->num_rows)
{
while($res = $query->fetch_assoc())
{
$mysqli->query("DELETE FROM `".PREFIX."_links` WHERE `id` = '".$res['id']."'");
}
}
}
 
aviram
Участник
Сообщения
3
Реакции
2
moneytown написал(а):
Подскажите пожалуйста какой крон нужно ставить и на какое время?
Вот файл, тут много крон задач внутри (mode), не знаю какой на сколько ставить..
Ответ есть в самом скрипте. Там есть даты выполнения и выборки. Соответственно нужно также проставить в Крон
 
Leroi
Местный
Сообщения
205
Реакции
92
aviram написал(а):
Ответ есть в самом скрипте. Там есть даты выполнения и выборки. Соответственно нужно также проставить в Крон
тут есть те кто даже и на половину не понимает ,по этому ищут ответы на форуме
 
Сверху