!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_tdfonline/php/3ros/   drwxr-xr-x
Free 14.92 GB of 61.93 GB (24.1%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     diff.php (4.96 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php 
class diff{
    
/** 
        Diff implemented in pure php, written from scratch. 
        Copyright (C) 2003  Daniel Unterberger <diff.phpnet@holomind.de> 
        Copyright (C) 2005  Nils Knappmeier next version  
         
        This program is free software; you can redistribute it and/or 
        modify it under the terms of the GNU General Public License 
        as published by the Free Software Foundation; either version 2 
        of the License, or (at your option) any later version. 
         
        This program is distributed in the hope that it will be useful, 
        but WITHOUT ANY WARRANTY; without even the implied warranty of 
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
        GNU General Public License for more details. 
         
        You should have received a copy of the GNU General Public License 
        along with this program; if not, write to the Free Software 
        Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 
         
        http://www.gnu.org/licenses/gpl.html 
        About: 
        I searched a function to compare arrays and the array_diff() 
        was not specific enough. It ignores the order of the array-values. 
        So I reimplemented the diff-function which is found on unix-systems 
        but this you can use directly in your code and adopt for your needs. 
        Simply adopt the formatline-function. with the third-parameter of arr_diff() 
        you can hide matching lines. Hope someone has use for this. 
        Contact: d.u.diff@holomind.de <daniel unterberger> 
    **/ 
     
## PHPDiff returns the differences between $old and $new, formatted 
## in the standard diff(1) output format. 
static function PHPDiff($t1,$t2)

   
# split the source text into arrays of lines 
   
$x=array_pop($t1);  
   if (
$x>''$t1[]="$x\n\\ No newline at end of file"
   
$x=array_pop($t2);  
   if (
$x>''$t2[]="$x\n\\ No newline at end of file"
   
# build a reverse-index array using the line as key and line number as value 
   # don't store blank lines, so they won't be targets of the shortest distance 
   # search 
   
foreach($t1 as $i=>$x) if ($x>''$r1[$x][]=$i
   foreach(
$t2 as $i=>$x) if ($x>''$r2[$x][]=$i
   
$a1=0$a2=0;   # start at beginning of each list 
   
$actions=array(); 
   
# walk this loop until we reach the end of one of the lists 
   
while ($a1<count($t1) && $a2<count($t2)) { 
     
# if we have a common element, save it and go to the next 
     
if ($t1[$a1]==$t2[$a2]) { $actions[]=4$a1++; $a2++; continue; }  
     
# otherwise, find the shortest move (Manhattan-distance) from the 
     # current location 
     
$best1=count($t1); $best2=count($t2); 
     
$s1=$a1$s2=$a2
     while((
$s1+$s2-$a1-$a2) < ($best1+$best2-$a1-$a2)) { 
       
$d=-1
       foreach((array)@
$r1[$t2[$s2]] as $n)  
         if (
$n>=$s1) { $d=$n; break; } 
       if (
$d>=$s1 && ($d+$s2-$a1-$a2)<($best1+$best2-$a1-$a2)) 
         { 
$best1=$d$best2=$s2; } 
       
$d=-1
       foreach((array)@
$r2[$t1[$s1]] as $n)  
         if (
$n>=$s2) { $d=$n; break; } 
       if (
$d>=$s2 && ($s1+$d-$a1-$a2)<($best1+$best2-$a1-$a2)) 
         { 
$best1=$s1$best2=$d; } 
       
$s1++; $s2++; 
     } 
     while (
$a1<$best1) { $actions[]=1$a1++; }  # deleted elements 
     
while ($a2<$best2) { $actions[]=2$a2++; }  # added elements 
  

  
# we've reached the end of one list, now walk to the end of the other 
  
while($a1<count($t1)) { $actions[]=1$a1++; }  # deleted elements 
  
while($a2<count($t2)) { $actions[]=2$a2++; }  # added elements 
  # and this marks our ending point 
  
$actions[]=8
  
# now, let's follow the path we just took and report the added/deleted 
  # elements into $out. 
  
$op 0
  
$x0=$x1=0$y0=$y1=0

  
$out = array(); 
  
$out['I'] = array();
  
$out['U'] = array();
  
$out['D'] = array();

  for(
$i 0$i<count($actions);$i++) { 

    if(
$actions[$i] == 1){
        if(
$actions[$i+1] == 2){
            
$a = array();
            
$a['D'] = $t1[$x0];
            
$a['I'] = $t2[$y0];
            
$i++;
            
$y0++;
            
$out['U'][] = $a;
        }else{
            
$out['D'][] = $t1[$x0];
        }
        
$x0++;
    }elseif(
$actions[$i] == 2){
        
$out['I'][] = $t2[$y0];
        
$y0++;
    }else{
        
$x0++;
        
$y0++;
    }


/*
    if ($act==1) { $op|=$act; $x1++; continue; } 
    if ($act==2) { $op|=$act; $y1++; continue; } 
    if ($op>0) { 
      $xstr = ($x1==($x0+1)) ? $x1 : ($x0+1).",$x1"; 
      $ystr = ($y1==($y0+1)) ? $y1 : ($y0+1).",$y1"; 

      if ($op==1) $out[] = "{$xstr}d{$y1}"; 
      elseif ($op==3) $out[] = "{$xstr}c{$ystr}"; 

      while ($x0<$x1) { $out[] = '< '.$t1[$x0]; $x0++; }   # deleted elems 

      if ($op==2) $out[] = "{$x1}a{$ystr}"; 
      elseif ($op==3) $out[] = '---'; 

      while ($y0<$y1) { $out[] = '> '.$t2[$y0]; $y0++; }   # added elems 
    } 
    $x1++; $x0=$x1; 
    $y1++; $y0=$y1; 
    $op=0; 
*/
  

return 
$out;
/*
  $out[] = ''; 
  return $out;
  return join("\n",$out); 
*/

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 1.64 ]--