processBacktrace() public static method

Process backtrace to avoid path disclossures, objects and so on
public static processBacktrace ( array $backtrace ) : array
$backtrace array backtrace
return array
 /**
  * Stores query data into session data for debugging purposes
  *
  * @param string         $query  Query text
  * @param object         $link   database link
  * @param object|boolean $result Query result
  * @param integer        $time   Time to execute query
  *
  * @return void
  */
 private function _dbgQuery($query, $link, $result, $time)
 {
     $dbgInfo = array();
     $error_message = $this->getError($link);
     if ($result == false && is_string($error_message)) {
         $dbgInfo['error'] = '<span style="color:red">' . htmlspecialchars($error_message) . '</span>';
     }
     $dbgInfo['query'] = htmlspecialchars($query);
     $dbgInfo['time'] = $time;
     // Get and slightly format backtrace, this is used
     // in the javascript console.
     // Strip call to _dbgQuery
     $dbgInfo['trace'] = Error::processBacktrace(array_slice(debug_backtrace(), 1));
     $dbgInfo['hash'] = md5($query);
     $_SESSION['debug']['queries'][] = $dbgInfo;
 }
Example #2
0
 /**
  * sets PMA\libraries\Error::$_backtrace
  *
  * We don't store full arguments to avoid wakeup or memory problems.
  *
  * @param array $backtrace backtrace
  *
  * @return void
  */
 public function setBacktrace($backtrace)
 {
     $this->backtrace = Error::processBacktrace($backtrace);
 }