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; }