3v4l.org

run code in 300+ PHP versions simultaneously
<?php //error_reporting(0); //session_start(); function array_to_string($array) { $retval = ''; foreach ($array as $index => $value) { $retval .= urlencode(base64_encode($index)) . '|' . urlencode(base64_encode($value)) . '||'; } return urlencode(substr($retval, 0, -2)); } function string_to_array($string) { $retval = array(); $string = urldecode($string); $tmp_array = explode('||', $string); foreach ($tmp_array as $tmp_val) { list($index, $value) = explode('|', $tmp_val); $retval[base64_decode(urldecode($index))] = base64_decode(urldecode($value)); } return $retval; } function parse_smileys($string) { $smileylist = array(); $i = 0; if ($handle = opendir('./smileys/')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db") { $smileylist[$i] = str_replace(".gif", "", $file); $i++; } } closedir($handle); } foreach ($smileylist as $smileycheck) { $string = str_replace(":".$smileycheck.":", "<img src=\"smileys/".$smileycheck.".gif\" />", $string); } return $string; } function is_url($url){ // http, https. ftp $regex = "`^(https?://|ftp://)(([0-9a-z_!~*'().&=+$%-]+:)?[0-9a-z_!~*'().&=+$%-]+@)?" . //user@ "(([0-9]{1,3}\.){3}[0-9]{1,3}" . // IP "|" . // allows either IP or domain "([0-9a-z_!~*'()-]+\.)*" . // tertiary domain(s) "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." . // second level domain "[a-z]{2,6})" . // first level domain "(:[0-9]{1,4})?" . // port number "((/?)|" . // a slash isn't required if there is no file name "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$`"; //filename // www. $regex2 = "`^(www\.)(" . //www. "([0-9a-z_!~*'()-]+\.)*" . // tertiary domain(s) "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." . // second level domain "[a-z]{2,6})" . // first level domain "(:[0-9]{1,4})?" . // port number "((/?)|" . // a slash isn't required if there is no file name "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$`"; //filename return (preg_match($regex, $url) || preg_match($regex2, $url)); } function is_email($email){ $regex = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$^"; return preg_match($regex, $email); } function parse_links($msg) { $words = explode(" ", $msg); $new = array(); foreach($words as $word) { if(is_url($word)) if(substr($word,0,4)=="www.") $word = "<a href=\%22http:/%22.$word.%22\%22 target=\"_blank\">[link]</a>"; else $word = "<a href=\"".$word."\" target=\"_blank\">[link]</a>"; if(is_email($word)) $word = "<a href=\"mailto:".$word."\" target=\"_blank\">[mail]</a>"; $new[] = $word; } return implode(" ", $new); } function show(){ include("./config.php"); include("./lang.php"); $lines = file("./db.txt"); $numlines = count($lines); echo'<div class="tagcount">'; if($numlines=="1"){ echo "<center>(".str_replace("%1",$numlines,$lang["numtag"]).""; if($users_online_enabled){ echo ' | '; include("./online.php");} echo ")</center>\n"; } else { echo "<center>(".str_replace("%1",$numlines,$lang["numtags"]).""; if($users_online_enabled){ echo ' | '; include("./online.php");} echo ")</center>\n"; } echo'</div>'; if ($numtags >= $numlines) { $i = 0; } else { $i = $numlines - $numtags; } if($reverse_posts) { $lines = array_reverse($lines); $i = 0; } $ab = 0; while( $i < $numlines ) { if($reverse_posts && ($i > $numtags - 1)) { $i = $numlines + 1; } else { $thistag = string_to_array($lines[$i]); $thistag[4] = parse_smileys($thistag[4]); if(!$thistag[2] || ($thistag[2]=="http://")) { $thistag[2] = "<a href=\"#\">"; } else { $thistag[2] = "<a href=\"".$thistag[2]."\" target=\"_blank\">"; } if($timestamps_enabled&&$thistag[5]) { $timestamp = date($timestamp_format,$thistag[5])." &raquo;"; } else { $timestamp=""; } if($linkparsing) { $message = parse_links(stripslashes($thistag[4])); } else { $message = stripslashes($thistag[4]); } if(!$ab) { echo "<div class=\"taga\"><small>".$timestamp."</small>".$thistag[2]."".stripslashes($thistag[1])."</a> &raquo; ".$message."</div>\n"; $ab = 1; } else { echo "<div class=\"tagb\"><small>".$timestamp."</small>".$thistag[2].stripslashes($thistag[1])."</a> &raquo; ".$message."</div>\n"; $ab = 0; } } $i++; } //######################################################################## if($users_ip_enabled) { echo "<center>".$lang["usersip"]."<span class=\"ip\">".$_SERVER['REMOTE_ADDR']."</span></center>"; } if(!$users_ip_enabled) { echo ""; } if($admin_status_enabled){ //session_start(); if(isset($_SESSION['logged_in']) && $_SESSION['logged_in']==md5(md5($adminpass))) { echo "<center>".$lang["adminstatus"]."<span class=\"admin_online\"> ".$lang["adminonline"]."</span></center>"; }else{ echo "<center>".$lang["adminstatus"]."<span class=\"admin_offline\"> ".$lang["adminoffline"]."</span></center>"; } }else{ if($users_ip_enabled) { echo "</center>"; } } if($powered_by_enabled_bottom){ echo "<center>".$lang["poweredby"]."<a target=\"_blank\" href=".$lang["poweredurl"].">tagBox ".$versie."</a></center>"; } //######################################################################## } function main() { //session_start(); echo '<!DOCTYPE html>'; //echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'."\n"; echo '<html>'."\n"; echo '<head>'."\n"; echo '<title>Tagbox</title>'."\n"; echo '<link rel="stylesheet" type="text/css" href="default.css">'."\n"; echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'."\n"; echo '<script type="text/javascript"> function createRequestObject(){ var request_; var browser = navigator.appName; if(browser == "Microsoft Internet Explorer"){ request_ = new ActiveXObject("Microsoft.XMLHTTP"); }else{ request_ = new XMLHttpRequest(); } return request_; } var http = new Array(); var http2 = new Array(); function getInfo(){ var curDateTime = new Date(); http[curDateTime] = createRequestObject(); http[curDateTime].open(\'get\', \'refresh.php\'); http[curDateTime].onreadystatechange = function(){ if (http[curDateTime].readyState == 4) { if (http[curDateTime].status == 200 || http[curDateTime].status == 304) { var response = http[curDateTime].responseText; document.getElementById(\'view_ajax\').innerHTML = response; } } } http[curDateTime].send(null); } function go(){ window.scrollTo(0,0); getInfo(); window.setTimeout("go()", 5000); } </script>'."\n"; echo '</head>'."\n"; echo '<body onLoad="go()">'."\n"; echo '<center><div id="view_ajax"></div></center>'."\n"; echo '</body>'."\n"; echo '</html>'; } ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZF8KV
function name:  (null)
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  272     0  E > > RETURN                                                   1

