source: extensions/Mail_supervisor/include/fonctions.php @ 4206

Revision 4206, 20.7 KB checked in by cljosse, 10 years ago (diff)

[mail_supervisor] update file help 2

Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2009 Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24if (!defined('PHPWG_ROOT_PATH'))
25{
26  die('Hacking attempt!');
27}
28
29if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
30
31
32 if (!isset($_COOKIE[session_name()]))
33{
34
35
36
37}
38include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php');
39include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
40include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
41global $lang ;
42
43
44include_once (MAIL_SUPERV_PATH.'include/function_test_send.php'); 
45
46
47    load_language('plugin.lang', MAIL_SUPERV_PATH);
48
49
50global  $superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ; 
51          $superv_champs = array(
52                       "id",
53                                        "nb_mails",
54                                        "date_mail",
55                                        "nb_mails_maxi",               
56                                        "nb_mails_periode",     
57                                        "nb_spams",
58                                        "date_spam",   
59                                        "nb_spams_maxi",       
60                                        "nb_spams_periode",     
61                                        "quarantaine",
62                                        "date_quarantaine",
63                                        "quarantaine_periode", 
64                                        "message", 
65                                        "message_test", 
66                                    "header_text",
67                               
68                                        );
69                                       
70        $superv_type = array(
71                        " SMALLINT( 5 ) NOT NULL DEFAULT '0'"      ,
72                                        "INT NOT NULL DEFAULT '0'"  ,
73                                        "INT NOT NULL DEFAULT '0'"  ,
74                                        "INT NOT NULL DEFAULT '2000'",         
75                                        "TEXT"  ,       
76                                        "INT NOT NULL DEFAULT '0'",
77                                        "INT NOT NULL DEFAULT '0'",     
78                                        "INT NOT NULL DEFAULT '10'",   
79                                        "TEXT"  ,       
80                                        "TEXT" ,
81                                        "INT NOT NULL DEFAULT '0'",
82                                        "TEXT"  ,       
83                                        "TEXT"  , 
84                                        "TEXT"  , 
85                                        "TEXT"  ,
86                                       
87                                        );             
88                                       
89 
90          $superv_bl_champs = array(
91                                        "id",
92                                        "ip",
93                                        "pays",
94                                        "region",               
95                                        "ville",       
96                                        "adresse",
97                                        "fai", 
98                                        "nb"
99                                        );
100                                       
101        $superv_bl_type = array(
102                        " smallint(5) UNSIGNED NOT NULL auto_increment ",
103                                        "TEXT"  ,
104                                        "TEXT"  ,
105                                        "TEXT"  ,
106                                        "TEXT"  ,
107                                        "TEXT"  ,
108                                        "TEXT"  ,
109                                        " smallint(5) UNSIGNED "
110                                        );                                                                                                                                     
111
112vérif_base() ;
113       
114//==========================================================
115function sauve_options()
116{
117global $mails_options ;
118 if ( isset($mails_options) )
119        {
120          if ( count($mails_options) > 6 ) 
121           {
122                $valeurs = implode( ',',$mails_options);
123                $query = '
124                UPDATE '.CONFIG_TABLE.'
125                SET value="'. $valeurs . '"
126                WHERE param = "mail_superv"
127                LIMIT 1';
128                        pwg_query($query);
129          }
130        }
131}
132//=================================================================================
133function sauve_données()
134{
135
136global $mails_données,$superv_champs,$superv_type,$erreur_message ;
137//=====================================================================
138        ajust_table(MAIL_SUPERV_TABLE,$superv_champs,$superv_type) ;
139        $clefs = $superv_champs ;
140        $valeurs = array();
141
142foreach ( $clefs as $champ)
143   {
144     $champ = trim($champ);
145     
146         if ( isset($mails_données[  $champ ]) ) {
147           $sep= (is_string($mails_données[ $champ ])) ? '"' : '' ;
148       array_push($valeurs , "`".$champ."`" . ' = ' . $sep . $mails_données[  $champ ] . $sep)  ;
149         }else{
150         
151            array_push($valeurs , "`".$champ."`" . ' = ' .  "0"  )  ;
152         }
153    }
154$valeurs = implode(", ",$valeurs) ;
155//=====================================================================
156$query = '
157        UPDATE '.MAIL_SUPERV_TABLE.'
158        SET '. $valeurs .'
159                WHERE `id` = 1 LIMIT 1 ';
160                ;
161        ob_start();
162                $ret=  pwg_query($query)    ;
163                $m= ob_get_contents();
164        ob_end_clean() ;
165        $erreur_message .= $m ;
166
167}
168         
169//=================================================================================
170function affiche_message()
171{
172 global $template,$infos_message,$erreur_message, $user ;;
173
174global $mails_options,$conf,$lang ;
175
176$mails_options = explode("," , $conf['mail_superv']);
177
178
179 if ( !isset($_POST['submit']) ) {
180        if (kill_list())
181                 {
182                 
183                  $erreur_message .= l10n('is_a_spam') ;
184                 if ($mails_options[4] == 'on'){
185                   
186                        if ($user['status'] == 'guest')
187                                if (!isset($_GET['admin'])) {
188                                                 die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!');
189                                }elseif   ($_GET['admin'] != 'piwigo')
190                                        {
191                                                 die('blacklist Hacking attempt!');
192                                        }
193           }
194        }
195 }       
196
197 //==============================================================
198  if (isset($erreur_message))
199                {       
200 
201                if ($erreur_message <> "")
202                        {
203                            $erreur_message=str_replace("\n",'<br />',$erreur_message) ;
204                                $template->assign('errors',$erreur_message);
205                                $erreur_message="";
206                        }
207                }
208               
209       
210  if (isset($infos_message))
211                {       
212               
213                if ($infos_message <> "")
214                        {
215                                $infos_message=str_replace("\n",'<br />',$infos_message) ;
216                                $template->assign('infos',$infos_message);
217                                $infos_message="";
218                        }
219                }
220                //=============================================================
221       
222       
223return;         
224               
225}
226
227function Get_geo()
228{
229Global $pays,$region,$ville , $erreur_message;
230if (!isset($_POST['submit'])) 
231{ 
232   if (!isset($_POST['ville'])) 
233      { ?>
234 <form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden"><script language="JavaScript" src="http://j.maxmind.com/app/geoip.js" type="text/javascript" >
235</script>
236<script language="JavaScript" type="text/javascript">
237            var pays     =  geoip_country_name();
238                        var ville     =  geoip_city();
239                        var region    =  geoip_region_name() ;
240                        var latitude  =  geoip_latitude() ;
241                        var longitude =  geoip_longitude() ;
242                document.write ("<input name=\"pays\"  type=\"text\" value =  "+ pays + "  id = \"pays\"  > ");
243                document.write ("<input name=\"ville\"  type=\"text\" value = "+ ville + "  id = \"ville\"   >  ");
244                document.write ("<input name=\"region\"  type=\"text\" value =  "+ region + "   id = \"region\"   > ");
245                document.write ("<input name=\"latitude\"  type=\"text\" value =  "+ latitude + " id = \"latitude\"   > ");
246                document.write ("<input name=\"longitude\"  type=\"text\" value = "+ longitude + " id = \"longitude\"  >  ");
247        </script>
248</form >
249<script language="JavaScript" type="text/javascript"> 
250        document.getElementById("form_connexion").submit();
251</script>
252<?php                   
253}
254
255}
256                $pays = isset($_POST['pays']) ? $_POST['pays'] : $pays="" ;
257                $ville = (isset($_POST['ville']))   ? $_POST['ville']: $ville="" ; 
258                $region =  isset($_POST['region']) ? $_POST['region'] : $region="" ;   
259                               
260}
261
262//=================================================================================
263function Get_Datas()
264{
265        ob_start();
266                $data=Lire_datas();
267                        $m= ob_get_contents();
268        ob_end_clean();
269       
270        if (strlen($m)>0) {
271          vérif_base() ;
272          $data=Lire_datas();
273        }
274    return $data;
275}
276
277function Lire_datas()
278{
279
280
281 $query = "
282    SELECT *
283    FROM ".MAIL_SUPERV_TABLE."
284        ;";
285    $data = mysql_fetch_array(pwg_query($query),MYSQL_ASSOC);
286        //====================================================================================
287        $next_day = Str_To_Time( $data['nb_mails_periode'], $data['date_mail'] );;
288        $data['rest_mail']=    $next_day - time() ;
289
290        $next_day =  + Str_To_Time( $data['nb_spams_periode'],$data['date_spam']);
291        $data['rest_spam']=  $next_day - time() ;
292
293
294        $next_day = Str_To_Time($data['quarantaine_periode'] ,$data['date_quarantaine']);       
295       
296        if ($data['quarantaine'] == 'true' ) {
297                        $data['reste'] =   ( $next_day )-time() ;
298        }else{
299                        $data['reste'] = 0;
300        }
301       
302         return $data;
303}
304//===============================================
305
306function corrige_header($Carbonne,$headers,$args)
307        {
308        global $mails_options,$conf_mail,$mailto,$infos_message;
309
310 if (!empty($args[$Carbonne]))
311         {
312 
313                if ( count($args[$Carbonne]) > 0 ) 
314                {
315                 if ($mails_options[1] == 'on') {
316                        $list_mail  = str_replace(","," ,",get_strict_email_list(implode(',', $args[$Carbonne])))." \n" ;
317                        $headers = preg_replace('/.*'.$Carbonne.'(.*).\n/i', $Carbonne.': '.$list_mail, $headers);
318                 }
319                }
320        } else {
321        // Raz Bcc, Cc dans headers
322                        $headers = preg_replace('/.*'.$Carbonne.'(.*).\n/i', "" , $headers);
323        }
324               
325               
326return $headers;
327
328               
329        }
330       
331function int_to_heure($int)
332{
333
334        $delta=(7*24*60*60) ;
335        $week = (int) ($int/$delta); 
336        $int= $int-($week*$delta) ; 
337
338        $delta=(24*60*60) ;
339        $day= (int) ($int/$delta); 
340        $int=$int-($day*$delta);
341
342        $delta=(60*60) ;
343        $heures=(int) ($int/$delta);
344        $int=$int-($heures*$delta);
345
346        $delta=(60) ;
347        $minutes=(int) ($int/$delta);
348        $int= $int - ($minutes*$delta);
349
350        $secondes=(int) ($int);
351        $day      = substr ('00'.    $day,-2,2);   
352        $heures   = substr ('00'. $heures,-2,2);   
353        $minutes  = substr ('00'.$minutes,-2,2);
354        $secondes = substr ('00'.$secondes,-2,2);
355
356   
357if ($week > 0 )
358{
359        return $week. " " .l10n('Week'). " " .  $day . " " .l10n('Day'). "s ". $heures . " ". l10n('Hour'). "s " .    $minutes. " " .l10n('minute'). "s ".  $secondes." " .l10n('seconde')."s";
360}
361return $day . " " .l10n('Day'). "s ". $heures . " ". l10n('Hour'). "s " . $minutes. " " .l10n('Minute'). "s ".  $secondes." " .l10n('Seconde')."s";
362
363}       
364
365function memo_var($variables)
366{
367                ob_start();
368                echo '<pre>';
369                print_r($variables);
370                echo '</pre>';
371                $m= ob_get_contents();
372
373        ob_end_clean();
374                return $m;
375               
376}
377   
378
379       
380function vérif_base()
381{
382
383global $lang,$superv_champs,$superv_type,$superv_bl_champs,$superv_bl_type;
384    load_language('plugin.lang', MAIL_SUPERV_PATH);
385
386        create_table(MAIL_SUPERV_TABLE,$superv_champs,$superv_type) ;
387
388        ajust_table(MAIL_SUPERV_TABLE,$superv_champs,$superv_type)  ;
389//==============================================================================               
390    $valeurs= array (   1,
391                                                0,
392                           time(),
393                         2000,
394         '"1 '.l10n('Week').'"' ,
395                            0,
396                  time(),
397                           10,
398          '"2 '.l10n('Day').'"',
399                       '"false"',
400                time(),
401          '"2 '.l10n('Day').'"',
402       
403                      '"Init"',
404   '"'.l10n('supervisor').'"',
405        '"'.l10n('hello').'"',
406         )
407        ;
408//==================================================================================
409        ajout_ligne(MAIL_SUPERV_TABLE,$superv_champs, $valeurs,false ) ;
410       
411   create_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type) ;
412        ajust_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type)  ;
413}
414
415
416function Get_colonnes_de($table)
417{
418  $columns_of = array();
419    $query = 'DESC '.$table.';';
420    $result = mysql_query($query);
421    $columns_of[$table] = array();
422    while ($row = mysql_fetch_row($result))
423    {
424      array_push($columns_of[$table], $row[0]);
425    }
426 
427  return $columns_of;
428}
429
430function get_liste($group_id)
431{
432global $conf ;
433
434  $query = '
435SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id,
436                u.'.$conf['user_fields']['username'].' AS username,
437                u.'.$conf['user_fields']['email'].' AS email,
438                ui.status,
439                ui.adviser,
440                ui.enabled_high,
441                ui.level
442  FROM '.USERS_TABLE.' AS u
443    INNER JOIN '.USER_INFOS_TABLE.' AS ui
444      ON u.'.$conf['user_fields']['id'].' = ui.user_id
445    LEFT JOIN '.USER_GROUP_TABLE.' AS ug
446      ON u.'.$conf['user_fields']['id'].' = ug.user_id
447  WHERE ug.group_id='.$group_id.' ';
448
449
450 
451 $groups=array();
452  $datas = pwg_query($query);
453 
454 
455  if (!empty($datas))
456  {
457    while ($group = mysql_fetch_array($datas,MYSQL_ASSOC))
458    {
459
460       
461      if (!empty($group['email']))
462      {
463        array_push($groups, format_email($group['username'], $group['email'] ));
464      }
465    }
466  } 
467  return $groups ;
468 
469}
470//=================================================================================
471
472function create_table($nom_table,$champs,$types)  //MAIL_SUPERV_TABLE
473{
474        $i=0;
475        $valeurs=array();
476foreach ( $champs as $champ)
477   {
478        $champ = trim($champ);
479                array_push($valeurs , " `".$champ."`" . '  ' . $types[ $i] )  ;
480                $i +=1;
481    }
482
483
484       
485        if ( count($valeurs) == 0) return ;
486
487    $valeurs=implode(", ",$valeurs) ;
488        //===============================================================================
489                $query = "CREATE TABLE IF NOT EXISTS  `" . $nom_table . "` (". $valeurs . " , PRIMARY KEY  (`id` ) ) ;"; 
490                         if ( pwg_query($query) ) return ; 
491                                die("ERREUR CREATION ".$query);         
492     
493         
494}
495function ajust_table($nom_table,$champs,$types)  //MAIL_SUPERV_TABLE
496{
497return ;
498     create_table($nom_table,$champs,$types) ;
499       
500         
501         $table = mysql_fetch_array(pwg_query('SELECT * FROM '.$nom_table),MYSQL_ASSOC);
502
503 $result = mysql_query('SELECT * FROM '.$nom_table);
504
505$row = mysql_fetch_row($result) ;
506        echo $nom_table . "  " . memo_var($row) . count($row) ;
507
508if (count($row)> 1) return ;
509
510
511    $nb = Get_colonnes_de($nom_table);
512        $table=$nb[$nom_table];         
513$data =         $types ;
514$i=0;
515 $valeurs=array();
516 
517
518foreach ( $champs as $champ)
519   {
520     $champ = trim($champ);
521          if (!in_array( $champ,$table)) {
522         array_push($valeurs , " ADD `".$champ."`" . '  ' . $data[  $i] )  ;
523         }
524         $i +=1;
525         
526    }
527        if ( count($valeurs) == 0) return ;
528       
529$valeurs=implode(", ",$valeurs) ;
530        //===============================================================================
531       
532                $query = "ALTER TABLE `" . $nom_table . "` ". $valeurs ;
533                        if (   pwg_query($query)) return ;           
534       
535                die($query);
536
537
538}
539
540function ajout_ligne($nom_table,$champs,$valeurs,$force)
541{
542  if (!$force) {
543     $query = "
544                SELECT COUNT(`id`) as total
545                FROM `".$nom_table."`
546                ;";     
547//==============================================================================               
548                list($count) = mysql_fetch_row(pwg_query($query));
549}else{
550
551        $count = 0 ;
552}
553 
554  if ($count == 0)
555  {
556      $n_champs=implode(",",$champs);
557      $n_valeurs=implode(",",$valeurs);
558           $query = "
559        INSERT INTO `".$nom_table."` (". $n_champs.")
560        VALUES ( ".     $n_valeurs .")";
561               
562                if (pwg_query($query)) return ;
563                die($query);
564               
565  }
566}
567//=====================================================================
568
569function Str_To_Time( $ajout,$init_date)
570{
571//========================================================
572  global $erreur_message;
573$a_ajouter=$ajout ;
574
575        $period_search=array("W","D","H","M","S");
576                       array_push($period_search,l10n('Week').'s',l10n('Day').'s',l10n('Hour').'s',l10n('Minute').'s',l10n('Seconde').'s');
577                               array_push($period_search,l10n('Week'),l10n('Day'),l10n('Hour'),l10n('Minute'),l10n('Seconde'));
578
579
580       
581        $period_match = array(' week ',' day ',' hour ',' minute ',' seconde ');       
582                        array_push($period_match,' week ',' day ',' hour ',' minute ',' seconde ');
583                        array_push($period_match,' week ',' day ',' hour ',' minute ',' seconde ');
584       
585
586       
587$a_ajouter = "+ " .  str_replace($period_search, $period_match, $a_ajouter) ;
588$a_ajouter=sup_double_espace($a_ajouter);
589
590$v1 = array('- ','+ ','week','day','hour','minute','seconde',' -',' +',' ');
591$v2 = array('-','+', (7*24*60*60) ,  (24*60*60),  (60*60),  60,1,'|-','|+',"*" );
592$new_valeur =  str_replace($v1,$v2,$a_ajouter) ;
593$new_valeur =  str_replace('++','+',$new_valeur ) ;
594
595$new_valeur = explode( "|",$new_valeur );
596$p = $init_date ;
597
598        //$new_valeur = $a_ajouter + $init_date ;
599        foreach($new_valeur as $nv)
600        {
601        $return = matheval($nv) ;
602                 if (strpos("error",$return)===false) {
603                    $p += $return ;
604                 }else {
605                 $erreur_message .= $return . " nv : " .  $nv ;
606                 }
607                       
608         
609        }
610return  $p ;
611 
612}
613//=====================================================================================
614function matheval($equation) 
615  { 
616
617  $return="error";
618
619 
620    $equation = preg_replace("/[^0-9+\-.*\/()%]/","",$equation); 
621    $equation = preg_replace("/([+-])([0-9]{1})(%)/","*(1\$1.0\$2)",$equation); 
622    $equation = preg_replace("/([+-])([0-9]+)(%)/","*(1\$1.\$2)",$equation); 
623    $equation = preg_replace("/([0-9]+)(%)/",".\$1",$equation); 
624       
625    if ( $equation == "" ) 
626    { 
627      $return = 0; 
628    }     else  { 
629       @eval("\$return=" . $equation . ";" ); 
630    }
631 return $return; 
632   
633  } 
634
635//======================================================================================
636function sup_double_espace($chaine){
637global $erreur_message;
638        $str_temp = $chaine." ";
639        $sep=" ";
640        $chaine = trim($chaine);
641        $existe = (strpos($sep.$sep,$chaine )===false) ;
642         while  ($existe ){
643         $str_temp = str_replace($sep.$sep, $sep, $chaine ); 
644                if($str_temp == $chaine ) return $chaine ;
645//                      $erreur_message .= memo_var($str_temp) ;
646                $chaine  = $str_temp;
647                        $existe =  (strpos($sep.$sep,$chaine )===false) ;
648                }
649        return $chaine;
650}
651
652
653
654function kill_list()
655{
656 //==================== TEST black_liste ============================================   
657 Global $pays,$region,$ville,$erreur_message,$infos_message,$conf;     
658  global $conf, $user, $page;
659  global $mails_options ;
660   global $superv_bl_champs,$superv_bl_type ; 
661
662 
663if (count($mails_options) < 6 ) return false ;
664 
665$ip = $_SERVER['REMOTE_ADDR'] ;
666 
667 
668 
669        if ( !isset($_POST['pays'])) {
670       
671        if ( !isset($_POST['ip_black_test'])) {    Get_Geo();           }
672                 
673                 return ;       
674                }  else{
675                  $pays = isset($_POST['pays']) ? $_POST['pays'] : $pays="" ;
676                  $ville = (isset($_POST['ville']))   ? $_POST['ville']: $ville="" ; 
677                  $region =  isset($_POST['region']) ? $_POST['region'] : $region="" ; 
678         
679        }
680 
681
682 
683     $query = "
684                SELECT *,COUNT(`id`) as total
685                FROM `".MAIL_BLACK_LISTE_TABLE."`
686                    WHERE `ip` LIKE '".$ip."'
687                ;";     
688                 $datas = mysql_fetch_array(pwg_query($query),MYSQL_ASSOC);
689                 $nb = $datas['total']; 
690if ($mails_options[5] == 'on')
691{
692 if ($nb==0) {
693  if (test_spam($ip))
694  {
695 
696        $valeurs=array( 'NULL',
697                            "'".$ip."'",
698                                        "'".$pays."'",
699                                        "'".$region."'",       
700                                        "'".$ville."'",
701                                        '"adresse"',
702                                        '"fai" ',
703                                        1
704        );
705        ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,true) ; 
706          $erreur_message .= $ip.$mails_options[6] . ' -----> ' . l10n('black_list') ;
707        return true ;   
708
709    }
710  }
711}
712 //==============================================================================
713 
714 if ( $mails_options[6] == $ip ) return ($nb > 0) ;     
715   $mails_options[6] =   $ip ; 
716   sauve_options();
717 
718        if (  $nb > 0 )
719        {
720            $erreur_message .= $ip . ' | ' . $pays . ' | ' . $region . ' | ' . $ville . ' ==> ';
721            $row  = mysql_fetch_row(pwg_query($query));
722            $nb =  ($row[7])+1;
723         $query ="
724                        UPDATE " . MAIL_BLACK_LISTE_TABLE . "
725                        SET ";
726                if (isset($_POST['pays']))     
727                 $query .= "   
728                        `pays` = '". $pays ."',
729                        `region` = '" . $region ."',
730                        `ville` = '" . $ville . "',
731                        ";
732                 $query .= "           
733                        `nb` = " . $nb . "
734                          WHERE ip = '". $ip ."' ;
735                ";
736                                pwg_query($query );
737        //================================================================================     
738               
739        }
740 
741
742return ($nb > 0) ;
743}
744//=====================================================================================
745function test_spam($ip)
746{
747$buffer="";
748
749
750if (isset($ip))
751        {
752        if (strlen($ip) > 3)
753        {
754
755        $handle =  @fopen("http://www.stopforumspam.com/api?ip=$ip","r"); 
756        if ($handle) {
757                while (!feof($handle)) { 
758                $buffer .= fgets($handle, 4096);
759                          }   
760                          fclose($handle);
761                          }
762                        return  !(strpos(  $buffer,'yes' ) === false) ;
763
764        }
765       
766         }
767          return  false;
768}
769//==================================================================
770
771               
772?>
773
774
775
776         
Note: See TracBrowser for help on using the repository browser.