3v4l.org

run code in 300+ PHP versions simultaneously
<?php set_time_limit(0); class StrawPoll { public function __construct() { } public function vote($id, array $votes, $amount = 10, $proxyList = null, $timeout = 5, $showErrors = true) { $mh = curl_multi_init(); $chs = array(); if(is_file($proxyList)) { $parts = pathinfo($proxyList); $json = false; if($parts['extension'] == 'json') { $proxies = json_decode(file_get_contents($proxyList), true); if($proxies) { $json = true; } else { return 'Malformed JSON in ' . $proxyList; } } else { $proxies = file($proxyList); } } $post = array( 'id' => $id, 'votes' => $votes ); $post = http_build_query($post); $headers = array( 'Origin: http://strawpoll.me', 'If-None-Match: 6bbfd', 'X-Requested-With: XMLHttpRequest' ); $loop = false; if($amount == -1) { $loop = true; $amount = 25; } if(isset($proxies)) { $amount = count($proxies); } $used = array(); for($i = 0; $i < $amount; $i++) { $ch = $this->makeCurl('http://strawpoll.me/ajax/vote'); $chs[] = $ch; if(isset($proxies)) { if(count($proxies) < 1) { if($showErrors) { echo 'Out of proxies :(' . PHP_EOL; } break; } $key = array_rand($proxies); $proxy = $proxies[$key]; unset($proxies[$key]); $proxyType = CURLPROXY_HTTP; if(!$json) { $proxy = trim($proxy); $parts = explode(':', $proxy); if(isset($parts[0], $parts[1])) { $proxyIP = $parts[0]; $proxyPort = $parts[1]; } else { $i--; continue; } if(isset($parts[2])) { $proxyType = strtoupper($proxyType) == 'SOCKS5' ? CURLPROXY_SOCKS5 : CURLPROXY_HTTP; } } else if($json && isset($proxy['ip'], $proxy['port'])) { $proxyIP = $proxy['ip']; $proxyPort = $proxy['port']; if(isset($proxy['type'])) { $proxyType = strtoupper($proxy['type']) == 'SOCKS5' ? CURLPROXY_SOCKS5 : CURLPROXY_HTTP; } } if(isset($used[$proxyIP])) { $i--; continue; } $used[$proxyIP] = true; if(!filter_var($proxyIP, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) || (!ctype_digit($proxyPort) || ($proxyPort < 0 || $proxyPort > 65535))) { $i--; continue; } curl_setopt_array($ch, array( CURLOPT_PROXY => $proxyIP . ':' . $proxyPort, CURLOPT_PROXYTYPE => $proxyType )); } curl_setopt_array($ch, array( CURLOPT_POSTFIELDS => $post, CURLOPT_POST => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_REFERER => 'http://strawpoll.me/' . $id, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36', CURLOPT_TIMEOUT => $timeout )); curl_multi_add_handle($mh, $ch); } $running = null; $votes = 0; $j = 0; $results = array(); do { while(($exec = curl_multi_exec($mh, $running)) == CURLM_CALL_MULTI_PERFORM); if($exec != CURLM_OK) { break; } while($ch = curl_multi_info_read($mh)) { $j++; $ch = $ch['handle']; $error = curl_error($ch); if(!$error) { $resp = curl_multi_getcontent($ch); $out = json_decode($resp, true); if(!isset($out['success'])) { if($showErrors) { echo 'Didn\'t vote. Invalid response.' . PHP_EOL; var_dump($resp); } } else { if($out['success'] == true) { $votes++; echo '[' . $votes . '] Voted' . PHP_EOL; } } $results[] = $out; } else { $results[] = $error; if($showErrors) { echo $error . PHP_EOL; } } curl_multi_remove_handle($mh, $ch); curl_close($ch); } } while($running); curl_multi_close($mh); if($loop) { $this->vote($id, $votes, $amount, $proxyList, $timeout); return array('results' => $results, 'votes' => $votes); } return array('results' => $results, 'votes' => $votes, 'total' => $amount); } public function makeCurl($url) { $cookie = dirname(__FILE__) . '/strawpoll.txt'; $ch = curl_init($url); curl_setopt_array($ch, array( CURLOPT_FOLLOWLOCATION => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_COOKIEFILE => $cookie, CURLOPT_COOKIEJAR => $cookie )); return $ch; } } $sp = new StrawPoll(); $votes = $sp->vote(3251008, array(1), 10500, 'http://pastebin.com/raw.php?i=Bc38g64G', 30, true); echo 'Successfully voted ' . $votes['votes'] . '/' . $votes['total'] . ' time(s)';
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/r28nF
function name:  (null)
number of ops:  23
compiled vars:  !0 = $sp, !1 = $votes
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'set_time_limit'
          1        SEND_VAL                                                 0
          2        DO_ICALL                                                 
  162     3        NEW                                              $3      'StrawPoll'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !0, $3
  163     6        INIT_METHOD_CALL                                         !0, 'vote'
          7        SEND_VAL_EX                                              3251008
          8        SEND_VAL_EX                                              <array>
          9        SEND_VAL_EX                                              10500
         10        SEND_VAL_EX                                              'http%3A%2F%2Fpastebin.com%2Fraw.php%3Fi%3DBc38g64G'
         11        SEND_VAL_EX                                              30
         12        SEND_VAL_EX                                              <true>
         13        DO_FCALL                                      0  $6      
         14        ASSIGN                                                   !1, $6
  164    15        FETCH_DIM_R                                      ~8      !1, 'votes'
         16        CONCAT                                           ~9      'Successfully+voted+', ~8
         17        CONCAT                                           ~10     ~9, '%2F'
         18        FETCH_DIM_R                                      ~11     !1, 'total'
         19        CONCAT                                           ~12     ~10, ~11
         20        CONCAT                                           ~13     ~12, '+time%28s%29'
         21        ECHO                                                     ~13
         22      > RETURN                                                   1