Function array_to_string:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 22
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 22
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
filename:       /in/ZF8KV
function name:  array_to_string
number of ops:  33
compiled vars:  !0 = $array, !1 = $retval, !2 = $value, !3 = $index
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   RECV                                             !0      
    6     1        ASSIGN                                                   !1, ''
    7     2      > FE_RESET_R                                       $5      !0, ->22
          3    > > FE_FETCH_R                                       ~6      $5, !2, ->22
          4    >   ASSIGN                                                   !3, ~6
    9     5        INIT_FCALL                                               'urlencode'
          6        INIT_FCALL                                               'base64_encode'
          7        SEND_VAR                                                 !3
          8        DO_ICALL                                         $8      
          9        SEND_VAR                                                 $8
         10        DO_ICALL                                         $9      
         11        CONCAT                                           ~10     $9, '%7C'
         12        INIT_FCALL                                               'urlencode'
         13        INIT_FCALL                                               'base64_encode'
         14        SEND_VAR                                                 !2
         15        DO_ICALL                                         $11     
         16        SEND_VAR                                                 $11
         17        DO_ICALL                                         $12     
         18        CONCAT                                           ~13     ~10, $12
         19        CONCAT                                           ~14     ~13, '%7C%7C'
         20        ASSIGN_OP                                     8          !1, ~14
    7    21      > JMP                                                      ->3
         22    >   FE_FREE                                                  $5
   11    23        INIT_FCALL                                               'urlencode'
         24        INIT_FCALL                                               'substr'
         25        SEND_VAR                                                 !1
         26        SEND_VAL                                                 0
         27        SEND_VAL                                                 -2
         28        DO_ICALL                                         $16     
         29        SEND_VAR                                                 $16
         30        DO_ICALL                                         $17     
         31      > RETURN                                                   $17
   12    32*     > RETURN                                                   null

