From b1a6a5a3991cec5cd08873b01376e45d0b247f18 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Nov 2013 09:05:33 -0500
Subject: [PATCH] Cleaning up code to match coding guidelines
---
server/lib/classes/cronjob.inc.php | 246 +++++++++++++++++++++++++------------------------
1 files changed, 125 insertions(+), 121 deletions(-)
diff --git a/server/lib/classes/cronjob.inc.php b/server/lib/classes/cronjob.inc.php
index 6513654..7fe90c2 100644
--- a/server/lib/classes/cronjob.inc.php
+++ b/server/lib/classes/cronjob.inc.php
@@ -29,129 +29,133 @@
*/
class cronjob {
-
- // default is every 5 minutes
- protected $_schedule = '*/5 * * * *';
-
- // may a run be skipped?
- protected $_no_skip = false;
-
- // if true, this job is run when it is first recognized. If false, the next run is calculated from schedule on first run.
- protected $_run_at_new = false;
-
- protected $_last_run = null;
- protected $_next_run = null;
- private $_running = false;
-
- /** return schedule */
- public function getSchedule() {
- return $this->_schedule;
- }
-
- /** run through cronjob sequence **/
- public function run() {
-
- print "Called run() for class " . get_class($this) . "\n";
- print "Job has schedule: " . $this->_schedule . "\n";
- $this->onPrepare();
- $run_it = $this->onBeforeRun();
- if($run_it == true) {
- $this->onRunJob();
- $this->onAfterRun();
- }
- $this->onCompleted();
-
- return;
- }
-
- /* this function prepares some data for the job and sets next run time if first executed */
- protected function onPrepare() {
- global $app;
-
- print "Called onPrepare() for class " . get_class($this) . "\n";
- // check the run time and values for this job
- // get previous run data
- $data = $app->db->queryOneRecord("SELECT `last_run`, `next_run`, `running` FROM `sys_cron` WHERE `name` = '" . $app->db->quote(get_class($this)) . "'");
- if($data) {
- if($data['last_run']) $this->_last_run = $data['last_run'];
- if($data['next_run']) $this->_next_run = $data['next_run'];
- if($data['running'] == 1) $this->_running = true;
- }
- if(!$this->_next_run) {
- if($this->_run_at_new == true) {
- $this->_next_run = ISPConfigDateTime::dbtime(); // run now.
- } else {
- $app->cron->parseCronLine($this->_schedule);
- $next_run = $app->cron->getNextRun(ISPConfigDateTime::dbtime());
- $this->_next_run = $next_run;
-
- $app->db->query("REPLACE INTO `sys_cron` (`name`, `last_run`, `next_run`, `running`) VALUES ('" . $app->db->quote(get_class($this)) . "', " . ($this->_last_run ? "'" . $app->db->quote($this->_last_run) . "'" : "NULL") . ", " . ($next_run === false ? "NULL" : "'" . $app->db->quote($next_run) . "'") . ", " . ($this->_running == true ? "1" : "0") . ")");
- }
- }
- }
-
- /* this function checks if a cron job's next runtime is reached and returns true or false */
- protected function onBeforeRun() {
- global $app;
-
- print "Called onBeforeRun() for class " . get_class($this) . "\n";
-
- if($this->_running == true) return false; // job is still marked as running!
-
- print "Jobs next run is " . $this->_next_run . "\n";
- $reached = ISPConfigDateTime::compare($this->_next_run, ISPConfigDateTime::dbtime());
- print "Date compare of " . ISPConfigDateTime::to_timestamp($this->_next_run) . " and " . ISPConfigDateTime::dbtime() . " is " . $reached . "\n";
- if($reached === false) return false; // error!
-
- if($reached === -1) {
- // next_run time not reached
- return false;
- }
-
- // next_run time reached (reached === 0 or -1)
-
- // calculare next run time based on last_run or current time
- $app->cron->parseCronLine($this->_schedule);
- if($this->_no_skip == true) {
- // we need to calculare the next run based on the previous next_run, as we may not skip one.
- $next_run = $app->cron->getNextRun($this->_next_run);
- if($next_run === false) {
- // we could not calculate next run, try it with current time
- $next_run = $app->cron->getNextRun(ISPConfigDateTime::dbtime());
- }
- } else {
- // calculate next run based on current time
- $next_run = $app->cron->getNextRun(ISPConfigDateTime::dbtime());
- }
-
- print "Jobs next run is now " . $next_run . "\n";
-
- $app->db->query("REPLACE INTO `sys_cron` (`name`, `last_run`, `next_run`, `running`) VALUES ('" . $app->db->quote(get_class($this)) . "', NOW(), " . ($next_run === false ? "NULL" : "'" . $app->db->quote($next_run) . "'") . ", 1)");
- return true;
- }
-
- // child classes should override this!
- protected function onRunJob() {
- global $app;
-
- print "Called onRun() for class " . get_class($this) . "\n";
- }
-
- // child classes may override this!
- protected function onAfterRun() {
- global $app;
-
- print "Called onAfterRun() for class " . get_class($this) . "\n";
- }
+ // default is every 5 minutes
+ protected $_schedule = '*/5 * * * *';
- // child classes may NOT override this!
- private function onCompleted() {
- global $app;
-
- print "Called onCompleted() for class " . get_class($this) . "\n";
- $app->db->query("UPDATE `sys_cron` SET `running` = 0 WHERE `name` = '" . $app->db->quote(get_class($this)) . "'");
- }
+ // may a run be skipped?
+ protected $_no_skip = false;
+
+ // if true, this job is run when it is first recognized. If false, the next run is calculated from schedule on first run.
+ protected $_run_at_new = false;
+
+ protected $_last_run = null;
+ protected $_next_run = null;
+ private $_running = false;
+
+ /** return schedule */
+
+
+ public function getSchedule() {
+ return $this->_schedule;
+ }
+
+
+
+ /** run through cronjob sequence **/
+ public function run() {
+
+ print "Called run() for class " . get_class($this) . "\n";
+ print "Job has schedule: " . $this->_schedule . "\n";
+ $this->onPrepare();
+ $run_it = $this->onBeforeRun();
+ if($run_it == true) {
+ $this->onRunJob();
+ $this->onAfterRun();
+ }
+ $this->onCompleted();
+
+ return;
+ }
+
+ /* this function prepares some data for the job and sets next run time if first executed */
+ protected function onPrepare() {
+ global $app;
+
+ print "Called onPrepare() for class " . get_class($this) . "\n";
+ // check the run time and values for this job
+
+ // get previous run data
+ $data = $app->db->queryOneRecord("SELECT `last_run`, `next_run`, `running` FROM `sys_cron` WHERE `name` = '" . $app->db->quote(get_class($this)) . "'");
+ if($data) {
+ if($data['last_run']) $this->_last_run = $data['last_run'];
+ if($data['next_run']) $this->_next_run = $data['next_run'];
+ if($data['running'] == 1) $this->_running = true;
+ }
+ if(!$this->_next_run) {
+ if($this->_run_at_new == true) {
+ $this->_next_run = ISPConfigDateTime::dbtime(); // run now.
+ } else {
+ $app->cron->parseCronLine($this->_schedule);
+ $next_run = $app->cron->getNextRun(ISPConfigDateTime::dbtime());
+ $this->_next_run = $next_run;
+
+ $app->db->query("REPLACE INTO `sys_cron` (`name`, `last_run`, `next_run`, `running`) VALUES ('" . $app->db->quote(get_class($this)) . "', " . ($this->_last_run ? "'" . $app->db->quote($this->_last_run) . "'" : "NULL") . ", " . ($next_run === false ? "NULL" : "'" . $app->db->quote($next_run) . "'") . ", " . ($this->_running == true ? "1" : "0") . ")");
+ }
+ }
+ }
+
+ /* this function checks if a cron job's next runtime is reached and returns true or false */
+ protected function onBeforeRun() {
+ global $app;
+
+ print "Called onBeforeRun() for class " . get_class($this) . "\n";
+
+ if($this->_running == true) return false; // job is still marked as running!
+
+ print "Jobs next run is " . $this->_next_run . "\n";
+ $reached = ISPConfigDateTime::compare($this->_next_run, ISPConfigDateTime::dbtime());
+ print "Date compare of " . ISPConfigDateTime::to_timestamp($this->_next_run) . " and " . ISPConfigDateTime::dbtime() . " is " . $reached . "\n";
+ if($reached === false) return false; // error!
+
+ if($reached === -1) {
+ // next_run time not reached
+ return false;
+ }
+
+ // next_run time reached (reached === 0 or -1)
+
+ // calculare next run time based on last_run or current time
+ $app->cron->parseCronLine($this->_schedule);
+ if($this->_no_skip == true) {
+ // we need to calculare the next run based on the previous next_run, as we may not skip one.
+ $next_run = $app->cron->getNextRun($this->_next_run);
+ if($next_run === false) {
+ // we could not calculate next run, try it with current time
+ $next_run = $app->cron->getNextRun(ISPConfigDateTime::dbtime());
+ }
+ } else {
+ // calculate next run based on current time
+ $next_run = $app->cron->getNextRun(ISPConfigDateTime::dbtime());
+ }
+
+ print "Jobs next run is now " . $next_run . "\n";
+
+ $app->db->query("REPLACE INTO `sys_cron` (`name`, `last_run`, `next_run`, `running`) VALUES ('" . $app->db->quote(get_class($this)) . "', NOW(), " . ($next_run === false ? "NULL" : "'" . $app->db->quote($next_run) . "'") . ", 1)");
+ return true;
+ }
+
+ // child classes should override this!
+ protected function onRunJob() {
+ global $app;
+
+ print "Called onRun() for class " . get_class($this) . "\n";
+ }
+
+ // child classes may override this!
+ protected function onAfterRun() {
+ global $app;
+
+ print "Called onAfterRun() for class " . get_class($this) . "\n";
+ }
+
+ // child classes may NOT override this!
+ private function onCompleted() {
+ global $app;
+
+ print "Called onCompleted() for class " . get_class($this) . "\n";
+ $app->db->query("UPDATE `sys_cron` SET `running` = 0 WHERE `name` = '" . $app->db->quote(get_class($this)) . "'");
+ }
}
--
Gitblit v1.9.1