Fork me on GitHub






module profil modification compte
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
slt,
je cherche un moyen de de notifier un module , lorsque le profile utilisateur viens d’être modifié, par le module profil.

j'ai regardé dans les tables du module profil, mais d’après moi aucune informations qui me permettent de savoir si la table a était modifiée, a moins qu'il y ai une commande mysql (je viens juste d'y pensé) , j'ai aussi regardé du coté de la table user , mais je ne vois rien qui pourrais m"aider.

qq1 a peut être une piste.

sinon il me reste la solution javascript,lorsque l'utilisateur modifie son profil, mais j'aimerais evité.

merci

A+

Posté le : 02/12/2011 08:54
Partager Twitter Partagez cette article sur GG+
Re: module profil modification compte
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
j'ai un indice en passant par mysql je peux utiliser :

SHOW TABLE STATUS FROM tabase;

avec update_time

permet de connaitre la derniere mise a jour de la table , je vais voir si çà peu fonctionner.

je suis toujours preneur d'une autre solution, mais j'y crois pas trop.


merci A+

Posté le : 02/12/2011 08:59
Partager Twitter Partagez cette article sur GG+
Re: module profil modification compte
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Un peu la seule solution que je vois - tu peux faire un hack en te basant sur le processus de communication des nouvelles inscriptions

Posté le : 03/12/2011 11:15

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: module profil modification compte
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
slt kris

j'ai résolue mon problème , par une autre solution , en fait ds l'index de mon module , dès le départ je compare ce que j'ai en bd du coté de mon module a ce qu'il y sur la table user et profile profile , c'est un peu gourmand en ressources ;-( , mais j'ai pas trouvé mieux.

donc lorsque le user passe par mon module et fait une action les données sont bien a jours.

merci
A+

Posté le : 03/12/2011 11:35
Partager Twitter Partagez cette article sur GG+
Re: module profil modification compte
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
cool,

si tu pouvais mettre ton morceau de code, cela pourrait aider ou donner des idées à certains

@+

Posté le : 03/12/2011 17:31

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: module profil modification compte
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
slt kris,
je post un bout de code mais qui sortie du contexte peut etre difficile a comprendre .

petite explication :

je récupère dans un tableau les donnée que je dois vérifier en provenance de la table user et profil ensuite je les comparent a un autre tableau que j'ai remplis avec les données stocké dans mon module.
j'utilise pour ça la puissance des fonction array_ (jadore) et tout particulièrement array_diff si il y a une différence je met ma table module a jour.

de cette façon mes données utilisateur dans la table de mon module sont toujours a jour.


// le client existe

// table du module profile et user 
    
$arrayProfileUser = array("profile_id" => $profileValue['profile_id'], "nom" => $userValue['name'], "identifiant" => $userValue['uname'], "email" => $userValue['email'], "site" => $userValue['url'], "prenom" => $profileValue['client_prenom'], "fonction" => $profileValue['client_fonction'], "client" => $profileValue['client_societe'], "adresse" => $profileValue['client_adresse'], "cp" => $profileValue['client_cp'], "ville" => $profileValue['client_ville'], "telephone" => $profileValue['client_telephone'], "tva" => $profileValue['client_tva']);



    if (
$hasClient) {

        
//le client existe on verifie si il a modifié son profil
//$arrayClient
        
$tabClient $hasClient;
        
//intersection des deux tableaux, retourne les valeurs du tableau 1
        
$arrayIntersect array_intersect_key($tabClient$arrayProfileUser);

        
//compare les deux tableaux
        
$diff array_diff($arrayProfileUser$arrayIntersect);




        
// si il existe une difference faire un update
        
if (count($diff) != 0) {

            
//mise a jour des données dans table client , signifie qu'une mise a jour du module profile ou user a était faite par le user ou l'admin
            
try{
                
                if (
$client->update($diff)) 
                {

                
$tabClient $client->getClient();
                
assign_client_variables(&$xoopsTpl, &$tabClient);
                    
                }
            
            }  catch (
Exception $e){
                
                
mail('bruno.rotrou@toto.fr''erreur '$e->getMessage().'n'.$e);

                
$message "une erreur importante est survenue, les modifiaction de vos données n'ont pas étaient prises en compte. <br />L'administrateur est prévenu";
                
$_SESSION = array();
                
// Regenerate a new session id and destroy old session
                
session_regenerate_id(true);
                
setcookie($xoopsConfig['usercookie'], 0, - 1'/'XOOPS_COOKIE_DOMAIN0);
                
setcookie($xoopsConfig['usercookie'], 0, - 1'/');
                
// clear entry from online users table
                    
if (is_object($xoopsUser)) 
                    {
                        
$online_handler = & xoops_gethandler('online');
                        
$online_handler->destroy($xoopsUser->getVar('uid'));
                    }

                
redirect_header('/modules/myhome/index.php'60$message);
                exit();
            }
            
        } else {
            
assign_client_variables($xoopsTpl$tabClient);
        }






        
// le client n'existe pas  
    
}


hope to help

Posté le : 05/12/2011 22:54
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

17 Personne(s) en ligne (9 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 17 | Plus ...