Refactor server_users functions to static methods

Signed-off-by: Maurício Meneghini Fauth <mauriciofauth@gmail.com>
This commit is contained in:
Maurício Meneghini Fauth 2017-09-07 23:45:39 -03:00
parent 94fa5946ce
commit 8c41df5103
5 changed files with 75 additions and 67 deletions

View File

@ -0,0 +1,62 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* set of common functions for sub tabs in server level `Users` page
*
* @package PhpMyAdmin
*/
namespace PhpMyAdmin\Server;
use PhpMyAdmin\Url;
/**
* PhpMyAdmin\Server\Users class
*
* @package PhpMyAdmin
*/
class Users
{
/**
* Get HTML for secondary level menu tabs on 'Users' page
*
* @param string $selfUrl Url of the file
*
* @return string HTML for secondary level menu tabs on 'Users' page
*/
public static function getHtmlForSubMenusOnUsersPage($selfUrl)
{
$items = array(
array(
'name' => __('User accounts overview'),
'url' => 'server_privileges.php',
'params' => Url::getCommon(array('viewing_mode' => 'server')),
)
);
if ($GLOBALS['is_superuser']) {
$items[] = array(
'name' => __('User groups'),
'url' => 'server_user_groups.php',
'params' => Url::getCommon(),
);
}
$retval = '<ul id="topmenu2">';
foreach ($items as $item) {
$class = '';
if ($item['url'] === $selfUrl) {
$class = ' class="tabactive"';
}
$retval .= '<li>';
$retval .= '<a' . $class;
$retval .= ' href="' . $item['url'] . $item['params'] . '">';
$retval .= $item['name'];
$retval .= '</a>';
$retval .= '</li>';
}
$retval .= '</ul>';
$retval .= '<div class="clearfloat"></div>';
return $retval;
}
}

View File

@ -1,52 +0,0 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* set of common functions for sub tabs in server level `Users` page
*
* @package PhpMyAdmin
*/
use PhpMyAdmin\Url;
/**
* Get HTML for secondary level menu tabs on 'Users' page
*
* @param string $selfUrl Url of the file
*
* @return string HTML for secondary level menu tabs on 'Users' page
*/
function PMA_getHtmlForSubMenusOnUsersPage($selfUrl)
{
$items = array(
array(
'name' => __('User accounts overview'),
'url' => 'server_privileges.php',
'params' => Url::getCommon(array('viewing_mode' => 'server')),
)
);
if ($GLOBALS['is_superuser']) {
$items[] = array(
'name' => __('User groups'),
'url' => 'server_user_groups.php',
'params' => Url::getCommon(),
);
}
$retval = '<ul id="topmenu2">';
foreach ($items as $item) {
$class = '';
if ($item['url'] === $selfUrl) {
$class = ' class="tabactive"';
}
$retval .= '<li>';
$retval .= '<a' . $class;
$retval .= ' href="' . $item['url'] . $item['params'] . '">';
$retval .= $item['name'];
$retval .= '</a>';
$retval .= '</li>';
}
$retval .= '</ul>';
$retval .= '<div class="clearfloat"></div>';
return $retval;
}

View File

@ -11,6 +11,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\Relation;
use PhpMyAdmin\Response;
use PhpMyAdmin\Server\Privileges;
use PhpMyAdmin\Server\Users;
/**
* include common file
@ -37,9 +38,8 @@ if ((isset($_REQUEST['viewing_mode'])
&& $_REQUEST['viewing_mode'] == 'server')
&& $GLOBALS['cfgRelation']['menuswork']
) {
include_once 'libraries/server_users.lib.php';
$response->addHTML('<div>');
$response->addHTML(PMA_getHtmlForSubMenusOnUsersPage('server_privileges.php'));
$response->addHTML(Users::getHtmlForSubMenusOnUsersPage('server_privileges.php'));
}
/**

View File

@ -7,9 +7,9 @@
*/
use PhpMyAdmin\Relation;
use PhpMyAdmin\Response;
use PhpMyAdmin\Server\Users;
require_once 'libraries/common.inc.php';
require_once 'libraries/server_users.lib.php';
require_once 'libraries/server_user_groups.lib.php';
Relation::getRelationsParam();
@ -34,7 +34,7 @@ if (! $GLOBALS['is_superuser']) {
}
$response->addHTML('<div>');
$response->addHTML(PMA_getHtmlForSubMenusOnUsersPage('server_user_groups.php'));
$response->addHTML(Users::getHtmlForSubMenusOnUsersPage('server_user_groups.php'));
/**
* Delete user group

View File

@ -1,33 +1,31 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Tests for server_users.lib.php
* Tests for PhpMyAdmin\Server\Users
*
* @package PhpMyAdmin-test
*/
namespace PhpMyAdmin\Tests\Server;
/*
* Include to test.
*/
require_once 'libraries/server_users.lib.php';
use PhpMyAdmin\Server\Users;
/**
* PMA_ServerUsers_Test class
* PhpMyAdmin\Tests\Server\UsersTest class
*
* This class is for testing server_users.lib.php functions
* This class is for testing PhpMyAdmin\Server\Users methods
*
* @package PhpMyAdmin-test
*/
class PMA_ServerUsers_Test extends PHPUnit_Framework_TestCase
class UsersTest extends \PHPUnit_Framework_TestCase
{
/**
* Test for PMA_getHtmlForSubMenusOnUsersPage
* Test for Users::getHtmlForSubMenusOnUsersPage
*
* @return void
*/
public function testPMAGetHtmlForSubMenusOnUsersPage()
public function testGetHtmlForSubMenusOnUsersPage()
{
$html = PMA_getHtmlForSubMenusOnUsersPage('server_privileges.php');
$html = Users::getHtmlForSubMenusOnUsersPage('server_privileges.php');
//validate 1: topmenu2
$this->assertContains(