Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[SUPPORT]Visites

Feu follet
Avatar de Automate FSB
  • Messages : 178
  • Inscrit : 09 Juin 2005
Message édité 1 fois, dernière édition par Grummfy, 10 Janvier 2008, 3:04     Lien vers ce message 11 Juin 2005, 20:11
Le support de ce MOD s'effectue uniquement à la suite de ce topic, afin de regrouper au maximum les réponses aux problèmes posés.
  1. [size=18]Données du MOD :[/size]
    1. Nom : MOD Visites
    2. Version : 1.0.0
    3. Installation : 10 minute(s)
    4. Cache : oui
    5. Requètes SQL : non
    6. Description : Ce MOD permet de rajouter un compteur de visites sur l'index de votre forum dans le qui est en ligne. Il rajoute également un menu dans le panneau d'administration avec tous les invités et membres ayant visité votre forum ainsi que leur adresse IP et l'heure a laquelle ils l'ont visité. Possibilité de remettre le compteur a zéro depuis le panneau d'administration.

    7. Fiche du MOD : http://www.fire-soft-board.com/fiche_mods.php?mod=47
    8. Télécharger le MOD : http://www.fire-soft-board.com/telecharger_mod.php?mod=47




  2. [size=18]Données de l'auteur :[/size]
    1. Auteur : Edouard
    2. Contact : http://www.fire-soft-board.com/images/mail.gif http://www.fire-soft-board.com/images/mp.gif


Inutile de me parler, je ne suis qu'un robot :p
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 18:13
Je crois que j'ai un problème avec ce mode. Je l'ai installé et tout marchait depuis 1 petite semaine. Je rentre aujourdhui, je vais voir le forum et la je vois un message au dessus de ma page.

Warning: Invalid argument supplied for foreach() in /var/www/free.fr/6/d/brigadeouest/fsb/includes/class/class_cache.php on line 85


Ce message apparait sur toutes les pages que le visiteur peut voir, mais aussi dans l'admin quand je remet a zéro.

Je n'ai rien touché, je ne comprend pas . :O
 
Volcan
Avatar de Mido
  • Age : 32 ans
  • Messages : 1836
  • Inscrit : 28 Janvier 2005
  Lien vers ce message 15 Juin 2005, 18:15
je crains qu'un fichier du cache soit corrompu... class_cache.php, par exemple ?

Mido...


http://www.loutan.net/ub/encyclo.gif
http://www.loutan.net/ub/ludivers.gif
http://www.loutan.net/ub/yves.gif
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 18:17
ok mais est ce qu'on peut le corriger??
 
Volcan
Avatar de Mido
  • Age : 32 ans
  • Messages : 1836
  • Inscrit : 28 Janvier 2005
  Lien vers ce message 15 Juin 2005, 18:26
Si tu nous montre le contenu, peut-être... ?

Mido...


http://www.loutan.net/ub/encyclo.gif
http://www.loutan.net/ub/ludivers.gif
http://www.loutan.net/ub/yves.gif
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 18:37
ligne 85 correspond au code suivant : foreach($tab[0] AS $k => $v)

<?php
/*******************************************************************************
*
*		    [ ./includes/class/class_cache.php (français) ]
*
*	--------------------------------------------------------------------------
*	Commencé le : 	20 septembre 2004
*	Copyright : 	Groupe Fire Soft Board
*	Site Web : 		http://www.fire-soft-board.com
*	E-mail : 		support@fire-soft-board.com
*	--------------------------------------------------------------------------
*	Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les 
*	termes de la Licence Publique Générale GNU publiée par la Free Software Foundation 
*	(version 2). Reportez-vous à  la Licence Publique Générale GNU pour plus de détails. 
*	Vous devez avoir reçu une copie de la Licence Publique Générale GNU en même temps 
*	que ce programme ; si ce n'est pas le cas, écrivez à  la Free Software Foundation, 
*	Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, à‰tats-Unis. 
*	--------------------------------------------------------------------------
*
*	Derniére modification le 1 avril 2005 par Genova FSB v1.0.0
*	Templates : 0
*
*******************************************************************************/

/*
** Classe permettant l'écriture de tableux PHP dans un fichier.
** La représentation est similaire à  celle d'une table de base de donnée,
** a savoir une numérotation des lignes en indice et pour chacun des lignes un champ
** associé à  la donnée qu'il contient.
** Les tableaux sont chargés dynamiquement, pour rajouter donc un élément à  un tableau il
** faut regénérer le fichier de cache avec les champs en plus.
*/

class cache
{
	var $dir;
	var $code_to_write = '';

