Merge remote-tracking branch 'johannesst/domain-limit' into domain-limit-main
This commit is contained in:
commit
e9cfc556d0
|
|
@ -67,7 +67,6 @@ class RegisterController extends Controller {
|
|||
public function validateEmail() {
|
||||
$email = $this->request->getParam('email');
|
||||
if ( !filter_var($email, FILTER_VALIDATE_EMAIL) ) {
|
||||
return new TemplateResponse('', 'error', array(array('error' => $this->l10n->t('Email address you entered is not valid'))), 'error');
|
||||
return new TemplateResponse('', 'error', array(
|
||||
'errors' => array(array(
|
||||
'error' => $this->l10n->t('Email address you entered is not valid'),
|
||||
|
|
@ -94,8 +93,34 @@ class RegisterController extends Controller {
|
|||
), 'error');
|
||||
}
|
||||
|
||||
|
||||
// FEATURE: allow only from specific email domain
|
||||
|
||||
$allowed_domains= $this->config->getAppValue($this->appName, 'allowed_domains','');
|
||||
if ( ($allowed_domains === null) || ($allowed_domains === '') || ( strlen($allowed_domains)===0)){
|
||||
}else{
|
||||
$allowed_domains= explode (";",$allowed_domains);
|
||||
$allowed=false;
|
||||
$domains=array();
|
||||
foreach ($allowed_domains as $domain ) {
|
||||
$domains[]=$domain;//=$domain.print_unescaped("<br>").$domains;
|
||||
$maildomain=explode("@",$email)[1];
|
||||
// valid domain, everythings fine
|
||||
if ($maildomain === $domain) {
|
||||
$allowed=true;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
// $allowed still false->return error message
|
||||
if ( $allowed === false ) {
|
||||
return new TemplateResponse('registration', 'domains', ['domains' =>
|
||||
$domains
|
||||
], 'guest');
|
||||
}
|
||||
}//else var_dump($allowed_domains);
|
||||
|
||||
|
||||
$token = $this->pendingreg->save($email);
|
||||
//TODO: check for error
|
||||
$link = $this->urlgenerator->linkToRoute('registration.register.verifyToken', array('token' => $token));
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ use \OCP\AppFramework\Controller;
|
|||
use \OCP\IGroupManager;
|
||||
use \OCP\IL10N;
|
||||
use \OCP\IConfig;
|
||||
use \OCP\IUser;
|
||||
|
||||
class SettingsController extends Controller {
|
||||
|
||||
|
|
@ -35,13 +36,21 @@ class SettingsController extends Controller {
|
|||
parent::__construct($appName, $request);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @AdminRequired
|
||||
*
|
||||
* @param string $registered_user_group all newly registered user will be put in this group
|
||||
* @param string $allowed_domains Registrations are only allowed for E-Mailadresses with these domains
|
||||
* @return DataResponse
|
||||
*/
|
||||
public function admin($registered_user_group) {
|
||||
public function admin($registered_user_group, $allowed_domains) {
|
||||
if ( ( $allowed_domains==='' ) || ( $allowed_domains === NULL ) ){
|
||||
$this->config->deleteAppValue($this->appName, 'allowed_domains');
|
||||
}else{
|
||||
$this->config->setAppValue($this->appName, 'allowed_domains', $allowed_domains);
|
||||
}
|
||||
$groups = $this->groupmanager->search('');
|
||||
foreach ( $groups as $group ) {
|
||||
$group_id_list[] = $group->getGid();
|
||||
|
|
@ -80,9 +89,11 @@ class SettingsController extends Controller {
|
|||
}
|
||||
// TODO selected
|
||||
$current_value = $this->config->getAppValue($this->appName, 'registered_user_group', 'none');
|
||||
$allowed_domains = $this->config->getAppValue($this->appName, 'allowed_domains', '');
|
||||
return new TemplateResponse('registration', 'admin', [
|
||||
'groups' => $group_id_list,
|
||||
'current' => $current_value
|
||||
'current' => $current_value,
|
||||
'allowed' => $allowed_domains
|
||||
], '');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
$(document).ready(function() {
|
||||
function saveSettings() {
|
||||
var post = $('#registered_user_group').serialize();
|
||||
|
||||
var post = $('#registration').serialize();
|
||||
$.post(OC.generateUrl('/apps/registration/settings'), post);
|
||||
}
|
||||
|
||||
$('#registered_user_group').change(saveSettings);
|
||||
$('#allowed_domains').change(saveSettings);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -16,7 +16,11 @@ OC.L10N.register(
|
|||
"No such group" : "Keine derartige Gruppe",
|
||||
"Registration" : "Registrierung",
|
||||
"Default group that all registered users belong" : "Standardgruppe, zu der alle registrierten Benutzer gehören",
|
||||
"Enter a semicolon-seperated list of allowed domains. Example: owncloud.com;github.com" : "Geben Sie die freigeschalteten, durch Semikolons getrennten, Domains ein. Beispiel: owncloud.com;github.com",
|
||||
"None" : "Keine",
|
||||
"Allowed domains for registration" : "Für Registrierung freigeschaltete Domains",
|
||||
"Registration is only allowed for following domains:" : "Registrierung ist nur für folgende Domains freigeschaltet:",
|
||||
"Save" : "Speichern",
|
||||
"To create a new account on ownCloud, just click the following link:<br/><br/>\n<a href=\"{link}\">{link}</a>" : "Bitte klicke auf den folgenden Link, um ein neues ownCloud-Konto zu erstellen:<br/><br/>\n<a href=\"{link}\">{link}</a>",
|
||||
"Welcome, you can create your account below." : "Willkommen, Du kannst im unteren Teil Dein Konto anlegen.",
|
||||
"Username" : "Benutzername",
|
||||
|
|
|
|||
|
|
@ -14,7 +14,11 @@
|
|||
"No such group" : "Keine derartige Gruppe",
|
||||
"Registration" : "Registrierung",
|
||||
"Default group that all registered users belong" : "Standardgruppe, zu der alle registrierten Benutzer gehören",
|
||||
"Enter a semicolon-seperated list of allowed domains. Example: owncloud.com;github.com" : "Geben Sie die freigeschalteten, durch Semikolons getrennten, Domains ein. Beispiel: owncloud.com;github.com",
|
||||
"None" : "Keine",
|
||||
"Allowed domains for registration" : "Für Registrierung freigeschaltete Domains",
|
||||
"Registration is only allowed for following domains:" : "Registrierung ist nur für folgende Domains freigeschaltet:",
|
||||
"Save" : "Speichern",
|
||||
"To create a new account on ownCloud, just click the following link:<br/><br/>\n<a href=\"{link}\">{link}</a>" : "Bitte klicke auf den folgenden Link, um ein neues ownCloud-Konto zu erstellen:<br/><br/>\n<a href=\"{link}\">{link}</a>",
|
||||
"Welcome, you can create your account below." : "Willkommen, Du kannst im unteren Teil Dein Konto anlegen.",
|
||||
"Username" : "Benutzername",
|
||||
|
|
|
|||
|
|
@ -15,7 +15,11 @@ $TRANSLATIONS = array(
|
|||
"No such group" => "Keine derartige Gruppe",
|
||||
"Registration" => "Registrierung",
|
||||
"Default group that all registered users belong" => "Standardgruppe, zu der alle registrierten Benutzer gehören",
|
||||
"Enter a semicolon-seperated list of allowed domains. Example: owncloud.com;github.com" => "Geben Sie die freigeschalteten, durch Semikolons getrennten, Domains ein. Beispiel: owncloud.com;github.com",
|
||||
"None" => "Keine",
|
||||
"Allowed domains for registration" => "Für Registrierung freigeschaltete Domains",
|
||||
"Registration is only allowed for following domains:" => "Registrierung ist nur für folgende Domains freigeschaltet:",
|
||||
"Save" => "Speichern",
|
||||
"To create a new account on ownCloud, just click the following link:<br/><br/>\n<a href=\"{link}\">{link}</a>" => "Bitte klicke auf den folgenden Link, um ein neues ownCloud-Konto zu erstellen:<br/><br/>\n<a href=\"{link}\">{link}</a>",
|
||||
"Welcome, you can create your account below." => "Willkommen, Du kannst im unteren Teil Dein Konto anlegen.",
|
||||
"Username" => "Benutzername",
|
||||
|
|
|
|||
|
|
@ -16,7 +16,11 @@ OC.L10N.register(
|
|||
"No such group" : "Keine derartige Gruppe",
|
||||
"Registration" : "Registrierung",
|
||||
"Default group that all registered users belong" : "Standardgruppe, zu der alle registrierten Benutzer gehören",
|
||||
"Enter a semicolon-seperated list of allowed domains. Example: owncloud.com;github.com" : "Geben Sie die freigeschalteten, durch Semikolons getrennten, Domains ein. Beispiel: owncloud.com;github.com",
|
||||
"None" : "Keine",
|
||||
"Allowed domains for registration" : "Für Registrierung freigeschaltete Domains",
|
||||
"Registration is only allowed for following domains:" : "Registrierung ist nur für folgende Domains freigeschaltet:",
|
||||
"Save" : "Speichern",
|
||||
"To create a new account on ownCloud, just click the following link:<br/><br/>\n<a href=\"{link}\">{link}</a>" : "Bitte klicken Sie auf den folgenden Link, um ein neues ownCloud-Konto zu erstellen:<br/><br/>\n<a href=\"{link}\">{link}</a>",
|
||||
"Welcome, you can create your account below." : "Willkommen, Sie können im unteren Teil Ihr Konto anlegen.",
|
||||
"Username" : "Benutzername",
|
||||
|
|
|
|||
|
|
@ -14,7 +14,12 @@
|
|||
"No such group" : "Keine derartige Gruppe",
|
||||
"Registration" : "Registrierung",
|
||||
"Default group that all registered users belong" : "Standardgruppe, zu der alle registrierten Benutzer gehören",
|
||||
"Enter a semicolon-seperated list of allowed domains. Example: owncloud.com;github.com" : "Geben Sie die freigeschalteten, durch Semikolons getrennten, Domains ein. Beispiel: owncloud.com;github.com",
|
||||
"None" : "Keine",
|
||||
"Allowed domains for registration" : "Für Registrierung freigeschaltete Domains",
|
||||
"Registration is only allowed for following domains:" : "Registrierung ist nur für folgende Domains freigeschaltet:",
|
||||
"Save" : "Speichern",
|
||||
=======
|
||||
"To create a new account on ownCloud, just click the following link:<br/><br/>\n<a href=\"{link}\">{link}</a>" : "Bitte klicken Sie auf den folgenden Link, um ein neues ownCloud-Konto zu erstellen:<br/><br/>\n<a href=\"{link}\">{link}</a>",
|
||||
"Welcome, you can create your account below." : "Willkommen, Sie können im unteren Teil Ihr Konto anlegen.",
|
||||
"Username" : "Benutzername",
|
||||
|
|
|
|||
|
|
@ -15,7 +15,11 @@ $TRANSLATIONS = array(
|
|||
"No such group" => "Keine derartige Gruppe",
|
||||
"Registration" => "Registrierung",
|
||||
"Default group that all registered users belong" => "Standardgruppe, zu der alle registrierten Benutzer gehören",
|
||||
"Enter a semicolon-seperated list of allowed domains. Example: owncloud.com;github.com" => "Geben Sie die freigeschalteten, durch Semikolons getrennten, Domains ein. Beispiel: owncloud.com;github.com",
|
||||
"None" => "Keine",
|
||||
"Allowed domains for registration" => "Für Registrierung freigeschaltete Domains",
|
||||
"Registration is only allowed for following domains:" => "Registrierung ist nur für folgende Domains freigeschaltet:",
|
||||
"Save" => "Speichern",
|
||||
"To create a new account on ownCloud, just click the following link:<br/><br/>\n<a href=\"{link}\">{link}</a>" => "Bitte klicken Sie auf den folgenden Link, um ein neues ownCloud-Konto zu erstellen:<br/><br/>\n<a href=\"{link}\">{link}</a>",
|
||||
"Welcome, you can create your account below." => "Willkommen, Sie können im unteren Teil Ihr Konto anlegen.",
|
||||
"Username" => "Benutzername",
|
||||
|
|
|
|||
|
|
@ -15,4 +15,13 @@ foreach ( $_['groups'] as $group ) {
|
|||
?>
|
||||
</select>
|
||||
</p>
|
||||
<p>
|
||||
<label for="allowed_domains"><?php p($l->t('Allowed domains for registration')); ?></label>
|
||||
<input type="text" id="allowed_domains" name="allowed_domains" value=<?php p($_['allowed']);?>>
|
||||
</p>
|
||||
<p>
|
||||
<em><?php p($l->t('Enter a semicolon-seperated list of allowed domains. Example: owncloud.com;github.com'));?>
|
||||
</em>
|
||||
</p>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
\OCP\Util::addStyle('registration', 'style');
|
||||
?>
|
||||
<ul class="error-wide">
|
||||
<li class='error'><?php p($l->t('Registration is only allowed for following domains:')); ?>
|
||||
<?php
|
||||
foreach ($_['domains'] as $domain ){
|
||||
echo "<p class='hint'>";
|
||||
p($domain);
|
||||
echo "</p>";
|
||||
}
|
||||
|
||||
?>
|
||||
</li>
|
||||
</ul>
|
||||
Loading…
Reference in New Issue