!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)

E:\xampp\xampp\htdocs\jaime\wordpress\wp-includes\   drwxrwxrwx
Free 7.26 GB of 239.26 GB (3.04%)
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:     functions-formatting.php (33.35 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

function wptexturize($text) {
    
$output '';
    
// Capture tags and everything inside them
    
$textarr preg_split("/(<.*>)/Us"$text, -1PREG_SPLIT_DELIM_CAPTURE);
    
$stop count($textarr); $next true// loop stuff
    
for ($i 0$i $stop$i++) {
        
$curl $textarr[$i];

        if (isset(
$curl{0}) && '<' != $curl{0} && $next) { // If it's not a tag
            
$curl str_replace('---''&#8212;'$curl);
            
$curl str_replace(' -- '' &#8212; '$curl);
            
$curl str_replace('--''&#8211;'$curl);
            
$curl str_replace('xn&#8211;''xn--'$curl);
            
$curl str_replace('...''&#8230;'$curl);
            
$curl str_replace('``''&#8220;'$curl);

            
// This is a hack, look at this more later. It works pretty well though.
            
$cockney = array("'tain't","'twere","'twas","'tis","'twill","'til","'bout","'nuff","'round","'cause");
            
$cockneyreplace = array("&#8217;tain&#8217;t","&#8217;twere","&#8217;twas","&#8217;tis","&#8217;twill","&#8217;til","&#8217;bout","&#8217;nuff","&#8217;round","&#8217;cause");
            
$curl str_replace($cockney$cockneyreplace$curl);

            
$curl preg_replace("/'s/"'&#8217;s'$curl);
            
$curl preg_replace("/'(\d\d(?:&#8217;|')?s)/""&#8217;$1"$curl);
            
$curl preg_replace('/(\s|\A|")\'/''$1&#8216;'$curl);
            
$curl preg_replace('/(\d+)"/''$1&#8243;'$curl);
            
$curl preg_replace("/(\d+)'/"'$1&#8242;'$curl);
            
$curl preg_replace("/(\S)'([^'\s])/""$1&#8217;$2"$curl);
            
$curl preg_replace('/(\s|\A)"(?!\s)/''$1&#8220;$2'$curl);
            
$curl preg_replace('/"(\s|\S|\Z)/''&#8221;$1'$curl);
            
$curl preg_replace("/'([\s.]|\Z)/"'&#8217;$1'$curl);
            
$curl preg_replace("/ \(tm\)/i"' &#8482;'$curl);
            
$curl str_replace("''"'&#8221;'$curl);
            
            
$curl preg_replace('/(\d+)x(\d+)/'"$1&#215;$2"$curl);

        } elseif (
strstr($curl'<code') || strstr($curl'<pre') || strstr($curl'<kbd' || strstr($curl'<style') || strstr($curl'<script'))) {
            
// strstr is fast
            
$next false;
        } else {
            
$next true;
        }
        
$curl preg_replace('/&([^#])(?![a-z1-4]{1,8};)/''&#038;$1'$curl);
        
$output .= $curl;
    }
    return 
$output;
}

function 
clean_pre($text) {
    
$text str_replace('<br />'''$text);
    
$text str_replace('<p>'"\n"$text);
    
$text str_replace('</p>'''$text);
    return 
$text;
}

function 
wpautop($pee$br 1) {
    
$pee $pee "\n"// just to make things a little easier, pad the end
    
$pee preg_replace('|<br />\s*<br />|'"\n\n"$pee);
    
// Space things out a little
    
$pee preg_replace('!(<(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)!'"\n$1"$pee); 
    
$pee preg_replace('!(</(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])>)!'"$1\n\n"$pee);
    
$pee str_replace(array("\r\n""\r"), "\n"$pee); // cross-platform newlines 
    
$pee preg_replace("/\n\n+/""\n\n"$pee); // take care of duplicates
    
$pee preg_replace('/\n?(.+?)(?:\n\s*\n|\z)/s'"<p>$1</p>\n"$pee); // make paragraphs, including one at the end 
    
$pee preg_replace('|<p>\s*?</p>|'''$pee); // under certain strange conditions it could create a P of entirely whitespace 
    
$pee preg_replace('!<p>\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*</p>!'"$1"$pee); // don't pee all over a tag
    
$pee preg_replace("|<p>(<li.+?)</p>|""$1"$pee); // problem with nested lists
    
$pee preg_replace('|<p><blockquote([^>]*)>|i'"<blockquote$1><p>"$pee);
    
$pee str_replace('</blockquote></p>''</p></blockquote>'$pee);
    
$pee preg_replace('!<p>\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)!'"$1"$pee);
    
$pee preg_replace('!(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*</p>!'"$1"$pee); 
    if (
$br$pee preg_replace('|(?<!<br />)\s*\n|'"<br />\n"$pee); // optionally make line breaks
    
$pee preg_replace('!(</?(?:table|thead|tfoot|caption|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*<br />!'"$1"$pee);
    
$pee preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)!''$1'$pee);
    
$pee preg_replace('!(<pre.*?>)(.*?)</pre>!ise'" stripslashes('$1') .  stripslashes(clean_pre('$2'))  . '</pre>' "$pee);
    
    return 
$pee
}


function 
seems_utf8($Str) { # by bmorel at ssi dot fr
    
for ($i=0$i<strlen($Str); $i++) {
        if (
ord($Str[$i]) < 0x80) continue; # 0bbbbbbb
        
elseif ((ord($Str[$i]) & 0xE0) == 0xC0$n=1# 110bbbbb
        
elseif ((ord($Str[$i]) & 0xF0) == 0xE0$n=2# 1110bbbb
        
elseif ((ord($Str[$i]) & 0xF8) == 0xF0$n=3# 11110bbb
        
elseif ((ord($Str[$i]) & 0xFC) == 0xF8$n=4# 111110bb
        
elseif ((ord($Str[$i]) & 0xFE) == 0xFC$n=5# 1111110b
        
else return false# Does not match any model
        
for ($j=0$j<$n$j++) { # n bytes matching 10bbbbbb follow ?
            
if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80))
            return 
false;
        }
    }
    return 
true;
}

function 
wp_specialchars$text$quotes ) {
    
// Like htmlspecialchars except don't double-encode HTML entities
    
$text preg_replace('/&([^#])(?![a-z1-4]{1,8};)/''&#038;$1'$text);-
    
$text str_replace('<''&lt;'$text);
    
$text str_replace('>''&gt;'$text);
    if ( 
$quotes ) {
        
$text str_replace('"''&quot;'$text);
        
$text str_replace("'"'&#039;'$text);
    }
    return 
$text;
}

function 
utf8_uri_encode$utf8_string ) {
  
$unicode '';        
  
$values = array();
  
$num_octets 1;
        
  for (
$i 0$i strlen$utf8_string ); $i++ ) {

    
$value ord$utf8_string$i ] );
            
    if ( 
$value 128 ) {
      
$unicode .= chr($value);
    } else {
      if ( 
count$values ) == $num_octets = ( $value 224 ) ? 3;
                
      
$values[] = $value;
      
      if ( 
count$values ) == $num_octets ) {
    if (
$num_octets == 3) {
      
$unicode .= '%' dechex($values[0]) . '%' dechex($values[1]) . '%' dechex($values[2]);
    } else {
      
$unicode .= '%' dechex($values[0]) . '%' dechex($values[1]);
    }

    
$values = array();
    
$num_octets 1;
      }
    }
  }

  return 