End of function array_to_string

Function string_to_array:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 12, Position 2 = 37
Branch analysis from position: 12
2 jumps found. (Code = 78) Position 1 = 13, Position 2 = 37
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 12
Branch analysis from position: 12
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
filename:       /in/ZF8KV
function name:  string_to_array
number of ops:  40
compiled vars:  !0 = $string, !1 = $retval, !2 = $tmp_array, !3 = $tmp_val, !4 = $index, !5 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   RECV                                             !0      
   16     1        ASSIGN                                                   !1, <array>
   17     2        INIT_FCALL                                               'urldecode'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $7      
          5        ASSIGN                                                   !0, $7
   18     6        INIT_FCALL                                               'explode'
          7        SEND_VAL                                                 '%7C%7C'
          8        SEND_VAR                                                 !0
          9        DO_ICALL                                         $9      
         10        ASSIGN                                                   !2, $9
   19    11      > FE_RESET_R                                       $11     !2, ->37
         12    > > FE_FETCH_R                                               $11, !3, ->37
   21    13    >   INIT_FCALL                                               'explode'
         14        SEND_VAL                                                 '%7C'
         15        SEND_VAR                                                 !3
         16        DO_ICALL                                         $12     
         17        FETCH_LIST_R                                     $13     $12, 0
         18        ASSIGN                                                   !4, $13
         19        FETCH_LIST_R                                     $15     $12, 1
         20        ASSIGN                                                   !5, $15
         21        FREE                                                     $12
   22    22        INIT_FCALL                                               'base64_decode'
         23        INIT_FCALL                                               'urldecode'
         24        SEND_VAR                                                 !4
         25        DO_ICALL                                         $17     
         26        SEND_VAR                                                 $17
         27        DO_ICALL                                         $18     
         28        INIT_FCALL                                               'base64_decode'
         29        INIT_FCALL                                               'urldecode'
         30        SEND_VAR                                                 !5
         31        DO_ICALL                                         $20     
         32        SEND_VAR                                                 $20
         33        DO_ICALL                                         $21     
         34        ASSIGN_DIM                                               !1, $18
         35        OP_DATA                                                  $21
   19    36      > JMP                                                      ->12
         37    >   FE_FREE                                                  $11
   24    38      > RETURN                                                   !1
   25    39*     > RETURN                                                   null

End of function string_to_array

