diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/Rte/General.php | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Rte/General.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Rte/General.php | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Rte/General.php b/srcs/phpmyadmin/libraries/classes/Rte/General.php new file mode 100644 index 0000000..37962b5 --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Rte/General.php @@ -0,0 +1,118 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * General functions. + * + * @package PhpMyAdmin + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Rte; + +use PhpMyAdmin\DatabaseInterface; +use PhpMyAdmin\Message; +use PhpMyAdmin\Response; +use PhpMyAdmin\Util; + +/** + * PhpMyAdmin\Rte\General class + * + * @package PhpMyAdmin + */ +class General +{ + /** + * @var DatabaseInterface + */ + private $dbi; + + /** + * General constructor. + * + * @param DatabaseInterface $dbi DatabaseInterface object + */ + public function __construct(DatabaseInterface $dbi) + { + $this->dbi = $dbi; + } + + /** + * Check result + * + * @param resource|bool $result Query result + * @param string $error Error to add + * @param string $createStatement Query + * @param array $errors Errors + * + * @return array + */ + public function checkResult($result, $error, $createStatement, array $errors) + { + if ($result) { + return $errors; + } + + // OMG, this is really bad! We dropped the query, + // failed to create a new one + // and now even the backup query does not execute! + // This should not happen, but we better handle + // this just in case. + $errors[] = $error . '<br>' + . __('The backed up query was:') + . "\"" . htmlspecialchars($createStatement) . "\"" . '<br>' + . __('MySQL said: ') . $this->dbi->getError(); + + return $errors; + } + + /** + * Send TRI or EVN editor via ajax or by echoing. + * + * @param string $type TRI or EVN + * @param string $mode Editor mode 'add' or 'edit' + * @param array $item Data necessary to create the editor + * @param string $title Title of the editor + * @param string $db Database + * @param string $operation Operation 'change' or '' + * + * @return void + */ + public function sendEditor($type, $mode, array $item, $title, $db, $operation = null) + { + $events = new Events($this->dbi); + $triggers = new Triggers($this->dbi); + $words = new Words(); + $response = Response::getInstance(); + if ($item !== false) { + // Show form + if ($type == 'TRI') { + $editor = $triggers->getEditorForm($mode, $item); + } else { // EVN + $editor = $events->getEditorForm($mode, $operation, $item); + } + if ($response->isAjax()) { + $response->addJSON('message', $editor); + $response->addJSON('title', $title); + } else { + echo "\n\n<h2>$title</h2>\n\n$editor"; + unset($_POST); + } + exit; + } else { + $message = __('Error in processing request:') . ' '; + $message .= sprintf( + $words->get('not_found'), + htmlspecialchars(Util::backquote($_REQUEST['item_name'])), + htmlspecialchars(Util::backquote($db)) + ); + $message = Message::error($message); + if ($response->isAjax()) { + $response->setRequestStatus(false); + $response->addJSON('message', $message); + exit; + } else { + $message->display(); + } + } + } +} |
