You are here

public function mylivechat::EncodeJScript in My Live Chat 6

Same name and namespace in other branches
  1. 7 mylivechat.php \MyLiveChat::EncodeJScript()
1 call to mylivechat::EncodeJScript()
mylivechat::getChatCode in ./mylivechat.php
Returns MyLiveChat button HTML code

File

./mylivechat.php, line 258
MyLiveChat module for Drupal

Class

mylivechat
@file MyLiveChat module for Drupal

Code

public function EncodeJScript($str) {
  $chars = "0123456789ABCDEF";
  $chars = str_split($chars);
  $sb = "";
  $l = strlen($str);
  $strarr = str_split($str);
  for ($i = 0; $i < $l; $i++) {
    $c = $strarr[$i];
    if ($c == '\\' || $c == '"' || $c == '\'' || $c == '>' || $c == '<' || $c == '&' || $c == '\\r' || $c == '\\n') {
      if ($sb == "") {
        if ($i > 0) {
          $sb .= substr($str, 0, $i);
        }
      }
      if ($c == '\\') {
        $sb .= "\\x5C";
      }
      else {
        if ($c == '"') {
          $sb .= "\\x22";
        }
        else {
          if ($c == '\'') {
            $sb .= "\\x27";
          }
          else {
            if ($c == '\\r') {
              $sb .= "\\x0D";
            }
            else {
              if ($c == '\\n') {
                $sb .= "\\x0A";
              }
              else {
                if ($c == '<') {
                  $sb .= "\\x3C";
                }
                else {
                  if ($c == '>') {
                    $sb .= "\\x3E";
                  }
                  else {
                    if ($c == '&') {
                      $sb .= "\\x26";
                    }
                    else {
                      $code = $c;
                      $a1 = $code & 0xf;
                      $a2 = ($code & 0xf0) / 0x10;
                      $sb .= "\\x";
                      $sb .= $chars[$a2];
                      $sb .= $chars[$a1];
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    else {
      if ($sb != "") {
        $sb .= $c;
      }
    }
  }
  if ($sb != "") {
    return $sb;
  }
  return $str;
}