$unicode;    
}

function 
remove_accents($string) {
    if (
seems_utf8($string)) {
        
$chars = array(
        
// Decompositions for Latin-1 Supplement
        
chr(195).chr(128) => 'A'chr(195).chr(129) => 'A',
        
chr(195).chr(130) => 'A'chr(195).chr(131) => 'A',
        
chr(195).chr(132) => 'A'chr(195).chr(133) => 'A',
        
chr(195).chr(135) => 'C'chr(195).chr(136) => 'E',
        
chr(195).chr(137) => 'E'chr(195).chr(138) => 'E',
        
chr(195).chr(139) => 'E'chr(195).chr(140) => 'I',
        
chr(195).chr(141) => 'I'chr(195).chr(142) => 'I',
        
chr(195).chr(143) => 'I'chr(195).chr(145) => 'N',
        
chr(195).chr(146) => 'O'chr(195).chr(147) => 'O',
        
chr(195).chr(148) => 'O'chr(195).chr(149) => 'O',
        
chr(195).chr(150) => 'O'chr(195).chr(153) => 'U',
        
chr(195).chr(154) => 'U'chr(195).chr(155) => 'U',
        
chr(195).chr(156) => 'U'chr(195).chr(157) => 'Y',
        
chr(195).chr(159) => 's'chr(195).chr(160) => 'a',
        
chr(195).chr(161) => 'a'chr(195).chr(162) => 'a',
        
chr(195).chr(163) => 'a'chr(195).chr(164) => 'a',
        
chr(195).chr(165) => 'a'chr(195).chr(167) => 'c',
        
chr(195).chr(168) => 'e'chr(195).chr(169) => 'e',
        
chr(195).chr(170) => 'e'chr(195).chr(171) => 'e',
        
chr(195).chr(172) => 'i'chr(195).chr(173) => 'i',
        
chr(195).chr(174) => 'i'chr(195).chr(175) => 'i',
        
chr(195).chr(177) => 'n'chr(195).chr(178) => 'o',
        
chr(195).chr(179) => 'o'chr(195).chr(180) => 'o',
        
chr(195).chr(181) => 'o'chr(195).chr(182) => 'o',
        
chr(195).chr(182) => 'o'chr(195).chr(185) => 'u',
        
chr(195).chr(186) => 'u'chr(195).chr(187) => 'u',
        
chr(195).chr(188) => 'u'chr(195).chr(189) => 'y',
        
chr(195).chr(191) => 'y',
        
// Decompositions for Latin Extended-A
        
chr(196).chr(128) => 'A'chr(196).chr(129) => 'a',
        
chr(196).chr(130) => 'A'chr(196).chr(131) => 'a',
        
chr(196).chr(132) => 'A'chr(196).chr(133) => 'a',
        
chr(196).chr(134) => 'C'chr(196).chr(135) => 'c',
        
chr(196).chr(136) => 'C'chr(196).chr(137) => 'c',
        
chr(196).chr(138) => 'C'chr(196).chr(139) => 'c',
        
chr(196).chr(140) => 'C'chr(196).chr(141) => 'c',
        
chr(196).chr(142) => 'D'chr(196).chr(143) => 'd',
        
chr(196).chr(144) => 'D'chr(196).chr(145) => 'd',
        
chr(196).chr(146) => 'E'chr(196).chr(147) => 'e',
        
chr(196).chr(148) => 'E'chr(196).chr(149) => 'e',
        
chr(196).chr(150) => 'E'chr(196).chr(151) => 'e',
        
chr(196).chr(152) => 'E'chr(196).chr(153) => 'e',
        
chr(196).chr(154) => 'E'chr(196).chr(155) => 'e',
        
chr(196).chr(156) => 'G'chr(196).chr(157) => 'g',
        
chr(196).chr(158) => 'G'chr(196).chr(159) => 'g',
        
chr(196).chr(160) => 'G'chr(196).chr(161) => 'g',
        
chr(196).chr(162) => 'G'chr(196).chr(163) => 'g',
        
chr(196).chr(164) => 'H'chr(196).chr(165) => 'h',
        
chr(196).chr(166) => 'H'chr(196).chr(167) => 'h',
        
chr(196).chr(168) => 'I'chr(196).chr(169) => 'i',
        
chr(196).chr(170) => 'I'chr(196).chr(171) => 'i',
        
chr(196).chr(172) => 'I'chr(196).chr(173) => 'i',
        
chr(196).chr(174) => 'I'chr(196).chr(175) => 'i',
        
chr(196).chr(176) => 'I'chr(196).chr(177) => 'i',
        
chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
        
chr(196).chr(180) => 'J'chr(196).chr(181) => 'j',
        
chr(196).chr(182) => 'K'chr(196).chr(183) => 'k',
        
chr(196).chr(184) => 'k'chr(196).chr(185) => 'L',
        
chr(196).chr(186) => 'l'chr(196).chr(187) => 'L',
        
chr(196).chr(188) => 'l'chr(196).chr(189) => 'L',
        
chr(196).chr(190) => 'l'chr(196).chr(191) => 'L',
        
chr(197).chr(128) => 'l'chr(197).chr(129) => 'L',
        
chr(197).chr(130) => 'l'chr(197).chr(131) => 'N',
        
chr(197).chr(132) => 'n'chr(197).chr(133) => 'N',
        
chr(197).chr(134) => 'n'chr(197).chr(135) => 'N',
        
chr(197).chr(136) => 'n'chr(197).chr(137) => 'N',
        
chr(197).chr(138) => 'n'chr(197).chr(139) => 'N',
        
chr(197).chr(140) => 'O'chr(197).chr(141) => 'o',
        
chr(197).chr(142) => 'O'chr(197).chr(143) => 'o',
        
chr(197).chr(144) => 'O'chr(197).chr(145) => 'o',
        
chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
        
chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
        
chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
        
chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
        
chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
        
chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
        
chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
        
chr(197).chr(160) => 'S'chr(197).chr(161) => 's',
        
chr(197).chr(162) => 'T'chr(197).chr(163) => 't',
        
chr(197).chr(164) => 'T'chr(197).chr(165) => 't',
        
chr(197).chr(166) => 'T'chr(197).chr(167) => 't',
        
chr(197).chr(168) => 'U'chr(197).chr(169) => 'u',
        
chr(197).chr(170) => 'U'chr(197).chr(171) => 'u',
        
chr(197).chr(172) => 'U'chr(197).chr(173) => 'u',
        
chr(197).chr(174) => 'U'chr(197).chr(175) => 'u',
        
chr(197).chr(176) => 'U'chr(197).chr(177) => 'u',
        
chr(197).chr(178) => 'U'chr(197).chr(179) => 'u',
        
chr(197).chr(180) => 'W'chr(197).chr(181) => 'w',
        
chr(197).chr(182) => 'Y'chr(197).chr(183) => 'y',
        
chr(197).chr(184) => 'Y'chr(197).chr(185) => 'Z',
        
chr(197).chr(186) => 'z'chr(197).chr(187) => 'Z',
        
chr(197).chr(188) => 'z'chr(197).chr(189) => 'Z',
        
chr(197).chr(190) => 'z'chr(197).chr(191) => 's',
        
// Euro Sign
        
chr(226).chr(130).chr(172) => 'E');
        
        
$string strtr($string$chars);
    } else {
        
// Assume ISO-8859-1 if not UTF-8
        
$chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
            .
chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
            .
chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
            .
chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
            .
chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
            .
chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
            .
chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
            .
chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
            .
chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
            .
chr(252).chr(253).chr(255);

        
$chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";

        
$string strtr($string$chars['in'], $chars['out']);
        
$double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
        
$double_chars['out'] = array('OE''oe''AE''DH''TH''ss''ae''dh''th');
        
$string str_replace($double_chars['in'], $double_chars['out'], $string);
    }

    return 
$string;
}

