]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-8028 Add separate addslashes_js function for javascript quoting
authorskodak <skodak>
Mon, 1 Jan 2007 13:26:20 +0000 (13:26 +0000)
committerskodak <skodak>
Mon, 1 Jan 2007 13:26:20 +0000 (13:26 +0000)
lib/weblib.php
message/lib.php
message/refresh.php
message/send.php
mod/chat/gui_header_js/jsupdate.php
mod/chat/gui_header_js/jsupdated.php
mod/quiz/view.php

index 1c7c60b5b721f8d18f829c1edb96174c4b212a93..ca4bbbf0073dfdb7c3c069ed0b615bd6fc33382b 100644 (file)
@@ -146,6 +146,7 @@ function addslashes_js($var) {
     if (is_string($var)) {
         $var = str_replace('\\', '\\\\', $var);
         $var = str_replace(array('\'', '"', "\n", "\r", "\0"), array('\\\'', '\\"', '\\n', '\\r', '\\0'), $var);
+        $var = str_replace('</', '<\/', $var);   // XHTML compliance
     } else if (is_array($var)) {
         $var = array_map('addslashes_js', $var);
     } else if (is_object($var)) {
index f5498f4bf2e6ea130a2a423400882e7dbdf65f07..6c278acb962501b492635b507f29bcc36105d6d1 100644 (file)
@@ -203,7 +203,7 @@ function message_print_contacts() {
     echo '<br />';
 
     $autorefresh = '<p align="center" class="note">'.get_string('pagerefreshes', 'message', $CFG->message_contacts_refresh).'</p>';
-    $autorefresh = addslashes($autorefresh); // js escaping
+    $autorefresh = addslashes_js($autorefresh); // js escaping
 
     // gracefully degrade JS autorefresh
     echo '<script type="text/javascript">
index 1c20c8281818c6ba0ed535803d4014692378fdb4..daa3a81c389cbdde7a7014e874d287c691ee7247 100644 (file)
@@ -40,7 +40,7 @@
     echo '  parent.messages.document.write("<html><head><title> <\/title>");'."\n";
     echo '  parent.messages.document.write("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />");'."\n";
     echo '  parent.messages.document.write("<base target=\"_blank\" />");'."\n";
-    echo '  parent.messages.document.write("'.addslashes($stylesheetshtml).'");'."\n";
+    echo '  parent.messages.document.write("'.addslashes_js($stylesheetshtml).'");'."\n";
     echo '  parent.messages.document.write("<\/head><body class=\"message course-1\" id=\"message-messages\"><div style=\"display: none\" id=\"messagestarted\">&nbsp;<\/div>");'."\n";
     echo '}'."\n";
 
             $options = new object();
             $options->para = false;
             $options->newlines = true;
-            $printmessage = format_text($message->message, $message->format, $options, 0);
-            $printmessage = str_replace("\r", ' ', $printmessage);
-            $printmessage = str_replace("\n", ' ', $printmessage);
+            $printmessage = format_text($message->message, $message->format, $options);
             $printmessage = '<div class="message other"><span class="author">'.s($userfullname).'</span> '.
                 '<span class="time">['.$time.']</span>: '.
                 '<span class="content">'.$printmessage.'</span></div>';
-            $printmessage = addslashes($printmessage);                 // So Javascript can write it
-            $printmessage = str_replace('</', '<\/', $printmessage);   // XHTML compliance
+            $printmessage = addslashes_js($printmessage);  // So Javascript can write it
             echo "parent.messages.document.write('".$printmessage."');\n";
 
             /// Move the entry to the other table
index b7cb47b31964e4299cf601b414a127753a75b253..4da717a3e0e3038bb4d37c8faa33a071796385bc 100644 (file)
         $options = NULL;
         $options->para = false;
         $options->newlines = true;
-        $message = format_text($message, $format, $options, 0);
+        $message = format_text($message, $format, $options);
 
-        $message = str_replace("\r", ' ', $message);
-        $message = str_replace("\n", ' ', $message);
         $time = userdate(time(), get_string('strftimedaytime'));
         $message = '<div class="message me"><span class="author">'.fullname($USER).'</span> '.
                    '<span class="time">['.$time.']</span>: '.
                    '<span class="content">'.$message.'</span></div>';
-        $message = addslashes($message);                 // So Javascript can write it
-        $message = str_replace('</', '<\/', $message);   // XHTML compliance
+        $message = addslashes_js($message);  // So Javascript can write it
 
     /// Then write it to our own message screen immediately
         echo "\n<script type=\"text/javascript\">\n<!--\n";
index 4ad594851112c0e69f8bf4f696586db1a0775ff8..5b15a73413a4e7a4aa6597390a205ff58c32cd44 100644 (file)
@@ -80,7 +80,7 @@
     /// required stylesheets
     $stylesheetshtml = '';
     foreach ($CFG->stylesheets as $stylesheet) {
-        $stylesheetshtml .= '<link rel=\\"stylesheet\\" type=\\"text/css\\" href=\\"'.$stylesheet.'\\" />';
+        $stylesheetshtml .= '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'" />';
     }
 
     // use ob to be able to send Content-Length headers
             parent.msg.document.write("<html><head>");
             parent.msg.document.write("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />");
             parent.msg.document.write("<base target=\"_blank\" />");
-            parent.msg.document.write("<?php echo $stylesheetshtml ?>");
+            parent.msg.document.write("<?php echo addslashes_js($stylesheetshtml) ?>");
             parent.msg.document.write("<\/head><body class=\"mod-chat-gui_header_js course-<?php echo $chatuser->course ?>\" id=\"mod-chat-gui_header_js-jsupdate\"><div style=\"display: none\" id=\"msgStarted\">&nbsp;<\/div>");
         }
         <?php
                      $refreshusers = true;
                 }
                 $us[$message->userid] = $timenow - $message->timestamp;
-                echo "parent.msg.document.write('".addslashes($formatmessage->html)."\\n');\n";
+                echo "parent.msg.document.write('".addslashes_js($formatmessage->html)."\\n');\n";
              }
         }
 
