PHP 7.4.33
Preview: normalization.php Size: 4.05 KB
/var/www/podiomigration.bitkit.dk/httpdocs/public/phpmyadmin/normalization.php
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Normalization process (temporarily specific to 1NF)
 *
 * @package PhpMyAdmin
 */

use PhpMyAdmin\Core;
use PhpMyAdmin\Normalization;
use PhpMyAdmin\Response;
use PhpMyAdmin\Url;

require_once 'libraries/common.inc.php';

$normalization = new Normalization($GLOBALS['dbi']);

if (isset($_POST['getColumns'])) {
    $html = '<option selected disabled>' . __('Select one…') . '</option>'
        . '<option value="no_such_col">' . __('No such column') . '</option>';
    //get column whose datatype falls under string category
    $html .= $normalization->getHtmlForColumnsList(
        $db,
        $table,
        _pgettext('string types', 'String')
    );
    echo $html;
    exit;
}
if (isset($_POST['splitColumn'])) {
    $num_fields = min(4096, intval($_POST['numFields']));
    $html = $normalization->getHtmlForCreateNewColumn($num_fields, $db, $table);
    $html .= Url::getHiddenInputs($db, $table);
    echo $html;
    exit;
}
if (isset($_POST['addNewPrimary'])) {
    $num_fields = 1;
    $columnMeta = array('Field'=>$table . "_id", 'Extra'=>'auto_increment');
    $html = $normalization->getHtmlForCreateNewColumn(
        $num_fields, $db, $table, $columnMeta
    );
    $html .= Url::getHiddenInputs($db, $table);
    echo $html;
    exit;
}
if (isset($_POST['findPdl'])) {
    $html = $normalization->findPartialDependencies($table, $db);
    echo $html;
    exit;
}

if (isset($_POST['getNewTables2NF'])) {
    $partialDependencies = json_decode($_POST['pd']);
    $html = $normalization->getHtmlForNewTables2NF($partialDependencies, $table);
    echo $html;
    exit;
}

$response = Response::getInstance();

if (isset($_POST['getNewTables3NF'])) {
    $dependencies = json_decode($_POST['pd']);
    $tables = json_decode($_POST['tables']);
    $newTables = $normalization->getHtmlForNewTables3NF($dependencies, $tables, $db);
    $response->disable();
    Core::headerJSON();
    echo json_encode($newTables);
    exit;
}

$header = $response->getHeader();
$scripts = $header->getScripts();
$scripts->addFile('normalization.js');
$scripts->addFile('vendor/jquery/jquery.uitablefilter.js');
$normalForm = '1nf';
if (Core::isValid($_POST['normalizeTo'], array('1nf', '2nf', '3nf'))) {
    $normalForm = $_POST['normalizeTo'];
}
if (isset($_POST['createNewTables2NF'])) {
    $partialDependencies = json_decode($_POST['pd']);
    $tablesName = json_decode($_POST['newTablesName']);
    $res = $normalization->createNewTablesFor2NF($partialDependencies, $tablesName, $table, $db);
    $response->addJSON($res);
    exit;
}
if (isset($_POST['createNewTables3NF'])) {
    $newtables = json_decode($_POST['newTables']);
    $res = $normalization->createNewTablesFor3NF($newtables, $db);
    $response->addJSON($res);
    exit;
}
if (isset($_POST['repeatingColumns'])) {
    $repeatingColumns = $_POST['repeatingColumns'];
    $newTable = $_POST['newTable'];
    $newColumn = $_POST['newColumn'];
    $primary_columns = $_POST['primary_columns'];
    $res = $normalization->moveRepeatingGroup(
        $repeatingColumns, $primary_columns, $newTable, $newColumn, $table, $db
    );
    $response->addJSON($res);
    exit;
}
if (isset($_POST['step1'])) {
    $html = $normalization->getHtmlFor1NFStep1($db, $table, $normalForm);
    $response->addHTML($html);
} elseif (isset($_POST['step2'])) {
    $res = $normalization->getHtmlContentsFor1NFStep2($db, $table);
    $response->addJSON($res);
} elseif (isset($_POST['step3'])) {
    $res = $normalization->getHtmlContentsFor1NFStep3($db, $table);
    $response->addJSON($res);
} elseif (isset($_POST['step4'])) {
    $res = $normalization->getHtmlContentsFor1NFStep4($db, $table);
    $response->addJSON($res);
} elseif (isset($_POST['step']) && $_POST['step'] == '2.1') {
    $res = $normalization->getHtmlFor2NFstep1($db, $table);
    $response->addJSON($res);
} elseif (isset($_POST['step']) && $_POST['step'] == '3.1') {
    $tables = $_POST['tables'];
    $res = $normalization->getHtmlFor3NFstep1($db, $tables);
    $response->addJSON($res);
} else {
    $response->addHTML($normalization->getHtmlForNormalizeTable());
}

Directory Contents

Dirs: 10 × Files: 106
Name Size Perms Modified Actions
doc DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
examples DIR
- drwxrwxr-x 2019-06-04 12:06:16
Edit Download
js DIR
- drwxrwxr-x 2019-06-04 12:06:16
Edit Download
libraries DIR
- drwxrwxr-x 2019-06-04 12:06:16
Edit Download
locale DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
setup DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
sql DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
templates DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
themes DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
vendor DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
274 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
24 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.30 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.52 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.71 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
9.35 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.12 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
856 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.14 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.11 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
91.76 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.41 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.05 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.54 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.74 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
7.37 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
271 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.52 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
899 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.01 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
9.63 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.75 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
365 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.95 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
952 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
746 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
485 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1011 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.31 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
273 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.77 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.50 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
15.55 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
21.96 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
15.61 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
23.41 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.32 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
19.75 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
17.67 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
894 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.40 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
311 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.25 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.05 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
729 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
467 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
507 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
740 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.43 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
14.02 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.56 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.18 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.49 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
29 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
26 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
659 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
785 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
818 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
798 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
784 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.06 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
634 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
784 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
13.86 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.38 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
698 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
897 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
862 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.89 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.83 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.39 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.53 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.82 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
798 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.02 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.98 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.67 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
6.20 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
972 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.29 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.24 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
999 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.42 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.21 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
684 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.37 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
14.99 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
452 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.32 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
16.57 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.89 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.10 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.15 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.99 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.66 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
141 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.02 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
956 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.87 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.51 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.27 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.89 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.06 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
6.45 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.78 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
28.35 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).