function 
sanitize_user$username$strict false ) {
    
$raw_username $username;
    
$username strip_tags($username);
    
// Kill octets
    
$username preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|'''$username);
    
$username preg_replace('/&.+?;/'''$username); // Kill entities

    // If strict, reduce to ASCII for max portability.
    
if ( $strict )
        
$username preg_replace('|[^a-z0-9 _.-@]|i'''$username);

    return 
apply_filters('sanitize_user'$username$raw_username$strict);
}

function 
sanitize_title($title$fallback_title '') {
    
$title strip_tags($title);
    
$title apply_filters('sanitize_title'$title);

    if (empty(
$title)) {
        
$title $fallback_title;
    }

    return 
$title;
}

function 
sanitize_title_with_dashes($title) {
    
$title strip_tags($title);
    
// Preserve escaped octets.
    
$title preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|''---$1---'$title);
    
// Remove percent signs that are not part of an octet.
    
$title str_replace('%'''$title);
    
// Restore octets.
    
$title preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|''%$1'$title);

    
$title remove_accents($title);
    if (
seems_utf8($title)) {
        if (
function_exists('mb_strtolower')) {
            
$title mb_strtolower($title'UTF-8');
        }
        
$title utf8_uri_encode($title);
    }

    
$title strtolower($title);
    
$title preg_replace('/&.+?;/'''$title); // kill entities
    
$title preg_replace('/[^%a-z0-9 _-]/'''$title);
    
$title preg_replace('/\s+/''-'$title);
    
$title preg_replace('|-+|''-'$title);
    
$title trim($title'-');

    return 
$title;
}

