3v4l.org

run code in 300+ PHP versions simultaneously
<?PHP /* LookingGlass dgs-bootstraphtml.php */ define('dgs_void_tags', '<area><base><br><col><command><embed><hr><img><input><link><meta><param><source>'); define('dgs_CG_OPEN', '<div class="control-group">'); define('dgs_CG_CLOSE', '</div>'); define('dgs_HELP_OPEN', '<p class="help-block">'); define('dgs_HELP_CLOSE', '</p>'); $dgs_regNames = array(); function dgs_isVoidTag( $tagName ) { return (stripos(dgs_void_tags,'<'.$element.'>')!==false); } function dgs_nextRegNameID( $regName ) { global $dgs_regNames; if(isset($dgs_regNames[$regName])) { $dgs_regNames[$regName]++; } else { $dgs_regNames[$regName] = 0; } return $regName.$dgs_regNames[$regName]; } function dgs_attributes($OPTIONS) { $out = ''; foreach($OPTIONS as $parm => $val) { if(($parm[0]!='_')&&(strtolower($parm)!='class')&&(!empty($val))) $out .= ' '.$parm.'="'.$val.'"'; } return $out; } function dgs_element($type, $text, $OPTIONS=array(), $print=true) { // create an element // $OPTIONS = array of option settings {including but not limited to:} // '_style' => {blank} | primary | success | info | warning | danger | inverse | link (string) // '_size' => large | {blank} | small | mini (string) // '_disabled' => true | false (boolean) // '_element' => a | button | input (string) // 'href' => {target URL} | # // 'type' => {blank} | button | input | submit // 'name' => {element name} // 'id' => {element id} // 'value' => {element value} if ($text) { $o = $OPTIONS; if(!isset($o['_element'])) return false; $element = strtolower($o['_element']); $class = (($type!='icon')?$type:''); $class .= ((!empty($o['_style']))?" $type-".$o['_style']:''); $class .= ((!empty($o['_size']))?" $type-".$o['_size']:''); $class .= (($o['_disabled']==true)?' disabled':''); $class .= ((isset($o['class']))?' '.$o['class']:''); $class = trim($class); if($o['_disabled']==true)$o['disabled']='disabled'; $attr = dgs_attributes($o); $out = vsprintf('<%1$s class="%2$s"%3$s>%4$s'.((!dgs_isVoidTag($element))?'</%1$s>':''), array( $element, $class, $attr, $text, )); if(!empty($o['_help'])) $out.=dgs_HELP_OPEN.$o['_help'].dgs_HELP_CLOSE; if ($print==true) { echo $out; return true; } else { return $out; } } else { return false; } } function dgs_button($text, $OPTIONS=array(), $print=true) { // create a button // $OPTIONS = array of option settings {including but not limited to:} // '_style' => {blank} | primary | info | success | warning | danger | inverse | link // '_size' => large | {blank} | small | mini $o = array( '_element' => 'button', 'type' => (empty($OPTIONS['type'])?'button':$OPTIONS['type']), ); return dgs_element('btn', $text, array_merge($OPTIONS, $o), $print); } function dgs_buttonA($text, $OPTIONS=array(), $print=true) { // create a button // $OPTIONS = array of option settings {including but not limited to:} // '_style' => {blank} | primary | info | success | warning | danger | inverse | link // '_size' => large | {blank} | small | mini $o = array( '_element' => 'a', 'href' => (empty($OPTIONS['href'])?'#':$OPTIONS['href']), ); return dgs_element('btn', $text, array_merge($OPTIONS, $o), $print); } function dgs_buttonI($text, $OPTIONS=array(), $print=true) { // create a button // $OPTIONS = array of option settings {including but not limited to:} // '_style' => {blank} | primary | info | success | warning | danger | inverse | link // '_size' => large | {blank} | small | mini $o = array( '_element' => 'input', 'type' => (empty($OPTIONS['type'])?'button':$OPTIONS['type']), 'value' => (empty($OPTIONS['value'])?((!empty($text))?$text:'Submit'):$OPTIONS['value']), ); return dgs_element('btn', '', array_merge($OPTIONS, $o), $print); } function dgs_checkbox($name, $label, $value="1", $checked=false, $OPTIONS=array(), $print=true) { // create a checkbox input // wrapped in CLASS GROUP unless _inline option is true. // $OPTIONS = array of option settings {including but not limited to:} // _inline = false | true (boolean) // _disabled = false | true (boolean) // _help = {help block text, shown after element} // id = {automatically assigned if left blank} if(empty($name)) return false; $o = array( 'checked' => (($checked)?'checked':''), 'value' => $value, 'id' => ((empty($OPTIONS['id']))?dgs_nextRegNameID($name):$OPTIONS['id']), '_element' => 'input', 'type' => 'checkbox', 'name' => $name, 'class' => '', '_help' => '', ); $class = "checkbox".((!empty($OPTIONS['class']))?' '.$OPTIONS['class']:'').(((!empty($OPTIONS['_inline']))&&($OPTIONS['_inline']==true))?' inline':''); $out = '<label class="'.$class.'">'.dgs_element('','', array_merge($OPTIONS, $o), false).'</label>'; if(!empty($OPTIONS['_help'])) $out.=dgs_HELP_OPEN.$OPTIONS['_help'].dgs_HELP_CLOSE; if ((!empty($OPTIONS['_inline']))&&($OPTIONS['_inline']!=true)) $out = dgs_CG_OPEN.$out.dgs_CG_CLOSE; if ($print) { echo $out; return true; } return $out; } function dgs_alert($text, $OPTIONS=array(), $print=true) { // create a dismissable alert box // $OPTIONS = array of option settings {including but not limited to:} // '_style' => {blank} | "error" | "success" | "info" $o = $OPTIONS; $o['_size'] = ((strlen($text) > 80)?'block':''); $o['_element'] = 'div'; $b = array( '_element' => 'button', 'type' => 'button', 'data-dismiss' => 'alert' ); $btn = dgs_element('close', '&times;', $b, false); return dgs_element('alert', $btn.$text, $o, $print ); } ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/7otvn
function name:  (null)
number of ops:  22
compiled vars:  !0 = $dgs_regNames
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   INIT_FCALL                                               'define'
          1        SEND_VAL                                                 'dgs_void_tags'
          2        SEND_VAL                                                 '%3Carea%3E%3Cbase%3E%3Cbr%3E%3Ccol%3E%3Ccommand%3E%3Cembed%3E%3Chr%3E%3Cimg%3E%3Cinput%3E%3Clink%3E%3Cmeta%3E%3Cparam%3E%3Csource%3E'
          3        DO_ICALL                                                 
    9     4        INIT_FCALL                                               'define'
          5        SEND_VAL                                                 'dgs_CG_OPEN'
          6        SEND_VAL                                                 '%3Cdiv+class%3D%22control-group%22%3E'
          7        DO_ICALL                                                 
   10     8        INIT_FCALL                                               'define'
          9        SEND_VAL                                                 'dgs_CG_CLOSE'
         10        SEND_VAL                                                 '%3C%2Fdiv%3E'
         11        DO_ICALL                                                 
   11    12        INIT_FCALL                                               'define'
         13        SEND_VAL                                                 'dgs_HELP_OPEN'
         14        SEND_VAL                                                 '%3Cp+class%3D%22help-block%22%3E'
         15        DO_ICALL                                                 
   12    16        INIT_FCALL                                               'define'
         17        SEND_VAL                                                 'dgs_HELP_CLOSE'
         18        SEND_VAL                                                 '%3C%2Fp%3E'
         19        DO_ICALL                                                 
   14    20        ASSIGN                                                   !0, <array>
  164    21      > RETURN                                                   1

Function dgs_isvoidtag:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/7otvn
function name:  dgs_isVoidTag
number of ops:  11
compiled vars:  !0 = $tagName, !1 = $element
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   RECV                                             !0      
   17     1        INIT_FCALL                                               'stripos'
          2        FETCH_CONSTANT                                   ~2      'dgs_void_tags'
          3        SEND_VAL                                                 ~2
          4        CONCAT                                           ~3      '%3C', !1
          5        CONCAT                                           ~4      ~3, '%3E'
          6        SEND_VAL                                                 ~4
          7        DO_ICALL                                         $5      
          8        TYPE_CHECK                                  1018  ~6      $5
          9      > RETURN                                                   ~6
   18    10*     > RETURN                                                   null

End of function dgs_isvoidtag

Function dgs_nextregnameid:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/7otvn
function name:  dgs_nextRegNameID
number of ops:  13
compiled vars:  !0 = $regName, !1 = $dgs_regNames
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   20     0  E >   RECV                                             !0      
   21     1        BIND_GLOBAL                                              !1, 'dgs_regNames'
   22     2        ISSET_ISEMPTY_DIM_OBJ                         0          !1, !0
          3      > JMPZ                                                     ~2, ->7
   23     4    >   FETCH_DIM_RW                                     $3      !1, !0
          5        PRE_INC                                                  $3
          6      > JMP                                                      ->9
   25     7    >   ASSIGN_DIM                                               !1, !0
          8        OP_DATA                                                  0
   27     9    >   FETCH_DIM_R                                      ~6      !1, !0
         10        CONCAT                                           ~7      !0, ~6
         11      > RETURN                                                   ~7
   28    12*     > RETURN                                                   null

End of function dgs_nextregnameid

Function dgs_attributes:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 24
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 24
Branch analysis from position: 4
2 jumps found. (Code = 46) Position 1 = 8, Position 2 = 13
Branch analysis from position: 8
2 jumps found. (Code = 46) Position 1 = 14, Position 2 = 17
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 23
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 23
Branch analysis from position: 17
Branch analysis from position: 13
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 24
filename:       /in/7otvn
function name:  dgs_attributes
number of ops:  27
compiled vars:  !0 = $OPTIONS, !1 = $out, !2 = $val, !3 = $parm
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   30     0  E >   RECV                                             !0      
   31     1        ASSIGN                                                   !1, ''
   32     2      > FE_RESET_R                                       $5      !0, ->24
          3    > > FE_FETCH_R                                       ~6      $5, !2, ->24
          4    >   ASSIGN                                                   !3, ~6
   33     5        FETCH_DIM_R                                      ~8      !3, 0
          6        IS_NOT_EQUAL                                     ~9      ~8, '_'
          7      > JMPZ_EX                                          ~9      ~9, ->13
          8    >   INIT_FCALL                                               'strtolower'
          9        SEND_VAR                                                 !3
         10        DO_ICALL                                         $10     
         11        IS_NOT_EQUAL                                     ~11     $10, 'class'
         12        BOOL                                             ~9      ~11
         13    > > JMPZ_EX                                          ~9      ~9, ->17
         14    >   ISSET_ISEMPTY_CV                                 ~12     !2
         15        BOOL_NOT                                         ~13     ~12
         16        BOOL                                             ~9      ~13
         17    > > JMPZ                                                     ~9, ->23
         18    >   CONCAT                                           ~14     '+', !3
         19        CONCAT                                           ~15     ~14, '%3D%22'
         20        CONCAT                                           ~16     ~15, !2
         21        CONCAT                                           ~17     ~16, '%22'
         22        ASSIGN_OP                                     8          !1, ~17
   32    23    > > JMP                                                      ->3
         24    >   FE_FREE                                                  $5
   35    25      > RETURN                                                   !1
   36    26*     > RETURN                                                   null

End of function dgs_attributes

Function dgs_element:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 107
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 10
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 31
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 43
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 50
Branch analysis from position: 48
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 54, Position 2 = 58
Branch analysis from position: 54
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 69
Branch analysis from position: 67
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 81
Branch analysis from position: 79
1 jumps found. (Code = 42) Position 1 = 82
Branch analysis from position: 82
2 jumps found. (Code = 43) Position 1 = 94, Position 2 = 100
Branch analysis from position: 94
2 jumps found. (Code = 43) Position 1 = 102, Position 2 = 105
Branch analysis from position: 102
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 105
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 100
Branch analysis from position: 81
2 jumps found. (Code = 43) Position 1 = 94, Position 2 = 100
Branch analysis from position: 94
Branch analysis from position: 100
Branch analysis from position: 69
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 69
Branch analysis from position: 67
Branch analysis from position: 69
Branch analysis from position: 50
2 jumps found. (Code = 43) Position 1 = 54, Position 2 = 58
Branch analysis from position: 54
Branch analysis from position: 58
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 50
Branch analysis from position: 48
Branch analysis from position: 50
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 43
Branch analysis from position: 36
Branch analysis from position: 43
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 31
Branch analysis from position: 24
Branch analysis from position: 31
Branch analysis from position: 107
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/7otvn
function name:  dgs_element
number of ops:  109
compiled vars:  !0 = $type, !1 = $text, !2 = $OPTIONS, !3 = $print, !4 = $o, !5 = $element, !6 = $class, !7 = $attr, !8 = $out
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   38     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV_INIT                                        !2      <array>
          3        RECV_INIT                                        !3      <true>
   50     4      > JMPZ                                                     !1, ->107
   51     5    >   ASSIGN                                                   !4, !2
   52     6        ISSET_ISEMPTY_DIM_OBJ                         0  ~10     !4, '_element'
          7        BOOL_NOT                                         ~11     ~10
          8      > JMPZ                                                     ~11, ->10
          9    > > RETURN                                                   <false>
   53    10    >   INIT_FCALL                                               'strtolower'
         11        FETCH_DIM_R                                      ~12     !4, '_element'
         12        SEND_VAL                                                 ~12
         13        DO_ICALL                                         $13     
         14        ASSIGN                                                   !5, $13
   54    15        IS_NOT_EQUAL                                             !0, 'icon'
         16      > JMPZ                                                     ~15, ->19
         17    >   QM_ASSIGN                                        ~16     !0
         18      > JMP                                                      ->20
         19    >   QM_ASSIGN                                        ~16     ''
         20    >   ASSIGN                                                   !6, ~16
   55    21        ISSET_ISEMPTY_DIM_OBJ                         1  ~18     !4, '_style'
         22        BOOL_NOT                                         ~19     ~18
         23      > JMPZ                                                     ~19, ->31
         24    >   ROPE_INIT                                     3  ~21     '+'
         25        ROPE_ADD                                      1  ~21     ~21, !0
         26        ROPE_END                                      2  ~20     ~21, '-'
         27        FETCH_DIM_R                                      ~23     !4, '_style'
         28        CONCAT                                           ~24     ~20, ~23
         29        QM_ASSIGN                                        ~25     ~24
         30      > JMP                                                      ->32
         31    >   QM_ASSIGN                                        ~25     ''
         32    >   ASSIGN_OP                                     8          !6, ~25
   56    33        ISSET_ISEMPTY_DIM_OBJ                         1  ~27     !4, '_size'
         34        BOOL_NOT                                         ~28     ~27
         35      > JMPZ                                                     ~28, ->43
         36    >   ROPE_INIT                                     3  ~30     '+'
         37        ROPE_ADD                                      1  ~30     ~30, !0
         38        ROPE_END                                      2  ~29     ~30, '-'
         39        FETCH_DIM_R                                      ~32     !4, '_size'
         40        CONCAT                                           ~33     ~29, ~32
         41        QM_ASSIGN                                        ~34     ~33
         42      > JMP                                                      ->44
         43    >   QM_ASSIGN                                        ~34     ''
         44    >   ASSIGN_OP                                     8          !6, ~34
   57    45        FETCH_DIM_R                                      ~36     !4, '_disabled'
         46        BOOL                                             ~37     ~36
         47      > JMPZ                                                     ~37, ->50
         48    >   QM_ASSIGN                                        ~38     '+disabled'
         49      > JMP                                                      ->51
         50    >   QM_ASSIGN                                        ~38     ''
         51    >   ASSIGN_OP                                     8          !6, ~38
   58    52        ISSET_ISEMPTY_DIM_OBJ                         0          !4, 'class'
         53      > JMPZ                                                     ~40, ->58
         54    >   FETCH_DIM_R                                      ~41     !4, 'class'
         55        CONCAT                                           ~42     '+', ~41
         56        QM_ASSIGN                                        ~43     ~42
         57      > JMP                                                      ->59
         58    >   QM_ASSIGN                                        ~43     ''
         59    >   ASSIGN_OP                                     8          !6, ~43
   59    60        INIT_FCALL                                               'trim'
         61        SEND_VAR                                                 !6
         62        DO_ICALL                                         $45     
         63        ASSIGN                                                   !6, $45
   60    64        FETCH_DIM_R                                      ~47     !4, '_disabled'
         65        BOOL                                             ~48     ~47
         66      > JMPZ                                                     ~48, ->69
         67    >   ASSIGN_DIM                                               !4, 'disabled'
         68        OP_DATA                                                  'disabled'
   61    69    >   INIT_FCALL                                               'dgs_attributes'
         70        SEND_VAR                                                 !4
         71        DO_FCALL                                      0  $50     
         72        ASSIGN                                                   !7, $50
   62    73        INIT_FCALL                                               'vsprintf'
         74        INIT_FCALL                                               'dgs_isvoidtag'
         75        SEND_VAR                                                 !5
         76        DO_FCALL                                      0  $52     
         77        BOOL_NOT                                         ~53     $52
         78      > JMPZ                                                     ~53, ->81
         79    >   QM_ASSIGN                                        ~54     '%3C%2F%251%24s%3E'
         80      > JMP                                                      ->82
         81    >   QM_ASSIGN                                        ~54     ''
         82    >   CONCAT                                           ~55     '%3C%251%24s+class%3D%22%252%24s%22%253%24s%3E%254%24s', ~54
         83        SEND_VAL                                                 ~55
   63    84        INIT_ARRAY                                       ~56     !5
   64    85        ADD_ARRAY_ELEMENT                                ~56     !6
   65    86        ADD_ARRAY_ELEMENT                                ~56     !7
   66    87        ADD_ARRAY_ELEMENT                                ~56     !1
         88        SEND_VAL                                                 ~56
         89        DO_ICALL                                         $57     
   62    90        ASSIGN                                                   !8, $57
   68    91        ISSET_ISEMPTY_DIM_OBJ                         1  ~59     !4, '_help'
         92        BOOL_NOT                                         ~60     ~59
         93      > JMPZ                                                     ~60, ->100
         94    >   FETCH_CONSTANT                                   ~61     'dgs_HELP_OPEN'
         95        FETCH_DIM_R                                      ~62     !4, '_help'
         96        CONCAT                                           ~63     ~61, ~62
         97        FETCH_CONSTANT                                   ~64     'dgs_HELP_CLOSE'
         98        CONCAT                                           ~65     ~63, ~64
         99        ASSIGN_OP                                     8          !8, ~65
   69   100    >   BOOL                                             ~67     !3
        101      > JMPZ                                                     ~67, ->105
   70   102    >   ECHO                                                     !8
   71   103      > RETURN                                                   <true>
        104*       JMP                                                      ->106
   73   105    > > RETURN                                                   !8
        106*       JMP                                                      ->108
   76   107    > > RETURN                                                   <false>
   78   108*     > RETURN                                                   null

End of function dgs_element

Function dgs_button:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 8
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/7otvn
function name:  dgs_button
number of ops:  24
compiled vars:  !0 = $text, !1 = $OPTIONS, !2 = $print, !3 = $o
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   80     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <array>
          2        RECV_INIT                                        !2      <true>
   86     3        INIT_ARRAY                                       ~4      'button', '_element'
   87     4        ISSET_ISEMPTY_DIM_OBJ                         1          !1, 'type'
          5      > JMPZ                                                     ~5, ->8
          6    >   QM_ASSIGN                                        ~6      'button'
          7      > JMP                                                      ->10
          8    >   FETCH_DIM_R                                      ~7      !1, 'type'
          9        QM_ASSIGN                                        ~6      ~7
         10    >   ADD_ARRAY_ELEMENT                                ~4      ~6, 'type'
   85    11        ASSIGN                                                   !3, ~4
   89    12        INIT_FCALL                                               'dgs_element'
         13        SEND_VAL                                                 'btn'
         14        SEND_VAR                                                 !0
         15        INIT_FCALL                                               'array_merge'
         16        SEND_VAR                                                 !1
         17        SEND_VAR                                                 !3
         18        DO_ICALL                                         $9      
         19        SEND_VAR                                                 $9
         20        SEND_VAR                                                 !2
         21        DO_FCALL                                      0  $10     
         22      > RETURN                                                   $10
   90    23*     > RETURN                                                   null

End of function dgs_button

Function dgs_buttona:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 8
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/7otvn
function name:  dgs_buttonA
number of ops:  24
compiled vars:  !0 = $text, !1 = $OPTIONS, !2 = $print, !3 = $o
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   92     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <array>
          2        RECV_INIT                                        !2      <true>
   98     3        INIT_ARRAY                                       ~4      'a', '_element'
   99     4        ISSET_ISEMPTY_DIM_OBJ                         1          !1, 'href'
          5      > JMPZ                                                     ~5, ->8
          6    >   QM_ASSIGN                                        ~6      '%23'
          7      > JMP                                                      ->10
          8    >   FETCH_DIM_R                                      ~7      !1, 'href'
          9        QM_ASSIGN                                        ~6      ~7
         10    >   ADD_ARRAY_ELEMENT                                ~4      ~6, 'href'
   97    11        ASSIGN                                                   !3, ~4
  101    12        INIT_FCALL                                               'dgs_element'
         13        SEND_VAL                                                 'btn'
         14        SEND_VAR                                                 !0
         15        INIT_FCALL                                               'array_merge'
         16        SEND_VAR                                                 !1
         17        SEND_VAR                                                 !3
         18        DO_ICALL                                         $9      
         19        SEND_VAR                                                 $9
         20        SEND_VAR                                                 !2
         21        DO_FCALL                                      0  $10     
         22      > RETURN                                                   $10
  102    23*     > RETURN                                                   null

End of function dgs_buttona

Function dgs_buttoni:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 8
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 21
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 18
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 19
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 21
Branch analysis from position: 13
Branch analysis from position: 21
filename:       /in/7otvn
function name:  dgs_buttonI
number of ops:  37
compiled vars:  !0 = $text, !1 = $OPTIONS, !2 = $print, !3 = $o
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  104     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <array>
          2        RECV_INIT                                        !2      <true>
  110     3        INIT_ARRAY                                       ~4      'input', '_element'
  111     4        ISSET_ISEMPTY_DIM_OBJ                         1          !1, 'type'
          5      > JMPZ                                                     ~5, ->8
          6    >   QM_ASSIGN                                        ~6      'button'
          7      > JMP                                                      ->10
          8    >   FETCH_DIM_R                                      ~7      !1, 'type'
          9        QM_ASSIGN                                        ~6      ~7
         10    >   ADD_ARRAY_ELEMENT                                ~4      ~6, 'type'
  112    11        ISSET_ISEMPTY_DIM_OBJ                         1          !1, 'value'
         12      > JMPZ                                                     ~8, ->21
         13    >   ISSET_ISEMPTY_CV                                 ~9      !0
         14        BOOL_NOT                                         ~10     ~9
         15      > JMPZ                                                     ~10, ->18
         16    >   QM_ASSIGN                                        ~11     !0
         17      > JMP                                                      ->19
         18    >   QM_ASSIGN                                        ~11     'Submit'
         19    >   QM_ASSIGN                                        ~12     ~11
         20      > JMP                                                      ->23
         21    >   FETCH_DIM_R                                      ~13     !1, 'value'
         22        QM_ASSIGN                                        ~12     ~13
         23    >   ADD_ARRAY_ELEMENT                                ~4      ~12, 'value'
  109    24        ASSIGN                                                   !3, ~4
  114    25        INIT_FCALL                                               'dgs_element'
         26        SEND_VAL                                                 'btn'
         27        SEND_VAL                                                 ''
         28        INIT_FCALL                                               'array_merge'
         29        SEND_VAR                                                 !1
         30        SEND_VAR                                                 !3
         31        DO_ICALL                                         $15     
         32        SEND_VAR                                                 $15
         33        SEND_VAR                                                 !2
         34        DO_FCALL                                      0  $16     
         35      > RETURN                                                   $16
  115    36*     > RETURN                                                   null

End of function dgs_buttoni

Function dgs_checkbox:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 9
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 12
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 22
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 38
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
2 jumps found. (Code = 46) Position 1 = 43, Position 2 = 46
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 47, Position 2 = 49
Branch analysis from position: 47
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
2 jumps found. (Code = 43) Position 1 = 70, Position 2 = 76
Branch analysis from position: 70
2 jumps found. (Code = 46) Position 1 = 79, Position 2 = 82
Branch analysis from position: 79
2 jumps found. (Code = 43) Position 1 = 83, Position 2 = 88
Branch analysis from position: 83
2 jumps found. (Code = 43) Position 1 = 89, Position 2 = 91
Branch analysis from position: 89
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 91
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 88
Branch analysis from position: 82
Branch analysis from position: 76
Branch analysis from position: 49

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
171.83 ms | 1431 KiB | 30 Q