Example #1
0
 public function createuserAction()
 {
     $t = Doctrine::getTable('User_Model_User');
     try {
         $c = $t->count();
         if ($c > 0) {
             $this->_helper->redirector->gotoSimple('success', 'install', 'install');
         } else {
             $this->view->form = new Install_Form_InstallUser();
             if ($this->request->isPost()) {
                 if ($this->view->form->isValid($_POST)) {
                     $values = $this->view->form->getValues();
                     $user = new User_Model_User();
                     $user->name = $values['username'];
                     $user->setPassword($values['password1']);
                     $user->email = $values['email'];
                     $user->save();
                     $ur = new User_Model_Role();
                     $ur->User_Model_User = $user;
                     $ur->role_name = 'admin_admin';
                     $ur->save();
                     $this->_helper->redirector->gotoSimple('success', 'install', 'install');
                 }
             }
         }
     } catch (Doctrine_Exception $e) {
         $this->_helper->redirector->gotoSimple('index', 'install', 'install');
     }
 }
Example #2
0
 public function delete()
 {
     if ($this->_isAllowed()) {
         $role = $this->getRole();
         try {
             $u = new User_Persist_Dao_Role();
             return $u->delete($this->_role->getId());
         } catch (Exception $e) {
             throw $e;
         }
     }
 }
Example #3
0
 public function testDatabase()
 {
     // first migrate database if needed
     if (Install_Api_Migration::getInstance()->getCurrentVersion() < Install_Api_Migration::getInstance()->getLatestVersion()) {
         Install_Api_Migration::getInstance()->migrate();
     }
     $api = new Devtools_Api_DoctrineTool();
     // truncate all tables or import data if there is some
     $api->importFixtures(APPLICATION_PATH . '/resource/fixtures');
     // create an admin user for unit testing
     $user = new User_Model_User();
     $user->name = 'PHPUnit';
     $user->password = '******';
     $user->email = '*****@*****.**';
     $user->description = 'PHPUnit Testuser';
     $user->activated = 'yes';
     $user->active = 'no';
     $user->show_team = 'no';
     $user->save();
     $role = new User_Model_Role();
     $role->link('User_Model_User', array($user->id));
     $role->role_name = 'admin_admin';
     $role->save();
 }
