/**
 * Show PHP-Fusion Performance
 * @param bool $queries
 * @return string
 */
function showrendertime($queries = TRUE)
{
    global $mysql_queries_count;
    $locale = array();
    include LOCALE . LOCALESET . "global.php";
    $db = DatabaseFactory::getConnection();
    if ($db) {
        $mysql_queries_count = $db->getGlobalQueryCount();
    }
    if (fusion_get_settings('rendertime_enabled') == 1 || fusion_get_settings('rendertime_enabled') == 2 && iADMIN) {
        $render_time = substr(microtime(TRUE) - START_TIME, 0, 7);
        $_SESSION['performance'][] = $render_time;
        if (count($_SESSION['performance']) > 5) {
            array_shift($_SESSION['performance']);
        }
        $average_speed = $render_time;
        $diff = 0;
        if (isset($_SESSION['performance'])) {
            $average_speed = substr(array_sum($_SESSION['performance']) / count($_SESSION['performance']), 0, 7);
            $previous_render = array_values(array_slice($_SESSION['performance'], -2, 1, TRUE));
            $diff = $render_time - (!empty($previous_render) ? $previous_render[0] : 0);
        }
        $res = sprintf($locale['global_172'], $render_time) . " | " . sprintf($locale['global_175'], $average_speed . " ({$diff})");
        $res .= $queries ? " | " . ucfirst($locale['global_173']) . ": {$mysql_queries_count}" : "";
        return $res;
    } else {
        return "";
    }
}
function setError($error_level, $error_message, $error_file, $error_line, $error_context)
{
    global $userdata, $_errorHandler;
    $showError = TRUE;
    $db = DatabaseFactory::getConnection();
    $result = $db->query("SELECT error_id, error_status FROM " . DB_ERRORS . "\n\t\tWHERE error_message = :message AND error_file = :file AND error_line = :line AND error_status != '1'\n\t\tORDER BY error_timestamp DESC LIMIT 1", array(':message' => $error_message, ':file' => $error_file, ':line' => $error_line));
    if ($db->countRows($result) == 0) {
        $db->query("INSERT INTO " . DB_ERRORS . " (\n\t\t\t\terror_level, error_message, error_file, error_line, error_page,\n\t\t\t\terror_user_level, error_user_ip, error_user_ip_type, error_status, error_timestamp\n\t\t\t) VALUES (\n\t\t\t\t:level, :message, :file, :line,\n\t\t\t\t'" . TRUE_PHP_SELF . "', '" . $userdata['user_level'] . "', '" . USER_IP . "', '" . USER_IP_TYPE . "',\n\t\t\t\t'0', '" . time() . "'\n\t\t\t)", array(':level' => $error_level, ':message' => $error_message, ':file' => $error_file, ':line' => $error_line));
        $errorId = $db->getLastId();
    } else {
        $data = $db->fetchAssoc($result);
        $errorId = $data['error_id'];
        if ($data['error_status'] == 2) {
            $showError = FALSE;
        }
    }
    if ($showError) {
        $_errorHandler[] = array("id" => $errorId, "level" => $error_level, "file" => $error_file, "line" => $error_line);
    }
}
Example #3
0
 /**
  * Custom error handler for PHP processor
  * @param $error_level
  * @param $error_message
  * @param $error_file
  * @param $error_line
  * @param $error_context
  */
 public function setError($error_level, $error_message, $error_file, $error_line, $error_context)
 {
     global $userdata;
     $showLiveError = TRUE;
     // directly show error - push to another instance
     $data = array();
     $db = DatabaseFactory::getConnection();
     $result = $db->query("SELECT error_id, error_status FROM " . DB_ERRORS . "\n            WHERE error_message = :message AND error_file = :file AND error_line = :line AND error_status != '1' AND error_page = :page\n            ORDER BY error_timestamp DESC LIMIT 1", array(':message' => $error_message, ':file' => $error_file, ':page' => FUSION_REQUEST, ':line' => $error_line));
     if ($db->countRows($result) == 0) {
         $db->query("INSERT INTO " . DB_ERRORS . " (\n\t\t\t\terror_level, error_message, error_file, error_line, error_page,\n\t\t\t\terror_user_level, error_user_ip, error_user_ip_type, error_status, error_timestamp\n\t\t\t) VALUES (\n\t\t\t\t:level, :message, :file, :line, :page,\n\t\t\t\t'" . $userdata['user_level'] . "', '" . USER_IP . "', '" . USER_IP_TYPE . "',\n\t\t\t\t'0', '" . time() . "'\n\t\t\t)", array(':level' => $error_level, ':message' => $error_message, ':file' => $error_file, ':page' => FUSION_REQUEST, ':line' => $error_line));
         $errorId = $db->getLastId();
     } else {
         $data = $db->fetchAssoc($result);
         $errorId = $data['error_id'];
         if ($data['error_status'] == 2) {
             $showLiveError = FALSE;
         }
     }
     if ($showLiveError) {
         $this->new_errors[$errorId] = array("error_id" => $errorId, "error_level" => $error_level, "error_file" => $error_file, "error_line" => $error_line, "error_page" => FUSION_REQUEST, "error_message" => $error_message, "error_timestamp" => time(), "error_status" => 0);
     }
 }
/**
 * Get the AbstractDatabase instance
 *
 * @return AbstractDatabaseDriver
 */
function dbconnection()
{
    return DatabaseFactory::getConnection('default');
}