index d8da3a1db43e4b9c3c6bb7bf918b522863661f39..a9ce81c72929430e43881ec3db1edfb6aabd5708 100644 (file)
@@ -73,7 +73,7 @@
     /// required stylesheets
     $stylesheetshtml = '';
     foreach ($CFG->stylesheets as $stylesheet) {
-        $stylesheetshtml .= '<link rel=\\"stylesheet\\" type=\\"text/css\\" href=\\"'.$stylesheet.'\\" />';
+        $stylesheetshtml .= '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'" />';
     }
 
 ?>
@@ -90,7 +90,7 @@
             parent.msg.document.write("<html><head>");
             parent.msg.document.write("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />");
             parent.msg.document.write("<base target=\"_blank\" />");
-            parent.msg.document.write("<?php echo $stylesheetshtml ?>");
+            parent.msg.document.write("<?php echo addslashes_js($stylesheetshtml) ?>");
             parent.msg.document.write("</head><body class=\"mod-chat-gui_header_js course-<?php echo $chatuser->course ?>\" id=\"mod-chat-gui_header_js-jsupdate\"><div style=\"display: none\" id=\"msgStarted\">&nbsp;</div>");
         }
         //]]>
                     $refreshusers = true;
                 }
                 $us[$message->userid] = $timenow - $message->timestamp;
-                echo "parent.msg.document.write('".addslashes($formatmessage->html )."\\n');\n";
+                echo "parent.msg.document.write('".addslashes_js($formatmessage->html )."\\n');\n";
 
             }
             // from the last message printed...
index 61871d14eb730dffe5e69c887152e1bd8e4f1ecb..818697a9cf74a9a0473cbba4008b7662958a7d32 100644 (file)
 <!--
 document.write('<input type="button" value="<?php echo $buttontext ?>" onclick="javascript: <?php
                 if ($strconfirmstartattempt) {
-                    echo "if (confirm(\\'".addslashes($strconfirmstartattempt)."\\'))";
+                    echo "if (confirm(\\'".addslashes_js($strconfirmstartattempt)."\\'))";
                 }
 ?> window.open(\'<?php echo $attempturl ?>\', \'<?php echo $window ?>\', \'<?php echo $windowoptions ?>\'); " />');
 // -->