Artiphp - CMS open source et gratuit
Vous êtes ici » Accueil/Forum
Saisissez votre recherche
RechercherRechercher   Liste des MembresListe des Membres   S'enregistrerS'enregistrer    ProfilProfil 
Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 


[réglé] Classement des membres
Aller à la page Précédente  1, 2, 3  Suivante
 
Ce forum est verrouillé; vous ne pouvez pas poster, ni répondre, ni éditer les sujets.   Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses.    Artiloo.com Index du Forum -> Artiphp 3 Velocity
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Ven 17 Mar 2006 17:24    Sujet du message: Répondre en citant

Cela devrait être quelque chose dans ce genre :

POUR L'AJOUT DE POINTS

Admin ou auteur qualifié :

artzone/newssaisie.php vers ligne 180, compléter l'existant comme suit (attention avec l'accolade finale)
Code:
     } else {
     $SESSION_ID=$_SESSION['SESSION_ID'];
     $requete="INSERT into ".$extension."news SET titreNews='$titre', texteNews='$texte', dateNews='$date', lienNews='$liens', newsEdito='$selection', ordreNews='$ordre', id_autNews='$SESSION_ID'";

      //Ajout de points auteurqal ou artadmin
      //-------------------------------------
         $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur+3 WHERE id_utilisateur='$SESSION_ID'";
         $resuk=mysql_query($reket, $link);

     }


Auteur simple :

artzone/newssaisie2.php vers ligne 118, compléter l'existant comme suit :
Code:
  $requete="INSERT into ".$extension."news set titreNews='$titre', dateNews='$date', texteNews='$texte', lienNews='$liens', ordreNews='$ordre', id_autnews='$id_autnews'";
  $result=mysql_query($requete, $link);

      //Ajout de points auteur
      //----------------------
      $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur+3 WHERE id_utilisateur='$id_autnews'";
      $resuk=mysql_query($reket, $link);



POUR LE RETRAIT DE POINTS

