3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ProxyChecker { private $proxyCheckUrl; private $config = array( 'timeout' => 10, 'check' => array('get', 'post', 'cookie', 'referer', 'user_agent'), ); public function __construct($proxyCheckUrl, array $config = array()) { $this->proxyCheckUrl = $proxyCheckUrl; $this->setConfig($config); } public function setConfig(array $config) { $this->config = array_merge($this->config, $config); } public function checkProxies(array $proxies) { $results = array(); foreach ($proxies as $proxy) { try { $results[$proxy] = $this->checkProxy($proxy); } catch (\Exception $e) { $results[$proxy]['error'] = $e->getMessage(); } } return $results; } public function checkProxy($proxy) { list($content, $info) = $this->getProxyContent($proxy); return $this->checkProxyContent($content, $info); } private function getProxyContent($proxy) { @list($proxyIp, $proxyPassword, $proxyType) = explode(',', $proxy); $ch = \curl_init(); $url = $this->proxyCheckUrl; // check query if (in_array('get', $this->config['check'])) { $url .= '?q=query'; } $options = array( CURLOPT_URL => $url, CURLOPT_PROXY => $proxyIp, CURLOPT_HEADER => true, CURLOPT_TIMEOUT => $this->config['timeout'], CURLOPT_CONNECTTIMEOUT => $this->config['timeout'], CURLOPT_RETURNTRANSFER => true ); if (!empty($proxyPassword)) { $options[CURLOPT_PROXYAUTH] = CURLAUTH_BASIC; $options[CURLOPT_PROXYUSERPWD] = $proxyPassword; } // check post if (in_array('post', $this->config['check'])) { $options[CURLOPT_POST] = true; $options[CURLOPT_POSTFIELDS] = array( 'r' => 'request' ); } // check cookie if (in_array('cookie', $this->config['check'])) { $options[CURLOPT_COOKIE] = 'c=cookie'; } // check refderer if (in_array('referer', $this->config['check'])) { $options[CURLOPT_REFERER] = 'http://www.google.com'; } // check user agent if (in_array('user_agent', $this->config['check'])) { $options[CURLOPT_USERAGENT] = 'Mozila/4.0'; } if (!empty($proxyType)) { if ('http' == $proxyType) { $options[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP; } else if ('socks4' == $proxyType) { $options[CURLOPT_PROXYTYPE] = CURLPROXY_SOCKS4; } else if ('socks5' == $proxyType) { $options[CURLOPT_PROXYTYPE] = CURLPROXY_SOCKS5; } } \curl_setopt_array($ch, $options); $content = \curl_exec($ch); $info = \curl_getinfo($ch); return array($content, $info); } private function checkProxyContent($content, $info) { if (!$content) { throw new \Exception('Empty content'); } if (!strpos($content, 'check this string in proxy response content')) { throw new \Exception('Wrong content'); } if (200 !== $info['http_code']) { throw new \Exception('Code invalid: ' . $info['http_code']); } $allowed = array(); $disallowed = array(); foreach ($this->config['check'] as $value) { if (strpos($content, "allow_$value")) { $allowed[] = $value; } else { $disallowed[] = $value; } } // proxy level $proxyLevel = ''; if (strpos($content, 'proxylevel_elite')) { $proxyLevel = 'elite'; } elseif (strpos($content, 'proxylevel_anonymous')) { $proxyLevel = 'anonymous'; } elseif (strpos($content, 'proxylevel_transparent')) { $proxyLevel = 'transparent'; } return array( 'allowed' => $allowed, 'disallowed' => $disallowed, 'proxy_level' => $proxyLevel, 'info' => $info ); } } $pingUrl = 'http://yourdomain.com/ProxyChecker/ping.php'; $proxyChecker = new ProxyChecker($pingUrl); $proxies = array( '183.95.132.76:80', '195.5.18.41:8118', ); $results = $proxyChecker->checkProxies($proxies); echo '<pre>'; var_export($results); echo '</pre';
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/R4oP3
function name:  (null)
number of ops:  16
compiled vars:  !0 = $pingUrl, !1 = $proxyChecker, !2 = $proxies, !3 = $results
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  158     0  E >   ASSIGN                                                   !0, 'http%3A%2F%2Fyourdomain.com%2FProxyChecker%2Fping.php'
  159     1        NEW                                              $5      'ProxyChecker'
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0          
          4        ASSIGN                                                   !1, $5
  161     5        ASSIGN                                                   !2, <array>
  166     6        INIT_METHOD_CALL                                         !1, 'checkProxies'
          7        SEND_VAR_EX                                              !2
          8        DO_FCALL                                      0  $9      
          9        ASSIGN                                                   !3, $9
  168    10        ECHO                                                     '%3Cpre%3E'
  169    11        INIT_FCALL                                               'var_export'
         12        SEND_VAR                                                 !3
         13        DO_ICALL                                                 
  170    14        ECHO                                                     '%3C%2Fpre'
         15      > RETURN                                                   1

Class ProxyChecker:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/R4oP3
function name:  __construct
number of ops:  8
compiled vars:  !0 = $proxyCheckUrl, !1 = $config
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <array>
   14     2        ASSIGN_OBJ                                               'proxyCheckUrl'
          3        OP_DATA                                                  !0
   16     4        INIT_METHOD_CALL                                         'setConfig'
          5        SEND_VAR_EX                                              !1
          6        DO_FCALL                                      0          
   17     7      > RETURN                                                   null

End of function __construct

Function setconfig:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/R4oP3
function name:  setConfig
number of ops:  9
compiled vars:  !0 = $config
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   19     0  E >   RECV                                             !0      
   21     1        INIT_FCALL                                               'array_merge'
          2        FETCH_OBJ_R                                      ~2      'config'
          3        SEND_VAL                                                 ~2
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $3      
          6        ASSIGN_OBJ                                               'config'
          7        OP_DATA                                                  $3
   22     8      > RETURN                                                   null

End of function setconfig

Function checkproxies:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 17
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 17
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
Found catch point at position: 10
Branch analysis from position: 10
2 jumps found. (Code = 107) Position 1 = 11, Position 2 = -2
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
filename:       /in/R4oP3
function name:  checkProxies
number of ops:  20
compiled vars:  !0 = $proxies, !1 = $results, !2 = $proxy, !3 = $e
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   24     0  E >   RECV                                             !0      
   26     1        ASSIGN                                                   !1, <array>
   28     2      > FE_RESET_R                                       $5      !0, ->17
          3    > > FE_FETCH_R                                               $5, !2, ->17
   30     4    >   INIT_METHOD_CALL                                         'checkProxy'
          5        SEND_VAR_EX                                              !2
          6        DO_FCALL                                      0  $7      
          7        ASSIGN_DIM                                               !1, !2
          8        OP_DATA                                                  $7
          9      > JMP                                                      ->16
   31    10  E > > CATCH                                       last         'Exception'
   32    11    >   INIT_METHOD_CALL                                         !3, 'getMessage'
         12        DO_FCALL                                      0  $10     
         13        FETCH_DIM_W                                      $8      !1, !2
         14        ASSIGN_DIM                                               $8, 'error'
         15        OP_DATA                                                  $10
   28    16    > > JMP                                                      ->3
         17    >   FE_FREE                                                  $5
   36    18      > RETURN                                                   !1
   37    19*     > RETURN                                                   null

End of function checkproxies

Function checkproxy:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/R4oP3
function name:  checkProxy
number of ops:  15
compiled vars:  !0 = $proxy, !1 = $content, !2 = $info
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   39     0  E >   RECV                                             !0      
   41     1        INIT_METHOD_CALL                                         'getProxyContent'
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0  $3      
          4        FETCH_LIST_R                                     $4      $3, 0
          5        ASSIGN                                                   !1, $4
          6        FETCH_LIST_R                                     $6      $3, 1
          7        ASSIGN                                                   !2, $6
          8        FREE                                                     $3
   43     9        INIT_METHOD_CALL                                         'checkProxyContent'
         10        SEND_VAR_EX                                              !1
         11        SEND_VAR_EX                                              !2
         12        DO_FCALL                                      0  $8      
         13      > RETURN                                                   $8
   44    14*     > RETURN                                                   null

End of function checkproxy

Function getproxycontent:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 27
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 47, Position 2 = 54
Branch analysis from position: 47
2 jumps found. (Code = 43) Position 1 = 61, Position 2 = 67
Branch analysis from position: 61
2 jumps found. (Code = 43) Position 1 = 74, Position 2 = 77
Branch analysis from position: 74
2 jumps found. (Code = 43) Position 1 = 84, Position 2 = 87
Branch analysis from position: 84
2 jumps found. (Code = 43) Position 1 = 94, Position 2 = 97
Branch analysis from position: 94
2 jumps found. (Code = 43) Position 1 = 100, Position 2 = 120
Branch analysis from position: 100
2 jumps found. (Code = 43) Position 1 = 102, Position 2 = 107
Branch analysis from position: 102
1 jumps found. (Code = 42) Position 1 = 120
Branch analysis from position: 120
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 107
2 jumps found. (Code = 43) Position 1 = 109, Position 2 = 114
Branch analysis from position: 109
1 jumps found. (Code = 42) Position 1 = 120
Branch analysis from position: 120
Branch analysis from position: 114
2 jumps found. (Code = 43) Position 1 = 116, Position 2 = 120
Branch analysis from position: 116
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 120
Branch analysis from position: 120
Branch analysis from position: 97
Branch analysis from position: 87
Branch analysis from position: 77
Branch analysis from position: 67
Branch analysis from position: 54
Branch analysis from position: 27
filename:       /in/R4oP3
function name:  getProxyContent
number of ops:  136
compiled vars:  !0 = $proxy, !1 = $proxyIp, !2 = $proxyPassword, !3 = $proxyType, !4 = $ch, !5 = $url, !6 = $options, !7 = $content, !8 = $info
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   46     0  E >   RECV                                             !0      
   48     1        BEGIN_SILENCE                                    ~9      
          2        INIT_FCALL                                               'explode'
          3        SEND_VAL                                                 '%2C'
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $10     
          6        FETCH_LIST_R                                     $11     $10, 0
          7        ASSIGN                                                   !1, $11
          8        FETCH_LIST_R                                     $13     $10, 1
          9        ASSIGN                                                   !2, $13
         10        FETCH_LIST_R                                     $15     $10, 2
         11        ASSIGN                                                   !3, $15
         12        END_SILENCE                                              ~9
         13        FREE                                                     $10
   50    14        INIT_FCALL_BY_NAME                                       'curl_init'
         15        DO_FCALL                                      0  $17     
         16        ASSIGN                                                   !4, $17
   52    17        FETCH_OBJ_R                                      ~19     'proxyCheckUrl'
         18        ASSIGN                                                   !5, ~19
   55    19        INIT_FCALL                                               'in_array'
         20        SEND_VAL                                                 'get'
         21        FETCH_OBJ_R                                      ~21     'config'
         22        FETCH_DIM_R                                      ~22     ~21, 'check'
         23        SEND_VAL                                                 ~22
         24        DO_ICALL                                         $23     
         25      > JMPZ                                                     $23, ->27
   56    26    >   ASSIGN_OP                                     8          !5, '%3Fq%3Dquery'
   60    27    >   FETCH_CONSTANT                                   ~25     'CURLOPT_URL'
         28        INIT_ARRAY                                       ~26     !5, ~25
   61    29        FETCH_CONSTANT                                   ~27     'CURLOPT_PROXY'
         30        ADD_ARRAY_ELEMENT                                ~26     !1, ~27
   62    31        FETCH_CONSTANT                                   ~28     'CURLOPT_HEADER'
   60    32        ADD_ARRAY_ELEMENT                                ~26     <true>, ~28
   63    33        FETCH_CONSTANT                                   ~29     'CURLOPT_TIMEOUT'
         34        FETCH_OBJ_R                                      ~30     'config'
         35        FETCH_DIM_R                                      ~31     ~30, 'timeout'
         36        ADD_ARRAY_ELEMENT                                ~26     ~31, ~29
   64    37        FETCH_CONSTANT                                   ~32     'CURLOPT_CONNECTTIMEOUT'
         38        FETCH_OBJ_R                                      ~33     'config'
         39        FETCH_DIM_R                                      ~34     ~33, 'timeout'
         40        ADD_ARRAY_ELEMENT                                ~26     ~34, ~32
   65    41        FETCH_CONSTANT                                   ~35     'CURLOPT_RETURNTRANSFER'
   60    42        ADD_ARRAY_ELEMENT                                ~26     <true>, ~35
   59    43        ASSIGN                                                   !6, ~26
   68    44        ISSET_ISEMPTY_CV                                 ~37     !2
         45        BOOL_NOT                                         ~38     ~37
         46      > JMPZ                                                     ~38, ->54
   69    47    >   FETCH_CONSTANT                                   ~39     'CURLOPT_PROXYAUTH'
         48        FETCH_CONSTANT                                   ~41     'CURLAUTH_BASIC'
         49        ASSIGN_DIM                                               !6, ~39
         50        OP_DATA                                                  ~41
   70    51        FETCH_CONSTANT                                   ~42     'CURLOPT_PROXYUSERPWD'
         52        ASSIGN_DIM                                               !6, ~42
         53        OP_DATA                                                  !2
   74    54    >   INIT_FCALL                                               'in_array'
         55        SEND_VAL                                                 'post'
         56        FETCH_OBJ_R                                      ~44     'config'
         57        FETCH_DIM_R                                      ~45     ~44, 'check'
         58        SEND_VAL                                                 ~45
         59        DO_ICALL                                         $46     
         60      > JMPZ                                                     $46, ->67
   75    61    >   FETCH_CONSTANT                                   ~47     'CURLOPT_POST'
         62        ASSIGN_DIM                                               !6, ~47
         63        OP_DATA                                                  <true>
   76    64        FETCH_CONSTANT                                   ~49     'CURLOPT_POSTFIELDS'
         65        ASSIGN_DIM                                               !6, ~49
   77    66        OP_DATA                                                  <array>
   82    67    >   INIT_FCALL                                               'in_array'
         68        SEND_VAL                                                 'cookie'
         69        FETCH_OBJ_R                                      ~51     'config'
         70        FETCH_DIM_R                                      ~52     ~51, 'check'
         71        SEND_VAL                                                 ~52
         72        DO_ICALL                                         $53     
         73      > JMPZ                                                     $53, ->77
   83    74    >   FETCH_CONSTANT                                   ~54     'CURLOPT_COOKIE'
         75        ASSIGN_DIM                                               !6, ~54
         76        OP_DATA                                                  'c%3Dcookie'
   87    77    >   INIT_FCALL                                               'in_array'
         78        SEND_VAL                                                 'referer'
         79        FETCH_OBJ_R                                      ~56     'config'
         80        FETCH_DIM_R                                      ~57     ~56, 'check'
         81        SEND_VAL                                                 ~57
         82        DO_ICALL                                         $58     
         83      > JMPZ                                                     $58, ->87
   88    84    >   FETCH_CONSTANT                                   ~59     'CURLOPT_REFERER'
         85        ASSIGN_DIM                                               !6, ~59
         86        OP_DATA                                                  'http%3A%2F%2Fwww.google.com'
   92    87    >   INIT_FCALL                                               'in_array'
         88        SEND_VAL                                                 'user_agent'
         89        FETCH_OBJ_R                                      ~61     'config'
         90        FETCH_DIM_R                                      ~62     ~61, 'check'
         91        SEND_VAL                                                 ~62
         92        DO_ICALL                                         $63     
         93      > JMPZ                                                     $63, ->97
   93    94    >   FETCH_CONSTANT                                   ~64     'CURLOPT_USERAGENT'
         95        ASSIGN_DIM                                               !6, ~64
         96        OP_DATA                                                  'Mozila%2F4.0'
   96    97    >   ISSET_ISEMPTY_CV                                 ~66     !3
         98        BOOL_NOT                                         ~67     ~66
         99      > JMPZ                                                     ~67, ->120
   97   100    >   IS_EQUAL                                                 !3, 'http'
        101      > JMPZ                                                     ~68, ->107
   98   102    >   FETCH_CONSTANT                                   ~69     'CURLOPT_PROXYTYPE'
        103        FETCH_CONSTANT                                   ~71     'CURLPROXY_HTTP'
        104        ASSIGN_DIM                                               !6, ~69
        105        OP_DATA                                                  ~71
        106      > JMP                                                      ->120
   99   107    >   IS_EQUAL                                                 !3, 'socks4'
        108      > JMPZ                                                     ~72, ->114
  100   109    >   FETCH_CONSTANT                                   ~73     'CURLOPT_PROXYTYPE'
        110        FETCH_CONSTANT                                   ~75     'CURLPROXY_SOCKS4'
        111        ASSIGN_DIM                                               !6, ~73
        112        OP_DATA                                                  ~75
        113      > JMP                                                      ->120
  101   114    >   IS_EQUAL                                                 !3, 'socks5'
        115      > JMPZ                                                     ~76, ->120
  102   116    >   FETCH_CONSTANT                                   ~77     'CURLOPT_PROXYTYPE'
        117        FETCH_CONSTANT                                   ~79     'CURLPROXY_SOCKS5'
        118        ASSIGN_DIM                                               !6, ~77
        119        OP_DATA                                                  ~79
  106   120    >   INIT_FCALL_BY_NAME                                       'curl_setopt_array'
        121        SEND_VAR_EX                                              !4
        122        SEND_VAR_EX                                              !6
        123        DO_FCALL                                      0          
  108   124        INIT_FCALL_BY_NAME                                       'curl_exec'
        125        SEND_VAR_EX                                              !4
        126        DO_FCALL                                      0  $81     
        127        ASSIGN                                                   !7, $81
  109   128        INIT_FCALL_BY_NAME                                       'curl_getinfo'
        129        SEND_VAR_EX                                              !4
        130        DO_FCALL                                      0  $83     
        131        ASSIGN                                                   !8, $83
  111   132        INIT_ARRAY                                       ~85     !7
        133        ADD_ARRAY_ELEMENT                                ~85     !8
        134      > RETURN                                                   ~85
  112   135*     > RETURN                                                   null

End of function getproxycontent

Function checkproxycontent:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 18
Branch analysis from position: 14
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 27
Branch analysis from position: 21
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 27
2 jumps found. (Code = 77) Position 1 = 32, Position 2 = 46
Branch analysis from position: 32
2 jumps found. (Code = 78) Position 1 = 33, Position 2 = 46
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 43
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 43
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 55
Branch analysis from position: 53
1 jumps found. (Code = 42) Position 1 = 68
Branch analysis from position: 68
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 55
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 62
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 68
Branch analysis from position: 68
Branch analysis from position: 62
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 68
Branch analysis from position: 67
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 68
Branch analysis from position: 46
filename:       /in/R4oP3
function name:  checkProxyContent
number of ops:  74
compiled vars:  !0 = $content, !1 = $info, !2 = $allowed, !3 = $disallowed, !4 = $value, !5 = $proxyLevel
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  114     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  116     2        BOOL_NOT                                         ~6      !0
          3      > JMPZ                                                     ~6, ->8
  117     4    >   NEW                                              $7      'Exception'
          5        SEND_VAL_EX                                              'Empty+content'
          6        DO_FCALL                                      0          
          7      > THROW                                         0          $7
  120     8    >   INIT_FCALL                                               'strpos'
          9        SEND_VAR                                                 !0
         10        SEND_VAL                                                 'check+this+string+in+proxy+response+content'
         11        DO_ICALL                                         $9      
         12        BOOL_NOT                                         ~10     $9
         13      > JMPZ                                                     ~10, ->18
  121    14    >   NEW                                              $11     'Exception'
         15        SEND_VAL_EX                                              'Wrong+content'
         16        DO_FCALL                                      0          
         17      > THROW                                         0          $11
  124    18    >   FETCH_DIM_R                                      ~13     !1, 'http_code'
         19        IS_NOT_IDENTICAL                                         ~13, 200
         20      > JMPZ                                                     ~14, ->27
  125    21    >   NEW                                              $15     'Exception'
         22        FETCH_DIM_R                                      ~16     !1, 'http_code'
         23        CONCAT                                           ~17     'Code+invalid%3A+', ~16
         24        SEND_VAL_EX                                              ~17
         25        DO_FCALL                                      0          
         26      > THROW                                         0          $15
  128    27    >   ASSIGN                                                   !2, <array>
  129    28        ASSIGN                                                   !3, <array>
  131    29        FETCH_OBJ_R                                      ~21     'config'
         30        FETCH_DIM_R                                      ~22     ~21, 'check'
         31      > FE_RESET_R                                       $23     ~22, ->46
         32    > > FE_FETCH_R                                               $23, !4, ->46
  132    33    >   INIT_FCALL                                               'strpos'
         34        SEND_VAR                                                 !0
         35        NOP                                                      
         36        FAST_CONCAT                                      ~24     'allow_', !4
         37        SEND_VAL                                                 ~24
         38        DO_ICALL                                         $25     
         39      > JMPZ                                                     $25, ->43
  133    40    >   ASSIGN_DIM                                               !2
         41        OP_DATA                                                  !4
         42      > JMP                                                      ->45
  135    43    >   ASSIGN_DIM                                               !3
         44        OP_DATA                                                  !4
  131    45    > > JMP                                                      ->32
         46    >   FE_FREE                                                  $23
  140    47        ASSIGN                                                   !5, ''
  141    48        INIT_FCALL                                               'strpos'
         49        SEND_VAR                                                 !0
         50        SEND_VAL                                                 'proxylevel_elite'
         51        DO_ICALL                                         $29     
         52      > JMPZ                                                     $29, ->55
  142    53    >   ASSIGN                                                   !5, 'elite'
         54      > JMP                                                      ->68
  143    55    >   INIT_FCALL                                               'strpos'
         56        SEND_VAR                                                 !0
         57        SEND_VAL                                                 'proxylevel_anonymous'
         58        DO_ICALL                                         $31     
         59      > JMPZ                                                     $31, ->62
  144    60    >   ASSIGN                                                   !5, 'anonymous'
         61      > JMP                                                      ->68
  145    62    >   INIT_FCALL                                               'strpos'
         63        SEND_VAR                                                 !0
         64        SEND_VAL                                                 'proxylevel_transparent'
         65        DO_ICALL                                         $33     
         66      > JMPZ                                                     $33, ->68
  146    67    >   ASSIGN                                                   !5, 'transparent'
  150    68    >   INIT_ARRAY                                       ~35     !2, 'allowed'
  151    69        ADD_ARRAY_ELEMENT                                ~35     !3, 'disallowed'
  152    70        ADD_ARRAY_ELEMENT                                ~35     !5, 'proxy_level'
  153    71        ADD_ARRAY_ELEMENT                                ~35     !1, 'info'
         72      > RETURN                                                   ~35
  155    73*     > RETURN                                                   null

End of function checkproxycontent

End of class ProxyChecker.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
174.06 ms | 1424 KiB | 23 Q