\n";
$retval .= "\n";
$retval .= " | " . __('Trigger name') . " | \n";
$retval .= " \n";
$retval .= " | \n";
$retval .= " \n";
$retval .= " | \n";
$retval .= "
\n";
$retval .= "\n";
$retval .= " | " . _pgettext('Trigger action time', 'Time') . " | \n";
$retval .= " | \n";
$retval .= "
\n";
$retval .= "\n";
$retval .= " | " . __('Event') . " | \n";
$retval .= " | \n";
$retval .= "
\n";
$retval .= "\n";
$retval .= " | " . __('Definition') . " | \n";
$retval .= " | \n";
$retval .= "
\n";
$retval .= "\n";
$retval .= " | " . __('Definer') . " | \n";
$retval .= " isAjax()) {
$retval .= "\n";
$retval .= "\n";
}
$retval .= "\n\n";
$retval .= "\n\n";
return $retval;
} // end self::getEditorForm()
/**
* Composes the query necessary to create a trigger from an HTTP request.
*
* @return string The CREATE TRIGGER query.
*/
public static function getQueryFromRequest()
{
global $_REQUEST, $db, $errors, $action_timings, $event_manipulations;
$query = 'CREATE ';
if (! empty($_POST['item_definer'])) {
if (mb_strpos($_POST['item_definer'], '@') !== false
) {
$arr = explode('@', $_POST['item_definer']);
$query .= 'DEFINER=' . Util::backquote($arr[0]);
$query .= '@' . Util::backquote($arr[1]) . ' ';
} else {
$errors[] = __('The definer must be in the "username@hostname" format!');
}
}
$query .= 'TRIGGER ';
if (! empty($_POST['item_name'])) {
$query .= Util::backquote($_POST['item_name']) . ' ';
} else {
$errors[] = __('You must provide a trigger name!');
}
if (! empty($_POST['item_timing'])
&& in_array($_POST['item_timing'], $action_timings)
) {
$query .= $_POST['item_timing'] . ' ';
} else {
$errors[] = __('You must provide a valid timing for the trigger!');
}
if (! empty($_POST['item_event'])
&& in_array($_POST['item_event'], $event_manipulations)
) {
$query .= $_POST['item_event'] . ' ';
} else {
$errors[] = __('You must provide a valid event for the trigger!');
}
$query .= 'ON ';
if (! empty($_POST['item_table'])
&& in_array($_POST['item_table'], $GLOBALS['dbi']->getTables($db))
) {
$query .= Util::backquote($_POST['item_table']);
} else {
$errors[] = __('You must provide a valid table name!');
}
$query .= ' FOR EACH ROW ';
if (! empty($_POST['item_definition'])) {
$query .= $_POST['item_definition'];
} else {
$errors[] = __('You must provide a trigger definition.');
}
return $query;
} // end self::getQueryFromRequest()
}
|