assign('notifications',system_geterr('contact')); if(empty($_POST)) { // new form, we (re)set the session data SmartyValidate::connect($smarty, true); // register our validators SmartyValidate::register_validator('name', 'name', 'notEmpty', false, false, 'trim'); SmartyValidate::register_validator('email', 'email', 'isEmail', true, false, 'trim'); SmartyValidate::register_validator('www', 'url', 'isURL', true, false, 'trim'); SmartyValidate::register_validator('content', 'content', 'notEmpty', false, false); } else { utils_nocache_headers(); // validate after a POST SmartyValidate::connect($smarty); if (!empty($_POST['url']) && strpos($_POST['url'], 'http://')===false) $_POST['url'] = 'http://'.$_POST['url']; // custom hook here!! // we'll use comment actions, anyway if(SmartyValidate::is_valid($_POST) && $arr=contact_form_validate()) { $msg = "Name: \n{$arr['name']} \n\n"; if (isset($arr['email'])) $msg .= "Email: {$arr['email']}\n\n"; if (isset($arr['url'])) $msg .= "WWW: {$arr['url']}\n\n"; $msg .= "Content:\n{$arr['content']}\n"; @utils_mail( ( isset($arr['email'])? $arr['email'] : $this->config['EMAIL'] ), "Contact sent through {$fp_config['general']['title']} ", $msg ); system_seterr('contact', 1); utils_redirect(); } else { $smarty->assign('values', $_POST); } } } function contact_main() { global $smarty; $lang = lang_load('contact'); $smarty->assign('subject', $lang['contact']['head']); $smarty->assign('content', 'shared:contact.tpl'); contact_form(); } function contact_display() { global $smarty; contact_main(); theme_init($smarty); $smarty->display('default.tpl'); unset($smarty); do_action('shutdown'); } system_init(); contact_display(); ?>