Файл: hostbiter.ru/Modules/page/cron.php
Строк: 98
<?
require ($_SERVER['DOCUMENT_ROOT'].'/Core/core.php');
$title = 'Планировщик задач';
require ($_SERVER['DOCUMENT_ROOT'].'/Core/myhead.php');
switch($_GET['list']){
default:
$max = 10;
$k_post = $db->prepare("SELECT * FROM `cron_tasks` WHERE `user` = ?");
$k_post->execute([$user['id']]);
$k_post = $k_post->rowCount();
$k_page = k_page($k_post,$max);
$page = page($k_page);
$start = $max*$page-$max;
$all = $db->prepare("SELECT * FROM `cron_tasks` WHERE `user` = ? LIMIT $start,$max");
$all -> execute([$user['id']]);
$all = $all -> fetchAll();
if($k_post > 0){
echo 'Всего заданий: '.$k_post.'<br />';
foreach($all as $row){
$start = ['Каждые 5 минут','Каждые 15 минут','Каждые 30 минут','Каждый 1 час','Каждый день'];
$status = ['<font color="red">нет</font>','<font color="#00ff00">да</font>']
?>
<div id="border" class="border2">
<img src="/image/go.png" alt="" /> <?=$row['url']?><br />
Активна: <?=$status[$row['active']]?> <br />
Дата добавления: <?=date("d.m.Y/H:i",$row['time'])?><br />
Запуск: <?=$start[$row['start']]?><br />
</div>
<?
}
if($k_page >1){
echo str('?',$k_page,$page);
}
}else{
?>
<center>
<div class="mess">
<img src="/image/EB03.png" alt="" /> Нет активных заданий
</div>
</center>
<?
}
?>
<img src="/image/page.png" alt="" /> <a href="/page/cron.php?list=create">Новое задание</a><br />
<img src="/image/faq.gif" alt="" /> <a href="/page/cron.php?list=help">Что это?</a><br />
<?
break;
case 'create':
if(isset($_GET['create'])){
$url = htmlspecialchars(trim($_POST['url']));
$start = abs(intval($_POST['start']));
$arrstart = [['*/5','*','*','*','*'],['*/15','*','*','*','*'],['*/30','*','*','*','*'],['0','*','*','*','*'],['0','0','*','*','*']];
$cmd = '/usr/bin/wget '.$url;
$desc = 'Cron task by '.$user['login'].'';
$hour = date("H",time())+1;
$month = date("m",time());
$month_day = date("d",time());
$sql11 = $db->prepare("INSERT INTO `cron_tasks` (`user`,`url`,`start`,`time`) VALUES (?,?,?,?)");
$sql11->execute([$user['id'],$url,$start,time()]);
$api = file_get_contents($config['PanelUrl']."/ispmgr?authinfo=".$config['RootAccountName'].":".$config['RootAccountPassword']."&func=scheduler.edit&out=xml&sok=ok&mailto=&command=".urlencode($cmd)."&description=".urlencode($desc)."&active=on&schedule_type=type_expert&time_hour=".$hour."&time_min=0&month=".$month."&month_day=".$month_day."&run_every=&input_min=".urlencode($arrstart[$start][0])."&input_hour=".urlencode($arrstart[$start][1])."&input_dmonth=".urlencode($arrstart[$start][2])."&input_month=".urlencode($arrstart[$start][3])."&input_dweek=".urlencode($arrstart[$start][4])."&hideout=on");
$_SESSION['message'] = 'Задача запланирована!';
header("Location: /page/cron.php");
exit;
}
?>
<center> <div class="mess"> <img src="/image/EB03.png" alt="" />
Внимание! запрещенно добавлять в крон накрутчики, Dos программы, автокликкеры! </div> </center>
<br />Добавление команды:<br />
<form method="post" action="/page/cron.php?list=create&create">
Введите URL файла:<br />
<input name="url" value="http://" type="text" /><br />
Режим запуска: <br />
<select name="start">
<option value="0">Каждые 5 минут</option>
<option value="1">Каждые 15 минут</option>
<option value="2">Каждые 30 минут</option>
<option value="3">Каждый 1 час</option>
<option value="4">Каждый день</option>
</select>
<br /><input type="submit" name="create" value="Создать" />
</form><div><img src="/image/back.gif" alt="" /> <a href="/page/cron.php"> Назад</a></div>
<?
break;
case 'help':
?>
Что такое cron?<br />
<b>cron</b> — это демон планировщик задач, использующийся для периодического выполнения заданий в определённое время.<br />
Как им пользоватся?<br />
» Заходите в меню создания нового задания, вводите нужный URL и время для запуска.<br />
» Это нужно для того что-бы, к примеру обновлять каталог сайтов каждый день.
<div><img src="/image/back.gif" alt="" /> <a href="/page/cron.php"> Назад</a></div>
<?
break;
case 'del':
$id = abs(intval($_GET['id']));
$sch = $db->prepare("SELECT * FROM `cron_tasks` WHERE `id` = ?");
$sch->execute([$id]);
$sch = $sch->fetch();
$arrstart2 = [['*/5','*','*','*','*'],['*/15','*','*','*','*'],['*/30','*','*','*','*'],['0','*','*','*','*'],['0','0','*','*','*']];
$cmd2 = rawurlencode($arrstart2[$sch['start']][0].' '.$arrstart2[$sch['start']][1].' '.$arrstart2[$sch['start']][2].' '.$arrstart2[$sch['start']][3].' '.$arrstart2[$sch['start']][4].' /usr/bin/wget '.$sch['url'].' >/dev/null 2>&1');
$api2 = file_get_contents($config['PanelUrl']."/ispmgr?authinfo=".$user['login'].":".decode($user['password'])."&out=xml&func=scheduler.delete&elid=".$cmd2."");
exit($api2);
$sql12 = $db->prepare("DELETE FROM `cron_tasks` WHERE `id` = ?");
$sql12->execute([$id]);
$_SESSION['message'] = 'Задача отключена!';
header("Location: /page/cron.php");
exit;
break;
}
require ($_SERVER['DOCUMENT_ROOT'].'/Core/myfoot.php');
?>