Forum verrouillé Forum verrouillé Imprimer Syndication RSS 2.0

[MODV] - Close topic automatique par reconnaissance..

Volcan
Avatar de burster
  • Age : 2212 ans
  • Messages : 1685
  • Inscrit : 19 Mars 2005
Message édité 3 fois, dernière édition par Grummfy, 10 Janvier 2008, 4:12     Lien vers ce message 23 Juin 2006, 16:18
Décidement, j'ai les idées qui fusent moi :mdr:

Action
Toto créé un nouveau post pour demander une aide.
Une fois la réponse obtenu il aimerait bien fermé son propre post.

Demande
Si toto dit sujet clos alors (après vérification que celui qui dit ça = l'auteur du message) le message s'auto close tout seul

EDIT: J'ai mis à jour la description ici :=)

C'est le mod le plus rapide à implémenter je pense.









Ouais enfin le add-ons c'était qu'une idée.

Le principe était surtout basé sur l'auto close par l'auteur.

D'ailleurs j'ai fais un premier mod simple la dessus (mon tout premier :D publique)

/*******************************************************************************
*     MOD Author close :: version 1.0.0
*
*   ---------- Auteur --------------------------------------------------------
*   Auteur ::				Burster
*   Email ::				burster@gmail.com
*   Site Web ::				www.fire-soft-board.com
*
*   ---------- Mod -----------------------------------------------------------
*   Nom ::				Author close
*   Version ::				1.0.0
*   Compatible ::			FSB 1.0.6
*
*   Description ::			Autorise l'auteur d'un post à vérrouiler son sujet en postant le message 'sujet clos'
*
*   Temps d'installation ::	~2 minutes
*   Requete ::				Non
*   Cache ::				Oui
*   Fichiers joins ::		0
*   Fichiers à modifier ::	2
*
*   ---------- Note ----------------------------------------------------------
*	Les invités ne peuvent pas cloturer.
*       La phrase clé peut être écrite en MAJUSCULE ou minuscule sans problème
*   ---------- Historique ----------------------------------------------------
*   Commencé ::               Le 23 / 07 / 2006
*   Dernière modification ::  Le 23 / 07 / 2006
**
*******************************************************************************/

#
# [0] ---------- requete cache --------------------------------------------------
#
INSERT ac_mods FIELDS mod_name mod_version mod_description mod_auteur mod_email mod_actif VALUES 'author_close' '1.0.6' 'Auto cloture de post par son auteur' 'Burster' 'burster@gmail.com' '1';


#
# [1] ---------- ouvrir ---------------------------------------------------------
#
poster.php

#
# [2] ---------- chercher -------------------------------------------------------
#
$sql = 'SELECT forum_id, sujet_id, sujet_nom, sujet_status, sujet_type FROM ' . SUJETS_TABLE . '
			WHERE sujet_id = \'' . $sujet_id . '\'';

#
# [3] ---------- remplacer par -------------------------------------------------
#
$sql = 'SELECT forum_id, sujet_id, sujet_nom, sujet_status, sujet_type, membre_id FROM ' . SUJETS_TABLE . '
			WHERE sujet_id = \'' . $sujet_id . '\'';

#
# [4] ---------- chercher -------------------------------------------------------
#
//
// On récupère les données de ce forum, ainsi que les droits du visiteur parcourant 
// la page vis à vis de ce forum.
//
include( $racine . 'cache/fichier_moderation.php' );
$forum_a = forum_tableau($forum_id);

#
# [5] ---------- avant, ajouter -------------------------------------------------
#
// Qui est l'auteur de ce sujet ?
if ( $mode == 'reponse')
	$author_id = $forum_donnees['membre_id'];


#
# [6] ---------- chercher -------------------------------------------------------
#
else if ($membre['membre_id'] != INVITE)
				{
					$cookie_sujet = recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite'], $forum_id);
					$sujet = $cookie_sujet[$sujet_id];
					$sujet['dernier_message_temps'] = $time;
					$sujet['sujet_id'] = $sujet_id;
					$sujet['forum_id'] = $forum_id;
					marquer_sujet_lu($sujet, $membre['membre_id']);

#
# [7] ---------- apres, ajouter -------------------------------------------------
#
					
					//
					// [MOD] Author close
					//
					if ($MOD['author_close'])
					{
						if ($author_id == $membre['membre_id'])
							if (strcmp(strtolower($message_txt), $langue['author_str_toclose']) == 0)
							{
								$sql = 'UPDATE ' . SUJETS_TABLE . ' 
									SET sujet_status = \'0\' 
									WHERE sujet_id = \'' . $forum_donnees['sujet_id'] . '\'';
								if (!$bdd->requete($sql))
								{
									info($langue['er_titre'], sprintf($langue['er_update'], 'messages'), __LINE__, __FILE__, $sql);
								}
							}
							
					}
#
# [8] ---------- ouvrir -------------------------------------------------------
#
langues/fr/langue_module.php

#
# [9] ---------- chercher -------------------------------------------------------
#
?>
#
# [10] ---------- avant, ajouter -------------------------------------------------
#
// MOD Author close
$langue['author_str_toclose'] = 'sujet clos';


e-Traker
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 23 Juin 2006, 17:23
En gros c'est ce MOD : http://fire-soft-board.com/fsb/sujet-3327.html sauf que tu peux pas close ton sujet après (ce que je trouve inutile d'ailleur)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Volcan
Avatar de burster
  • Age : 2212 ans
  • Messages : 1685
  • Inscrit : 19 Mars 2005
  Lien vers ce message 23 Juin 2006, 18:12
Ouais enfin le add-ons c'était qu'une idée.

Le principe était surtout basé sur l'auto close par l'auteur.

D'ailleurs j'ai fais un premier mod simple la dessus (mon tout premier :D publique)

/*******************************************************************************
*     MOD Author close :: version 1.0.0
*
*   ---------- Auteur --------------------------------------------------------
*   Auteur ::				Burster
*   Email ::				burster@gmail.com
*   Site Web ::				www.fire-soft-board.com
*
*   ---------- Mod -----------------------------------------------------------
*   Nom ::				Author close
*   Version ::				1.0.0
*   Compatible ::			FSB 1.0.6
*
*   Description ::			Autorise l'auteur d'un post à vérrouiler son sujet en postant le message 'sujet clos'
*
*   Temps d'installation ::	~2 minutes
*   Requete ::				Non
*   Cache ::				Oui
*   Fichiers joins ::		0
*   Fichiers à modifier ::	2
*
*   ---------- Note ----------------------------------------------------------
*	Les invités ne peuvent pas cloturer.
*       La phrase clé peut être écrite en MAJUSCULE ou minuscule sans problème
*   ---------- Historique ----------------------------------------------------
*   Commencé ::               Le 23 / 07 / 2006
*   Dernière modification ::  Le 23 / 07 / 2006
**
*******************************************************************************/

#
# [0] ---------- requete cache --------------------------------------------------
#
INSERT ac_mods FIELDS mod_name mod_version mod_description mod_auteur mod_email mod_actif VALUES 'author_close' '1.0.6' 'Auto cloture de post par son auteur' 'Burster' 'burster@gmail.com' '1';


#
# [1] ---------- ouvrir ---------------------------------------------------------
#
poster.php

#
# [2] ---------- chercher -------------------------------------------------------
#
$sql = 'SELECT forum_id, sujet_id, sujet_nom, sujet_status, sujet_type FROM ' . SUJETS_TABLE . '
			WHERE sujet_id = \'' . $sujet_id . '\'';

#
# [3] ---------- remplacer par -------------------------------------------------
#
$sql = 'SELECT forum_id, sujet_id, sujet_nom, sujet_status, sujet_type, membre_id FROM ' . SUJETS_TABLE . '
			WHERE sujet_id = \'' . $sujet_id . '\'';

#
# [4] ---------- chercher -------------------------------------------------------
#
//
// On récupère les données de ce forum, ainsi que les droits du visiteur parcourant 
// la page vis à vis de ce forum.
//
include( $racine . 'cache/fichier_moderation.php' );
$forum_a = forum_tableau($forum_id);

#
# [5] ---------- avant, ajouter -------------------------------------------------
#
// Qui est l'auteur de ce sujet ?
if ( $mode == 'reponse')
	$author_id = $forum_donnees['membre_id'];


#
# [6] ---------- chercher -------------------------------------------------------
#
else if ($membre['membre_id'] != INVITE)
				{
					$cookie_sujet = recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite'], $forum_id);
					$sujet = $cookie_sujet[$sujet_id];
					$sujet['dernier_message_temps'] = $time;
					$sujet['sujet_id'] = $sujet_id;
					$sujet['forum_id'] = $forum_id;
					marquer_sujet_lu($sujet, $membre['membre_id']);

#
# [7] ---------- apres, ajouter -------------------------------------------------
#
					
					//
					// [MOD] Author close
					//
					if ($MOD['author_close'])
					{
						if ($author_id == $membre['membre_id'])
							if (strcmp(strtolower($message_txt), $langue['author_str_toclose']) == 0)
							{
								$sql = 'UPDATE ' . SUJETS_TABLE . ' 
									SET sujet_status = \'0\' 
									WHERE sujet_id = \'' . $forum_donnees['sujet_id'] . '\'';
								if (!$bdd->requete($sql))
								{
									info($langue['er_titre'], sprintf($langue['er_update'], 'messages'), __LINE__, __FILE__, $sql);
								}
							}
							
					}
#
# [8] ---------- ouvrir -------------------------------------------------------
#
langues/fr/langue_module.php

#
# [9] ---------- chercher -------------------------------------------------------
#
?>
#
# [10] ---------- avant, ajouter -------------------------------------------------
#
// MOD Author close
$langue['author_str_toclose'] = 'sujet clos';


e-Traker
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 23 Juin 2006, 18:16
Citation
if (strcmp(strtolower($message_txt), $langue['author_str_toclose']) == 0)

:mdr: On voit les gens qui ont l'habitude du C, en PHP un simple == suffit :)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Volcan
Avatar de burster
  • Age : 2212 ans
  • Messages : 1685
  • Inscrit : 19 Mars 2005
  Lien vers ce message 23 Juin 2006, 18:23
Ben oui et non car en php il existe une potentiel faille.

Je sais plus comment je l'avais faite d'ailleurs.

De tête sans tester:
Tu met ?t=coucou1544

[php]
<?php
$t = $_GET['t'];

if ($t != "coucou")
die('bitch');
echo "coucou";
?>
[/php]

Et ça t'affichera quand meme coucou. Car il regarde que le début de la chaine que tu lui passe et pas la totalité.
C'est un truc du genre, de tête... faudrait que je la retrouve cette astuce d'ailleurs.

Mais bon toi ça te concerne pas car tu utilise plutôt les simples quotes ' ' donc t'es tranquille.


e-Traker
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 23 Juin 2006, 18:53
Non c'est pas ca la faille, la faille c'est par exemple :
[php]if ("salut" == 0)
{
echo 'coucou';
}[/php]
mais tu peux la gérer en utilisant === ou bien !==


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Volcan
Avatar de burster
  • Age : 2212 ans
  • Messages : 1685
  • Inscrit : 19 Mars 2005
  Lien vers ce message 23 Juin 2006, 20:21
Comment on fait pour publier un mod? :=)


e-Traker
 
Etoile
Avatar de Ghost Warrior
  • Age : 26 ans
  • Messages : 3536
  • Inscrit : 14 Novembre 2004
  Lien vers ce message 24 Juin 2006, 0:20
Attendons que Davick passe ici pour valider le mod ;)


