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 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
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Mar 14 Mar 2006 21:07    Sujet du message: [réglé] Classement des membres Répondre en citant

Eroan avait proposé pour Artiphp2 un classement des membres. Je trouve l'idée sympa.

Je suis entrain de la mettre au gout du jour pour Artivelocity 3.03.

A voir ici : http://www.i-voyages.net/welcome/top.php

Je bloque néanmoins sur 2 points :

1) les news et les dossiers sont soumis à validation de l'admin. du coup, c'est lui qui empauche les points. Comment résoudre ce gros problème ?
2) moins important : je souhaiterais que les membres qui n'ont pas de point ne s'affichent pas dans le classement (ce qui permettrait entre autre d'enlever l'id anonyme)

Pour le code, je vous invite à voir le poste d'Eroan.

Si quelqu'un pouvait m'aider...

Greg


Dernière édition par ivoyages le Ven 17 Mar 2006 20:07; édité 1 fois
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: Mer 15 Mar 2006 9:12    Sujet du message: Répondre en citant

Bonjour,

1°) Avant cette requête, il faut ajouter une autre requête (si elle n'existe pas déjà dans le script concerné) permettant de récupérer l'id de l'auteur de l'article, et modifier celle-ci :
Code:
$reket="update ".$extension."utilisateurs set noteUtilisateur=noteUtilisateur+1 where id_utilisateur='$SESSION_ID'";

par exemple, si le nom de la ressource est $auteur, en :
Code:
$reket="update ".$extension."utilisateurs set noteUtilisateur=noteUtilisateur+1 where id_utilisateur='$auteur->id_utilisateur'";


2°) L'exclusion des membres de la liste est déjà prévue pour des notes égales à 0. Le problème c'est qu'il faudrait pour ce champ, le paramétrer avec phpMyAdmin pour qu'il ait une valeur de 0 par défaut, et mettre à jour tous les enregistrements existants. Il est plus simple de compléter la requête comme suit :
Code:
$nooo = 1;
$requete="SELECT * FROM ".$extension."utilisateurs WHERE (noteUtilisateur!='0' OR noteUtilisateur!='') ORDER BY noteUtilisateur DESC";



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: Mer 15 Mar 2006 16:07    Sujet du message: Répondre en citant

Bonjour,

J'ai un peu dit n'importe quoi plus haut. donc je rectifie ce que j'ai dit comme suit :

Point 1 : les points s'affichent bien au membre concerné mais dès la soumission et donc avant la validation de l'admin.

Ce que je souhaiterais, c'est que les points soient ajoutés au membre après validation de l'admin.

Dans Artzone/dossiersaisie.php

j'ai donc ajouté :

Code:
//Classement des membres
//-----------
$reket="update ".$extension."utilisateurs set noteUtilisateur=noteUtilisateur+5 where id_utilisateur='$SESSION_ID' and pubDossier='1'";
$resuk=mysql_query($reket, $link);


Mais ça ne fonctionne pas

Pour les news et la galerie, je devrais a priori créer des champs dans les tables aphp_galerie et aphp_news pour pouvoir utiliser cette fonction car il ne semble pas y avoir de champ qui définisse le niveau de publication (en tout cas je n'en n'ai pas vu).


Point 2 :
Citation:
2°) L'exclusion des membres de la liste est déjà prévue pour des notes égales à 0. Le problème c'est qu'il faudrait pour ce champ, le paramétrer avec phpMyAdmin pour qu'il ait une valeur de 0 par défaut, et mettre à jour tous les enregistrements existants. Il est plus simple de compléter la requête comme suit :
Code:
$nooo = 1;
$requete="SELECT * FROM ".$extension."utilisateurs WHERE (noteUtilisateur!='0' OR noteUtilisateur!='') ORDER BY noteUtilisateur DESC";


J'ai ajouté cette portion de code mais rien ne change. Les membres à 0 points sont toujours affichés.

Par ailleurs, ce qui ont des points ne sont pas affichés par ordre décroissant.

Rappel de l'url : http://www.i-voyages.net/welcome/top.php

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: Mer 15 Mar 2006 16:13    Sujet du message: Répondre en citant

Arff! J'ai mis OR au lieu de AND dans la requête qui doit donc être :
Code:
$requete="SELECT * FROM ".$extension."utilisateurs WHERE (noteUtilisateur!='0' AND noteUtilisateur!='') ORDER BY noteUtilisateur DESC";


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: Mer 15 Mar 2006 16:47    Sujet du message: Répondre en citant

