public function processPost() { parent::processPost(); // #TODO: User submitted data. Save it to DB, email, etc. copyArray($_POST, $fv, 'ftoken', 'name', 'email', 'optin|checkbox', 'msg'); session_start(); if ($fv['ftoken'] != $_SESSION['ftoken']) { die('Error: invalid form token! Do not submit your form twice.'); } unset($_SESSION['ftoken']); $v = $this->smarty; $v->assign('title', 'Thank you!'); $v->assign(array('name' => sanitizeString($fv['name']), 'email' => sanitizeEmail($fv['email']), 'optin' => $fv['optin'])); $v->assign('inc_content', v('contact_us_done.html')); $this->display($v, v('index.html')); }
public function processPost() { parent::processPost(); session_start(); // #TODO: User submitted data. Save it to DB, email, etc. copyArray($_POST, $fv, 'ftoken', 'name', 'email', 'optin|checkbox', 'msg'); checkFormToken('ftoken_contact_us', $fv['ftoken']); $v = $this->smarty; $v->assign('title', 'Thank you!'); $v->assign(array( 'name' => sanitizeString($fv['name']), 'email' => sanitizeEmail($fv['email']), 'optin' => $fv['optin'] )); $v->assign('inc_content', v('contact_us_done.html')); $this->display($v, v('index.html')); }
/** * Copy (and transform) array items from $sourceArr to $arr * Example: copyArray($_POST, $v, '*'); // copy all fields from submitted Form. */ function copyArray($sourceArr, &$arr) { $params = func_get_args(); // get function args $totalParams = count($params); if ($totalParams < 3) { return; } if (trim($params[2]) == '*') { foreach ($sourceArr as $key => $value) { $arr[$key] = $value; } } else { for ($i = 2; $i < $totalParams; $i++) { $k1 = $params[$i]; $k2 = $params[$i]; if (strpos($k1, '|') !== false) { // when $arr & sourceArr don't have the same columnName (ex: 'businessName=name') $tmp = explode('|', $k1); $k1 = $tmp[0]; $k2 = $tmp[1]; } if ($k2 == 'checkbox') { $arr[$k1] = $sourceArr[$k1] == 'on' ? 1 : 0; // convert HTML Checkbox value to 0/1 (to store to DB) } else { if (strpos($k2, 'df_') !== false) { $dateformat = str_replace('df_', '', $k2); if ($dateformat == 'mysql') { $dateformat = 'Y-m-d'; } $arr[$k1] = date($dateformat, strtotime($sourceArr[$k1])); } else { if (strpos($k2, 'html_decode') !== false) { $arr[$k1] = html_entity_decode($sourceArr[$k1]); } else { if (strpos($k2, 's_') !== false) { switch ($k2) { case 's_s': $arr[$k1] = sanitizeString($sourceArr[$k1]); break; case 's_email': $arr[$k1] = sanitizeEmail($sourceArr[$k1]); break; } } else { if (isset($sourceArr[$k2])) { $arr[$k1] = $sourceArr[$k2]; } else { $arr[$k1] = null; } } } } } } } }