function formbuilder_process_alternate_action($form, $fields) { // Ensure that the post location in the thankyoutext looks like a valid url. $url = trim($form['thankyoutext']); if (!($parts = parse_url($url))) { // Post location does NOT look like a valid url, return an error. return __("Alternate Form Action does NOT look like a valid URL. Please contact the website administrator.", 'formbuilder'); } if (isset($parts['path']) && $parts['path'][0] !== '/') { $parts['path'] = dirname($_SERVER['REQUEST_URI']) . '/' . $parts['path']; } $url = formbuilder_create_url($parts); // Create data array to be sent to the alternate form processing system. $data['name'] = $form['name']; $data['subject'] = $form['subject']; $data['destination_email'] = $form['recipient']; foreach ($fields as $field) { $field_name = $field['field_name']; $field_post = $field['value']; $data[$field_name] = $field_post; } // send a request to example.com (referer = jonasjohn.de) list($header, $content) = formbuilder_curlRequest($url, $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], $data); $thankyoutext = $content; echo "\n<div class='formBuilderSuccess'>" . decode_html_entities($thankyoutext, ENT_NOQUOTES, get_option('blog_charset')) . "</div>"; return false; }
function formbuilder_process_alternate_action($form, $fields) { // Ensure that the post location in the thankyoutext looks like a valid url. $url = trim($form['thankyoutext']); $urlregex = '@^[a-z]{3,5}\\://([a-z0-9\\.\\-\\:]+)([a-z0-9/=]*)([a-z0-9/\\?=]*)@i'; if (!preg_match($urlregex, $url, $regs)) { // Post location does NOT look like a valid url, return an error. return __("Alternate Form Action does NOT look like a valid URL. Please contact the website administrator.", 'formbuilder'); } // Create data array to be sent to the alternate form processing system. $data['name'] = $form['name']; $data['subject'] = $form['subject']; $data['destination_email'] = $form['recipient']; foreach ($fields as $field) { $field_name = $field['field_name']; $field_post = $field['value']; $data[$field_name] = $field_post; } // send a request to example.com (referer = jonasjohn.de) list($header, $content) = formbuilder_curlRequest($url, $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], $data); $thankyoutext = $content; echo "\n<div class='formBuilderSuccess'>" . decode_html_entities($thankyoutext, ENT_NOQUOTES, get_option('blog_charset')) . "</div>"; return false; }