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 ;
2009-10-13 19:33:50 +00:00
if ( $_POST && ! $error && in_array ( $_POST [ " Timing " ], $trigger_time ) && in_array ( $_POST [ " Event " ], $trigger_event )) {
$dropped = drop_create (
2010-04-21 12:01:32 +00:00
" DROP TRIGGER " . idf_escape ( $_GET [ " name " ]) . ( $driver == " pgsql " ? " ON " . idf_escape ( $TABLE ) : " " ),
" CREATE TRIGGER " . idf_escape ( $_POST [ " Trigger " ]) . " $_POST[Timing] $_POST[Event] ON " . idf_escape ( $TABLE ) . " FOR EACH ROW \n $_POST[Statement] " , //! FOR EACH STATEMENT
2009-10-13 19:33:50 +00:00
ME . " table= " . urlencode ( $TABLE ),
lang ( 'Trigger has been dropped.' ),
lang ( 'Trigger has been altered.' ),
lang ( 'Trigger has been created.' ),
$_GET [ " name " ]
);
2007-07-23 15:23:42 +00:00
}
2009-07-20 12:12:55 +00:00
2010-01-09 23:33:41 +00:00
page_header (( $_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 ;
2010-01-09 23:33:41 +00:00
} elseif ( $_GET [ " name " ] != " " ) {
2010-04-21 12:01:32 +00:00
$row = trigger ( $_GET [ " name " ]);
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-12-17 13:22:28 +00:00
< tr >< th >< ? php echo lang ( 'Time' ); ?> <td><?php echo html_select("Timing", $trigger_time, $row["Timing"], "if (/^" . h(preg_quote($TABLE, "/")) . "_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '" . h(addcslashes($TABLE, "\r\n'\\")) . "_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"); ?>
2009-10-02 13:21:34 +00:00
< tr >< th >< ? php echo lang ( 'Event' ); ?> <td><?php echo html_select("Event", $trigger_event, $row["Event"], "this.form['Timing'].onchange();"); ?>
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'); ?> " >
2010-01-09 23:33:41 +00:00
< ? php if ( $_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 >