artzone/newsindex.php vers ligne 240, compléter l'existant ainsi :
Code:
//----------------------
//suppression de données
//----------------------
if ($_GET['suppid']) {
   $suppid=$_GET['suppid'];

   //Ajout requête pour identifier l'auteur de la news à supprimer
   $requete10="SELECT id_autnews FROM ".$extension."news WHERE id_news='$suppid'";
   $result10=mysql_query($requete10, $link);
   $newsnote=mysql_fetch_object($result10);
   //Retrait des points pour la news concernée, auteur, auteurqal ou admin
   $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur-3 WHERE id_utilisateur='$newsnote->id_autnews'";
   $resuk=mysql_query($reket, $link);


   $requete="delete from ".$extension."news where id_news='$suppid'";
   $result=mysql_query($requete, $link);


jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Ven 17 Mar 2006 20:05    Sujet du message: Répondre en citant

MERCI JIMRO c'est impeccable....

Pour les photos, je vais laisser comme c'est actuellement avec +1 pour la publication d'une photo et -1 pour la supression. Si je dois trop modérer, je verrais éventuellement pour changer le code

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Sam 18 Mar 2006 12:38    Sujet du message: Répondre en citant

Encore moi je sais... L'équipe d'Artiloo va finir par me blacklister à force de poser des questions mais voilà j'ai encore un p'tit souci (minuscule pour les pros du php mais moi j'y arrive pas)...

Pour faciliter la modération des photos ajoutées, je souhaite qu'un mail me soit envoyé.

J'ai commencé à bosser sur le code à ajouter dans galeriesaisie.php mais j'ai 1 ou 2 soucis.

Ce qui fonctionne :- Je reçois un mail à l'ajout d'une photo
- Je récupère le titre de l'image

ce qui ne fonctionne pas :
- je ne récupère pas l'auteur et l'id de l'image

Et je ne comprends pas pourquoi...

Voici le code ajouté dans galeriesaisie.php vers la ligne 350 (en dessous de "Génération liste auteurs pour utilisateur ayant statut artadmin"

Code:
//envoi d'email à l'administration
//--------------------------------

$requete="select loginUtilisateur, from ".$extension."utilisateurs";
  $result=mysql_query($requete, $link);
  $utilisateurs=mysql_fetch_object($result);

$requete="select titreimg, id_img from ".$extension."galerie";
  $result=mysql_query($requete, $link);
  $galerie=mysql_fetch_object($result);

   if ($fonctionmail=='1')
      {
         $emailrecep="$votre_mail";
         $sujet="Ajout d'une photo ou d'un fonds d'écran";
         $message="Vous avez une photo à vérifier\n\n";
         $message .="Auteur : ". $loginUtilisateur ."\nTitre de l'image : ". $titreimg ."\nId de l'image : ". $id_img ."\n\n";
         $message .="Pour vérifier l'image : ". $votre_url ."/admin/";
         $message2=stripslashes($message);

         $headers="From: ". $mail ."\n";

         mail($emailrecep,$sujet,$message2,$headers);
      }

   if ($fonctionmail=='2')
      {
         $emailrecep="$votre_mail";
         $sujet="Ajout d'une photo ou d'un fonds d'écran";
         $message="Vous avez une photo à vérifier\n\n";
         $message .="Auteur : ". $loginUtilisateur ."\nTitre de l'image : ". $titreimg ."\nId de l'image : ". $id_img ."\n\n";
         $message .="Pour vérifier l'image : ". $votre_url ."/admin/";
         $message2=stripslashes($message);

         //$headers="From: ". $mail ."\n";
         $emailFrom = "Webmaster"; //- Ici mettez le nom de votre compte mail qui doit envoyer sans le "@nom_domaine.com"

         email($emailFrom,$email,$sujet,$message2);
      }



Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
phenix



Inscrit le: 06 Déc 2004
Messages: 817
Localisation: suisse

MessagePosté le: Sam 18 Mar 2006 13:42    Sujet du message: Répondre en citant

Hello,

Pour l'utilisateur, tu as ceci (la requete que tu fais ne fais que créer un tableau contenant TOUS les utilisateurs car tu ne précises pas de 'WHERE'):
Code:
$loginUtilisateur=$_SESSION['SESSION_USER']

et pour l'id de la photo:

Code:
$requete="select id_img from ".$extension."galerie where titreimg='$titreimg'";
  $result=mysql_query($requete, $link);
  $galerie=mysql_fetch_object($result);
$id_img = $galerie->id_img;


Tu peux donc remplacer ceci:
Code:
$requete="select loginUtilisateur, from ".$extension."utilisateurs";
  $result=mysql_query($requete, $link);
  $utilisateurs=mysql_fetch_object($result);

$requete="select titreimg, id_img from ".$extension."galerie";
  $result=mysql_query($requete, $link);
  $galerie=mysql_fetch_object($result);


par ceci:

Code:
$loginUtilisateur=$_SESSION['SESSION_USER'];

$requete="select id_img from ".$extension."galerie where titreimg='$titreimg'";
  $result=mysql_query($requete, $link);
  $galerie=mysql_fetch_object($result);
$id_img = $galerie->id_img;
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Sam 18 Mar 2006 14:18    Sujet du message: Répondre en citant

Salut Phenix,

En remplaçant par ton code, je récupère bien le login de l'utilisateur mais pas l'id_img ni le titreimg.

Le code est-il mal placé dans le fichier ?

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Sam 18 Mar 2006 14:36    Sujet du message: Répondre en citant

L'id de l'image nouvellement créée n'est pas encore connue, il faut donc le récupérer.

Essaie avec ceci :
artzone/galeriesaisie.php, vers la ligne 441, remplacer :
Code:
   // Mise à jour de l'index
   include("galerie_donnees.php");

   header("Location: galerieconfirm2.php?categorie=$categorie");
   exit();

par :
Code:
   // Mise à jour de l'index
   include("galerie_donnees.php");

   $loginUtilisateur=$_SESSION['SESSION_USER'];

   // Récupérer l'id de la dernière image ajoutée
   $requete="SELECT id_img FROM ".$extension."galerie ORDER BY id_img DESC LIMIT 1";
   $result=mysql_query($requete, $link);
   $resImg=mysql_fetch_object($result);
   $idImg=$resImg->id_img;

   if ($fonctionmail=='1') {
      $emailrecep="$votre_mail";
      $sujet="Ajout d'une photo ou d'un fonds d'écran";
      $message="Vous avez une photo à vérifier\n\n";
      $message .="Auteur : $loginUtilisateur\n";
      $message .="Titre de l'image : $titreimg\n";
      $message .="Id de l'image : $idImg\n\n";
      $message .="Pour voir l'image : $votre_url/galerie/oeuvre.php?id_img=$idImg\n";
      $message2=stripslashes($message);
      $headers="From: ". $votre_mail ."\n";
      mail($emailrecep, $sujet, $message2, $headers);
   }
   if ($fonctionmail=='2') {
      // A modifier selon le même principe
   }

   header("Location: galerieconfirm.php?categorie=$categorie");
   exit();


jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
phenix



Inscrit le: 06 Déc 2004
Messages: 817
Localisation: suisse

MessagePosté le: Sam 18 Mar 2006 14:50    Sujet du message: Répondre en citant

Hello,

Essaie ceci:

Code:
$loginUtilisateur=$_SESSION['SESSION_USER'];

$requete="select id_img from ".$extension."galerie where imgchemin='$nomimage'";
  $result=mysql_query($requete, $link);
  $galerie=mysql_fetch_object($result);
$id_img = $galerie->id_img;
if ($fonctionmail=='1')
      {
         $emailrecep="$votre_mail";
         $sujet="Ajout d'une photo ou d'un fonds d' écran";
         $message="Vous avez une photo à vérifier\n\n";
         $message .="Auteur : ". $loginUtilisateur ."\nTitre de l'image : ". $titreimg ."\nId de l'image : ". $id_img ."\n\n";
         $message .="Pour vérifier l'image : ". $votre_url ."/admin/";
         $message2=stripslashes($message);

         $headers="From: ". $mail ."\n";

         mail($emailrecep,$sujet,$message2,$headers);
      }

   if ($fonctionmail=='2')
      {
         $emailrecep="$votre_mail";
         $sujet="Ajout d'une photo ou d'un fonds d'écran";
         $message="Vous avez une photo à vérifier\n\n";
         $message .="Auteur : ". $loginUtilisateur ."\nTitre de l'image : ". $titreimg ."\nId de l'image : ". $id_img ."\n\n";
         $message .="Pour vérifier l'image : ". $votre_url ."/admin/";
         $message2=stripslashes($message);

         //$headers="From: ". $mail ."\n";
         $emailFrom = "Webmaster"; //- Ici mettez le nom de votre compte mail qui doit envoyer sans le "@nom_domaine.com"

         email($emailFrom,$email,$sujet,$message2);
      }

juste après ceci
Code:

 $requete = "INSERT INTO ".$extension."galerie SET titreimg='$titreimg', dateimg='$dateimg', texteimg='$texte',
id_artiste='$id_artiste2', id_catgalerie='$categorie' $insertimage";
   $result = mysql_query($requete, $link);


EDIT: J'ai répondu juste en voyant la réponse de ivoyage sans voir ta réponse dessous Jimro (de la précipitations). Mais je pense qu'à part la requete différente, cette réponse doit aussi fonctionner.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Sam 18 Mar 2006 15:04    Sujet du message: Répondre en citant

Pas de problème phenix

Malgré tout, le moyen le plus sûr d'identifier un enregistrement dans la table galerie c'est son id. Le titre peut exister en plusieurs exemplaires. De même pour imgchemin qui pouvait dans les précédentes versions d'ArtiGaleries être identique pour plusieurs enregistrements.

jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
phenix



Inscrit le: 06 Déc 2004
Messages: 817
Localisation: suisse

MessagePosté le: Sam 18 Mar 2006 15:11    Sujet du message: Répondre en citant

jimro a écrit:
Le titre peut exister en plusieurs exemplaires.

C'est effectivement ce que je me suis souvenu après avoir fait ma réponse.
jimro a écrit:

De même pour imgchemin qui pouvait dans les précédentes versions d'ArtiGaleries être identique pour plusieurs enregistrements.


Ca par contre tu me l'apprends
Ta requete est donc plus efficace que la mienne
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Sam 18 Mar 2006 15:32    Sujet du message: Répondre en citant

J'ai appliqué la soluce de Jimro et ça fonctionne parfaitement. encore merci !

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Sam 18 Mar 2006 23:31    Sujet du message: Répondre en citant

Depuis que j'ai installé la V3.03, les points ne se défalquent plus après supression de la photo.

Sur le V3.02, j'avais :

Code:
   //Retrait des points pour la photo concernée, auteur, auteurqal ou admin
   $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur-1 WHERE id_utilisateur='$newsnote->id_artiste'";
   $resuk=mysql_query($reket, $link);


Pensant qu'il manquait une requête, j'ai modifié comme ceci :

Code:
   //Ajout requête pour identifier l'auteur de la photo à supprimer
   $requete10="SELECT id_artiste FROM ".$extension."galerie WHERE id_img='$suppid'";
   $result10=mysql_query($requete10, $link);
   $dossier=mysql_fetch_object($result10);
   //Retrait des points pour la photo concernée, auteur, auteurqal ou admin
   $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur-1 WHERE id_utilisateur='$newsnote->id_artiste'";
   $resuk=mysql_query($reket, $link);


mais ça ne change rien... Elle est où mon erreur ?

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Dim 19 Mar 2006 9:34    Sujet du message: Répondre en citant

L'erreur, c'est de ne pas fournir la bonne id de l'utilisateur concerné. Tu appelles la ressource $dossier-> et dans la requête d'UPDATE tu la nommes $newsnote->. Comment veux-tu que le système retrouve la donnée si tu l'affectes à $dossier->id_artiste, et trois lignes plus bas, tu utilises $newsnote->id_artiste ?

Il faut fournir l'id_utilisateur de l'auteur, il se trouve que cette donnée se trouve déjà à l'endroit adéquat, en l'occurrence dans la variable $idUt ci-dessous.
Vers la ligne 236, fichier artzone/galerie.php, compléter comme suit :
Code:
   /* Diminution du nb d'oeuvres pour l'artiste */
   $requete2 = "SELECT nbAimg FROM ".$extension."galartiste WHERE idUt='$idUt'";
   $result3 = mysql_query($requete2, $link);
   $lien = mysql_fetch_object($result3);
   $ajout = $lien->nbAimg;
   $total = $ajout-1;
   $requete3 = "UPDATE ".$extension."galartiste SET nbAimg='$total' WHERE idUt='$idUt'";
   $result4 = mysql_query($requete3, $link);
   /**********************************************/

   //Retrait des points pour la photo concernée, auteur, auteurqal ou admin
   $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur-1 WHERE id_utilisateur='$idUt'";
   $resuk=mysql_query($reket, $link);


jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Dim 19 Mar 2006 10:44    Sujet du message: Répondre en citant

Je me suis complètement emmélé les pinceaux... Mais je pense avoir pigé ce que tu as dit...

C'est en faisant des erreurs qu'on progresse et je dois dire que tes nombreuses corrections m'aident bien à comprendre l'architecture du CMS

Merci

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Dim 17 Sep 2006 11:59    Sujet du message: Répondre en citant

Les modifications apportées au classement des membre fonctionne t-il a priori pour XXL ?

J'ai aussi un léger souci avec l'attribution des points pour les dossiers.

Je souhaite que chaque dossier rapporte 5 points. Lorsqu'un auteur poste un dossier A comprenant des pages attachées (A1, A2, A3), seul le dossier A se voit attribué des points.

D'avance merci pour les réponses

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Dim 17 Sep 2006 15:20    Sujet du message: Répondre en citant

Je croyais que tu ne devais plus poser de questions ce week-end

ivoyages a écrit:
Les modifications apportées au classement des membre fonctionne t-il a priori pour XXL ?

A priori oui, car pas de changements majeurs dans la zone admin.

Citation:
... Je souhaite que chaque dossier rapporte 5 points. Lorsqu'un auteur poste un dossier A comprenant des pages attachées (A1, A2, A3), seul le dossier A se voit attribué des points.

Pour attribuer des points également aux pages de suite, il faudrait sans doute essayer en modifiant ainsi dans artzone/dossiers.php :
Code:
if ($dossier->id_parentdos=='0') {
   $listedossiers="<p><font class=\"menu\">".$LG_DOSCEDOS." \"" .$dossier->titreDossier."\" ".$LG_ANNULIEN11."</font></p>\n";
   $requete="update ".$extension."dossier set pubDossier='1' where id_dossier='$publier' or id_parentdos='$publier'";

   $reqpoints="select id_dossier from ".$extension."dossier where id_dossier='$publier' or id_parentdos='$publier'";
   $respoints=mysql_query($reqpoints, $link);
   $multi_points=mysql_num_rows($respoints);
   $points = 5 * $multi_points;

} else {
   $listedossiers="<p><font class=\"menu\">".$LG_DOSCETPG." \"" .$dossier->titreDossier."\" ".$LG_ANNULIEN11."</font></p>\n";
   $requete="update ".$extension."dossier set pubDossier='1' where id_dossier='$publier'";
   $points = 5;
}
$result=mysql_query($requete, $link);

$reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur+$points WHERE id_utilisateur='$dossier->id_auteur'";
$resuk=mysql_query($reket, $link);

$listedossiers .="<a href=\"dossierindex.php\">$LG_PAGEACCUEILMOD</a>\n";



jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Ce forum est verrouillé; vous ne pouvez pas poster, ni répondre, ni éditer les sujets.   Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses.    Artiloo.com Index du Forum -> Artiphp 3 Velocity Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2, 3  Suivante
Page 2 sur 3

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com