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}