!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\php\pear\Text\Diff\Renderer\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.36%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     inline.php (4.65 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * "Inline" diff renderer.
 *
 * $Horde: framework/Text_Diff/Diff/Renderer/inline.php,v 1.4.10.16 2009/07/24 13:25:29 jan Exp $
 *
 * Copyright 2004-2009 The Horde Project (http://www.horde.org/)
 *
 * See the enclosed file COPYING for license information (LGPL). If you did
 * not receive this file, see http://opensource.org/licenses/lgpl-license.php.
 *
 * @author  Ciprian Popovici
 * @package Text_Diff
 */

/** Text_Diff_Renderer */
require_once 'Text/Diff/Renderer.php';

/**
 * "Inline" diff renderer.
 *
 * This class renders diffs in the Wiki-style "inline" format.
 *
 * @author  Ciprian Popovici
 * @package Text_Diff
 */
class Text_Diff_Renderer_inline extends Text_Diff_Renderer {

    
/**
     * Number of leading context "lines" to preserve.
     */
    
var $_leading_context_lines 10000;

    
/**
     * Number of trailing context "lines" to preserve.
     */
    
var $_trailing_context_lines 10000;

    
/**
     * Prefix for inserted text.
     */
    
var $_ins_prefix '<ins>';

    
/**
     * Suffix for inserted text.
     */
    
var $_ins_suffix '</ins>';

    
/**
     * Prefix for deleted text.
     */
    
var $_del_prefix '<del>';

    
/**
     * Suffix for deleted text.
     */
    
var $_del_suffix '</del>';

    
/**
     * Header for each change block.
     */
    
var $_block_header '';

    
/**
     * What are we currently splitting on? Used to recurse to show word-level
     * changes.
     */
    
var $_split_level 'lines';

    function 
_blockHeader($xbeg$xlen$ybeg$ylen)
    {
        return 
$this->_block_header;
    }

    function 
_startBlock($header)
    {
        return 
$header;
    }

    function 
_lines($lines$prefix ' '$encode true)
    {
        if (
$encode) {
            
array_walk($lines, array(&$this'_encode'));
        }

        if (
$this->_split_level == 'words') {
            return 
implode(''$lines);
        } else {
            return 
implode("\n"$lines) . "\n";
        }
    }

    function 
_added($lines)
    {
        
array_walk($lines, array(&$this'_encode'));
        
$lines[0] = $this->_ins_prefix $lines[0];
        
$lines[count($lines) - 1] .= $this->_ins_suffix;
        return 
$this->_lines($lines' 'false);
    }

    function 
_deleted($lines$words false)
    {
        
array_walk($lines, array(&$this'_encode'));
        
$lines[0] = $this->_del_prefix $lines[0];
        
$lines[count($lines) - 1] .= $this->_del_suffix;
        return 
$this->_lines($lines' 'false);
    }

    function 
_changed($orig$final)
    {
        
/* If we've already split on words, don't try to do so again - just
         * display. */
        
if ($this->_split_level == 'words') {
            
$prefix '';
            while (
$orig[0] !== false && $final[0] !== false &&
                   
substr($orig[0], 01) == ' ' &&
                   
substr($final[0], 01) == ' ') {
                
$prefix .= substr($orig[0], 01);
                
$orig[0] = substr($orig[0], 1);
                
$final[0] = substr($final[0], 1);
            }
            return 
$prefix $this->_deleted($orig) . $this->_added($final);
        }

        
$text1 implode("\n"$orig);
        
$text2 implode("\n"$final);

        
/* Non-printing newline marker. */
        
$nl "\0";

        
/* We want to split on word boundaries, but we need to
         * preserve whitespace as well. Therefore we split on words,
         * but include all blocks of whitespace in the wordlist. */
        
$diff = new Text_Diff('native',
                              array(
$this->_splitOnWords($text1$nl),
                                    
$this->_splitOnWords($text2$nl)));

        
/* Get the diff in inline format. */
        
$renderer = new Text_Diff_Renderer_inline
            
(array_merge($this->getParams(),
                         array(
'split_level' => 'words')));

        
/* Run the diff and get the output. */
        
return str_replace($nl"\n"$renderer->render($diff)) . "\n";
    }

    function 
_splitOnWords($string$newlineEscape "\n")
    {
        
// Ignore \0; otherwise the while loop will never finish.
        
$string str_replace("\0"''$string);

        
$words = array();
        
$length strlen($string);
        
$pos 0;

        while (
$pos $length) {
            
// Eat a word with any preceding whitespace.
            
$spaces strspn(substr($string$pos), " \n");
            
$nextpos strcspn(substr($string$pos $spaces), " \n");
            
$words[] = str_replace("\n"$newlineEscapesubstr($string$pos$spaces $nextpos));
            
$pos += $spaces $nextpos;
        }

        return 
$words;
    }

    function 
_encode(&$string)
    {
        
$string htmlspecialchars($string);
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]--