Пример #1
0
 /**
  * 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');
 }
Пример #2
0
 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));
 }
Пример #3
0
 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;
 }
Пример #4
0
 /**
  * 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)));
 }