/**
  * @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);
 }