IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

Erreur de chargement du module privatemodule_action


Sujet :

MkFramework

  1. #1
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut Erreur de chargement du module privatemodule_action
    Bonjour,

    En suivant la vidéo sur le module de gestion de droits, j'ai ce message d'erreur lorsque je mets en place
    l'affichage du menu en fonction du profile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    include(../module/privatemodule_action/main.php): failed to open stream: No such file or directory
    #0 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php(432): exception_error_handler(2, 'include(../modu...', 'F:\\xampp-1835VC...', 432, Array)
    #1 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php(432): _root::autoload()
    #2 [internal function]: _root::autoload('module_privatem...')
    #3 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php(228): spl_autoload_call('module_privatem...')
    #4 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\data\genere\appliacl\public\index.php(48): _root->run()
    #5 {main}
     
    Detail:
    #0 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php (432)
    exception_error_handler( , 'include(../module/privatemodule_action/main.php): failed to open stream: No such file or directory' , 'F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php' , , Array ( [sClass] => module_privatemodule_action [tab] => Array ( [0] => module [1] => privatemodule [2] => action ) ) )
    #1 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php (432)
    _root :: autoload( )
    #2 _root :: autoload( 'module_privatemodule_action' )
    #3 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php (228)
    spl_autoload_call( 'module_privatemodule_action' )
    #4 F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\data\genere\appliacl\public\index.php (48)
    _root -> run( )
    #5 {main}
     
    Fichier : F:\xampp-1835VC11\htdocs\mkframework_v4_106_1_r264\lib\framework\class_root.php ligne 432
     
    Message : include(../module/privatemodule_action/main.php): failed to open stream: No such file or directory
     
    ....
     }else if(in_array($tab[0],array('plugin','model','abstract'))){
    430	                include self::getConfigVar('path.'.$tab[0]).$sClass.'.php';
    431	            }else if($tab[0]=='module'){
    432	                include self::getConfigVar('path.module').substr($sClass,7).'/main.php'; // cette ligne est surligné en rouge
    433	            }else if($tab[0]=='row'){
    434	                include self::getConfigVar('path.model').'model_'.substr($sClass,4).'.php';
    435	            }else if($tab[0]=='sgbd' and in_array($tab[1],array('syntax','pdo'))){
    436	                include self::getConfigVar('path.lib').'sgbd/'.$tab[1].'/'.$sClass.'.php';
    437	            }else if($tab[0]=='sgbd'){
    438	                include self::getConfigVar('path.lib').'sgbd/'.$sClass.'.php';
    439	            }else{
    440	                return false;
    441	            }
    442	            
    ....
    Cordialement

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Quand je lis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./module/privatemodule_action/main.php)
    je me demande ce qu'il y a dans le module menu

    la il doit y avoir un appel au module "privatemodule_action" ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Voici le contenu de ma méthode main du module menu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?php
    Class module_menu extends abstract_moduleembedded{
     
    	public function _index(){
     
    		$tLink=array(
    			'd&eacute;connexion' => 'auth::logout',
          'accueil' => 'default::index',
          'gestion admin' => 'rightsManager::index',
     
    		);
     
        //https://www.youtube.com/watch?v=_yjbP9ig74M&spfreload=10
        // on boucle sur les droits
    		foreach($tLink as $sLabel =>$sLink )
    		{
      		if(!_root::getACL()->can('access', $sLink)) // s'il n'a pas le droit
      		unset($tLink[$sLabel]) ; // on supprime le lien
    		}
     
    		$oView=new _view('menu::index');
    		$oView->tLink=$tLink;
     
    		return $oView;
    	}
    }
    Cordialement

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Le problème ne semble pas être ici

    Quand est-ce que vous avez ce message exactement ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,
    En mettant en commentaires les lignes, j'ai remarqué que j'ai cette erreur
    lorsqu'on exécute la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        _root::redirect('privatemodule_action');
    Voici ma fonction checkLoginPass()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
          private function checkLoginPass(){
    		//si le formulaire n'est pas envoye on s'arrete la
    		if(!_root::getRequest()->isPost() ){
    			return null;
    		}
     
    		$sLogin=_root::getParam('login');
    		$sPassword=_root::getParam('password');
     
    		if(strlen($sPassword) > $this->maxPasswordLength){
    			return 'Mot de passe trop long';
    		}
     
    		//on stoque les mots de passe hashe dans la classe model_users
    		$sHashPassword=model_users::getInstance()->hashPassword($sPassword);
    		$tAccount=model_users::getInstance()->getListAccount();
     
    		//on va verifier que l'on trouve dans le tableau retourne par notre model
    		//l'entree $tAccount[ login ][ mot de passe hashe ]
    		if(!_root::getAuth()->checkLoginPass($tAccount,$sLogin,$sHashPassword)){
    			return 'Mauvais login/mot de passe';
    		}
     
    		// gestion des droits
    		$oUser=_root::getAuth()->getAccount();
                    model_rightsManager::getInstance()->loadForUser($oUser);
                    _root::redirect('privatemodule_action');
     
    		_root::redirect('default::index');
    	}
    Pour l'instant, je ne personnalise pas le code, je suis unique le tuto vidéo sur Podcast MkFramework - Episode 13 - Builder génération ACL partie 2

    Cordialement

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 89
    Points : 95
    Points
    95
    Par défaut
    extrait de la faq


    Comment faire une redirection


    _root::redirect('module::action'[,$tParam]);



    Par exemple pour rediriger vers la page d'affichage de l'article 2


    _root::redirect('article::show',array('id'=>2) );
    il faut que tu personnalises ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _root::redirect('privatemodule_action');
    par un truc qui va ressembler a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _root::redirect('NOMDETONMODULE::NOMDETONACTION);
    je pense que ton erreur vient de la ...
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)

  7. #7
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Exact, ça
    Remplacez
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
      _root::redirect('privatemodule_action');
    par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
      _root::redirect('privatemodule::action');
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  8. #8
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    J'ai remplacé l'expression, mais j'ai toujours la même erreur.
    En regardant dans les détails de l'erreur, c'est bien indiqué que cette erreur apparaît lors de chargement dans une classe,
    du module "privatemodule" et ce dernier n'existe pas voir ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    exception_error_handler( , 'include(../module/privatemodule/main.php): failed to open stream: No such file or directory' , 'F:\xampp-1835VC11\htdocs\mkframework_v4_103_3_r254\lib\framework\class_root.php' , , Array ( [sClass] => module_privatemodule [tab] => Array ( [0] => module [1] => privatemodule ) ) ) 
    ...
    D'ailleurs dans la fonction static - public static function autoload($sClass){
    on a la ligne 432 qui est surlignée en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    432	                include self::getConfigVar('path.module').substr($sClass,7).'/main.php';
    J'ai regardé dans les modules, et je n'ai pas trouvé ce "privatemodule"
    Cordialement

  9. #9
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    C'est pas exactement la même erreur , ce n'est pas le même module qu'il ne trouve pas

    Vers quel module souhaitez-vous rediriger après authentification ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #10
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    un peu plus haut dans cette discussion, j'ai mis le code de ma méthode checkLoginPass().

    Cordialement

  11. #11
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Dans votre code, il y a une ligne en trop:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    _root::redirect('privatemodule_action');
     
    		_root::redirect('default::index');
    Enlever la première
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    		_root::redirect('default::index');
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  12. #12
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    J'ai regardé attentivement de nouveau la vidéo ACL2, et j'ai remarqué que vous ne copiez pas tout le code généré par le builder ainsi,
    il ne faut copier que les lignes ci-dessous et non la ligne " _root::redirect('privatemodule_action'); " dans la méthode checkLoginPass() du module Auth
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        // gestion des droits
        $oUser=_root::getAuth()->getAccount();
        model_rightsManager::getInstance()->loadForUser($oUser);
        //_root::redirect('privatemodule_action');
     
        _root::redirect('default::index');
    C'est la ligne de code " _root::redirect('privatemodule_action'); ", et si on regarde l'erreur, il signalait bien l'absence du module "privatemodule"
    Merci encore pour l'aide apportée.
    Cordialement

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 89
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par hadeslabs Voir le message
    Bonjour,

    J'ai regardé attentivement de nouveau la vidéo ACL2, et j'ai remarqué que vous ne copiez pas tout le code généré par le builder ainsi,
    il ne faut copier que les lignes ci-dessous et non la ligne " _root::redirect('privatemodule_action'); " dans la méthode checkLoginPass() du module Auth
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        // gestion des droits
        $oUser=_root::getAuth()->getAccount();
        model_rightsManager::getInstance()->loadForUser($oUser);
        //_root::redirect('privatemodule_action');
     
        _root::redirect('default::index');
    C'est la ligne de code " _root::redirect('privatemodule_action'); ", et si on regarde l'erreur, il signalait bien l'absence du module "privatemodule"
    Merci encore pour l'aide apportée.
    Cordialement
    petite idée, dans le builder, pourquoi ne pas ajouter un commentaire explicatif au niveau de cette ligne ..?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)

  14. #14
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Effectivement, je vais ajouter une ligne de commentaire
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TClientDataSet] Erreur de chargement du fichier MIDAS.DLL
    Par Manopower dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/08/2016, 14h08
  2. erreur de chargement du module ipmi_si
    Par rufa11 dans le forum Ubuntu
    Réponses: 0
    Dernier message: 05/05/2014, 00h24
  3. Erreur de chargement de la dll
    Par laglue dans le forum Access
    Réponses: 4
    Dernier message: 19/12/2005, 13h21
  4. [Tomcat] erreur au chargement
    Par tiPouick dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 11/08/2003, 09h17
  5. [Débutant][JNI]Erreur de chargement de dll
    Par Agifem dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 24/04/2003, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo