/** * Method encryptObjectData * @access private * @param WebSitePhpObject $object * @param string $js_on_error * @param boolean $force_encrypted_obj [default value: false] * @return mixed * @since 1.0.67 */ private function encryptObjectData($object, $js_on_error = '', $force_encrypted_obj = false) { $html = ""; if ($object->isEncrypted() || $force_encrypted_obj) { if ($force_encrypted_obj != false) { $public_key = str_replace("\r", "", str_replace("\n", "", $force_encrypted_obj->getEncryptObject()->getPublicKey())); } else { $public_key = str_replace("\r", "", str_replace("\n", "", $object->getEncryptObject()->getPublicKey())); } $html .= "\tvar public_key = RSA.getPublicKey('" . addslashes($public_key) . "');\n"; if (get_class($object) == "Form") { $html .= "\tvar object_data = \$('#" . $object->getId() . "').serialize();\n"; } else { $html .= "\tvar object_data = \$('#" . $object->getId() . "').val();\n"; } $html .= "\tvar public_key_length = ((public_key.getModulus().bitLength()+7)>>3)-11;\n"; $html .= "\tvar encrypt_data = '';\n"; $html .= "\tfor (var i=0; i < object_data.length; i=i+public_key_length) {\n"; $html .= "\t\tif (encrypt_data != '') { encrypt_data += '&'; }\n"; $html .= "\t\tvar encrypt_val = RSA.encrypt(object_data.substr(i, public_key_length), public_key);\n"; $html .= "\t\tif (encrypt_val==false) {\n"; if ($force_encrypted_obj != false) { $html .= "\t\t\talert('Error when encrypting your " . (get_class($force_encrypted_obj) == "Form" ? "formular" : get_class($force_encrypted_obj)) . ".');" . $js_on_error . "return false;\n"; } else { $html .= "\t\t\talert('Error when encrypting your " . (get_class($object) == "Form" ? "formular" : get_class($object)) . ".');" . $js_on_error . "return false;\n"; } $html .= "\t\t}\n"; if (get_class($object) != "Form") { $html .= "urlencode("; } $html .= "\t\tencrypt_data += 'EncryptData_" . get_class($object->getPage()); if (get_class($object) != "Form" && $object->getFormObject() != null) { $html .= "_" . $object->getFormObject()->getName(); } if (get_class($object) != "Form") { $html .= "_" . $object->getName() . "[]=' + urlencode(encrypt_val));\n"; } else { $html .= "_" . $object->getName() . "[]=' + urlencode(encrypt_val);\n"; } $html .= "\t}\n"; } return $html; }