Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/smart-sl.../Nextend/Framewor...
File: Sanitize.php
if (self::valid_unicode($i)) {
[500] Fix | Delete
$i = str_pad(ltrim($i, '0'), 3, '0', STR_PAD_LEFT);
[501] Fix | Delete
$i = "&#$i;";
[502] Fix | Delete
} else {
[503] Fix | Delete
$i = "&#$i;";
[504] Fix | Delete
}
[505] Fix | Delete
[506] Fix | Delete
return $i;
[507] Fix | Delete
}
[508] Fix | Delete
[509] Fix | Delete
/**
[510] Fix | Delete
* Callback for kses_normalize_entities() for regular expression.
[511] Fix | Delete
*
[512] Fix | Delete
* This function helps kses_normalize_entities() to only accept valid Unicode
[513] Fix | Delete
* numeric entities in hex form.
[514] Fix | Delete
*
[515] Fix | Delete
* @access private
[516] Fix | Delete
*
[517] Fix | Delete
* @param array $matches preg_replace_callback() matches array
[518] Fix | Delete
*
[519] Fix | Delete
* @return string Correctly encoded entity
[520] Fix | Delete
*/
[521] Fix | Delete
public static function kses_normalize_entities3($matches) {
[522] Fix | Delete
if (empty($matches[1])) return '';
[523] Fix | Delete
[524] Fix | Delete
$hexchars = $matches[1];
[525] Fix | Delete
[526] Fix | Delete
return (!self::valid_unicode(hexdec($hexchars))) ? "&#x$hexchars;" : '&#x' . ltrim($hexchars, '0') . ';';
[527] Fix | Delete
}
[528] Fix | Delete
[529] Fix | Delete
/**
[530] Fix | Delete
* Helper function to determine if a Unicode value is valid.
[531] Fix | Delete
*
[532] Fix | Delete
* @param int $i Unicode value
[533] Fix | Delete
*
[534] Fix | Delete
* @return bool True if the value was a valid Unicode number
[535] Fix | Delete
*/
[536] Fix | Delete
private static function valid_unicode($i) {
[537] Fix | Delete
return ($i == 0x9 || $i == 0xa || $i == 0xd || ($i >= 0x20 && $i <= 0xd7ff) || ($i >= 0xe000 && $i <= 0xfffd) || ($i >= 0x10000 && $i <= 0x10ffff));
[538] Fix | Delete
}
[539] Fix | Delete
[540] Fix | Delete
/**
[541] Fix | Delete
* Escape single quotes, htmlspecialchar " < > &, and fix line endings.
[542] Fix | Delete
*
[543] Fix | Delete
* Escapes text strings for echoing in JS. It is intended to be used for inline JS
[544] Fix | Delete
* (in a tag attribute, for example onclick="..."). Note that the strings have to
[545] Fix | Delete
* be in single quotes. The {@see 'js_escape'} filter is also applied here.
[546] Fix | Delete
*
[547] Fix | Delete
* @param string $text The text to be escaped.
[548] Fix | Delete
*
[549] Fix | Delete
* @return string Escaped text.
[550] Fix | Delete
* @since 2.8.0
[551] Fix | Delete
*
[552] Fix | Delete
*/
[553] Fix | Delete
public static function esc_js($text) {
[554] Fix | Delete
$safe_text = self::check_invalid_utf8($text);
[555] Fix | Delete
$safe_text = self::_specialchars($safe_text, ENT_COMPAT);
[556] Fix | Delete
$safe_text = preg_replace('/&#(x)?0*(?(1)27|39);?/i', "'", stripslashes($safe_text));
[557] Fix | Delete
$safe_text = str_replace("\r", '', $safe_text);
[558] Fix | Delete
$safe_text = str_replace("\n", '\\n', addslashes($safe_text));
[559] Fix | Delete
[560] Fix | Delete
return $safe_text;
[561] Fix | Delete
}
[562] Fix | Delete
[563] Fix | Delete
/**
[564] Fix | Delete
* Escaping for HTML blocks.
[565] Fix | Delete
*
[566] Fix | Delete
* @param string $text
[567] Fix | Delete
*
[568] Fix | Delete
* @return string
[569] Fix | Delete
* @since 2.8.0
[570] Fix | Delete
*
[571] Fix | Delete
*/
[572] Fix | Delete
public static function esc_html($text) {
[573] Fix | Delete
$safe_text = self::check_invalid_utf8($text);
[574] Fix | Delete
$safe_text = self::_specialchars($safe_text, ENT_QUOTES);
[575] Fix | Delete
[576] Fix | Delete
return $safe_text;
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
/**
[580] Fix | Delete
* Escaping for HTML attributes.
[581] Fix | Delete
*
[582] Fix | Delete
* @param string $text
[583] Fix | Delete
*
[584] Fix | Delete
* @return string
[585] Fix | Delete
* @since 2.8.0
[586] Fix | Delete
*
[587] Fix | Delete
*/
[588] Fix | Delete
public static function esc_attr($text) {
[589] Fix | Delete
$safe_text = self::check_invalid_utf8($text);
[590] Fix | Delete
$safe_text = self::_specialchars($safe_text, ENT_QUOTES);
[591] Fix | Delete
[592] Fix | Delete
return $safe_text;
[593] Fix | Delete
}
[594] Fix | Delete
[595] Fix | Delete
/**
[596] Fix | Delete
* Escaping for textarea values.
[597] Fix | Delete
*
[598] Fix | Delete
* @param string $text
[599] Fix | Delete
*
[600] Fix | Delete
* @return string
[601] Fix | Delete
* @since 3.1.0
[602] Fix | Delete
*
[603] Fix | Delete
*/
[604] Fix | Delete
public static function esc_textarea($text) {
[605] Fix | Delete
$safe_text = htmlspecialchars($text, ENT_QUOTES, self::getCharset());
[606] Fix | Delete
[607] Fix | Delete
return $safe_text;
[608] Fix | Delete
}
[609] Fix | Delete
[610] Fix | Delete
public static function remove_closing_style_tag($text) {
[611] Fix | Delete
$safe_text = self::check_invalid_utf8($text);
[612] Fix | Delete
[613] Fix | Delete
return preg_replace_callback('/<\/style.*?>/i', function () {
[614] Fix | Delete
return '';
[615] Fix | Delete
}, $safe_text);
[616] Fix | Delete
}
[617] Fix | Delete
[618] Fix | Delete
public static function esc_css_value($text) {
[619] Fix | Delete
$safe_text = self::check_invalid_utf8($text);
[620] Fix | Delete
[621] Fix | Delete
return preg_replace_callback('/[<>]/', function () {
[622] Fix | Delete
return '';
[623] Fix | Delete
}, $safe_text);
[624] Fix | Delete
}
[625] Fix | Delete
[626] Fix | Delete
public static function esc_css_string($cssString) {
[627] Fix | Delete
[628] Fix | Delete
$output = '';
[629] Fix | Delete
echo "\n\n";
[630] Fix | Delete
[631] Fix | Delete
$pairs = explode(';', trim($cssString));
[632] Fix | Delete
foreach ($pairs as $pair) {
[633] Fix | Delete
if (!empty($pair)) {
[634] Fix | Delete
$keyValue = explode(':', trim($pair), 2);
[635] Fix | Delete
if (count($keyValue) != 2) {
[636] Fix | Delete
continue;
[637] Fix | Delete
}
[638] Fix | Delete
if (!preg_match('/^[a-zA-Z\-]+$/', $keyValue[0])) {
[639] Fix | Delete
continue;
[640] Fix | Delete
}
[641] Fix | Delete
[642] Fix | Delete
$output .= $keyValue[0] . ':' . self::esc_css_value(trim($keyValue[1])) . ';';
[643] Fix | Delete
}
[644] Fix | Delete
}
[645] Fix | Delete
[646] Fix | Delete
return $output;
[647] Fix | Delete
}
[648] Fix | Delete
[649] Fix | Delete
public static function filter_allowed_html($input, $extraTags = '') {
[650] Fix | Delete
[651] Fix | Delete
return self::filter_attributes_on(strip_tags($input, '<a><span><sub><sup><em><i><var><cite><b><strong><small><bdo><br><img><picture><source><u><del><bdi><ins>' . $extraTags));
[652] Fix | Delete
}
[653] Fix | Delete
[654] Fix | Delete
public static function remove_all_html($input) {
[655] Fix | Delete
[656] Fix | Delete
return strip_tags($input);
[657] Fix | Delete
}
[658] Fix | Delete
[659] Fix | Delete
public static function filter_attributes_on($input) {
[660] Fix | Delete
[661] Fix | Delete
if (class_exists('DOMDocument')) {
[662] Fix | Delete
if (function_exists('libxml_use_internal_errors')) {
[663] Fix | Delete
libxml_use_internal_errors(true);
[664] Fix | Delete
}
[665] Fix | Delete
[666] Fix | Delete
$dom = new DOMDocument();
[667] Fix | Delete
$dom->loadHTML('<?xml encoding="utf-8" ?><!DOCTYPE html><html lang="en"><body>' . $input . '</body></html>');
[668] Fix | Delete
[669] Fix | Delete
if (function_exists('libxml_use_internal_errors')) {
[670] Fix | Delete
libxml_use_internal_errors(false);
[671] Fix | Delete
}
[672] Fix | Delete
[673] Fix | Delete
for ($els = $dom->getElementsByTagname('*'), $i = $els->length - 1; $i >= 0; $i--) {
[674] Fix | Delete
for ($attrs = $els->item($i)->attributes, $ii = $attrs->length - 1; $ii >= 0; $ii--) {
[675] Fix | Delete
if (substr($attrs->item($ii)->name, 0, 2) === 'on') {
[676] Fix | Delete
$els->item($i)
[677] Fix | Delete
->removeAttribute($attrs->item($ii)->name);
[678] Fix | Delete
[679] Fix | Delete
continue;
[680] Fix | Delete
}
[681] Fix | Delete
[682] Fix | Delete
if ($attrs->item($ii)->name === 'href' && strpos($attrs->item($ii)->value, 'javascript:') !== false) {
[683] Fix | Delete
$els->item($i)
[684] Fix | Delete
->removeAttribute($attrs->item($ii)->name);
[685] Fix | Delete
}
[686] Fix | Delete
}
[687] Fix | Delete
}
[688] Fix | Delete
[689] Fix | Delete
$output = '';
[690] Fix | Delete
$body = $dom->getElementsByTagName('body');
[691] Fix | Delete
if ($body && 0 < $body->length) {
[692] Fix | Delete
$body = $body->item(0);
[693] Fix | Delete
$childNodes = $body->childNodes;
[694] Fix | Delete
if (!empty($childNodes)) {
[695] Fix | Delete
foreach ($childNodes as $childNode) {
[696] Fix | Delete
$output .= $dom->saveHTML($childNode);
[697] Fix | Delete
}
[698] Fix | Delete
}
[699] Fix | Delete
}
[700] Fix | Delete
[701] Fix | Delete
return $output;
[702] Fix | Delete
} else if (function_exists('wp_kses_post')) {
[703] Fix | Delete
return wp_kses_post($input);
[704] Fix | Delete
}
[705] Fix | Delete
return '';
[706] Fix | Delete
[707] Fix | Delete
}
[708] Fix | Delete
[709] Fix | Delete
public static function set_allowed_tags() {
[710] Fix | Delete
global $allowedposttags;
[711] Fix | Delete
[712] Fix | Delete
$_allowedposttags = $allowedposttags;
[713] Fix | Delete
[714] Fix | Delete
[715] Fix | Delete
if (N2JOOMLA || CUSTOM_TAGS) {
[716] Fix | Delete
$_allowedposttags = array();
[717] Fix | Delete
}
[718] Fix | Delete
[719] Fix | Delete
$wpAllowedposttags = array(
[720] Fix | Delete
'address' => array(),
[721] Fix | Delete
'a' => array(
[722] Fix | Delete
'href' => true,
[723] Fix | Delete
'rel' => true,
[724] Fix | Delete
'rev' => true,
[725] Fix | Delete
'name' => true,
[726] Fix | Delete
'target' => true,
[727] Fix | Delete
'download' => array(
[728] Fix | Delete
'valueless' => 'y',
[729] Fix | Delete
),
[730] Fix | Delete
),
[731] Fix | Delete
'abbr' => array(),
[732] Fix | Delete
'acronym' => array(),
[733] Fix | Delete
'area' => array(
[734] Fix | Delete
'alt' => true,
[735] Fix | Delete
'coords' => true,
[736] Fix | Delete
'href' => true,
[737] Fix | Delete
'nohref' => true,
[738] Fix | Delete
'shape' => true,
[739] Fix | Delete
'target' => true,
[740] Fix | Delete
),
[741] Fix | Delete
'article' => array(
[742] Fix | Delete
'align' => true,
[743] Fix | Delete
),
[744] Fix | Delete
'aside' => array(
[745] Fix | Delete
'align' => true,
[746] Fix | Delete
),
[747] Fix | Delete
'audio' => array(
[748] Fix | Delete
'autoplay' => true,
[749] Fix | Delete
'controls' => true,
[750] Fix | Delete
'loop' => true,
[751] Fix | Delete
'muted' => true,
[752] Fix | Delete
'preload' => true,
[753] Fix | Delete
'src' => true,
[754] Fix | Delete
),
[755] Fix | Delete
'b' => array(),
[756] Fix | Delete
'bdi' => array(),
[757] Fix | Delete
'bdo' => array(),
[758] Fix | Delete
'big' => array(),
[759] Fix | Delete
'blockquote' => array(
[760] Fix | Delete
'cite' => true,
[761] Fix | Delete
),
[762] Fix | Delete
'br' => array(),
[763] Fix | Delete
'button' => array(
[764] Fix | Delete
'disabled' => true,
[765] Fix | Delete
'name' => true,
[766] Fix | Delete
'type' => true,
[767] Fix | Delete
'value' => true,
[768] Fix | Delete
),
[769] Fix | Delete
'caption' => array(
[770] Fix | Delete
'align' => true,
[771] Fix | Delete
),
[772] Fix | Delete
'cite' => array(),
[773] Fix | Delete
'code' => array(),
[774] Fix | Delete
'col' => array(
[775] Fix | Delete
'align' => true,
[776] Fix | Delete
'char' => true,
[777] Fix | Delete
'charoff' => true,
[778] Fix | Delete
'span' => true,
[779] Fix | Delete
'valign' => true,
[780] Fix | Delete
'width' => true,
[781] Fix | Delete
),
[782] Fix | Delete
'colgroup' => array(
[783] Fix | Delete
'align' => true,
[784] Fix | Delete
'char' => true,
[785] Fix | Delete
'charoff' => true,
[786] Fix | Delete
'span' => true,
[787] Fix | Delete
'valign' => true,
[788] Fix | Delete
'width' => true,
[789] Fix | Delete
),
[790] Fix | Delete
'del' => array(
[791] Fix | Delete
'datetime' => true,
[792] Fix | Delete
),
[793] Fix | Delete
'dd' => array(),
[794] Fix | Delete
'dfn' => array(),
[795] Fix | Delete
'details' => array(
[796] Fix | Delete
'align' => true,
[797] Fix | Delete
'open' => true,
[798] Fix | Delete
),
[799] Fix | Delete
'div' => array(
[800] Fix | Delete
'align' => true,
[801] Fix | Delete
),
[802] Fix | Delete
'dl' => array(),
[803] Fix | Delete
'dt' => array(),
[804] Fix | Delete
'em' => array(),
[805] Fix | Delete
'fieldset' => array(),
[806] Fix | Delete
'figure' => array(
[807] Fix | Delete
'align' => true,
[808] Fix | Delete
),
[809] Fix | Delete
'figcaption' => array(
[810] Fix | Delete
'align' => true,
[811] Fix | Delete
),
[812] Fix | Delete
'font' => array(
[813] Fix | Delete
'color' => true,
[814] Fix | Delete
'face' => true,
[815] Fix | Delete
'size' => true,
[816] Fix | Delete
),
[817] Fix | Delete
'footer' => array(
[818] Fix | Delete
'align' => true,
[819] Fix | Delete
),
[820] Fix | Delete
'h1' => array(
[821] Fix | Delete
'align' => true,
[822] Fix | Delete
),
[823] Fix | Delete
'h2' => array(
[824] Fix | Delete
'align' => true,
[825] Fix | Delete
),
[826] Fix | Delete
'h3' => array(
[827] Fix | Delete
'align' => true,
[828] Fix | Delete
),
[829] Fix | Delete
'h4' => array(
[830] Fix | Delete
'align' => true,
[831] Fix | Delete
),
[832] Fix | Delete
'h5' => array(
[833] Fix | Delete
'align' => true,
[834] Fix | Delete
),
[835] Fix | Delete
'h6' => array(
[836] Fix | Delete
'align' => true,
[837] Fix | Delete
),
[838] Fix | Delete
'header' => array(
[839] Fix | Delete
'align' => true,
[840] Fix | Delete
),
[841] Fix | Delete
'hgroup' => array(
[842] Fix | Delete
'align' => true,
[843] Fix | Delete
),
[844] Fix | Delete
'hr' => array(
[845] Fix | Delete
'align' => true,
[846] Fix | Delete
'noshade' => true,
[847] Fix | Delete
'size' => true,
[848] Fix | Delete
'width' => true,
[849] Fix | Delete
),
[850] Fix | Delete
'i' => array(),
[851] Fix | Delete
'img' => array(
[852] Fix | Delete
'alt' => true,
[853] Fix | Delete
'align' => true,
[854] Fix | Delete
'border' => true,
[855] Fix | Delete
'height' => true,
[856] Fix | Delete
'hspace' => true,
[857] Fix | Delete
'loading' => true,
[858] Fix | Delete
'longdesc' => true,
[859] Fix | Delete
'vspace' => true,
[860] Fix | Delete
'src' => true,
[861] Fix | Delete
'usemap' => true,
[862] Fix | Delete
'width' => true,
[863] Fix | Delete
),
[864] Fix | Delete
'ins' => array(
[865] Fix | Delete
'datetime' => true,
[866] Fix | Delete
'cite' => true,
[867] Fix | Delete
),
[868] Fix | Delete
'kbd' => array(),
[869] Fix | Delete
'label' => array(
[870] Fix | Delete
'for' => true,
[871] Fix | Delete
),
[872] Fix | Delete
'legend' => array(
[873] Fix | Delete
'align' => true,
[874] Fix | Delete
),
[875] Fix | Delete
'li' => array(
[876] Fix | Delete
'align' => true,
[877] Fix | Delete
'value' => true,
[878] Fix | Delete
),
[879] Fix | Delete
'main' => array(
[880] Fix | Delete
'align' => true,
[881] Fix | Delete
),
[882] Fix | Delete
'map' => array(
[883] Fix | Delete
'name' => true,
[884] Fix | Delete
),
[885] Fix | Delete
'mark' => array(),
[886] Fix | Delete
'menu' => array(
[887] Fix | Delete
'type' => true,
[888] Fix | Delete
),
[889] Fix | Delete
'nav' => array(
[890] Fix | Delete
'align' => true,
[891] Fix | Delete
),
[892] Fix | Delete
'object' => array(
[893] Fix | Delete
'data' => array(
[894] Fix | Delete
'required' => true,
[895] Fix | Delete
'value_callback' => '_wp_kses_allow_pdf_objects',
[896] Fix | Delete
),
[897] Fix | Delete
'type' => array(
[898] Fix | Delete
'required' => true,
[899] Fix | Delete
'values' => array('application/pdf'),
[900] Fix | Delete
),
[901] Fix | Delete
),
[902] Fix | Delete
'p' => array(
[903] Fix | Delete
'align' => true,
[904] Fix | Delete
),
[905] Fix | Delete
'pre' => array(
[906] Fix | Delete
'width' => true,
[907] Fix | Delete
),
[908] Fix | Delete
'q' => array(
[909] Fix | Delete
'cite' => true,
[910] Fix | Delete
),
[911] Fix | Delete
'rb' => array(),
[912] Fix | Delete
'rp' => array(),
[913] Fix | Delete
'rt' => array(),
[914] Fix | Delete
'rtc' => array(),
[915] Fix | Delete
'ruby' => array(),
[916] Fix | Delete
's' => array(),
[917] Fix | Delete
'samp' => array(),
[918] Fix | Delete
'span' => array(
[919] Fix | Delete
'align' => true,
[920] Fix | Delete
),
[921] Fix | Delete
'section' => array(
[922] Fix | Delete
'align' => true,
[923] Fix | Delete
),
[924] Fix | Delete
'small' => array(),
[925] Fix | Delete
'strike' => array(),
[926] Fix | Delete
'strong' => array(),
[927] Fix | Delete
'sub' => array(),
[928] Fix | Delete
'summary' => array(
[929] Fix | Delete
'align' => true,
[930] Fix | Delete
),
[931] Fix | Delete
'sup' => array(),
[932] Fix | Delete
'table' => array(
[933] Fix | Delete
'align' => true,
[934] Fix | Delete
'bgcolor' => true,
[935] Fix | Delete
'border' => true,
[936] Fix | Delete
'cellpadding' => true,
[937] Fix | Delete
'cellspacing' => true,
[938] Fix | Delete
'rules' => true,
[939] Fix | Delete
'summary' => true,
[940] Fix | Delete
'width' => true,
[941] Fix | Delete
),
[942] Fix | Delete
'tbody' => array(
[943] Fix | Delete
'align' => true,
[944] Fix | Delete
'char' => true,
[945] Fix | Delete
'charoff' => true,
[946] Fix | Delete
'valign' => true,
[947] Fix | Delete
),
[948] Fix | Delete
'td' => array(
[949] Fix | Delete
'abbr' => true,
[950] Fix | Delete
'align' => true,
[951] Fix | Delete
'axis' => true,
[952] Fix | Delete
'bgcolor' => true,
[953] Fix | Delete
'char' => true,
[954] Fix | Delete
'charoff' => true,
[955] Fix | Delete
'colspan' => true,
[956] Fix | Delete
'headers' => true,
[957] Fix | Delete
'height' => true,
[958] Fix | Delete
'nowrap' => true,
[959] Fix | Delete
'rowspan' => true,
[960] Fix | Delete
'scope' => true,
[961] Fix | Delete
'valign' => true,
[962] Fix | Delete
'width' => true,
[963] Fix | Delete
),
[964] Fix | Delete
'textarea' => array(
[965] Fix | Delete
'cols' => true,
[966] Fix | Delete
'rows' => true,
[967] Fix | Delete
'disabled' => true,
[968] Fix | Delete
'name' => true,
[969] Fix | Delete
'readonly' => true,
[970] Fix | Delete
),
[971] Fix | Delete
'tfoot' => array(
[972] Fix | Delete
'align' => true,
[973] Fix | Delete
'char' => true,
[974] Fix | Delete
'charoff' => true,
[975] Fix | Delete
'valign' => true,
[976] Fix | Delete
),
[977] Fix | Delete
'th' => array(
[978] Fix | Delete
'abbr' => true,
[979] Fix | Delete
'align' => true,
[980] Fix | Delete
'axis' => true,
[981] Fix | Delete
'bgcolor' => true,
[982] Fix | Delete
'char' => true,
[983] Fix | Delete
'charoff' => true,
[984] Fix | Delete
'colspan' => true,
[985] Fix | Delete
'headers' => true,
[986] Fix | Delete
'height' => true,
[987] Fix | Delete
'nowrap' => true,
[988] Fix | Delete
'rowspan' => true,
[989] Fix | Delete
'scope' => true,
[990] Fix | Delete
'valign' => true,
[991] Fix | Delete
'width' => true,
[992] Fix | Delete
),
[993] Fix | Delete
'thead' => array(
[994] Fix | Delete
'align' => true,
[995] Fix | Delete
'char' => true,
[996] Fix | Delete
'charoff' => true,
[997] Fix | Delete
'valign' => true,
[998] Fix | Delete
),
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function