function 
convert_chars($content$flag 'obsolete') { 
    
// Translation of invalid Unicode references range to valid range
    
$wp_htmltranswinuni = array(
    
'&#128;' => '&#8364;'// the Euro sign
    
'&#129;' => '',
    
'&#130;' => '&#8218;'// these are Windows CP1252 specific characters
    
'&#131;' => '&#402;',  // they would look weird on non-Windows browsers
    
'&#132;' => '&#8222;',
    
'&#133;' => '&#8230;',
    
'&#134;' => '&#8224;',
    
'&#135;' => '&#8225;',
    
'&#136;' => '&#710;',
    
'&#137;' => '&#8240;',
    
'&#138;' => '&#352;',
    
'&#139;' => '&#8249;',
    
'&#140;' => '&#338;',
    
'&#141;' => '',
    
'&#142;' => '&#382;',
    
'&#143;' => '',
    
'&#144;' => '',
    
'&#145;' => '&#8216;',
    
'&#146;' => '&#8217;',
    
'&#147;' => '&#8220;',
    
'&#148;' => '&#8221;',
    
'&#149;' => '&#8226;',
    
'&#150;' => '&#8211;',
    
'&#151;' => '&#8212;',
    
'&#152;' => '&#732;',
    
'&#153;' => '&#8482;',
    
'&#154;' => '&#353;',
    
'&#155;' => '&#8250;',
    
'&#156;' => '&#339;',
    
'&#157;' => '',
    
'&#158;' => '',
    
'&#159;' => '&#376;'
    
);

    
// Remove metadata tags
    
$content preg_replace('/<title>(.+?)<\/title>/','',$content);
    
$content preg_replace('/<category>(.+?)<\/category>/','',$content);

    
// Converts lone & characters into &#38; (a.k.a. &amp;)
    
$content preg_replace('/&([^#])(?![a-z1-4]{1,8};)/i''&#038;$1'$content);

    
// Fix Word pasting
    
$content strtr($content$wp_htmltranswinuni);

    
// Just a little XHTML help
    
$content str_replace('<br>''<br />'$content);
    
$content str_replace('<hr>''<hr />'$content);

    return 
$content;
}

function 
funky_javascript_fix($text) {
    
// Fixes for browsers' javascript bugs
    
global $is_macIE$is_winIE;
    
    if ( 
$is_winIE || $is_macIE )
        
$text =  preg_replace("/\%u([0-9A-F]{4,4})/e",  "'&#'.base_convert('\\1',16,10).';'"$text);
    
    return 
$text;
}

/*
 balanceTags
 
 Balances Tags of string using a modified stack.
 
 @param text      Text to be balanced
 @return          Returns balanced text
 @author          Leonard Lin (leonard@acm.org)
 @version         v1.1
 @date            November 4, 2001
 @license         GPL v2.0
 @notes           
 @changelog       
 ---  Modified by Scott Reilly (coffee2code) 02 Aug 2004
             1.2  ***TODO*** Make better - change loop condition to $text
             1.1  Fixed handling of append/stack pop order of end text
                  Added Cleaning Hooks
             1.0  First Version
*/
function balanceTags($text$is_comment 0) {
    
    if ( 
get_option('use_balanceTags') == 0)
        return 
$text;

    
$tagstack = array(); $stacksize 0$tagqueue ''$newtext '';

    
# WP bug fix for comments - in case you REALLY meant to type '< !--'
    
$text str_replace('< !--''<    !--'$text);
    
# WP bug fix for LOVE <3 (and other situations with '<' before a number)
    
$text preg_replace('#<([0-9]{1})#''&lt;$1'$text);

    while (
preg_match("/<(\/?\w*)\s*([^>]*)>/",$text,$regex)) {
        
$newtext .= $tagqueue;

        
$i strpos($text,$regex[0]);
        
$l strlen($regex[0]);

        
// clear the shifter
        
$tagqueue '';
        
// Pop or Push
        
if ($regex[1][0] == "/") { // End Tag
            
$tag strtolower(substr($regex[1],1));
            
// if too many closing tags
            
if($stacksize <= 0) { 
                
$tag '';
                
//or close to be safe $tag = '/' . $tag;
            
}
            
// if stacktop value = tag close value then pop
            
else if ($tagstack[$stacksize 1] == $tag) { // found closing tag
                
$tag '</' $tag '>'// Close Tag
                // Pop
                
array_pop ($tagstack);
                
$stacksize--;
            } else { 
// closing tag not at top, search for it
                
for ($j=$stacksize-1;$j>=0;$j--) {
                    if (
$tagstack[$j] == $tag) {
                    
// add tag to tagqueue
                        
for ($k=$stacksize-1;$k>=$j;$k--){
                            
$tagqueue .= '</' array_pop ($tagstack) . '>';
                            
$stacksize--;
                        }
                        break;
                    }
                }
                
$tag '';
            }
        } else { 
// Begin Tag
            
$tag strtolower($regex[1]);

            
// Tag Cleaning

            // If self-closing or '', don't do anything.
            
if((substr($regex[2],-1) == '/') || ($tag == '')) {
            }
            
// ElseIf it's a known single-entity tag but it doesn't close itself, do so
            
elseif ($tag == 'br' || $tag == 'img' || $tag == 'hr' || $tag == 'input') {
                
$regex[2] .= '/';
            } else {    
// Push the tag onto the stack
                // If the top of the stack is the same as the tag we want to push, close previous tag
                
if (($stacksize 0) && ($tag != 'div') && ($tagstack[$stacksize 1] == $tag)) {
                    
$tagqueue '</' array_pop ($tagstack) . '>';
                    
$stacksize--;
                }
                
$stacksize array_push ($tagstack$tag);
            }

            
// Attributes
            
$attributes $regex[2];
            if(
$attributes) {
                
$attributes ' '.$attributes;
            }
            
$tag '<'.$tag.$attributes.'>';
            
//If already queuing a close tag, then put this tag on, too
            
if ($tagqueue) {
                
$tagqueue .= $tag;
                
$tag '';
            }
        }
        
$newtext .= substr($text,0,$i) . $tag;
        
$text substr($text,$i+$l);
    }  

    
// Clear Tag Queue
    
$newtext .= $tagqueue;

    
// Add Remaining text
    
$newtext .= $text;

    
// Empty Stack
    
while($x array_pop($tagstack)) {
        
$newtext .= '</' $x '>'// Add remaining tags to close
    
}

    
// WP fix for the bug with HTML comments
    
$newtext str_replace("< !--","<!--",$newtext);
    
$newtext str_replace("<    !--","< !--",$newtext);

    return 
$newtext;
}


