Transmission de données utilisateur à appli php en iframe

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Transmission de données utilisateur à appli php en iframe

    Bonjour,
    Pour transmettre les droits utilisateur à mon appli php en iframe, j'avais le code de plugin system suivant:
    Code PHP:
    <?php

    define
    ('MY_SUPER'8); // Super utilisateur
    define('MY_EDIT'11); // Editeur fichier
    define('MY_LECT'10); // Responsable (lecture sauf notes)
    define('MY_ENRG',  2); // Enregistré (lecture simplifiée) - nouveau 29/03/2016

    defined('_JEXEC') or die;

    class 
    plgSystemMyAppliLogin extends JPlugin {
        
        function 
    onAfterInitialise() {
            
    $user JFactory::getUser(); 
            if(!
    $user->guest){ // si l'utilisateur est loggé (pas un invité) 
                
    $user JFactory::getUser();
                
    setcookie('MyAppliLoginUserId'$user->idtime() + 3600);
                
    setcookie('MyAppliLoginUserName'$user->nametime() + 3600);
                
    setcookie('MyAppliLoginUserUserName'$user->usernametime() + 3600);
                
    setcookie('MyAppliLoginUserEmail'$user->emailtime() + 3600);
                
    setcookie('test'serialize($user->getAuthorisedGroups()), time() + 600);
                
                
    // Niveau d'autorisation z_fic
                
    if (in_array(MY_SUPER$user->getAuthorisedGroups())) setcookie('MyAppliLoginUserAccess'4time() + 3600); // Super utilisateur ou webmestre
                
    elseif (in_array(MY_EDIT$user->getAuthorisedGroups())) setcookie('MyAppliLoginUserAccess'3time() + 3600); // Ecriture fichier
                
    elseif (in_array(MY_LECT$user->getAuthorisedGroups())) setcookie('MyAppliLoginUserAccess'2time() + 3600); // Lecture fichier sauf notes
                
    elseif (in_array(MY_ENRG$user->getAuthorisedGroups())) setcookie('MyAppliLoginUserAccess'1time() + 3600); // Lecture simplifiée (annuaire)
            
    }
        }
    Ce code à l'inconvénient de persister en cas de déconnexion de l'utilisateur et de connexion d'un nouvel utilisateur lors de la même session.
    Je l'ai donc remplacé par un plugin user avec la fonction onUserLogin en gardant le même script à l'intérieur de la fonction.
    Le problème est que lors de la connexion d'un nouvel utilisateur, j'obtiens l'erreur suivante:
    [31-Mar-2016 22:30:40 Europe/Paris] PHP Fatal error: Cannot re-assign auto-global variable _COOKIE in C:\wamp\www\protestants\j002\plugins\user\myapplil ogin\myapplilogin.php on line 31

    [31-Mar-2016 22:30:40 Europe/Paris] PHP Stack trace:
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 1. {main}() C:\wamp\www\protestants\j002\index.php:0
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 2. JApplicationCms->execute() C:\wamp\www\protestants\j002\index.php:45
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 3. JApplicationSite->doExecute() C:\wamp\www\protestants\j002\libraries\cms\applica tion\cms.php:252
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 4. JApplicationSite->dispatch() C:\wamp\www\protestants\j002\libraries\cms\applica tion\site.php:230
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 5. JComponentHelper::renderComponent() C:\wamp\www\protestants\j002\libraries\cms\applica tion\site.php:191
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 6. JComponentHelper::executeComponent() C:\wamp\www\protestants\j002\libraries\cms\compone nt\helper.php:372
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 7. require_once() C:\wamp\www\protestants\j002\libraries\cms\compone nt\helper.php:392
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 8. JControllerLegacy->execute() C:\wamp\www\protestants\j002\components\com_users\ users.php:15
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 9. UsersControllerUser->login() C:\wamp\www\protestants\j002\libraries\legacy\cont roller\legacy.php:728
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 10. JApplicationSite->login() C:\wamp\www\protestants\j002\components\com_users\ controllers\user.php:71
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 11. JApplicationCms->login() C:\wamp\www\protestants\j002\libraries\cms\applica tion\site.php:694
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 12. JPluginHelper::importPlugin() C:\wamp\www\protestants\j002\libraries\cms\applica tion\cms.php:802
    [31-Mar-2016 22:30:40 Europe/Paris] PHP 13. JPluginHelper::import() C:\wamp\www\protestants\j002\libraries\cms\plugin\ helper.php:170
    Comme je ne maîtrise pas le code de Joomla!, je suis incapable de comprendre et d'apporter une correction.
    Sites Internet de gestion de données en php et MySQL.

  • #2
    Re : Transmission de données utilisateur à appli php en iframe



    regardes le premier commentaire....
    tu ne peut pas utiliser la variable superglobale cookies comme paramètre d'une fonction....

    quel est la ligne 31 de ton fichier ?

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X