jimro a écrit:
Arff! J'ai mis OR au lieu de AND dans la requête qui doit donc être :
Code:
$requete="SELECT * FROM ".$extension."utilisateurs WHERE (noteUtilisateur!='0' AND noteUtilisateur!='') ORDER BY noteUtilisateur DESC";

jimro


Cool les membres sans point ne sont plus affichés...

Pour le reste as-tu une idée ?

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: Mer 15 Mar 2006 18:27    Sujet du message: Répondre en citant

Oui, c'est bon, sauf que le premier est celui qui a le moins de points
Tu as mis DESC ou ASC dans la requête ?

Pour le reste, ajout d'un champ dans la table dossierstemp dans lequel est stocké le nombre de points en même que le reste lors de la soumission d'un article. Et quand l'admin valide l'article, récupération des points qui sont ajoutés à ceux déjà présents dans la table utilisateurs. Bref il faudrait avoir assez de temps disponible...


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: Mer 15 Mar 2006 19:05    Sujet du message: Répondre en citant

jimro a écrit:
Oui, c'est bon, sauf que le premier est celui qui a le moins de points
Tu as mis DESC ou ASC dans la requête ?


Ben oui...

Code:
$requete="SELECT * FROM ".$extension."utilisateurs WHERE (noteUtilisateur!='0' AND noteUtilisateur!='') ORDER BY noteUtilisateur DESC";


Je vais voir le reste demain car là j'ai les neurones en compote. Je bosse sur 3/4 trucs en même temps et ça chauffe un peu trop

Mais petite question... Ok pour l'ajout du champ mais je l'appelle comment ?

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: Mer 15 Mar 2006 20:28    Sujet du message: Répondre en citant

Pour l'ordre, le champ noteUtilisateur doit être de type numérique

ivoyages a écrit:
Mais petite question... Ok pour l'ajout du champ mais je l'appelle comment ?

Ca c'est pas le plus difficile
comme tu veux.
Ensuite ce sont les requêtes à créer et à modifier, aux bons endroits qu'il faut identifier, les tests...

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: Mer 15 Mar 2006 21:12    Sujet du message: Répondre en citant

jimro a écrit:
Pour l'ordre, le champ noteUtilisateur doit être de type numérique


Ah ben oui. quel idiot j'avais mis un champ texte. J'ai mis un type int et ça fonctionne...

Citation:
ivoyages a écrit:
Mais petite question... Ok pour l'ajout du champ mais je l'appelle comment ?

Ca c'est pas le plus difficile
comme tu veux.
Ensuite ce sont les requêtes à créer et à modifier, aux bons endroits qu'il faut identifier, les tests...

jimro


Je ne parlais pas du nom mais de la façon dont celui-ci va être appelé par les requêtes. ça me semble complexe pour un newbie en php comme moi

Tu ne peux pas m'aiguiller un peu pour que je mette la main (disons le bras ) dans le cambouis... à défaut d'être enliser dans le m---e

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: Jeu 16 Mar 2006 11:21    Sujet du message: Répondre en citant

Bon, j'ai regardé de manière plus approfondie comment c'est articulé.

