Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 12th, 2012  |  syntax: PHP  |  size: 3.48 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. public function info_getter($data, $what, $flags = array (), $nicks = array()) {
  2.         $what = strtolower ( $what );
  3.         foreach ( explode ( "\n", $data ) as $lines ) {
  4.                 $row = explode ( ":", $lines, 2 );
  5.                 $title = strtolower ( trim ( $row [0] ) );
  6.                 switch ($title) {
  7.                         case (($title == $what) && ($what == "email")) :
  8.                                 preg_match ( '/[A-Za-z0-9_-]+@[A-Za-z0-9_-]+\.([A-Za-z0-9_-][A-Za-z0-9_]+)/', $row [1], $email );
  9.                                 return $email [0];
  10.                                 break;
  11.                         case (($title == $what) && ($what == "vhost")) :
  12.                                 return $row [1];
  13.                                 break;
  14.                         case (($title == $what) && ($what == "flags")) :
  15.                                 foreach ( explode ( ",", $row [1] ) as $flag ) {
  16.                                         array_push ( $flags, $flag );
  17.                                 }
  18.                                 break;
  19.                         case (($title == $what) && ($what == "nicks")) :
  20.                                 foreach ( explode ( " ", $row [1] ) as $nick ) {
  21.                                         if ($nick)
  22.                                                 array_push ( $nicks, $nick );
  23.                                 }
  24.                                 break;
  25.                         case (($title == $what) && ($what == "real addr")) :
  26.                                 return $row [1];
  27.                                 break;
  28.                         case ((($title == "user seen") || ($title == "last seen")) && ($what == "last seen")) :
  29.                                 if ((trim ( $row [1] ) == "now") && ($what == "last seen")) {
  30.                                         $seen = time ();
  31.                                         break;
  32.                                 }
  33.                                 preg_match ( '/^([a-zA-Z]+) ([0-9]+) ([0-9]+):([0-9]+):([0-9]+) ([0-9]+)/', trim ( $row [1] ), $time );
  34.                                 $seen = mktime ( $time [3], $time [4], $time [5], date ( 'm', strtotime ( $time [1] ) ), $time [2], $time [6] );
  35.                                 break;
  36.                         case ((($title == "registered") || ($title == "user reg.")) && ($what == "registered")) :
  37.                                 preg_match ( '/^([a-zA-Z]+) ([0-9]+) ([0-9]+):([0-9]+):([0-9]+) ([0-9]+)/', trim ( $row [1] ), $time );
  38.                                 $registered = mktime ( $time [3], $time [4], $time [5], date ( 'm', strtotime ( $time [1] ) ), $time [2], $time [6] );
  39.                                 break;
  40.                         default :
  41.                                 return false;
  42.                 }
  43.         }
  44.         switch ($what) {
  45.                 case "flags" :
  46.                         return $flags;
  47.                         break;
  48.                 case "nicks" :
  49.                         return $nicks;
  50.                         break;
  51.                 case "registered" :
  52.                         return $registered;
  53.                         break;
  54.                 case "last seen" :
  55.                         return $seen;
  56.                         break;
  57.         }
  58. }
  59. // TODO: Clean up info_get, this can be done alot better
  60. public function Info_Get($data, $what) {
  61.         $what = strtolower ( $what );
  62.         if ($what == "nicks")
  63.                 $nicks = array ();
  64.         if ($what == "last seen")
  65.                 $seen = null;
  66.         foreach ( explode ( "\n", $data ) as $lines ) {
  67.                 $row = explode ( ":", $lines, 2 );
  68.                 $title = strtolower ( trim ( $row [0] ) );
  69.                 if ((isset ( $row [0] )) && (isset ( $row [1] ))) {
  70.  
  71.                         if (($what == "vHost") && ($title == "vhost"))
  72.                                 return trim ( $row [1] );
  73.                         else if (($what == "real addr") && ($title == "real addr"))
  74.                                 return trim ( $row [1] );
  75.                         else if (($what == "flags") && ($title == "flags"))
  76.                                 return trim ( $row [1] );
  77.                         else if (($what == "nicks") && ($title == "nicks"))
  78.                                 array_push ( $nicks, trim ( $row [1] ) );
  79.                         else if (($what == "registered") && ($title == "registered"))
  80.                                 return trim ( $row [1] );
  81.                         else if (($what == "email") && ($title == "email")) {
  82.                                 $email = explode ( " ", trim ( $row [1] ) );
  83.                                 return $email [0];
  84.                         } else if (($what == "last seen") && (($title == "last seen") || ($title == "user seen"))) {
  85.                                 if (trim ( $row [1] ) == "now")
  86.                                         $seen = time ();
  87.                                 else {
  88.                                         preg_match ( '/^([a-zA-Z]+) ([0-9]+) ([0-9]+):([0-9]+):([0-9]+) ([0-9]+)/', trim ( $row [1] ), $time );
  89.                                         $seen = mktime ( $time [3], $time [4], $time [5], date ( 'm', strtotime ( $time [1] ) ), $time [2], $time [6] );
  90.                                 }
  91.                         }
  92.                 }
  93.         }
  94.         if ($what == "nicks")
  95.                 return $nicks;
  96.         if ($what == "last seen")
  97.                 return $seen;
  98.         return false;
  99. }