phpmyadmin/libraries/navigation/nodes/NodeFunctionContainer.php
Michal Čihař edd929216a Bring back token validation to GET requests
This is necessary to avoid CSRF on SQL queries. This is really more a
short term fix, proper fix (to be implemented in master) is to avoid
accepting SQL queries from GET requests.

This reverts commits:

* dae3390a02
* ea73fded71
* 90433788d6
* f797a8d87d
* 9c1cfc8553

Signed-off-by: Michal Čihař <michal@cihar.com>
2017-12-14 17:27:22 +01:00

60 lines
1.9 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Functionality for the navigation tree
*
* @package PhpMyAdmin-Navigation
*/
namespace PMA\libraries\navigation\nodes;
use PMA;
use PMA\libraries\navigation\NodeFactory;
/**
* Represents a container for functions nodes in the navigation tree
*
* @package PhpMyAdmin-Navigation
*/
class NodeFunctionContainer extends NodeDatabaseChildContainer
{
/**
* Initialises the class
*/
public function __construct()
{
parent::__construct(__('Functions'), Node::CONTAINER);
$this->icon = PMA\libraries\Util::getImage(
'b_routines.png',
__('Functions')
);
$this->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;type=FUNCTION',
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;type=FUNCTION',
);
$this->real_name = 'functions';
$new_label = _pgettext('Create new function', 'New');
$new = NodeFactory::getInstance(
'Node',
$new_label
);
$new->isNew = true;
$new->icon = PMA\libraries\Util::getImage('b_routine_add.png', $new_label);
$new->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1&amp;item_type=FUNCTION',
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1&amp;item_type=FUNCTION',
);
$new->classes = 'new_function italics';
$this->addChild($new);
}
}