From 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 9 Jan 2020 10:55:03 +0100 Subject: phpmyadmin working --- srcs/phpmyadmin/libraries/classes/Rte/Footer.php | 160 +++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 srcs/phpmyadmin/libraries/classes/Rte/Footer.php (limited to 'srcs/phpmyadmin/libraries/classes/Rte/Footer.php') diff --git a/srcs/phpmyadmin/libraries/classes/Rte/Footer.php b/srcs/phpmyadmin/libraries/classes/Rte/Footer.php new file mode 100644 index 0000000..5181b00 --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Rte/Footer.php @@ -0,0 +1,160 @@ +dbi = $dbi; + $this->words = new Words(); + } + + /** + * Creates a fieldset for adding a new item, if the user has the privileges. + * + * @param string $docu String used to create a link to the MySQL docs + * @param string $priv Privilege to check for adding a new item + * @param string $name MySQL name of the item + * + * @return string An HTML snippet with the link to add a new item + */ + private function getLinks($docu, $priv, $name) + { + global $db, $table, $url_query; + + $icon = mb_strtolower($name) . '_add'; + $retval = ""; + $retval .= "\n"; + $retval .= "
\n"; + $retval .= "" . _pgettext('Create new procedure', 'New') . "\n"; + $retval .= "
\n"; + if (Util::currentUserHasPrivilege($priv, $db, $table)) { + $retval .= ' words->get('add') . "\n"; + } else { + $icon = 'bd_' . $icon; + $retval .= Util::getIcon($icon); + $retval .= $this->words->get('add') . "\n"; + } + $retval .= " " . Util::showMySQLDocu($docu) . "\n"; + $retval .= "
\n"; + $retval .= "
\n"; + $retval .= "\n\n"; + + return $retval; + } + + /** + * Creates a fieldset for adding a new routine, if the user has the privileges. + * + * @return string HTML code with containing the footer fieldset + */ + public function routines() + { + return $this->getLinks('CREATE_PROCEDURE', 'CREATE ROUTINE', 'ROUTINE'); + } + + /** + * Creates a fieldset for adding a new trigger, if the user has the privileges. + * + * @return string HTML code with containing the footer fieldset + */ + public function triggers() + { + return $this->getLinks('CREATE_TRIGGER', 'TRIGGER', 'TRIGGER'); + } + + /** + * Creates a fieldset for adding a new event, if the user has the privileges. + * + * @return string HTML code with containing the footer fieldset + */ + public function events() + { + global $db, $url_query; + + /** + * For events, we show the usual 'Add event' form and also + * a form for toggling the state of the event scheduler + */ + // Init options for the event scheduler toggle functionality + $es_state = $this->dbi->fetchValue( + "SHOW GLOBAL VARIABLES LIKE 'event_scheduler'", + 0, + 1 + ); + $es_state = mb_strtolower($es_state); + $options = [ + 0 => [ + 'label' => __('OFF'), + 'value' => "SET GLOBAL event_scheduler=\"OFF\"", + 'selected' => $es_state != 'on', + ], + 1 => [ + 'label' => __('ON'), + 'value' => "SET GLOBAL event_scheduler=\"ON\"", + 'selected' => $es_state == 'on', + ], + ]; + // Generate output + $retval = "\n"; + $retval .= "
\n"; + // show the usual footer + $retval .= $this->getLinks('CREATE_EVENT', 'EVENT', 'EVENT'); + $retval .= "
\n"; + $retval .= " \n"; + $retval .= " " . __('Event scheduler status') . "\n"; + $retval .= " \n"; + $retval .= "
\n"; + // show the toggle button + $retval .= Util::toggleButton( + "sql.php$url_query&goto=db_events.php" . urlencode("?db=$db"), + 'sql_query', + $options, + 'Functions.slidingMessage(data.sql_query);' + ); + $retval .= "
\n"; + $retval .= "
\n"; + $retval .= "
\n"; + $retval .= "
"; + $retval .= "\n"; + + return $retval; + } +} -- cgit