	/*
	** Constructeur, assigne un répertoire
	*/
	function cache($dir)
	{
		$this->dir = $dir;
	}

	/*
	** Ecrit le tableau passé en argument dans le cache en utilisant sa fonction spécifique
	** -----
	** $data :: Tableau à  écrire
	** $function :: Nom de la table
	** $count_data :: Argument obsolète
	*/
	function write_in_cache($data, $function, $count_data = 0)
	{
		if (!$this->is_aborting())
		{
			$this->code_to_write = "<?php\n" . $this->obtain_cache_code($data, $function) . "\n?>";
			$this->write_data($this->code_to_write, $this->dir . 'fichier_' . $function . '.php');
		}
		else
		{
			die('La connexion a été intérompue, aucune donnée n\'a été écrite dans les fichiers');
		}
	}

	/*
	** génère le code à  écrire dans le fichier cache
	** -----
	** $data :: Tableau à  écrire
	** $function :: Nom de la table
	*/
	function obtain_cache_code($tab, $function)
	{
		$fields = 'fields_' . $function;
		global $$fields;
  
		if (count($$fields))
		{
			$code = get_array_code($$fields, 'fields_' . $function) . "\n";
		}
		else
		{
			$tmp = array();
			foreach($tab[0] AS $k => $v)
			{
				$tmp[] = $k;
			}
			$code = get_array_code($tmp, 'fields_' . $function) . "\n";
		}
  
		$code .= get_array_code($tab, $function) . "\n";
		$code .= '$compte_' . $function . ' = count($' . $function . ');';
		return ($code);
	}

	/*
	** Vérifie si la connexion n'a pas été intérompue (afin de ne pas corrompre un fichier)
	*/
	function is_aborting()
	{
		@ignore_user_abort(1);
		return (@connection_aborted() ? TRUE : FALSE);
	}

	/*
	** Ecrit des données dans un fichier
	** -----
	** $code :: Le texte à  écrire
	** $file :: Le fichier dans lequel écrire le texte
	*/
	function write_data($code, $file)
	{
		@umask(0);
		@chmod($file, 0666);
		$handle = @fopen($file, 'w');
		@flock($handle, LOCK_EX);
		if (@fwrite($handle, $code))
		{
			@fflush($handle);
			@flock($handle, LOCK_UN);
			@fclose($handle);
			@chmod($file, 0666);
			unset($code);
			return (TRUE);
		}
		else
		{
			die('Impossible d\'écrire dans le fichier ' . $file);
		}
	}

	/*
	** Convertit un tableau de cache en tableau associatif.
	** Le tableau de base ne doit comporter que deux champs par
	** ligne, avec comme clef 'name' et 'value'.
	** -----
	** $tab :: Tableau à  convertir
	*/
	function convert_to_simple_array($tab)
	{
		$new_tab = array();
		foreach ($tab AS $v)
		{
			$new_config[$v['name']] = $v['value'];
		}
		return ($new_config);
	}

	/*
	** Convertit le tableau associatif en tableau de cache.
	** Le tableau doit être de la forme
	** $tab = array('k' => 'v', 'k' => 'v', 'k' => 'v', etc ...);
	** -----
	** $tab :: Tableau à  convertir
	*/
	function convert_to_normal_array($tab)
	{
		$new_tab = array();
		$k = 0;
		foreach ($tab AS $key => $value)
		{
			$new_tab[$k]['name'] = $key;
			$new_tab[$k]['value'] = $value;
			$k++;
		}
		return ($new_tab);
	}
}

?>
 
Brasier
Avatar de Edouard
  • Age : 88 ans
  • Messages : 734
  • Inscrit : 22 Avril 2005
  Lien vers ce message 15 Juin 2005, 18:48
Ca ne veint pas de ce fichier ;)
Tu dois avoir une erreur dans un fichier qui utilise le cache.
Montre moi ton fichier includes/header_forum.php STP :)


Pas de support par MSN, ou par MP

Web Coding

Fire Soft Board (FSB pour les intimes :p)

