Votre espace

 



Question aléatoire
Livre d'or

Par Myster

C'est super d'avoir ouvert la nouvelle section WordPress !

Livre d'or

Statistiques

614 membres inscrits

Dernier membre:
alyha

Plus de stats

Vous soutenez CsN :


[09/05/12] Striker: €15.00

[07/05/12] o_neil90: €5.00

[30/04/12] Sonic: €5.00

[28/04/12] Striker: €15.00

[27/04/12] Xtian: €20.00

[24/04/12] Yvan.G: €5.00

[30/03/12] Xtian: €20.00

[16/03/12] Julien. P: €5.00

[16/03/12] Steph: €5.00

[12/03/12] MarcelD: €4.00

[11/03/12] Harper: €15.00

[11/03/12] French Storm: €5.00

[03/03/12] Anthony .D: €5.00

[01/03/12] Gregory. F: €5.00

[29/02/12] Xtian: €20.00

[19/02/12] Pascal .G: €5.00

[15/02/12] HaloRaptor33: €5.00

[08/02/12] Yannick.D: €5.00

[06/02/12] M-ickael: €20.00

[03/02/12] Zarkox: €5.00

[31/01/12] Pearson: €5.00

[30/01/12] Xtian: €20.00

[29/01/12] Apple-F F: €5.00

[23/01/12] Loïc.T: €5.00

[22/01/12] Obi-wan: €5.00

[18/01/12] J-Louis.O: €5.00

[06/01/12] Loïc.B: €5.00

[03/01/12] Gibbs/Phil: €25.00

[02/01/12] Xtian: €20.00


..........................................
Nous vous remercions !
..........................................
Nous soutenir ?
Mini sondage
Que cherchez vous sur CsN :










Résultats

En ligne
21 Visiteurs, 3 Membres, 2 Modérateurs, 2 Administrateurs En ligne.

Swan
saturnin
infoking1
Aoi
xtian68
lise
Sonic
unknow_bot
Total : 28
Les Commentaires.
 



Le système de commentaires fait appel a une partie du kernel qui s'occupe en grande partie de tout.
Pour avoir accès aux commentaires il y a des pré-requis :

Avoir une table propre au module, qui a des chan spécifique au commentaires.
Avoir chargé la classe qui permet son utilisation.

La partie qui concerne la table sql :
Code SQL :
	`nbr_com` int(11) UNSIGNED NOT NULL DEFAULT '0',
	`lock_com` tinyint(1) NOT NULL DEFAULT '0',


nbr_com contiens le nombre de commentaires. ( Attention a la case ce chan est remplis par le kernel)
lock_com permet de verrouillé le système de commentaires.
Ce verrou n'est pas codé, il faut le faire.


Lors de la recherche d'info en sql il faudra penser a renseigné le chan si on en interroge que certain et non tous. (*)

Je vais prendre comme exemple la galerie.

Avant la ligne 502 on trouve des références aux commentaires, mais c'est principalement pour la langue ou le trie d'affichage.

A la ligne 502 on charge la class qui défini les outils pour les commentaires :
Code PHP :
import('content/comments');


A la ligne 507 la lecture sql fait une selection du chan nbr_com. Il est précédé d'un g. due a une jointure sql.
Code PHP :
$result = $Sql->query_while("SELECT g.id, g.idcat, g.name, g.user_id, g.views, g.width, g.height, g.weight, g.timestamp, g.note, g.nbrnote, g.nbr_com, g.aprob, m.login
			FROM " . PREFIX . "gallery g


A la ligne 596 on fait passer directement le systeme de commentaire en template :
Code PHP :
'COM' => Comments::com_display_link($info_pics['nbr_com'], '../gallery/gallery' . url('.php?cat=' . $info_pics['idcat'] . '&id=' . $info_pics['id'] . '&com=0&sort=' . $g_sort, '-' . $info_pics['idcat'] . '-' . $info_pics['id'] . '.php?com=0&sort=' . $g_sort), $info_pics['id'], 'gallery'),


Il y a pas mal de chose a détaillé :
Comments::com_display_link() est une fonction qui utilise une constante de class. plus d'info sur php.net

La fonction en elle meme a besoin de : Le nombre de commentaires, l'url de la page, l'id (qui lie a cet élément), Le nom du module/dossier du module. et en fin optionnellement des option non utiliser.

Code PHP :
com_display_link($nbr_com,$path,$idprov,$script,$options=0)



A la ligne 642 on a la meme chose mais par un controle d'envoi de n° d'un commentaire
Code PHP :
				//Commentaires
				if (isset($_GET['com']))
				{
					$Template->assign_vars(array(
						'COMMENTS' => display_comments('gallery', $g_idpics, url('gallery.php?cat=' . $g_idcat . '&id=' . $g_idpics . '&com=%s', 'gallery-' . $g_idcat . '-' . $g_idpics . '.php?com=%s'))
					));
				}


Ligne 712 on a encore la meme chose mais soumise a la condition d'avoir une variable lier au chan lock_com (plus haut dans le code)
Code PHP :
'COM' => ($CONFIG_GALLERY['activ_com'] == 1) ? '<br />' . Comments::com_display_link($row['nbr_com'], '../gallery/gallery' . url('.php?cat=' . $row['idcat'] . '&amp;id=' . $row['id'] . '&amp;com=0', '-' . $row['idcat'] . '-' . $row['id'] . '.php?com=0'), $row['id'], 'gallery') : '',


Avec ses info le systeme de commentaire est oprationnel.
il n'y a rien a inclure pour la gestion de l'enregistrement des commentaire en sql, c'est fait directement par le kernel.
Les commentaires sont stoquer dans une table a part des modules.
la table a un chan qui permet de retrouver le module, l'id, et d'autre choses a qui est lier le commentaire.

 
Cette page a été vue 118 fois   |   Dernières modifications par : saturnin