function 
format_to_edit($content$richedit false) {
    
$content apply_filters('format_to_edit'$content);
    if (! 
$richedit )
        
$content htmlspecialchars($content);
    return 
$content;
}

function 
format_to_post($content) {
    global 
$wpdb;
    
$content apply_filters('format_to_post'$content);
    return 
$content;
}

function 
zeroise($number,$threshold) { // function to add leading zeros when necessary
    
return sprintf('%0'.$threshold.'s'$number);
    }


function 
backslashit($string) {
    
$string preg_replace('/([a-z])/i''\\\\\1'$string);
    return 
$string;
}

function 
trailingslashit($string) {
    if ( 
'/' != substr($string, -1)) {
        
$string .= '/';
    }
    return 
$string;
}

function 
addslashes_gpc($gpc) {
    global 
$wpdb;

    if (
get_magic_quotes_gpc()) {
        
$gpc stripslashes($gpc);
    }

    return 
$wpdb->escape($gpc);
}


function 
stripslashes_deep($value)
{
   
$value is_array($value) ?
               
array_map('stripslashes_deep'$value) :
               
stripslashes($value);

   return 
$value;
}

function 
antispambot($emailaddy$mailto=0) {
    
$emailNOSPAMaddy '';
    
srand ((float) microtime() * 1000000);
    for (
$i 0$i strlen($emailaddy); $i $i 1) {
        
$j floor(rand(01+$mailto));
        if (
$j==0) {
            
$emailNOSPAMaddy .= '&#'.ord(substr($emailaddy,$i,1)).';';
        } elseif (
$j==1) {
            
$emailNOSPAMaddy .= substr($emailaddy,$i,1);
        } elseif (
$j==2) {
            
$emailNOSPAMaddy .= '%'.zeroise(dechex(ord(substr($emailaddy$i1))), 2);
        }
    }
    
$emailNOSPAMaddy str_replace('@','&#64;',$emailNOSPAMaddy);
    return 
$emailNOSPAMaddy;
}

function 
make_clickable($ret) {
    
$ret ' ' $ret ' ';
    
$ret preg_replace("#([\s>])(https?)://([^\s<>{}()]+[^\s.,<>{}()])#i""$1<a href='$2://$3' rel='nofollow'>$2://$3</a>"$ret);
    
$ret preg_replace("#(\s)www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^ <>{}()\n\r]*[^., <>{}()\n\r]?)?)#i""$1<a href='http://www.$2.$3$4' rel='nofollow'>www.$2.$3$4</a>"$ret);
    
$ret preg_replace("#(\s)([a-z0-9\-_.]+)@([a-z0-9\-_.]+)\.([^,< \n\r]+)#i""$1<a href=\"mailto:$2@$3.$4\">$2@$3.$4</a>"$ret);
    
$ret trim($ret);
    return 
$ret;
}

function 
wp_rel_nofollow$text ) {
    
$text preg_replace('|<a (.+?)>|i''<a $1 rel="nofollow">'$text);
    return 
$text;
}

function 
convert_smilies($text) {
    global 
$wp_smiliessearch$wp_smiliesreplace;
    
$output '';
    if (
get_settings('use_smilies')) {
        
// HTML loop taken from texturize function, could possible be consolidated
        
$textarr preg_split("/(<.*>)/U"$text, -1PREG_SPLIT_DELIM_CAPTURE); // capture the tags as well as in between
        
$stop count($textarr);// loop stuff
        
for ($i 0$i $stop$i++) {
            
$content $textarr[$i];
            if ((
strlen($content) > 0) && ('<' != $content{0})) { // If it's not a tag
                
$content str_replace($wp_smiliessearch$wp_smiliesreplace$content);
            }
            
$output .= $content;
        }
    } else {
        
// return default text.
        
$output $text;
    }
    return 
$output;
}


