Addon pour le MOD Point System

Forum de développements privés.

Modérateur: Equipe

Règles du forum
A lire impérativement sur notre page : Règlement

Addon pour le MOD Point System

Messagepar titeuf51 » 18 Mai 2005 à 18:29

Bonjour tout le monde,

J'aimerai créer un petit addon pour le MOD Point System.
Il consisterait à supprimer 1 point à un membre si l'on supprime son post (sachant qu'il a gagné 1 point lorsqu'il l'a posté).

J'avais donc ajouter ceci :

Code: Tout sélectionner
		$sql = "SELECT poster_id FROM " . POSTS_TABLE . " 
			WHERE post_id = $post_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
		}
		else
		{
			while ( $row1 = $db->sql_fetchrow($result) )
			{
				$user_id = $row1['poster_id'];

				$sql = "SELECT user_points FROM " . USERS_TABLE . " 
					WHERE user_id = $user_id";
				if (!$result2 = $db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
				else
				{
					while ( $row2 = $db->sql_fetchrow($result2) )
					{
						$user_points = $row2['user_points'];
	
						$new_points = $user_points - 1;
	
						$sql = "UPDATE  " . USERS_TABLE . " 
							SET user_points = $new_points
							WHERE user_id = $user_id";
						if (!$db->sql_query($sql))
						{
							message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
						}
					}
				}
			}
		}


Dans includes/functions_post.php.

Le problème est que ça ne fonctionne pas :?
Il n'y a ni d'erreur, ni de points supprimés.

Comment corriger le bug ?

Merci d'avance.




NB : Au début, j'avais fait ce code juste pour un forum sur lequel on ne gagne qu'un point par post (pareil pour les nouveaux topics et les réponses), d'où directement ma soustration de -1, sans verification des points gagnés par post et le type de post dans la BDD.

Mais, une fois le bug corrigé, je pense tout rendre compatible et le distribuer :)
Modifié en dernier par titeuf51 le 18 Mai 2005 à 18:53, modifié 1 fois.
@+ Titeuf

Je suis de moins en moins présent sur ce forum, j'ai beaucoup de choses à faire.
Je ne peux donc pas être très actif pour un support quelconque.


On dit bien Le ridicule ne tue pas. On dit aussi Ce qui ne nous tue pas nous rend plus fort. Alors pourquoi ne pas dire Le ridicule rend plus fort ? :D
Avatar de l’utilisateur
titeuf51
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3077
Enregistré le: 29 Fév 2004 à 14:27
Localisation: France, Reims

Messagepar Oyo » 18 Mai 2005 à 18:44

montre tout ton bou de code, enfin comment il est imbriqué, j'ai eu le même probleme sur un mod que je faisais (en locurence le mien créer des donnée dans une table lorsque l'on créer un groupe via le mod de Gendo, enfin sur le principe ça reste la même chose qu'on ajoute ou qu'on supprime)
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar titeuf51 » 18 Mai 2005 à 18:55

Désolé, j'avais oublié une ligne (Enfin, si j'ai bien compris la question) :roll:
@+ Titeuf

Je suis de moins en moins présent sur ce forum, j'ai beaucoup de choses à faire.
Je ne peux donc pas être très actif pour un support quelconque.


On dit bien Le ridicule ne tue pas. On dit aussi Ce qui ne nous tue pas nous rend plus fort. Alors pourquoi ne pas dire Le ridicule rend plus fort ? :D
Avatar de l’utilisateur
titeuf51
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3077
Enregistré le: 29 Fév 2004 à 14:27
Localisation: France, Reims

Messagepar spitfire pat » 18 Mai 2005 à 19:13

je trouve que tu te compliques bien la vie, si tu acceptes le principe d'un total de points pouvant devenir négatif, une seule requête suffit:
Code: Tout sélectionner
		$sql = "UPDATE " . USERS_TABLE . " SET user_points = user_points -1 WHERE user_id = " . $post_data['poster_id'];
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
		}


et si tu ne veux pas de points négatifs, tu ajoutes comme condition
Code: Tout sélectionner
AND user_points > 0
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15297
Enregistré le: 18 Sep 2004 à 16:43
Localisation: bourgogne

Messagepar Oyo » 18 Mai 2005 à 19:20

je te demande le code entier comment tu l'a imbriquer avec le code pour supprimer les postes
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar galixte » 22 Mai 2005 à 05:47

Salut,

tu as regardé du coté de la dernière version de ce MOD ? (version 2.1.1)

Il me semble bien que cette fonction, qui logiquement devrait etre proposée par défaut, y est intégrée.

@+.
Avatar de l’utilisateur
galixte
Floodeur universel
Floodeur universel
 
Messages: 10517
Enregistré le: 08 Mar 2004 à 02:40
Localisation: Sud de la France.

Messagepar titeuf51 » 01 Juin 2005 à 22:25

Désolé, en ce moment je n'ai pas le temps de modifier des sites (donc aller voir les codes, tester autre chose...) etc.
Je répondrais à vos questions d'ici peu.
@+ Titeuf

Je suis de moins en moins présent sur ce forum, j'ai beaucoup de choses à faire.
Je ne peux donc pas être très actif pour un support quelconque.


On dit bien Le ridicule ne tue pas. On dit aussi Ce qui ne nous tue pas nous rend plus fort. Alors pourquoi ne pas dire Le ridicule rend plus fort ? :D
Avatar de l’utilisateur
titeuf51
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3077
Enregistré le: 29 Fév 2004 à 14:27
Localisation: France, Reims


Retourner vers Développements privés

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité