aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/libraries/classes/Display/CreateTable.php
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/Display/CreateTable.php
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Display/CreateTable.php')
-rw-r--r--srcs/phpmyadmin/libraries/classes/Display/CreateTable.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Display/CreateTable.php b/srcs/phpmyadmin/libraries/classes/Display/CreateTable.php
new file mode 100644
index 0000000..d984e55
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Display/CreateTable.php
@@ -0,0 +1,56 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * Displays form for creating a table (if user has privileges for that)
+ *
+ * for MySQL >= 4.1.0, we should be able to detect if user has a CREATE
+ * privilege by looking at SHOW GRANTS output;
+ * for < 4.1.0, it could be more difficult because the logic tries to
+ * detect the current host and it might be expressed in many ways; also
+ * on a shared server, the user might be unable to define a controluser
+ * that has the proper rights to the "mysql" db;
+ * so we give up and assume that user has the right to create a table
+ *
+ * Note: in this case we could even skip the following "foreach" logic
+ *
+ * Addendum, 2006-01-19: ok, I give up. We got some reports about servers
+ * where the hostname field in mysql.user is not the same as the one
+ * in mysql.db for a user. In this case, SHOW GRANTS does not return
+ * the db-specific privileges. And probably, those users are on a shared
+ * server, so can't set up a control user with rights to the "mysql" db.
+ * We cannot reliably detect the db-specific privileges, so no more
+ * warnings about the lack of privileges for CREATE TABLE. Tested
+ * on MySQL 5.0.18.
+ *
+ * @package PhpMyAdmin
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Display;
+
+use PhpMyAdmin\CheckUserPrivileges;
+use PhpMyAdmin\Template;
+
+/**
+ * PhpMyAdmin\Display\CreateTable class
+ *
+ * @package PhpMyAdmin
+ */
+class CreateTable
+{
+ /**
+ * Returns the html for create table.
+ *
+ * @param string $db database name
+ *
+ * @return string
+ */
+ public static function getHtml($db)
+ {
+ $checkUserPrivileges = new CheckUserPrivileges($GLOBALS['dbi']);
+ $checkUserPrivileges->getPrivileges();
+
+ $template = new Template();
+ return $template->render('database/create_table', ['db' => $db]);
+ }
+}