La première idée était la bonne mais je l'avais effacée du message : il faut créer une nouvelle table (par ex. activitenotes), et donc laisser tomber la solution dossiertemp : c'est une impasse.
Dans cette table, mettre (exemple) :
- un champ idnote, type BIGINT taille 21 (auto_increment),
- SOIT un champ nomModule (le nom du module correspondant de la table module), SOIT un champ tabModule (nom de la table contenant l'article concerné sans le préfixe $extension), type VARCHAR taille 40,
- un champ dateNote, type DATETIME (permettant de déterminer le nombre de points acquis durant une certaine période, c'était un de tes souhaits à l'origine ), valeur par défaut 0000-00-00 00:00:00
- un champ idArticle, type BIGINT taille 21,
- un champ idAuteur, type BIGINT taille 21,
- un champ points, type INT taille 4,
- un champ validNote, type TINYINT taille 4, valeur par défaut 2 (1 correspond à pris en compte, 2 à non-pris en compte)
Cette table te permettra par la suite de créer un module Activités vraiment complet, en se passant de la table utilisateurs.

Exemple avec les dossiers (et le champ tabModule)


Un auteur simple crée un nouvel article (ex. nombre de points pour un article publié : 5)

Dans le fichier artzone/dossiersaisie.php, vers la ligne 278, tu as :
Code:
   $requete="INSERT into ".$extension."dossier set titreDossier='$titre', dateDossier='$datedossier', dateDosvis='$datevisible', chapoDossier='$chapo', texteDossier='$texte', id_auteur='$statut', id_cat='$categorie', pubDossier='$publication', id_parentdos='$suitedossier'$insertimage";
   $result=mysql_query($requete, $link);

Juste après, tu ajoutes, ces requêtes :
Code:
   // Récupérer l'id du dernier article créé
   $requete="SELECT id_dossier FROM ".$extension."dossier ORDER BY id_dossier DESC LIMIT 1";
   $result=mysql_query($requete, $link);
   $resArticle=mysql_fetch_object($result);
   $idArticle=$resArticle->id_dossier;
   
   $dateNote = date("Y-m-d H:i:s");
   $requete="INSERT INTO ".$extension."activitenotes SET tabModule='dossier', dateNote='$dateNote', idArticle='$idArticle', idAuteur='$statut', points='5'";
   if ($pubDossier=="1") {
      $requete .= ", valideNote='1'";
   } else {
      $requete .= ", valideNote='2'";
   }
   $result=mysql_query($requete, $link);

   // Si l'article est publié, les points sont comptabilisés (valable pour tous les rédacteurs)
   if ($pubDossier=="1") {
      // METTRE ICI LA REQUETE PREVUE SELON LA METHODE eroan POUR COMPTABILISER LES POINTS DANS LA TABLE utilisateurs
   }


Un admin passe

L'article est correct, il le valide

Dans le fichier artzone/dossiers.php, vers la ligne 381 (section 'Publier un article'),
complète la requête SELECT avec id_auteur, ce qui donne :
Code:
if ($_GET['publier']) {
  $publier = $_GET['publier'];

  $requete="select id_dossier, id_parentdos, titreDossier, id_auteur from ".$extension."dossier where id_dossier='$publier'";
  $result=mysql_query($requete, $link);
  $dossier=mysql_fetch_object($result);

puis un peu en dessous, remplace :
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'";
  } 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'";
  }

   $result=mysql_query($requete, $link);
   $listedossiers .="<a href=\"dossierindex.php\">$LG_PAGEACCUEILMOD</a>\n";

par :
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'";
  } 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'";
  }
   $result=mysql_query($requete, $link);

   // Mise à jour de la table activiteNotes
   $requete10 = "UPDATE ".$extension."activitenotes SET valideNote='1' WHERE tabModule='dossier' AND idArticle='$publier'";
   $result10=mysql_query($requete10, $link);

   // METTRE ICI LA REQUETE PREVUE SELON LA METHODE eroan POUR COMPTABILISER LES POINTS DANS LA TABLE utilisateurs, MAIS EN FAISANT BIEN ATTENTION DE PRECISER DANS LA CLAUSE WHERE : id_utilisateur='$dossier->id_auteur'

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



L'article ne convient pas, il le supprime

Dans le fichier artzone/dossiers.php, vers la ligne 417, remplace :
Code:
  $requete="select id_dossier, titreDossier, id_parentdos from ".$extension."dossier where id_dossier='$suppid'";
  $result=mysql_query($requete, $link);
  $dossier=mysql_fetch_object($result);

  $dossier->titreDossier = stripslashes($dossier->titreDossier);

par :
Code:
   $requete="select id_dossier, titreDossier, id_parentdos, pubDossier, id_auteur from ".$extension."dossier where id_dossier='$suppid'";
   $result=mysql_query($requete, $link);
   $dossier=mysql_fetch_object($result);

   $dossier->titreDossier = stripslashes($dossier->titreDossier);

   // Suppression des points pour l'article concerné
   // Si les points ont déjà été comptabilisés, on les défalque de la table utilisateurs pour l'auteur concerné
   if ($dossier->pubDossier=='1') {
     $requete10 = "UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur-5 WHERE id_utilisateur='$dossier->id_auteur";
      $result10=mysql_query($requete10, $link);
   }
   $requete11="DELETE FROM ".$extension."activitenotes WHERE idArticle='$suppid'";
   $result11=mysql_query($requete11, $link);


Ce n'est qu'une partie du problème, car il faudrait traiter pas mal d'autres aspects et mettre en place un système anti-triche (à chaque fois que l'on change le statut d'un article...) empêchant d'ajouter des points pour un article qui a déjà été publié auparavant, éventuellement tenir compte ou non des modifications d'un article...

De très nombreuses heures de développement à prévoir.

