Ignore:
Timestamp:
Nov 24, 2009, 6:24:29 PM (14 years ago)
Author:
cljosse
Message:

[mail_supervisor] update function test_spam.

Location:
extensions/Mail_supervisor/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/Mail_supervisor/include/constants.php

    r4132 r4361  
    66if (!defined('FREE_MAIL_TABLE')) define('FREE_MAIL_TABLE', $prefixeTable.'free_mail');
    77
     8
     9
    810?>
  • extensions/Mail_supervisor/include/fonctions.php

    r4349 r4361  
    166166function Get_geo()
    167167{
    168 global $pays,$region,$ville ;
    169  if (!isset($_POST['submit'])) {
    170    if (!isset($_POST['ville'])) 
    171      {
     168global $ip,$pays,$region,$ville, $latitude ,$longitude,$mails_options;
     169         //===================================================================================
     170        $info_geo = pwg_get_session_var('info_geo');
     171       
     172        if (count($info_geo) > 0) 
     173        {
     174               
     175                $pays  = $info_geo[0];
     176                $region  = $info_geo[1];
     177                $ville  = $info_geo[2];
     178                $latitude = $info_geo[3];
     179                $longitude = $info_geo[4];
     180                $ip = $info_geo[5];
     181                return true;
     182        }
     183//=======================================================================
     184
     185 if (isset($_POST['pays'])) {
     186                        $pays = isset($_POST['pays']) ? $_POST['pays'] : "";
     187                        $region =  isset($_POST['region']) ? $_POST['region'] :"";                             
     188                        $ville = (isset($_POST['ville']))   ? $_POST['ville']: "";
     189                        $latitude =  isset($_POST['latitude']) ? $_POST['latitude'] : "";       
     190                        $longitude =  isset($_POST['longitude']) ? $_POST['longitude'] : "";
     191                               
     192                        $info_geo = array(   $pays ,$region , $ville ,$latitude, $longitude,$_SERVER['REMOTE_ADDR']  );
     193                        pwg_set_session_var('info_geo', $info_geo);
     194                        return true;
     195 
     196 }else{
     197
    172198            $result="";
    173199            $src =  "http://j.maxmind.com/app/geoip.js" ;
    174         if ( !fetchRemote($src , $result))
    175                 {
    176          
    177                 ?>
     200        if ( !clj_fetchRemote($src , $result,1))
     201                {
     202?>
    178203<script language="JavaScript" type="text/javascript">
    179             var pays     =  "??";
    180                         var ville     =  "??";
    181                         var region    =  "??";
    182                         var latitude  =  "??";
    183                         var longitude =  "??";
     204            var pays     =  "EARTH";
     205                        var ville     =  "NOWHERE";
     206                        var region    =  "UNIVERS";
     207                        var latitude  =  '0';
     208                        var longitude =  '0';
    184209</script>
    185 <?php
     210<?php     
     211       
    186212                }else{
     213               
     214       
    187215?>
    188216<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js" type="text/javascript" >
     
    198226<?php
    199227                }
     228       
    200229?>             
    201230<form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden">
     
    207236                document.write ("<input name=\"longitude\"  type=\"text\" value = "+ longitude + " id = \"longitude\"  >  ");
    208237</script>       
    209 </form >
     238
     239</form >       
    210240<script language="JavaScript" type="text/javascript">
    211241  document.getElementById("form_connexion").submit();
    212242</script>
    213 ?>     
    214243<?php   
    215      }
     244   
    216245 }
    217                 $pays = isset($_POST['pays']) ? $_POST['pays'] : $pays ;
    218                 $ville = (isset($_POST['ville']))   ? $_POST['ville']: $ville ;
    219                 $region =  isset($_POST['region']) ? $_POST['region'] : $region;       
    220                
     246//=====================================================================================         
    221247}
    222248
     
    601627 
    602628if (count($mails_options) < 7 ) return false ;
    603 
    604   $ip = $_SERVER['REMOTE_ADDR'] ;
    605   if ( !isset($_POST['pays'])) {       
    606       if ( !isset($_POST['ip_black_test'])) {
    607                             Get_Geo();         
    608                         }
    609                  return ;       
    610                 }  else {
    611                        $pays = (isset($_POST['pays'])) ? $_POST['pays'] : "" ;
    612                        $ville = (isset($_POST['ville']))   ? $_POST['ville'] : "" ;
    613                        $region = ( isset($_POST['region'])) ? $_POST['region'] : "" ;   
    614         }
     629  Get_Geo();
    615630     $champs=implode(',',$superv_bl_champs);
    616631     $query = "
     
    634649 // $mail=matusowraber93813@gmail.com ;
    635650 // $username=fretgpsolodens ;
    636 global $user_name,$mail_adresse,$ip ;
     651global $user_name,$mail_adresse;
    637652
    638653  if (test_spam($ip,$user['username'] ,$user['email']))
     
    682697}
    683698 //==============================================================================
    684 
    685699 if ( $mails_options[6] == $ip ) return ($nb > 0) ;     
    686  
    687700   $mails_options[6] =   $ip ; 
    688701   sauve_options();
     
    775788//=============================================================================
    776789}
    777 $user_name=str_replace(" ","%20",$user_name);
    778 $mail_adresse =str_replace(" ","%20",$mail_adresse);
     790$user_name=str_replace(" ","%20",trim($user_name));
     791if ($user_name==l10n('guest')) $user_name="";
     792
     793$mail_adresse =str_replace(" ","%20",trim($mail_adresse));
     794
    779795if ( strlen($user_name) > 3)      $type[]="username=$user_name" ;
    780796if ( strlen($mail_adresse) > 3)   $type[]="email=".$mail_adresse ;
     
    784800     {   
    785801           $resultat="";
    786            if (  fetchRemote($src.$fil , $resultat))
     802           if (  fetchRemote($src.$fil , $resultat,1))
    787803                  {
    788804                  $result .= $resultat.'<br />'  ;
     
    820836{     
    821837  if(preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#' ,$mail)) return true ;     
    822 }               
     838}         
     839
     840 
     841function clj_fetchRemote($src, &$dest, $timeout=1, $user_agent='Piwigo', $step=0)
     842{
     843  // Try to retrieve data from local file?
     844  if (!url_is_remote($src))
     845  {
     846    $content = @file_get_contents($src);
     847    if ($content !== false)
     848    {
     849      is_resource($dest) ? @fwrite($dest, $content) : $dest = $content;
     850      return true;
     851    }
     852    else
     853    {
     854      return false;
     855    }
     856  }
     857
     858  // After 3 redirections, return false
     859  if ($step > 3) return false;
     860
     861  // Initialize $dest
     862  is_resource($dest) or $dest = '';
     863
     864  // Try curl to read remote file
     865  if (function_exists('curl_init'))
     866  {
     867    $ch = @curl_init();
     868    @curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
     869    @curl_setopt($ch, CURLOPT_URL, $src);
     870    @curl_setopt($ch, CURLOPT_HEADER, 1);
     871    @curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
     872    @curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     873    $content = @curl_exec($ch);
     874    $header_length = @curl_getinfo($ch, CURLINFO_HEADER_SIZE);
     875    $status = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
     876    @curl_close($content);
     877    if ($content !== false and $status >= 200 and $status < 400)
     878    {
     879      if (preg_match('/Location:\s+?(.+)/', substr($content, 0, $header_length), $m))
     880      {
     881        return autoupdate_fetchRemote($m[1], $dest,$timeout, $user_agent, $step+1);
     882      }
     883      $content = substr($content, $header_length);
     884      is_resource($dest) ? @fwrite($dest, $content) : $dest = $content;
     885      return true;
     886    }
     887  }
     888
     889  // Try file_get_contents to read remote file
     890  if (ini_get('allow_url_fopen'))
     891  {
     892
     893    $opts['http'] = array('timeout' => $timeout);
     894    $ctx = stream_context_create($opts);
     895    $content = @file_get_contents($src, 0, $ctx);
     896    if ($content !== false)
     897    {
     898      is_resource($dest) ? @fwrite($dest, $content) : $dest = $content;
     899      return true;
     900    }
     901  }
     902
     903  return false;
     904}
     905
     906       
    823907?>
Note: See TracChangeset for help on using the changeset viewer.