Espace client
BD
Dans la table role
de la BD, ajouter le rôle client
:
IMPORTANT : Changez le préfixe des tables de la BD si ce n'est pas izendsms_
.
Code
Renommez le fichier actions/home.php actions/main.php.
Éditez le fichier actions/main.php.
Renommez la fonction main
.
Recréez le fichier actions/home.php avec le contenu suivant :
- require_once 'userhasrole.php';
- function home($lang) {
- if (user_has_role('client')) {
- return run('client', $lang);
- }
- return run('main', $lang);
- }
Exécute l'action client
si l'utilisateur est connecté en tant que client ou l'action main
par défaut.
Créez le fichier actions/client.php avec le contenu suivant :
- function client($lang) {
- head('title', translate('client:title', $lang));
- $banner = build('banner', $lang);
- $info = build('clientinfo', $lang);
- $content=view('client', $lang, compact('info'));
- $output = layout('standard', compact('banner', 'content'));
- return $output;
- }
Ajoutez la traduction du titre de la page dans le fichier includes/strings.inc en français et en anglais :
- 'client:title' => 'Client',
- 'client:title' => 'Client',
Le bloc clientinfo
détaille un compte client.
Créez le fichier blocks/clientinfo.php avec le contenu suivant :
- require_once 'userprofile.php';
- function clientinfo($lang) {
- $name=user_profile('name');
- $mail=user_profile('mail');
- $account_page=url('account', $lang);
- $output = view('clientinfo', $lang, compact('name', 'mail', 'account_page'));
- return $output;
- }
Ajoutez le fichier views/fr/clientinfo.phtml :
- <p><span id="clientname" title="Identification"><?php echo $name; ?></span>
- <img src="<?php echo $base_path; ?>/avatars/<?php echo $name; ?>.png" alt="" title="<?php echo $name; ?>" />
- <span id="clientmail" title="Email"><?php echo $mail; ?></span></p>
- <p class="info noprint">Pour modifier votre identifiant, votre email ou changer votre mot de passe, <a href="<?php echo $account_page; ?>" title="Modifiez vos informations personnelles">cliquez ici</a>.</p>
Ajoutez le fichier views/en/clientinfo.phtml :
- <p><span id="clientname" title="Identification"><?php echo $name; ?></span>
- <img src="<?php echo $base_path; ?>/avatars/<?php echo $name; ?>.png" alt="" title="<?php echo $name; ?>" />
- <span id="clientmail" title="Email"><?php echo $mail; ?></span></p>
- <p class="info noprint">To modify your identifier, your email or change your password, <a href="<?php echo $account_page; ?>" title="Modify your personal information">click here</a>.</p>
Ajoutez le CSS pour l'identifiant et l'adresse d'email à la fin du fichier css/theme.css :
Ajoutez le fichier views/fr/client.phtml :
- <h3>Votre compte</h3>
- <?php echo $info; ?>
Ajoutez le fichier views/en/client.phtml :
- <h3>Your account</h3>
- <?php echo $info; ?>
Ajoutez le rôle client
au paramètre de configuration $supported_roles
dans includes/config.inc :
- $supported_roles=array('administrator', 'writer', 'reader', 'moderator', 'client');
Ajoutez la traduction du rôle client
dans les fichiers views/fr/useredit.phtml et views/en/useredit.phtml :
- <?php $rolename=array('administrator' => 'administrateur', 'writer' => 'rédacteur', 'reader' => 'lecteur', 'moderator' => 'modérateur', 'client' => 'client'); ?>
- <?php $rolename=array('administrator' => 'administrator', 'writer' => 'writer', 'reader' => 'reader', 'moderator' => 'moderator', 'client' => 'client'); ?>
Autorisez la modification de son mot de passe par un utilisateur dans le fichier blocks/useredit.php :
- $with_newpassword=($user_id != 1 and $is_owner);
Créez systématiquement un compte utilisateur pour un client dans le fichier blocks/register.php :
- $user_id = $r;
- user_set_role($user_id, 'client');
Test
Connectez-vous en tant qu'administrateur. Entrez dans la partie administrative du site.
Créez un compte pour l'utilisateur barfoo
avec le mot de passe barf00
.
Revenez dans la partie administrative.
Cherchez l'utilisateur barfoo
et éditez son profil.
Vérifiez que le rôle client
est coché.
administrateur rédacteur lecteur modérateur client
Connectez-vous en tant que client avec l'identifiant barfoo
.
La page d'accueil du site affiche l'espace du client.
Votre compte
barfoo barfoo@izendsms.com
Git
- /izendsms.com
- avatars
- barfoo.png
- actions
- client.php
- home.php
- main.php
- blocks
- clientinfo.php
- register.php
- useredit.php
- css
- theme.css
- includes
- config.inc
- strings.inc
- views
- en
- client.phtml
- clientinfo.phtml
- useredit.phtml
- fr
- client.phtml
- clientinfo.phtml
- useredit.phtml
- en
- avatars
Commettez cette version :
$ git status
$ git add --update
$ git commit -m'Creates client space'
IMPORTANT : Éditez le connecteur à la BD défini dans le fichier includes/db.inc.
Commentaires