diff --git a/plugins/ktcore/admin/groupManagement.php b/plugins/ktcore/admin/groupManagement.php index 43ee086..31ca9fc 100755 --- a/plugins/ktcore/admin/groupManagement.php +++ b/plugins/ktcore/admin/groupManagement.php @@ -51,7 +51,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { $KTConfig =& KTConfig::getSingleton(); $alwaysAll = $KTConfig->get("alwaysShowAll"); - $name = KTUtil::arrayGet($_REQUEST, 'name'); + $name = KTUtil::arrayGet($_REQUEST, 'name', KTUtil::arrayGet($_REQUEST, 'old_search')); $show_all = KTUtil::arrayGet($_REQUEST, 'show_all', $alwaysAll); $group_id = KTUtil::arrayGet($_REQUEST, 'group_id'); @@ -79,6 +79,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { "search_fields" => $search_fields, "search_results" => $search_results, 'no_search' => $no_search, + 'old_search' => $name, ); return $oTemplate->render($aTemplateData); } @@ -86,13 +87,15 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { // {{{ do_editGroup function do_editGroup() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $this->aBreadcrumbs[] = array('url' => $_SERVER['PHP_SELF'], 'name' => _kt('Group Management')); $this->oPage->setBreadcrumbDetails(_kt('edit group')); $group_id = KTUtil::arrayGet($_REQUEST, 'group_id'); $oGroup = Group::get($group_id); if (PEAR::isError($oGroup) || $oGroup == false) { - $this->errorRedirectToMain(_kt('Please select a valid group.')); + $this->errorRedirectToMain(_kt('Please select a valid group.'), sprintf("old_search=%s&do_search=1", $old_search)); } $this->oPage->setTitle(sprintf(_kt("Edit Group (%s)"), $oGroup->getName())); @@ -120,6 +123,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { "context" => $this, "edit_fields" => $edit_fields, "edit_group" => $oGroup, + "old_search" => $old_search, ); return $oTemplate->render($aTemplateData); } @@ -127,10 +131,12 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { // {{{ do_saveGroup function do_saveGroup() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $group_id = KTUtil::arrayGet($_REQUEST, 'group_id'); $oGroup = Group::get($group_id); if (PEAR::isError($oGroup) || $oGroup == false) { - $this->errorRedirectToMain(_kt('Please select a valid group.')); + $this->errorRedirectToMain(_kt('Please select a valid group.'), sprintf("old_search=%s&do_search=1", $old_search)); } $group_name = KTUtil::arrayGet($_REQUEST, 'group_name'); if (empty($group_name)) { $this->errorRedirectToMain(_kt('Please specify a name for the group.')); } @@ -153,25 +159,27 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { } $res = $oGroup->update(); - if (($res == false) || (PEAR::isError($res))) { return $this->errorRedirectToMain(_kt('Failed to set group details.')); } + if (($res == false) || (PEAR::isError($res))) { return $this->errorRedirectToMain(_kt('Failed to set group details.'), sprintf("old_search=%s&do_search=1", $old_search)); } if (!Permission::userIsSystemAdministrator($_SESSION['userID'])) { $this->rollbackTransaction(); - $this->errorRedirectTo('editGroup', _kt('For security purposes, you cannot remove your own administration priviledges.'), sprintf('group_id=%d', $oGroup->getId())); + $this->errorRedirectTo('editGroup', _kt('For security purposes, you cannot remove your own administration priviledges.'), sprintf('group_id=%d', $oGroup->getId()), sprintf("old_search=%s&do_search=1", $old_search)); exit(0); } $this->commitTransaction(); if($unit_id == 0 && $is_unitadmin) { - $this->successRedirectToMain(_kt('Group details updated.') . _kt(' Note: group is set as unit administrator, but is not assigned to a unit.')); + $this->successRedirectToMain(_kt('Group details updated.') . _kt(' Note: group is set as unit administrator, but is not assigned to a unit.'), sprintf("old_search=%s&do_search=1", $old_search)); } else { - $this->successRedirectToMain(_kt('Group details updated.')); + $this->successRedirectToMain(_kt('Group details updated.'), sprintf("old_search=%s&do_search=1", $old_search)); } } // }}} function _do_manageUsers_source() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $oGroup =& $this->oValidator->validateGroup($_REQUEST['group_id']); $aGroupUsers = $oGroup->getMembers(); @@ -181,20 +189,25 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { "context" => $this, 'group_users' => $aGroupUsers, 'group' => $oGroup, + "old_search" => $old_search, ); return $oTemplate->render($aTemplateData); } function do_synchroniseGroup() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + require_once(KT_LIB_DIR . '/authentication/authenticationutil.inc.php'); $oGroup =& $this->oValidator->validateGroup($_REQUEST['group_id']); $res = KTAuthenticationUtil::synchroniseGroupToSource($oGroup); - $this->successRedirectTo('manageusers', 'Group synchronised', sprintf('group_id=%d', $oGroup->getId())); + $this->successRedirectTo('manageusers', 'Group synchronised', sprintf('group_id=%d', $oGroup->getId()), sprintf("old_search=%s&do_search=1", $old_search)); exit(0); } // {{{ do_manageusers function do_manageusers() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $group_id = KTUtil::arrayGet($_REQUEST, 'group_id'); $oGroup = Group::get($group_id); if ((PEAR::isError($oGroup)) || ($oGroup === false)) { @@ -245,6 +258,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { "edit_group" => $oGroup, 'unused_users' => $aFreeUsers, 'group_users' => $aGroupUsers, + "old_search" => $old_search, ); return $oTemplate->render($aTemplateData); } @@ -252,6 +266,8 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { // {{{ do_updateUserMembers function do_updateUserMembers() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $group_id = KTUtil::arrayGet($_REQUEST, 'group_id'); $oGroup = Group::get($group_id); if ((PEAR::isError($oGroup)) || ($oGroup === false)) { @@ -282,7 +298,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { } $res = $oGroup->addMember($oUser); if (PEAR::isError($res) || $res == false) { - $this->errorRedirectToMain(sprintf(_kt('Unable to add user "%s" to group "%s"'), $oUser->getName(), $oGroup->getName())); + $this->errorRedirectToMain(sprintf(_kt('Unable to add user "%s" to group "%s"'), $oUser->getName(), $oGroup->getName()), sprintf("old_search=%s&do_search=1", $old_search)); } else { $usersAdded[] = $oUser->getName(); } } } @@ -293,7 +309,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { $oUser = User::get($iUserId); $res = $oGroup->removeMember($oUser); if (PEAR::isError($res) || $res == false) { - $this->errorRedirectToMain(sprintf(_kt('Unable to remove user "%s" from group "%s"'), $oUser->getName(), $oGroup->getName())); + $this->errorRedirectToMain(sprintf(_kt('Unable to remove user "%s" from group "%s"'), $oUser->getName(), $oGroup->getName()), sprintf("old_search=%s&do_search=1", $old_search)); } else { $usersRemoved[] = $oUser->getName(); $memberReason = GroupUtil::getMembershipReason($oUser, $oGroup); @@ -321,24 +337,26 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { if (!empty($usersAdded)) { $msg .= ' ' . _kt('Added') . ': ' . join(', ', $usersAdded) . '.
'; } if (!empty($usersRemoved)) { $msg .= ' ' . _kt('Removed') . ': ' . join(', ',$usersRemoved) . '.'; } - if (!Permission::userIsSystemAdministrator($_SESSION['userID'])) { - $this->rollbackTransaction(); - $this->errorRedirectTo('manageUsers', _kt('For security purposes, you cannot remove your own administration priviledges.'), sprintf('group_id=%d', $oGroup->getId())); - exit(0); - } + if (!Permission::userIsSystemAdministrator($_SESSION['userID'])) { + $this->rollbackTransaction(); + $this->errorRedirectTo('manageUsers', _kt('For security purposes, you cannot remove your own administration priviledges.'), sprintf('group_id=%d', $oGroup->getId()), sprintf("old_search=%s&do_search=1", $old_search)); + exit(0); + } $this->commitTransaction(); - $this->successRedirectToMain($msg); + $this->successRedirectToMain($msg, sprintf("old_search=%s&do_search=1", $old_search)); } // }}} // FIXME copy-paste ... // {{{ do_managesubgroups function do_managesubgroups() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $group_id = KTUtil::arrayGet($_REQUEST, 'group_id'); $oGroup = Group::get($group_id); if ((PEAR::isError($oGroup)) || ($oGroup === false)) { - $this->errorRedirectToMain(_kt('No such group.')); + $this->errorRedirectToMain(_kt('No such group.'), sprintf("old_search=%s&do_search=1", $old_search)); } $this->aBreadcrumbs[] = array('name' => $oGroup->getName()); @@ -381,6 +399,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { "edit_group" => $oGroup, 'unused_groups' => $aAllowedGroups, 'group_members' => $aMemberGroups, + "old_search" => $old_search, ); return $oTemplate->render($aTemplateData); } @@ -404,10 +423,12 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { // FIXME copy-paste ... // {{{ do_updateGroupMembers function do_updateGroupMembers() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $group_id = KTUtil::arrayGet($_REQUEST, 'group_id'); $oGroup = Group::get($group_id); if ((PEAR::isError($oGroup)) || ($oGroup === false)) { - $this->errorRedirectToMain('No such group.'); + $this->errorRedirectToMain('No such group.', sprintf("old_search=%s&do_search=1", $old_search)); } $groupAdded = KTUtil::arrayGet($_REQUEST, 'groupAdded',''); @@ -427,7 +448,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { $oMemberGroup = Group::get($iMemberGroupID); $res = $oGroup->addMemberGroup($oMemberGroup); if (PEAR::isError($res)) { - $this->errorRedirectToMain(sprintf(_kt("Failed to add %s to %s"), $oMemberGroup->getName(), $oGroup->getName())); + $this->errorRedirectToMain(sprintf(_kt("Failed to add %s to %s"), $oMemberGroup->getName(), $oGroup->getName()), sprintf("old_search=%s&do_search=1", $old_search)); exit(0); } else { $groupsAdded[] = $oMemberGroup->getName(); } } @@ -438,7 +459,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { $oMemberGroup = Group::get($iMemberGroupID); $res = $oGroup->removeMemberGroup($oMemberGroup); if (PEAR::isError($res)) { - $this->errorRedirectToMain(sprintf(_kt("Failed to remove %s from %s"), $oMemberGroup->getName(), $oGroup->getName())); + $this->errorRedirectToMain(sprintf(_kt("Failed to remove %s from %s"), $oMemberGroup->getName(), $oGroup->getName()), sprintf("old_search=%s&do_search=1", $old_search)); exit(0); } else { $groupsRemoved[] = $oMemberGroup->getName(); } } @@ -450,7 +471,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { $this->commitTransaction(); - $this->successRedirectToMain($msg); + $this->successRedirectToMain($msg, sprintf("old_search=%s&do_search=1", $old_search)); } // }}} @@ -492,7 +513,7 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { $aTemplateData = array( "context" => $this, "add_fields" => $add_fields, - "authentication_sources" => $aAuthenticationSources, + "authentication_sources" => $aAuthenticationSources, ); return $oTemplate->render($aTemplateData); } @@ -532,28 +553,30 @@ class KTGroupAdminDispatcher extends KTAdminDispatcher { // {{{ do_deleteGroup function do_deleteGroup() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + $aErrorOptions = array( - 'redirect_to' => array('main'), + 'redirect_to' => array('main', sprintf("old_search=%s&do_search=1", $old_search)), ); $oGroup = $this->oValidator->validateGroup($_REQUEST['group_id'], $aErrorOptions); $sGroupName = $oGroup->getName(); - $this->startTransaction(); - - foreach($oGroup->getParentGroups() as $oParentGroup) { - $res = $oParentGroup->removeMemberGroup($oGroup); - } - + $this->startTransaction(); + + foreach($oGroup->getParentGroups() as $oParentGroup) { + $res = $oParentGroup->removeMemberGroup($oGroup); + } + $res = $oGroup->delete(); $this->oValidator->notError($res, $aErrorOptions); - - if (!Permission::userIsSystemAdministrator($_SESSION['userID'])) { - $this->rollbackTransaction(); - $this->errorRedirectTo('main', _kt('For security purposes, you cannot remove your own administration priviledges.')); - exit(0); - } - $this->commitTransaction(); - $this->successRedirectToMain(sprintf(_kt('Group "%s" deleted.'), $sGroupName)); + + if (!Permission::userIsSystemAdministrator($_SESSION['userID'])) { + $this->rollbackTransaction(); + $this->errorRedirectTo('main', _kt('For security purposes, you cannot remove your own administration priviledges.'), sprintf("old_search=%s&do_search=1", $old_search)); + exit(0); + } + $this->commitTransaction(); + $this->successRedirectToMain(sprintf(_kt('Group "%s" deleted.'), $sGroupName), sprintf("old_search=%s&do_search=1", $old_search)); } // }}} diff --git a/plugins/ktcore/admin/userManagement.php b/plugins/ktcore/admin/userManagement.php index 1f8a343..264be1a 100755 --- a/plugins/ktcore/admin/userManagement.php +++ b/plugins/ktcore/admin/userManagement.php @@ -51,7 +51,7 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; $KTConfig =& KTConfig::getSingleton(); $alwaysAll = $KTConfig->get("alwaysShowAll"); - $name = KTUtil::arrayGet($_REQUEST, 'name'); + $name = KTUtil::arrayGet($_REQUEST, 'name', KTUtil::arrayGet($_REQUEST, 'old_search')); $show_all = KTUtil::arrayGet($_REQUEST, 'show_all', $alwaysAll); $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); @@ -85,7 +85,8 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; "search_fields" => $search_fields, "search_results" => $search_results, "no_search" => $no_search, - "authentication_sources" => $aAuthenticationSources, + "authentication_sources" => $aAuthenticationSources, + "old_search" => $name, ); return $oTemplate->render($aTemplateData); } @@ -158,6 +159,8 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); $oUser =& User::get($user_id); + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); + if (PEAR::isError($oUser) || $oUser == false) { $this->errorRedirectToMain(_kt('Please select a user first.')); exit(0); @@ -190,6 +193,7 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; "edit_user" => $oUser, "provider" => $oProvider, "source" => $oAuthenticationSource, + 'old_search' => $old_search, ); return $oTemplate->render($aTemplateData); } @@ -199,6 +203,8 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; $this->aBreadcrumbs[] = array('url' => $_SERVER['PHP_SELF'], 'name' => _kt('User Management')); $this->oPage->setBreadcrumbDetails(_kt('change user password')); $this->oPage->setTitle(_kt("Change User Password")); + + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); $oUser =& User::get($user_id); @@ -220,12 +226,15 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; "context" => $this, "edit_fields" => $edit_fields, "edit_user" => $oUser, + 'old_search' => $old_search, ); return $oTemplate->render($aTemplateData); } function do_updatePassword() { $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); + + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); $password = KTUtil::arrayGet($_REQUEST, 'password'); $confirm_password = KTUtil::arrayGet($_REQUEST, 'confirm_password'); @@ -288,10 +297,13 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; function do_editgroups() { $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); $oUser = User::get($user_id); + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); if ((PEAR::isError($oUser)) || ($oUser === false)) { - $this->errorRedirectToMain(_kt('No such user.')); + $this->errorRedirectToMain(_kt('No such user.'), sprintf("old_search=%s&do_search=1", $old_search)); } + + $this->aBreadcrumbs[] = array('name' => $oUser->getName()); $this->oPage->setBreadcrumbDetails(_kt('edit groups')); $this->oPage->setTitle(sprintf(_kt("Edit %s's groups"), $oUser->getName())); @@ -336,15 +348,16 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; "unused_groups" => $aFreeGroups, "user_groups" => $aUserGroups, "edit_user" => $oUser, + 'old_search' => $old_search, ); return $oTemplate->render($aTemplateData); } function do_saveUser() { $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); - + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); $aErrorOptions = array( - 'redirect_to' => array('editUser', sprintf('user_id=%d', $user_id)) + 'redirect_to' => array('editUser', sprintf('user_id=%d&old_search=%s&do_search=1', $user_id, $old_search)) ); $name = $this->oValidator->validateString( @@ -375,7 +388,7 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; $oUser =& User::get($user_id); if (PEAR::isError($oUser) || $oUser == false) { - $this->errorRedirectToMain(_kt("Please select a user to modify first.")); + $this->errorRedirectToMain(_kt("Please select a user to modify first."), sprintf("old_search=%s&do_search=1", $old_search)); } $oUser->setName($name); @@ -394,18 +407,18 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; if (PEAR::isError($res) || ($res == false)) { - $this->errorRedirectoToMain(_kt('Failed to update user.')); + $this->errorRedirectoToMain(_kt('Failed to update user.'), sprintf("old_search=%s&do_search=1", $old_search)); } $this->commitTransaction(); - $this->successRedirectToMain(_kt('User information updated.')); + $this->successRedirectToMain(_kt('User information updated.'), sprintf("old_search=%s&do_search=1", $old_search)); } function do_createUser() { // FIXME generate and pass the error stack to adduser. - + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); $aErrorOptions = array( - 'redirect_to' => array('addUser') + 'redirect_to' => array('addUser', sprintf('old_search=%s&do_search=1', $old_search)) ); $username = $this->oValidator->validateString( @@ -433,15 +446,15 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; $confirm_password = KTUtil::arrayGet($_REQUEST, 'confirm_password'); $KTConfig =& KTConfig::getSingleton(); - $minLength = ((int) $KTConfig->get('user_prefs/passwordLength', 6)); - $restrictAdmin = ((bool) $KTConfig->get('user_prefs/restrictAdminPasswords', false)); + $minLength = ((int) $KTConfig->get('user_prefs/passwordLength', 6)); + $restrictAdmin = ((bool) $KTConfig->get('user_prefs/restrictAdminPasswords', false)); if ($restrictAdmin && (strlen($password) < $minLength)) { - $this->errorRedirectTo('addUser', sprintf(_kt("The password must be at least %d characters long."), $minLength)); - } else if (empty($password)) { - $this->errorRedirectTo('addUser', _kt("You must specify a password for the user.")); + $this->errorRedirectTo('addUser', sprintf(_kt("The password must be at least %d characters long."), $minLength), sprintf("old_search=%s&do_search=1", $old_search)); + } else if (empty($password)) { + $this->errorRedirectTo('addUser', _kt("You must specify a password for the user."), sprintf("old_search=%s&do_search=1", $old_search)); } else if ($password !== $confirm_password) { - $this->errorRedirectTo('addUser', _kt("The passwords you specified do not match.")); + $this->errorRedirectTo('addUser', _kt("The passwords you specified do not match."), sprintf("old_search=%s&do_search=1", $old_search)); } $dupUser =& User::getByUserName($username); @@ -462,14 +475,15 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; )); if (PEAR::isError($oUser) || ($oUser == false)) { - $this->errorRedirectToMain(_kt("failed to create user.")); + $this->errorRedirectToMain(_kt("failed to create user."), sprintf("old_search=%s&do_search=1", $old_search)); exit(0); } - $this->successRedirectToMain(_kt('Created new user') . ': "' . $oUser->getUsername() . '"', 'name=' . $oUser->getUsername()); + $this->successRedirectToMain(_kt('Created new user') . ': "' . $oUser->getUsername() . '"', 'name=' . $oUser->getUsername(), sprintf("old_search=%s&do_search=1", $old_search)); } function do_deleteUser() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); $oUser = User::get($user_id); if ((PEAR::isError($oUser)) || ($oUser === false)) { @@ -477,17 +491,18 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; } $res = $oUser->delete(); if (PEAR::isError($res)) { - $this->errorRedirectToMain(sprintf(_kt('Unable to delete user - the user may still be referred by documents.'), $res->getMessage())); + $this->errorRedirectToMain(sprintf(_kt('Unable to delete user - the user may still be referred by documents.'), $res->getMessage()), sprintf("old_search=%s&do_search=1", $old_search)); } - $this->successRedirectToMain(_kt('User deleted') . ': ' . $oUser->getName()); + $this->successRedirectToMain(_kt('User deleted') . ': ' . $oUser->getName(), sprintf("old_search=%s&do_search=1", $old_search)); } function do_updateGroups() { + $old_search = KTUtil::arrayGet($_REQUEST, 'old_search'); $user_id = KTUtil::arrayGet($_REQUEST, 'user_id'); $oUser = User::get($user_id); if ((PEAR::isError($oUser)) || ($oUser === false)) { - $this->errorRedirectToMain(_kt('Please select a user first.')); + $this->errorRedirectToMain(_kt('Please select a user first.'), sprintf("old_search=%s&do_search=1", $old_search)); } $groupAdded = KTUtil::arrayGet($_REQUEST, 'groupAdded',''); $groupRemoved = KTUtil::arrayGet($_REQUEST, 'groupRemoved',''); @@ -517,7 +532,7 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; } $res = $oGroup->addMember($oUser); if (PEAR::isError($res) || $res == false) { - $this->errorRedirectToMain(sprintf(_kt('Unable to add user to group "%s"'), $oGroup->getName())); + $this->errorRedirectToMain(sprintf(_kt('Unable to add user to group "%s"'), $oGroup->getName()), sprintf("old_search=%s&do_search=1", $old_search)); } else { $groupsAdded[] = $oGroup->getName(); @@ -531,7 +546,7 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; $oGroup = Group::get($iGroupID); $res = $oGroup->removeMember($oUser); if (PEAR::isError($res) || $res == false) { - $this->errorRedirectToMain(sprintf(_kt('Unable to remove user from group "%s"'), $oGroup->getName())); + $this->errorRedirectToMain(sprintf(_kt('Unable to remove user from group "%s"'), $oGroup->getName()), sprintf("old_search=%s&do_search=1", $old_search)); } else { $groupsRemoved[] = $oGroup->getName(); $memberReason = GroupUtil::getMembershipReason($oUser, $oGroup); @@ -559,15 +574,14 @@ var $sHelpPage = 'ktcore/admin/manage users.html'; if (!empty($groupsAdded)) { $msg .= ' ' . _kt('Added to groups') . ': ' . implode(', ', $groupsAdded) . '.
'; } if (!empty($groupsRemoved)) { $msg .= ' ' . _kt('Removed from groups') . ': ' . implode(', ',$groupsRemoved) . '.'; } - if (!Permission::userIsSystemAdministrator($_SESSION['userID'])) { - $this->rollbackTransaction(); - $this->errorRedirectTo('editgroups', _kt('For security purposes, you cannot remove your own administration priviledges.'), sprintf('user_id=%d', $oUser->getId())); - exit(0); - } - + if (!Permission::userIsSystemAdministrator($_SESSION['userID'])) { + $this->rollbackTransaction(); + $this->errorRedirectTo('editgroups', _kt('For security purposes, you cannot remove your own administration priviledges.'), sprintf('user_id=%d&do_search=1&old_search=%s', $oUser->getId(), $old_search)); + exit(0); + } $this->commitTransaction(); - $this->successRedirectToMain($msg); + $this->successRedirectToMain($msg, sprintf("old_search=%s&do_search=1", $old_search)); } function getGroupStringForUser($oUser) { diff --git a/templates/ktcore/principals/editgroup.smarty b/templates/ktcore/principals/editgroup.smarty index 6cfa03c..e4a7750 100644 --- a/templates/ktcore/principals/editgroup.smarty +++ b/templates/ktcore/principals/editgroup.smarty @@ -6,6 +6,7 @@ the system's information about group #name#{/i18n}

+
{i18n}Change Group Details{/i18n}

{i18n}Users may be classed together as Groups and these groups may be used to set security privileges throughout the document management system.{/i18n}

diff --git a/templates/ktcore/principals/edituser.smarty b/templates/ktcore/principals/edituser.smarty index f06cd40..cef0c8c 100644 --- a/templates/ktcore/principals/edituser.smarty +++ b/templates/ktcore/principals/edituser.smarty @@ -3,6 +3,7 @@ +
{i18n}Change User Details{/i18n}

{i18n}Please complete the form below to edit the user. Fields marked with a red square are required. By default, users are created using KnowledgeTree's builtin authentication provider. Should you wish to use an external authentication provider such as LDAP, please ensure that the provider's plugin is registered and enabled.{/i18n}

diff --git a/templates/ktcore/principals/groupadmin.smarty b/templates/ktcore/principals/groupadmin.smarty index b480fe5..b4bea8b 100644 --- a/templates/ktcore/principals/groupadmin.smarty +++ b/templates/ktcore/principals/groupadmin.smarty @@ -56,14 +56,14 @@ action may take some time if you have many groups).{/i18n}

