Something went wrong on our end
Select Git revision
Forked from
Holland Computing Center / HCC docs
Source project has a limited visibility.
-
Adam Caprez authoredAdam Caprez authored
UseradminController.php 4.53 KiB
<?php
class UserAdminController extends Nmc_Controller_Action
{
public function indexAction()
{
$out = new Nmc_View();
$groups = Groups::getInstance()->fetchAllWithoutPrimaries();
$out->title = 'Group Administration';
$out->page = 'user_admin';
$out->groups = $groups;
echo $out->render();
}
public function editUserAction()
{
$in = $this->_getAllParams();
$userId = Zend_Filter::getInt($in['URI_PARAMS'][0]);
if($in['Submit'] == 'Submit') {
return $this->editUserActionPost();
}
$out = new Nmc_View();
$out->title = 'Group Administration';
$out->page = 'user_admin';
if($userId < 0) {
$out->user = People::getInstance()->fetchNew();
} else {
$out->user = People::getInstance()->find($userId);
}
$out->groups = Groups::getInstance()->fetchAllWithoutPrimaries();
echo $out->render();
}
protected function editUserActionPost()
{
$in = $this->_getAllParams();
$userId = Zend_Filter::getInt($in['URI_PARAMS'][0]);
if(!$userId) {
$user = People::getInstance()->fetchNew();
} else {
$user = People::getInstance()->find($userId);
}
if($in['delete'] == '1') {
$user->delete();
} else {
$user->firstName = Zend_Filter::getAlnum($in['firstName']);
$user->lastName = Zend_Filter::getAlnum($in['lastName']);
$user->save();
}
$selectedGroups = Groups::getInstance()->findAll($in['groups']);
$currentGroups = $user->getGroups(false);
$removedGroups = $currentGroups->getRowsNotInCommonWith($selectedGroups);
$newGroups = $selectedGroups->getRowsNotInCommonWith($currentGroups);
foreach($removedGroups as $removedGroup) {
$removedGroup->removeUser($user);
}
foreach($newGroups as $newGroup)
{