Open Journal Systems  3.3.0
ScheduledTaskDAO.inc.php
1 <?php
2 
24 import('lib.pkp.classes.scheduledTask.ScheduledTask');
25 
26 class ScheduledTaskDAO extends DAO {
27 
33  function getLastRunTime($className) {
34  $result = $this->retrieve(
35  'SELECT last_run FROM scheduled_tasks WHERE class_name = ?',
36  array($className)
37  );
38 
39  if ($result->RecordCount() == 0) {
40  $returner = 0;
41  } else {
42  $returner = strtotime($this->datetimeFromDB($result->fields[0]));
43  }
44 
45  $result->Close();
46  return $returner;
47  }
48 
55  function updateLastRunTime($className, $timestamp = null) {
56  $result = $this->retrieve(
57  'SELECT COUNT(*) FROM scheduled_tasks WHERE class_name = ?',
58  array($className)
59  );
60 
61  if (isset($result->fields[0]) && $result->fields[0] != 0) {
62  if (isset($timestamp)) {
63  $this->update(
64  'UPDATE scheduled_tasks SET last_run = ' . $this->datetimeToDB($timestamp) . ' WHERE class_name = ?',
65  array($className)
66  );
67  } else {
68  $this->update(
69  'UPDATE scheduled_tasks SET last_run = NOW() WHERE class_name = ?',
70  array($className)
71  );
72  }
73 
74  } else {
75  if (isset($timestamp)) {
76  $this->update(
77  sprintf('INSERT INTO scheduled_tasks (class_name, last_run)
78  VALUES (?, %s)', $this->datetimeToDB($timestamp)),
79  array($className)
80  );
81  } else {
82  $this->update(
83  'INSERT INTO scheduled_tasks (class_name, last_run)
84  VALUES (?, NOW())',
85  array($className)
86  );
87  }
88  }
89 
90  $result->Close();
91  return $this->getAffectedRows();
92  }
93 }
94 
95 
DAO\getAffectedRows
getAffectedRows()
Definition: DAO.inc.php:264
DAO\retrieve
& retrieve($sql, $params=false, $callHooks=true)
Definition: DAO.inc.php:85
ScheduledTaskDAO\getLastRunTime
getLastRunTime($className)
Definition: ScheduledTaskDAO.inc.php:33
ScheduledTaskDAO
Operations for retrieving and modifying Scheduled Task data.
Definition: ScheduledTaskDAO.inc.php:26
DAO\datetimeFromDB
datetimeFromDB($dt)
Definition: DAO.inc.php:319
ScheduledTaskDAO\updateLastRunTime
updateLastRunTime($className, $timestamp=null)
Definition: ScheduledTaskDAO.inc.php:55
DAO\update
update($sql, $params=false, $callHooks=true, $dieOnError=true)
Definition: DAO.inc.php:214
DAO\datetimeToDB
datetimeToDB($dt)
Definition: DAO.inc.php:299
DAO
Operations for retrieving and modifying objects from a database.
Definition: DAO.inc.php:31