2007-07-23 15:23:42 +00:00
< ? php
2009-08-29 13:57:50 +00:00
$TABLE = $_GET [ " trigger " ];
2007-07-23 15:23:42 +00:00
$trigger_time = array ( " BEFORE " , " AFTER " );
$trigger_event = array ( " INSERT " , " UPDATE " , " DELETE " );
2007-08-04 19:39:18 +00:00
$dropped = false ;
2007-07-23 15:23:42 +00:00
if ( $_POST && ! $error ) {
2008-09-02 12:39:04 +00:00
if ( strlen ( $_GET [ " name " ])) {
2009-08-29 13:57:50 +00:00
$dropped = query_redirect ( " DROP TRIGGER " . idf_escape ( $_GET [ " name " ]), ME . " table= " . urlencode ( $TABLE ), lang ( 'Trigger has been dropped.' ), $_POST [ " drop " ], ! $_POST [ " dropped " ]);
2007-07-23 15:23:42 +00:00
}
if ( ! $_POST [ " drop " ]) {
2008-09-02 08:42:14 +00:00
if ( in_array ( $_POST [ " Timing " ], $trigger_time ) && in_array ( $_POST [ " Event " ], $trigger_event )) {
2009-08-29 13:57:50 +00:00
query_redirect ( " CREATE TRIGGER " . idf_escape ( $_POST [ " Trigger " ]) . " $_POST[Timing] $_POST[Event] ON " . idf_escape ( $TABLE ) . " FOR EACH ROW \n $_POST[Statement] " , ME . " table= " . urlencode ( $TABLE ), ( strlen ( $_GET [ " name " ]) ? lang ( 'Trigger has been altered.' ) : lang ( 'Trigger has been created.' )));
2007-07-23 15:23:42 +00:00
}
}
}
2009-07-20 12:12:55 +00:00
2009-08-29 13:57:50 +00:00
page_header (( strlen ( $_GET [ " name " ]) ? lang ( 'Alter trigger' ) . " : " . h ( $_GET [ " name " ]) : lang ( 'Create trigger' )), $error , array ( " table " => $TABLE ));
2007-07-23 15:23:42 +00:00
2009-08-29 13:57:50 +00:00
$row = array ( " Trigger " => $TABLE . " _bi " );
2007-07-23 15:23:42 +00:00
if ( $_POST ) {
$row = $_POST ;
} elseif ( strlen ( $_GET [ " name " ])) {
2009-06-22 00:53:51 +00:00
$result = $dbh -> query ( " SHOW TRIGGERS WHERE `Trigger` = " . $dbh -> quote ( $_GET [ " name " ]));
2009-06-21 23:54:47 +00:00
$row = $result -> fetch_assoc ();
2007-07-23 15:23:42 +00:00
}
?>
< form action = " " method = " post " id = " form " >
2009-05-01 10:41:33 +00:00
< table cellspacing = " 0 " >
2009-08-29 13:57:50 +00:00
< tr >< th >< ? php echo lang ( 'Time' ); ?> <td><select name="Timing" onchange="if (/^<?php echo h(preg_quote($TABLE, "/")); ?>_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '<?php echo h(addcslashes($TABLE, "\r\n'\\")); ?>_' + this.value.charAt(0).toLowerCase() + this.form['Event'].value.charAt(0).toLowerCase();"><?php echo optionlist($trigger_time, $row["Timing"]); ?></select>
2009-07-11 20:30:40 +00:00
< tr >< th >< ? php echo lang ( 'Event' ); ?> <td><select name="Event" onchange="this.form['Timing'].onchange();"><?php echo optionlist($trigger_event, $row["Event"]); ?></select>
2009-07-28 16:20:50 +00:00
< tr >< th >< ? php echo lang ( 'Name' ); ?> <td><input name="Trigger" value="<?php echo h($row["Trigger"]); ?>" maxlength="64">
2007-07-23 15:23:42 +00:00
</ table >
2009-07-28 16:20:50 +00:00
< p >< textarea name = " Statement " rows = " 10 " cols = " 80 " style = " width: 98%; " >< ? php echo h ( $row [ " Statement " ]); ?> </textarea>
2007-07-23 15:23:42 +00:00
< p >
2009-07-11 20:30:40 +00:00
< input type = " hidden " name = " token " value = " <?php echo $token ; ?> " >
< ? php if ( $dropped ) { ?> <input type="hidden" name="dropped" value="1"><?php } ?>
< input type = " submit " value = " <?php echo lang('Save'); ?> " >
< ? php if ( strlen ( $_GET [ " name " ])) { ?> <input type="submit" name="drop" value="<?php echo lang('Drop'); ?>"<?php echo $confirm; ?>><?php } ?>
2007-07-23 15:23:42 +00:00
</ form >