/**
  * Test for PMA_getHtmlForSpecificDbPrivileges
  *
  * @return void
  */
 public function testPMAGetHtmlForSpecificDbPrivileges()
 {
     $dbi_old = $GLOBALS['dbi'];
     $dbi = $this->getMockBuilder('PMA\\libraries\\DatabaseInterface')->disableOriginalConstructor()->getMock();
     $fields_info = array(array('COLUMN_NAME' => 'Host', 'CHARACTER_MAXIMUM_LENGTH' => 80), array('COLUMN_NAME' => 'User', 'CHARACTER_MAXIMUM_LENGTH' => 40));
     $dbi->expects($this->any())->method('fetchResult')->will($this->returnValue($fields_info));
     $GLOBALS['dbi'] = $dbi;
     $db = "pma_dbname";
     $html = PMA_getHtmlForSpecificDbPrivileges($db);
     //validate 1: PMA_URL_getCommon
     $this->assertContains(PMA_URL_getCommon(array('db' => $db)), $html);
     //validate 2: htmlspecialchars
     $this->assertContains(htmlspecialchars($db), $html);
     //validate 3: items
     $this->assertContains(__('User'), $html);
     $this->assertContains(__('Host'), $html);
     $this->assertContains(__('Type'), $html);
     $this->assertContains(__('Privileges'), $html);
     $this->assertContains(__('Grant'), $html);
     $this->assertContains(__('Action'), $html);
     //_pgettext('Create new user', 'New')
     $this->assertContains(_pgettext('Create new user', 'New'), $html);
     $this->assertContains(PMA_URL_getCommon(array('checkprivsdb' => $db)), $html);
     $GLOBALS['dbi'] = $dbi_old;
 }
        $response->addJSON('title', $title);
        exit;
    } else {
        $response->addHTML("<h2>{$title}</h2>{$export}");
    }
}
if (isset($_REQUEST['adduser'])) {
    // Add user
    $response->addHTML(PMA_getHtmlForAddUser(isset($dbname) ? $dbname : ''));
} elseif (isset($_REQUEST['checkprivsdb'])) {
    if (isset($_REQUEST['checkprivstable'])) {
        // check the privileges for a particular table.
        $response->addHTML(PMA_getHtmlForSpecificTablePrivileges($_REQUEST['checkprivsdb'], $_REQUEST['checkprivstable']));
    } else {
        // check the privileges for a particular database.
        $response->addHTML(PMA_getHtmlForSpecificDbPrivileges($_REQUEST['checkprivsdb']));
    }
} else {
    if (!isset($username)) {
        // No username is given --> display the overview
        $response->addHTML(PMA_getHtmlForUserOverview($pmaThemeImage, $text_dir));
    } else {
        // A user was selected -> display the user's properties
        // In an Ajax request, prevent cached values from showing
        if ($GLOBALS['is_ajax_request'] == true) {
            header('Cache-Control: no-cache');
        }
        if (isset($dbname) && !is_array($dbname)) {
            $url_dbname = urlencode(str_replace(array('\\_', '\\%'), array('_', '%'), $_REQUEST['dbname']));
        }
        $response->addHTML(PMA_getHtmlForUserProperties(isset($dbname_is_wildcard) ? $dbname_is_wildcard : '', isset($url_dbname) ? $url_dbname : '', $username, $hostname, isset($dbname) ? $dbname : '', isset($tablename) ? $tablename : ''));
Exemplo n.º 3
0
    // Add user
    $response->addHTML(
        PMA_getHtmlForAddUser((isset($dbname) ? $dbname : ''))
    );
} elseif (isset($_REQUEST['checkprivsdb'])) {
    if (isset($_REQUEST['checkprivstable'])) {
        // check the privileges for a particular table.
        $response->addHTML(
            PMA_getHtmlForSpecificTablePrivileges(
                $_REQUEST['checkprivsdb'], $_REQUEST['checkprivstable']
            )
        );
    } else {
        // check the privileges for a particular database.
        $response->addHTML(
            PMA_getHtmlForSpecificDbPrivileges($_REQUEST['checkprivsdb'])
        );
    }
} else {
    if (isset($dbname) && ! is_array($dbname)) {
        $url_dbname = urlencode(
            str_replace(
                array('\_', '\%'),
                array('_', '%'),
                $_REQUEST['dbname']
            )
        );
    }

    if (! isset($username)) {
        // No username is given --> display the overview
    unset($username, $hostname, $grants, $one_grant);
    $response = PMA_Response::getInstance();
    if ($GLOBALS['is_ajax_request']) {
        $response->addJSON('message', $export);
        $response->addJSON('title', $title);
        exit;
    } else {
        $response->addHTML("<h2>{$title}</h2>{$export}");
    }
}
if (empty($_REQUEST['adduser']) && (!isset($_REQUEST['checkprivs']) || !strlen($_REQUEST['checkprivs']))) {
    if (!isset($username)) {
        // No username is given --> display the overview
        $response->addHTML(PMA_getHtmlForDisplayUserOverviewPage($link_edit, $pmaThemeImage, $text_dir, $conditional_class, $link_export));
    } else {
        // A user was selected -> display the user's properties
        // In an Ajax request, prevent cached values from showing
        if ($GLOBALS['is_ajax_request'] == true) {
            header('Cache-Control: no-cache');
        }
        $url_dbname = urlencode(str_replace(array('\\_', '\\%'), array('_', '%'), $_REQUEST['dbname']));
        $response->addHTML(PMA_getHtmlForDisplayUserProperties(isset($dbname_is_wildcard) ? $dbname_is_wildcard : '', $url_dbname, $username, $hostname, $link_edit, $link_revoke, isset($unescaped_db) ? $unescaped_db : '', isset($tablename) ? $tablename : ''));
    }
} elseif (isset($_REQUEST['adduser'])) {
    // Add user
    $response->addHTML(PMA_getHtmlForAddUser(isset($dbname) ? $dbname : ''));
} else {
    // check the privileges for a particular database.
    $response->addHTML(PMA_getHtmlForSpecificDbPrivileges($link_edit, $conditional_class));
}
// end if (empty($_REQUEST['adduser']) && empty($checkprivs))... elseif... else...
Exemplo n.º 5
0
            header('Cache-Control: no-cache');
        }
        $url_dbname = urlencode(
            str_replace(
                array('\_', '\%'),
                array('_', '%'), $_REQUEST['dbname']
            )
        );
        $response->addHTML(
            PMA_getHtmlForDisplayUserProperties(
                $dbname_is_wildcard, $url_dbname, $random_n,
                $username, $hostname, $link_edit, $link_revoke,
                (isset($dbename) ? $dbname : ''),
                (isset($tablename) ? $tablename : '')
            )
        );
    }
} elseif (isset($_REQUEST['adduser'])) {
    // Add user
    $response->addHTML(
        PMA_getHtmlForAddUser($random_n, $dbname)
    );
} else {
    // check the privileges for a particular database.
    $response->addHTML(
        PMA_getHtmlForSpecificDbPrivileges($link_edit, $conditional_class)
    );
} // end if (empty($_REQUEST['adduser']) && empty($checkprivs))... elseif... else...

