Select Git revision
UseradminController.php
UseradminController.php 5.25 KiB
<?php
class UserAdminController extends Nmc_Controller_Action
{
public function init()
{
$this->_registerPlugin(new Nmc_Controller_Action_Plugin_Authorize());
}
public function indexAction()
{
$out = new Application_View();
$groups = Groups::getInstance()->fetchAllWithoutPrimaries();
$out->title = 'Group Administration';
$out->page = 'user_admin';
$out->groups = $groups;
$out->clearSidebarModules();
echo $out->render('unlModernWrapper.xhtml');
}
public function editUserAction()
{
$in = $this->getRequest();
$userId = Zend_Filter_Int::filter($in->getParam(0));
if($in->getPost('Submit') == 'Submit') {
return $this->editUserActionPost();
}
$out = new Application_View();
$out->title = 'Group Administration';
$out->page = 'user_admin';
if($userId < 0) {
$out->user = People::getInstance()->fetchNew();
} else {
$out->user = People::getInstance()->findByUserId($userId);
}
$out->groups = Groups::getInstance()->fetchAllWithoutPrimaries();
$out->clearSidebarModules();
echo $out->render('unlModernWrapper.xhtml');
}
protected function editUserActionPost()
{
$in = $this->getRequest();
$userId = Zend_Filter_Int::filter($in->getParam(0));
if(!$userId) {
$user = People::getInstance()->fetchNew();
} else {
$user = People::getInstance()->findOne($userId);
}
if($in->getPost('delete') == '1') {
$user->delete();
} else {
$user->firstName = Zend_Filter_Alnum::filter($in->getPost('firstName'));
$user->lastName = Zend_Filter_Alnum::filter($in->getPost('lastName'));
$user->save();
}
$selectedGroups = Groups::getInstance()->findAll($in->getPost('groups'));
$currentGroups = $user->getGroups(false);
$removedGroups = $currentGroups->getRowsNotInCommonWith($selectedGroups);