Server IP : 85.214.239.14 / Your IP : 18.225.195.163 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/phpMyAdmin/libraries/classes/Rte/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Common functions for generating the footer for Routines, Triggers and Events. * * @package PhpMyAdmin */ declare(strict_types=1); namespace PhpMyAdmin\Rte; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Util; /** * PhpMyAdmin\Rte\Footer class * * @package PhpMyAdmin */ class Footer { /** * @var Words */ private $words; /** * @var DatabaseInterface */ private $dbi; /** * Footer constructor. * * @param DatabaseInterface $dbi DatabaseInterface object */ public function __construct(DatabaseInterface $dbi) { $this->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 .= "<!-- ADD " . $name . " FORM START -->\n"; $retval .= "<fieldset class='left'>\n"; $retval .= "<legend>" . _pgettext('Create new procedure', 'New') . "</legend>\n"; $retval .= " <div class='wrap'>\n"; if (Util::currentUserHasPrivilege($priv, $db, $table)) { $retval .= ' <a class="ajax add_anchor" '; $retval .= "href='db_" . mb_strtolower($name) . "s.php"; $retval .= "$url_query&add_item=1' "; $retval .= "onclick='$.datepicker.initialized = false;'>"; $icon = 'b_' . $icon; $retval .= Util::getIcon($icon); $retval .= $this->words->get('add') . "</a>\n"; } else { $icon = 'bd_' . $icon; $retval .= Util::getIcon($icon); $retval .= $this->words->get('add') . "\n"; } $retval .= " " . Util::showMySQLDocu($docu) . "\n"; $retval .= " </div>\n"; $retval .= "</fieldset>\n"; $retval .= "<!-- ADD " . $name . " FORM END -->\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 = "<!-- FOOTER LINKS START -->\n"; $retval .= "<div class='doubleFieldset'>\n"; // show the usual footer $retval .= $this->getLinks('CREATE_EVENT', 'EVENT', 'EVENT'); $retval .= " <fieldset class='right'>\n"; $retval .= " <legend>\n"; $retval .= " " . __('Event scheduler status') . "\n"; $retval .= " </legend>\n"; $retval .= " <div class='wrap'>\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 .= " </div>\n"; $retval .= " </fieldset>\n"; $retval .= " <div class='clearfloat'></div>\n"; $retval .= "</div>"; $retval .= "<!-- FOOTER LINKS END -->\n"; return $retval; } }