?>
    /**
     * Test for PMA_getHtmlForSpecificDbPrivileges
     *
     * @return void
     */
    public function testPMAGetHtmlForSpecificDbPrivileges()
    {
        $dbi_old = $GLOBALS['dbi'];
        $dbi = $this->getMockBuilder('PMA_DatabaseInterface')
            ->disableOriginalConstructor()
            ->getMock();
        $fields_info = array(
            "Host" => array(
                "Field" => "host",
                "Type" => "char(60)",
                "Null" => "NO",
            )
        );
        $dbi->expects($this->any())->method('getColumns')
            ->will($this->returnValue($fields_info));

        $GLOBALS['dbi'] = $dbi;

        $db = "pma_dbname";

        $html = PMA_getHtmlForSpecificDbPrivileges($db);

        //validate 1: PMA_URL_getCommon
        $this->assertContains(
            PMA_URL_getCommon($db),
            $html
        );

        //validate 2: htmlspecialchars
        $this->assertContains(
            htmlspecialchars($db),
            $html
        );

        //validate 3: items
        $this->assertContains(
            __('User'),
            $html
        );
        $this->assertContains(
            __('Host'),
            $html
        );
        $this->assertContains(
            __('Type'),
            $html
        );
        $this->assertContains(
            __('Privileges'),
            $html
        );
        $this->assertContains(
            __('Grant'),
            $html
        );
        $this->assertContains(
            __('Action'),
            $html
        );

        //_pgettext('Create new user', 'New')
        $this->assertContains(
            _pgettext('Create new user', 'New'),
            $html
        );
        $this->assertContains(
            PMA_URL_getCommon(array('checkprivsdb' => $db)),
            $html
        );

        $GLOBALS['dbi'] = $dbi_old;
    }