本文整理汇总了PHP中t3lib_BEfunc::blindGroupNames方法的典型用法代码示例。如果您正苦于以下问题:PHP t3lib_BEfunc::blindGroupNames方法的具体用法?PHP t3lib_BEfunc::blindGroupNames怎么用?PHP t3lib_BEfunc::blindGroupNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类t3lib_BEfunc
的用法示例。
在下文中一共展示了t3lib_BEfunc::blindGroupNames方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: select
/**
* Populates the "object_id" field of a "tx_beacl_acl" record depending on
* whether the field "type" is set to "User" or "Group"
*
* @param array field configuration
* @param object
* @return void
*/
function select($PA, $fobj)
{
global $BE_USER;
if (!array_key_exists('row', $PA)) {
return;
}
if (!array_key_exists('type', $PA['row'])) {
return;
}
// Resetting the SELECT field items
$PA['items'] = array(0 => array(0 => '', 1 => ''));
// Get users or groups - The function copies functionality of the method acl_objectSelector()
// of ux_SC_mod_web_perm_index class as for non-admins it returns only:
// 1) Users which are members of the groups of the current user.
// 2) Groups that the current user is a member of.
switch ($PA['row']['type']) {
// In case users shall be returned
case '0':
$items = t3lib_BEfunc::getUserNames();
if (!$GLOBALS['BE_USER']->isAdmin()) {
$items = t3lib_BEfunc::blindUserNames($items, $BE_USER->userGroupsUID, 1);
}
foreach ($items as $row) {
$PA['items'][] = array(0 => $row['username'], 1 => $row['uid']);
}
break;
// In case groups shall be returned
// In case groups shall be returned
case '1':
$items = t3lib_BEfunc::getGroupNames();
if (!$GLOBALS['BE_USER']->isAdmin()) {
$items = t3lib_BEfunc::blindGroupNames($items, $BE_USER->userGroupsUID, 1);
}
foreach ($items as $row) {
$PA['items'][] = array(0 => $row['title'], 1 => $row['uid']);
}
break;
default:
return;
}
return;
}
示例2: acl_objectSelector
/**
* outputs a selector for users / groups, returns current ACLs
*
* @param integer type of ACL. 0 -> user, 1 -> group
* @param string Pointer where the display code is stored
* @param array configuration of ACLs
* @return array list of groups/users where the ACLs will be shown
*/
function acl_objectSelector($type, &$displayPointer, $conf)
{
global $BE_USER;
$aclObjects = array();
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('tx_beacl_acl.object_id AS object_id, tx_beacl_acl.type AS type', 'tx_beacl_acl, be_groups, be_users', 'tx_beacl_acl.type=' . intval($type) . ' AND ((tx_beacl_acl.object_id=be_groups.uid AND tx_beacl_acl.type=1) OR (tx_beacl_acl.object_id=be_users.uid AND tx_beacl_acl.type=0))', '', 'be_groups.title ASC, be_users.realname ASC');
while ($result = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$aclObjects[] = $result['object_id'];
}
$aclObjects = array_unique($aclObjects);
// advanced selector disabled
if (!$conf['enableFilterSelector']) {
return $aclObjects;
}
if (!empty($aclObjects)) {
// Get usernames and groupnames: The arrays we get in return contains only 1) users which are members of the groups of the current user, 2) groups that the current user is member of
$groupArray = $BE_USER->userGroupsUID;
$be_user_Array = t3lib_BEfunc::getUserNames();
if (!$GLOBALS['BE_USER']->isAdmin()) {
$be_user_Array = t3lib_BEfunc::blindUserNames($be_user_Array, $groupArray, 0);
}
$be_group_Array = t3lib_BEfunc::getGroupNames();
if (!$GLOBALS['BE_USER']->isAdmin()) {
$be_group_Array = t3lib_BEfunc::blindGroupNames($be_group_Array, $groupArray, 0);
}
// get current selection from UC, merge data, write it back to UC
$currentSelection = is_array($BE_USER->uc['moduleData']['txbeacl_aclSelector'][$type]) ? $BE_USER->uc['moduleData']['txbeacl_aclSelector'][$type] : array();
$currentSelectionOverride_raw = t3lib_div::_GP('tx_beacl_objsel');
$currentSelectionOverride = array();
if (is_array($currentSelectionOverride_raw[$type])) {
foreach ($currentSelectionOverride_raw[$type] as $tmp) {
$currentSelectionOverride[$tmp] = $tmp;
}
}
if ($currentSelectionOverride) {
$currentSelection = $currentSelectionOverride;
}
$BE_USER->uc['moduleData']['txbeacl_aclSelector'][$type] = $currentSelection;
$BE_USER->writeUC($BE_USER->uc);
// display selector
$displayCode = '<select size="' . t3lib_div::intInRange(count($aclObjects), 5, 15) . '" name="tx_beacl_objsel[' . $type . '][]" multiple="multiple">';
foreach ($aclObjects as $singleObjectId) {
if ($type == 0) {
$tmpnam = $be_user_Array[$singleObjectId]['username'];
} else {
$tmpnam = $be_group_Array[$singleObjectId]['title'];
}
$displayCode .= '<option value="' . $singleObjectId . '" ' . (@in_array($singleObjectId, $currentSelection) ? 'selected' : '') . '>' . $tmpnam . '</option>';
}
$displayCode .= '</select>';
$displayCode .= '<br /><input type="button" value="' . $GLOBALS['LANG']->getLL('aclObjSelUpdate') . '" onClick="document.editform.action=document.location; document.editform.submit()" /><p />';
// create section
switch ($type) {
case 0:
$tmpnam = 'aclUsers';
break;
default:
$tmpnam = 'aclGroups';
break;
}
$displayPointer = $this->doc->section($GLOBALS['LANG']->getLL($tmpnam, 1), $displayCode);
return $currentSelection;
}
return NULL;
}
示例3: notEdit
/**
* Showing the permissions in a tree ($this->edit = false)
* (Adding content to internal content variable)
*
* @return void
*/
public function notEdit()
{
global $BE_USER, $LANG, $BACK_PATH;
// Get usernames and groupnames: The arrays we get in return contains only 1) users which are members of the groups of the current user, 2) groups that the current user is member of
$beGroupKeys = $BE_USER->userGroupsUID;
$beUserArray = t3lib_BEfunc::getUserNames();
if (!$GLOBALS['BE_USER']->isAdmin()) {
$beUserArray = t3lib_BEfunc::blindUserNames($beUserArray, $beGroupKeys, 0);
}
$beGroupArray = t3lib_BEfunc::getGroupNames();
if (!$GLOBALS['BE_USER']->isAdmin()) {
$beGroupArray = t3lib_BEfunc::blindGroupNames($beGroupArray, $beGroupKeys, 0);
}
// Length of strings:
$tLen = $this->MOD_SETTINGS['mode'] == 'perms' ? 20 : 30;
// Selector for depth:
$code .= $LANG->getLL('Depth') . ': ';
$code .= t3lib_BEfunc::getFuncMenu($this->id, 'SET[depth]', $this->MOD_SETTINGS['depth'], $this->MOD_MENU['depth']);
$this->content .= $this->doc->section('', $code);
$this->content .= $this->doc->spacer(5);
// Initialize tree object:
$tree = t3lib_div::makeInstance('t3lib_pageTree');
$tree->init('AND ' . $this->perms_clause);
$tree->addField('perms_user', 1);
$tree->addField('perms_group', 1);
$tree->addField('perms_everybody', 1);
$tree->addField('perms_userid', 1);
$tree->addField('perms_groupid', 1);
$tree->addField('hidden');
$tree->addField('fe_group');
$tree->addField('starttime');
$tree->addField('endtime');
$tree->addField('editlock');
// Creating top icon; the current page
$HTML = t3lib_iconWorks::getSpriteIconForRecord('pages', $this->pageinfo);
$tree->tree[] = array('row' => $this->pageinfo, 'HTML' => $HTML);
// Create the tree from $this->id:
$tree->getTree($this->id, $this->MOD_SETTINGS['depth'], '');
// Make header of table:
$code = '';
if ($this->MOD_SETTINGS['mode'] == 'perms') {
$code .= '
<tr class="t3-row-header">
<td colspan="2"> </td>
<td><img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/line.gif', 'width="5" height="16"') . ' alt="" /></td>
<td>' . $LANG->getLL('Owner', TRUE) . '</td>
<td><img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/line.gif', 'width="5" height="16"') . ' alt="" /></td>
<td align="center">' . $LANG->getLL('Group', TRUE) . '</td>
<td><img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/line.gif', 'width="5" height="16"') . ' alt="" /></td>
<td align="center">' . $LANG->getLL('Everybody', TRUE) . '</td>
<td><img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/line.gif', 'width="5" height="16"') . ' alt="" /></td>
<td align="center">' . $LANG->getLL('EditLock', TRUE) . '</td>
</tr>
';
} else {
$code .= '
<tr class="t3-row-header">
<td colspan="2"> </td>
<td><img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/line.gif', 'width="5" height="16"') . ' alt="" /></td>
<td align="center" nowrap="nowrap">' . $LANG->getLL('User', TRUE) . ': ' . htmlspecialchars($BE_USER->user['username']) . '</td>
' . (!$BE_USER->isAdmin() ? '<td><img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/line.gif', 'width="5" height="16"') . ' alt="" /></td>
<td align="center">' . $LANG->getLL('EditLock', TRUE) . '</td>' : '') . '
</tr>';
}
// Traverse tree:
foreach ($tree->tree as $data) {
$cells = array();
$pageId = $data['row']['uid'];
// Background colors:
$bgCol = $this->lastEdited == $pageId ? ' class="bgColor-20"' : '';
$lE_bgCol = $bgCol;
// User/Group names:
$userName = $beUserArray[$data['row']['perms_userid']] ? $beUserArray[$data['row']['perms_userid']]['username'] : ($data['row']['perms_userid'] ? $data['row']['perms_userid'] : '');
if ($data['row']['perms_userid'] && !$beUserArray[$data['row']['perms_userid']]) {
$userName = SC_mod_web_perm_ajax::renderOwnername($pageId, $data['row']['perms_userid'], htmlspecialchars(t3lib_div::fixed_lgd_cs($userName, 20)), false);
} else {
$userName = SC_mod_web_perm_ajax::renderOwnername($pageId, $data['row']['perms_userid'], htmlspecialchars(t3lib_div::fixed_lgd_cs($userName, 20)));
}
$groupName = $beGroupArray[$data['row']['perms_groupid']] ? $beGroupArray[$data['row']['perms_groupid']]['title'] : ($data['row']['perms_groupid'] ? $data['row']['perms_groupid'] : '');
if ($data['row']['perms_groupid'] && !$beGroupArray[$data['row']['perms_groupid']]) {
$groupName = SC_mod_web_perm_ajax::renderGroupname($pageId, $data['row']['perms_groupid'], htmlspecialchars(t3lib_div::fixed_lgd_cs($groupName, 20)), false);
} else {
$groupName = SC_mod_web_perm_ajax::renderGroupname($pageId, $data['row']['perms_groupid'], htmlspecialchars(t3lib_div::fixed_lgd_cs($groupName, 20)));
}
// Seeing if editing of permissions are allowed for that page:
$editPermsAllowed = $data['row']['perms_userid'] == $BE_USER->user['uid'] || $BE_USER->isAdmin();
// First column:
$cellAttrib = $data['row']['_CSSCLASS'] ? ' class="' . $data['row']['_CSSCLASS'] . '"' : '';
$cells[] = '
<td align="left" nowrap="nowrap"' . ($cellAttrib ? $cellAttrib : $bgCol) . '>' . $data['HTML'] . htmlspecialchars(t3lib_div::fixed_lgd_cs($data['row']['title'], $tLen)) . ' </td>';
// "Edit permissions" -icon
if ($editPermsAllowed && $pageId) {
$aHref = 'index.php?mode=' . $this->MOD_SETTINGS['mode'] . '&depth=' . $this->MOD_SETTINGS['depth'] . '&id=' . ($data['row']['_ORIG_uid'] ? $data['row']['_ORIG_uid'] : $pageId) . '&return_id=' . $this->id . '&edit=1';
$cells[] = '
//.........这里部分代码省略.........
示例4: processUserAndGroups
/**
* Callback function to blind user and group accounts. Used as <code>itemsProcFunc</code> in <code>$TCA</code>.
*
* @param array $conf Configuration array. The following elements are set:<ul><li>items - initial set of items (empty in our case)</li><li>config - field config from <code>$TCA</code></li><li>TSconfig - this function name</li><li>table - table name</li><li>row - record row (???)</li><li>field - field name</li></ul>
* @param object $tceforms <code>t3lib_div::TCEforms</code> object
* @return void
*/
function processUserAndGroups($conf, $tceforms)
{
// Get usernames and groupnames
$be_group_Array = t3lib_BEfunc::getListGroupNames('title,uid');
$groupArray = array_keys($be_group_Array);
$be_user_Array = t3lib_BEfunc::getUserNames();
$be_user_Array = t3lib_BEfunc::blindUserNames($be_user_Array, $groupArray, 1);
// users
$title = $GLOBALS['LANG']->sL($GLOBALS['TCA']['be_users']['ctrl']['title']);
foreach ($be_user_Array as $uid => $user) {
$conf['items'][] = array($user['username'] . ' (' . $title . ')', 'be_users_' . $user['uid'], t3lib_iconWorks::getIcon('be_users', $user));
}
// Process groups only if necessary -- save time!
if (strstr($conf['config']['mod_ws_allowed'], 'be_groups')) {
// groups
$be_group_Array = $be_group_Array_o = t3lib_BEfunc::getGroupNames();
$be_group_Array = t3lib_BEfunc::blindGroupNames($be_group_Array_o, $groupArray, 1);
$title = $GLOBALS['LANG']->sL($GLOBALS['TCA']['be_groups']['ctrl']['title']);
foreach ($be_group_Array as $uid => $group) {
$conf['items'][] = array($group['title'] . ' (' . $title . ')', 'be_groups_' . $group['uid'], t3lib_iconWorks::getIcon('be_groups', $user));
}
}
}
示例5: renderGroupSelector
/**
* Generate the group selector element
*
* @param Integer $page: The page id to change the user for
* @param Integer $groupUid: The page group uid
* @param String $username: The username to display
* @return String The html select element
*/
protected function renderGroupSelector($page, $groupUid, $groupname = '')
{
// Get usernames
$beGroups = t3lib_BEfunc::getListGroupNames('title,uid');
$beGroupKeys = array_keys($beGroups);
$beGroupsO = $beGroups = t3lib_BEfunc::getGroupNames();
if (!$GLOBALS['BE_USER']->isAdmin()) {
$beGroups = t3lib_BEfunc::blindGroupNames($beGroupsO, $beGroupKeys, 1);
}
// Group selector:
$options = '';
// flag: is set if the page-groupid equals one from the group-list
$userset = 0;
// Loop through the groups
foreach ($beGroups as $uid => $row) {
if ($uid == $groupUid) {
$userset = 1;
$selected = ' selected="selected"';
} else {
$selected = '';
}
$options .= '<option value="' . $uid . '"' . $selected . '>' . htmlspecialchars($row['title']) . '</option>';
}
// If the group was not set AND there is a group for the page
if (!$userset && $groupUid) {
$options = '<option value="' . $groupUid . '" selected="selected">' . htmlspecialchars($beGroupsO[$groupUid]['title']) . '</option>' . $options;
}
$elementId = 'g_' . $page;
$options = '<option value="0"></option>' . $options;
$selector = '<select name="new_page_group" id="new_page_group">' . $options . '</select>';
$saveButton = '<a onclick="WebPermissions.changeGroup(' . $page . ', ' . $groupUid . ', \'' . $elementId . '\');" title="Change group">' . t3lib_iconWorks::getSpriteIcon('actions-document-save') . '</a>';
$cancelButton = '<a onclick="WebPermissions.restoreGroup(' . $page . ', ' . $groupUid . ', \'' . ($groupname == '' ? '<span class=not_set>[not set]</span>' : htmlspecialchars($groupname)) . '\', \'' . $elementId . '\');" title="Cancel">' . t3lib_iconWorks::getSpriteIcon('actions-document-close') . '</a>';
$ret = $selector . $saveButton . $cancelButton;
return $ret;
}