Server IP : 127.0.0.2 / Your IP : 3.17.73.197 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin/libraries/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Javascript escaping functions. * * @package PhpMyAdmin * */ if (! defined('PHPMYADMIN')) { exit; } /** * 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 * "DROP/DELETE/ALTER" queries. * * @param string $a_string the string to format * @param boolean $add_backquotes whether to add backquotes to the string or not * * @return string the formatted string * * @access public */ function PMA_jsFormat($a_string = '', $add_backquotes = true) { if (is_string($a_string)) { $a_string = htmlspecialchars($a_string); $a_string = PMA_escapeJsString($a_string); // Needed for inline javascript to prevent some browsers // treating it as a anchor $a_string = str_replace('#', '\\#', $a_string); } return (($add_backquotes) ? PMA_Util::backquote($a_string) : $a_string); } // 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 \' and end of script block * * We also remove NUL byte as some browsers (namely MSIE) ignore it and * inserting it anywhere inside </script would allow to bypass this check. * * @param string $string the string to be escaped * * @return string the escaped string */ function PMA_escapeJsString($string) { return preg_replace( '@</script@i', '</\' + \'script', strtr( $string, array( "\000" => '', '\\' => '\\\\', '\'' => '\\\'', '"' => '\"', "\n" => '\n', "\r" => '\r' ) ) ); } /** * Formats a value for javascript code. * * @param string $value String to be formatted. * * @return string formatted value. */ function PMA_formatJsVal($value) { if (is_bool($value)) { if ($value) { return 'true'; } return 'false'; } if (is_int($value)) { return (int)$value; } return '"' . PMA_escapeJsString($value) . '"'; } /** * Formats an javascript assignment with proper escaping of a value * and support for assigning array of strings. * * @param string $key Name of value to set * @param mixed $value Value to set, can be either string or array of strings * @param bool $escape Whether to escape value or keep it as it is * (for inclusion of js code) * * @return string Javascript code. */ function PMA_getJsValue($key, $value, $escape = true) { $result = $key . ' = '; if (!$escape) { $result .= $value; } elseif (is_array($value)) { $result .= '['; foreach ($value as $val) { $result .= PMA_formatJsVal($val) . ","; } $result .= "];\n"; } else { $result .= PMA_formatJsVal($value) . ";\n"; } return $result; } /** * Prints an javascript assignment with proper escaping of a value * and support for assigning array of strings. * * @param string $key Name of value to set * @param mixed $value Value to set, can be either string or array of strings * * @return void */ function PMA_printJsValue($key, $value) { echo PMA_getJsValue($key, $value); } /** * Formats javascript assignment for form validation api * with proper escaping of a value. * * @param string $key Name of value to set * @param string $value Value to set * @param boolean $addOn Check if $.validator.format is required or not * @param boolean $comma Check if comma is required * * @return string Javascript code. */ function PMA_getJsValueForFormValidation($key, $value, $addOn, $comma) { $result = $key . ': '; if ($addOn) { $result .= '$.validator.format('; } $result .= PMA_formatJsVal($value); if ($addOn) { $result .= ')'; } if ($comma) { $result .= ', '; } return $result; } /** * Prints javascript assignment for form validation api * with proper escaping of a value. * * @param string $key Name of value to set * @param string $value Value to set * @param boolean $addOn Check if $.validator.format is required or not * @param boolean $comma Check if comma is required * * @return void */ function PMA_printJsValueForFormValidation($key, $value, $addOn=false, $comma=true) { echo PMA_getJsValueForFormValidation($key, $value, $addOn, $comma); }