New debug page: ?/debug/sql
This commit is contained in:
parent
764d718f84
commit
9a2c33736a
@ -1010,6 +1010,9 @@
|
|||||||
// Edit the current configuration (via web interface)
|
// Edit the current configuration (via web interface)
|
||||||
$config['mod']['edit_config'] = ADMIN;
|
$config['mod']['edit_config'] = ADMIN;
|
||||||
|
|
||||||
|
// Execute un-filtered SQL queries on the database (?/debug/sql)
|
||||||
|
$config['mod']['debug_sql'] = DISABLED;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ====================
|
* ====================
|
||||||
* Events (PHP 5.3.0+)
|
* Events (PHP 5.3.0+)
|
||||||
|
@ -1922,3 +1922,27 @@ function mod_debug_recent_posts() {
|
|||||||
mod_page(_('Debug: Recent posts'), 'mod/debug/recent_posts.html', array('posts' => $posts));
|
mod_page(_('Debug: Recent posts'), 'mod/debug/recent_posts.html', array('posts' => $posts));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mod_debug_sql() {
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
if (!hasPermission($config['mod']['debug_sql']))
|
||||||
|
error($config['error']['noaccess']);
|
||||||
|
|
||||||
|
$args['security_token'] = make_secure_link_token('debug/sql');
|
||||||
|
|
||||||
|
if (isset($_POST['query'])) {
|
||||||
|
$args['query'] = $_POST['query'];
|
||||||
|
if ($query = query($_POST['query'])) {
|
||||||
|
$args['result'] = $query->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
if (!empty($args['result']))
|
||||||
|
$args['keys'] = array_keys($args['result'][0]);
|
||||||
|
else
|
||||||
|
$args['result'] = 'empty';
|
||||||
|
} else {
|
||||||
|
$args['error'] = db_error();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mod_page(_('Debug: SQL'), 'mod/debug/sql.html', $args);
|
||||||
|
}
|
||||||
|
|
||||||
|
26
templates/mod/debug/sql.html
Normal file
26
templates/mod/debug/sql.html
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<form action="" method="post">
|
||||||
|
<input type="hidden" name="token" value="{{ security_token }}">
|
||||||
|
<textarea style="display:block;margin:5px auto;width:90%;max-width:600px" rows="3" name="query">{{ query | e }}</textarea>
|
||||||
|
<input style="display:block;margin:5px auto" type="submit" value="Query">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
{% if result == 'empty' %}
|
||||||
|
<p style="text-align:center">Query successful (no result).</p>
|
||||||
|
{% elseif result %}
|
||||||
|
<table class="modlog">
|
||||||
|
<tr>
|
||||||
|
{% for key in keys %}
|
||||||
|
<th>{{ key }}</th>
|
||||||
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
{% for row in result %}
|
||||||
|
<tr>
|
||||||
|
{% for col in row %}
|
||||||
|
<td>{{ col }}</td>
|
||||||
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
{% elseif error %}
|
||||||
|
<p style="text-align:center;color:#d00">{{ error }}</p>
|
||||||
|
{% endif %}
|
Loading…
Reference in New Issue
Block a user