Function parse_smileys:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 34
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 9
Branch analysis from position: 31
2 jumps found. (Code = 77) Position 1 = 35, Position 2 = 47
Branch analysis from position: 35
2 jumps found. (Code = 78) Position 1 = 36, Position 2 = 47
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
Branch analysis from position: 47
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
Branch analysis from position: 9
2 jumps found. (Code = 46) Position 1 = 11, Position 2 = 13
Branch analysis from position: 11
2 jumps found. (Code = 46) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 25
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 9
Branch analysis from position: 31
Branch analysis from position: 9
Branch analysis from position: 25
Branch analysis from position: 16
Branch analysis from position: 13
Branch analysis from position: 34
filename:       /in/ZF8KV
function name:  parse_smileys
number of ops:  50
compiled vars:  !0 = $string, !1 = $smileylist, !2 = $i, !3 = $handle, !4 = $file, !5 = $smileycheck
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   27     0  E >   RECV                                             !0      
   29     1        ASSIGN                                                   !1, <array>
   30     2        ASSIGN                                                   !2, 0
   31     3        INIT_FCALL                                               'opendir'
          4        SEND_VAL                                                 '.%2Fsmileys%2F'
          5        DO_ICALL                                         $8      
          6        ASSIGN                                           ~9      !3, $8
          7      > JMPZ                                                     ~9, ->34
   33     8    > > JMP                                                      ->25
   35     9    >   IS_NOT_EQUAL                                     ~10     !4, '.'
         10      > JMPZ_EX                                          ~10     ~10, ->13
         11    >   IS_NOT_EQUAL                                     ~11     !4, '..'
         12        BOOL                                             ~10     ~11
         13    > > JMPZ_EX                                          ~10     ~10, ->16
         14    >   IS_NOT_EQUAL                                     ~12     !4, 'Thumbs.db'
         15        BOOL                                             ~10     ~12
         16    > > JMPZ                                                     ~10, ->25
   37    17    >   INIT_FCALL                                               'str_replace'
         18        SEND_VAL                                                 '.gif'
         19        SEND_VAL                                                 ''
         20        SEND_VAR                                                 !4
         21        DO_ICALL                                         $14     
         22        ASSIGN_DIM                                               !1, !2
         23        OP_DATA                                                  $14
   38    24        PRE_INC                                                  !2
   33    25    >   INIT_FCALL                                               'readdir'
         26        SEND_VAR                                                 !3
         27        DO_ICALL                                         $16     
         28        ASSIGN                                           ~17     !4, $16
         29        TYPE_CHECK                                  1018          ~17
         30      > JMPNZ                                                    ~18, ->9
   41    31    >   INIT_FCALL                                               'closedir'
         32        SEND_VAR                                                 !3
         33        DO_ICALL                                                 
   44    34    > > FE_RESET_R                                       $20     !1, ->47
         35    > > FE_FETCH_R                                               $20, !5, ->47
   46    36    >   INIT_FCALL                                               'str_replace'
         37        CONCAT                                           ~21     '%3A', !5
         38        CONCAT                                           ~22     ~21, '%3A'
         39        SEND_VAL                                                 ~22
         40        CONCAT                                           ~23     '%3Cimg+src%3D%22smileys%2F', !5
         41        CONCAT                                           ~24     ~23, '.gif%22+%2F%3E'
         42        SEND_VAL                                                 ~24
         43        SEND_VAR                                                 !0
         44        DO_ICALL                                         $25     
         45        ASSIGN                                                   !0, $25
   44    46      > JMP                                                      ->35
         47    >   FE_FREE                                                  $20
   48    48      > RETURN                                                   !0
   49    49*     > RETURN                                                   null

End of function parse_smileys

Function is_url:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 8, Position 2 = 13
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
filename:       /in/ZF8KV
function name:  is_url
number of ops:  15
compiled vars:  !0 = $url, !1 = $regex, !2 = $regex2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   51     0  E >   RECV                                             !0      
   53     1        ASSIGN                                                   !1, '%60%5E%28https%3F%3A%2F%2F%7Cftp%3A%2F%2F%29%28%28%5B0-9a-z_%21%7E%2A%27%28%29.%26%3D%2B%24%25-%5D%2B%3A%29%3F%5B0-9a-z_%21%7E%2A%27%28%29.%26%3D%2B%24%25-%5D%2B%40%29%3F%28%28%5B0-9%5D%7B1%2C3%7D%5C.%29%7B3%7D%5B0-9%5D%7B1%2C3%7D%7C%28%5B0-9a-z_%21%7E%2A%27%28%29-%5D%2B%5C.%29%2A%28%5B0-9a-z%5D%5B0-9a-z-%5D%7B0%2C61%7D%29%3F%5B0-9a-z%5D%5C.%5Ba-z%5D%7B2%2C6%7D%29%28%3A%5B0-9%5D%7B1%2C4%7D%29%3F%28%28%2F%3F%29%7C%28%2F%5B0-9a-z_%21%7E%2A%27%28%29.%3B%3F%3A%40%26%3D%2B%24%2C%25%23-%5D%2B%29%2B%2F%3F%29%24%60'
   64     2        ASSIGN                                                   !2, '%60%5E%28www%5C.%29%28%28%5B0-9a-z_%21%7E%2A%27%28%29-%5D%2B%5C.%29%2A%28%5B0-9a-z%5D%5B0-9a-z-%5D%7B0%2C61%7D%29%3F%5B0-9a-z%5D%5C.%5Ba-z%5D%7B2%2C6%7D%29%28%3A%5B0-9%5D%7B1%2C4%7D%29%3F%28%28%2F%3F%29%7C%28%2F%5B0-9a-z_%21%7E%2A%27%28%29.%3B%3F%3A%40%26%3D%2B%24%2C%25%23-%5D%2B%29%2B%2F%3F%29%24%60'
   72     3        INIT_FCALL                                               'preg_match'
          4        SEND_VAR                                                 !1
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $5      
          7      > JMPNZ_EX                                         ~6      $5, ->13
          8    >   INIT_FCALL                                               'preg_match'
          9        SEND_VAR                                                 !2
         10        SEND_VAR                                                 !0
         11        DO_ICALL                                         $7      
         12        BOOL                                             ~6      $7
         13    > > RETURN                                                   ~6
   73    14*     > RETURN                                                   null

