Forum CMS Made Simple FR

Version complète : Accés privé : Une page par utilisateur
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

ludix

Bonjour,
Je souhaite affilié certaines pages de mon site à des utilisateurs different : Chaque élève pourrait consulter ses notes personnelles. J'ai réussi avec FEU et Custom_content à restreindre l'accés à un groupe d'utilisateurs mais pas à un seul utilisateur. Après avoir épluché tous les forums, je n'ai toujours pas de réponses.MERCI
Citation :J'ai réussi avec FEU et Custom_content à restreindre l'accés à un groupe d'utilisateurs mais pas à un seul utilisateur
Crée un groupe d'utilisateur par élève avec un seul utilisateur.

Autrement, tu devrais pouvoir récupérer l'id du FeuUser (va prendre exemple sur cette Tag : Display user properties of Frontend Users module et faire un truc du genre:
if feuUserId=pasLeBonEleve accès refusé
else montreMoiLesResultats

StefPei

Bonjour,

moi aussi j'ai besoin d'afficher une page (privée) réservée à un seul utilisateur...
Mais j'ai 450 utilisateurs de prévus !!!
Je ne me vois pas créer 450 "groupes d'utilisateur"...

N'est-ce pas possible autrement ? ... En faisant une requète dans une Table "Utilisateurs" à l'intérieur d'une page CmsMs via une balise utilisateur ?

Est-il possible d'afficher au sein de CmsMs des données venant d'une autre base-de-données ?

Une piste ?

jpv

Bonjour,
Voici comment je procède:
<div id="content">
{cms_module module=CustomContent}
{if $ccuser->loggedin()}
{global_content name=$username}
{else}
{content}
{/if}
</div>
Chaque utilisateur a un 'global_content' qui porte son nomet qui contient son contenu privé et le contenu normal de la page contient un texte signifiant qu'il faut être connecté pour avoir accès à la partie privée.
Ceci a l'avantage de n'utiliser qu'un seul gabarit.

seb37

jpv a écrit :Bonjour,
Voici comment je procède:
<div id="content">
{cms_module module=CustomContent}
{if $ccuser->loggedin()}
{global_content name=$username}
{else}
{content}
{/if}
</div>
Chaque utilisateur a un 'global_content' qui porte son nomet qui contient son contenu privé et le contenu normal de la page contient un texte signifiant qu'il faut être connecté pour avoir accès à la partie privée.
Ceci a l'avantage de n'utiliser qu'un seul gabarit.
si je comprends bien apres identification par le module FEU l'utilisateur est rediriger vers une page qui lui est propre, il suffit pour cela simplement de creer un bloc de contenu global pour chaque utilisateur ?? c'est ça ?

Dipsy

Bonjour ,

Je déterre ce topic car je recherche également à créer des pages privées par utilisateur.
J'ai réussi à configurer le module {FrontEndUsers} et la méthode décrite dans ce topic correspond bien à ce que je veux obtenir.
Mais voilà, je suis confronté à différents pbs.

J'ai bien créer un {global_content name='nom_de_utilisateur'}
Dans mon template de page, j'ai inséré ceci :
{cms_module module=CustomContent}
{if $ccuser->loggedin()}
{global_content name=$username}
{else}
{content}
{/if}


Dans FrontEndUsers,
j'ai créé une propriété "utilisateur" :
Nom:utilisateur
Invité:utilisateur
Type:Texte
...
J'ai créé un groupe
Ensuite, j'ai créé un utilisateur associé au groupe :
Identifiant : nom_de_utilisateur
Mdp : xxxxx

Dans authentification intégrée, j'ai désactivé "l'adresse email est le nom d'utilisateur".

Donc, j'arrive bien à me logger avec le nom de l'utilisateur.
Par contre dès que je vais sur la page privée, j'ai une erreur smarty :
string(55) "Smarty error: unable to read resource: "globalcontent:""
Donc je suppose que le pb vient de {global_content name=$username} où $username n'est pas bon.

J'ai essayé de remplacer par :
{global_content name=$customcontent_loginname}
mais idem.
Vu ici : http://wiki.cmsmadesimple.org/index.php/..._End_Users

Si quelqu'un peut m'aider.

Merci

Ma config :
----------------------------------------------
Citation :Cms Version: 1.9.2

Installed Modules:

* CMSMailer: 2.0
* FileManager: 1.0.3
* MenuManager: 1.7.4
* ModuleManager: 1.4
* News: 2.11
* nuSOAP: 1.0.2
* Printing: 1.1.1
* Search: 1.6.8
* ThemeManager: 1.1.3
* TinyMCE: 2.8.2
* NFS: 1.0
* FormBuilder: 0.6.1
* Captcha: 0.4
* Gallery: 1.4.1
* CGExtensions: 1.19
* SiteMapMadeSimple: 1.2.1
* FrontEndUsers: 1.10
* CustomContent: 1.5.3


Config Information:

* php_memory_limit:
* process_whole_template: false
* output_compression: false
* max_upload_size: 32000000
* default_upload_permission: 664
* url_rewriting: none
* page_extension: .html
* query_var: page
* image_manipulation_prog: GD
* auto_alias_content: true
* locale:
* default_encoding: utf-8
* admin_encoding: utf-8
* set_names: true


Php Information:

* phpversion: 5.2.3
* md5_function: On (True)
* gd_version: 2
* tempnam_function: On (True)
* magic_quotes_runtime: Off (False)
* E_STRICT: 0
* memory_limit: 24M
* max_execution_time: 60
* output_buffering: On
* safe_mode: Off (False)
* file_uploads: On (True)
* post_max_size: 32M
* upload_max_filesize: 32M
* session_save_path: /Applications/MAMP/tmp/php (0755)
* session_use_cookies: On (True)
* xml_function: On (True)


Server Information:

* Server Api: apache2handler
* Server Db Type: MySQL (mysql)
* Server Db Version: 5.0.41

----------------------------------------------
pensez à regarder la bonne documentation Wink
http://calguy1000.com/uploads/1/Hiding_P...le-pdf.pdf

Dipsy

Merci jce76350.

En effet, c'est plus facile avec la doc.
Donc, j'ai suivi le tuto sur une installe vierge 1.9.2
Pas de pb sauf au niveau de la modification du menu "simple_navigation.tpl" en "simple-restricted".
Il est mentionné de rajouter 2 lignes de code.

{if ($node->extra1 == 'restricted' and $ccuser->loggedin()) or $node->extra1== '' }
avant {if $node->current == true}

or je n'ai pas trouvé exactement cette ligne code
mais celle-ci : {elseif $node->current == true}
Donc je l'ai placé à cet endroit.

et de rajouter à la fin
{/if}{* node->extra1 *}
que j'ai mis juste avant le {/foreach}.
Mais ça ne fonctionne pas.

J'ai également essayé de récupérer la variable $username pour afficher un bloc de contenu mais impossible.
{if $ccuser->loggedin()}
{global_content name=$username}
{else}
{content}
{/if}

Pourtant dans le gabarit de déconnexion, c'est bien cette variable qui est récupéré.
<!-- Logout form template -->
<p>{$prompt_loggedin}&nbsp;{$username}</p>
<p><a href="{$url_logout}" title="{$mod->Lang('info_logout')}">{$mod->Lang('logout')}</a></p>
<!-- Logout form template -->

J'avoue. Je suis perdu.
>En effet, c'est plus facile avec la doc.
ha tien !!
regarde aussi Création de pages privées à 2 niveaux avec CMSms
http://jc.etiemble.free.fr/abc/index.php.../private2n