2007-07-23 15:23:42 +00:00
|
|
|
<?php
|
2009-08-29 13:57:50 +00:00
|
|
|
$TABLE = $_GET["trigger"];
|
2010-04-22 15:53:42 +00:00
|
|
|
$trigger_options = trigger_options();
|
2007-07-23 15:23:42 +00:00
|
|
|
$trigger_event = array("INSERT", "UPDATE", "DELETE");
|
|
|
|
|
2007-08-04 19:39:18 +00:00
|
|
|
$dropped = false;
|
2010-04-22 15:53:42 +00:00
|
|
|
if ($_POST && !$error && in_array($_POST["Timing"], $trigger_options["Timing"]) && in_array($_POST["Event"], $trigger_event) && in_array($_POST["Type"], $trigger_options["Type"])) {
|
|
|
|
$timing_event = " $_POST[Timing] $_POST[Event]";
|
2010-05-11 14:45:04 +00:00
|
|
|
$on = " ON " . table($TABLE);
|
2009-10-13 19:33:50 +00:00
|
|
|
$dropped = drop_create(
|
2010-05-11 14:45:04 +00:00
|
|
|
"DROP TRIGGER " . idf_escape($_GET["name"]) . ($jush == "pgsql" ? $on : ""),
|
2010-05-07 13:44:22 +00:00
|
|
|
"CREATE TRIGGER " . idf_escape($_POST["Trigger"]) . ($jush == "mssql" ? $on . $timing_event : $timing_event . $on) . " $_POST[Type]\n$_POST[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">
|
2010-04-22 15:53:42 +00:00
|
|
|
<tr><th><?php echo lang('Time'); ?><td><?php echo html_select("Timing", $trigger_options["Timing"], $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();"); ?>
|
2010-04-22 15:53:42 +00:00
|
|
|
<tr><th><?php echo lang('Type'); ?><td><?php echo html_select("Type", $trigger_options["Type"], $row["Type"]); ?>
|
2007-07-23 15:23:42 +00:00
|
|
|
</table>
|
2010-10-11 19:10:58 +00:00
|
|
|
<p><?php echo lang('Name'); ?>: <input name="Trigger" value="<?php echo h($row["Trigger"]); ?>" maxlength="64">
|
2010-04-26 16:22:24 +00:00
|
|
|
<p><?php textarea("Statement", $row["Statement"]); ?>
|
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>
|