From 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 9 Jan 2020 10:55:03 +0100 Subject: phpmyadmin working --- .../Database/CentralColumnsController.php | 195 +++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 srcs/phpmyadmin/libraries/classes/Controllers/Database/CentralColumnsController.php (limited to 'srcs/phpmyadmin/libraries/classes/Controllers/Database/CentralColumnsController.php') diff --git a/srcs/phpmyadmin/libraries/classes/Controllers/Database/CentralColumnsController.php b/srcs/phpmyadmin/libraries/classes/Controllers/Database/CentralColumnsController.php new file mode 100644 index 0000000..97798ea --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Controllers/Database/CentralColumnsController.php @@ -0,0 +1,195 @@ +centralColumns = $centralColumns; + } + + /** + * @param array $params Request parameters + * @return string HTML + */ + public function index(array $params): string + { + global $pmaThemeImage, $text_dir; + + if (! empty($params['total_rows']) + && Core::isValid($params['total_rows'], 'integer') + ) { + $totalRows = (int) $params['total_rows']; + } else { + $totalRows = $this->centralColumns->getCount($this->db); + } + + $pos = 0; + if (Core::isValid($params['pos'], 'integer')) { + $pos = (int) $params['pos']; + } + + return $this->centralColumns->getHtmlForMain( + $this->db, + $totalRows, + $pos, + $pmaThemeImage, + $text_dir + ); + } + + /** + * @param array $params Request parameters + * @return array JSON + */ + public function getColumnList(array $params): array + { + return $this->centralColumns->getListRaw( + $this->db, + $params['cur_table'] ?? '' + ); + } + + /** + * @param array $params Request parameters + * @return string HTML + */ + public function populateColumns(array $params): string + { + return $this->centralColumns->getHtmlForColumnDropdown( + $this->db, + $params['selectedTable'] + ); + } + + /** + * @param array $params Request parameters + * @return true|Message + */ + public function editSave(array $params) + { + $columnDefault = $params['col_default']; + if ($columnDefault === 'NONE' && $params['col_default_sel'] !== 'USER_DEFINED') { + $columnDefault = ''; + } + return $this->centralColumns->updateOneColumn( + $this->db, + $params['orig_col_name'], + $params['col_name'], + $params['col_type'], + $params['col_attribute'], + $params['col_length'], + isset($params['col_isNull']) ? 1 : 0, + $params['collation'], + $params['col_extra'] ?? '', + $columnDefault + ); + } + + /** + * @param array $params Request parameters + * @return true|Message + */ + public function addNewColumn(array $params) + { + $columnDefault = $params['col_default']; + if ($columnDefault === 'NONE' && $params['col_default_sel'] !== 'USER_DEFINED') { + $columnDefault = ''; + } + return $this->centralColumns->updateOneColumn( + $this->db, + '', + $params['col_name'], + $params['col_type'], + $params['col_attribute'], + $params['col_length'], + isset($params['col_isNull']) ? 1 : 0, + $params['collation'], + $params['col_extra'] ?? '', + $columnDefault + ); + } + + /** + * @param array $params Request parameters + * @return true|Message + */ + public function addColumn(array $params) + { + return $this->centralColumns->syncUniqueColumns( + [$params['column-select']], + false, + $params['table-select'] + ); + } + + /** + * @param array $params Request parameters + * @return string HTML + */ + public function editPage(array $params): string + { + return $this->centralColumns->getHtmlForEditingPage( + $params['selected_fld'], + $params['db'] + ); + } + + /** + * @param array $params Request parameters + * @return true|Message + */ + public function updateMultipleColumn(array $params) + { + return $this->centralColumns->updateMultipleColumn($params); + } + + /** + * @param array $params Request parameters + * @return true|Message + */ + public function deleteSave(array $params) + { + $name = []; + parse_str($params['col_name'], $name); + return $this->centralColumns->deleteColumnsFromList( + $params['db'], + $name['selected_fld'], + false + ); + } +} -- cgit