 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~ Prmods "Kamels" version 1.0.2 ~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Version de fsb : 1.0.0

Cration : 21/03/2005
Mise  jour : 10/06/2005

Auteur : Grummfy (grummfy@yahoo.fr)
Site : http://www.grummfy.com

Mise  jour :
______________
- Mise  jour du forum pour tre en version 1.0.0 de fsb
voir : http://www.fire-soft-board.com/fsb/sujet.php?sujet=1880
- Mise  jour du mods messagerie prive : 1.2.1 -> 1.2.2
- Mise  jour du mods upload : 1.0.0 -> 1.0.1
- Mise  jour du mods forum inactif : 1.0.0 -> 1.0.1
- Mise  jour du mods fscode barr : 0.0.1 -> 1.0.1
- Mise  jour du mods temps de gnration des pages : 1.0.0 -> 1.0.1
- Mise  jour du mods temps de gnration des pages pour l'admin : 1.0.1 -> 1.0.2
- Mise  jour du mods fscode ancre & target url : 1.0.0 -> 1.0.1
- Ajout du mods Liens v 1.0.1
- correctif de la class mail par grummfy
- correctif des quote fscode

#
# Vous devez mettre  jour les fichiers en les remplacant par les nouveaux :
#	- message_prive.php
#	- includes/functions/fonctions_mp.php
#	- langues/fr/langue_upload.php
#
# Vous devez renommer admin/admin_index_fichiers_joints.php en admin/admin_index_fichiers.php

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

#
# [2] ---------- chercher -------------------------------------------------------
#
else if ( $mode == 'message_prive' && ! empty($repondre_mp) && empty($erreur) )

#
# [3] ---------- remplacer par --------------------------------------------------
#
elseif ( $mode == 'message_prive' && ! empty($repondre_mp) && empty($erreur) && !$preview)

#
# [4] ---------- ouvrir ---------------------------------------------------------
#
themes/IceCold/IceCold.css

#
# [5] ---------- chercher et suprimer -------------------------------------------
#
.barre { text-decoration: line-through; }

#
# [6] ---------- ouvrir ---------------------------------------------------------
#
includes/functions/fonctions_message.php

#
# [7] ---------- chercher -------------------------------------------------------
#
$texte = preg_replace('`\[barr\](.*?)\[/barr\]`si', '<span class="barre">\\1</span>', $texte);

#
# [8] ---------- remplacer par --------------------------------------------------
#
$texte = preg_replace('`\[barr\](.*?)\[/barr\]`si', '<strike>\\1</strike>', $texte);

#
# [9] ---------- ouvrir ---------------------------------------------------------
#
includes/functions/fonctions_page.php

#
# [10] ---------- chercher -------------------------------------------------------
#
	global $config, $langue, $membre, $racine, $repertoires, $tpl, $bdd, $PAGE_OK;

#
# [11] ---------- apres, ajouter -------------------------------------------------
#
	global $debut_temps;

#
# [12] ---------- chercher -------------------------------------------------------
#
	global $adm_menu, $bdd, $config, $liens_header, $langue, $membre, $racine, $tpl;

#
# [13] ---------- apres, ajouter -------------------------------------------------
#
	global $debut_temps;

#
# [14] ---------- ouvrir ---------------------------------------------------------
#
demarrage.php

#
# [15] ---------- chercher -------------------------------------------------------
#
if (!defined('FORUM') && !defined('ADMINISTRATION'))
{
	die('-[interdit]-');
}

#
# [16] ---------- apres, ajouter -------------------------------------------------
#
$mtemps = microtime();
$mtemps = explode(" ", $mtemps);
$mtemps = $mtemps[1] + $mtemps[0];
$debut_temps = $mtemps;

#
# [17] ---------- ouvrir ---------------------------------------------------------
#
includes/fonctions_upload.php

#
# [18] ---------- chercher et suprimer -------------------------------------------
#
$mtemps = microtime();
$mtemps = explode(" ",$mtemps);
$mtemps = $mtemps[1] + $mtemps[0];
$dbut_temps = $mtemps;