End of function is_url

Function is_email:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZF8KV
function name:  is_email
number of ops:  8
compiled vars:  !0 = $email, !1 = $regex
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   74     0  E >   RECV                                             !0      
   75     1        ASSIGN                                                   !1, '%5E%28%5Ba-zA-Z0-9_%5C-%5C.%5D%2B%29%40%28%28%5C%5B%5B0-9%5D%7B1%2C3%7D%5C.%5B0-9%5D%7B1%2C3%7D%5C.%5B0-9%5D%7B1%2C3%7D%5C.%29%7C%28%28%5Ba-zA-Z0-9%5C-%5D%2B%5C.%29%2B%29%29%28%5Ba-zA-Z%5D%7B2%2C4%7D%7C%5B0-9%5D%7B1%2C3%7D%29%28%5C%5D%3F%29%24%5E'
   76     2        INIT_FCALL                                               'preg_match'
          3        SEND_VAR                                                 !1
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $3      
          6      > RETURN                                                   $3
   77     7*     > RETURN                                                   null

End of function is_email

Function parse_links:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 38
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 38
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 28
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 25
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 35
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 35
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 35
Branch analysis from position: 32
Branch analysis from position: 35
Branch analysis from position: 28
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 38
filename:       /in/ZF8KV
function name:  parse_links
number of ops:  45
compiled vars:  !0 = $msg, !1 = $words, !2 = $new, !3 = $word
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   79     0  E >   RECV                                             !0      
   81     1        INIT_FCALL                                               'explode'
          2        SEND_VAL                                                 '+'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $4      
          5        ASSIGN                                                   !1, $4
   82     6        ASSIGN                                                   !2, <array>
   83     7      > FE_RESET_R                                       $7      !1, ->38
          8    > > FE_FETCH_R                                               $7, !3, ->38
   85     9    >   INIT_FCALL                                               'is_url'
         10        SEND_VAR                                                 !3
         11        DO_FCALL                                      0  $8      
         12      > JMPZ                                                     $8, ->28
   86    13    >   INIT_FCALL                                               'substr'
         14        SEND_VAR                                                 !3
         15        SEND_VAL                                                 0
         16        SEND_VAL                                                 4
         17        DO_ICALL                                         $9      
         18        IS_EQUAL                                                 $9, 'www.'
         19      > JMPZ                                                     ~10, ->25
   87    20    >   ROPE_INIT                                     3  ~12     '%3Ca+href%3D%5C%2522http%3A%2F%2522.'
         21        ROPE_ADD                                      1  ~12     ~12, !3
         22        ROPE_END                                      2  ~11     ~12, '.%2522%5C%2522+target%3D%22_blank%22%3E%5Blink%5D%3C%2Fa%3E'
         23        ASSIGN                                                   !3, ~11
         24      > JMP                                                      ->28
   89    25    >   CONCAT                                           ~15     '%3Ca+href%3D%22', !3
         26        CONCAT                                           ~16     ~15, '%22+target%3D%22_blank%22%3E%5Blink%5D%3C%2Fa%3E'
         27        ASSIGN                                                   !3, ~16
   91    28    >   INIT_FCALL                                               'is_email'
         29        SEND_VAR                                                 !3
         30        DO_FCALL                                      0  $18     
         31      > JMPZ                                                     $18, ->35
   92    32    >   CONCAT                                           ~19     '%3Ca+href%3D%22mailto%3A', !3
         33        CONCAT                                           ~20     ~19, '%22+target%3D%22_blank%22%3E%5Bmail%5D%3C%2Fa%3E'
         34        ASSIGN                                                   !3, ~20
   93    35    >   ASSIGN_DIM                                               !2
         36        OP_DATA                                                  !3
   83    37      > JMP                                                      ->8
         38    >   FE_FREE                                                  $7
   95    39        INIT_FCALL                                               'implode'
         40        SEND_VAL                                                 '+'
         41        SEND_VAR                                                 !2
         42        DO_ICALL                                         $23     
         43      > RETURN                                                   $23
   96    44*     > RETURN                                                   null

