bool HHVM_FUNCTION(mail, const String& to, const String& subject, const String& message, const String& additional_headers /* = null_string */, const String& additional_parameters /* = null_string */) { // replace \0 with spaces String to2 = string_replace(to, s_zero, s_space); String subject2 = string_replace(subject, s_zero, s_space); String message2 = string_replace(message, s_zero, s_space); String headers2; if (!additional_headers.empty()) { headers2 = string_replace(additional_headers, s_zero, s_space); } String params2; if (!additional_parameters.empty()) { params2 = string_replace(additional_parameters, s_zero, s_space); } to2 = php_trim(to2); subject2 = php_trim(subject2); if (!RuntimeOption::MailForceExtraParameters.empty()) { params2 = string_escape_shell_cmd( RuntimeOption::MailForceExtraParameters.c_str()); } else { params2 = string_escape_shell_cmd(params2.c_str()); } return php_mail(to2, subject2, message2, headers2, params2); }
String HHVM_FUNCTION(escapeshellcmd, const String& command) { if (!command.empty()) { return string_escape_shell_cmd(command.c_str()); } return command; }
bool HHVM_FUNCTION(mail, const String& to, const String& subject, const String& message, const String& additional_headers /* = null_string */, const String& additional_parameters /* = null_string */) { // replace \0 with spaces String to2 = string_replace(to, s_zero, s_space); String subject2 = string_replace(subject, s_zero, s_space); String message2 = string_replace(message, s_zero, s_space); String headers2; if (!additional_headers.empty()) { headers2 = string_replace(additional_headers, s_zero, s_space); headers2 = php_rtrim(headers2); if (php_mail_detect_multiple_crlf(headers2)) { raise_warning("Multiple or malformed newlines found in additional_headers"); return false; } } String params2; if (!additional_parameters.empty()) { params2 = string_replace(additional_parameters, s_zero, s_space); } to2 = php_trim(to2); subject2 = php_trim(subject2); if (!RuntimeOption::MailForceExtraParameters.empty()) { params2 = string_escape_shell_cmd( RuntimeOption::MailForceExtraParameters.c_str()); } else { params2 = string_escape_shell_cmd(params2.c_str()); } return php_mail(to2, subject2, message2, headers2, params2); }