added PMA_escapeJsString() to escape strings for JavaScript inside CDATA blocks
This commit is contained in:
@@ -13,6 +13,8 @@ $Source$
|
|||||||
added variables to define (text) color for marked and hovered objects
|
added variables to define (text) color for marked and hovered objects
|
||||||
thanks to Juergen Wind - windkiel for hinting this bug (patch #1503529)
|
thanks to Juergen Wind - windkiel for hinting this bug (patch #1503529)
|
||||||
* Documentation.html: updated style config option descriptions
|
* Documentation.html: updated style config option descriptions
|
||||||
|
* libraries/common.lib.php: added PMA_escapeJsString() to escape strings for
|
||||||
|
JavaScript inside CDATA blocks
|
||||||
|
|
||||||
2006-08-01 Marc Delisle <lem9@users.sourceforge.net>
|
2006-08-01 Marc Delisle <lem9@users.sourceforge.net>
|
||||||
* Documentation.html: patch #1532493 + light editing from me,
|
* Documentation.html: patch #1532493 + light editing from me,
|
||||||
|
@@ -1317,12 +1317,18 @@ if (!defined('PMA_MINIMUM_COMMON')) {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Format a string so it can be passed to a javascript function.
|
* Format a string so it can be a string inside JavaScript code inside an
|
||||||
|
* eventhandler (onclick, onchange, on..., ).
|
||||||
* This function is used to displays a javascript confirmation box for
|
* This function is used to displays a javascript confirmation box for
|
||||||
* "DROP/DELETE/ALTER" queries.
|
* "DROP/DELETE/ALTER" queries.
|
||||||
*
|
*
|
||||||
* @param string the string to format
|
* @uses PMA_escapeJsString()
|
||||||
* @param boolean whether to add backquotes to the string or not
|
* @uses PMA_backquote()
|
||||||
|
* @uses is_string()
|
||||||
|
* @uses htmlspecialchars()
|
||||||
|
* @uses str_replace()
|
||||||
|
* @param string $a_string the string to format
|
||||||
|
* @param boolean $add_backquotes whether to add backquotes to the string or not
|
||||||
*
|
*
|
||||||
* @return string the formated string
|
* @return string the formated string
|
||||||
*
|
*
|
||||||
@@ -1332,16 +1338,31 @@ if (!defined('PMA_MINIMUM_COMMON')) {
|
|||||||
{
|
{
|
||||||
if (is_string($a_string)) {
|
if (is_string($a_string)) {
|
||||||
$a_string = htmlspecialchars($a_string);
|
$a_string = htmlspecialchars($a_string);
|
||||||
$a_string = str_replace('\\', '\\\\', $a_string);
|
$a_string = PMA_escapeJsString($a_string);
|
||||||
$a_string = str_replace('\'', '\\\'', $a_string);
|
// TODO: what is this good for?
|
||||||
$a_string = str_replace('#', '\\#', $a_string);
|
$a_string = str_replace('#', '\\#', $a_string);
|
||||||
$a_string = str_replace("\012", '\n', $a_string);
|
|
||||||
$a_string = str_replace("\015", '\r', $a_string);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (($add_backquotes) ? PMA_backquote($a_string) : $a_string);
|
return (($add_backquotes) ? PMA_backquote($a_string) : $a_string);
|
||||||
} // end of the 'PMA_jsFormat()' function
|
} // end of the 'PMA_jsFormat()' function
|
||||||
|
|
||||||
|
/**
|
||||||
|
* escapes a string to be inserted as string a JavaScript block
|
||||||
|
* enclosed by <![CDATA[ ... ]]>
|
||||||
|
* this requires only to escape ' with \'
|
||||||
|
*
|
||||||
|
* @uses str_replace()
|
||||||
|
* @param string $string the string to be escaped
|
||||||
|
* @return string the escaped string
|
||||||
|
*/
|
||||||
|
function PMA_escapeJsString($string)
|
||||||
|
{
|
||||||
|
$string = str_replace('\\', '\\\\', $string);
|
||||||
|
$string = str_replace('\'', '\\\'', $string);
|
||||||
|
$string = str_replace("\012", '\n', $string);
|
||||||
|
$string = str_replace("\015", '\r', $string);
|
||||||
|
return $string;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines the <CR><LF> value depending on the user OS.
|
* Defines the <CR><LF> value depending on the user OS.
|
||||||
|
Reference in New Issue
Block a user