Mes MODs:
Bannieres Aléatoires - Add Link - Forum Image - Description Sujet - Add-On Description Sujet - MP - Sujet Smilies - MOD Visites - MOD Liens - MOD ChatBox - MOD Tuto Management - MOD Derniers Sujets - MOD Messages Forum - MOD Chat
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 18:54
<?php
/*******************************************************************************
*
*		    [ ./includes/fonctions_upload.php (français) ]
*
*	--------------------------------------------------------------------------
*	Commencé le : 	28 juillet 2004
*	Copyright : 	Groupe Fire Soft Board
*	Site Web : 		http://www.fire-soft-board.com
*	E-mail : 		support@fire-soft-board.com
*	--------------------------------------------------------------------------
*	Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les 
*	termes de la Licence Publique Générale GNU publiée par la Free Software Foundation 
*	(version 2). Reportez-vous à  la Licence Publique Générale GNU pour plus de détails. 
*	Vous devez avoir reçu une copie de la Licence Publique Générale GNU en même temps 
*	que ce programme ; si ce n'est pas le cas, écrivez à  la Free Software Foundation, 
*	Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, à‰tats-Unis. 
*	--------------------------------------------------------------------------
*
*	Derniére modification le 29 decembre 2004 par Genova vRC2-00009
*	Templates : 1
*		- header.tpl
*
*******************************************************************************/

if ( ! defined('FORUM') )
{
	die('-[interdit]-');
}

// Cette constante annonce que le header a été parsé (utile pour la fonction info())
define('HEADER', TRUE);
$sql = 'SELECT COUNT(mp_id) AS nouveaux_messages FROM ' . MPS_TABLE . ' 
		WHERE mp_recepteur_id = \'' . $membre['membre_id'] . '\' 
		AND mp_status = \'' . NON_LU . '\' 
		AND mp_type = \'1\'';
if ( ! $result = $bdd->requete($sql) )
{
	info($langue['er_titre'], sprintf($langue['er_select'], 'mps'), __LINE__, __FILE__, $sql);
}
$tmp = $bdd->Tableau($result);
$nouveaux_messages = $tmp['nouveaux_messages'];

//
// On empèche la mise en cache des pages.
// La documentation sur les headers est disponible ici: 
//	http://fr2.php.net/manual/fr/function.header.php
//
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Expires: 0');
header('Pragma: no-cache');

$tpl->set_filenames(array('header' => ( $simple_header ) ? 'simple_header.tpl' : 'header.tpl'));

if ($nouveaux_messages > 0)
{
print '<script>alert("Mp non lu(s)")</script>';
}

$tpl->assign_vars( array(
	'L_CONNEXION' => 		$langue['connexion'],
	'L_DECONNEXION' =>	$langue['deconnexion'],
	'L_SENREGISTRER' =>	$langue['senregistrer'],
	'L_PROFIL' =>		$langue['profil'],
	'L_ADMIN' =>		$langue['administration'],
	'L_INDEX' =>            $langue['index'],
	'L_FAQ' =>			$langue['faq'],
	'L_LISTEMEMBRE' =>	$langue['listemembre'],
	'L_MP' =>			( $nouveaux_messages > 1 ) ? sprintf($langue['nouveaux_messages'], $nouveaux_messages) : sprintf($langue['nouveau_message'], $nouveaux_messages),

	'DESCRIPTION_SITE' =>	$config['description_site'],
	'NOM_SITE' => 		$config['nom_site'],
	'PAGE_TITRE' =>         $page_titre,

	'U_CONNEXION' => 		ajout_sid($racine . 'connexion.php'),
	'U_DECONNEXION' => 	ajout_sid($racine . 'connexion.php?deconnexion=1'),
	'U_SENREGISTRER' => 	ajout_sid($racine . 'profil.php?mode=nouveau'),
	'U_PROFIL' =>		ajout_sid($racine . 'profil.php?mode=edite'),
	'U_ADMIN' =>		ajout_sid($racine . 'admin/index.php'),
	'U_INDEX' =>		ajout_sid($racine . 'index.php'),
	'U_FAQ' =>			ajout_sid($racine . 'faq.php?mode=general'),
	'U_LISTEMEMBRE' =>	ajout_sid($racine . 'liste_membre.php'),
	'U_MP' =>			ajout_sid($racine . 'message_prive.php'),
	
	/* MODE IDENTIFIE */
   'I_IDENTIFICATION' => '('.$membre['membre_login'].')',
   /* MODE IDENTIFIE */

	'RACINE' =>			$racine,
	'SID' =>			'sid=' . $membre['session_sid'],
	'THEME' =>			$membre['membre_theme'],
	'V_FICHIER_CSS' =>      substr($membre['membre_theme'], 0, -1)
));

//
// S'il s'agit d'un super modérateur ou bien d'un administrateur on affiche le lien vers la panneau d'administration
//
if (($membre['membre_aut'] == MODOSUP || $membre['membre_aut'] == ADMIN) && $membre['membre_id'] != INVITE)
{
	$tpl->create_block('admin');
}

//
// Suivant si le membre est connecté ou non on active le swtich 'est_connecte' ou 'est_pas_connecte'
//
if ($membre['membre_id'] != INVITE)
{
	$tpl->create_block('est_connecte');
}
else
{
	$tpl->create_block('est_pas_connecte');
}

