forked from ZwiiCMS-Team/ZwiiCampus
Suscribe WIP
This commit is contained in:
parent
c21baf80ef
commit
a4d4f9cce4
@ -21,11 +21,15 @@ class suscribe extends common
|
|||||||
const UPDATE = '0.0';
|
const UPDATE = '0.0';
|
||||||
const DATADIRECTORY = ''; // Contenu localisé inclus par défaut (page.json et module.json)
|
const DATADIRECTORY = ''; // Contenu localisé inclus par défaut (page.json et module.json)
|
||||||
|
|
||||||
const STATUS_AWAITING = 0; // En attente de validation du mail par le client
|
const STATUS_EMAIL_AWAITING = 0;
|
||||||
const STATUS_VALIDATED = 1; // Mail validé
|
const STATUS_EMAIL_VALID = 1;
|
||||||
|
const STATUS_ACCOUNT_AWAITING = 2;
|
||||||
|
const STATUS_ACCOUNT_VALID = 3;
|
||||||
public static $statusGroups = [
|
public static $statusGroups = [
|
||||||
self::STATUS_AWAITING => 'Email en attente de validation',
|
self::STATUS_EMAIL_AWAITING => 'Email non confirmé',
|
||||||
self::STATUS_VALIDATED => 'Email validé',
|
self::STATUS_EMAIL_VALID => 'Email confimé',
|
||||||
|
self::STATUS_ACCOUNT_AWAITING => 'Email validé, en attente de validation',
|
||||||
|
self::STATUS_ACCOUNT_VALID => 'Email validé, compte validation',
|
||||||
];
|
];
|
||||||
|
|
||||||
public static $actions = [
|
public static $actions = [
|
||||||
@ -54,33 +58,28 @@ class suscribe extends common
|
|||||||
*/
|
*/
|
||||||
public function user()
|
public function user()
|
||||||
{
|
{
|
||||||
$userIdsFirstnames = helper::arraycollumn($this->getData(['user']), 'firstname');
|
$userIdsFirstnames = helper::arraycollumn($this->getData(['module', $this->getUrl(0), 'user']), 'firstname');
|
||||||
ksort($userIdsFirstnames);
|
ksort($userIdsFirstnames);
|
||||||
foreach ($userIdsFirstnames as $userId => $userFirstname) {
|
foreach ($userIdsFirstnames as $userId => $userFirstname) {
|
||||||
if (
|
self::$users[] = [
|
||||||
$this->getData(['user', $userId, 'group']) === self::STATUS_AWAITING ||
|
$userId,
|
||||||
$this->getData(['user', $userId, 'group']) === self::STATUS_VALIDATED
|
$userFirstname . ' ' . $this->getData(['module', $this->getUrl(0), 'user', $userId, 'lastname']),
|
||||||
) {
|
self::$statusGroups[$this->getData(['module', $this->getUrl(0), 'user', $userId, 'status'])],
|
||||||
self::$users[] = [
|
helper::dateUTF8(date('Y-m-d G:i'), $this->getData(['module', $this->getUrl(0), 'user', $userId, 'timer'])),
|
||||||
$userId,
|
template::button('registrationUserEdit' . $userId, [
|
||||||
$userFirstname . ' ' . $this->getData(['user', $userId, 'lastname']),
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $userId,
|
||||||
self::$statusGroups[$this->getData(['user', $userId, 'group'])],
|
'value' => template::ico('pencil')
|
||||||
helper::dateUTF8(date('Y-m-d G:i'), $this->getData(['user', $userId, 'timer'])),
|
]),
|
||||||
template::button('registrationUserEdit' . $userId, [
|
template::button('registrationUserDelete' . $userId, [
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $userId,
|
'class' => 'userDelete red',
|
||||||
'value' => template::ico('pencil')
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/' . $userId,
|
||||||
]),
|
'value' => template::ico('cancel')
|
||||||
template::button('registrationUserDelete' . $userId, [
|
])
|
||||||
'class' => 'userDelete red',
|
];
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/' . $userId,
|
|
||||||
'value' => template::ico('cancel')
|
|
||||||
])
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => 'Demandes d\'inscription',
|
'title' => 'Demandes d\'inscriptions',
|
||||||
'view' => 'user'
|
'view' => 'user'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -102,12 +101,12 @@ class suscribe extends common
|
|||||||
// Accès refusé
|
// Accès refusé
|
||||||
if (
|
if (
|
||||||
// L'utilisateur n'existe pas
|
// L'utilisateur n'existe pas
|
||||||
$this->getData(['user', $this->getUrl(2)]) === null
|
$this->getData(['module', $this->getUrl(0), 'user']) === null
|
||||||
// Droit d'édition
|
// Droit d'édition
|
||||||
and (
|
and (
|
||||||
// Impossible de s'auto-éditer
|
// Impossible de s'auto-éditer
|
||||||
(
|
(
|
||||||
$this->getUser('id') === $this->getUrl(2)
|
$this->getUser('id') === 'user'
|
||||||
and $this->getUrl('group') <= self::GROUP_VISITOR
|
and $this->getUrl('group') <= self::GROUP_VISITOR
|
||||||
)
|
)
|
||||||
// Impossible d'éditer un autre utilisateur
|
// Impossible d'éditer un autre utilisateur
|
||||||
@ -128,26 +127,27 @@ class suscribe extends common
|
|||||||
) {
|
) {
|
||||||
// Modification du groupe
|
// Modification du groupe
|
||||||
$this->setData([
|
$this->setData([
|
||||||
|
'module',
|
||||||
|
$this->getUrl(0),
|
||||||
'user',
|
'user',
|
||||||
$this->getUrl(2),
|
|
||||||
[
|
[
|
||||||
'firstname' => $this->getData(['user', $this->getUrl(2), 'firstname']),
|
'firstname' => $this->getData(['module', $this->getUrl(0), 'user', 'firstname']),
|
||||||
'forgot' => 0,
|
'forgot' => 0,
|
||||||
'group' => $this->getInput('registrationUserEditGroup', helper::FILTER_INT),
|
'group' => $this->getInput('registrationUserEditGroup', helper::FILTER_INT),
|
||||||
'lastname' => $this->getData(['user', $this->getUrl(2), 'lastname']),
|
'lastname' => $this->getData(['module', $this->getUrl(0), 'user', 'lastname']),
|
||||||
'mail' => $this->getData(['user', $this->getUrl(2), 'mail']),
|
'mail' => $this->getData(['module', $this->getUrl(0), 'user', 'mail']),
|
||||||
'password' => $this->getData(['user', $this->getUrl(2), 'password']),
|
'password' => $this->getData(['module', $this->getUrl(0), 'user', 'password']),
|
||||||
'connectFail' => $this->getData(['user', $this->getUrl(2), 'connectFail']),
|
'connectFail' => $this->getData(['module', $this->getUrl(0), 'user', 'connectFail']),
|
||||||
'connectTimeout' => $this->getData(['user', $this->getUrl(2), 'connectTimeout']),
|
'connectTimeout' => $this->getData(['module', $this->getUrl(0), 'user', 'connectTimeout']),
|
||||||
'accessUrl' => $this->getData(['user', $this->getUrl(2), 'accessUrl']),
|
'accessUrl' => $this->getData(['module', $this->getUrl(0), 'user', 'accessUrl']),
|
||||||
'accessTimer' => $this->getData(['user', $this->getUrl(2), 'accessTimer']),
|
'accessTimer' => $this->getData(['module', $this->getUrl(0), 'user', 'accessTimer']),
|
||||||
'accessCsrf' => $this->getData(['user', $this->getUrl(2), 'accessCsrf'])
|
'accessCsrf' => $this->getData(['module', $this->getUrl(0), 'user', 'accessCsrf'])
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
// Notifier le user uniquement si le groupe est membre au moins membre
|
// Notifier le user uniquement si le groupe est membre au moins membre
|
||||||
if ($this->getInput('registrationUserEditGroup') >= 1) {
|
if ($this->getInput('registrationUserEditGroup') >= 1) {
|
||||||
$this->sendMail(
|
$this->sendMail(
|
||||||
$this->getData(['user', $this->getUrl(2), 'mail']),
|
$this->getData(['module', $this->getUrl(0), 'user', 'mail']),
|
||||||
'Approbation de l\'inscription',
|
'Approbation de l\'inscription',
|
||||||
'<p>' . $this->getdata(['module', $this->getUrl(0), 'config', 'mailValidateContent']) . '</p>',
|
'<p>' . $this->getdata(['module', $this->getUrl(0), 'config', 'mailValidateContent']) . '</p>',
|
||||||
null,
|
null,
|
||||||
@ -163,7 +163,7 @@ class suscribe extends common
|
|||||||
}
|
}
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'title' => $this->getData(['user', $this->getUrl(2), 'firstname']) . ' ' . $this->getData(['user', $this->getUrl(2), 'lastname']),
|
'title' => $this->getData(['module', $this->getUrl(0), 'user', 'firstname']) . ' ' . $this->getData(['user', $this->getUrl(0), 'lastname']),
|
||||||
'view' => 'edit'
|
'view' => 'edit'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -178,35 +178,18 @@ class suscribe extends common
|
|||||||
// Accès refusé
|
// Accès refusé
|
||||||
if (
|
if (
|
||||||
// L'utilisateur n'existe pas
|
// L'utilisateur n'existe pas
|
||||||
$this->getData(['user', $this->getUrl(2)]) === null
|
$this->getData(['module', $this->getUrl(0), 'user', $this->getUrl(2)]) === null
|
||||||
// Groupe insuffisant
|
// Groupe insuffisant
|
||||||
and ($this->getUrl('group') < self::GROUP_EDITOR)
|
&& $this->getUser('permission', __CLASS__, __FUNCTION__) !== true
|
||||||
) {
|
) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'access' => false
|
'access' => false
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Jeton incorrect
|
|
||||||
if (
|
|
||||||
$this->getUser('permission', __CLASS__, __FUNCTION__) !== true
|
|
||||||
) {
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'access' => false
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
// Bloque la suppression de son propre compte
|
|
||||||
elseif ($this->getUser('id') === $this->getUrl(2)) {
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/user',
|
|
||||||
'notification' => 'Impossible de supprimer votre propre compte'
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
// Suppression
|
// Suppression
|
||||||
else {
|
else {
|
||||||
$this->deleteData(['user', $this->getUrl(2)]);
|
$this->deleteData(['module', $this->getUrl(0), 'user', $this->getUrl(2)]);
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/user',
|
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/user',
|
||||||
@ -222,6 +205,11 @@ class suscribe extends common
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Traitement du formulaire
|
||||||
|
* Stocke les données du formulaire dans le module
|
||||||
|
* Envoie le mail de vérification de l'email
|
||||||
|
*/
|
||||||
// Soumission du formulaire
|
// Soumission du formulaire
|
||||||
if ($this->isPost()) {
|
if ($this->isPost()) {
|
||||||
// Drapeau de contrôle des données saisies.
|
// Drapeau de contrôle des données saisies.
|
||||||
@ -260,7 +248,8 @@ class suscribe extends common
|
|||||||
}
|
}
|
||||||
// Si tout est ok
|
// Si tout est ok
|
||||||
if ($check === true) {
|
if ($check === true) {
|
||||||
// Enregistrement temporaire du compte
|
// Enregistrement du compte dans les donénes du module
|
||||||
|
$auth = uniqid('', true);
|
||||||
$this->setData([
|
$this->setData([
|
||||||
'module',
|
'module',
|
||||||
$this->getUrl(0),
|
$this->getUrl(0),
|
||||||
@ -273,26 +262,24 @@ class suscribe extends common
|
|||||||
'password' => $this->getInput('registrationAddPassword', helper::FILTER_PASSWORD, true),
|
'password' => $this->getInput('registrationAddPassword', helper::FILTER_PASSWORD, true),
|
||||||
// pas de groupe afin de le différencier dans la liste des users
|
// pas de groupe afin de le différencier dans la liste des users
|
||||||
'timer' => time(),
|
'timer' => time(),
|
||||||
'auth' => $_SESSION['csrf'],
|
'auth' => $auth,
|
||||||
'status' => self::STATUS_AWAITING
|
'status' => self::STATUS_EMAIL_AWAITING
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
// Mail d'avertissement aux administrateurs
|
// Mail d'avertissement aux administrateurs
|
||||||
// Utilisateurs dans le groupe admin
|
// Utilisateurs dans le groupe admin
|
||||||
$to = [];
|
$to = [];
|
||||||
foreach ($this->getData(['user']) as $userId => $user) {
|
foreach ($this->getData(['user']) as $key => $user) {
|
||||||
if ($user['group'] == self::GROUP_ADMIN) {
|
if ($user['group'] == self::GROUP_ADMIN) {
|
||||||
$to[] = $user['mail'];
|
$to[] = $user['mail'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Envoi du mail
|
// Envoi du mail à l'administrateur
|
||||||
if ($to) {
|
if ($to) {
|
||||||
$messageAdmin = $this->getdata(['module', $this->getUrl(0), 'config', 'state']) ? 'Une demande d\'inscription attend l`approbation d\'un administrateur.' : 'Un nouveau membre s\'est inscrit.';
|
|
||||||
// Envoi le mail
|
|
||||||
$this->sendMail(
|
$this->sendMail(
|
||||||
$to,
|
$to,
|
||||||
'Auto-inscription sur le site ' . $this->getData(['config', 'title']),
|
'Auto-inscription sur le site ' . $this->getData(['config', 'title']),
|
||||||
'<p>' . $messageAdmin . '</p>' .
|
'<p>Un nouveau membre s\'est inscrit, son email est en attentde validation</p>' .
|
||||||
'<p><strong>Identifiant du compte :</strong> ' . $userId . ' (' . $userFirstname . ' ' . $userLastname . ')<br>' .
|
'<p><strong>Identifiant du compte :</strong> ' . $userId . ' (' . $userFirstname . ' ' . $userLastname . ')<br>' .
|
||||||
'<strong>Email :</strong> ' . $userMail . '</p>' .
|
'<strong>Email :</strong> ' . $userMail . '</p>' .
|
||||||
'<a href="' . helper::baseUrl() . 'user/login/' . strip_tags(str_replace('/', '_', $this->getUrl(0) . '/user')) . '">Validation de l\'inscription</a>',
|
'<a href="' . helper::baseUrl() . 'user/login/' . strip_tags(str_replace('/', '_', $this->getUrl(0) . '/user')) . '">Validation de l\'inscription</a>',
|
||||||
@ -303,7 +290,7 @@ class suscribe extends common
|
|||||||
|
|
||||||
// Mail de confirmation à l'utilisateur
|
// Mail de confirmation à l'utilisateur
|
||||||
// forger le lien de vérification
|
// forger le lien de vérification
|
||||||
$validateLink = helper::baseUrl(true) . $this->getUrl() . '/validate/' . $userId . '/' . $_SESSION['csrf'];
|
$validateLink = helper::baseUrl(true) . $this->getUrl() . '/validate/' . $userId . '/' . $auth;
|
||||||
// Envoi
|
// Envoi
|
||||||
$sentMailtoUser = false;
|
$sentMailtoUser = false;
|
||||||
if ($check === true) {
|
if ($check === true) {
|
||||||
@ -311,7 +298,9 @@ class suscribe extends common
|
|||||||
$userMail,
|
$userMail,
|
||||||
'Confirmation de votre inscription',
|
'Confirmation de votre inscription',
|
||||||
'<p>' . $this->getdata(['module', $this->getUrl(0), 'config', 'mailRegisterContent']) . '</p>' .
|
'<p>' . $this->getdata(['module', $this->getUrl(0), 'config', 'mailRegisterContent']) . '</p>' .
|
||||||
'<a href="' . $validateLink . '">Activer votre compte<a/>',
|
'<p><a href="' . $validateLink . '">Activer votre compte<a/>' . '</p>' .
|
||||||
|
'<p>ou copiez collez le lien suivant dans un navigateur : ' . $validateLink . '</p>'
|
||||||
|
,
|
||||||
null,
|
null,
|
||||||
$this->getData(['config', 'smtp', 'from'])
|
$this->getData(['config', 'smtp', 'from'])
|
||||||
);
|
);
|
||||||
@ -342,35 +331,53 @@ class suscribe extends common
|
|||||||
// Vérifie la session + l'id + le timer
|
// Vérifie la session + l'id + le timer
|
||||||
$check = true;
|
$check = true;
|
||||||
$notification = 'Bienvenue sur le site' . $this->getData(['config', 'title']);
|
$notification = 'Bienvenue sur le site' . $this->getData(['config', 'title']);
|
||||||
$csrf = $this->getUrl(3);
|
|
||||||
$userId = $this->getUrl(2);
|
$userId = $this->getUrl(2);
|
||||||
// Validité
|
$auth = $this->getUrl(3);
|
||||||
|
// la validité du lien est dépassé
|
||||||
if (time() - $this->getData(['module', $this->getUrl(0), 'user', $userId, 'timer']) <= (60 * $this->getdata(['module', $this->getUrl(0), 'config', 'pageTimeOut']))) {
|
if (time() - $this->getData(['module', $this->getUrl(0), 'user', $userId, 'timer']) <= (60 * $this->getdata(['module', $this->getUrl(0), 'config', 'pageTimeOut']))) {
|
||||||
$check = false;
|
$check = false;
|
||||||
$notification = 'Le lien n\'est plus valide';
|
$notification = 'La validité est dépassée';
|
||||||
}
|
}
|
||||||
if (($csrf !== $_SESSION['csrf'])) {
|
// La clé est incorrecte ou le compet a déjà été validé
|
||||||
|
if (
|
||||||
|
$check &&
|
||||||
|
($auth !== $this->getData(['module', $this->getUrl(0), 'user', $userId, 'auth'])
|
||||||
|
|| $this->getData(['module', $this->getUrl(0), 'user', $userId, 'auth']) !== self::STATUS_ACCOUNT_VALID)
|
||||||
|
) {
|
||||||
$check = false;
|
$check = false;
|
||||||
$notification = 'Identifiant ou mot de passe inconnu';
|
$notification = 'Identifiant ou mot de passe inconnu';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($check) {
|
if ($check) {
|
||||||
$this->setData([
|
if (
|
||||||
'user',
|
// Pas d'approbation par un administrateur
|
||||||
$userId,
|
$this->getData(['module', $this->getUrl(0), 'config', 'approval']) === false
|
||||||
[
|
) {
|
||||||
'firstname' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'firstname']),
|
// Créer le compte
|
||||||
'lastname' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'lastname']),
|
$this->setData([
|
||||||
'mail' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'mail']),
|
'user',
|
||||||
'password' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'password']),
|
$userId,
|
||||||
'group' => self::GROUP_MEMBER,
|
[
|
||||||
'profil' => 1,
|
'firstname' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'firstname']),
|
||||||
'forgot' => 0,
|
'lastname' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'lastname']),
|
||||||
'pseudo' => $userId,
|
'mail' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'mail']),
|
||||||
'signature' => 1,
|
'password' => $this->getData(['module', $this->getUrl(0), 'user', $userId, 'password']),
|
||||||
'language' => self::$siteContent,
|
'group' => self::GROUP_MEMBER,
|
||||||
]
|
'profil' => 1,
|
||||||
]);
|
'forgot' => 0,
|
||||||
|
'pseudo' => $userId,
|
||||||
|
'signature' => 1,
|
||||||
|
'language' => self::$siteContent,
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
// Modifier le statut dans le module
|
||||||
|
$this->setData(['module', $this->getUrl(0), 'user', $userId, 'auth', self::STATUS_ACCOUNT_VALID]);
|
||||||
|
$notification = 'Votre inscription est confirmée';
|
||||||
|
} else {
|
||||||
|
// Approbation nécessaire
|
||||||
|
$this->setData(['module', $this->getUrl(0), 'user', $userId, 'status', self::STATUS_ACCOUNT_AWAITING]);
|
||||||
|
$notification = 'L\'inscription doit être approuvée par un administrateur';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
@ -399,7 +406,7 @@ class suscribe extends common
|
|||||||
'timeOut' => $this->getInput('registrationConfigTimeOut', helper::FILTER_INT),
|
'timeOut' => $this->getInput('registrationConfigTimeOut', helper::FILTER_INT),
|
||||||
'pageSuccess' => $this->getInput('registrationConfigSuccess'),
|
'pageSuccess' => $this->getInput('registrationConfigSuccess'),
|
||||||
'pageError' => $this->getInput('registrationConfigError'),
|
'pageError' => $this->getInput('registrationConfigError'),
|
||||||
'state' => $this->getInput('registrationConfigState', helper::FILTER_BOOLEAN),
|
'approval' => $this->getInput('registrationConfigState', helper::FILTER_BOOLEAN),
|
||||||
'mailRegisterContent' => $this->getInput('registrationconfigMailRegisterContent', null, true),
|
'mailRegisterContent' => $this->getInput('registrationconfigMailRegisterContent', null, true),
|
||||||
'mailValidateContent' => $this->getInput('registrationconfigMailValidateContent', null, true),
|
'mailValidateContent' => $this->getInput('registrationconfigMailValidateContent', null, true),
|
||||||
]
|
]
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
<div class="col6">
|
<div class="col6">
|
||||||
<?php echo template::select('registrationConfigTimeOut', $module::$timeLimit , [
|
<?php echo template::select('registrationConfigTimeOut', $module::$timeLimit , [
|
||||||
'label' => 'Validité du lien',
|
'label' => 'Validité du lien',
|
||||||
'selected' => $this->getData(['module','registration',$this->getUrl(0),'config','timeOut'])
|
'selected' => $this->getData(['module',$this->getUrl(0),'config','timeOut'])
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -37,13 +37,13 @@
|
|||||||
<div class="col6">
|
<div class="col6">
|
||||||
<?php echo template::select('registrationConfigSuccess', helper::arraycollumn($this->getData(['page']), 'title', 'SORT_ASC'), [
|
<?php echo template::select('registrationConfigSuccess', helper::arraycollumn($this->getData(['page']), 'title', 'SORT_ASC'), [
|
||||||
'label' => 'Redirection après confirmation',
|
'label' => 'Redirection après confirmation',
|
||||||
'selected' => $this->getData(['module','registration',$this->getUrl(0),'config','pageSuccess'])
|
'selected' => $this->getData(['module',$this->getUrl(0),'config','pageSuccess'])
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col6">
|
<div class="col6">
|
||||||
<?php echo template::select('registrationConfigError', helper::arraycollumn($this->getData(['page']), 'title', 'SORT_ASC'), [
|
<?php echo template::select('registrationConfigError', helper::arraycollumn($this->getData(['page']), 'title', 'SORT_ASC'), [
|
||||||
'label' => 'Redirection après erreur',
|
'label' => 'Redirection après erreur',
|
||||||
'selected' => $this->getData(['module','registration',$this->getUrl(0),'config','pageError'])
|
'selected' => $this->getData(['module',$this->getUrl(0),'config','pageError'])
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -52,7 +52,7 @@
|
|||||||
<?php $messageDefault = '<p>Confirmez votre inscription en cliquant sur ce lien dans les ... minutes.</p>'; ?>
|
<?php $messageDefault = '<p>Confirmez votre inscription en cliquant sur ce lien dans les ... minutes.</p>'; ?>
|
||||||
<?php echo template::textarea('registrationconfigMailRegisterContent', [
|
<?php echo template::textarea('registrationconfigMailRegisterContent', [
|
||||||
'label' => 'Corps du mail de confirmation',
|
'label' => 'Corps du mail de confirmation',
|
||||||
'value' => !empty($this->getData(['module','registration',$this->getUrl(0),'config','mailRegisterContent'])) ? $this->getData(['module','registration',$this->getUrl(0),'config','mailRegisterContent']) : $messageDefault,
|
'value' => !empty($this->getData(['module',$this->getUrl(0),'config','mailRegisterContent'])) ? $this->getData(['module',$this->getUrl(0),'config','mailRegisterContent']) : $messageDefault,
|
||||||
'class' => 'editorWysiwyg',
|
'class' => 'editorWysiwyg',
|
||||||
'help' => 'Précisez la durée de validité. Le lien sera inséré après ces explications.'
|
'help' => 'Précisez la durée de validité. Le lien sera inséré après ces explications.'
|
||||||
]); ?>
|
]); ?>
|
||||||
@ -61,7 +61,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col6 verticalAlignMiddle">
|
<div class="col6 verticalAlignMiddle">
|
||||||
<?php echo template::checkbox('registrationConfigState', true, 'Approbation préalable', [
|
<?php echo template::checkbox('registrationConfigState', true, 'Approbation préalable', [
|
||||||
'checked' => $this->getData(['module','registration',$this->getUrl(0),'config','state']),
|
'checked' => $this->getData(['module',$this->getUrl(0),'config','approval']),
|
||||||
'help' => 'Les comptes sont inactifs tant que les inscriptions ne sont pas approuvées par un administrateur.',
|
'help' => 'Les comptes sont inactifs tant que les inscriptions ne sont pas approuvées par un administrateur.',
|
||||||
'check' => true
|
'check' => true
|
||||||
]); ?>
|
]); ?>
|
||||||
@ -72,7 +72,7 @@
|
|||||||
<?php $messageDefault = '<p>Votre inscription a été approuvée par un administrateur.</p>'; ?>
|
<?php $messageDefault = '<p>Votre inscription a été approuvée par un administrateur.</p>'; ?>
|
||||||
<?php echo template::textarea('registrationconfigMailValidateContent', [
|
<?php echo template::textarea('registrationconfigMailValidateContent', [
|
||||||
'label' => 'Corps du mail d\'approbation',
|
'label' => 'Corps du mail d\'approbation',
|
||||||
'value' =>!empty($this->getData(['module','registration',$this->getUrl(0),'config','mailValidateContent'])) ? $this->getData(['module','registration',$this->getUrl(0),'config','mailValidateContent']) : $messageDefault,
|
'value' =>!empty($this->getData(['module',$this->getUrl(0),'config','mailValidateContent'])) ? $this->getData(['module',$this->getUrl(0),'config','mailValidateContent']) : $messageDefault,
|
||||||
'class' => 'editorWysiwyg'
|
'class' => 'editorWysiwyg'
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,74 +1,37 @@
|
|||||||
<?php echo template::formOpen('registrationAddForm'); ?>
|
<?php echo template::formOpen('registrationAddForm'); ?>
|
||||||
<div class="row">
|
<div class='inputContainer'>
|
||||||
<div class="col8 offset2">
|
<?php echo template::text('registrationAddFirstname', [
|
||||||
<div class='block'>
|
'autocomplete' => 'off',
|
||||||
<h4>Identité</h4>
|
'label' => 'Prénom'
|
||||||
<div class="row">
|
]); ?>
|
||||||
<div class="col6">
|
<?php echo template::text('registrationAddLastname', [
|
||||||
<?php echo template::text('registrationAddFirstname', [
|
'autocomplete' => 'off',
|
||||||
'autocomplete' => 'off',
|
'label' => 'Nom'
|
||||||
'label' => 'Prénom'
|
]); ?>
|
||||||
]); ?>
|
<?php echo template::mail('registrationAddMail', [
|
||||||
</div>
|
'autocomplete' => 'off',
|
||||||
<div class="col6">
|
'label' => 'Adresse électronique'
|
||||||
<?php echo template::text('registrationAddLastname', [
|
]); ?>
|
||||||
'autocomplete' => 'off',
|
<?php echo template::text('registrationAddId', [
|
||||||
'label' => 'Nom'
|
'autocomplete' => 'off',
|
||||||
]); ?>
|
'label' => 'Identifiant de connexion'
|
||||||
</div>
|
]); ?>
|
||||||
</div>
|
<?php echo template::password('registrationAddPassword', [
|
||||||
<div class="row">
|
'autocomplete' => 'off',
|
||||||
<div class="col12">
|
'label' => 'Mot de passe'
|
||||||
<?php echo template::mail('registrationAddMail', [
|
]); ?>
|
||||||
'autocomplete' => 'off',
|
<?php echo template::password('registrationAddConfirmPassword', [
|
||||||
'label' => 'Adresse électronique'
|
'autocomplete' => 'off',
|
||||||
]); ?>
|
'label' => 'Confirmation du mot de passe'
|
||||||
</div>
|
]);
|
||||||
</div>
|
?>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col12">
|
<div class="col2 offset10">
|
||||||
<?php echo template::hidden('registrationAddGroup', [
|
<?php echo template::submit('registrationAddSubmit', [
|
||||||
'value' => self::GROUP_MEMBER
|
'value' => 'Envoyer',
|
||||||
]); ?>
|
'class' => 'green'
|
||||||
</div>
|
]); ?>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class='block'>
|
|
||||||
<h4>Données de connexion</h4>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col12">
|
|
||||||
<?php echo template::text('registrationAddId', [
|
|
||||||
'autocomplete' => 'off',
|
|
||||||
'label' => 'Identifiant de connexion'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col12">
|
|
||||||
<?php echo template::password('registrationAddPassword', [
|
|
||||||
'autocomplete' => 'off',
|
|
||||||
'label' => 'Mot de passe'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col12">
|
|
||||||
<?php echo template::password('registrationAddConfirmPassword', [
|
|
||||||
'autocomplete' => 'off',
|
|
||||||
'label' => 'Confirmation du mot de passe'
|
|
||||||
]);
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
</div>
|
||||||
<div class="col2 offset8">
|
<?php echo template::formClose(); ?>
|
||||||
<?php echo template::submit('registrationAddSubmit', [
|
|
||||||
'value' => 'Envoyer',
|
|
||||||
'class' => 'green'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php echo template::formClose(); ?>
|
|
Loading…
Reference in New Issue
Block a user