Partage
  • Partager sur Facebook
  • Partager sur Twitter

Membre connecté

2 septembre 2011 à 23:05:02

Bonsoir à tous,
voici mon problème :

l'affichage dans mon espace d'administration fonctionne correctement,
c'est à dire qu'un membre connectés obtient l'affichage "en ligne" et deconnecté "hors ligne".

Par contre sur le site (fiche du membre), un membre connecté est toujours affiché "hors ligne".


Voici le code de la fonction pour l'espace d'administration :
public function admin_membre($request, $match){
$sql = 'last_login BETWEEN now() - INTERVAL 1 MINUTE AND now() ';
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql));
$id_users = array();
foreach($users as $user){
$id_users[] = $user->id;
}
$sql='1';
$str = array();
if ($request->method == 'POST') {
$sql = " pseudo LIKE '%".$request->POST['pseudo']."%' ";
$str['pseudo']=$request->POST['pseudo'];
$sql .= " AND genre like '%".$request->POST['genre']."' ";
$str['genre']=$request->POST['genre'];
$email=$request->POST['email'];
if($email!=''){
$sql .= " AND email = '$email' ";
}
$str['email']=$request->POST['email'];
if($request->POST['photo']!=""){
$str['photo']=$request->POST['photo'];
$photos = Pluf::factory('Espace_Photos')->getList();
if($photos->count()>0){
$idmbr = array();
foreach($photos as $photo){
$idmbr[]=$photo->membre;
}
if($request->POST['photo']=="1")
$sql .= sprintf(" AND id in (%s) ",implode(',',$idmbr));
else
$sql .= sprintf(" AND id not in (%s) ",implode(',',$idmbr));
}
}
}
$membre = Pluf::factory('Membre_Membre')->getList(array('filter'=>$sql,
'order' => 'id DESC'));
//echo $membre->count();
$tabnbr = array();
$parpage = 10;
$nbr = floor($membre->count()/$parpage);
if(($nbr*$parpage)<$membre->count()) $nbr++;
for($i=1; $i <= $nbr; $i++){
$tabnbr [] = $i;
}

$membres = array();
$debut = $match[1];
$compteur = 0;
foreach($membre as $mbr){
$images = Pluf::factory('Espace_Photos')->getList(array('nb'=>1,'order'=>'id ASC','filter'=>"membre=".$mbr->id));
$image = new Espace_Photos();
foreach ($images as $image);

$presentations = Pluf::factory('Membre_Valeursprofil')->getList(array('filter'=>"membre=".$mbr->id));
$presentation = new Membre_Valeursprofil();
foreach($presentations as $presentation);

$region = new Parametre_Regionwilaya($mbr->region_wilaya);
$pays = new Parametre_Pays($mbr->pays);
if(in_array($mbr->user, $id_users)||$mbr->enligne)
$enligne = 1;
else
$enligne = 0;
if(($compteur>=(($debut-1)*$parpage))&&($compteur<(($debut-1)*$parpage)+$parpage))
$membres[] = array('age'=> $mbr->birthday(),
'pseudo'=>$mbr->pseudo,
'genre'=>$mbr->genre,
'pays'=>$pays->designation,
'region'=>$region->designation,
'ville'=>$mbr->ville,
'image'=>$image->photo,
'presentation'=>$presentation,
'email'=>$mbr->email,
'valide'=>$mbr->valide,
'active'=>$mbr->active,
'enligne'=>$enligne,
'id'=>$mbr->id);
$compteur ++;
}