include( $racine .'cache/fichier_visites.php');

		$nouveau=0;
		for ($i=0; $i<$compte_visites; $i++)
		{
			if ($visites[$i]['ip_visiteur'] == $_SERVER['REMOTE_ADDR'])
			{
			$nouveau++;
			$cle = $i;
			$visites[$cle]['nom_visiteur'] = $membre['membre_login'];
			$visites[$cle]['ip_visiteur'] = $_SERVER['REMOTE_ADDR'];
			$visites[$cle]['timestamp_visite'] = time();
			$cache->write_in_cache($visites, 'visites', $compte_visites);
			}
			else
			{
			$nouveau=$nouveau;
			}
		}
		
		
		if( $nouveau == 0)
		{
			$cle = $compte_visites;
			$visites[$cle]['nom_visiteur'] = $membre['membre_login'];
			$visites[$cle]['ip_visiteur'] = $_SERVER['REMOTE_ADDR'];
			$visites[$cle]['timestamp_visite'] = time();
			$cache->write_in_cache($visites, 'visites', $compte_visites);
		}

$tpl->assign_block_vars('liens_pages', array('LIENS' => $liens_header ));

$tpl->pparse('header');

?>


Voilà c'est le header_forum.php
Normalement c'est celui qui est en ligne.
 
Brasier
Avatar de Edouard
  • Age : 88 ans
  • Messages : 734
  • Inscrit : 22 Avril 2005
  Lien vers ce message 15 Juin 2005, 19:00
C'est bizarre car c'est la seule partie du MOD qui utilise le cache et qui est a modifié et je ne vois pas d'erreur a premiere vue... Est ce que tu es sur que cette erreur vient du MOD Visites, tu n'aurais pas installer un autre MOD ou fais une autre modication?


Pas de support par MSN, ou par MP

Web Coding

Fire Soft Board (FSB pour les intimes :p)

Mes MODs:
Bannieres Aléatoires - Add Link - Forum Image - Description Sujet - Add-On Description Sujet - MP - Sujet Smilies - MOD Visites - MOD Liens - MOD ChatBox - MOD Tuto Management - MOD Derniers Sujets - MOD Messages Forum - MOD Chat
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 19:20
NOn j'ai rien touché. Quand je vais remettre a zéro le compteur visite, j'ai le message qui s'affiche dans l'admin.

Je vois ps de quoi ça pourrait venir car je n'ai rien touché.
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 19:24
Peut être que ça peut aider. Quand dans l'admin je vais dans cache etque je regarde les données du fichier visites, il me répond dans le cadre du dessous:

Citation
Résultat de la requète

Aucun résultat trouvé pour la requète de cache
 
Brasier
Avatar de Edouard
  • Age : 88 ans
  • Messages : 734
  • Inscrit : 22 Avril 2005
  Lien vers ce message 15 Juin 2005, 19:45
Normal car ton fichier de cache est vide ;)
Vraiment je ne vois pas d'ou pourrait venir ton probleme... C'est ton seul MOD installé?


Pas de support par MSN, ou par MP

Web Coding

Fire Soft Board (FSB pour les intimes :p)

Mes MODs:
Bannieres Aléatoires - Add Link - Forum Image - Description Sujet - Add-On Description Sujet - MP - Sujet Smilies - MOD Visites - MOD Liens - MOD ChatBox - MOD Tuto Management - MOD Derniers Sujets - MOD Messages Forum - MOD Chat
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 19:48
AH non mais il n'y avais pas de conflit.

Mon cache est peut être vide mais dans la boite en ligne il a le chiffre qui augment toujours.
 
Brasier
Avatar de Edouard
  • Age : 88 ans
  • Messages : 734
  • Inscrit : 22 Avril 2005
  Lien vers ce message 15 Juin 2005, 19:53
A bon?
Bon est ce que je pourrais avoir un lien vers ton forum STP?


Pas de support par MSN, ou par MP

Web Coding

Fire Soft Board (FSB pour les intimes :p)

Mes MODs:
Bannieres Aléatoires - Add Link - Forum Image - Description Sujet - Add-On Description Sujet - MP - Sujet Smilies - MOD Visites - MOD Liens - MOD ChatBox - MOD Tuto Management - MOD Derniers Sujets - MOD Messages Forum - MOD Chat
 
Flammeche
Avatar de yogoud
  • Age : 22 ans
  • Messages : 54
  • Inscrit : 20 Mars 2005
  Lien vers ce message 15 Juin 2005, 19:55
pas de problème

http://brigadeouest.free.fr/fsb/index.php
 
Répondre


.