<?php 
$ds = DIRECTORY_SEPARATOR ; 
// http://dev1:8083/zinc/showsource.php?file=J:/awww/www/fwphp/glomodul/mkd/02/02_domain_model/DM_Gervasio_part2.txt&line=55&next=171 
// J:\awww\www\zinc\showsource.php 
//http://dev1:8083/fwphp/glomodul/mkd/?showhtml=02/02_domain_model/DM_Gervasio_part2.txt 
 
// if no param. displays this script code : 
      switch (true) { 
        case isset($file) and $file > '' : 
          $file = str_replace('\\','/', $file); 
          break; 
        case isset($_GET['file']) and $_GET['file'] > '' : 
          $file = str_replace('\\','/', $_GET['file']); 
          break; 
        default : 
          $file = str_replace('\\','/', $_SERVER['SCRIPT_FILENAME']) ; 
      } 
 
//echo basename($file) ;  
//bgcolor="lightgray" 
//<div class="jumbotron jumbotron-fluid"> 
?> 
 
<div class="container"> 
<?php 
//bgcolor="#E0E0E0" 
//Cezary Tomczak http://gosu.pl/software/mygosulib.html 
// $_GET and $_REQUEST  are already decoded 
//echo $file; 
 
$id = @$_GET['id'] ? $_GET['id'] : '[???]'; 
// 
$line = isset($_GET['line']) ? $_GET['line'] : 1; 
$prev = isset($_GET['prev']) ? $_GET['prev'] : 10000; 
$next = isset($_GET['next']) ? $_GET['next'] : 10000; 
 
//NE: require_once($_SERVER['DOCUMENT_ROOT'].'/inc/utl/view_fn.inc'); 
  //if ($prev != 10000 || $next != 10000) { 
$shows_path = str_replace('/',$ds 
                , $_SERVER['SCRIPT_FILENAME'] 
                //, $file 
); 
 
 
        //echo "<h4>XXXXXXXXX $file</h4>" ; 
// ispisan je dio koda <font color="#FF00FF">$id</font> 
// $_SERVER[PHP_SELF] je index.php 
?> 
<p class="lead"> 
 Code of script : <strong><?=$file?></strong> ?????  
 <br /> 
 Displayed by PHP script <?=__FILE__?> called from  
 <a href="<?=$_SERVER['PHP_SELF']?>"?file=<?=$file?>&line=<?=$line?>&prev=10000&next=10000><?=$shows_path?></a> 
 
 <br /> 
 
<?php 
//.urlencode($file) <pre> 
//.'&next=10000#'.($line - 15) 
//.urlencode($file) 
  //} 
 
showSource($file, $line, $prev, $next); 
 
 
// ******************************************************** 
//<div style="font-family: tahoma; font-size: 1em;"> 
function showSourceLnk($id, $file, $lcurr = 10, $lprev = 10, $lnext = 10) { 
?> 
<a href="/util/ShowSource.php 
     ?file=$file&id=$id&line=$lcurr&prev=$lprev&next=$lnext" 
   target="_blank"><?=$id?></a> u <?=$file?></div> 
</p> 
 
<?php 
} 
 
function showSource($file, $line, $prev = 10, $next = 10)  
{ 
  if (!(file_exists($file) && is_file($file))) { 
      return trigger_error(  
          "showSource(): ne postoji skripta ~~~".$file.'~~~' 
                            , E_USER_ERROR); 
      return false; 
  } 
       $wai = __FILE__ .' lin='. __LINE__ .' fn='. __FUNCTION__ .'()'.' cls=' .__CLASS__ ; 
  //read code 
  ob_start(); 
 
   
  highlight_file($file); 
 
 
  $data = ob_get_contents(); 
  ob_end_clean(); 
 
  //seperate lines 
  $data  = explode('<br />', $data); 
  $count = count($data) - 1; 
 
  //count which lines to display 
  $start = $line - $prev; 
  if ($start < 1) { 
      $start = 1; 
  } 
  $end = $line + $next; 
  if ($end > $count) { 
      $end = $count + 1; 
  } 
 
       if (0) { //($p1['kon']['test']) { 
       echo '<pre style="font-size:1.1em">'.'<strong>'. $wai; 
          echo "\nfile=" . $file; //print_r($utl->ubitsget()); //var_dump 
          echo "\nline=" . $line .' prev=' . $prev .' next=' . $next; 
          echo " count=" . $count .' start=' . $start .' end=' . $end; 
       echo '</strong></pre>'; 
       } 
   
  //color for numbering lines 
  $highlight_default = ini_get('highlight.default'); 
 
  //displaying 
 
  ?> 
  <table cellspacing="0" cellpadding="0"> 
  <?php 
    while ($start <= $end) { 
      echo '<tr>' ; 
 
        echo '<td style="font-size: 1.2em; vertical-align: top;"><span>'  
           . $start . '   </span></td>'; 
 
        echo '<td style="font-size: 1.2em; vertical-align: top;"><span>'  
           . $data[$start - 1] . '</span></td>'; 
 
      echo '</tr>' ; 
        ++$start; 
    } 
  ?> 
  </table> 
  <?php 
 
 
 
 
 
  if ($prev != 10000 || $next != 10000) { 
      echo '<div style="font-family: tahoma; font-size: 16px;">'; 
      echo '<br /><a 
        href="'.@$_SERVER['PHP_SELF'] 
               .'?file='.urlencode($file).'&line='.$line 
               .'&prev=10000&next=10000#'.($line - 15).'">View Full Source</a>' ; 
      print "</div>"; 
  } 
 
} 
 
function txt2file($filecontent, $filename, $show_msg = '', $msg = '') { 
  if (!$handle = fopen($filename, 'wt')) { 
       //echo "Ne mogu otvoriti ($filename)"; 
       return("Ne mogu otvoriti datoteku ($filename)"); //exit; 
  } 
  if (fwrite($handle, $filecontent) === FALSE) { 
      //echo "Ne mogu upisivati u ($filename)"; 
      return("Ne mogu upisivati u datoteku ($filename)"); //exit; 
  } fclose($handle); return ($show_msg == 'show_msg') ? $msg : ''; 
} 
// http://php.net/manual/en/language.variables.scope.php 
function next_rbr() 
{ // static var exists only in local fn scope, but it does not lose  
// its value when program execution leaves this scope 
// Static declarations are resolved in compile-time. 
  static $a = 0; 
  echo $a; 
  $a++; 
} 
function test_recursion() 
{ 
  static $count = 0; 
  $count++; 
  echo $count; 
  if ($count < 10) { 
      test(); 
  } 
  $count--; 
} 
 
/////////////////////////// 
 
 
?> 
 
</div> 
 
 |