$context = array('page_title' => 'Membres',
'membres'=>$membres,
'user' => $request->user,
'tabnbr'=>$tabnbr,
'debut'=>$debut,
'nbr'=>$i-1,
'str'=>$str,);
return Pluf_Shortcuts_RenderToResponse('admin/admin_membre.html', $context,
$request);
}
voici le code de la fonction pour la fiche du membre
function fiche_membre($request, $match){
$membre = $this->get_membre($match[1]);
$bloquer = 1;
//echo date('Y-m-d H:i:s');
$membre_encours = Membre_Views::get_membre($request->user->id);
/***** Vérifier si abonné ******/
$sql_ab = "membre=".$membre_encours->id." AND valide=1 AND datefin >= sysdate()";
$formules = Pluf::factory('Parametre_Formules')->getList(array('filter'=>'montant=0'));
$abonnes = Pluf::factory('Membre_Abonnements')->getList(array('filter'=>$sql_ab));
if(($abonnes->count()>0) || ($membre_encours->genre=='F') || ($formules->count()>0)) $abonne = true;
else $abonne = false;
/***********************************************************/
if($membre_encours==NULL){
$url = Pluf_HTTP_URL_urlForView('Membre_Views::index',array('deconnect'));
return new Pluf_HTTP_Response_Redirect($url);
}
if($membre->id != $membre_encours->id){
$visite = new Espace_Visites();
$visite->membre = $membre;
$visite->partenaire = $membre_encours;
$visite->date_visite = gmdate('Y-m-d H:i:s');
$visite->etat = true;
$visite->create();
$subject = "Nouvelle visite";
$url_maghreb = Pluf::f('maghreb_base');
$visiteur = "<p>Visiteur :<a href='".$url_maghreb."'>".$membre_encours->pseudo."</a></p>";
if($membre->visite)
Divers_Views::envoi_mail($membre->pseudo, $subject, $membre->email, 4, $visiteur, '');
/* vérifier si emetteur est bloqué */
$sql1 = ' membre = '.$membre->id.' AND partenaire='.$membre_encours->id;
$isflashed = Pluf::factory('Espace_Blacklist')->getList(array('filter'=>$sql1));
if(count($isflashed)<=0)$bloquer = 0;
else $bloquer=1;
/******************************/
}

$membre_connected = Membre_Views::derniersconnecte(0,$membre->genre);
if($membre->enligne)
$isconnected = 1;
else
$isconnected = 0;
foreach ($membre_connected as $m ){
if($m['id'] == $membre->id)
$isconnected = 1;
}

$age = $membre->birthday();
$origine = new Parametre_Paysorigine($membre->pays_origine);
$pays = new Parametre_Pays($membre->pays);
$region = new Parametre_Regionwilaya($membre->region_wilaya);
$ville = new Parametre_Ville($membre->ville);
$user_fiche = new Pluf_User($membre->user);
$datecon = $user_fiche->last_login;
$psql1 = "membre =". $membre->id." AND profil=1 AND ok=1 ";

$photos = Pluf::factory('Espace_Photos')->getList(array('nb'=>1,'filter'=>$psql1, 'order'=>'id ASC'));
foreach($photos as $photo);
$psql2 = "membre =". $membre->id." AND ok=1 ";

$photos = Pluf::factory('Espace_Photos')->getList(array('filter'=>$psql2, 'order'=>'id ASC'));
$commence_profil = $this->commence($membre->id);
$commence_caracteres = Pluf::factory('Membre_Commencertraitcaractere')->getList(array('filter'=>'membre ='. $membre->id));
foreach($commence_caracteres as $commence_caractere);

$stylevie_profil = $this->stylevie($membre->id);

$stylevie_vives = Pluf::factory('Membre_Styleviecommentvivez')->getList(array('filter'=>'membre ='. $membre->id));
foreach($stylevie_vives as $stylevie_vive);

$stylevie_aliments = Pluf::factory('Membre_Stylevishabitudesalimentaires')->getList(array('filter'=>'membre ='. $membre->id));
foreach($stylevie_aliments as $stylevie_aliment);

$apparence_profil = $this->apparence($membre->id);

$apparence_styles = Pluf::factory('Membre_Apparencestyle')->getList(array('filter'=>'membre ='. $membre->id));
foreach($apparence_styles as $apparence_style);

$loisir_sports = Pluf::factory('Membre_Loisirssports')->getList(array('filter'=>'membre ='. $membre->id));
foreach($loisir_sports as $loisir_sport);

$loisir_activites = Pluf::factory('Membre_Loisirsactivitespartages')->getList(array('filter'=>'membre ='. $membre->id));
foreach($loisir_activites as $loisir_activite);

$valeur_profil = $this->valeur($membre->id);

$valeur_langues = Pluf::factory('Membre_Valeurslangues')->getList(array('filter'=>'membre ='. $membre->id));
foreach($valeur_langues as $valeur_langue);

$recherche = $this->recherche($membre->id);

$recherche_caracteres = Pluf::factory('Membre_JeRecherchetraitscaracteres')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherche_caracteres as $recherche_caractere);