L'amour est aveugle, il faut donc toucher.

La mort est un état de non-existence. Ce qui n'est pas n'existe pas. Donc la mort n'existe pas.

Comment le vent sait-il dans quelle direction il doit souffler ?
 
VIP
Avatar de Korko
  • Age : 25 ans
  • Messages : 2909
  • Inscrit : 06 Octobre 2004
  Lien vers ce message 24 Juin 2006, 20:01
Burster, tu peux toujours mettre un === qui test meme si les 2 variables sont du meme type (String :p).

Mais le php quand tu compare 2 chaines doit utiliser en natif la fonction strcmp() je pense. Donc ici, un == devrait suffir.

Et oui PHP plus simple que C et Java :p


http://pp.3025-game.de/pp/FR.gif
 
Volcan
Avatar de burster
  • Age : 2212 ans
  • Messages : 1685
  • Inscrit : 19 Mars 2005
  Lien vers ce message 24 Juin 2006, 22:01
J'aime bien le Java mine de rien. Seulement sous windows la VM est lourde à gérer alors que sous linux, presque natif c'est vraiment bien.


e-Traker
 
VIP
Avatar de Dravick
  • Age : 23 ans
  • Messages : 523
  • Inscrit : 04 Mars 2005
  Lien vers ce message 25 Juin 2006, 16:56