Example #4
0
 public function __construct(array $values = array(), $insert = false, $options = array())
 {
     parent::__construct($options);
     $this->setName($insert ? 'adduser' : 'edituser')->setAction('#')->setMethod('post')->setAttrib('id', $insert ? 'adduser' : 'edituser');
     # username
     $usernameInDbValidator = new FansubCMS_Validator_NoRecordExists('User_Model_User', 'name');
     $usernameInDbValidator->setMessages(array(FansubCMS_Validator_NoRecordExists::RECORD_EXISTS => 'user_form_error_user_exists'));
     $username = $this->createElement('text', 'username')->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty', true, array('messages' => array(Zend_Validate_NotEmpty::IS_EMPTY => 'default_form_error_empty_value')))->addValidator('StringLength', true, array(3, 255))->setRequired(true)->setValue(isset($values['name']) ? $values['name'] : null)->setLabel('user_admin_field_username');
     if ($insert === true) {
         $username->addValidator($usernameInDbValidator);
     }
     # password
     $password = $this->createElement('password', 'password1');
     $password->setRequired($insert ? true : false)->setLabel('user_admin_field_password');
     if ($insert) {
         $password->addValidator('NotEmpty', true, array('messages' => array(Zend_Validate_NotEmpty::IS_EMPTY => 'default_form_error_empty_value')));
     }
     $password->addValidator('StringLength', false, array('min' => 8, 'max' => 64, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'default_form_error_length', Zend_Validate_StringLength::TOO_SHORT => 'default_form_error_length')));
     # retype password
     $repassword = $this->createElement('password', 'password2');
     $repassword->addValidator('StringLength', true, array('min' => 8, 'max' => 64, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'default_form_error_length', Zend_Validate_StringLength::TOO_SHORT => 'default_form_error_length')))->setRequired($insert ? true : false)->setLabel('user_admin_field_retype_password');
     if ($insert) {
         $repassword->addValidator('NotEmpty', true, array('messages' => array(Zend_Validate_NotEmpty::IS_EMPTY => 'default_form_error_empty_value')));
     }
     $repassword->addValidator('Identical', false, array('messages' => array(Zend_Validate_Identical::NOT_SAME => 'user_form_error_passwords_not_match')));
     # Email
     $email = $this->createElement('text', 'email');
     $email->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty', true, array('messages' => array(Zend_Validate_NotEmpty::IS_EMPTY => 'default_form_error_empty_value')))->addValidator('EmailAddress', false, array('allow' => Zend_Validate_Hostname::ALLOW_DNS, 'domain' => true, 'messages' => array(Zend_Validate_EmailAddress::DOT_ATOM => 'default_form_error_email', Zend_Validate_EmailAddress::INVALID_FORMAT => 'default_form_error_email', Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'default_form_error_email', Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'default_form_error_email', Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'default_form_error_email', Zend_Validate_EmailAddress::INVALID_SEGMENT => 'default_form_error_email', Zend_Validate_EmailAddress::LENGTH_EXCEEDED => 'default_form_error_email', Zend_Validate_EmailAddress::QUOTED_STRING => 'default_form_error_email')))->setRequired(true)->setValue(isset($values['email']) ? $values['email'] : null)->setLabel('email');
     # Roles
     $roles = $this->createElement('multiCheckbox', 'roles')->setLabel('user_admin_field_roles')->setValue(isset($values['User_Model_Role']) ? $values['User_Model_Role'] : null)->setMultiOptions(User_Model_Role::getRoles());
     # Tasks
     $table = Doctrine_Core::getTable('User_Model_Task');
     if (count($table->getTasks())) {
         $tasks = $this->createElement('multiCheckbox', 'tasks')->setLabel('user_admin_field_tasks')->setValue(isset($values['User_Model_Task']) ? $values['User_Model_Task'] : null)->setMultiOptions($table->getTasks());
     }
     # Profiltext
     $description = $this->createElement('textarea', 'description');
     $description->addFilter('StripTags')->addFilter('StringTrim')->setValue(isset($values['description']) ? $values['description'] : null)->setAttrib('cols', 40)->setAttrib('rows', 15)->setLabel('description');
     $team = $this->createElement('radio', 'show_team')->setMultiOptions(array('yes' => 'yes_term', 'no' => 'no_term'))->setLabel('user_admin_field_show_team')->setValue(isset($values['show_team']) ? $values['show_team'] : 'yes');
     $active = $this->createElement('radio', 'active')->setMultiOptions(array('yes' => 'yes_term', 'no' => 'no_term'))->setLabel('user_admin_field_active')->setValue(isset($values['active']) ? $values['active'] : 'yes');
     $activated = $this->createElement('radio', 'activated')->setMultiOptions(array('yes' => 'yes_term', 'no' => 'no_term'))->setLabel('user_admin_field_activated')->setValue(isset($values['activated']) ? $values['activated'] : 'yes');
     # add elements to the form
     $this->addElement($username)->addElement($password)->addElement($repassword)->addElement($email)->addElement($roles);
     if (isset($tasks)) {
         $this->addElement($tasks);
     }
     $this->addElement($description)->addElement($team)->addElement($active)->addElement($activated)->addElement('submit', $insert ? 'add' : 'update', array('label' => $insert ? 'add' : 'update', 'class' => 'button'));
 }
Example #5
0
 public function updateProfile(array $values)
 {
     $this->name = $values['username'];
     if (!empty($values['password1'])) {
         $this->password = $values['password1'];
     }
     $this->description = $values['description'];
     $this->email = $values['email'];
     $this->active = $values['active'];
     $this->activated = $values['activated'];
     $this->show_team = $values['show_team'];
     # save
     $this->save();
     # add roles
     if (is_array($values['roles'])) {
         foreach ($this->User_Model_Role as $role) {
             $role->delete();
         }
         foreach ($values['roles'] as $role) {
             $r = new User_Model_Role();
             $r->user_id = $this->id;
             $r->role_name = $role;
             $r->save();
         }
     }
     if (is_array($values['tasks'])) {
         $unlink = array();
         foreach ($this->User_Model_UserTask as $task) {
             $task->delete();
         }
         foreach ($values['tasks'] as $task) {
             $ut = new User_Model_UserTask();
             $ut->task_id = $task;
             $ut->user_id = $this->id;
             $ut->save();
         }
     }
 }