function 
is_email($user_email) {
    
$chars "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
    if(
strstr($user_email'@') && strstr($user_email'.')) {
        if (
preg_match($chars$user_email)) {
            return 
true;
        } else {
            return 
false;
        }
    } else {
        return 
false;
    }
}

// used by wp-mail to handle charsets in email subjects
function wp_iso_descrambler($string) {
  
/* this may only work with iso-8859-1, I'm afraid */
  
if (!preg_match('#\=\?(.+)\?Q\?(.+)\?\=#i'$string$matches)) {
    return 
$string;
  } else {
    
$subject str_replace('_'' '$matches[2]);
    
$subject preg_replace('#\=([0-9a-f]{2})#ei'"chr(hexdec(strtolower('$1')))"$subject);
    return 
$subject;
  }
}


// give it a date, it will give you the same date as GMT
function get_gmt_from_date($string) {
  
// note: this only substracts $time_difference from the given date
  
preg_match('#([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})#'$string$matches);
  
$string_time gmmktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
  
$string_gmt gmdate('Y-m-d H:i:s'$string_time get_settings('gmt_offset') * 3600);
  return 
$string_gmt;
}

// give it a GMT date, it will give you the same date with $time_difference added
function get_date_from_gmt($string) {
  
// note: this only adds $time_difference to the given date
  
preg_match('#([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})#'$string$matches);
  
$string_time gmmktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
  
$string_localtime gmdate('Y-m-d H:i:s'$string_time get_settings('gmt_offset')*3600);
  return 
$string_localtime;
}

// computes an offset in seconds from an iso8601 timezone
function iso8601_timezone_to_offset($timezone) {
  
// $timezone is either 'Z' or '[+|-]hhmm'
  
if ($timezone == 'Z') {
    
$offset 0;
  } else {
    
$sign    = (substr($timezone01) == '+') ? : -1;
    
$hours   intval(substr($timezone12));
    
$minutes intval(substr($timezone34)) / 60;
    
$offset  $sign 3600 * ($hours $minutes);
  }
  return 
$offset;
}

// converts an iso8601 date to MySQL DateTime format used by post_date[_gmt]
function iso8601_to_datetime($date_string$timezone USER) {
  if (
$timezone == GMT) {
    
preg_match('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#'$date_string$date_bits);
    if (!empty(
$date_bits[7])) { // we have a timezone, so let's compute an offset
      
$offset iso8601_timezone_to_offset($date_bits[7]);
    } else { 
// we don't have a timezone, so we assume user local timezone (not server's!)
      
$offset 3600 get_settings('gmt_offset');
    }
    
$timestamp gmmktime($date_bits[4], $date_bits[5], $date_bits[6], $date_bits[2], $date_bits[3], $date_bits[1]);
    
$timestamp -= $offset;
    return 
gmdate('Y-m-d H:i:s'$timestamp);
  } elseif (
$timezone == USER) {
    return 
preg_replace('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#''$1-$2-$3 $4:$5:$6'$date_string);
  }
}

function 
popuplinks($text) {
    
// Comment text in popup windows should be filtered through this.
    // Right now it's a moderately dumb function, ideally it would detect whether
    // a target or rel attribute was already there and adjust its actions accordingly.
    
$text preg_replace('/<a (.+?)>/i'"<a $1 target='_blank' rel='external'>"$text);
    return 
$text;
}

function 
sanitize_email($email) {
    return 
preg_replace('/[^a-z0-9+_.@-]/i'''$email);
}

function 
human_time_diff$from$to '' ) {     
    if ( empty(
$to) )
        
$to time();
    
$diff = (int) abs($to $from);
    if (
$diff <= 3600) {
        
$mins round($diff 60);
        if (
$mins <= 1)
            
$since __('1 min');
        else
            
$since sprintf__('%s mins'), $mins);
    } else if ((
$diff <= 86400) && ($diff 3600)) {
        
$hours round($diff 3600);
        if (
$hours <= 1)
            
$since __('1 hour');
        else 
            
$since sprintf__('%s hours'), $hours );
    } elseif (
$diff >= 86400) {
        
$days round($diff 86400);
        if (
$days <= 1)
            
$since __('1 day');
        else
            
$since sprintf__('%s days'), $days );
    }
    return 
$since;
}

function 
wp_trim_excerpt($text) { // Fakes an excerpt if needed
    
global $post;
    if ( 
'' == $text ) {
        
$text $post->post_content;
        
$text apply_filters('the_content'$text);
        
$text str_replace(']]>'']]&gt;'$text);
        
$text strip_tags($text);
        
$excerpt_length 55;
        
$words explode(' '$text$excerpt_length 1);
        if (
count($words) > $excerpt_length) {
            
array_pop($words);
            
array_push($words'[...]');
            
$text implode(' '$words);
        }
    }
    return 
$text;
}

