/** * @param string $message */ public function logEntry($message) { $domainID = CRM_Core_Config::domainID(); $dao = new CRM_Core_DAO_JobLog(); $dao->domain_id = $domainID; $dao->description = substr($message, 0, 235); if (strlen($message) > 235) { $dao->description .= " (...)"; } if ($this->currentJob) { $dao->job_id = $this->currentJob->id; $dao->name = $this->currentJob->name; $dao->command = ts("Entity:") . " " . $this->currentJob->api_entity . " " . ts("Action:") . " " . $this->currentJob->api_action; $data = ""; if (!empty($this->currentJob->parameters)) { $data .= "\n\nParameters raw (from db settings): \n" . $this->currentJob->parameters; } $singleRunParamsKey = strtolower($this->currentJob->api_entity . '_' . $this->currentJob->api_action); if (array_key_exists($singleRunParamsKey, $this->singleRunParams)) { $data .= "\n\nParameters raw (" . $this->_source . "): \n" . serialize($this->singleRunParams[$singleRunParamsKey]); $data .= "\n\nParameters parsed (and passed to API method): \n" . serialize($this->singleRunParams[$singleRunParamsKey]); } else { $data .= "\n\nParameters parsed (and passed to API method): \n" . serialize($this->currentJob->apiParams); } $data .= "\n\nFull message: \n" . $message; $dao->data = $data; } $dao->save(); }
/** * Returns the list of fields that can be exported * * @param bool $prefix * * @return array */ static function &export($prefix = false) { if (!self::$_export) { self::$_export = array(); $fields = self::fields(); foreach ($fields as $name => $field) { if (CRM_Utils_Array::value('export', $field)) { if ($prefix) { self::$_export['job_log'] =& $fields[$name]; } else { self::$_export[$name] =& $fields[$name]; } } } } return self::$_export; }
/** * Browse all jobs. * * @param null $action * * @return void * @access public * @static */ function browse($action = NULL) { $jid = CRM_Utils_Request::retrieve('jid', 'Positive', $this); $sj = new CRM_Core_JobManager(); $jobName = NULL; if ($jid) { $jobName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Job', $jid); } $this->assign('jobName', $jobName); $dao = new CRM_Core_DAO_JobLog(); $dao->orderBy('id desc'); // limit to last 1000 records $dao->limit(1000); if ($jid) { $dao->job_id = $jid; } $dao->find(); $rows = array(); while ($dao->fetch()) { unset($row); CRM_Core_DAO::storeValues($dao, $row); $rows[$dao->id] = $row; } $this->assign('rows', $rows); $this->assign('jobId', $jid); }
/** * Browse all jobs. * * @return void * @access public * @static */ function browse($action = NULL) { $jid = CRM_Utils_Request::retrieve('jid', 'Positive', $this); $sj = new CRM_Core_JobManager(); $jobName = NULL; foreach ($sj->jobs as $i => $job) { if ($job->id == $jid) { $jobName = $job->name; } } $this->assign('jobName', $jobName); $dao = new CRM_Core_DAO_JobLog(); $dao->orderBy('id desc'); if ($jobName) { $dao->job_id = $jid; } $dao->find(); $rows = array(); while ($dao->fetch()) { unset($row); CRM_Core_DAO::storeValues($dao, $row); $rows[$dao->id] = $row; } $this->assign('rows', $rows); $this->assign('jobId', $jid); }