/** * Returns a readable version of a call in a stack trace (returned by Exception->getTrace()) * * @param Array single call in the call stack * @return string */ public function stringifyCall($call) { $string = "{$this->relativizePath($call['file'])}({$call['line']}): "; if (isset($call['class'])) { $string .= "{$call['class']}{$call['type']}"; } $string .= "{$call['function']}({$this->stringifyParameters($call)})"; return $this->view->h($string); }
/** * Generates a drop down box listing all crypto profiles * * @param integer current crypto profile (or null if no current profile) * @param string element name * @return string */ public function cryptoSelect($cryptoID, $name = 'cryptoID') { $options[0] = 'none'; $cryptos = CryptoModel::getAllProfiles(); foreach ($cryptos as $crypto) { $profileName = $this->view->h($crypto->name); if (!isset($options[$crypto->cryptoID])) { $options[$crypto->cryptoID] = $profileName; } } return $this->view->formSelect($name, $cryptoID, null, $options); }
/** * Generates a drop down box listing all instances that belong to the chosen instance * * @param Array list of all instances to which this user has access * @param integer id of questionnaire that has been selected * @return string */ public function instanceSelect($instances, $questionnaire, $name = 'instance', $instanceID = null) { if ($questionnaire === null) { $options[0] = 'Select a questionnaire'; } else { $options[0] = ' '; foreach ($instances as $instance) { $questionnaireName = $this->view->h($instance->questionnaireName); $instanceName = $this->view->h($instance->instanceName); if ($instance->questionnaireID == $questionnaire) { $options[$instance->instanceID] = $instanceName; } } } return $this->view->formSelect($name, $instanceID, null, $options); }
/** * Return HTML for the remediation info box * * @param ModelQuestionModel * @return string */ public function remediationInfo(ModelQuestionModel $modelQuestion) { $class = 'remediationInfo'; if ($modelQuestion->hasRemediationInfo()) { $class .= ' hasContent'; $content = $this->view->h($modelQuestion->remediationInfo()); $style = ''; $mod = 1; } else { $style = 'display: none;'; $content = 'Enter remediation information here'; $mod = 0; } $remediationInfo = $this->view->formTextarea("response[{$modelQuestion->questionID}][remediationInfo]", $content, array('class' => $class, 'style' => $style)); $remediationInfoMod = $this->view->formHidden("response[{$modelQuestion->questionID}][remediationInfoMod]", $mod); return $remediationInfo . $remediationInfoMod; }
/** * Return HTML for the private notes box * * @param ResponseModel response in queston * @return string */ public function privateNote(ResponseModel $response) { $builder = new Tag_Builder(); $class = 'privateNote'; if ($response->hasPrivateNote()) { $class .= ' hasContent'; $content = $this->view->h($response->privateNote); $style = ''; } else { $style = 'display: none;'; $content = 'Enter private notes here'; } $privNote = "<br/>private notes:<br/>\n"; $privNote .= $this->view->formTextarea("q{$response->parent->questionID}_privateNote", $content, array('class' => $class, 'style' => $style)); $privNote = $builder->span(array('class' => 'privateNote_main', 'style' => $style), $privNote); $privNoteMod = $this->view->formHidden("q{$response->parent->questionID}_privateNote_mod", 0); return $privNote . $privNoteMod; }