#
# [19] ---------- cache ---------------------------------------------------------
#
ALTER forum ADD type;
ALTER forum ADD lien;
ALTER forum ADD clics;
ALTER forum ADD dernier_clic;
ALTER forum ADD time_dernier_clic;

#
# [20] ---------- copier ---------------------------------------------------------
#
- Copiez maj/lien/lien.php a la racine du dossier de votre forum.
- Copiez maj/lien/type_lien.gif dans themes/IceCold/images.

#
# [21] ---------- ouvrir ---------------------------------------------------------
#
admin/admin_forum_gestion.php

#
# [22] ---------- trouver ---------------------------------------------------------
#
$forum[$id_forum]['forum_description'] = stripslashes($forum_description);

#
# [23] ---------- apres, ajouter -------------------------------------------------------
#

		$forum[$id_forum]['type'] = "forum";

#
# [24] ---------- trouver -------------------------------------------------
#
}

include( $racine . 'admin/header_admin.php');

#
# [25] ---------- avant, ajouter -------------------------------------------------------
elseif ( $mode == 'ajouter_lien' || $mode == 'editer_lien' )
	{
		if (empty($HTTP_POST_VARS['place']))
		{
			info($langue['info_titre'], $langue['forum_non_existant']);
		}

		if ( $mode == 'ajouter_lien' )
		{
			$forum_tmp = $forum;
			function forum_id_desc($a, $b)
			{
				return ( $a['forum_id'] > $b['forum_id'] ) ? -1 : 1;
			}
			reset($forum_tmp);
			usort($forum_tmp, 'forum_id_desc');
		}

		$forum_nom = trim($HTTP_POST_VARS['forum_nom']);
		$forum_description = trim($HTTP_POST_VARS['forum_description']);
		$lien = trim($HTTP_POST_VARS['lien']);
		$place = $HTTP_POST_VARS['place'];
		$forum_cat_id = ( preg_match('/^c-/', $place) ) ? substr($place, 2) : '';
		$forum_lien_id = ( preg_match('/^f-/', $place) ) ? substr($place, 2) : '';

		if (empty($forum_nom))
		{
			$erreur .= $langue['er_champs_vides'] . '<br />';
		}

		if ( empty($erreur) )
		{
			$id_forum = ( $mode == 'editer_lien' ) ? $id : count($forum);
			$compte_forum += ( $mode == 'editer_lien' ) ? 0 : 1;

			$forum[$id_forum]['forum_id'] = ( $mode == 'editer_lien' ) ? $forum[$id_forum]['forum_id'] : $forum_tmp[0]['forum_id'] + 1;
			$forum[$id_forum]['cat_id'] = $forum_cat_id;
			$forum[$id_forum]['forum_nom'] = stripslashes($forum_nom);
			$forum[$id_forum]['forum_lien_id'] = $forum_lien_id;
			$forum[$id_forum]['forum_description'] = stripslashes($forum_description);
			$forum[$id_forum]['lien'] = stripslashes($lien);
			$forum[$id_forum]['type'] = "lien";
			
			$cache->write_in_cache($forum, 'forum', count($forum));

			info($langue['info_titre'], $langue['forum_update'] . ( $mode == 'ajouter_forum' ? '<br /><br />' . sprintf($langue['modifier_forum_permission'], ajout_sid('admin_forum_droit.php?forum=f-' . $forum[$id_forum]['forum_id'])) : '' ) . '<br /><br />' . sprintf($langue['retour_forum_gestion'], ajout_sid('admin_forum_gestion.php')) . '<br /><br />' . sprintf($langue['retour_index_admin'], ajout_sid('index.php')));
		}

	}

#
# [26] ---------- trouver -------------------------------------------------
#
'FORUM_PLACE' =>			$forum_place['liste'],

#
# [27] ---------- apres, ajouter ---------------------------------------------------------
#
'SELECT_FORUM' => 'selected="selected"',

