Hackfut Security File Manager
Current Path:
/mnt/ceph/services/websiteos/phpmyadmin/phpMyAdmin-5.0.4-all-languages
mnt
/
ceph
/
services
/
websiteos
/
phpmyadmin
/
phpMyAdmin-5.0.4-all-languages
/
📁
..
📄
CONTRIBUTING.md
(2.53 KB)
📄
ChangeLog
(32.24 KB)
📄
LICENSE
(17.67 KB)
📄
README
(1.48 KB)
📄
RELEASE-DATE-5.0.4
(29 B)
📄
ajax.php
(1.96 KB)
📄
browse_foreigners.php
(1.77 KB)
📄
changelog.php
(3.04 KB)
📄
chk_rel.php
(1.16 KB)
📄
composer.json
(3.47 KB)
📄
composer.lock
(170.01 KB)
📄
config.inc.php
(317 B)
📁
config_template
📄
db_central_columns.php
(4.5 KB)
📄
db_datadict.php
(730 B)
📄
db_designer.php
(7.6 KB)
📄
db_events.php
(1.96 KB)
📄
db_export.php
(5 KB)
📄
db_import.php
(1.08 KB)
📄
db_multi_table_query.php
(1.42 KB)
📄
db_operations.php
(9.64 KB)
📄
db_qbe.php
(5.19 KB)
📄
db_routines.php
(2.2 KB)
📄
db_search.php
(2.17 KB)
📄
db_sql.php
(1.18 KB)
📄
db_sql_autocomplete.php
(1.01 KB)
📄
db_sql_format.php
(613 B)
📄
db_structure.php
(2 KB)
📄
db_tracking.php
(3.58 KB)
📄
db_triggers.php
(1.96 KB)
📁
doc
📄
error_report.php
(4.64 KB)
📁
examples
📄
export.php
(16.93 KB)
📄
favicon.ico
(21.96 KB)
📄
gis_data_editor.php
(3.83 KB)
📄
import.php
(24.03 KB)
📄
import_status.php
(3.65 KB)
📄
index.php
(3.01 KB)
📁
js
📁
libraries
📄
license.php
(1021 B)
📄
lint.php
(1.52 KB)
📁
locale
📁
login
📄
logout.php
(437 B)
📄
navigation.php
(2.58 KB)
📄
normalization.php
(4.48 KB)
📄
package.json
(1.42 KB)
📄
phpinfo.php
(633 B)
📄
prefs_forms.php
(3.02 KB)
📄
prefs_manage.php
(7.29 KB)
📄
prefs_twofactor.php
(1.93 KB)
📄
print.css
(1.18 KB)
📄
robots.txt
(26 B)
📄
schema_export.php
(861 B)
📄
server_binlog.php
(733 B)
📄
server_collations.php
(626 B)
📄
server_databases.php
(1.74 KB)
📄
server_engines.php
(797 B)
📄
server_export.php
(1.22 KB)
📄
server_import.php
(833 B)
📄
server_plugins.php
(595 B)
📄
server_privileges.php
(14.8 KB)
📄
server_replication.php
(1.57 KB)
📄
server_sql.php
(1.06 KB)
📄
server_status.php
(1.01 KB)
📄
server_status_advisor.php
(885 B)
📄
server_status_monitor.php
(3.22 KB)
📄
server_status_processes.php
(1.78 KB)
📄
server_status_queries.php
(1.34 KB)
📄
server_status_variables.php
(1.31 KB)
📄
server_user_groups.php
(2.16 KB)
📄
server_variables.php
(1.08 KB)
📄
services.yml
(3.09 KB)
📄
services_controllers.yml
(8.4 KB)
📁
setup
📄
show_config_errors.php
(1.23 KB)
📁
sql
📄
sql.php
(6.73 KB)
📄
tbl_addfield.php
(4.33 KB)
📄
tbl_change.php
(6.86 KB)
📄
tbl_chart.php
(1.13 KB)
📄
tbl_create.php
(3.92 KB)
📄
tbl_export.php
(2.9 KB)
📄
tbl_find_replace.php
(1.29 KB)
📄
tbl_get_field.php
(2.05 KB)
📄
tbl_gis_visualization.php
(1.64 KB)
📄
tbl_import.php
(895 B)
📄
tbl_indexes.php
(1.23 KB)
📄
tbl_operations.php
(15.43 KB)
📄
tbl_recent_favorite.php
(590 B)
📄
tbl_relation.php
(2.81 KB)
📄
tbl_replace.php
(17.51 KB)
📄
tbl_row_action.php
(5.48 KB)
📄
tbl_select.php
(1.29 KB)
📄
tbl_sql.php
(1.23 KB)
📄
tbl_structure.php
(2.31 KB)
📄
tbl_tracking.php
(5.33 KB)
📄
tbl_triggers.php
(265 B)
📄
tbl_zoom_select.php
(1.22 KB)
📁
templates
📁
themes
📄
themes.php
(894 B)
📄
transformation_overview.php
(846 B)
📄
transformation_wrapper.php
(5.26 KB)
📄
url.php
(1.56 KB)
📄
user_password.php
(2.18 KB)
📁
vendor
📄
version_check.php
(1.17 KB)
📄
view_create.php
(7.02 KB)
📄
view_operations.php
(3.45 KB)
📄
yarn.lock
(109.31 KB)
Editing: db_operations.php
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * handles miscellaneous db operations: * - move/rename * - copy * - changing collation * - changing comment * - adding tables * - viewing PDF schemas * * @package PhpMyAdmin */ declare(strict_types=1); use PhpMyAdmin\CheckUserPrivileges; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Display\CreateTable; use PhpMyAdmin\Message; use PhpMyAdmin\Operations; use PhpMyAdmin\Plugins; use PhpMyAdmin\Plugins\Export\ExportSql; use PhpMyAdmin\Relation; use PhpMyAdmin\RelationCleanup; use PhpMyAdmin\Response; use PhpMyAdmin\Util; if (! defined('ROOT_PATH')) { define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR); } global $cfg, $db, $server, $url_query; require_once ROOT_PATH . 'libraries/common.inc.php'; /** @var Response $response */ $response = $containerBuilder->get(Response::class); /** @var DatabaseInterface $dbi */ $dbi = $containerBuilder->get(DatabaseInterface::class); $checkUserPrivileges = new CheckUserPrivileges($dbi); $checkUserPrivileges->getPrivileges(); $header = $response->getHeader(); $scripts = $header->getScripts(); $scripts->addFile('database/operations.js'); $sql_query = ''; /** @var Relation $relation */ $relation = $containerBuilder->get('relation'); $operations = new Operations($dbi, $relation); $relationCleanup = new RelationCleanup($dbi, $relation); /** * Rename/move or copy database */ if (strlen($db) > 0 && (! empty($_POST['db_rename']) || ! empty($_POST['db_copy'])) ) { if (! empty($_POST['db_rename'])) { $move = true; } else { $move = false; } if (! isset($_POST['newname']) || strlen($_POST['newname']) === 0) { $message = Message::error(__('The database name is empty!')); } else { // lower_case_table_names=1 `DB` becomes `db` if ($dbi->getLowerCaseNames() === '1') { $_POST['newname'] = mb_strtolower( $_POST['newname'] ); } if ($_POST['newname'] === $_REQUEST['db']) { $message = Message::error( __('Cannot copy database to the same name. Change the name and try again.') ); } else { $_error = false; if ($move || ! empty($_POST['create_database_before_copying'])) { $operations->createDbBeforeCopy(); } // here I don't use DELIMITER because it's not part of the // language; I have to send each statement one by one // to avoid selecting alternatively the current and new db // we would need to modify the CREATE definitions to qualify // the db name $operations->runProcedureAndFunctionDefinitions($db); // go back to current db, just in case $dbi->selectDb($db); $tables_full = $dbi->getTablesFull($db); // remove all foreign key constraints, otherwise we can get errors /** @var ExportSql $export_sql_plugin */ $export_sql_plugin = Plugins::getPlugin( "export", "sql", 'libraries/classes/Plugins/Export/', [ 'single_table' => isset($single_table), 'export_type' => 'database', ] ); // create stand-in tables for views $views = $operations->getViewsAndCreateSqlViewStandIn( $tables_full, $export_sql_plugin, $db ); // copy tables $sqlConstratints = $operations->copyTables( $tables_full, $move, $db ); // handle the views if (! $_error) { $operations->handleTheViews($views, $move, $db); } unset($views); // now that all tables exist, create all the accumulated constraints if (! $_error && count($sqlConstratints) > 0) { $operations->createAllAccumulatedConstraints($sqlConstratints); } unset($sqlConstratints); if ($dbi->getVersion() >= 50100) { // here DELIMITER is not used because it's not part of the // language; each statement is sent one by one $operations->runEventDefinitionsForDb($db); } // go back to current db, just in case $dbi->selectDb($db); // Duplicate the bookmarks for this db (done once for each db) $operations->duplicateBookmarks($_error, $db); if (! $_error && $move) { if (isset($_POST['adjust_privileges']) && ! empty($_POST['adjust_privileges']) ) { $operations->adjustPrivilegesMoveDb($db, $_POST['newname']); } /** * cleanup pmadb stuff for this db */ $relationCleanup->database($db); // if someday the RENAME DATABASE reappears, do not DROP $local_query = 'DROP DATABASE ' . Util::backquote($db) . ';'; $sql_query .= "\n" . $local_query; $dbi->query($local_query); $message = Message::success( __('Database %1$s has been renamed to %2$s.') ); $message->addParam($db); $message->addParam($_POST['newname']); } elseif (! $_error) { if (isset($_POST['adjust_privileges']) && ! empty($_POST['adjust_privileges']) ) { $operations->adjustPrivilegesCopyDb($db, $_POST['newname']); } $message = Message::success( __('Database %1$s has been copied to %2$s.') ); $message->addParam($db); $message->addParam($_POST['newname']); } else { $message = Message::error(); } $reload = true; /* Change database to be used */ if (! $_error && $move) { $db = $_POST['newname']; } elseif (! $_error) { if (isset($_POST['switch_to_new']) && $_POST['switch_to_new'] == 'true' ) { $_SESSION['pma_switch_to_new'] = true; $db = $_POST['newname']; } else { $_SESSION['pma_switch_to_new'] = false; } } } } /** * Database has been successfully renamed/moved. If in an Ajax request, * generate the output with {@link PhpMyAdmin\Response} and exit */ if ($response->isAjax()) { $response->setRequestStatus($message->isSuccess()); $response->addJSON('message', $message); $response->addJSON('newname', $_POST['newname']); $response->addJSON( 'sql_query', Util::getMessage(null, $sql_query) ); $response->addJSON('db', $db); exit; } } /** * Settings for relations stuff */ $cfgRelation = $relation->getRelationsParam(); /** * Check if comments were updated * (must be done before displaying the menu tabs) */ if (isset($_POST['comment'])) { $relation->setDbComment($db, $_POST['comment']); } require ROOT_PATH . 'libraries/db_common.inc.php'; $url_query .= '&goto=db_operations.php'; // Gets the database structure $sub_part = '_structure'; list( $tables, $num_tables, $total_num_tables, $sub_part, $is_show_stats, $db_is_system_schema, $tooltip_truename, $tooltip_aliasname, $pos ) = Util::getDbInfo($db, $sub_part === null ? '' : $sub_part); echo "\n"; if (isset($message)) { echo Util::getMessage($message, $sql_query); unset($message); } $db_collation = $dbi->getDbCollation($db); $is_information_schema = $dbi->isSystemSchema($db); if (! $is_information_schema) { if ($cfgRelation['commwork']) { /** * database comment */ $response->addHTML($operations->getHtmlForDatabaseComment($db)); } $response->addHTML('<div>'); $response->addHTML(CreateTable::getHtml($db)); $response->addHTML('</div>'); /** * rename database */ if ($db != 'mysql') { $response->addHTML($operations->getHtmlForRenameDatabase($db, $db_collation)); } // Drop link if allowed // Don't even try to drop information_schema. // You won't be able to. Believe me. You won't. // Don't allow to easily drop mysql database, RFE #1327514. if (($dbi->isSuperuser() || $cfg['AllowUserDropDatabase']) && ! $db_is_system_schema && $db != 'mysql' ) { $response->addHTML($operations->getHtmlForDropDatabaseLink($db)); } /** * Copy database */ $response->addHTML($operations->getHtmlForCopyDatabase($db, $db_collation)); /** * Change database charset */ $response->addHTML($operations->getHtmlForChangeDatabaseCharset($db, $db_collation)); if (! $cfgRelation['allworks'] && $cfg['PmaNoRelation_DisableWarning'] == false ) { $message = Message::notice( __( 'The phpMyAdmin configuration storage has been deactivated. ' . '%sFind out why%s.' ) ); $message->addParamHtml('<a href="./chk_rel.php" data-post="' . $url_query . '">'); $message->addParamHtml('</a>'); /* Show error if user has configured something, notice elsewhere */ if (! empty($cfg['Servers'][$server]['pmadb'])) { $message->isError(true); } } // end if } // end if (!$is_information_schema)
Upload File
Create Folder