Index: typo3/mod/web/perm/class.sc_mod_web_perm_ajax.php =================================================================== --- typo3/mod/web/perm/class.sc_mod_web_perm_ajax.php (Revision 4066) +++ typo3/mod/web/perm/class.sc_mod_web_perm_ajax.php (Arbeitskopie) @@ -318,11 +318,12 @@ * @param Integer $page: The TYPO3 page id * @param Integer $ownerUid: The new page user uid * @param String $username: The TYPO3 BE username (used to display in the element) + * @param Boolean $validUser: Must be set to FALSE, if the user has no name or is deleted * @return String The new group wrapped in HTML */ - public function renderOwnername($page, $ownerUid, $username) { + public function renderOwnername($page, $ownerUid, $username, $validUser = true) { $elementId = 'o_'.$page; - $ret = ''.($username == '' ? '[not set]' : htmlspecialchars(t3lib_div::fixed_lgd_cs($username, 20))).''; + $ret = '' . ($validUser ? ($username == '' ? '[not set]' : htmlspecialchars(t3lib_div::fixed_lgd_cs($username, 20))) : ('' . htmlspecialchars(t3lib_div::fixed_lgd_cs($username, 20)) . '')) . ''; return $ret; } @@ -333,11 +334,12 @@ * @param Integer $page: The TYPO3 page id * @param Integer $groupUid: The new page group uid * @param String $groupname: The TYPO3 BE groupname (used to display in the element) + * @param Boolean $validGroup: Must be set to FALSE, if the group has no name or is deleted * @return String The new group wrapped in HTML */ - public function renderGroupname($page, $groupUid, $groupname) { + public function renderGroupname($page, $groupUid, $groupname, $validGroup = true) { $elementId = 'g_'.$page; - $ret = ''.($groupname == '' ? '[not set]' : htmlspecialchars(t3lib_div::fixed_lgd_cs($groupname, 20))).''; + $ret = ''. ($validGroup ? ($groupname == '' ? '[not set]' : htmlspecialchars(t3lib_div::fixed_lgd_cs($groupname, 20))) : ('' . htmlspecialchars(t3lib_div::fixed_lgd_cs($groupname, 20)) . '')) . ''; return $ret; } Index: typo3/mod/web/perm/index.php =================================================================== --- typo3/mod/web/perm/index.php (Revision 4066) +++ typo3/mod/web/perm/index.php (Arbeitskopie) @@ -623,13 +623,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'].']!' : ''); - $userName = SC_mod_web_perm_ajax::renderOwnername($pageId, $data['row']['perms_userid'], htmlspecialchars(t3lib_div::fixed_lgd_cs($userName, 20))); + $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'].']!' : ''); - $groupName = SC_mod_web_perm_ajax::renderGroupname($pageId, $data['row']['perms_groupid'], htmlspecialchars(t3lib_div::fixed_lgd_cs($groupName, 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());