#
# [28] ---------- trouver ---------------------------------------------------------
#
else
{
	//
	// Afin de pouvoir mettre en place directement le concept de sous forums,  savoir un nombre de boucle
	// imbriques indterminable, on utilise la rcursivit dans les fonctions,  savoir l'appel
	// de la fonction en son sein mme.
	//

#
# [29] ---------- avant, ajouter -------------------------------------------------
#
elseif ( $mode == 'ajouter_lien' || $mode == 'editer_lien' )
{
	if ( ! empty($erreur) )
	{
		info($langue['info_titre'], $erreur, '', '', '', FALSE);
	}

	if ( $mode == 'editer_lien' && empty($erreur) )
	{
		if ( empty($forum[$id]['forum_id']) )
		{
			info($langue['info_titre'], $langue['forum_non_existant']);
		}

		$v_forum_nom = stripslashes($forum[$id]['forum_nom']);
		$v_forum_description = stripslashes($forum[$id]['forum_description']);
		$v_selection = ( $forum[$id]['cat_id'] != '' ) ? 'c-' . $forum[$id]['cat_id'] : 'f-' . $forum[$id]['forum_lien_id'];
		$v_lien = $forum[$id]['lien'];
	}
	else if ( ! empty($erreur) )
	{
		$v_forum_nom = stripslashes($forum_nom);
		$v_forum_description = stripslashes($forum_description);
		$v_selection = $place;
		$v_lien = $lien;
	}
	else
	{
		$v_forum_nom = '';
		$v_forum_description = '';
		$v_selection = '';
		$v_lien = '';
	}

	$forum_place = hierarchie_forums(FALSE, $categorie, $forum, 'place', $v_selection, false);

	$v_hidden = '<input type="hidden" name="mode" value="' . mode . '" />';
	$v_hidden .= '<input type="hidden" name="id" value="' . $id . '" />';

	$tpl->set_filenames(array('corps' => 'admin/gestion_forum.tpl'));

	$tpl->assign_vars( array(
		'L_GESTION_FORUM' =>		$langue[$mode],
		'L_FORUM_NOM' =>			$langue['nom_lien'],
		'L_FORUM_DESCRIPTION' =>	$langue['lien_description'],
		'L_FORUM_PLACE' =>		$langue['lien_place'],
		'L_FORUM_PLACE_EXP' =>		$langue['lien_place_exp'],
		'L_SOUMETTRE' =>			$langue['soumettre'],
		'L_FORUM_IMAGE' =>          $langue['forum_image'],

		'FORUM_PLACE' =>			$forum_place['liste'],
		'SELECT_LIEN' => 'selected="selected"',

		'V_ACTION' =>			ajout_sid('admin_forum_gestion.php?mode=' . $mode . '&id=' . $id),
		'V_FORUM_NOM' =>			$v_forum_nom,
		'V_FORUM_DESCRIPTION' =>	$v_forum_description,
		'V_HIDDEN' =>			$v_hidden,
		'V_FORUM_IMG' =>			$v_forum_img,
		'V_LIEN' => $v_lien
	));
	
	$tpl->assign_block_vars('liens', array(
		'L_LIEN' =>		$langue['lien'],
	));
}

#
# [30] ---------- trouver -------------------------------------------------------
'U_EDITER' =>	ajout_sid('admin_forum_gestion.php?mode=editer_forum&id=' . $i),

#
# [31] ---------- remplacer par -------------------------------------------------
#
'U_EDITER' =>	$forum[$i]['type'] != "lien" ? ajout_sid('admin_forum_gestion.php?mode=editer_forum&id=' . $i) : ajout_sid('admin_forum_gestion.php?mode=editer_lien&id=' . $i),

#
# [32] ---------- ouvrir ---------------------------------------------------------
#
themes/IceCold/admin/gestion_forum.tpl

#
# [33] ---------- trouver ---------------------------------------------------------
#
<tr>
		<td class="td_admin">{L_FORUM_NOM}:</td>
		<td class="td_admin2"><input type="text" name="forum_nom" value="{V_FORUM_NOM}" class="texte" size="35" /></td>
	</tr>

#
# [34] ---------- apres, ajouter ---------------------------------------------------------
#
<!-- BEGIN liens -->
	<tr>
		<td class="td_admin">{liens.L_LIEN}:</td>
		<td class="td_admin2"><input type="text" name="lien" value="{V_LIEN}" class="texte" size="35" /></td>
	</tr>
	<!-- END liens -->
	<tr>
		<td class="td_admin">Type:</td>
		<td class="td_admin2">
		<script language="JavaScript">
<!--
function menuderoulant(cadre,selection){
eval(cadre+".location='"+selection.options[selection.selectedIndex].value+"'");
}
//-->
</script>
		<select name="choix" onchange="menuderoulant('parent',this)">
    <option value="admin_forum_gestion.php?mode=ajouter_forum" {SELECT_FORUM}>Forum</option>
    <option value="admin_forum_gestion.php?mode=ajouter_lien" {SELECT_LIEN}>Lien</option>
</select> </td>
	</tr>

#
# [35] ---------- ouvrir -------------------------------------------------------
#
langues/fr/langue_module.php

#
# [36] ---------- trouver -------------------------------------------------
# 
?>

#
# [37] ---------- avant, ajouter -------------------------------------------------------
#
$langue['nom_lien'] = 'Nom lien';
$langue['lien_description'] = 'Description lien';
$langue['lien_place'] = 'Attacher le lien ';
$langue['lien_place_exp'] = 'Vous pouvez aussi placer le lien dans un sous forum.';
$langue['lien'] = 'Lien';
$langue['clics'] = '<b>%d</b> Clics';
$langue['clic'] = '<b>%d</b> Clic';

#
# [38] ---------- ouvrir -------------------------------------------------
#
includes/functions/fonctions_hierarchie.php

#
# [39] ---------- trouver ---------------------------------------------------------
#
'STATS' =>				$l_messages . '<br />' . $l_sujets,

#
# [40] ---------- remplacer par ---------------------------------------------------------
#
'STATS' =>				$forum[$i]['type'] != "lien" ? $l_messages . '<br />' . $l_sujets : ($forum[$i]['clics'] <= 1 ? sprintf($langue['clic'], $forum[$i]['clics']) : sprintf($langue['clics'], $forum[$i]['clics'])),

#
# [41] ---------- trouver ---------------------------------------------------------
#
'DATE_DERNIER_MESSAGE' =>	( ! empty($last['dernier_message_temps']) ) ? ( aff_date($last['dernier_message_temps']) ) : '------',

#
# [42] ---------- remplacer par -------------------------------------------------------
#
'DATE_DERNIER_MESSAGE' =>	$forum[$i]['type'] != "lien" ? (( ! empty($last['dernier_message_temps']) ) ? ( aff_date($last['dernier_message_temps']) ) : '------') : (( ! empty($forum[$i]['time_dernier_clic']) ) ? ( aff_date($forum[$i]['time_dernier_clic']) ) : '------'),

#
# [43] ---------- trouver -------------------------------------------------
#
'V_DERNIER_POSTEUR' =>		( $last['dernier_posteur_id'] != '' && $last['dernier_posteur_login'] != '' ) ? ( $last['dernier_posteur_id'] != INVITE ? '<a href="' . ajout_sid('profil_public.php?id=' . $last['dernier_posteur_id']) . '">' . $dernier_posteur_login . '</a>' : $dernier_posteur_login ) . ' <a href="' . ajout_sid('sujet.php?message=' . $last['dernier_message_id']) . '#' . $last['dernier_message_id'] . '">' . sprintf($theme['img'], $racine . 'themes/' . $membre['membre_theme'] . 'images/lien' . ( $forum_status == NON_LU ? '_nouv' : '' ) . '_message.gif', '', '') . '</a>' : '------',

#
# [44] ---------- remplacer par -------------------------------------------------------
#
'V_DERNIER_POSTEUR' =>		$forum[$i]['type'] != "lien" ? (( $last['dernier_posteur_id'] != '' && $last['dernier_posteur_login'] != '' ) ? ( $last['dernier_posteur_id'] != INVITE ? '<a href="' . ajout_sid('profil_public.php?id=' . $last['dernier_posteur_id']) . '">' . $dernier_posteur_login . '</a>' : $dernier_posteur_login ) . ' <a href="' . ajout_sid('sujet.php?message=' . $last['dernier_message_id']) . '#' . $last['dernier_message_id'] . '">' . sprintf($theme['img'], $racine . 'themes/' . $membre['membre_theme'] . 'images/lien' . ( $forum_status == NON_LU ? '_nouv' : '' ) . '_message.gif', '', '') . '</a>' : '------') : $forum[$i]['dernier_clic'],

#
# [45] ---------- trouver -------------------------------------------------
#
'IMG_STATUS' =>			( $forum_status == LU ) ? sprintf($theme['img'], $racine . 'themes/' . $membre['membre_theme'] . 'images/type_message.gif', $langue['message_lu'], $langue['message_lu']) : sprintf($theme['img'], $racine . 'themes/' . $membre['membre_theme'] . 'images/type_nouveau_message.gif', $langue['message_non_lu'], $langue['message_non_lu']),

#
# [46] ---------- remplacer par ---------------------------------------------------------
#
'IMG_STATUS' =>			$forum[$i]['type'] != "lien" ? (( $forum_status == LU ) ? sprintf($theme['img'], $racine . 'themes/' . $membre['membre_theme'] . 'images/type_message.gif', $langue['message_lu'], $langue['message_lu']) : sprintf($theme['img'], $racine . 'themes/' . $membre['membre_theme'] . 'images/type_nouveau_message.gif', $langue['message_non_lu'], $langue['message_non_lu'])) : sprintf($theme['img'], $racine . 'themes/' . $membre['membre_theme'] . 'images/type_lien.gif', $langue['lien'], $langue['lien']),

#
# [47] ---------- trouver ---------------------------------------------------------
#
'U_FORUM' =>			ajout_sid('forum.php?forum=' . $forum[$i]['forum_id'])

#
# [48] ---------- remplacer par ---------------------------------------------------------
#
'U_FORUM' =>			$forum[$i]['type'] != "lien" ? ajout_sid('forum.php?forum=' . $forum[$i]['forum_id']) : ajout_sid('lien.php?id_lien=' . $forum[$i]['forum_id'])

#
# [49] ---------- trouver -------------------------------------------------------
#
'U_SOUS_LIEN' =>	ajout_sid('forum.php?forum=' . $forum[$f]['forum_id'])

#
# [50] ---------- remplacer par -------------------------------------------------
#
'U_SOUS_LIEN' =>	$forum[$f]['type'] != "lien" ? ajout_sid('forum.php?forum=' . $forum[$f]['forum_id']) : ajout_sid('lien.php?id_lien=' . $forum[$f]['forum_id'])

#
# [51] ---------- ouvrir ---------------------------------------------------------
#
forum.php

#
# [52] ---------- trouver -------------------------------------------------------
#
if ( empty($forum_f['forum_id'])

#
# [53] ---------- dans la ligne, apres ajouter -------------------------------------------------
#
 OR $forum_f['type'] == "lien"


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

#
# [55] ---------- trouver -------------------------------------------------------
#
if ( empty($forum_a['forum_id'])

#
# [56] ---------- dans la ligne, apres, ajouter -------------------------------------------------
#
 OR $forum_a['type'] == "lien"

#
# [57] ---------- ouvrir ---------------------------------------------------------
#
includes/fonctions/fonctions_message.php

#
# [58] ---------- trouver -------------------------------------------------------
#
   // texte en url avec target :: [url]http://www.fire-soft-board.com[/url=target]
   $texte = preg_replace('`\[url\](http|https|ftp|ftps)(://)(.*?)\[/url=(.*?)\]`si', '<a href="\\1\\2\\3" target="\\4">\\1\\2\\3</a>', $texte);

#
# [59] ---------- avant, ajouter -------------------------------------------------------
#
   // texte en url vers une ancre :: [url]#nom_ancre[/url]
   $texte = preg_replace('`\[url\]#(.*?)\[/url\]`si', '<a href="#\\1">\\1</a>', $texte);

  // Texte masquant une url vers une ancre:: [url=#nom_ancre]texte[/url]
   $texte = preg_replace('`\[url=#(.*?)\](.*?)\[/url\]`si', '<a href="#\\1">\\2</a>', $texte);