Bah ça m'a l'air correct. Je fais un pack et j'upload.


"Take thy beak from out my heart, and take thy form from off my door!"
[list]Quoth the Raven, "Nevermore."[/list]
 
Equipe des MODS
Avatar de Grummfy
  • Age : 27 ans
  • Messages : 7057
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Juin 2006, 0:28
question ce serait pas mieux d'avoir un bouton close topic et au autre open topic?


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
Mods fsb2 - Grummfy's project - Zf Planet
 
VIP
Avatar de Dravick
  • Age : 23 ans
  • Messages : 523
  • Inscrit : 04 Mars 2005
  Lien vers ce message 29 Juin 2006, 0:30
Bah peut-être, mais ça demande des talents d'artistes pour faire les boutons (+un pour chaque thème si on veut que ça marche sur plusieurs thèmes), ça demande de modifier les fichiers TPL, bref ça complique le MOD.


"Take thy beak from out my heart, and take thy form from off my door!"
[list]Quoth the Raven, "Nevermore."[/list]
 
Equipe des MODS
Avatar de Grummfy
  • Age : 27 ans
  • Messages : 7057
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Juin 2006, 0:54
XD :ET:


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
Mods fsb2 - Grummfy's project - Zf Planet
 
Flamme ardente
Avatar de TCool
  • Age : 29 ans
  • Messages : 472
  • Inscrit : 04 Février 2005
  Lien vers ce message 29 Juin 2006, 1:41
Citation (Dravick)
Bah peut-être, mais ça demande des talents d'artistes pour faire les boutons (+un pour chaque thème si on veut que ça marche sur plusieurs thèmes), ça demande de modifier les fichiers TPL, bref ça complique le MOD.
C'est ironiques ?


TCooL TCooL
MonFSB, hébergement de son forum fsb gratuit ^^
Zoneur And PurPle développement ^^
Tous mes MOD dispo ici
 
Forum verrouillé


.