public static function getPluginJobs($a_only_active = false) { global $ilPluginAdmin; $res = array(); foreach ($ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "Cron", "crnhk") as $pl_name) { $plugin_obj = $ilPluginAdmin->getPluginObject(IL_COMP_SERVICE, "Cron", "crnhk", $pl_name); foreach ((array) $plugin_obj->getCronJobInstances() as $job) { $item = array_pop(ilCronManager::getCronJobData($job->getId())); if (!sizeof($item)) { // as job is not "imported" from xml ilCronManager::createDefaultEntry($job, $pl_name, IL_COMP_PLUGIN, ""); } $item = array_pop(ilCronManager::getCronJobData($job->getId())); } if (!$a_only_active || $item["job_status"] == 1) { $res[$job->getId()] = array($job, $item); } } return $res; }
/** * @return ilPropertyFormGUI */ protected function getSettingsForm() { require_once 'Services/Form/classes/class.ilPropertyFormGUI.php'; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this, 'saveSettings')); $form->setTitle($this->lng->txt('settings')); $frm_radio = new ilRadioGroupInputGUI($this->lng->txt('show_topics_overview'), 'forum_overview'); $frm_radio->addOption(new ilRadioOption($this->lng->txt('new') . ', ' . $this->lng->txt('is_read') . ', ' . $this->lng->txt('unread'), '0')); $frm_radio->addOption(new ilRadioOption($this->lng->txt('is_read') . ', ' . $this->lng->txt('unread'), '1')); $frm_radio->setInfo($this->lng->txt('topics_overview_info')); $form->addItem($frm_radio); $check = new ilCheckboxInputGui($this->lng->txt('enable_fora_statistics'), 'fora_statistics'); $check->setInfo($this->lng->txt('enable_fora_statistics_desc')); $form->addItem($check); $check = new ilCheckboxInputGui($this->lng->txt('enable_anonymous_fora'), 'anonymous_fora'); $check->setInfo($this->lng->txt('enable_anonymous_fora_desc')); $form->addItem($check); require_once 'Services/Cron/classes/class.ilCronManager.php'; if (ilCronManager::isJobActive('frm_notification')) { require_once 'Services/Administration/classes/class.ilAdministrationSettingsFormHandler.php'; ilAdministrationSettingsFormHandler::addFieldsToForm(ilAdministrationSettingsFormHandler::FORM_FORUM, $form, $this); } else { $notifications = new ilCheckboxInputGui($this->lng->txt('cron_forum_notification'), 'forum_notification'); $notifications->setInfo($this->lng->txt('cron_forum_notification_desc')); $notifications->setValue(1); $form->addItem($notifications); } require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php'; $cap = new ilCheckboxInputGUI($this->lng->txt('adm_captcha_anonymous_short'), 'activate_captcha_anonym'); $cap->setInfo($this->lng->txt('adm_captcha_anonymous_frm')); $cap->setValue(1); if (!ilCaptchaUtil::checkFreetype()) { $cap->setAlert(ilCaptchaUtil::getPreconditionsMessage()); } $form->addItem($cap); $form->addCommandButton('saveSettings', $this->lng->txt('save')); $form->addCommandButton('cancel', $this->lng->txt('cancel')); return $form; }
protected function getItems() { global $ilPluginAdmin, $lng; include_once "Services/User/classes/class.ilUserUtil.php"; include_once "Services/Cron/classes/class.ilCronJobResult.php"; // systems $data = ilCronManager::getCronJobData(); foreach ($data as $idx => $item) { $job = ilCronManager::getJobInstance($item["job_id"], $item["component"], $item["class"], $item["path"]); if ($job) { $data[$idx] = $this->parseJobToData($item, $job); } } // plugins $lng->loadLanguageModule("cmps"); foreach (ilCronManager::getPluginJobs() as $item) { $job = $item[0]; $item = $item[1]; $item["job_id"] = "pl__" . $item["component"] . "__" . $job->getId(); $item["component"] = $lng->txt("cmps_plugin") . "/" . $item["component"]; $data[] = $this->parseJobToData($item, $job); } $this->setData($data); }
public function addToExternalSettingsForm($a_form_id) { $fields = array(); $data = ilCronManager::getCronJobData(); foreach ($data as $item) { $job = ilCronManager::getJobInstance($item["job_id"], $item["component"], $item["class"], $item["path"]); if (method_exists($job, "addToExternalSettingsForm")) { $job->addToExternalSettingsForm($a_form_id, $fields, $item["job_status"]); } } if (sizeof($fields)) { return array("cron_jobs" => array("jumpToCronJobs", $fields)); } }
<?php chdir(dirname(__FILE__)); chdir('..'); include_once "Services/Context/classes/class.ilContext.php"; ilContext::init(ilContext::CONTEXT_CRON); include_once 'Services/Authentication/classes/class.ilAuthFactory.php'; ilAuthFactory::setContext(ilAuthFactory::CONTEXT_CRON); $_COOKIE["ilClientId"] = $_SERVER['argv'][3]; $_POST['username'] = $_SERVER['argv'][1]; $_POST['password'] = $_SERVER['argv'][2]; if ($_SERVER['argc'] < 4) { die("Usage: cron.php username password client\n"); } include_once './include/inc.header.php'; // Start checks here include_once './cron/classes/class.ilCronCheck.php'; $cron_check = new ilCronCheck(); $cron_check->start(); include_once './Services/Cron/classes/class.ilCronManager.php'; ilCronManager::runActiveJobs();
function linkChecker() { global $ilias, $ilUser, $tpl; $this->__initLinkChecker(); $this->setTabs(); $this->setContentSubTabs("link_check"); require_once './Services/LinkChecker/classes/class.ilLinkCheckerTableGUI.php'; $toolbar = new ilToolbarGUI(); // #13684 include_once "Services/Cron/classes/class.ilCronManager.php"; if (ilCronManager::isJobActive("lm_link_check")) { include_once './Services/LinkChecker/classes/class.ilLinkCheckNotify.php'; include_once 'Services/Form/classes/class.ilPropertyFormGUI.php'; $chb = new ilCheckboxInputGUI($this->lng->txt('link_check_message_a'), 'link_check_message'); $chb->setValue(1); $chb->setChecked((bool) ilLinkCheckNotify::_getNotifyStatus($ilUser->getId(), $this->object->getId())); $chb->setOptionTitle($this->lng->txt('link_check_message_b')); $toolbar->addInputItem($chb); $toolbar->addFormButton($this->lng->txt('save'), 'saveLinkCheck'); $toolbar->setFormAction($this->ctrl->getLinkTarget($this, 'saveLinkCheck')); } $tgui = new ilLinkCheckerTableGUI($this, 'linkChecker'); $tgui->setLinkChecker($this->link_checker_obj)->setRowHandler($this)->setRefreshButton($this->lng->txt('refresh'), 'refreshLinkCheck'); return $tpl->setContent($tgui->prepareHTML()->getHTML() . $toolbar->getHTML()); }
protected function calculateDeletionData($date_for_deletion) { $cron_timing = ilCronManager::getCronJobData($this->getId()); $time_difference = 0; $multiplier = 1; if (!is_array($cron_timing) || !is_array($cron_timing[0])) { return time() + $date_for_deletion + $time_difference; } if (array_key_exists('schedule_type', $cron_timing[0])) { if (array_key_exists('schedule_type', $cron_timing[0]) && $cron_timing[0]['schedule_value'] != null) { $multiplier = $cron_timing[0]['schedule_value']; } $time_difference = $this->getTimeDifferenceBySchedule($cron_timing[0]['schedule_type'], $multiplier); } return time() + $date_for_deletion + $time_difference; }
/** * End tag handler * * @param object internal xml_parser_handler * @param string element tag name */ function handlerEndTag($a_xml_parser, $a_name) { // call special reader if ($this->current_reader != "") { $this->readers[$this->current_reader]["reader"]->handlerEndTag($a_xml_parser, $a_name); } else { // cron if ($a_name == "module" || $a_name == "service") { include_once "Services/Cron/classes/class.ilCronManager.php"; ilCronManager::clearFromXML($this->current_component, (array) $this->has_cron[$this->current_component]); } } // check if a special reader needs to be activated if (isset($this->readers[$a_name])) { $this->current_reader = null; } }