Class StrawPoll:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/r28nF
function name:  __construct
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E > > RETURN                                                   null

End of function __construct

Function vote:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 40
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 36
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 51, Position 2 = 53
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 55, Position 2 = 57
Branch analysis from position: 55
1 jumps found. (Code = 42) Position 1 = 204
Branch analysis from position: 204
2 jumps found. (Code = 44) Position 1 = 206, Position 2 = 60
Branch analysis from position: 206
1 jumps found. (Code = 42) Position 1 = 211
Branch analysis from position: 211
2 jumps found. (Code = 44) Position 1 = 219, Position 2 = 211
Branch analysis from position: 219
2 jumps found. (Code = 43) Position 1 = 222, Position 2 = 223
Branch analysis from position: 222
1 jumps found. (Code = 42) Position 1 = 280
Branch analysis from position: 280
2 jumps found. (Code = 43) Position 1 = 284, Position 2 = 294
Branch analysis from position: 284
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 294
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 223
1 jumps found. (Code = 42) Position 1 = 274
Branch analysis from position: 274
2 jumps found. (Code = 44) Position 1 = 279, Position 2 = 224
Branch analysis from position: 279
2 jumps found. (Code = 44) Position 1 = 280, Position 2 = 210
Branch analysis from position: 280
Branch analysis from position: 210
Branch analysis from position: 224
2 jumps found. (Code = 43) Position 1 = 233, Position 2 = 262
Branch analysis from position: 233
2 jumps found. (Code = 43) Position 1 = 245, Position 2 = 251
Branch analysis from position: 245
2 jumps found. (Code = 43) Position 1 = 246, Position 2 = 250
Branch analysis from position: 246
1 jumps found. (Code = 42) Position 1 = 259
Branch analysis from position: 259
1 jumps found. (Code = 42) Position 1 = 267
Branch analysis from position: 267
2 jumps found. (Code = 44) Position 1 = 279, Position 2 = 224
Branch analysis from position: 279
Branch analysis from position: 224
Branch analysis from position: 250
Branch analysis from position: 251
2 jumps found. (Code = 43) Position 1 = 254, Position 2 = 259
Branch analysis from position: 254
1 jumps found. (Code = 42) Position 1 = 267
Branch analysis from position: 267
Branch analysis from position: 259
Branch analysis from position: 262
2 jumps found. (Code = 43) Position 1 = 265, Position 2 = 267
Branch analysis from position: 265
2 jumps found. (Code = 44) Position 1 = 279, Position 2 = 224
Branch analysis from position: 279
Branch analysis from position: 224
Branch analysis from position: 267
Branch analysis from position: 211
Branch analysis from position: 60
2 jumps found. (Code = 43) Position 1 = 68, Position 2 = 182
Branch analysis from position: 68
2 jumps found. (Code = 43) Position 1 = 71, Position 2 = 74
Branch analysis from position: 71
2 jumps found. (Code = 43) Position 1 = 72, Position 2 = 73
Branch analysis from position: 72
1 jumps found. (Code = 42) Position 1 = 206
Branch analysis from position: 206
Branch analysis from position: 73
Branch analysis from position: 74
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 120
Branch analysis from position: 85
2 jumps found. (Code = 46) Position 1 = 96, Position 2 = 98
Branch analysis from position: 96
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 104
Branch analysis from position: 99
1 jumps found. (Code = 42) Position 1 = 106
Branch analysis from position: 106
2 jumps found. (Code = 43) Position 1 = 108, Position 2 = 119
Branch analysis from position: 108
2 jumps found. (Code = 43) Position 1 = 113, Position 2 = 116
Branch analysis from position: 113
1 jumps found. (Code = 42) Position 1 = 118
Branch analysis from position: 118
1 jumps found. (Code = 42) Position 1 = 145
Branch analysis from position: 145
2 jumps found. (Code = 43) Position 1 = 147, Position 2 = 149
Branch analysis from position: 147
1 jumps found. (Code = 42) Position 1 = 203
Branch analysis from position: 203
2 jumps found. (Code = 44) Position 1 = 206, Position 2 = 60
Branch analysis from position: 206
Branch analysis from position: 60
Branch analysis from position: 149
2 jumps found. (Code = 47) Position 1 = 158, Position 2 = 169
Branch analysis from position: 158
2 jumps found. (Code = 47) Position 1 = 163, Position 2 = 168
Branch analysis from position: 163
2 jumps found. (Code = 47) Position 1 = 165, Position 2 = 167
Branch analysis from position: 165
2 jumps found. (Code = 43) Position 1 = 170, Position 2 = 172
Branch analysis from position: 170
1 jumps found. (Code = 42) Position 1 = 203
Branch analysis from position: 203
Branch analysis from position: 172
2 jumps found. (Code = 44) Position 1 = 206, Position 2 = 60
Branch analysis from position: 206
Branch analysis from position: 60
Branch analysis from position: 167
Branch analysis from position: 168
Branch analysis from position: 169
Branch analysis from position: 116
1 jumps found. (Code = 42) Position 1 = 145
Branch analysis from position: 145
Branch analysis from position: 119
Branch analysis from position: 104
1 jumps found. (Code = 42) Position 1 = 203
Branch analysis from position: 203
Branch analysis from position: 98
Branch analysis from position: 120
2 jumps found. (Code = 46) Position 1 = 121, Position 2 = 126
Branch analysis from position: 121
2 jumps found. (Code = 46) Position 1 = 123, Position 2 = 125
Branch analysis from position: 123
2 jumps found. (Code = 43) Position 1 = 127, Position 2 = 145
Branch analysis from position: 127
2 jumps found. (Code = 43) Position 1 = 133, Position 2 = 145
Branch analysis from position: 133
2 jumps found. (Code = 43) Position 1 = 139, Position 2 = 142
Branch analysis from position: 139
1 jumps found. (Code = 42) Position 1 = 144
Branch analysis from position: 144
2 jumps found. (Code = 43) Position 1 = 147, Position 2 = 149
Branch analysis from position: 147
Branch analysis from position: 149
Branch analysis from position: 142
2 jumps found. (Code = 43) Position 1 = 147, Position 2 = 149
Branch analysis from position: 147
Branch analysis from position: 149
Branch analysis from position: 145
Branch analysis from position: 145
Branch analysis from position: 125
Branch analysis from position: 126
Branch analysis from position: 182
Branch analysis from position: 57
Branch analysis from position: 53
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 51, Position 2 = 53
Branch analysis from position: 51
Branch analysis from position: 53
Branch analysis from position: 40
filename:       /in/r28nF
function name:  vote
number of ops:  299
compiled vars:  !0 = $id, !1 = $votes, !2 = $amount, !3 = $proxyList, !4 = $timeout, !5 = $showErrors, !6 = $mh, !7 = $chs, !8 = $parts, !9 = $json, !10 = $proxies, !11 = $post, !12 = $headers, !13 = $loop, !14 = $used, !15 = $i, !16 = $ch, !17 = $key, !18 = $proxy, !19 = $proxyType, !20 = $proxyIP, !21 = $proxyPort, !22 = $running, !23 = $j, !24 = $results, !25 = $exec, !26 = $error, !27 = $resp, !28 = $out
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV_INIT                                        !2      10
          3        RECV_INIT                                        !3      null
          4        RECV_INIT                                        !4      5
          5        RECV_INIT                                        !5      <true>
    8     6        INIT_FCALL_BY_NAME                                       'curl_multi_init'
          7        DO_FCALL                                      0  $29     
          8        ASSIGN                                                   !6, $29
    9     9        ASSIGN                                                   !7, <array>
   10    10        INIT_FCALL                                               'is_file'
         11        SEND_VAR                                                 !3
         12        DO_ICALL                                         $32     
         13      > JMPZ                                                     $32, ->40
   11    14    >   INIT_FCALL                                               'pathinfo'
         15        SEND_VAR                                                 !3
         16        DO_ICALL                                         $33     
         17        ASSIGN                                                   !8, $33
   12    18        ASSIGN                                                   !9, <false>
   13    19        FETCH_DIM_R                                      ~36     !8, 'extension'
         20        IS_EQUAL                                                 ~36, 'json'
         21      > JMPZ                                                     ~37, ->36
   14    22    >   INIT_FCALL                                               'json_decode'
         23        INIT_FCALL                                               'file_get_contents'
         24        SEND_VAR                                                 !3
         25        DO_ICALL                                         $38     
         26        SEND_VAR                                                 $38
         27        SEND_VAL                                                 <true>
         28        DO_ICALL                                         $39     
         29        ASSIGN                                                   !10, $39
   15    30      > JMPZ                                                     !10, ->33
   16    31    >   ASSIGN                                                   !9, <true>
         32      > JMP                                                      ->35
   18    33    >   CONCAT                                           ~42     'Malformed+JSON+in+', !3
         34      > RETURN                                                   ~42
         35    > > JMP                                                      ->40
   21    36    >   INIT_FCALL                                               'file'
         37        SEND_VAR                                                 !3
         38        DO_ICALL                                         $43     
         39        ASSIGN                                                   !10, $43
   25    40    >   INIT_ARRAY                                       ~45     !0, 'id'
   26    41        ADD_ARRAY_ELEMENT                                ~45     !1, 'votes'
   24    42        ASSIGN                                                   !11, ~45
   28    43        INIT_FCALL                                               'http_build_query'
         44        SEND_VAR                                                 !11
         45        DO_ICALL                                         $47     
         46        ASSIGN                                                   !11, $47
   29    47        ASSIGN                                                   !12, <array>
   34    48        ASSIGN                                                   !13, <false>
   35    49        IS_EQUAL                                                 !2, -1
         50      > JMPZ                                                     ~51, ->53
   36    51    >   ASSIGN                                                   !13, <true>
   37    52        ASSIGN                                                   !2, 25
   39    53    >   ISSET_ISEMPTY_CV                                         !10
         54      > JMPZ                                                     ~54, ->57
   40    55    >   COUNT                                            ~55     !10
         56        ASSIGN                                                   !2, ~55
   42    57    >   ASSIGN                                                   !14, <array>
   43    58        ASSIGN                                                   !15, 0
         59      > JMP                                                      ->204
   44    60    >   INIT_METHOD_CALL                                         'makeCurl'
         61        SEND_VAL_EX                                              'http%3A%2F%2Fstrawpoll.me%2Fajax%2Fvote'
         62        DO_FCALL                                      0  $59     
         63        ASSIGN                                                   !16, $59
   45    64        ASSIGN_DIM                                               !7
         65        OP_DATA                                                  !16
   46    66        ISSET_ISEMPTY_CV                                         !10
         67      > JMPZ                                                     ~62, ->182
   47    68    >   COUNT                                            ~63     !10
         69        IS_SMALLER                                               ~63, 1
         70      > JMPZ                                                     ~64, ->74
   48    71    > > JMPZ                                                     !5, ->73
   49    72    >   ECHO                                                     'Out+of+proxies+%3A%28%0A'
   51    73    > > JMP                                                      ->206
   53    74    >   INIT_FCALL                                               'array_rand'
         75        SEND_VAR                                                 !10
         76        DO_ICALL                                         $65     
         77        ASSIGN                                                   !17, $65
   54    78        FETCH_DIM_R                                      ~67     !10, !17
         79        ASSIGN                                                   !18, ~67
   55    80        UNSET_DIM                                                !10, !17
   56    81        FETCH_CONSTANT                                   ~69     'CURLPROXY_HTTP'
         82        ASSIGN                                                   !19, ~69
   57    83        BOOL_NOT                                         ~71     !9
         84      > JMPZ                                                     ~71, ->120
   58    85    >   INIT_FCALL                                               'trim'
         86        SEND_VAR                                                 !18
         87        DO_ICALL                                         $72     
         88        ASSIGN                                                   !18, $72
   59    89        INIT_FCALL                                               'explode'
         90        SEND_VAL                                                 '%3A'
         91        SEND_VAR                                                 !18
         92        DO_ICALL                                         $74     
         93        ASSIGN                                                   !8, $74
   60    94        ISSET_ISEMPTY_DIM_OBJ                         0  ~76     !8, 0
         95      > JMPZ_EX                                          ~76     ~76, ->98
         96    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~77     !8, 1
         97        BOOL                                             ~76     ~77
         98    > > JMPZ                                                     ~76, ->104
   61    99    >   FETCH_DIM_R                                      ~78     !8, 0
        100        ASSIGN                                                   !20, ~78
   62   101        FETCH_DIM_R                                      ~80     !8, 1
        102        ASSIGN                                                   !21, ~80
        103      > JMP                                                      ->106
   64   104    >   PRE_DEC                                                  !15
   65   105      > JMP                                                      ->203
   67   106    >   ISSET_ISEMPTY_DIM_OBJ                         0          !8, 2
        107      > JMPZ                                                     ~83, ->119
   68   108    >   INIT_FCALL                                               'strtoupper'
        109        SEND_VAR                                                 !19
        110        DO_ICALL                                         $84     
        111        IS_EQUAL                                                 $84, 'SOCKS5'
        112      > JMPZ                                                     ~85, ->116
        113    >   FETCH_CONSTANT                                   ~86     'CURLPROXY_SOCKS5'
        114        QM_ASSIGN                                        ~87     ~86
        115      > JMP                                                      ->118
        116    >   FETCH_CONSTANT                                   ~88     'CURLPROXY_HTTP'
        117        QM_ASSIGN                                        ~87     ~88
        118    >   ASSIGN                                                   !19, ~87
        119    > > JMP                                                      ->145
   70   120    > > JMPZ_EX                                          ~90     !9, ->126
        121    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~91     !18, 'ip'
        122      > JMPZ_EX                                          ~91     ~91, ->125
        123    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~92     !18, 'port'
        124        BOOL                                             ~91     ~92
        125    >   BOOL                                             ~90     ~91
        126    > > JMPZ                                                     ~90, ->145
   71   127    >   FETCH_DIM_R                                      ~93     !18, 'ip'
        128        ASSIGN                                                   !20, ~93
   72   129        FETCH_DIM_R                                      ~95     !18, 'port'
        130        ASSIGN                                                   !21, ~95
   73   131        ISSET_ISEMPTY_DIM_OBJ                         0          !18, 'type'
        132      > JMPZ                                                     ~97, ->145
   74   133    >   INIT_FCALL                                               'strtoupper'
        134        FETCH_DIM_R                                      ~98     !18, 'type'
        135        SEND_VAL                                                 ~98
        136        DO_ICALL                                         $99     
        137        IS_EQUAL                                                 $99, 'SOCKS5'
        138      > JMPZ                                                     ~100, ->142
        139    >   FETCH_CONSTANT                                   ~101    'CURLPROXY_SOCKS5'
        140        QM_ASSIGN                                        ~102    ~101
        141      > JMP                                                      ->144
        142    >   FETCH_CONSTANT                                   ~103    'CURLPROXY_HTTP'
        143        QM_ASSIGN                                        ~102    ~103
        144    >   ASSIGN                                                   !19, ~102
   77   145    >   ISSET_ISEMPTY_DIM_OBJ                         0          !14, !20
        146      > JMPZ                                                     ~105, ->149
   78   147    >   PRE_DEC                                                  !15
   79   148      > JMP                                                      ->203
   81   149    >   ASSIGN_DIM                                               !14, !20
        150        OP_DATA                                                  <true>
   82   151        INIT_FCALL                                               'filter_var'
        152        SEND_VAR                                                 !20
        153        SEND_VAL                                                 275
   83   154        SEND_VAL                                                 12582912
        155        DO_ICALL                                         $108    
        156        BOOL_NOT                                         ~109    $108
        157      > JMPNZ_EX                                         ~109    ~109, ->169
   84   158    >   INIT_FCALL                                               'ctype_digit'
        159        SEND_VAR                                                 !21
        160        DO_ICALL                                         $110    
        161        BOOL_NOT                                         ~111    $110
        162      > JMPNZ_EX                                         ~111    ~111, ->168
        163    >   IS_SMALLER                                       ~112    !21, 0
        164      > JMPNZ_EX                                         ~112    ~112, ->167
        165    >   IS_SMALLER                                       ~113    65535, !21
        166        BOOL                                             ~112    ~113
        167    >   BOOL                                             ~111    ~112
        168    >   BOOL                                             ~109    ~111
        169    > > JMPZ                                                     ~109, ->172
   85   170    >   PRE_DEC                                                  !15
   86   171      > JMP                                                      ->203
   88   172    >   INIT_FCALL_BY_NAME                                       'curl_setopt_array'
        173        SEND_VAR_EX                                              !16
   89   174        FETCH_CONSTANT                                   ~115    'CURLOPT_PROXY'
        175        CONCAT                                           ~116    !20, '%3A'
        176        CONCAT                                           ~117    ~116, !21
        177        INIT_ARRAY                                       ~118    ~117, ~115
   90   178        FETCH_CONSTANT                                   ~119    'CURLOPT_PROXYTYPE'
        179        ADD_ARRAY_ELEMENT                                ~118    !19, ~119
        180        SEND_VAL_EX                                              ~118
        181        DO_FCALL                                      0          
   93   182    >   INIT_FCALL_BY_NAME                                       'curl_setopt_array'
        183        SEND_VAR_EX                                              !16
   94   184        FETCH_CONSTANT                                   ~121    'CURLOPT_POSTFIELDS'
        185        INIT_ARRAY                                       ~122    !11, ~121
   95   186        FETCH_CONSTANT                                   ~123    'CURLOPT_POST'
   94   187        ADD_ARRAY_ELEMENT                                ~122    <true>, ~123
   96   188        FETCH_CONSTANT                                   ~124    'CURLOPT_HTTPHEADER'
        189        ADD_ARRAY_ELEMENT                                ~122    !12, ~124
   97   190        FETCH_CONSTANT                                   ~125    'CURLOPT_REFERER'
        191        CONCAT                                           ~126    'http%3A%2F%2Fstrawpoll.me%2F', !0
        192        ADD_ARRAY_ELEMENT                                ~122    ~126, ~125
   98   193        FETCH_CONSTANT                                   ~127    'CURLOPT_USERAGENT'
        194        ADD_ARRAY_ELEMENT                                ~122    'Mozilla%2F5.0+%28Windows+NT+6.3%3B+WOW64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F33.0.1750.146+Safari%2F537.36', ~127
   99   195        FETCH_CONSTANT                                   ~128    'CURLOPT_TIMEOUT'
        196        ADD_ARRAY_ELEMENT                                ~122    !4, ~128
        197        SEND_VAL_EX                                              ~122
        198        DO_FCALL                                      0          
  101   199        INIT_FCALL_BY_NAME                                       'curl_multi_add_handle'
        200        SEND_VAR_EX                                              !6
        201        SEND_VAR_EX                                              !16
        202        DO_FCALL                                      0          
   43   203    >   PRE_INC                                                  !15
        204    >   IS_SMALLER                                               !15, !2
        205      > JMPNZ                                                    ~132, ->60
  103   206    >   ASSIGN                                                   !22, null
  104   207        ASSIGN                                                   !1, 0
  105   208        ASSIGN                                                   !23, 0
  106   209        ASSIGN                                                   !24, <array>
  108   210    > > JMP                                                      ->211
        211    >   INIT_FCALL_BY_NAME                                       'curl_multi_exec'
        212        SEND_VAR_EX                                              !6
        213        SEND_VAR_EX                                              !22
        214        DO_FCALL                                      0  $137    
        215        ASSIGN                                           ~138    !25, $137
        216        FETCH_CONSTANT                                   ~139    'CURLM_CALL_MULTI_PERFORM'
        217        IS_EQUAL                                                 ~138, ~139
        218      > JMPNZ                                                    ~140, ->211
  109   219    >   FETCH_CONSTANT                                   ~141    'CURLM_OK'
        220        IS_NOT_EQUAL                                             !25, ~141
        221      > JMPZ                                                     ~142, ->223
  110   222    > > JMP                                                      ->280
  112   223    > > JMP                                                      ->274
  113   224    >   PRE_INC                                                  !23
  114   225        FETCH_DIM_R                                      ~144    !16, 'handle'
        226        ASSIGN                                                   !16, ~144
  115   227        INIT_FCALL_BY_NAME                                       'curl_error'
        228        SEND_VAR_EX                                              !16
        229        DO_FCALL                                      0  $146    
        230        ASSIGN                                                   !26, $146
  116   231        BOOL_NOT                                         ~148    !26
        232      > JMPZ                                                     ~148, ->262
  117   233    >   INIT_FCALL_BY_NAME                                       'curl_multi_getcontent'
        234        SEND_VAR_EX                                              !16
        235        DO_FCALL                                      0  $149    
        236        ASSIGN                                                   !27, $149
  118   237        INIT_FCALL                                               'json_decode'
        238        SEND_VAR                                                 !27
        239        SEND_VAL                                                 <true>
        240        DO_ICALL                                         $151    
        241        ASSIGN                                                   !28, $151
  119   242        ISSET_ISEMPTY_DIM_OBJ                         0  ~153    !28, 'success'
        243        BOOL_NOT                                         ~154    ~153
        244      > JMPZ                                                     ~154, ->251
  120   245    > > JMPZ                                                     !5, ->250
  121   246    >   ECHO                                                     'Didn%27t+vote.+Invalid+response.%0A'
  122   247        INIT_FCALL                                               'var_dump'
        248        SEND_VAR                                                 !27
        249        DO_ICALL                                                 
        250    > > JMP                                                      ->259
  125   251    >   FETCH_DIM_R                                      ~156    !28, 'success'
        252        BOOL                                             ~157    ~156
        253      > JMPZ                                                     ~157, ->259
  126   254    >   PRE_INC                                                  !1
  127   255        CONCAT                                           ~159    '%5B', !1
        256        CONCAT                                           ~160    ~159, '%5D+Voted'
        257        CONCAT                                           ~161    ~160, '%0A'
        258        ECHO                                                     ~161
  130   259    >   ASSIGN_DIM                                               !24
        260        OP_DATA                                         

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
171.41 ms | 1433 KiB | 41 Q