function 
ent2ncr($text) {
    
$to_ncr = array(
        
'&quot;' => '&#34;',
        
'&amp;' => '&#38;',
        
'&frasl;' => '&#47;',
        
'&lt;' => '&#60;',
        
'&gt;' => '&#62;',
        
'|' => '&#124;',
        
'&nbsp;' => '&#160;',
        
'&iexcl;' => '&#161;',
        
'&cent;' => '&#162;',
        
'&pound;' => '&#163;',
        
'&curren;' => '&#164;',
        
'&yen;' => '&#165;',
        
'&brvbar;' => '&#166;',
        
'&brkbar;' => '&#166;',
        
'&sect;' => '&#167;',
        
'&uml;' => '&#168;',
        
'&die;' => '&#168;',
        
'&copy;' => '&#169;',
        
'&ordf;' => '&#170;',
        
'&laquo;' => '&#171;',
        
'&not;' => '&#172;',
        
'&shy;' => '&#173;',
        
'&reg;' => '&#174;',
        
'&macr;' => '&#175;',
        
'&hibar;' => '&#175;',
        
'&deg;' => '&#176;',
        
'&plusmn;' => '&#177;',
        
'&sup2;' => '&#178;',
        
'&sup3;' => '&#179;',
        
'&acute;' => '&#180;',
        
'&micro;' => '&#181;',
        
'&para;' => '&#182;',
        
'&middot;' => '&#183;',
        
'&cedil;' => '&#184;',
        
'&sup1;' => '&#185;',
        
'&ordm;' => '&#186;',
        
'&raquo;' => '&#187;',
        
'&frac14;' => '&#188;',
        
'&frac12;' => '&#189;',
        
'&frac34;' => '&#190;',
        
'&iquest;' => '&#191;',
        
'&Agrave;' => '&#192;',
        
'&Aacute;' => '&#193;',
        
'&Acirc;' => '&#194;',
        
'&Atilde;' => '&#195;',
        
'&Auml;' => '&#196;',
        
'&Aring;' => '&#197;',
        
'&AElig;' => '&#198;',
        
'&Ccedil;' => '&#199;',
        
'&Egrave;' => '&#200;',
        
'&Eacute;' => '&#201;',
        
'&Ecirc;' => '&#202;',
        
'&Euml;' => '&#203;',
        
'&Igrave;' => '&#204;',
        
'&Iacute;' => '&#205;',
        
'&Icirc;' => '&#206;',
        
'&Iuml;' => '&#207;',
        
'&ETH;' => '&#208;',
        
'&Ntilde;' => '&#209;',
        
'&Ograve;' => '&#210;',
        
'&Oacute;' => '&#211;',
        
'&Ocirc;' => '&#212;',
        
'&Otilde;' => '&#213;',
        
'&Ouml;' => '&#214;',
        
'&times;' => '&#215;',
        
'&Oslash;' => '&#216;',
        
'&Ugrave;' => '&#217;',
        
'&Uacute;' => '&#218;',
        
'&Ucirc;' => '&#219;',
        
'&Uuml;' => '&#220;',
        
'&Yacute;' => '&#221;',
        
'&THORN;' => '&#222;',
        
'&szlig;' => '&#223;',
        
'&agrave;' => '&#224;',
        
'&aacute;' => '&#225;',
        
'&acirc;' => '&#226;',
        
'&atilde;' => '&#227;',
        
'&auml;' => '&#228;',
        
'&aring;' => '&#229;',
        
'&aelig;' => '&#230;',
        
'&ccedil;' => '&#231;',
        
'&egrave;' => '&#232;',
        
'&eacute;' => '&#233;',
        
'&ecirc;' => '&#234;',
        
'&euml;' => '&#235;',
        
'&igrave;' => '&#236;',
        
'&iacute;' => '&#237;',
        
'&icirc;' => '&#238;',
        
'&iuml;' => '&#239;',
        
'&eth;' => '&#240;',
        
'&ntilde;' => '&#241;',
        
'&ograve;' => '&#242;',
        
'&oacute;' => '&#243;',
        
'&ocirc;' => '&#244;',
        
'&otilde;' => '&#245;',
        
'&ouml;' => '&#246;',
        
'&divide;' => '&#247;',
        
'&oslash;' => '&#248;',
        
'&ugrave;' => '&#249;',
        
'&uacute;' => '&#250;',
        
'&ucirc;' => '&#251;',
        
'&uuml;' => '&#252;',
        
'&yacute;' => '&#253;',
        
'&thorn;' => '&#254;',
        
'&yuml;' => '&#255;',
        
'&OElig;' => '&#338;',
        
'&oelig;' => '&#339;',
        
'&Scaron;' => '&#352;',
        
'&scaron;' => '&#353;',
        
'&Yuml;' => '&#376;',
        
'&fnof;' => '&#402;',
        
'&circ;' => '&#710;',
        
'&tilde;' => '&#732;',
        
'&Alpha;' => '&#913;',
        
'&Beta;' => '&#914;',
        
'&Gamma;' => '&#915;',
        
'&Delta;' => '&#916;',
        
'&Epsilon;' => '&#917;',
        
'&Zeta;' => '&#918;',
        
'&Eta;' => '&#919;',
        
'&Theta;' => '&#920;',
        
'&Iota;' => '&#921;',
        
'&Kappa;' => '&#922;',
        
'&Lambda;' => '&#923;',
        
'&Mu;' => '&#924;',
        
'&Nu;' => '&#925;',
        
'&Xi;' => '&#926;',
        
'&Omicron;' => '&#927;',
        
'&Pi;' => '&#928;',
        
'&Rho;' => '&#929;',
        
'&Sigma;' => '&#931;',
        
'&Tau;' => '&#932;',
        
'&Upsilon;' => '&#933;',
        
'&Phi;' => '&#934;',
        
'&Chi;' => '&#935;',
        
'&Psi;' => '&#936;',
        
'&Omega;' => '&#937;',
        
'&alpha;' => '&#945;',
        
'&beta;' => '&#946;',
        
'&gamma;' => '&#947;',
        
'&delta;' => '&#948;',
        
'&epsilon;' => '&#949;',
        
'&zeta;' => '&#950;',
        
'&eta;' => '&#951;',
        
'&theta;' => '&#952;',
        
'&iota;' => '&#953;',
        
'&kappa;' => '&#954;',
        
'&lambda;' => '&#955;',
        
'&mu;' => '&#956;',
        
'&nu;' => '&#957;',
        
'&xi;' => '&#958;',
        
'&omicron;' => '&#959;',
        
'&pi;' => '&#960;',
        
'&rho;' => '&#961;',
        
'&sigmaf;' => '&#962;',
        
'&sigma;' => '&#963;',
        
'&tau;' => '&#964;',
        
'&upsilon;' => '&#965;',
        
'&phi;' => '&#966;',
        
'&chi;' => '&#967;',
        
'&psi;' => '&#968;',
        
'&omega;' => '&#969;',
        
'&thetasym;' => '&#977;',
        
'&upsih;' => '&#978;',
        
'&piv;' => '&#982;',
        
'&ensp;' => '&#8194;',
        
'&emsp;' => '&#8195;',
        
'&thinsp;' => '&#8201;',
        
'&zwnj;' => '&#8204;',
        
'&zwj;' => '&#8205;',
        
'&lrm;' => '&#8206;',
        
'&rlm;' => '&#8207;',
        
'&ndash;' => '&#8211;',
        
'&mdash;' => '&#8212;',
        
'&lsquo;' => '&#8216;',
        
'&rsquo;' => '&#8217;',
        
'&sbquo;' => '&#8218;',
        
'&ldquo;' => '&#8220;',
        
'&rdquo;' => '&#8221;',
        
'&bdquo;' => '&#8222;',
        
'&dagger;' => '&#8224;',
        
'&Dagger;' => '&#8225;',
        
'&bull;' => '&#8226;',
        
'&hellip;' => '&#8230;',
        
'&permil;' => '&#8240;',
        
'&prime;' => '&#8242;',
        
'&Prime;' => '&#8243;',
        
'&lsaquo;' => '&#8249;',
        
'&rsaquo;' => '&#8250;',
        
'&oline;' => '&#8254;',
        
'&frasl;' => '&#8260;',
        
'&euro;' => '&#8364;',
        
'&image;' => '&#8465;',
        
'&weierp;' => '&#8472;',
        
'&real;' => '&#8476;',
        
'&trade;' => '&#8482;',
        
'&alefsym;' => '&#8501;',
        
'&crarr;' => '&#8629;',
        
'&lArr;' => '&#8656;',
        
'&uArr;' => '&#8657;',
        
'&rArr;' => '&#8658;',
        
'&dArr;' => '&#8659;',
        
'&hArr;' => '&#8660;',
        
'&forall;' => '&#8704;',
        
'&part;' => '&#8706;',
        
'&exist;' => '&#8707;',
        
'&empty;' => '&#8709;',
        
'&nabla;' => '&#8711;',
        
'&isin;' => '&#8712;',
        
'&notin;' => '&#8713;',
        
'&ni;' => '&#8715;',
        
'&prod;' => '&#8719;',
        
'&sum;' => '&#8721;',
        
'&minus;' => '&#8722;',
        
'&lowast;' => '&#8727;',
        
'&radic;' => '&#8730;',
        
'&prop;' => '&#8733;',
        
'&infin;' => '&#8734;',
        
'&ang;' => '&#8736;',
        
'&and;' => '&#8743;',
        
'&or;' => '&#8744;',
        
'&cap;' => '&#8745;',
        
'&cup;' => '&#8746;',
        
'&int;' => '&#8747;',
        
'&there4;' => '&#8756;',
        
'&sim;' => '&#8764;',
        
'&cong;' => '&#8773;',
        
'&asymp;' => '&#8776;',
        
'&ne;' => '&#8800;',
        
'&equiv;' => '&#8801;',
        
'&le;' => '&#8804;',
        
'&ge;' => '&#8805;',
        
'&sub;' => '&#8834;',
        
'&sup;' => '&#8835;',
        
'&nsub;' => '&#8836;',
        
'&sube;' => '&#8838;',
        
'&supe;' => '&#8839;',
        
'&oplus;' => '&#8853;',
        
'&otimes;' => '&#8855;',
        
'&perp;' => '&#8869;',
        
'&sdot;' => '&#8901;',
        
'&lceil;' => '&#8968;',
        
'&rceil;' => '&#8969;',
        
'&lfloor;' => '&#8970;',
        
'&rfloor;' => '&#8971;',
        
'&lang;' => '&#9001;',
        
'&rang;' => '&#9002;',
        
'&larr;' => '&#8592;',
        
'&uarr;' => '&#8593;',
        
'&rarr;' => '&#8594;',
        
'&darr;' => '&#8595;',
        
'&harr;' => '&#8596;',
        
'&loz;' => '&#9674;',
        
'&spades;' => '&#9824;',
        
'&clubs;' => '&#9827;',
        
'&hearts;' => '&#9829;',
        
'&diams;' => '&#9830;'
    
);

    foreach (
$to_ncr as $entity => $ncr) {
        
$text str_replace($entity$ncr$text);
    }
    return 
$text;
}

function 
wp_richedit_pre($text) {
    
// Filtering a blank results in an annoying <br />\n
    
if ( empty($text) ) return apply_filters('richedit_pre''');

    
$output $text;
    
$output convert_chars($output);
    
$output wpautop($output);

    
// These must be double-escaped or planets will collide.
    
$output str_replace('&lt;''&amp;lt;'$output);
    
$output str_replace('&gt;''&amp;gt;'$output);

    return 
apply_filters('richedit_pre'$output);
}

?>

:: 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.0312 ]--