class UltimateCronGeneralSettings in Ultimate Cron 7.2
General settings plugin class.
Hierarchy
- class \UltimateCronPlugin
- class \UltimateCronPluginMultiple
- class \UltimateCronSettings
- class \UltimateCronGeneralSettings
- class \UltimateCronSettings
- class \UltimateCronPluginMultiple
Expanded class hierarchy of UltimateCronGeneralSettings
1 string reference to 'UltimateCronGeneralSettings'
- general.inc in plugins/
ultimate_cron/ settings/ general.inc
File
- plugins/
ultimate_cron/ settings/ general.class.php, line 10 - General settings for Ultimate Cron.
View source
class UltimateCronGeneralSettings extends UltimateCronSettings {
/**
* Handle kill signal.
*/
public function signal($item, $signal) {
switch ($signal) {
case 'kill':
$item
->sendSignal('kill', TRUE);
return;
}
}
/**
* Use ajax for run, since we're launching in the background.
*/
public function build_operations_alter($job, &$allowed_operations) {
if (empty($allowed_operations['run'])) {
if (in_array('killable', $job->hook['tags']) && !$job
->peekSignal('kill')) {
$allowed_operations['kill'] = array(
'title' => t('Kill'),
'href' => 'admin/config/system/cron/jobs/list/' . $job->name . '/signal/' . $this->type . '/' . $this->name . '/kill',
'attributes' => array(
'class' => array(
'use-ajax',
),
),
'query' => array(
'token' => drupal_get_token('signal'),
),
);
}
}
}
/**
* Implements hook_cron_post_schedule().
*/
public function cron_post_schedule($job, &$result) {
if (self::getGlobalOption('bypass_schedule')) {
$result = $result || empty($job->disabled) && !$job
->isLocked();
}
}
/**
* Default settings.
*/
public function defaultSettings() {
return array(
'nodejs' => module_exists('nodejs'),
);
}
/**
* Settings form.
*/
public function settingsForm(&$form, &$form_state, $job = NULL) {
$elements =& $form['settings'][$this->type][$this->name];
$values =& $form_state['values']['settings'][$this->type][$this->name];
if (!$job) {
$elements['nodejs'] = array(
'#type' => 'checkbox',
'#title' => t('nodejs'),
'#default_value' => $values['nodejs'],
'#description' => t('Enable nodejs integration (Live reload on jobs page. Requires the nodejs module to be installed and configured).'),
'#fallback' => TRUE,
);
}
else {
$elements['no_settings'] = array(
'#markup' => '<p>' . t('This plugin has no settings.') . '</p>',
);
}
}
}