HEX
Server: nginx/1.22.1
System: Linux iZuf67d4hh2ssx30nkok6dZ 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: www (1000)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/phpmyadmin/phpmyadmin_09ebd1f1eecc8873/libraries/relation_cleanup.lib.php
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Set of functions used for cleaning up phpMyAdmin tables
 *
 * @package PhpMyAdmin
 */
if (! defined('PHPMYADMIN')) {
    exit;
}

/**
 * Cleanup column related relation stuff
 *
 * @param string $db     database name
 * @param string $table  table name
 * @param string $column column name
 *
 * @return void
 */
function PMA_relationsCleanupColumn($db, $table, $column)
{
    $cfgRelation = PMA_getRelationsParam();

    if ($cfgRelation['commwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['column_info'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\''
                    . ' AND column_name = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['displaywork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['table_info'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\''
                    . ' AND display_field = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['relwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['relation'])
                    . ' WHERE master_db  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND master_table = \'' . PMA_Util::sqlAddSlashes($table) . '\''
                    . ' AND master_field = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
        PMA_queryAsControlUser($remove_query);

        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['relation'])
                    . ' WHERE foreign_db  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND foreign_table = \'' . PMA_Util::sqlAddSlashes($table) . '\''
                    . ' AND foreign_field = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
        PMA_queryAsControlUser($remove_query);
    }
}

/**
 * Cleanup table related relation stuff
 *
 * @param string $db    database name
 * @param string $table table name
 *
 * @return void
 */
function PMA_relationsCleanupTable($db, $table)
{
    $cfgRelation = PMA_getRelationsParam();

    if ($cfgRelation['commwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['column_info'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['displaywork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['table_info'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['pdfwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['table_coords'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['designerwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['designer_coords'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['relwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['relation'])
                    . ' WHERE master_db  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND master_table = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
        PMA_queryAsControlUser($remove_query);

        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['relation'])
                    . ' WHERE foreign_db  = \'' . PMA_Util::sqlAddSlashes($db) . '\''
                    . ' AND foreign_table = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
        PMA_queryAsControlUser($remove_query);
    }
}

/**
 * Cleanup database related relation stuff
 *
 * @param string $db database name
 *
 * @return void
 */
function PMA_relationsCleanupDatabase($db)
{
    $cfgRelation = PMA_getRelationsParam();

    if ($cfgRelation['commwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['column_info'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['bookmarkwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['bookmark'])
                    . ' WHERE dbase  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['displaywork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['table_info'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['pdfwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['pdf_pages'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);

        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['table_coords'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['designerwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['designer_coords'])
                    . ' WHERE db_name  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);
    }

    if ($cfgRelation['relwork']) {
        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['relation'])
                    . ' WHERE master_db  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);

        $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) . '.' . PMA_Util::backquote($cfgRelation['relation'])
                    . ' WHERE foreign_db  = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
        PMA_queryAsControlUser($remove_query);
    }
}

?>