Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/system/optimization/jobs.php
Строк: 136
<?php

namespace ConcreteControllerSinglePageDashboardSystemOptimization;
use 
ConcreteCorePageControllerDashboardPageController;
use 
Config;
use 
Loader;
use 
Job;
use 
JobSet;

class 
Jobs extends DashboardPageController {

    function 
on_start() 
    {
        
parent::on_start();
        
// clear the environment overrides cache first
        
$env Environment::get();
        
$env->clearOverrideCache();

        
$installed Job::getList();
        
$this->set('availableJobs'Job::getAvailableList(0)); 
        
$this->set('installedJobs'$installed); 
        
$this->set('jobSets'JobSet::getList());
        
$this->set('auth'Job::generateAuth());
    }

    public function 
view() 
    {
        
$this->set('jobListSelected'true);
    }
    
    public function 
view_sets() 
    {
        
$this->set('jobSetsSelected'true);
    }

    function 
install($handle null
    {
        if (
$handle
        {
            
Job::installByHandle($handle);
            
$this->redirect('/dashboard/system/optimization/jobs''job_installed');
        } else {
            
$this->error->add(t('No job specified.'));
        }
        
$this->view();
    }
    
    function 
uninstall($job_id null
    {
        if (
$job_id
        {    
            
$job Job::getByID((int) $job_id);
            if (
$job
            {
                if (!
$job->jNotUninstallable
                {
                    
$job->uninstall();
                    
$this->redirect('/dashboard/system/optimization/jobs''job_uninstalled');
                } else {
                    
$this->error->add(t('This job cannot be uninstalled.'));
                }
            } else {
                
$this->error->add(t('Job not found.'));
            }
        } else {
            
$this->error->add(t('No job specified.'));
        }
        
$this->view();
    }

    public function 
job_uninstalled() 
    {
        
$this->set('message't('Job successfully uninstalled.'));
        
$this->view();
    }

    public function 
job_installed() 
    {
        
$this->set('message't('Job successfully installed.'));
        
$this->view();
    }
    
    public function 
reset() 
    {
        
$jobs Job::getList();
        foreach(
$jobs as $j
        {
            
$j->reset();
        }
        
$this->redirect('/dashboard/system/optimization/jobs''reset_complete');
    }

    public function 
reset_complete() 
    {
        
$this->set('message't('All running jobs have been reset.'));
        
$this->view();
    }

    public function 
set_added() 
    {
        
$this->set('success't('Job set added.'));
        
$this->set('jobSetsSelected'true);
    }

    public function 
edit_set($jsID false
    {
        
$this->set('jobSetsSelected'true);
        
$js JobSet::getByID($jsID);
        if (
is_object($js)) {
            
$this->set('set'$js);
        } else {
            
$this->redirect('/dashboard/system/optimization/jobs');
        }
    }

    public function 
update_set_jobs() 
    {
        if (
$this->token->validate('update_set_jobs')) 
        { 
            
$js JobSet::getByID($this->post('jsID'));
            if (!
is_object($js)) 
            {
                
$this->error->add(t('Invalid Job set.'));
            }

            if (!
$this->error->has()) 
            {
                
// go through and add all the attributes that aren't in another set
                
$js->clearJobs();
                if (
is_array($this->post('jID'))) 
                {
                    foreach(
$_POST['jID'] as $jID
                    {
                        
$j Job::getByID($jID);
                        if(
is_object($j)) 
                        {
                            
$js->addJob($j);
                        }
                    }                    
                }
                
$this->redirect('/dashboard/system/optimization/jobs''set_updated');
            }    
            
        } else {
            
$this->error->add($this->token->getErrorMessage());
        }
        
$this->edit($this->post('asID'));
    }
    
    public function 
set_updated() 
    {
        
$this->set('jobSetsSelected'true);
        
$this->set('success't('Job Set updated successfully.'));
    }

    public function 
update_set() 
    {
        
$this->set('jobSetsSelected'true);
        if (
$this->token->validate('update_set')) 
        { 
            
$js JobSet::getByID($this->post('jsID'));
            if (!
is_object($js)) 
            {
                
$this->error->add(t('Invalid Job set.'));
            } else {
                if (!
trim($this->post('jsName'))) 
                { 
                    
$this->error->add(t("Specify a name for your Job set."));
                }
            }
            
            if (!
$this->error->has()) 
            {
                
$js->updateJobSetName($this->post('jsName'));
                
$this->redirect('/dashboard/system/optimization/jobs''set_updated');
            }
            
        } else {
            
$this->error->add($this->token->getErrorMessage());
        }
    }

    public function 
set_deleted() 
    {
        
$this->set('jobSetsSelected'true);
        
$this->set('success't('Group set deleted successfully.'));
    }

    public function 
delete_set() 
    {
        
$this->set('jobSetsSelected'true);
        if (
$this->token->validate('delete_set')) 
        { 
            
$js JobSet::getByID($this->post('jsID'));
            if (!
$js->canDelete()) 
            {
                
$this->error->add(t('You cannot delete the default Job set.'));
            }

            if (!
is_object($js)) 
            {
                
$this->error->add(t('Invalid Job set.'));
            }
            
            if (!
$this->error->has()) 
            {
                
$js->delete();
                
$this->redirect('/dashboard/system/optimization/jobs''set_deleted');
            }            
            
$this->edit_set($this->post('jsID'));
        } else {
            
$this->error->add($this->token->getErrorMessage());
        }
    }

    public function 
add_set() 
    {
        
$this->set('jobSetsSelected'true);
        if (
$this->token->validate('add_set')) { 
            if (!
trim($this->post('jsName'))) 
            { 
                
$this->error->add(t("Specify a name for your Job set."));
            }
            
            if (!
$this->error->has()) 
            {            
                
$js JobSet::add($this->post('jsName'));
                if (
is_array($_POST['jID'])) 
                {
                    foreach(
$_POST['jID'] as $jID
                    {
                        
$j Job::getByID($jID);
                        if(
is_object($j)) 
                        {
                            
$js->addJob($j);
                        }
                    }                    
                }
                
$this->redirect('/dashboard/system/optimization/jobs''set_added');
            }
            
        } else {
            
$this->error->add($this->token->getErrorMessage());
        }
    }

    public function 
update_job_schedule() 
    {
        
$jID $this->request->request->get('jID');
        
$J Job::getByID($jID);
        
$J->setSchedule($this->post('isScheduled'), $this->post('unit'), max(0,(int)$this->post('value')));
        
$this->redirect('/dashboard/system/optimization/jobs''job_scheduled');
    }
    
    public function 
job_scheduled() 
    {
        
$this->set('success't('Job schedule updated successfully.'));
        
$this->view();
    }
    
    
    public function 
update_set_schedule() 
    {
        
$jsID $this->post('jsID');
        
$S JobSet::getByID($jsID);
        
$S->setSchedule($this->post('isScheduled'), $this->post('unit'), $this->post('value'));
        
        
$this->redirect('/dashboard/system/optimization/jobs''set_scheduled');
    }
    
    public function 
set_scheduled() 
    {
        
$this->set('success't('Job Set schedule updated successfully.'));
        
$this->view();
    }
}
Онлайн: 0
Реклама