MAIS pour faire simple, pour l'instant, le principe est de comptabiliser des points lorsqu'un article est effectivement publié et les défalquer lorsque cet article est supprimé. Donc tu peux laisser tomber la table activitenotes et toutes les requêtes qui vont avec


CE QUI DONNE EN RESUME :


Un auteur simple crée un nouvel article (ex. nombre de points pour un article publié : 5)

Dans le fichier artzone/dossiersaisie.php, vers la ligne 278, tu as :
Code:
   $requete="INSERT into ".$extension."dossier set titreDossier='$titre', dateDossier='$datedossier', dateDosvis='$datevisible', chapoDossier='$chapo', texteDossier='$texte', id_auteur='$statut', id_cat='$categorie', pubDossier='$publication', id_parentdos='$suitedossier'$insertimage";
   $result=mysql_query($requete, $link);

Juste après, tu ajoutes :
Code:
   // Si l'article est publié, les points sont comptabilisés (valable pour tous les rédacteurs, on pourrait exclure les admins en ajoutant dans la condition && $session_statut!="artadmin")
   if ($pubDossier=="1") {
      $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur+5 WHERE id_utilisateur='$SESSION_ID'";
      $resuk=mysql_query($reket, $link);
   }


Un admin passe

L'article est correct, il le valide

Dans le fichier artzone/dossiers.php, vers la ligne 381 (section 'Publier un article'),
complète la requête SELECT avec id_auteur, ce qui donne :
Code:
if ($_GET['publier']) {
  $publier = $_GET['publier'];

  $requete="select id_dossier, id_parentdos, titreDossier, id_auteur from ".$extension."dossier where id_dossier='$publier'";
  $result=mysql_query($requete, $link);
  $dossier=mysql_fetch_object($result);


puis remplace :
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'";
  } 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'";
  }

   $result=mysql_query($requete, $link);
   $listedossiers .="<a href=\"dossierindex.php\">$LG_PAGEACCUEILMOD</a>\n";

par :
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'";
  } 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'";
  }
   $result=mysql_query($requete, $link);

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

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



L'article ne convient pas, il le supprime

Dans le fichier artzone/dossiers.php, vers la ligne 417, remplace :
Code:
  $requete="select id_dossier, titreDossier, id_parentdos from ".$extension."dossier where id_dossier='$suppid'";
  $result=mysql_query($requete, $link);
  $dossier=mysql_fetch_object($result);

  $dossier->titreDossier = stripslashes($dossier->titreDossier);

par :
Code:
   $requete="select id_dossier, titreDossier, id_parentdos, pubDossier, id_auteur from ".$extension."dossier where id_dossier='$suppid'";
   $result=mysql_query($requete, $link);
   $dossier=mysql_fetch_object($result);

   $dossier->titreDossier = stripslashes($dossier->titreDossier);

   // Suppression des points pour l'article concerné
   // Si les points ont déjà été comptabilisés, on les défalque de la table utilisateurs pour l'auteur concerné
   if ($dossier->pubDossier=='1') {
      $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur-5 WHERE id_utilisateur='$dossier->id_auteur'";
      $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: Jeu 16 Mar 2006 15:07    Sujet du message: Répondre en citant

Ouaaaaahh mais tu le trouves où le temps ???

je vais essayer ça de suite

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: Jeu 16 Mar 2006 16:09    Sujet du message: Répondre en citant

Salut Jimro,

Voilà je fais le point... ça marche en partie

Ce qui fonctionne :
- Soumission d'un article + publication + ajout des points
- si modification de l'article, pas de point en plus (c'est ce que je voulais)

Ce qui pose problème :
- Après modification d'un article par un auteur, la supression ne s'effectue pas (donc pas de suppression points)

Sinon, après réflexion, je souhaiterais :

1) ouvrir le comptage de points uniquement aux membres auteur et auteur qualifié de façon à limiter la modération (et réduire les tentatives de triche). Les dossiers et les galeries ne posent pas de problème vu qu'elles ne sont ouvertes aux auteurs. Par contre, les news sont aussi ouvertes aux membres inscrits. Va donc falloir que je modifie le fichier newsaisie.php. A voir plus tard...

2) Faire en sorte que les photos passent également par la validation de l'admin pour éviter les publications abusives ous sans intérêt

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: Jeu 16 Mar 2006 17:49    Sujet du message: Répondre en citant

ivoyages a écrit:
Ce qui pose problème :
- Après modification d'un article par un auteur, la supression ne s'effectue pas (donc pas de suppression points)