$recherche_locals = Pluf::factory('Membre_JeRecherchedistancevivre')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherche_locals as $recherche_local);

$recherches_cheuveux = Pluf::factory('Membre_JeRecherchecouleurcheveux')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherches_cheuveux as $recherche_cheuveux);

$recherches_yeux = Pluf::factory('Membre_JeRecherchecouleuryeux')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherches_yeux as $recherche_yeux);

$recherche_physiques = Pluf::factory('Membre_JeRecherchephysique')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherche_physiques as $recherche_physique);
/****************************************/
$recherche_etudes = Pluf::factory('Membre_JeRechercheniveauetude')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherche_etudes as $recherche_etude);

$recherche_professions = Pluf::factory('Membre_JeRechercheprofession')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherche_professions as $recherche_profession);

$recherche_situations = Pluf::factory('Membre_JeRecherchesituationfamiliale')->getList(array('filter'=>'membre ='. $membre->id));
foreach($recherche_situations as $recherche_situation);
/************/
if(($membre_encours->genre==$membre->genre)&&($membre_encours->id!=$membre->id))
return new Pluf_HTTP_Response_NotFound('Pseudo introuvable !');
/**********/
return Pluf_Shortcuts_RenderToResponse('divers/fiche.html',
array('page_title' => 'Fiche membre',
'user'=>$request->user,
'membre'=>$membre,
'age'=>$age,
'origine'=>$origine,
'pays'=>$pays,
'region'=>$region,
'ville'=>$ville,
'photo'=>$photo,
'photos'=>$photos,
'nbphoto'=>count($photo),
'datecon'=>$datecon,
'commence_profil'=>$commence_profil,
'commence_caractere'=>$commence_caractere,
'stylevie_vive'=>$stylevie_vive,
'stylevie_aliment'=>$stylevie_aliment,
'stylevie_profil'=>$stylevie_profil,
'apparence_profil'=>$apparence_profil,
'apparence_style'=>$apparence_style,
'loisir_sport'=>$loisir_sport,
'loisir_activite'=>$loisir_activite,
'valeur_profil'=>$valeur_profil,
'valeur_langue'=>$valeur_langue,
'recherche'=>$recherche,
'recherche_caractere'=>$recherche_caractere,
'recherche_local'=>$recherche_local,
'recherche_yeux'=>$recherche_yeux,
'recherche_cheuveux'=>$recherche_cheuveux,
'recherche_physique'=>$recherche_physique,
'recherche_etude'=>$recherche_etude,
'recherche_profession'=>$recherche_profession,
'recherche_situation'=>$recherche_situation,
'isconnected'=>$isconnected,
'bloquer'=>$bloquer,
'abonne'=>$abonne,
));
}

En vous remerciant de votre aide,
cela fait un bon moment que je m'arrache les cheveux o_O
  • Partager sur Facebook
  • Partager sur Twitter
2 septembre 2011 à 23:21:33

Salut,

Edite ton message pour
  • -rajouter les balises de code (permettant la coloration syntaxique de ton code)... Il se peut qu'il faille que tu rajoute les balise php...
  • -mettre ton code sous la balise secret (permettant de le "caché")

afin de rendre ton post plus lisible... :-°

De plus je ne suis pas sûr que tu soit sur le bon forum... :-°
  • Partager sur Facebook
  • Partager sur Twitter
3 septembre 2011 à 8:14:50

Effectivement, aicko, ton message ne respecte pas les règles. Je t'invite donc à aller les lire, et de faire un nouveau topic dans le bon forum une fois que tu les auras comprises.

Merci de ta compréhension.
  • Partager sur Facebook
  • Partager sur Twitter