connect_error ) { die_500( "Connection failed: " . $mysql -> connect_error ); } function print_important_trace_components($call) { return substr($call['file'], strlen(BASE)+1) . '(' . $call['line'] . ')'; } function mysql_log_duration_and_trace($start) { $start = round((microtime(true) - $start) * 1000000); $trace = debug_backtrace(); array_shift($trace); // silently fail if logfile is unavailable /* if (($fp = fopen(BASE . '/log', 'a')) !== false) { flock($fp, LOCK_EX); fwrite($fp, date('Y-m-d H:i:s') . " " . $start . " " . implode(' ', array_map('print_important_trace_components', $trace)) . " - " . $trace[0]['args'][0] . "\n" ); flock($fp, LOCK_UN); fclose($fp); } */ } function mysql_run_query($query) { global $mysql; $start = microtime(true); if ( ! $result = $mysql -> query($query) ) die_500( "Query failed: " . $mysql -> error ); mysql_log_duration_and_trace($start); return $result; } function mysql_prepare_query($query) { global $mysql; $start = microtime(true); if ( ! $result = $mysql -> prepare($query) ) die_500( "Prepare failed: " . $mysql -> error ); mysql_log_duration_and_trace($start); return $result; } function show_warning_on_offline_slave() { $result = mysql_run_query("SHOW STATUS LIKE \"Slave_running\""); if (($result -> num_rows == 0) || ($result -> fetch_assoc() ["Value"] != "ON")) { print "
The replication slave is currently not running. The database might be outdated.
\n"; } } function mysql_url_encode($input) { return "REPLACE(" . $input . ",\"+\",\"%2B\")"; } function mysql_query_package_version($table) { return "CONCAT(" . "IF(" . "`" .$table . "`.`epoch`=\"0\"," . "\"\"," . "CONCAT(" . "`" . $table . "`.`epoch`," . "\":\"" . ")" . ")," . "`" . $table . "`.`pkgver`,\"-\"," . "`" . $table . "`.`pkgrel`," . "IF(`" . $table . "`.`sub_pkgrel_omitted`," . "\"\"," . "CONCAT(" . "\".\"," . "`" . $table . "`.`sub_pkgrel`" . ")" . ")" . ")"; }