Peut-être pas vraiment un problème, car il s'agit sans doute de la version modifiée (celle qui figure dans la table dossiertemp) que l'admin supprime. Dans ce cas, la version publiée antérieurement est toujours d'actualité, et il n'y a donc pas lieu de supprimer des points à ce stade. Par contre, si tu supprimes l'article déjà publié, normalement les points doivent être otés.

Citation:
Par contre, les news sont aussi ouvertes aux membres inscrits. Va donc falloir que je modifie le fichier newsaisie.php.

Pour ça il suffit d'ajouter quelques conditions sur le statut de l'utilisateur.

Citation:
Faire en sorte que les photos passent également par la validation de l'admin

Cet aspect est nettement plus compliqué. Bon courage.


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: Jeu 16 Mar 2006 18:12    Sujet du message: Répondre en citant

jimro a écrit:
ivoyages a écrit:
Ce qui pose problème :
- Après modification d'un article par un auteur, la supression ne s'effectue pas (donc pas de suppression points)

Peut-être pas vraiment un problème, car il s'agit sans doute de la version modifiée (celle qui figure dans la table dossiertemp) que l'admin supprime. Dans ce cas, la version publiée antérieurement est toujours d'actualité, et il n'y a donc pas lieu de supprimer des points à ce stade. Par contre, si tu supprimes l'article déjà publié, normalement les points doivent être otés.

Tu as tout à fait raison !!! Et tout est nickel


Citation:
Citation:
Par contre, les news sont aussi ouvertes aux membres inscrits. Va donc falloir que je modifie le fichier newsaisie.php.

Pour ça il suffit d'ajouter quelques conditions sur le statut de l'utilisateur.

Je vais de ce pas faire les modifications pour les news...

Citation:
Citation:
Faire en sorte que les photos passent également par la validation de l'admin

Cet aspect est nettement plus compliqué. Bon courage.

Oui. Je sais. Je vais comparer les tables Galerie / Dossiers et je vais essayer de pondre un truc.

En tout cas, un hypersuper merci Jimro

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: Ven 17 Mar 2006 14:58    Sujet du message: Répondre en citant

Encore moi...

j'ai quelques soucis d'intégration pour les news.

Si j'ai bien saisi l'architecture, je dois modifier les fhichiers suivants dans le répertoire Artzone :

Ajout de point :
- newsaisie.php pour la publication des news des Admin
- newsaisie2.php pour la publication des news des auteurs

Supression des points :
- Newsindex.php

C'est ok pour newsaisie.php. Par contre pour newsaisie2.php et newsindex.php, ça coince.

Voici ce que j'ai fait sur ces 2 fichiers :

Newsindex.php :

Vers la ligne 236 (Supression des données) j'ai remplacé ça :

Code:
if ($_GET['suppid']) {
   $suppid=$_GET['suppid'];
   $requete="delete from ".$extension."news where id_news='$suppid'";
   $result=mysql_query($requete, $link);
   }


par çà

Code:
if ($_GET['suppid']) {
   $suppid=$_GET['suppid'];
   
   $requete="select id_news, dateNews, titreNews, texteNews, liensNews, ordreNews, id_autnews from ".$extension."news where id_news='$suppid'";
   $result=mysql_query($requete, $link);
   $news=mysql_fetch_object($result);

   $news->titreNews = stripslashes($news->titreNews);

   // Suppression des points pour l'article concerné
   // Si les points ont déjà été comptabilisés, on les défalque de la table utilisateurs pour l'auteur concerné
   {
      $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur-3 WHERE id_utilisateur='$news->id_autnews'";
      $resuk=mysql_query($reket, $link);
   }
   
   
   $requete="delete from ".$extension."news where id_news='$suppid'";
   $result=mysql_query($requete, $link);


Newsaisie2.php
Vers la ligne 120, en dessous de ça :

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);


j'ai ajouté ça :

Code:
     // Si la news est publié, les points sont comptabilisés pour les auteurs et auteurs qualifiés")
   if ($_SESSION['SESSION_STATUT']=="auteur" && "auteurqal") {
      $reket="UPDATE ".$extension."utilisateurs SET noteUtilisateur=noteUtilisateur+3 WHERE id_utilisateur='$SESSION_ID'";
      $resuk=mysql_query($reket, $link);
   }


Mais là je ne peux même plus supprimer les news... L'endroit dans la page ne doit pas être le bon...???

Il doit y avoir des incohérences dans le code . Si tu peux encore m'aider... ça serait cool

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
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 1, 2, 3  Suivante
Page 1 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