/** * shows the list of adapters * */ public function indexAction() { $this->view->acl = array('toggle' => $this->_helper->hasAccess('toggle'), 'edit' => $this->_helper->hasAccess('edit')); $authAdapter = new Ot_Model_DbTable_AuthAdapter(); $adapters = $authAdapter->fetchAll(null, 'displayOrder'); $this->view->assign(array('adapters' => $adapters, 'numEnabledAdapters' => $authAdapter->getNumberOfEnabledAdapters())); $this->view->headScript()->appendFile('//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js'); $this->_helper->pageTitle('ot-auth-index:title'); }
public function __construct($options = array()) { parent::__construct($options); $acl = Zend_Registry::get('acl'); $form = new Zend_Form(); $form->setAttrib('id', 'account')->setDecorators(array('FormElements', array('HtmlTag', array('tag' => 'div', 'class' => 'zend_form')), 'Form')); $authAdapter = new Ot_Model_DbTable_AuthAdapter(); $adapters = $authAdapter->fetchAll(null, 'displayOrder'); // Realm Select box $realmSelect = $form->createElement('select', 'realm', array('label' => 'Login Method')); foreach ($adapters as $adapter) { $realmSelect->addMultiOption($adapter->adapterKey, $adapter->name . (!$adapter->enabled ? ' (Disabled)' : '')); } $realmSelect->setValue(isset($default['realm']) ? $default['realm'] : ''); // Create and configure username element: $username = $form->createElement('text', 'username', array('label' => 'model-account-username')); $username->setRequired(true)->addFilter('StringTrim')->addFilter('Alnum')->addFilter('StripTags')->addValidator('StringLength', false, array(3, 64))->setAttrib('maxlength', '64')->setValue(isset($default['username']) ? $default['username'] : ''); $submit = $form->createElement('submit', 'submit', array('label' => 'Masquerade')); $submit->setDecorators(array(array('ViewHelper', array('helper' => 'formSubmit')))); $form->addElements(array($realmSelect, $username, $submit)); }
public function __construct($new = false, $me = false, $options = array()) { parent::__construct($options); $acl = Zend_Registry::get('acl'); $this->setAttrib('id', 'account'); $authAdapter = new Ot_Model_DbTable_AuthAdapter(); $adapters = $authAdapter->fetchAll(null, 'displayOrder'); // Realm Select box $realmSelect = $this->createElement('select', 'realm', array('label' => 'Login Method')); foreach ($adapters as $adapter) { $realmSelect->addMultiOption($adapter->adapterKey, $adapter->name . (!$adapter->enabled ? ' (Disabled)' : '')); } // Create and configure username element: $username = $this->createElement('text', 'username', array('label' => 'model-account-username')); $username->setRequired(true)->addFilter('StringTrim')->addFilter('Alnum')->addFilter('StripTags')->addValidator('StringLength', false, array(3, 64))->setAttrib('maxlength', '64'); // First Name $firstName = $this->createElement('text', 'firstName', array('label' => 'model-account-firstName')); $firstName->setRequired(true)->addFilter('StringToLower')->addFilter('StringTrim')->addFilter('StripTags')->addFilter(new Ot_Filter_Ucwords())->setAttrib('maxlength', '64'); // Last Name $lastName = $this->createElement('text', 'lastName', array('label' => 'model-account-lastName')); $lastName->setRequired(true)->addFilter('StringTrim')->addFilter('StringToLower')->addFilter('StripTags')->addFilter(new Ot_Filter_Ucwords())->setAttrib('maxlength', '64'); // Email address field $email = $this->createElement('text', 'emailAddress', array('label' => 'model-account-emailAddress')); $email->setRequired(true)->addFilter('StringTrim')->addValidator('EmailAddress'); $timezone = $this->createElement('select', 'timezone', array('label' => 'model-account-timezone')); $timezone->addMultiOptions(Ot_Model_Timezone::getTimezoneList()); $timezone->setValue(date_default_timezone_get()); // Role select box $roleSelect = $this->createElement('multiselect', 'role', array('label' => 'model-account-role')); $roleSelect->setRequired(true); $roleSelect->setDescription('You may select multiple roles for a user'); $roles = $acl->getAvailableRoles(); foreach ($roles as $r) { $roleSelect->addMultiOption($r['roleId'], $r['name']); } if ($new) { $this->addElements(array($realmSelect, $username, $roleSelect, $firstName, $lastName, $email, $timezone)); } else { if ($me) { $this->addElements(array($firstName, $lastName, $email, $timezone)); } else { $realmSelect->setAttrib('disabled', 'disabled'); $username->setAttrib('disabled', 'disabled'); $this->addElements(array($realmSelect, $username, $roleSelect, $firstName, $lastName, $email, $timezone)); } } $aar = new Ot_Account_Attribute_Register(); $vars = $aar->getVars(); foreach ($vars as $v) { $elm = $v->renderFormElement(); $elm->clearDecorators(); $elm->setBelongsTo('accountAttributes'); $this->addElement($elm); } $cahr = new Ot_CustomAttribute_HostRegister(); $thisHost = $cahr->getHost('Ot_Profile'); if (is_null($thisHost)) { throw new Ot_Exception_Data('msg-error-objectNotSetup'); } $customAttributes = $thisHost->getAttributes(); foreach ($customAttributes as $a) { $elm = $a['var']->renderFormElement(); $elm->clearDecorators(); $elm->setBelongsTo('customAttributes'); $this->addElement($elm); } $this->addElement('submit', 'submit', array('buttonType' => Twitter_Bootstrap_Form_Element_Submit::BUTTON_PRIMARY, 'label' => 'form-button-save')); $this->addElement('button', 'cancel', array('label' => 'form-button-cancel', 'type' => 'button')); $this->addDisplayGroup(array('submit', 'cancel'), 'actions', array('disableLoadDefaultDecorators' => true, 'decorators' => array('Actions'))); return $this; }
/** * Display a list of all users in the system. * */ public function allAction() { $this->view->acl = array('add' => $this->_helper->hasAccess('add'), 'edit' => $this->_helper->hasAccess('edit'), 'delete' => $this->_helper->hasAccess('delete')); $filterUsername = $this->_getParam('username'); $filterFirstName = $this->_getParam('firstName'); $filterLastName = $this->_getParam('lastName'); $filterRole = $this->_getParam('role', 'any'); $filterSort = $this->_getParam('sort', 'username'); $filterDirection = $this->_getParam('direction', 'asc'); $form = new Ot_Form_UserSearch(); $form->populate($this->getAllParams()); $account = new Ot_Model_DbTable_Account(); $accountTbl = $account->info('name'); $select = new Zend_Db_Table_Select($account); $select->from($accountTbl); if ($filterUsername != '') { $select->where($accountTbl . '.username LIKE ?', '%' . $filterUsername . '%'); } if ($filterFirstName != '') { $select->where($accountTbl . '.firstName LIKE ?', '%' . $filterFirstName . '%'); } if ($filterLastName != '') { $select->where($accountTbl . '.lastName LIKE ?', '%' . $filterLastName . '%'); } if ($filterRole != '' && $filterRole != 'any') { $otRole = new Ot_Model_DbTable_AccountRoles(); $roleTbl = $otRole->info('name'); $select->join($roleTbl, $accountTbl . '.accountId = ' . $roleTbl . '.accountId', array()); $select->where($roleTbl . '.roleId = ?', $filterRole); $select->distinct(); } if ($filterSort == 'name') { $select->order('firstName ' . $filterDirection); $select->order('lastName ' . $filterDirection); } else { $select->order($filterSort . ' ' . $filterDirection); } $filterOptions = array('username' => $filterUsername, 'lastname' => $filterLastName, 'firstname' => $filterFirstName, 'direction' => $filterDirection, 'role' => $filterRole, 'sort' => $filterSort); foreach ($filterOptions as $key => $value) { if (!$value) { unset($filterOptions[$key]); } } $adapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator = new Zend_Paginator($adapter); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); $aa = new Ot_Model_DbTable_AuthAdapter(); $adapters = $aa->fetchAll(); $adapterMap = array(); foreach ($adapters as $a) { $adapterMap[$a->adapterKey] = $a; } $this->_helper->pageTitle('ot-account-all:title'); $this->view->assign(array('paginator' => $paginator, 'form' => $form, 'interface' => true, 'sort' => $filterSort, 'direction' => $filterDirection, 'adapters' => $adapterMap, 'filterOptions' => array('urlParams' => $filterOptions))); }