We build. You grow.

Get best community software here

Start a social network, a fan-site, an education project with oxwall - free opensource community software

Recevoir ses informations dans une page php | Forum

Driven
Driven May 26 '15
Bonjour,


Cela fait plusieurs heures que je cherche à créer une page php et je n'y arrive pas.


Je m'explique:

Je cherche à créer une page php attaché à Oxwall qui permets de récupérer les informations du compte de l'utilisateur connecté la naviguant afin de faire une redirection vers une url avec le pseudo et le password crypté en paramètres.


Je n'arrive pas à faire en sorte d'avoir les informations dans ma page php.

Je fais appel à vous en espérant que vous pourrez m'aider.


Je vous remercie par avance.

Cordialement,

Norias
Norias May 27 '15
Peut-être que ce thread peut aider :


http://www.oxwall.org/forum/topic/6774


Je me souviens avoir vu passer plusieurs fois la question dans le forum "custom code modification", mais là je n'ai pas le temps de chercher :/

Stéphane MORICO
Stéphane MORICO Jul 29 '15
Bonjour,

Je vous conseille de lire l'article sur la création de plugin oxwall sur https://docs.oxwall.org/dev:crash-course

Le routage se fait dans les fichiers init.php de votre plugin et les redirections peuvent se faire dans le contrôleur

Un reroutage peut être fait par une ligne de type :

$this->redirect(OW::getRouter()->urlForRoute('monmodule.index'));

Vous pouvez obtenir les infos dans votre contrôleur ou composant (classe de votre plugin et fonction __construct) avec :

exemple pour récupération uid et prénom de l'utilisateur en cours :

$userid = OW::getUser()->getId();
$prenom = BOL_UserService::getInstance()->getDisplayName($userid);

Exemple pour récupérer l'âge dans les questions de profil :

$questionNameList = array ('birthdate');
$questionData = BOL_QuestionService::getInstance()->getQuestionData(array($userid), $questionNameList);
        if ($questionData[$userid]['birthdate']) {
            $birthdate = $questionData[$userid]['birthdate'];
            $date = UTIL_DateTime::parseDate($birthdate, UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT);
            $age = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']);
        } else {
            $age = '';
        }

Pour l'affichage si besoin (ou debug) Oxwall utilise smarty, vous devez donc précharger votre code par un contrôleur ou composant si vous voulez afficher ces informations dans un template html donc il faut impérativement ajouter :

$this->assign('prenom', $prenom);
$this->assign('age', $age);

en fin de fonction pour pouvoir afficher les informations age et prenom dans le template

Vous pourrez ensuite afficher le prenom et age (par exemple) dans votre template html :

        {$prenom}
       
        {if $age}
        ({$age} ans)
        {/if}

Je vous conseillerai de télécharger le plugin gratuit skeleton destiné aux développeurs qui contient pas mal de code exemple pour démarrer : http://www.oxwall.org/store/item/695

Cordialement,

S. MORICO