Server IP : 85.214.239.14 / Your IP : 3.15.10.117 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/phpMyAdmin/libraries/classes/Navigation/Nodes/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Functionality for the navigation tree * * @package PhpMyAdmin-Navigation */ declare(strict_types=1); namespace PhpMyAdmin\Navigation\Nodes; use PhpMyAdmin\Util; /** * Represents a columns node in the navigation tree * * @package PhpMyAdmin-Navigation */ class NodeColumn extends Node { /** * Initialises the class * * @param array $item array to identify the column node * @param int $type Type of node, may be one of CONTAINER or OBJECT * @param bool $isGroup Whether this object has been created * while grouping nodes */ public function __construct($item, $type = Node::OBJECT, $isGroup = false) { $this->displayName = $this->getDisplayName($item); parent::__construct($item['name'], $type, $isGroup); $this->icon = Util::getImage($this->getColumnIcon($item['key']), __('Column')); $this->links = [ 'text' => 'tbl_structure.php?server=' . $GLOBALS['server'] . '&db=%3$s&table=%2$s&field=%1$s' . '&change_column=1', 'icon' => 'tbl_structure.php?server=' . $GLOBALS['server'] . '&db=%3$s&table=%2$s&field=%1$s' . '&change_column=1', 'title' => __('Structure'), ]; } /** * Get customized Icon for columns in navigation tree * * @param string $key The key type - (primary, foreign etc.) * * @return string Icon name for required key. */ private function getColumnIcon($key) { switch ($key) { case 'PRI': $retval = 'b_primary'; break; case 'UNI': $retval = 'bd_primary'; break; default: $retval = 'pause'; break; } return $retval; } /** * Get displayable name for navigation tree (key_type, data_type, default) * * @param array $item Item is array containing required info * * @return string Display name for navigation tree */ private function getDisplayName($item) { $retval = $item['name']; $flag = 0; foreach ($item as $key => $value) { if (! empty($value) && $key != 'name') { $flag == 0 ? $retval .= ' (' : $retval .= ', '; $flag = 1; $retval .= $this->getTruncateValue($key, $value); } } $retval .= ')'; return $retval; } /** * Get truncated value for display in node column view * * @param string $key key to identify default,datatype etc * @param string $value value corresponding to key * * @return string truncated value */ public function getTruncateValue($key, $value) { $retval = ''; switch ($key) { case 'default': strlen($value) > 6 ? $retval .= substr($value, 0, 6) . '...' : $retval = $value; break; default: $retval = $value; break; } return $retval; } }