本文整理汇总了PHP中PMA_getGrantsArray函数的典型用法代码示例。如果您正苦于以下问题:PHP PMA_getGrantsArray函数的具体用法?PHP PMA_getGrantsArray怎么用?PHP PMA_getGrantsArray使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PMA_getGrantsArray函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PMA_extractPrivInfo
/**
* Extracts the privilege information of a priv table row
*
* @param array $row the row
* @param boolean $enableHTML add <dfn> tag with tooltips
*
* @global resource $user_link the database connection
*
* @return array
*/
function PMA_extractPrivInfo($row = '', $enableHTML = false)
{
$grants = PMA_getGrantsArray();
if (!empty($row) && isset($row['Table_priv'])) {
$row1 = PMA_DBI_fetch_single_row('SHOW COLUMNS FROM `mysql`.`tables_priv` LIKE \'Table_priv\';', 'ASSOC', $GLOBALS['userlink']);
$av_grants = explode('\',\'', substr($row1['Type'], 5, strlen($row1['Type']) - 7));
unset($row1);
$users_grants = explode(',', $row['Table_priv']);
foreach ($av_grants as $current_grant) {
$row[$current_grant . '_priv'] = in_array($current_grant, $users_grants) ? 'Y' : 'N';
}
unset($current_grant);
}
$privs = array();
$allPrivileges = true;
foreach ($grants as $current_grant) {
if (!empty($row) && isset($row[$current_grant[0]]) || empty($row) && isset($GLOBALS[$current_grant[0]])) {
if (!empty($row) && $row[$current_grant[0]] == 'Y' || empty($row) && ($GLOBALS[$current_grant[0]] == 'Y' || is_array($GLOBALS[$current_grant[0]]) && count($GLOBALS[$current_grant[0]]) == $_REQUEST['column_count'] && empty($GLOBALS[$current_grant[0] . '_none']))) {
if ($enableHTML) {
$privs[] = '<dfn title="' . $current_grant[2] . '">' . $current_grant[1] . '</dfn>';
} else {
$privs[] = $current_grant[1];
}
} elseif (!empty($GLOBALS[$current_grant[0]]) && is_array($GLOBALS[$current_grant[0]]) && empty($GLOBALS[$current_grant[0] . '_none'])) {
if ($enableHTML) {
$priv_string = '<dfn title="' . $current_grant[2] . '">' . $current_grant[1] . '</dfn>';
} else {
$priv_string = $current_grant[1];
}
$privs[] = $priv_string . ' (`' . join('`, `', $GLOBALS[$current_grant[0]]) . '`)';
} else {
$allPrivileges = false;
}
}
}
if (empty($privs)) {
if ($enableHTML) {
$privs[] = '<dfn title="' . __('No privileges.') . '">USAGE</dfn>';
} else {
$privs[] = 'USAGE';
}
} elseif ($allPrivileges && (!isset($_POST['grant_count']) || count($privs) == $_POST['grant_count'])) {
if ($enableHTML) {
$privs = array('<dfn title="' . __('Includes all privileges except GRANT.') . '">ALL PRIVILEGES</dfn>');
} else {
$privs = array('ALL PRIVILEGES');
}
}
return $privs;
}
示例2: PMA_extractPrivInfo
/**
* Extracts the privilege information of a priv table row
*
* @param array|null $row the row
* @param boolean $enableHTML add <dfn> tag with tooltips
* @param boolean $tablePrivs whether row contains table privileges
*
* @global resource $user_link the database connection
*
* @return array
*/
function PMA_extractPrivInfo($row = null, $enableHTML = false, $tablePrivs = false)
{
if ($tablePrivs) {
$grants = PMA_getTableGrantsArray();
} else {
$grants = PMA_getGrantsArray();
}
if (!is_null($row) && isset($row['Table_priv'])) {
PMA_fillInTablePrivileges($row);
}
$privs = array();
$allPrivileges = true;
foreach ($grants as $current_grant) {
if (!is_null($row) && isset($row[$current_grant[0]]) || is_null($row) && isset($GLOBALS[$current_grant[0]])) {
if (!is_null($row) && $row[$current_grant[0]] == 'Y' || is_null($row) && ($GLOBALS[$current_grant[0]] == 'Y' || is_array($GLOBALS[$current_grant[0]]) && count($GLOBALS[$current_grant[0]]) == $_REQUEST['column_count'] && empty($GLOBALS[$current_grant[0] . '_none']))) {
$privs[] = PMA_formatPrivilege($current_grant, $enableHTML);
} elseif (!empty($GLOBALS[$current_grant[0]]) && is_array($GLOBALS[$current_grant[0]]) && empty($GLOBALS[$current_grant[0] . '_none'])) {
$privs[] = PMA_formatPrivilege($current_grant, $enableHTML) . ' (`' . join('`, `', $GLOBALS[$current_grant[0]]) . '`)';
} else {
$allPrivileges = false;
}
}
}
if (empty($privs)) {
if ($enableHTML) {
$privs[] = '<dfn title="' . __('No privileges.') . '">USAGE</dfn>';
} else {
$privs[] = 'USAGE';
}
} elseif ($allPrivileges && (!isset($_POST['grant_count']) || count($privs) == $_POST['grant_count'])) {
if ($enableHTML) {
$privs = array('<dfn title="' . __('Includes all privileges except GRANT.') . '">ALL PRIVILEGES</dfn>');
} else {
$privs = array('ALL PRIVILEGES');
}
}
return $privs;
}
示例3: testPMAGetGrantsArray
/**
* Test for PMA_getGrantsArray
*
* @return void
*/
public function testPMAGetGrantsArray()
{
$ret = PMA_getGrantsArray();
$this->assertEquals(array('Select_priv', 'SELECT', __('Allows reading data.')), $ret[0]);
$this->assertEquals(array('Insert_priv', 'INSERT', __('Allows inserting and replacing data.')), $ret[1]);
}