{$context->_getUnitName($oGroup)} {/if} - {i18n}Edit{/i18n} - {i18n}Delete{/i18n} {i18n}Manage Users{/i18n} +href="{addQS}action=manageUsers&group_id={$oGroup->getId()}&old_search={$old_search}{/addQS}">{i18n}Manage Users{/i18n} {i18n}Manage sub-groups{/i18n} +href="{addQS}action=manageSubgroups&group_id={$oGroup->getId()}&old_search={$old_search}{/addQS}">{i18n}Manage sub-groups{/i18n} {$context->getGroupStringForGroup($oGroup)} {/foreach} diff --git a/templates/ktcore/principals/groups_managesubgroups.smarty b/templates/ktcore/principals/groups_managesubgroups.smarty index 856d27e..c0747df 100644 --- a/templates/ktcore/principals/groups_managesubgroups.smarty +++ b/templates/ktcore/principals/groups_managesubgroups.smarty @@ -10,6 +10,7 @@ + diff --git a/templates/ktcore/principals/groups_manageusers.smarty b/templates/ktcore/principals/groups_manageusers.smarty index 8efaf8b..53214ec 100644 --- a/templates/ktcore/principals/groups_manageusers.smarty +++ b/templates/ktcore/principals/groups_manageusers.smarty @@ -10,6 +10,7 @@ + diff --git a/templates/ktcore/principals/groups_sourceusers.smarty b/templates/ktcore/principals/groups_sourceusers.smarty index 8e804b7..bdc7fbf 100644 --- a/templates/ktcore/principals/groups_sourceusers.smarty +++ b/templates/ktcore/principals/groups_sourceusers.smarty @@ -10,6 +10,7 @@ +
{i18n arg_name=$group->getName()}Synchronise Users in #name#{/i18n} diff --git a/templates/ktcore/principals/useradmin.smarty b/templates/ktcore/principals/useradmin.smarty index 6c03980..47b1718 100644 --- a/templates/ktcore/principals/useradmin.smarty +++ b/templates/ktcore/principals/useradmin.smarty @@ -79,9 +79,9 @@ very slow if you have many users).{/i18n}

{$oUser->getName()} {$oUser->getUsername()} - {i18n}Edit{/i18n} - {i18n}Delete{/i18n} - {i18n}Manage Groups{/i18n} + {i18n}Edit{/i18n} + {i18n}Delete{/i18n} + {i18n}Manage Groups{/i18n} {$context->getGroupStringForUser($oUser)} {/foreach} diff --git a/templates/ktcore/principals/usergroups.smarty b/templates/ktcore/principals/usergroups.smarty index 287d7f5..2bf04b1 100644 --- a/templates/ktcore/principals/usergroups.smarty +++ b/templates/ktcore/principals/usergroups.smarty @@ -10,6 +10,7 @@ +