Example #1
0
         fwrite(STDERR, "missing required `email` argument\n");
         exit(1);
     }
     if (null === $OPTS->password) {
         $password = OpenSKOS_Db_Table_Users::pwgen(8);
     } else {
         $password = $OPTS->password;
     }
     try {
         $model->createRow(array('code' => $OPTS->code, 'name' => $OPTS->name))->save();
     } catch (Zend_Db_Exception $e) {
         fwrite(STDERR, $e->getMessage() . "\n");
         exit(2);
     }
     $model = new OpenSKOS_Db_Table_Users();
     $model->createRow(array('email' => $OPTS->email, 'name' => $OPTS->name, 'password' => new Zend_Db_Expr('MD5(' . $model->getAdapter()->quote($password) . ')'), 'tenant' => $OPTS->code, 'eppn' => $OPTS->code, 'type' => OpenSKOS_Db_Table_Users::USER_TYPE_BOTH, 'role' => OpenSKOS_Db_Table_Users::USER_ROLE_ADMINISTRATOR))->save();
     fwrite(STDOUT, 'A tenant has been created with this user account:' . "\n");
     fwrite(STDOUT, "  - code: {$OPTS->code}\n");
     fwrite(STDOUT, "  - login: {$OPTS->email}\n");
     fwrite(STDOUT, "  - password: {$password}\n");
     break;
 case 'delete':
     $tenant = $model->find($OPTS->code)->current();
     if (null === $tenant) {
         fwrite(STDERR, "Tenant `{$OPTS->code} does not exists\n");
         exit(2);
     }
     $tenant->delete();
     break;
 default:
     fwrite(STDERR, "unkown action `{$action}`\n");
 /**
  * @return OpenSKOS_Db_Table_Row_User
  */
 protected function _getUser()
 {
     $model = new OpenSKOS_Db_Table_Users();
     if (null === ($id = $this->getRequest()->getParam('user'))) {
         //create a new user:
         $user = $model->createRow(array('tenant' => $this->_tenant->code));
     } else {
         $user = $model->find((int) $id)->current();
         if (null === $user) {
             $this->getHelper('FlashMessenger')->setNamespace('error')->addMessage(_('User not found'));
             $this->_helper->redirector('index');
         }
     }
     if ($user->tenant != $this->_tenant->code) {
         $this->getHelper('FlashMessenger')->setNamespace('error')->addMessage(_('You are not allowed to edit this user.'));
         $this->_helper->redirector('index');
     }
     return $user;
 }