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 .= ''; } $output .= '
Icône d\'erreur

'.$errTab[1].'

'; 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); ?>