Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
hipo_job_generate_report.inc
1 <?php
17 require_once SQ_SYSTEM_ROOT.'/core/hipo/hipo_job.inc';
18 
33 {
34 
35 
41  function HIPO_Job_Generate_Report($code_name='')
42  {
43  $this->HIPO_Job($code_name);
44 
45  }//end constructor
46 
47 
57  public static function paintConfig(&$o, $class, $write_access)
58  {
59  // metadata regeneration threshhold HIPO config entry
60  $o->openField(translate('report_regeneration_threshold'));
61 
62  if ($write_access) {
63  text_box($class.'[SQ_HIPO_REGENERATE_REPORT_THRESHOLD]', SQ_HIPO_REGENERATE_REPORT_THRESHOLD, 5);
64  } else {
65  echo SQ_HIPO_REGENERATE_REPORT_THRESHOLD;
66  }
67  echo ' '.translate('assets');
68 
69  $o->closeField();
70 
71  }//end paintConfig()
72 
73 
80  public static function getConfigVars()
81  {
82  return Array(
83  'SQ_HIPO_REGENERATE_REPORT_THRESHOLD' => Array('editable' => 1, 'default' => 1),
84  );
85 
86  }//end getConfigVars()
87 
88 
98  {
99  if (SQ_HIPO_REGENERATE_REPORT_THRESHOLD == 0) return 0;
100  if (!isset($this->_running_vars['todo'])) return 0;
101  if (!is_array($this->_running_vars['todo'])) return 0;
102  return (((count($this->_running_vars['todo']) + 1) / SQ_HIPO_REGENERATE_REPORT_THRESHOLD) * 100);
103 
104  }//end getThresholdPercentageRequired()
105 
106 
118  function getCodeName()
119  {
120  return parent::getCodeName().'-'.$this->_running_vars['assetid'];
121 
122  }//end getCodeName()
123 
124 
131  function getHipoName()
132  {
133  return translate('hipo_name_generate_report');
134 
135  }//end getHipoName()
136 
137 
146  {
147  return Array(
148  Array(
149  'name' => translate('hipo_generating_report'),
150  'function_call' => Array(
151  'process_function' => 'processReport',
152  ),
153  'running_mode' => 'server',
154  'auto_step' => TRUE,
155  'allow_cancel' => TRUE,
156  'percent_done' => 0,
157  'complete' => FALSE,
158  'message' => '',
159  ),
160  );
161 
162  }//end getInitialStepData()
163 
164 
171  function freestyle()
172  {
173  while (empty($this->_running_vars['complete']) && !empty($this->_running_vars['assetid'])) {
174  if (!$this->processReport($this->_steps[0], get_class_lower($this))) {
175  return FALSE;
176  }
177  }
178  return TRUE;
179 
180  }//end freestyle()
181 
182 
189  function prepare()
190  {
191  if (empty($this->_running_vars['assetid'])) {
192  trigger_localised_error('HIPO0008', E_USER_WARNING);
193  return FALSE;
194  }
195 
196  $asset = $GLOBALS['SQ_SYSTEM']->am->getAsset($this->_running_vars['assetid']);
197  $this->_running_vars['type_code'] = $asset->type();
198  $this->_running_vars['complete'] = FALSE;
199  return parent::prepare();
200 
201  }//end prepare()
202 
203 
215  function processReport(&$step_data, $prefix)
216  {
217  if ($step_data['complete']) {
218  $this->_running_vars['complete'] = TRUE;
219  }
220  $asset = $GLOBALS['SQ_SYSTEM']->am->getAsset($this->_running_vars['assetid'], $this->_running_vars['type_code']);
221  $edit_fns = $asset->getEditFns();
222 
223  return $edit_fns->generateReport($this, $step_data, $prefix);
224 
225  }//end processReport()
226 
227 
228 }//end class
229 
230 ?>