Conditional Ajax for db Structure and Tracking
[phpmyadmin-themes.git] / libraries / db_events.inc.php
blob6e93299ac0d662d38b3d0d84d463da9bcdeaf915
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
5 * @package phpMyAdmin
6 */
7 if (! defined('PHPMYADMIN')) {
8 exit;
11 $events = PMA_DBI_fetch_result('SELECT EVENT_NAME, EVENT_TYPE FROM information_schema.EVENTS WHERE EVENT_SCHEMA= \'' . PMA_sqlAddslashes($db,true) . '\';');
13 if ($events) {
14 PMA_generate_slider_effect('events', __('Events'));
15 echo '<fieldset>' . "\n";
16 echo ' <legend>' . __('Events') . '</legend>' . "\n";
17 echo '<table border="0">';
18 echo sprintf('<tr>
19 <th>%s</th>
20 <th>&nbsp;</th>
21 <th>&nbsp;</th>
22 <th>%s</th>
23 </tr>',
24 __('Name'),
25 __('Type'));
26 $ct=0;
27 $delimiter = '//';
28 if ($GLOBALS['cfg']['AjaxEnable']) {
29 $conditional_class = 'class="drop_event_anchor"';
30 } else {
31 $conditional_class = '';
33 foreach ($events as $event) {
35 // information_schema (at least in MySQL 5.1.22) does not return
36 // the full CREATE EVENT statement in a way that could be useful for us
37 // so we rely on PMA_DBI_get_definition() which uses SHOW CREATE EVENT
39 $definition = 'DROP EVENT ' . PMA_backquote($event['EVENT_NAME']) . $delimiter . "\n"
40 . PMA_DBI_get_definition($db, 'EVENT', $event['EVENT_NAME'])
41 . "\n";
43 $sqlDrop = 'DROP EVENT ' . PMA_backquote($event['EVENT_NAME']);
44 echo sprintf('<tr class="%s">
45 <td><strong>%s</strong></td>
46 <td>%s</td>
47 <td>%s</td>
48 <td>%s</td>
49 </tr>',
50 ($ct%2 == 0) ? 'even' : 'odd',
51 $event['EVENT_NAME'],
52 ! empty($definition) ? PMA_linkOrButton('db_sql.php?' . $url_query . '&amp;sql_query=' . urlencode($definition) . '&amp;show_query=1&amp;db_query_force=1&amp;delimiter=' . urlencode($delimiter), $titles['Structure']) : '&nbsp;',
53 '<a ' . $conditional_class . ' href="sql.php?' . $url_query . '&amp;sql_query=' . urlencode($sqlDrop) . '" >' . $titles['Drop'] . '</a>',
54 $event['EVENT_TYPE']);
55 $ct++;
57 echo '</table>';
58 echo '</fieldset>' . "\n";
59 echo '</div>' . "\n";