diff --git a/libraries/classes/Rte/RteList.php b/libraries/classes/Rte/RteList.php
index 9021dfcd7b..cee6b88c19 100644
--- a/libraries/classes/Rte/RteList.php
+++ b/libraries/classes/Rte/RteList.php
@@ -300,89 +300,22 @@ class RteList
* Creates the contents for a row in the list of triggers
*
* @param array $trigger An array of routine data
- * @param string $rowclass Additional class
+ * @param string $rowClass Additional class
*
* @return string HTML code of a cell for the list of triggers
*/
- public function getTriggerRow(array $trigger, $rowclass = '')
+ public function getTriggerRow(array $trigger, $rowClass = '')
{
- global $db, $table, $titles;
+ global $db, $table;
- $retval = "
\n";
- $retval .= " \n";
- $retval .= ' ';
- $retval .= " \n";
- $retval .= " \n";
- $retval .= " "
- . htmlspecialchars($trigger['drop']) . " \n";
- $retval .= " \n";
- $retval .= ' ' . htmlspecialchars($trigger['name']) . "\n";
- $retval .= " \n";
- $retval .= " \n";
- if (empty($table)) {
- $retval .= " \n";
- $retval .= ''
- . htmlspecialchars($trigger['table']) . ' ';
- $retval .= " \n";
- }
- $retval .= " \n";
- if (Util::currentUserHasPrivilege('TRIGGER', $db, $table)) {
- $retval .= ' ' . $titles['Edit'] . " \n";
- } else {
- $retval .= ' ' . $titles['NoEdit'] . "\n";
- }
- $retval .= " \n";
- $retval .= " \n";
- $retval .= ' ' . $titles['Export'] . " \n";
- $retval .= " \n";
- $retval .= " \n";
- if (Util::currentUserHasPrivilege('TRIGGER', $db)) {
- $retval .= Generator::linkOrButton(
- Url::getFromRoute(
- '/sql',
- [
- 'db' => $db,
- 'table' => $table,
- 'sql_query' => $trigger['drop'],
- 'goto' => Url::getFromRoute('/database/triggers', ['db' => $db]),
- ]
- ),
- $titles['Drop'],
- ['class' => 'ajax drop_anchor']
- );
- } else {
- $retval .= ' ' . $titles['NoDrop'] . "\n";
- }
- $retval .= " \n";
- $retval .= " \n";
- $retval .= ' ' . $trigger['action_timing'] . "\n";
- $retval .= " \n";
- $retval .= " \n";
- $retval .= ' ' . $trigger['event_manipulation'] . "\n";
- $retval .= " \n";
- $retval .= " \n";
-
- return $retval;
+ return $this->template->render('rte/triggers/row', [
+ 'db' => $db,
+ 'table' => $table,
+ 'trigger' => $trigger,
+ 'has_drop_privilege' => Util::currentUserHasPrivilege('TRIGGER', $db),
+ 'has_edit_privilege' => Util::currentUserHasPrivilege('TRIGGER', $db, $table),
+ 'row_class' => $rowClass,
+ ]);
}
/**
diff --git a/templates/rte/triggers/row.twig b/templates/rte/triggers/row.twig
new file mode 100644
index 0000000000..8da7826fc1
--- /dev/null
+++ b/templates/rte/triggers/row.twig
@@ -0,0 +1,60 @@
+
+
+
+
+
+ {{ trigger.drop }}
+ {{ trigger.name }}
+
+ {% if table is empty %}
+
+ {{ trigger.table }}
+
+ {% endif %}
+
+ {% if has_edit_privilege %}
+
+ {{ get_icon('b_edit', 'Edit'|trans) }}
+
+ {% else %}
+ {{ get_icon('bd_edit', 'Edit'|trans) }}
+ {% endif %}
+
+
+
+ {{ get_icon('b_export', 'Export'|trans) }}
+
+
+
+ {% if has_drop_privilege %}
+ {{ link_or_button(
+ url('/sql', {
+ 'db': db,
+ 'table': table,
+ 'sql_query': trigger.drop,
+ 'goto': url('/database/triggers', {'db': db})
+ }),
+ get_icon('b_drop', 'Drop'|trans),
+ {'class': 'ajax drop_anchor'}
+ ) }}
+ {% else %}
+ {{ get_icon('bd_drop', 'Drop'|trans) }}
+ {% endif %}
+
+
+ {{ trigger.action_timing }}
+
+
+ {{ trigger.event_manipulation }}
+
+