Example #1
0
 public function saveLastRun($ts = 0, $scheduled = FALSE)
 {
     $dao = new CRM_Queryrunner_DAO_Query();
     $dao->id = $this->id;
     $dao->last_run = $this->last_run = $ts ?: time();
     if ($scheduled) {
         $dao->scheduled_run = 0;
     }
     $dao->save();
     return $this->last_run;
 }
 public function __construct()
 {
     $queries = array();
     $dao = new CRM_Queryrunner_DAO_Query();
     $dao->orderBy('name');
     $dao->find();
     while ($dao->fetch()) {
         $temp = array();
         CRM_Core_DAO::storeValues($dao, $temp);
         $queries[$dao->id] = new CRM_Queryrunner_Query($temp);
     }
     $this->queries = $queries;
 }
Example #3
0
 /**
  * Function to delete the query
  *
  * @param $queryID
  *   ID of the query to be deleted.
  *
  * @return bool|null
  */
 public static function del($queryID)
 {
     if (!$queryID) {
         CRM_Core_Error::fatal(ts('Invalid value passed to delete function.'));
     }
     $dao = new CRM_Queryrunner_DAO_Query();
     $dao->id = $queryID;
     if (!$dao->find(TRUE)) {
         return NULL;
     }
     if ($dao->delete()) {
         return TRUE;
     }
 }
 /**
  * Process the form submission.
  *
  *
  * @return void
  */
 public function postProcess()
 {
     CRM_Utils_System::flushCache('CRM_Queryrunner_DAO_Query');
     if ($this->_action & CRM_Core_Action::DELETE) {
         CRM_Queryrunner_BAO_Query::del($this->_id);
         CRM_Core_Session::setStatus("", ts('Query Deleted.'), "success");
         return;
     }
     $values = $this->controller->exportValues($this->_name);
     $ts = strtotime(trim("{$values['scheduled_run_date']} {$values['scheduled_run_date_time']}"));
     $dao = new CRM_Queryrunner_DAO_Query();
     $dao->id = $this->_id;
     $dao->name = $values['name'];
     $dao->machine_name = strtolower(CRM_Utils_String::munge($dao->name, '_', null));
     $dao->description = $values['description'];
     $dao->query = $values['query'];
     $dao->run_frequency = $values['run_frequency'];
     $dao->is_active = CRM_Utils_Array::value('is_active', $values, 0);
     $dao->scheduled_run = $ts ?: 0;
     $dao->save();
 }
Example #5
0
 /**
  * Returns an array containing, for each field, the arary key used for that
  * field in self::$_fields.
  *
  * @return array
  */
 static function &fieldKeys()
 {
     if (!self::$_fieldKeys) {
         self::$_fieldKeys = array('id' => 'id', 'name' => 'name', 'machine_name' => 'machine_name', 'description' => 'description', 'query' => 'query', 'run_frequency' => 'run_frequency', 'last_run' => 'last_run', 'scheduled_run' => 'scheduled_run', 'is_active' => 'is_active');
     }
     return self::$_fieldKeys;
 }