function rfe_front_end_register($atts) { ob_start(); global $current_user; global $wp_roles; global $wpdb; global $error; global $js_shortcode_on_front; /* Check if users can register. */ $registration = get_option('users_can_register'); extract(shortcode_atts(array('forgot' => 0, 'display' => true, 'redirect' => '', 'submit' => 'page', 'create' => '', 'thanks' => '', 'login' => '', 'template' => ''), $atts)); $ordate = ''; $errors = array(); $_SESSION['post'] = get_the_ID(); if ('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['action']) && $_POST['action'] == 'adduser' && wp_verify_nonce($_POST['register_nonce_field'], 'verify_true_registration') && $_POST['formName'] == 'register') { $default_role = get_option('default_role'); $user_pass = ''; if (isset($_POST['password'])) { $user_pass = esc_attr($_POST['password']); } $email = ''; if (isset($_POST['email'])) { $email = trim($_POST['email']); $_SESSION['email'] = $email; } $_SESSION['post'] = get_the_ID(); $_SESSION['optin'] = isset($_POST['optin']) ? $_POST['optin'] : 0; $_SESSION['country'] = isset($_POST['country']) ? $_POST['country'] : ''; $user_name = ''; $first_name = ''; if (isset($_POST['firstname'])) { $first_name = trim($_POST['firstname']); } $last_name = ''; if (isset($_POST['lastname'])) { $last_name = trim($_POST['lastname']); } $userdata = array('user_pass' => $user_pass, 'user_login' => esc_attr($user_name), 'first_name' => esc_attr($first_name), 'last_name' => esc_attr($last_name), 'user_email' => esc_attr($email), 'role' => $default_role); /* if ($_POST['haveaccount'] == 0 && $_POST['createpage'] == 1 && (trim($userdata['user_pass']) == '' || trim($userdata['user_pass']) != trim($_POST['cpassword']))){ $foundError = true; } */ include_once RFE_PLUGIN_DIR . '/lib/functions.php'; $results = array('title' => '', 'firstname' => '', 'lastname' => '', 'email' => '', 'address' => '', 'address2' => '', 'town' => '', 'county' => '', 'postcode' => '', 'packpost' => '', 'createpage' => '', 'corporate' => '', 'haveaccount' => '', 'optin' => 0, 'country' => '', 'heardabout' => '', 'password' => '', 'cpassword' => '', 'tsandcs' => ''); $rules = array('title' => 'notEmpty', 'title_alt' => 'other_title', 'firstname' => 'notEmpty', 'lastname' => 'notEmpty', 'email' => 'email', 'address' => 'notEmpty', 'town' => 'notEmpty', 'postcode' => $_POST['country'] == 'Ireland' ? '' : 'postCode', 'createpage' => 'notEmpty', 'password' => 'length6', 'tsandcs' => 'notEmpty'); $messages = array('title' => 'Please choose your title', 'firstname' => 'Please enter your first name', 'lastname' => 'Please enter your surname', 'email' => "Hmm. There's something wrong with this address. Please check.", 'address' => 'Please enter your address', 'address2' => 'Please enter your address', 'town' => 'Please enter your town', 'postcode' => 'Please enter your postcode', 'packpost' => 'Would you like a fundraising pack', 'createpage' => 'Would you like to create a fundraising page', 'country' => 'ukonly', 'password' => 'Please enter a password', 'tsandcs' => 'You must accept the terms and conditions'); foreach ($results as $key => $value) { $results[$key] = $_POST[$key]; } $errors = validateRFEInputs($results, $rules, $messages); if (count($errors) != 0) { $foundError = true; } /* if (($_POST['country'] != 'United Kingdom' && $_POST['country'] != 'Ireland') && $_POST['createpage'] == 1){ $foundError = true; $errors['country']['message'] = "We're sorry - you can't create a JustGiving page from this country"; } */ //print_R($errors); //print_R($hasJGAccount); if (!$foundError) { //print_R($_POST); //print_R($userdata); //$new_user = wp_insert_user( $userdata ); unset($_POST['password']); unset($_POST['cpassword']); unset($_POST['firstname']); unset($_POST['lastname']); unset($_POST['action']); unset($_POST['register_nonce_field']); unset($_POST['formName']); unset($_POST['submit']); unset($_POST['_wp_http_referer']); if ($results['country'] == 'Ireland') { $results['postcode'] = 'n/a'; } $wpdb->insert($wpdb->prefix . "registrants", array('title' => $results['title'] == 'Other' && trim($_POST['other_title']) !== '' ? $_POST['other_title'] : $results['title'], 'firstname' => $results['firstname'], 'lastname' => $results['lastname'], 'dob' => $results['dob'], 'email' => $results['email'], 'address' => isset($results['address']) ? $results['address'] : '', 'address2' => isset($results['address2']) ? $results['address2'] : '', 'towncity' => isset($results['town']) ? $results['town'] : '', 'county' => isset($results['county']) ? $results['county'] : '', 'postcode' => isset($results['postcode']) ? $results['postcode'] : '', 'packbypost' => isset($results['packpost']) ? $results['packpost'] : '', 'cpage' => isset($results['createpage']) ? $results['createpage'] : '', 'corporate' => isset($results['corporate']) ? $results['corporate'] : '', 'hasaccount' => isset($results['haveaccount']) ? $results['haveaccount'] : '', 'userEnc' => base64_encode($results['email'] . ':' . trim($userdata['user_pass'])), 'pageurl' => '', 'signupdate' => time(), 'optin' => isset($results['optin']) ? $results['optin'] : 0, 'country' => isset($results['country']) ? $results['country'] : '', 'heardabout' => isset($results['heardabout']) ? $results['heardabout'] : '', 'tsandcs' => $_POST['tandcs']), array('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d', '%d', '%s', '%s', '%s', '%d')); if ($_POST['haveaccount'] == 0 && trim($userdata['user_pass']) != '') { if ($_POST['createpage'] == 1) { $_SESSION['email'] = trim($results['email']); $_SESSION['userEnc'] = base64_encode($results['email'] . ':' . trim($userdata['user_pass'])); //create a page $redirectLink = trim($create); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (rfe_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //echo 'goto' .$redirectLink; //$current = print_R('goto a' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); wp_redirect($redirectLink); exit; } else { //echo $thanks; // -> send stright to thanks - send email $redirectLink = trim($thanks); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (rfe_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //$current = print_R('goto b' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); $vars = array('firstname' => $results['firstname']); sendthanks($results['email'], $results['firstname'] . ' ' . $results['lastname'], $vars, 0); wp_redirect($redirectLink); exit; } } else { if ($_POST['createpage'] == 1) { $_SESSION['email'] = trim($results['email']); //login with the account you said you had // even though you don't have an account on this email // cos we'd have found it by now $redirectLink = trim($login); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (rfe_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //$current = print_R('goto c' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); wp_redirect($redirectLink); exit; } else { //echo 'meh'; //echo $thanks; /* what to do if login is incorrect but wanted to create a page ?*/ // -> send stright to thanks //echo $thanks; $redirectLink = trim($thanks); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (rfe_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //echo $redirectLink; $vars = array('firstname' => $results['firstname']); sendthanks($results['email'], $results['firstname'] . ' ' . $results['lastname'], $vars, 0); //$current = print_R('goto d' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); wp_redirect($redirectLink); exit; } } $redirectLink = trim($redirect); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (rfe_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } wp_redirect($redirectLink); exit; } } // if ( $registration || current_user_can( 'create_users' ) ) : require_once RFE_PLUGIN_DIR . '/lib/Smarty.class.php'; $smarty = new Smarty(); $smarty->template_dir = RFE_PLUGIN_DIR . '/smarty/templates/'; $smarty->compile_dir = RFE_PLUGIN_DIR . '/smarty/templates_c/'; $smarty->config_dir = RFE_PLUGIN_DIR . '/smarty/configs/'; $smarty->cache_dir = RFE_PLUGIN_DIR . '/smarty/cache/'; $smarty->assign('formurl', ''); $smarty->assign('Errors', $errors); if (!isset($_POST['country']) || $_POST['country'] == '') { $_POST['country'] = "United Kingdom"; } $smarty->assign('countries', $countries); $smarty->assign('maxdate', date('Y-m-d')); if (isset($_POST['dob'])) { $_POST['dob'] = $ordate; } $smarty->assign('Get', $_GET); $smarty->assign('Post', $_POST); $smarty->assign('nonce', wp_nonce_field('verify_true_registration', 'register_nonce_field', true, false)); $smarty->assign('home', get_home_url()); $smarty->assign('settings', $wpjg_generalSettings); if ($template != '') { $smarty->display($template); } else { $smarty->display('register.html'); } $output = ob_get_contents(); ob_end_clean(); return $output; }
function jg_front_end_register($atts) { ob_start(); global $current_user; global $wp_roles; global $wpdb; global $error; global $js_shortcode_on_front; /* Check if users can register. */ $registration = get_option('users_can_register'); extract(shortcode_atts(array('forgot' => 0, 'display' => true, 'redirect' => '', 'submit' => 'page', 'create' => '', 'thanks' => '', 'login' => '', 'template' => ''), $atts)); $ordate = ''; $errors = array(); if ('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['action']) && $_POST['action'] == 'adduser' && wp_verify_nonce($_POST['register_nonce_field'], 'verify_true_registration') && $_POST['formName'] == 'register') { $default_role = get_option('default_role'); $user_pass = ''; if (isset($_POST['password'])) { $user_pass = esc_attr($_POST['password']); } $email = ''; if (isset($_POST['email'])) { $email = trim($_POST['email']); $_SESSION['email'] = $email; } $_SESSION['optin'] = isset($_POST['optin']) ? $_POST['optin'] : 0; $_SESSION['country'] = isset($_POST['country']) ? $_POST['country'] : ''; $user_name = jg_generate_random_username($email); $first_name = ''; if (isset($_POST['firstname'])) { $first_name = trim($_POST['firstname']); } $last_name = ''; if (isset($_POST['lastname'])) { $last_name = trim($_POST['lastname']); } $userdata = array('user_pass' => $user_pass, 'user_login' => esc_attr($user_name), 'first_name' => esc_attr($first_name), 'last_name' => esc_attr($last_name), 'user_email' => esc_attr($email), 'role' => $default_role); /* if ($_POST['haveaccount'] == 0 && $_POST['createpage'] == 1 && (trim($userdata['user_pass']) == '' || trim($userdata['user_pass']) != trim($_POST['cpassword']))){ $foundError = true; } */ include_once JG_PLUGIN_DIR . '/lib/functions.php'; $results = array('title' => '', 'firstname' => '', 'lastname' => '', 'email' => '', 'address' => '', 'address2' => '', 'town' => '', 'county' => '', 'postcode' => '', 'packpost' => '', 'createpage' => '', 'haveaccount' => '', 'optin' => 0, 'country' => '', 'heardabout' => '', 'password' => '', 'cpassword' => '', 'tsandcs' => ''); $rules = array('title' => 'notEmpty', 'title_alt' => 'other_title', 'firstname' => 'notEmpty', 'lastname' => 'notEmpty', 'email' => 'email', 'address' => 'notEmpty', 'town' => 'notEmpty', 'postcode' => $_POST['country'] == 'Ireland' ? '' : 'postCode', 'createpage' => 'notEmpty', 'country' => 'ukonly', 'password' => 'length6', 'tsandcs' => 'notEmpty'); $messages = array('title' => 'Please choose your title', 'firstname' => 'Please enter your first name', 'lastname' => 'Please enter your surname', 'email' => "Hmm. There's something wrong with this address. Please check.", 'address' => 'Please enter your address', 'address2' => 'Please enter your address', 'town' => 'Please enter your town', 'postcode' => 'Please enter your postcode', 'packpost' => 'Would you like a fundraising pack', 'createpage' => 'Would you like to create a fundraising page', 'country' => 'ukonly', 'password' => 'Please enter a password', 'tsandcs' => 'You must accept the terms and conditions'); foreach ($results as $key => $value) { $results[$key] = $_POST[$key]; } $errors = validateJGInputs($results, $rules, $messages); if (count($errors) != 0) { $foundError = true; } if ($_POST['country'] != 'United Kingdom' && $_POST['country'] != 'Ireland' && $_POST['createpage'] == 1) { $foundError = true; $errors['country']['message'] = "We're sorry - you can't create a JustGiving page from this country"; } include_once JG_PLUGIN_DIR . '/lib/JustGivingClient.php'; $wpjg_generalSettings = get_option('jg_general_settings'); $client = new JustGivingClient($wpjg_generalSettings['ApiLocation'], $wpjg_generalSettings['ApiKey'], $wpjg_generalSettings['ApiVersion'], $wpjg_generalSettings['TestUsername'], $wpjg_generalSettings['TestValidPassword'], true); //print_R($errors); $hasJGAccount = $client->Account->IsEmailRegistered(trim($results['email'])); if ($hasJGAccount) { $errors['email']['message'] = 'A JustGiving account exists for that email address'; $foundError = true; } //print_R($errors); //print_R($hasJGAccount); if (!$foundError) { if ((int) $wpjg_generalSettings['lolagrove'] == 1 && isset($_SESSION['lolagrove'])) { //from=lolagrove&id=1234.567&sub_id=subid1&callback_id=callbackid1 $lolagrove = json_decode($_SESSION['lolagrove']); $dumpdata = array('id' => $lolagrove->id, 'email' => $results['email'], 'title' => $results['title'] == 'Other' && trim($_POST['other_title']) !== '' ? $_POST['other_title'] : $results['title'], 'firstname' => $results['firstname'], 'lastname' => $results['lastname'], 'address1' => isset($results['address']) ? $results['address'] : '', 'address2' => isset($results['address2']) ? $results['address2'] : '', 'towncity' => isset($results['town']) ? $results['town'] : '', 'postcode' => isset($results['postcode']) ? $results['postcode'] : '', 'timestamp' => date('YmdHis', time()), 'terms' => 'y', 'sub_id' => $lolagrove->sub_id, 'ipaddress' => get_jgip(), 'callback_id' => $lolagrove->callback_id, 'supplier_lead_id' => '', 'securekey' => '1c7c35d9-d962-4f6a-be83-d826d9d8f72f'); $lurl = 'https://v3.lolagrove.com/data.ashx?'; $qstring = http_build_query($dumpdata); $res = wp_remote_get($lurl . $qstring); //error_log('lola = '.$lurl.$qstring); //error_log('localret = '.print_R($res, true)); } /* https://v3.lolagrove.com/data.ashx?id=12432.2724&email=demo@lolagrove.com&title=Mr&firstname=Robin&lastname=Caller&address1=7 Brayfield Terrace&address2=Barnsbury&towncity=London&postcode=N1 1HZ×tamp=20101231235959&terms=y&sub_id=abc123&ipaddress=127.0.0.1&callback_id=abc123&supplier_lead_id=xxx&securekey=1c7c35d9-d962-4f6a-be83-d826d9d8f72f */ //print_R($_POST); //print_R($userdata); //$new_user = wp_insert_user( $userdata ); unset($_POST['password']); unset($_POST['cpassword']); unset($_POST['firstname']); unset($_POST['lastname']); unset($_POST['action']); unset($_POST['register_nonce_field']); unset($_POST['formName']); unset($_POST['submit']); unset($_POST['_wp_http_referer']); if ($results['country'] == 'Ireland') { $results['postcode'] = 'n/a'; } $wpdb->insert($wpdb->prefix . "jgusers", array('title' => $results['title'] == 'Other' && trim($_POST['other_title']) !== '' ? $_POST['other_title'] : $results['title'], 'firstname' => $results['firstname'], 'lastname' => $results['lastname'], 'dob' => $results['dob'], 'email' => $results['email'], 'address' => isset($results['address']) ? $results['address'] : '', 'address2' => isset($results['address2']) ? $results['address2'] : '', 'towncity' => isset($results['town']) ? $results['town'] : '', 'county' => isset($results['county']) ? $results['county'] : '', 'postcode' => isset($results['postcode']) ? $results['postcode'] : '', 'packbypost' => isset($results['packpost']) ? $results['packpost'] : '', 'cpage' => isset($results['createpage']) ? $results['createpage'] : '', 'hasaccount' => isset($results['haveaccount']) ? $results['haveaccount'] : '', 'userEnc' => base64_encode($results['email'] . ':' . trim($userdata['user_pass'])), 'pageurl' => '', 'signupdate' => time(), 'eventstart' => isset($_POST['eventstart']) ? strtotime($_POST['eventstart']) : '', 'eventend' => isset($_POST['eventend']) ? strtotime($_POST['eventend']) : '', 'optin' => isset($results['optin']) ? $results['optin'] : 0, 'country' => isset($results['country']) ? $results['country'] : '', 'heardabout' => isset($results['heardabout']) ? $results['heardabout'] : '', 'tsandcs' => $_POST['tandcs'])); if ($hasJGAccount) { /* if login JG change password */ if ($_POST['createpage'] == 1) { //create a page $_SESSION['email'] = trim($results['email']); $_SESSION['userEnc'] = base64_encode($results['email'] . ':' . trim($userdata['user_pass'])); $redirectLink = trim($login); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } wp_redirect($redirectLink); exit; } elseif (intval(trim($redirect)) != 0) { $redirectLink = get_permalink($redirect); wp_redirect($redirectLink); exit; } else { // -> send stright to thanks - send email $redirectLink = trim($thanks); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } wp_redirect($redirectLink); $vars = array('firstname' => $results['firstname']); sendthanks($results['email'], $results['firstname'] . ' ' . $results['lastname'], $vars, 0); exit; } } else { error_log('register 293 ' . print_R($_POST, true)); error_log('register 293 ' . print_R($userdata, true)); if ($_POST['haveaccount'] == 0 && trim($userdata['user_pass']) != '') { //include_once(JG_PLUGIN_DIR.'/lib/ApiClients/Model/CreateAccountRequest.php'); $request = array(); $request['email'] = trim($results['email']); $request['firstName'] = $results['firstname']; $request['lastName'] = $results['lastname']; $request['password'] = trim($userdata['user_pass']); $request['title'] = $results['title'] == 'Other' && trim($_POST['other_title']) !== '' ? $_POST['other_title'] : $results['title']; $request['address']['line1'] = trim($results['address']); $request['address']['line2'] = trim($results['address2']); $request['address']['countyOrState'] = trim($results['county']); $request['address']['townOrCity'] = trim($results['town']); $request['address']['postcodeOrZipcode'] = trim($results['postcode']); $request['address']['country'] = trim($results['country']); $request['acceptTermsAndConditions'] = true; //error_log(print_R($request, true)); $response = $client->Account->Create($request); //$current = print_R($_POST, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); $ret = $client->Account->GetUser(base64_encode($request['email'] . ':' . $request['password'])); error_log('getuser register 315 ' . print_R($ret, true)); if ($ret) { $wpdb->update($wpdb->prefix . "jgusers", array('userid' => intval($ret->accountId)), array('email' => $request['email'])); } if ($_POST['createpage'] == 1) { $_SESSION['email'] = trim($results['email']); $_SESSION['userEnc'] = base64_encode($results['email'] . ':' . trim($userdata['user_pass'])); //create a page $redirectLink = trim($create); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //echo 'goto' .$redirectLink; //$current = print_R('goto a' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); wp_redirect($redirectLink); exit; } else { //echo $thanks; // -> send stright to thanks - send email $redirectLink = trim($thanks); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //$current = print_R('goto b' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); $vars = array('firstname' => $results['firstname']); sendthanks($results['email'], $results['firstname'] . ' ' . $results['lastname'], $vars, 0); wp_redirect($redirectLink); exit; } } else { if ($_POST['createpage'] == 1) { $_SESSION['email'] = trim($results['email']); //login with the account you said you had // even though you don't have an account on this email // cos we'd have found it by now $redirectLink = trim($login); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //$current = print_R('goto c' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); wp_redirect($redirectLink); exit; } else { //echo 'meh'; //echo $thanks; /* what to do if login is incorrect but wanted to create a page ?*/ // -> send stright to thanks //echo $thanks; $redirectLink = trim($thanks); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } //echo $redirectLink; $vars = array('firstname' => $results['firstname']); sendthanks($results['email'], $results['firstname'] . ' ' . $results['lastname'], $vars, 0); //$current = print_R('goto d' .$redirectLink, true); //file_put_contents('curldata.txt', $current, FILE_APPEND); wp_redirect($redirectLink); exit; } } } $redirectLink = trim($redirect); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } wp_redirect($redirectLink); exit; } } // if ( $registration || current_user_can( 'create_users' ) ) : require_once JG_PLUGIN_DIR . '/lib/Smarty.class.php'; $smarty = new Smarty(); $smarty->template_dir = JG_PLUGIN_DIR . '/smarty/templates/'; $smarty->compile_dir = JG_PLUGIN_DIR . '/smarty/templates_c/'; $smarty->config_dir = JG_PLUGIN_DIR . '/smarty/configs/'; $smarty->cache_dir = JG_PLUGIN_DIR . '/smarty/cache/'; $smarty->assign('formurl', jg_curpageurl()); $smarty->assign('Errors', $errors); include_once JG_PLUGIN_DIR . '/lib/JustGivingClient.php'; $wpjg_generalSettings = get_option('jg_general_settings'); $client = new JustGivingClient($wpjg_generalSettings['ApiLocation'], $wpjg_generalSettings['ApiKey'], $wpjg_generalSettings['ApiVersion'], $wpjg_generalSettings['TestUsername'], $wpjg_generalSettings['TestValidPassword']); $countries = get_transient('justgiving_countries'); if (DEBUG) { $countries = NULL; } if (!$countries) { $countries = $client->Country->GetCountries(); } //print_r($countries); if (!DEBUG) { set_transient('justgiving_countries', $countries, 60 * 60 * 12); // 1/2 day storage } include_once JG_PLUGIN_DIR . '/lib/functions.php'; if (!isset($_POST['country']) || $_POST['country'] == '') { $_POST['country'] = "United Kingdom"; } $smarty->assign('countries', $countries); $smarty->assign('maxdate', date('Y-m-d')); if (isset($_POST['dob'])) { $_POST['dob'] = $ordate; } $smarty->assign('Get', $_GET); $smarty->assign('Post', $_POST); $smarty->assign('nonce', wp_nonce_field('verify_true_registration', 'register_nonce_field', true, false)); $smarty->assign('home', get_home_url()); $smarty->assign('settings', $wpjg_generalSettings); if ($template != '') { $smarty->display($template); } else { $smarty->display('register.html'); } $output = ob_get_contents(); ob_end_clean(); return $output; }
function jg_front_end_create_page($atts) { wp_enqueue_script('jg_pagesearch', JG_PLUGIN_URL . '/js/jgacsearch.js', array('jquery', 'jquery-ui-autocomplete'), '1', true); wp_localize_script('jg_pagesearch', 'JGSearch', array('url' => admin_url('admin-ajax.php'))); if (session_id() == '' || !isset($_SESSION)) { // session isn't started session_start(); } ob_start(); global $current_user; global $wp_roles; global $wpdb; global $error; global $js_shortcode_on_front; extract(shortcode_atts(array('paid' => 0, 'forgot' => 0, 'logout' => 0, 'display' => true, 'redirect' => '', 'teampage' => '', 'submit' => 'page', 'create' => '', 'thanks' => '', 'advocate' => '', 'template' => ''), $atts)); $user = ''; $pass = ''; $errors = array(); //print_r($_SESSION); if (trim($_SESSION['userEnc']) == '') { $redirectLink = trim($forgot); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } wp_redirect($redirectLink); exit; } $wpjg_generalSettings = get_option('jg_general_settings'); $result = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}jgusers WHERE `userEnc`='" . trim($_SESSION['userEnc']) . "';", ARRAY_A); if (trim($result['pageurl']) != '' && intval(trim($result['pageurl'])) != 0) { if (!isset($result['paidaccess']) && $wpjg_generalSettings['paidaccess'] == 1 || $result['paidaccess'] == 0 && $wpjg_generalSettings['paidaccess'] == 1) { $redirectLink = trim($paid); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } elseif (trim($teampage) !== '') { $redirectLink = trim($teampage); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } $redirectLink = parse_url($redirectLink, PHP_URL_QUERY) ? $redirectLink . '&team=' . $_POST['jointeam'] : rtrim($redirectLink, '?') . '?team=' . $_POST['jointeam']; } elseif (trim($redirect) !== '') { $redirectLink = trim($redirect); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } elseif (trim($advocate) !== '' && $_POST['advocate'] == 1) { $redirectLink = trim($advocate); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } else { $redirectLink = trim($thanks); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } wp_redirect($redirectLink); exit; } include_once JG_PLUGIN_DIR . '/lib/JustGivingClient.php'; $client = new JustGivingClient($wpjg_generalSettings['ApiLocation'], $wpjg_generalSettings['ApiKey'], $wpjg_generalSettings['ApiVersion'], $wpjg_generalSettings['TestUsername'], $wpjg_generalSettings['TestValidPassword']); $result = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}jgusers WHERE `userEnc`='" . trim($_SESSION['userEnc']) . "'"); //if (intval($wpjg_generalSettings['Event']) == $wpjg_generalSettings['Event']) echo 'a'; $suggestions = array(); if ('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['action']) && $_POST['action'] == 'createpage' && wp_verify_nonce($_POST['createpage_nonce_field'], 'verify_true_create') && $_POST['formName'] == 'createpage') { include_once JG_PLUGIN_DIR . '/lib/functions.php'; $results = array('jointeam' => '', 'pagetitle' => '', 'tsandcs' => '', 'pageshortname' => '', 'packbypost' => '', 'heardabout' => '', 'work' => '', 'advocate' => '', 'dob' => ''); $rules = array('pagetitle' => 'notEmpty', 'tsandcs' => 'notEmpty', 'pageshortname' => 'url'); $messages = array('jointeam' => 'Please choose your team', 'pagetitle' => 'Please enter your page title', 'tsandcs' => 'You must accept the terms and conditions', 'pageshortname' => 'What is the address of your JustGiving fundraising page'); foreach ($results as $key => $value) { $results[$key] = $_POST[$key]; } $errors = validateJGInputs($results, $rules, $messages); if (count($errors) != 0) { $foundError = true; } if (!$founderror) { $pageExists = $client->Page->IsShortNameRegistered($_POST['pageshortname']); //file_put_contents('/var/www/html/test6/PHP_errors.log', (int)$pageExists , FILE_APPEND); /*create page*/ if (!$pageExists) { //file_put_contents('/var/www/html/test6/PHP_errors.log', 'in - no page' , FILE_APPEND); $targetAmount = $wpjg_generalSettings['targetAmount']; if (trim($_POST['targetch']) == 'var' && isset($_POST['target']) && is_numeric($_POST['target'])) { $targetAmount = $_POST['target']; } elseif (is_numeric($_POST['targetch'])) { $targetAmount = $_POST['targetch']; } /* $ordate = $_POST['dob']; $pos = strpos($_POST['dob'], '-'); if (MyCheckDate($_POST['dob'])){ //american or off a date field list( $year , $month , $day ) = explode('-',$_POST['dob']); $_POST['dob'] = date('d-m-Y', mktime(0, 0, 0, $month, $day, $year)); } $cc5 = array( $_POST['dob'],$_POST['heardabout'],$_POST['work'],($_POST['advocate'] == 1)? 'y':'n','y' ); $dto = array( 'currency' => ($_SESSION['country'] == 'Ireland') ? 'EUR' : 'GBP', 'pageShortName' => $_POST['pageshortname'], 'charityId' => $wpjg_generalSettings['Charity'], 'eventId' => $wpjg_generalSettings['Event'], 'justGivingOptIn' => ((bool) $_POST['jgoptin']), 'charityOptIn' => ((bool) $_POST['charityoptin']), 'pageTitle' => stripslashes($_POST['pagetitle']), 'targetAmount' => $targetAmount , 'charityFunded' => false, "customCodes" => array( "customCode5" => implode('|', $cc5), "customCode6" => (strpos($wpjg_generalSettings['cc6'],'(data)') !== false) ? stripslashes($_POST[str_replace('(data)','',$wpjg_generalSettings['cc6'] )]) : stripslashes($wpjg_generalSettings['cc6']) ) ); */ $dto = array('currency' => $_SESSION['country'] == 'Ireland' ? 'EUR' : 'GBP', 'pageShortName' => $_POST['pageshortname'], 'charityId' => $wpjg_generalSettings['Charity'], 'justGivingOptIn' => (bool) $_POST['jgoptin'], 'charityOptIn' => (bool) $_POST['charityoptin'], 'pageTitle' => stripslashes($_POST['pagetitle']), 'targetAmount' => $targetAmount, 'charityFunded' => false, "customCodes" => array("customCode1" => strpos($wpjg_generalSettings['cc1'], '(data)') !== false ? stripslashes($_POST[str_replace('(data)', '', $wpjg_generalSettings['cc1'])]) : stripslashes($wpjg_generalSettings['cc1']), "customCode2" => strpos($wpjg_generalSettings['cc2'], '(data)') !== false ? stripslashes($_POST[str_replace('(data)', '', $wpjg_generalSettings['cc2'])]) : stripslashes($wpjg_generalSettings['cc2']), "customCode3" => strpos($wpjg_generalSettings['cc3'], '(data)') !== false ? stripslashes($_POST[str_replace('(data)', '', $wpjg_generalSettings['cc3'])]) : stripslashes($wpjg_generalSettings['cc3']), "customCode4" => strpos($wpjg_generalSettings['cc4'], '(data)') !== false ? stripslashes($_POST[str_replace('(data)', '', $wpjg_generalSettings['cc4'])]) : stripslashes($wpjg_generalSettings['cc4']), "customCode5" => strpos($wpjg_generalSettings['cc5'], '(data)') !== false ? stripslashes($_POST[str_replace('(data)', '', $wpjg_generalSettings['cc5'])]) : stripslashes($wpjg_generalSettings['cc5']), "customCode6" => strpos($wpjg_generalSettings['cc6'], '(data)') !== false ? stripslashes($_POST[str_replace('(data)', '', $wpjg_generalSettings['cc6'])]) : stripslashes($wpjg_generalSettings['cc6']))); if (trim($wpjg_generalSettings['Event']) != '' && intval($wpjg_generalSettings['Event']) == $wpjg_generalSettings['Event']) { $dto['eventId'] = $wpjg_generalSettings['Event']; } elseif (trim($wpjg_generalSettings['Event']) != '') { //Birthday Wedding OtherCelebration InMemory $dto['activityType'] = $wpjg_generalSettings['Event']; date_default_timezone_set("UTC"); $_POST['eventDate'] = strtotime($_POST['eventDate-date'] . ' ' . $_POST['eventDate-time']); $dto['eventDate'] = "\\/Date(" . $_POST['eventDate'] . "\\/"; $dto['eventName'] = $_POST['eventName']; } else { $dto['activityType'] = $_POST['eventType']; date_default_timezone_set("UTC"); $_POST['eventDate'] = strtotime($_POST['eventDate-date'] . ' ' . $_POST['eventDate-time']); $dto['eventDate'] = "\\/Date(" . $_POST['eventDate'] . "\\/"; $dto['eventName'] = $_POST['eventName']; } if (strlen($wpjg_generalSettings['imageurl']) > 0) { $url = !jg_check_missing_http($wpjg_generalSettings['imageurl']) ? home_url() . $wpjg_generalSettings['imageurl'] : $wpjg_generalSettings['imageurl']; $dto['images'] = array(array("caption" => get_bloginfo('name'), "isDefault" => true, "url" => $url)); } if (strlen($wpjg_generalSettings['pageStory']) > 0) { $dto['pageStory'] = $wpjg_generalSettings['pageStory']; } if (strlen($wpjg_generalSettings['pageSummaryWhat']) > 0) { $dto['pageSummaryWhat'] = $wpjg_generalSettings['pageSummaryWhat']; } if (strlen($wpjg_generalSettings['pageSummaryWhy']) > 0) { $dto['pageSummaryWhy'] = $wpjg_generalSettings['pageSummaryWhy']; } //$cntent = print_R($_SESSION, true); //file_put_contents( '/var/www/html/test6/PHP_errors.log' , $cntent, FILE_APPEND ); //$cntent = print_R($dto, true); //file_put_contents('/var/www/html/test6/PHP_errors.log', $cntent , FILE_APPEND); $page = $client->Page->Create(trim($_SESSION['userEnc']), $dto); /*update user with url*/ if (!$page) { $errors['shortname']['message'] = 'Could not create page at JustGiving'; } //$cntent = print_R($page, true); //file_put_contents( '/var/www/html/test6/PHP_errors.log' , $cntent, FILE_APPEND ); //$cntent = print_R($_SESSION, true); //file_put_contents( '/var/www/html/test6/PHP_errors.log' , $cntent, FILE_APPEND ); $uid = 0; if ($page) { $result = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}jgusers WHERE `userEnc`='" . trim($_SESSION['userEnc']) . "'", ARRAY_A); if (count($result) > 0) { //file_put_contents( '/xampp/htdocs/cruk_undie/out.txt' , 'update', FILE_APPEND ); $wpdb->update($wpdb->prefix . "jgusers", array('pageurl' => $page->next->uri, 'pageid' => $page->pageId, 'optin' => $_POST['charityoptin'], 'tsandcs' => $_POST['tandcs'], 'packbypost' => $_POST['packbypost'], 'heardabout' => $_POST['heardabout'], 'eventstart' => $_POST['eventstart'], 'eventend' => $_POST['eventend'], 'work' => $_POST['work'], 'worktown' => $_POST['worktown'], 'workcountry' => $_POST['workcountry'], 'workpostcode' => $_POST['workpostcode'], 'workwhere' => $_POST['workwhere'], 'dofereln' => $_POST['dofereln'], 'dofegold' => $_POST['dofegold'], 'dofeevent' => $_POST['dofeevent'], 'tshirt' => $_POST['tshirt'], 'discountcode' => $_POST['discountcode'], 'region' => $_POST['region'], 'signoff' => $_POST['signoff'], 'dob' => $_POST['dob']), array('userEnc' => trim($_SESSION['userEnc']))); //$cntent = print_R($wpdb->queries , true); //file_put_contents( '/xampp/htdocs/cruk_undie/out.txt' , $cntent, FILE_APPEND ); $uid = $result['id']; } else { //file_put_contents( '/xampp/htdocs/cruk_undie/out.txt' , 'insert', FILE_APPEND ); $wpdb->insert($wpdb->prefix . "jgusers", array('email' => trim($_SESSION['email']), 'userEnc' => trim($_SESSION['userEnc']), 'pageurl' => $page->next->uri, 'pageid' => $page->pageId, 'signupdate' => time(), 'optin' => $_POST['charityoptin'], 'tsandcs' => $_POST['tandcs'], 'packbypost' => $_POST['packbypost'], 'eventstart' => $_POST['eventstart'], 'eventend' => $_POST['eventend'], 'work' => $_POST['work'], 'worktown' => $_POST['worktown'], 'workcountry' => $_POST['workcountry'], 'workpostcode' => $_POST['workpostcode'], 'workwhere' => $_POST['workwhere'], 'dofereln' => $_POST['dofereln'], 'dofegold' => $_POST['dofegold'], 'dofeevent' => $_POST['dofeevent'], 'tshirt' => $_POST['tshirt'], 'discountcode' => $_POST['discountcode'], 'region' => $_POST['region'], 'signoff' => $_POST['signoff'], 'heardabout' => $_POST['heardabout'], 'advocate' => $_POST['advocate'], 'dob' => $_POST['dob'])); $uid = $wpdb->insert_id; } //$sql = "INSERT INTO {$wpdb->prefix}jgpages (pageid,userid,next_rel,next_uri,next_type,short,signOnUrl) VALUES (%s,%s,%s,%s,%s,%s,%s) ON DUPLICATE KEY UPDATE userid = %s, next_rel = %s, next_uri = %s, next_type = %s, short = %s, signOnUrl = %s"; //var_dump($sql); // debug //$sql = $wpdb->prepare($sql,$page->pageId,$result['id'],$page->next->rel,$page->next->uri,$page->next->type,$short,$page->signOnUrl,$result['id'],$page->next->rel,$page->next->uri,$page->next->type,$short,$page->signOnUrl); //var_dump($sql); // debug //$wpdb->query($sql); //file_put_contents( '/xampp/htdocs/cruk_undie/out.txt' , "SELECT * FROM wp_jgusers WHERE `userEnc`='".trim($_SESSION['userEnc'])."'", FILE_APPEND ); //$cntent = print_R($result, true); //file_put_contents( '/xampp/htdocs/cruk_undie/out.txt' , $cntent, FILE_APPEND ); // echo 'b'; // add to team if chosen // $cntent = print_R($_POST, true); // file_put_contents( '/xampp/htdocs/cruk_undie/out.txt' , $cntent, FILE_APPEND ); $vars = array(); $rsgeneralSettings = get_option('jg_general_settings'); if (isset($_POST['jointeam']) && trim($_POST['jointeam']) !== '') { //echo 'b'; $user = array(); $user['pageShortName'] = $dto['pageShortName']; $client->Team->Join($_POST['jointeam'], trim($_SESSION['userEnc']), $user); $teamqs = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}jgteams WHERE `teamshortname`='" . trim($_POST['jointeam']) . "' "); $rsgeneralSettings = get_option('jg_general_settings'); $vars = array('firstname' => $result['firstname'], 'url' => $page->next->uri, 'editurl' => $page->signOnUrl, 'donateurl' => $page->next->uri . "/4w350m3/donate/?amount=5.00&reference=undie", 'teamid' => $teamqs->id, 'teamname' => $teamqs->teamname, 'teamshortname' => $teamqs->teamshortname, 'teamstory' => $teamqs->teamstory, 'teamfbpage' => $teamqs->teamfbpage, 'teamtwpage' => $teamqs->teamtwpage, 'website' => get_home_url('/'), 'fbappid' => $rsgeneralSettings['fbappid']); $members = array(); $members = json_decode($teamqs->teammembers, true); $members[] = array('id' => $uid, 'numberOfDonations' => 0, 'pageShortName' => $dto['pageShortName'], 'pageTitle' => $dto['pageTitle'], 'ref' => '', 'totalAmountRaised' => 0); $wpdb->update($wpdb->prefix . "jgteams", array('teammembers' => json_encode($members)), array('teamshortname' => trim($_POST['jointeam']))); } else { $vars = array('firstname' => $result['firstname'], 'url' => $page->next->uri, 'editurl' => $page->signOnUrl, 'donateurl' => $page->next->uri . "/4w350m3/donate/?amount=5.00&reference=undie", 'website' => get_home_url('/'), 'fbappid' => $rsgeneralSettings['fbappid']); } $vars['website'] = get_home_url(); $vars['website_enc'] = urlencode($vars['website']); $useracc = $client->Account->GetUser(trim($_SESSION['userEnc'])); if (trim($vars['firstname']) == '') { $vars['firstname'] = $useracc->firstName; $result['firstname'] = $useracc->firstName; $result['lastname'] = $useracc->lastName; } $email = $_SESSION['email']; if (trim($email) == '') { $email = $useracc->email; } if (trim($advocate) !== '' && $_POST['advocate'] == 1) { $ba = sendadvocate(trim($email), $result['firstname'] . ' ' . $result['lastname'], $vars, 1); } else { $ba = sendthanks(trim($email), $result['firstname'] . ' ' . $result['lastname'], $vars, 1); } // -> send straight to thanks $redirectLink = ''; if (!isset($result['paidaccess']) && $wpjg_generalSettings['paidaccess'] == 1 || $result['paidaccess'] == 0 && $wpjg_generalSettings['paidaccess'] == 1) { $redirectLink = trim($paid); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } elseif (trim($teampage) !== '') { $redirectLink = trim($teampage); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } $redirectLink = parse_url($redirectLink, PHP_URL_QUERY) ? $redirectLink . '&team=' . $_POST['jointeam'] : rtrim($redirectLink, '?') . '?team=' . $_POST['jointeam']; } elseif (trim($redirect) !== '') { $redirectLink = trim($redirect); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } elseif (trim($advocate) !== '' && $_POST['advocate'] == 1) { $redirectLink = trim($advocate); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } else { $redirectLink = trim($thanks); if (intval($redirectLink) != 0) { $redirectLink = get_permalink($redirectLink); } else { if (!jg_check_missing_http($redirectLink)) { $redirectLink = 'http://' . $redirectLink; } } } $redirectLink = parse_url($redirectLink, PHP_URL_QUERY) ? $redirectLink . '&nexturl=' . urlencode($page->next->uri) : rtrim($redirectLink, '?') . '?nexturl=' . urlencode($page->next->uri); //echo $redirectlink; exit; //$cntent = print_R(array('redir'=>$redirect,'thanks'=>$thanks,'page'=>$page,'redired'=>$redirectlink), true); //file_put_contents( '/var/www/html/test6/PHP_errors.log' ,$redirectLink, FILE_APPEND ); //file_put_contents('curldata.txt', $redirectLink , FILE_APPEND); wp_redirect($redirectLink); exit; } } else { if (isset($_POST['pageshortname'])) { $pages = $client->Page->SuggestPageShortNames($_POST['pageshortname']); foreach ($pages->Names as $post) { $suggestion = array(); $suggestion['label'] = esc_html($post); $suggestions[] = $suggestion; } } } $errors['shortname']['message'] = "Someone’s already set sail with that name. Try another."; } } require_once JG_PLUGIN_DIR . '/lib/Smarty.class.php'; $smarty = new Smarty(); $smarty->template_dir = JG_PLUGIN_DIR . '/smarty/templates/'; $smarty->compile_dir = JG_PLUGIN_DIR . '/smarty/templates_c/'; $smarty->config_dir = JG_PLUGIN_DIR . '/smarty/configs/'; $smarty->cache_dir = JG_PLUGIN_DIR . '/smarty/cache/'; //$teams = $client->Team->Search(); //print_R($teams); /* $teamRows = $wpdb->get_results(" SELECT * FROM {$wpdb->prefix}jgteams ;"); $items_list = array( '' => array( 'label' => "" ) ); foreach ($teamRows as $team){ $items_list[$team->teamshortname] = array('label' => $team->teamname); } $smarty->assign('teams', $items_list); */ $formurl = jg_curpageurl(); /* $redirectLink = 'http://test6.thegoodagencydigital.co.uk/thank-you?team=wibble'; $nexturl = 'http://v3-sandbox.justgiving.com/h2onttt20152016'; $redirectlink = (parse_url($redirectLink, PHP_URL_QUERY)) ? $redirectLink . '&nexturl='.$nexturl : rtrim($redirectLink, '?') . '?nexturl='.$nexturl; $smarty->assign('redirecturl',$redirectlink); */ $smarty->assign('pageshortname', stripslashes($_POST['pageshortname'])); $smarty->assign('errorshortname', $errors['shortname']['message']); $smarty->assign('pagetitle', stripslashes($_POST['pagetitle'])); $smarty->assign('errorpagetitle', $errors['pagetitle']['message']); $smarty->assign('target', isset($_POST['target']) && is_numeric($_POST['target']) ? $_POST['target'] : $wpjg_generalSettings['targetAmount']); $smarty->assign('errortargetAmount', $errors['target']['message']); $smarty->assign('nonce', wp_nonce_field('verify_true_create', 'createpage_nonce_field', true, false)); $smarty->assign('jgoptinyes', $_POST['jgoptin'] == '1' || !isset($_REQUEST['jgoptin']) ? 'checked="checked"' : ''); $smarty->assign('jgoptinno', $_POST['jgoptin'] == '0' ? 'checked="checked"' : ''); $smarty->assign('choptinyes', $_POST['charityoptin'] == '1' || $_SESSION['optin'] == 1 && $_POST['charityoptin'] != 0 || !isset($_REQUEST['charityoptin']) && (!isset($_SESSION['optin']) || $_SESSION['optin'] != 0) ? 'checked="checked"' : ''); $smarty->assign('choptinno', $_POST['charityoptin'] == '0' ? 'checked="checked"' : ''); $smarty->assign('formurl', $formurl); $smarty->assign('templateurl', get_template_directory_uri()); $smarty->assign('suggestions', $suggestions); $smarty->assign('logout', $logout); $data = array(); for ($i = date('Y') - 18; $i >= date('Y') - 98; $i--) { $data[] = $i; } $smarty->assign('years', $data); $smarty->assign('maxdate', date('Y-m-d')); $smarty->assign('Get', $_GET); $smarty->assign('Post', $_POST); $smarty->assign('Errors', $errors); $smarty->assign('Session', $_SESSION); if ($template != '') { $smarty->display($template); } else { $smarty->display('create-page.html'); } $output = ob_get_contents(); ob_end_clean(); return $output; }