End of function parse_links

Function show:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 25
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 23
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 46, Position 2 = 51
Branch analysis from position: 46
1 jumps found. (Code = 42) Position 1 = 148
Branch analysis from position: 148
2 jumps found. (Code = 44) Position 1 = 150, Position 2 = 53
Branch analysis from position: 150
2 jumps found. (Code = 43) Position 1 = 151, Position 2 = 159
Branch analysis from position: 151
2 jumps found. (Code = 43) Position 1 = 161, Position 2 = 162
Branch analysis from position: 161
2 jumps found. (Code = 43) Position 1 = 163, Position 2 = 193
Branch analysis from position: 163
2 jumps found. (Code = 46) Position 1 = 166, Position 2 = 176
Branch analysis from position: 166
2 jumps found. (Code = 43) Position 1 = 177, Position 2 = 185
Branch analysis from position: 177
1 jumps found. (Code = 42) Position 1 = 192
Branch analysis from position: 192
1 jumps found. (Code = 42) Position 1 = 195
Branch analysis from position: 195
2 jumps found. (Code = 43) Position 1 = 196, Position 2 = 205
Branch analysis from position: 196
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 205
Branch analysis from position: 185
1 jumps found. (Code = 42) Position 1 = 195
Branch analysis from position: 195
Branch analysis from position: 176
Branch analysis from position: 193
2 jumps found. (Code = 43) Position 1 = 194, Position 2 = 195
Branch analysis from position: 194
2 jumps found. (Code = 43) Position 1 = 196, Position 2 = 205
Branch analysis from position: 196
Branch analysis from position: 205
Branch analysis from position: 195
Branch analysis from position: 162
Branch analysis from position: 159
Branch analysis from position: 53
2 jumps found. (Code = 46) Position 1 = 54, Position 2 = 57
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 58, Position 2 = 61
Branch analysis from position: 58
1 jumps found. (Code = 42) Position 1 = 147
Branch analysis from position: 147
2 jumps found. (Code = 44) Position 1 = 150, Position 2 = 53
Branch analysis from position: 150
Branch analysis from position: 53
Branch analysis from position: 61
2 jumps found. (Code = 47) Position 1 = 75, Position 2 = 78
Branch analysis from position: 75
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 82
Branch analysis from position: 79
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
2 jumps found. (Code = 46) Position 1 = 88, Position 2 = 90
Branch analysis from position: 88
2 jumps found. (Code = 43) Position 1 = 91, Position 2 = 99
Branch analysis from position: 91
1 jumps found. (Code = 42) Position 1 = 100
Branch analysis from position: 100
2 jumps found. (Code = 43) Position 1 = 101, Position 2 = 110
Branch analysis from position: 101
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 133
Branch analysis from position: 117
1 jumps found. (Code = 42) Position 1 = 147
Branch analysis from position: 147
Branch analysis from position: 133
2 jumps found. (Code = 44) Position 1 = 150, Position 2 = 53
Branch analysis from position: 150
Branch analysis from position: 53
Branch analysis from position: 110
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 133
Branch analysis from position: 117
Branch analysis from position: 133
Branch analysis from position: 99
2 jumps found. (Code = 43) Position 1 = 101, Position 2 = 110
Branch analysis from position: 101
Branch analysis from position: 110
Branch analysis from position: 90
Branch analysis from position: 82
2 jumps found. (Code = 46) Position 1 = 88, Position 2 = 90
Branch analysis from position: 88
Branch analysis from position: 90
Branch analysis from position: 78
Branch analysis from position: 57
Branch analysis from position: 51
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 46, Position 2 = 51
Branch analysis from position: 46
Branch analysis from position: 51
Branch analysis from position: 23
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 37
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
Branch analysis from position: 43
Branch analysis from position: 37
filename:       /in/ZF8KV
function name:  show
number of ops:  206
compiled vars:  !0 = $lines, !1 = $numlines, !2 = $lang, !3 = $users_online_enabled, !4 = $numtags, !5 = $i, !6 = $reverse_posts, !7 = $ab, !8 = $thistag, !9 = $timestamps_enabled, !10 = $timestamp, !11 = $timestamp_format, !12 = $linkparsing, !13 = $message, !14 = $users_ip_enabled, !15 = $admin_status_enabled, !16 = $adminpass, !17 = $powered_by_enabled_bottom, !18 = $versie
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   99     0  E >   INCLUDE_OR_EVAL                                          '.%2Fconfig.php', INCLUDE
  100     1        INCLUDE_OR_EVAL                                          '.%2Flang.php', INCLUDE
  102     2        INIT_FCALL                                               'file'
          3        SEND_VAL                                                 '.%2Fdb.txt'
          4        DO_ICALL                                         $21     
          5        ASSIGN                                                   !0, $21
  103     6        COUNT                                            ~23     !0
          7        ASSIGN                                                   !1, ~23
  105     8        ECHO                                                     '%3Cdiv+class%3D%22tagcount%22%3E'
  106     9        IS_EQUAL                                                 !1, '1'
         10      > JMPZ                                                     ~25, ->25
  107    11    >   INIT_FCALL                                               'str_replace'
         12        SEND_VAL                                                 '%251'
         13        SEND_VAR                                                 !1
         14        FETCH_DIM_R                                      ~26     !2, 'numtag'
         15        SEND_VAL                                                 ~26
         16        DO_ICALL                                         $27     
         17        CONCAT                                           ~28     '%3Ccenter%3E%28', $27
         18        CONCAT                                           ~29     ~28, ''
         19        ECHO                                                     ~29
  108    20      > JMPZ                                                     !3, ->23
  109    21    >   ECHO                                                     '+%7C+'
  110    22        INCLUDE_OR_EVAL                                          '.%2Fonline.php', INCLUDE
  111    23    >   ECHO                                                     '%29%3C%2Fcenter%3E%0A'
         24      > JMP                                                      ->38
  115    25    >   INIT_FCALL                                               'str_replace'
         26        SEND_VAL                                                 '%251'
         27        SEND_VAR                                                 !1
         28        FETCH_DIM_R                                      ~31     !2, 'numtags'
         29        SEND_VAL                                                 ~31
         30        DO_ICALL                                         $32     
         31        CONCAT                                           ~33     '%3Ccenter%3E%28', $32
         32        CONCAT                                           ~34     ~33, ''
         33        ECHO                                                     ~34
  116    34      > JMPZ                                                     !3, ->37
  117    35    >   ECHO                                                     '+%7C+'
  118    36        INCLUDE_OR_EVAL                                          '.%2Fonline.php', INCLUDE
  119    37    >   ECHO                                                     '%29%3C%2Fcenter%3E%0A'
  121    38    >   ECHO                                                     '%3C%2Fdiv%3E'
  122    39        IS_SMALLER_OR_EQUAL                                      !1, !4
         40      > JMPZ                                                     ~36, ->43
  124    41    >   ASSIGN                                                   !5, 0
         42      > JMP                                                      ->45
  128    43    >   SUB                                              ~38     !1, !4
         44        ASSIGN                                                   !5, ~38
  131    45    > > JMPZ                                                     !6, ->51
  133    46    >   INIT_FCALL                                               'array_reverse'
         47        SEND_VAR                                                 !0
         48        DO_ICALL                                         $40     
         49        ASSIGN                                                   !0, $40
  

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
172.78 ms | 1430 KiB | 43 Q