/** * Construct the XML * * @access public * @since 1.0 */ public function constructXML() { $this->_xmlToolBox->startTag("Session"); $params = $this->_session->getParams(); uksort($params,"strnatcasecmp"); $this->_xmlToolBox->startTag("params"); foreach($params as $key => $value) { $type = "string"; if (empty($value)) $value = "null"; if (is_object($value)) { $value = str_replace("\t"," ", SLS_String::printObject(json_encode($value))); $type = "object"; } else if (is_array($value)) { $value = str_replace("\t"," ", SLS_String::printArray($value)); $type = "array"; } $this->_xmlToolBox->startTag("param", array("type" => $type)); $this->_xmlToolBox->addFullTag("name",$key,true); $this->_xmlToolBox->addFullTag("value",$value,true); $this->_xmlToolBox->endTag("param"); } $this->_xmlToolBox->endTag("params"); $this->_xmlToolBox->endTag("Session"); }
/** * Get trace infos * * @access public static * @param array $traceElt associative array contained trace informations recovered by the raise of the exception * @param bool $html if we want a HTML render (version dev) * @return string $trace trace infos shaped (html ou plain) * @since 1.0 */ public static function getTraceInfo($traceElt,$html=false) { $info = $traceElt['class'] . $traceElt['type'] . $traceElt['function']; $info .= '('; if ($traceElt['args']) { for ($i = 0; $i < count($traceElt['args']); $i++) { $arg = $traceElt['args'][$i]; if ($html) { if (is_array($arg)) $info .= '<a href="#" onclick="return false;" class="tooltip" title="'.gettype($arg).'" rel="<pre name=\'highlight_'.uniqid().'\' class=\'brush:php\'>'.SLS_String::printArray($arg).'</pre>">'.gettype($arg).'</a>'; else if (is_object($arg)) $info .= '<a href="#" onclick="return false;" class="tooltip" title="'.get_class($arg).'" rel="<pre name=\'highlight_'.uniqid().'\' class=\'brush:js\'>'.SLS_String::printObject(str_replace(array('"',':'),array("'",': '),json_encode($arg))).'</pre>">'.gettype($arg).'</a>'; else { if (is_string($arg) && (SLS_String::startsWith(trim(strtolower($arg)),"select") || SLS_String::startsWith(trim(strtolower($arg)),"update") || SLS_String::startsWith(trim(strtolower($arg)),"insert") || SLS_String::startsWith(trim(strtolower(arg)),"delete"))) $info .= '<a href="#" onclick="return false;" class="tooltip" title="'.gettype($arg).'" rel="<pre name=\'highlight_'.uniqid().'\' class=\'brush:sql\'>'.(is_string($arg) ? trim($arg) : $arg).'</pre>">'.gettype($arg).'</a>'; else $info .= '<a href="#" onclick="return false;" class="tooltip" title="'.gettype($arg).'" rel="<pre name=\'highlight_'.uniqid().'\' class=\'brush:php\'>"'.(is_string($arg) ? trim($arg) : $arg).'"</pre>">'.gettype($arg).'</a>'; } } else $info .= is_object($arg) ? get_class($arg) : ''.gettype($arg).''; if ($i < count($traceElt['args']) - 1) $info .= ', '; } } $info .= ')'; return $info; }