aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/libraries/classes/Plugins/Schema/TableStats.php
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-07-27 10:05:23 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-07-27 10:05:23 +0200
commit5bf66662a9bdd62c5bccab15e607cd95cfb8fcab (patch)
tree39a1a4629749056191c05dfd899f931701b7acf3 /srcs/phpmyadmin/libraries/classes/Plugins/Schema/TableStats.php
parent5afd237bbd22028b85532b8c0b3fcead49a00764 (diff)
downloadft_server-5bf66662a9bdd62c5bccab15e607cd95cfb8fcab.tar.gz
ft_server-5bf66662a9bdd62c5bccab15e607cd95cfb8fcab.tar.bz2
ft_server-5bf66662a9bdd62c5bccab15e607cd95cfb8fcab.zip
Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my famillyHEADmaster
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Plugins/Schema/TableStats.php')
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Schema/TableStats.php208
1 files changed, 0 insertions, 208 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/TableStats.php b/srcs/phpmyadmin/libraries/classes/Plugins/Schema/TableStats.php
deleted file mode 100644
index a3d3b5c..0000000
--- a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/TableStats.php
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * Contains abstract class to hold table preferences/statistics
- *
- * @package PhpMyAdmin
- */
-declare(strict_types=1);
-
-namespace PhpMyAdmin\Plugins\Schema;
-
-use PhpMyAdmin\DatabaseInterface;
-use PhpMyAdmin\Font;
-use PhpMyAdmin\Index;
-use PhpMyAdmin\Relation;
-use PhpMyAdmin\Util;
-use function rawurldecode;
-
-/**
- * Table preferences/statistics
- *
- * This class preserves the table co-ordinates,fields
- * and helps in drawing/generating the tables.
- *
- * @package PhpMyAdmin
- * @abstract
- */
-abstract class TableStats
-{
- protected $diagram;
- protected $db;
- protected $pageNumber;
- protected $tableName;
- protected $showKeys;
- protected $tableDimension;
- public $displayfield;
- public $fields = [];
- public $primary = [];
- public $x;
- public $y;
- public $width = 0;
- public $heightCell = 0;
- protected $offline;
-
- /**
- * @var Relation
- */
- protected $relation;
-
- /**
- * @var Font
- */
- protected $font;
-
- /**
- * Constructor
- *
- * @param Pdf\Pdf|Svg\Svg|Eps\Eps|Dia\Dia|Pdf\Pdf $diagram schema diagram
- * @param string $db current db name
- * @param integer $pageNumber current page number (from the
- * $cfg['Servers'][$i]['table_coords'] table)
- * @param string $tableName table name
- * @param boolean $showKeys whether to display keys or not
- * @param boolean $tableDimension whether to display table position or not
- * @param boolean $offline whether the coordinates are sent
- * from the browser
- */
- public function __construct(
- $diagram,
- $db,
- $pageNumber,
- $tableName,
- $showKeys,
- $tableDimension,
- $offline
- ) {
- $this->diagram = $diagram;
- $this->db = $db;
- $this->pageNumber = $pageNumber;
- $this->tableName = $tableName;
-
- $this->showKeys = $showKeys;
- $this->tableDimension = $tableDimension;
-
- $this->offline = $offline;
-
- $this->relation = new Relation($GLOBALS['dbi']);
- $this->font = new Font();
-
- // checks whether the table exists
- // and loads fields
- $this->validateTableAndLoadFields();
- // load table coordinates
- $this->loadCoordinates();
- // loads display field
- $this->loadDisplayField();
- // loads primary keys
- $this->loadPrimaryKey();
- }
-
- /**
- * Validate whether the table exists.
- *
- * @return void
- */
- protected function validateTableAndLoadFields()
- {
- $sql = 'DESCRIBE ' . Util::backquote($this->tableName);
- $result = $GLOBALS['dbi']->tryQuery(
- $sql,
- DatabaseInterface::CONNECT_USER,
- DatabaseInterface::QUERY_STORE
- );
- if (! $result || ! $GLOBALS['dbi']->numRows($result)) {
- $this->showMissingTableError();
- }
-
- if ($this->showKeys) {
- $indexes = Index::getFromTable($this->tableName, $this->db);
- $all_columns = [];
- foreach ($indexes as $index) {
- $all_columns = array_merge(
- $all_columns,
- array_flip(array_keys($index->getColumns()))
- );
- }
- $this->fields = array_keys($all_columns);
- } else {
- while ($row = $GLOBALS['dbi']->fetchRow($result)) {
- $this->fields[] = $row[0];
- }
- }
- }
-
- /**
- * Displays an error when the table cannot be found.
- *
- * @return void
- * @abstract
- */
- abstract protected function showMissingTableError();
-
- /**
- * Loads coordinates of a table
- *
- * @return void
- */
- protected function loadCoordinates()
- {
- if (isset($_POST['t_h'])) {
- foreach ($_POST['t_h'] as $key => $value) {
- $db = rawurldecode($_POST['t_db'][$key]);
- $tbl = rawurldecode($_POST['t_tbl'][$key]);
- if ($this->db . '.' . $this->tableName === $db . '.' . $tbl) {
- $this->x = (double) $_POST['t_x'][$key];
- $this->y = (double) $_POST['t_y'][$key];
- break;
- }
- }
- }
- }
-
- /**
- * Loads the table's display field
- *
- * @return void
- */
- protected function loadDisplayField()
- {
- $this->displayfield = $this->relation->getDisplayField($this->db, $this->tableName);
- }
-
- /**
- * Loads the PRIMARY key.
- *
- * @return void
- */
- protected function loadPrimaryKey()
- {
- $result = $GLOBALS['dbi']->query(
- 'SHOW INDEX FROM ' . Util::backquote($this->tableName) . ';',
- DatabaseInterface::CONNECT_USER,
- DatabaseInterface::QUERY_STORE
- );
- if ($GLOBALS['dbi']->numRows($result) > 0) {
- while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
- if ($row['Key_name'] == 'PRIMARY') {
- $this->primary[] = $row['Column_name'];
- }
- }
- }
- }
-
- /**
- * Returns title of the current table,
- * title can have the dimensions/co-ordinates of the table
- *
- * @return string title of the current table
- */
- protected function getTitle()
- {
- return ($this->tableDimension
- ? sprintf('%.0fx%0.f', $this->width, $this->heightCell)
- : ''
- )
- . ' ' . $this->tableName;
- }
-}