Файл: adultscript-2.0.3-pro/files/admin/modules/tools/components/cron.php
Строк: 59
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_Admin_tools_cron
{
    private $db;
    public function __construct()
    {
        $this->db    = VF::factory('database');
    }
    
    public function render()
    {
        $errors        = array();
        $messages    = array();
        
        if (isset($_POST['action']) && isset($_POST['cron_id'])) {
            $action        = trim($_POST['action']);
            $cron_id    = (int) trim($_POST['cron_id']);
            
            if ($cron_id) {
                if ($action == 'activate' or $action == 'suspend') {
                    $status    = ($action == 'activate') ? 1 : 0;
                    $msg    = ($action == 'activate') ? 'enabled' : 'disabled';
                    
                    $this->db->query("
                        UPDATE #__cron
                        SET status = ".$status."
                        WHERE cron_id = ".$cron_id."
                        LIMIT 1
                    ");
                    
                    $messages[]    = 'Cron script '.$msg.'!';
                } else {
                    $errors[]    = 'Invalid action!';
                }
            } else {
                $errors[]    = 'Invalid cron script!';
            }
        }
    
        $this->db->query("SELECT cron_id, name, slug, period,
                                 exec_time, exec_status, status
                          FROM #__cron
                          ORDER BY cron_id ASC");
        $scripts    = $this->db->fetch_rows();
        
        $secret        = md5(VF::cfg_item('secret'));    
        $crontabs    = array(
            '* * * * * '.VF::cfg_item('php_cli_path').' '.BASE_DIR.'/cron/cron.php '.$secret,
        );
        
        $wget_path    = '/usr/bin/wget';
        if (file_exists($wget_path) && is_file($wget_path) && is_executable($wget_path)) {
            $crontabs[]    = '* * * * * '.$wget_path.' '.BASE_URL.'/cron/cron.php?secret='.md5(VF::cfg_item('secret')).' -O /dev/null';
        }
        
        $curl_path    = '/usr/bin/curl';
        if (file_exists($curl_path) && is_file($curl_path) && is_executable($curl_path)) {
            $crontabs[]    = '* * * * * '.$curl_path.' '.BASE_URL.'/cron/cron.php?secret='.md5(VF::cfg_item('secret')).' -o /dev/null';
        }
    
        $tpl    = VF::factory('template');
        $tpl->menu            = 'tools';
        $tpl->submenu        = 'tools_cron';
        $tpl->meta_title    = 'Admin::Tools::Cron';
        $tpl->errors        = $errors;
        $tpl->messages        = $messages;
        $tpl->scripts        = $scripts;
        $tpl->crontabs        = $crontabs;
        $tpl->load(array('header', 'tools_cron', 'footer'));
        $tpl->display();
    }
}