//*************************************************************************************************
// Projet : Leguide.com
// Auteur : Bruno CADU
// Date : 03/06/2004
// Modif :
// Version : V3.0
// Objet : fonction de langue pour le forum
// Remarque : reprise du Forum de leguide V2
// Fichier : reponse.htm
//*************************************************************************************************
$referer = $_SERVER['HTTP_REFERER'];
include_once '../../global.inc';
include_once LG_PATH_LIBRARY.'inc/sql.inc';
include_once LG_PATH_LIBRARY.'inc/mail.inc';
include_once LG_PATH_LIBRARY.'inc/controle.inc';
include_once PATH_PRIVATE.'lib.inc';
include_once PATH_PRIVATE.'fnct_html.inc';
include_once PATH_STATIC.'langue/'.$lang.'/lang_60000.inc';
include_once PATH_STATIC.'langue/'.$lang.'/erreur.inc';
include_once( 'forum.inc.php' );
//include_once PATH_PRIVATE.'identification.inc';
//ident_accept('forum');
//if (getenv("REMOTE_ADDR") =='86.195.109.162' or getenv("REMOTE_ADDR") =='83.202.137.228') exit ;
// DEBUT SECURISATION RAJOUTE PAR ARTIOM //
// prends en parametre un booleen. 1 => fonction activée, 0=> Fonction desactivée.
antiSpam(1, $referer);
// FIN SECURISATION //
// BC 21/03/2008 blacklistage de certains mails (spam)
if (preg_match('/(\.ru|@wp\.pl)$/', $mailForum)) {
header('Location: /consoforum/');
exit;
}
ipToExclude() ;
function insertInTableForum( $table, &$tab )
{
global $sqlWriteForum, $LANG;
connexion( $sqlWriteForum );
$requete = 'INSERT INTO '.$table.' SET ';
while ( $elem = each( $tab ) )
$requete .= $elem['key'].'=\''.$elem['value'].'\', ';
$requete = substr( $requete, 0, -2 );
requeteSimple($sqlWriteForum, $requete);
if (strstr($tab['msg'], ' (...) ') != 0) {
mail($tab['e_mail'], $LANG[60009], $LANG[60010]);
}
}
global $id_mag, $nom, $sujet, $mailForum, $prevenir, $message, $passeForum, $COID, $row2;
$ID_MSG = ( isset( $ID_MSG ) ? $ID_MSG : 0 );
$START = ( isset( $START ) ? $START : 0 );
if(isset($nom)) $nom = str_replace('\\', '', $nom) ;
if(isset($message)) $message = str_replace('\\', '', $message) ;
if ( $ID_MSG != 0 )
{
$row2 = requeteSimple($sqlReadForum, 'SELECT T1.*, T2.nom AS store_name FROM FORUM T1 LEFT JOIN wm_marchand T2 ON (T1.store_id = T2.id_marchand) WHERE id_msg='.$ID_MSG );
$date=date("d-m-Y H:i:s",$row2[ 'date' ]); //mise en forme correcte de la date pour l'affichage
$nb_retrait_aff = ( 12 - nbZeroFinChiffre( $row2['id_msg'] ) ) / 2;
}
$erreur = '';
if ( $passeForum >= 1 )
{
$nom = trim( strip_tags( $nom ));
$sujet = StripBadWords(trim( strip_tags( $sujet )));
$message = StripBadWords(trim( strip_tags( $message )));
$mailForum = trim( strip_tags( $mailForum ));
global $mailForumRegExp;
if ( ! mailSyntaxeOk( $mailForum ) )
$erreur .= $errMess[ 'mailSyntaxe' ];
if ( trim( $sujet ) == '' )
$erreur .= $errMess[ 'forumSujet' ];
/*if ($id_mag == 0)
$erreur .= $errMess[ 'forumStore' ];*/
if ( trim( $nom ) == '' )
$erreur .= $errMess[ 'forumNom' ];
if ( trim( $message ) == '' )
$erreur .= $errMess[ 'forumMessage' ];
if (! verifie_pseudo($nom, $mailForum))
$erreur .= $errMess[ 'Pseudodejapris' ];
if ( $erreur == '' )
{
//j'insère la réponse
requeteSimple($sqlWriteForum, 'Lock tables FORUM write' );
$newId = 0;
if ( $ID_MSG != 0 )
{
$longueur_ID = strlen($ID_MSG) ;
// $ID_MSG est codé avec xxxxxx ( 6 à N chiffres ) + 12 chiffres
if ($longueur_ID >= 18)
{
$nbZero = nbZeroFinChiffre( $ID_MSG );
// reponse 0
if( $nbZero== 12 )
{
$debut = substr($ID_MSG , 0, $longueur_ID - 12) ;
$id_superieur = $debut + 1 . "000000000000" ;
$resultat = requeteSimple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$id_superieur .' order by id_msg desc limit 1' );
$plus_haut_Id = $resultat[ 'id_msg' ];
if(!isset ($plus_haut_Id ))
{
$newId = $debut . "010000000000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
else
{
$newId = substr($plus_haut_Id , 0, $longueur_ID - 12 + 2) ;
$newId = $newId + 1 . "0000000000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
}
// fin reponse 0
// reponse 1
if( $nbZero== 10 )
{
$debut = substr($ID_MSG , 0, $longueur_ID - 12 + 2) ;
$id_superieur = $debut + 1 . "0000000000" ;
$resultat = requeteSimple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$id_superieur .' order by id_msg desc limit 1' );
$plus_haut_Id = $resultat[ 'id_msg' ];
if(!isset ($plus_haut_Id ))
{
$newId = $debut . "0100000000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
else
{
$newId = substr($plus_haut_Id , 0, $longueur_ID - 12 + 4) ;
$newId = $newId + 1 . "00000000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
}
// fin reponse 1
// reponse 2
if( $nbZero== 8 )
{
$debut = substr($ID_MSG , 0, $longueur_ID - 12 + 4) ;
$id_superieur = $debut + 1 . "00000000" ;
$resultat = requeteSimple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$id_superieur .' order by id_msg desc limit 1' );
$plus_haut_Id = $resultat[ 'id_msg' ];
if(!isset ($plus_haut_Id ))
{
$newId = $debut . "01000000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
else
{
$newId = substr($plus_haut_Id , 0, $longueur_ID - 12 + 6) ;
$newId = $newId + 1 . "000000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
}
// fin reponse 2
// reponse 3
if( $nbZero== 6 )
{
$debut = substr($ID_MSG , 0, $longueur_ID - 12 + 6) ;
$id_superieur = $debut + 1 . "000000" ;
$resultat = requeteSimple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$id_superieur .' order by id_msg desc limit 1' );
$plus_haut_Id = $resultat[ 'id_msg' ];
if(!isset ($plus_haut_Id ))
{
$newId = $debut . "010000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
else
{
$newId = substr($plus_haut_Id , 0, $longueur_ID - 12 + 8) ;
$newId = $newId + 1 . "0000" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
}
// fin reponse 3
// reponse 4
if( $nbZero== 4 )
{
$debut = substr($ID_MSG , 0, $longueur_ID - 12 + 8) ;
$id_superieur = $debut + 1 . "0000" ;
$resultat = requeteSimple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$id_superieur .' order by id_msg desc limit 1' );
$plus_haut_Id = $resultat[ 'id_msg' ];
if(!isset ($plus_haut_Id ))
{
$newId = $debut . "0100" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
else
{
$newId = substr($plus_haut_Id , 0, $longueur_ID - 12 + 9) ;
$newId1 = substr($plus_haut_Id , $longueur_ID - 12 + 9, 1) ;
$newId1++ ;
$newId = '"' . $newId .'"' ;
$newId1 = '"' . $newId1 .'"' ;
$newId = $newId . $newId1 . "00" ;
$newId = str_replace('"', '',$newId ) ;
$forumMessage[ 'id_msg' ] = $newId ;
}
}
// fin reponse 4
// reponse 5
if( $nbZero== 2 )
{
$debut = substr($ID_MSG , 0, $longueur_ID - 12 + 9) ;
$debut1 = substr($ID_MSG , $longueur_ID - 12 + 9, 1) ;
$debut1++ ;
$debut = '"' . $debut .'"' ;
$debut1 = '"' . $debut1 .'"' ;
$id_superieur = $debut . $debut1 . "00" ;
$id_superieur = str_replace('"', '',$id_superieur ) ;
$resultat = requeteSimple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$id_superieur .' order by id_msg desc limit 1 ');
$plus_haut_Id = $resultat[ 'id_msg' ];
if(!isset ($plus_haut_Id ))
{
$newId = substr($ID_MSG , 0, $longueur_ID - 12 + 10) ;
$newId = $newId ."01" ;
$forumMessage[ 'id_msg' ] = $newId ;
}
else
{
$newId = substr($plus_haut_Id , 0, $longueur_ID - 12 + 11) ;
$newId1 = substr($plus_haut_Id , $longueur_ID - 12 + 11, 1) ;
$newId1++;
$newId = '"' . $newId .'"' ;
$newId1 = '"' . $newId1 .'"' ;
$newId = $newId . $newId1 ;
$newId = str_replace('"', '',$newId ) ;
$forumMessage[ 'id_msg' ] = $newId ;
}
}
// fin reponse 5
// reponse 6
if( $nbZero== 0 )
{
$debut = substr($ID_MSG , 0, $longueur_ID - 12 + 11) ;
$debut1 = 9 ;
$debut = '"' . $debut .'"' ;
$debut1 = '"' . $debut1 .'"' ;
$id_superieur = $debut . $debut1 ;
$id_superieur = str_replace('"', '',$id_superieur ) ;
$resultat = requeteSimple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$id_superieur .' order by id_msg desc limit 1 ');
$plus_haut_Id = $resultat[ 'id_msg' ];
if(!isset ($plus_haut_Id ))
{
$debut1 = substr($ID_MSG , $longueur_ID - 12 + 11, 1) ;
$debut1++ ;
$debut = '"' . $debut .'"' ;
$debut1 = '"' . $debut1 .'"' ;
$id_superieur = $debut . $debut1 ;
$newId = str_replace('"', '',$id_superieur ) ;
$forumMessage[ 'id_msg' ] = $newId ;
}
else
{
$newId = substr($plus_haut_Id , 0, $longueur_ID - 12 + 11) ;
$newId1 = substr($plus_haut_Id , $longueur_ID - 12 + 11, 1) ;
$newId1++;
$newId = '"' . $newId .'"' ;
$newId1 = '"' . $newId1 .'"' ;
$newId = $newId . $newId1 ;
$newId = str_replace('"', '',$newId ) ;
$forumMessage[ 'id_msg' ] = $newId ;
}
}
// fin reponse 6
}
else
{
$nbZero = nbZeroFinChiffre( $ID_MSG );
$divider = pow( 10, $nbZero );
$condNumMax = ( ( $ID_MSG / $divider ) + 1 ) * $divider;
$resultat = requeteMultiple( $sqlReadForum, 'SELECT id_msg FROM FORUM WHERE id_msg > '.$ID_MSG.' and id_msg < '.$condNumMax.' and mod( id_msg, 1e'.($nbZero-2).' ) = 0 ORDER BY id_msg' );
$divider /= 100;
$newId = ( ( $ID_MSG / $divider ) + 1 ) * $divider;
while ( $rowId = mysql_fetch_array( $resultat ) )
$newId = $rowId[ 'id_msg' ];
$newId = ( ( $newId / $divider ) + 1 ) * $divider;
$forumMessage[ 'id_msg' ] = sprintf( '%1.0f', $newId );
}
} // fin de if ( $ID_MSG != 0 )
else
{
$rowId = requeteSimple( $sqlWriteForum, 'SELECT id_msg FROM FORUM order by id_msg desc limit 1' );
$newId = $rowId[ 'id_msg' ];
$divider = pow( 10, 12 );
$newId = ( (int) ( $newId / $divider ) + 1 ) * $divider;
$forumMessage[ 'id_msg' ] = sprintf( '%1.0f', $newId );
}
$ipc = getenv( 'REMOTE_ADDR' );
$ipc = explode('.' , $ipc) ;
$ipc = $ipc[2] . $ipc[0] . $ipc[1] . $ipc[0] ;
// $marchandetsujet = addslashes("[ ".$store_name." ] "); //rajouté par AF
// $marchandetsujet .= addslashes($sujet); //rajouté par AF
$forumMessage[ 'date' ] = time();
$forumMessage[ 'nom' ] = addslashes($nom);
$forumMessage[ 'sujet_msg' ] = addslashes($sujet);
// $forumMessage[ 'sujet_msg' ] = $marchandetsujet; // rajouté par AF
$forumMessage[ 'msg' ] = StripBadWords(addslashes($message));
$forumMessage[ 'e_mail' ] = $mailForum;
$forumMessage[ 'msg_p' ] = ( $prevenir == 'on' ? 1 : 0 );
$forumMessage[ 'rep_souhaite' ] = ( $prevenir == 'on' ? 1 : 0 );
$forumMessage[ 'ip' ] = getenv( 'REMOTE_ADDR' );
$forumMessage[ 'validation' ] = 0;
$forumMessage[ 'store_id' ] = $id_mag;
//
$longueur_newId = strlen(sprintf( '%1.0f', $newId )) ;
if ($longueur_newId>=17 )
insertInTableForum( 'FORUM', $forumMessage );
requeteSimple($sqlWriteForum, 'unlock tables' );
// $forumMessage[ 'ipc' ] = $ipc;
$ass = $forumMessage[ 'id_msg' ] . $mailForum ;
$forumMessage['id_msg'] = trim($forumMessage['id_msg']);
$id_message_original = substr($forumMessage['id_msg'] , 0, strlen($forumMessage['id_msg']) - 12).'000000000000';
$forumMessage[ 'ipc' ] = controle( $ass ) ;
$chemin_fic_mot_refuse = PATH_STATIC.'langue/'.$lang.'/mot_refuse.txt';
$tab_mot_refuse = file ( $chemin_fic_mot_refuse ) ;
for ($x = 0; $x < count($tab_mot_refuse); $x++)
{
$mot_a_trouver = trim ( $tab_mot_refuse[$x] ) ;
if (eregi($mot_a_trouver, $forumMessage[ 'sujet_msg' ]) or eregi($mot_a_trouver, $forumMessage[ 'msg' ]))
$envoi_mail_mot_refus = 1 ;
else
$envoi_mail_mot_refus = 0 ;
} // fin de for ($x = 0; $x < count($tab_mot_refuse); $x++)
// Pour les gens qui n'ont pas besoin de valider leurs messages
// Actualiser aussi dans message_poste.htm
$ip_sans_validation = array();
$ip_sans_validation['81.57.25.174'] = 'igor@leguide.com';
$ip_ok = array();
$ip_ok = array_keys($ip_sans_validation);
// Ip de l'internaute
$ip = $_SERVER['REMOTE_ADDR'];
if ( $envoi_mail_mot_refus == 0)
{
if (!in_array($ip, $ip_ok) OR ($forumMessage['e_mail'] != $ip_sans_validation[$ip]))
{
if(ereg("aol", $mailForum))
mailFichier(PATH_STATIC.'langue/'.$lang.'/mail/forum_validation_aol.mail', $forumMessage, true);
else
{
//if (filtrage_specifique($sujet, $message))
if (filtrage_specifique2($mailForum))
mailFichier(PATH_STATIC.'langue/'.$lang.'/mail/forum_validation_specifique.mail', $forumMessage, true);
else
mailFichier(PATH_STATIC.'langue/'.$lang.'/mail/forum_validation.mail', $forumMessage, true);
}
}
}
else
mailFichier(PATH_STATIC.'langue/'.$lang.'/mail/forum_validation_mot_refuse.mail', $forumMessage, true);
// on redirige vers la home
//header('Location: /consoforum/index.htm?mailForum='.$mailForum.'&START='.$START.'&sujet='.$sujet.'&nom='.$nom.'&message='.$message );
// on redirige vers le message
header('Location: /consoforum/message_poste.htm?mailForum='.$mailForum.'&START='.$START.'&sujet='.$sujet.'&nom='.$nom.'&message='.$message.'&id_msg='.$forumMessage['id_msg'].'&ipc='.$ipc );
exit;
} // fin de if ( $erreur == '' )
else
$erreur = '*'.$erreur;
} // fin de if ( $passeForum >= 1 )
$passeForum ++;
if ( trim( $sujet ) == '' && $row2[ 'sujet_msg' ] != '' )
$sujet = ( substr( strip_tags( $row2[ 'sujet_msg' ] ), 0, 3 ) == 'Re:' ? '' : 'Re: ' ).stripslashes(strip_tags($row2['sujet_msg']));
if ( trim( $store_name ) == '' && $row2[ 'store_name' ] != '' ) {
$store_name = stripslashes($row2[ 'store_name' ]);
}
$id_mag = $row2['store_id'];
$CONFIG['TYPE_BARRE_NAV'] = 'forum';
$CONFIG['TYPE_BARRE_NAV_DATA'][0]['libelle'] = 'Ecrire un message';
///////////////////////////////////////////////////////////////////////////////////////////////////
// ENTETE HTML
///////////////////////////////////////////////////////////////////////////////////////////////////
$output = cfg_Head($LANG[60000], $LANG[60001], $LANG[60002]);
flush_output($output);
///////////////////////////////////////////////////////////////////////////////////////////////////
// ENTETE
///////////////////////////////////////////////////////////////////////////////////////////////////
$output .= cfg_Entete();
flush_output($output);
///////////////////////////////////////////////////////////////////////////////////////////////////
// BLOC CENTRE
///////////////////////////////////////////////////////////////////////////////////////////////////
function bloc_centre()
{
global $erreur, $nom, $sujet, $message, $mailForum, $ID_MSG, $row2, $LANG, $lang, $URL_IMAGES, $START, $univers;
$output = '
Forum Conso
Bien acheter sur internet avec LeGuide.com
';
if ( get_magic_quotes_gpc() == 1 )
{
$nom = stripslashes( $nom );
$sujet = stripslashes( $sujet );
$sujet = StripBadWords( $sujet );
$message = stripslashes( $message );
$message = StripBadWords( $message );
$mailForum = stripslashes( $mailForum );
}
$output .= '
';
if ( isset($erreur) && strlen($erreur) )
{
$errTab = explode( '|', $erreur );
$output .= '

|
'.$errTab[1].' |
|
';
}
$output .= '
';
if ( $ID_MSG != 0 )
{
$output .= '
 |
| Dates |
Messages |
Auteurs |
';
$output .= htmlPourUnMessage( $row2, $START, "#ffffff", true, true, false );
}
include_once ( PATH_STATIC.'langue/'.$lang.'/template/type_2/repondre.tpl' );
$output .= $tpl_texte;
return($output);
}
$param['gauche']['forum'] = 1;
///////////////////////////////////////////////////////////////////////////////////////////////////
// CORPS
///////////////////////////////////////////////////////////////////////////////////////////////////
$output .= cfg_Corps($param);
flush_output($output);
///////////////////////////////////////////////////////////////////////////////////////////////////
// PIED DE PAGE
///////////////////////////////////////////////////////////////////////////////////////////////////
$output .= cfg_Pied();
flush_output($output);
?>