Hello friends,
I am a new babie to codeigniter. I am working on a maintenace task.And I am getting the error as frontend_make_url_name this function not found.
Can anybody is there to help me?
For helping I am pasting my code below.
<?php
class User extends Controller
{
var $forbidden_array;
var $phone_forbidden_array;
var $address_forbidden_array;
var $alpha_array;
function __construct()
{
parent::__construct();
$this->load->model('UserModel');
$this->load->model('ProductModel');
$this->load->model('CategoryModel');
$this->load->library(array('feditor', 'form_validation', 'masterpage', 'messages', 'common_functions', 'image_lib', 'adminmessages'));
$this->load->helper(array('url', 'form'));
$this->load->plugin('captcha');
$this->phone_forbidden_array = array("!", "'", "@", "#", "$", "%", "^", "\"", "&", "*", "(", ")", "_", "+", "=", "{", "[", "}", "]", "|", "\\", ":", ";", "<", ">", ".", "?", "/", "~", "`", "\,", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
$this->forbidden_array = array("!", "'", "@", "#", "$", "%", "^", "\"", "&", "*", "(", ")", "_", "+", "=", "{", "[", "}", "]", "|", "\\", ":", ";", "<", ">", ".", "?", "/", "~", "`", "\,");
$this->address_forbidden_array = array("!", "'", "@", "#", "$", "%", "^", "\"", "&", "*", "(", ")", "_", "+", "=", "{", "[", "}", "]", "|", "\\", ":", ";", "<", ">", ".", "?", "/", "~", "`", "\,");
$this->alpha_array = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
$this->number_array = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
$this->content_forbidden_array = array("!", "@", "$", "%", "^", "*", "+", "|", "~", "`");
$this->admin_search_content_forbidden_array = array("(", ")", "{", "}", "[", "]", "!", "@", "#", "$", "%", "^", "*", "+", "|", "~", "`", "_");
@set_time_limit(900);
session_start();
}
function index()
{
//
}
/**
* Input Parameter: $redirect: redirect to here on registering.
*/
function register()
{
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
$details["how_did_you_hear_options"] = $this->UserModel->get_how_did_you_hear_options();
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
$this->form_validation->set_rules('first_name', 'First Name', 'trim|required|max_length[25]|xss_clean|callback_field_value_validity_check');
$this->form_validation->set_rules('last_name', 'Last Name', 'trim|max_length[25]|xss_clean|callback_field_value_validity_check');
$this->form_validation->set_rules('email_id', 'Email Id', 'trim|required|max_length[150]|xss_clean|valid_email|callback_is_new_user_email_id_unique');
$this->form_validation->set_rules('company', 'Company', 'trim|max_length[50]|xss_clean|callback_content_value_validity_check');
$this->form_validation->set_rules('street_addr', 'Street Address', 'trim|max_length[150]|xss_clean|callback_content_value_validity_check');
$this->form_validation->set_rules('city', 'City', 'trim|max_length[25]|xss_clean|callback_content_value_validity_check');
$this->form_validation->set_rules('state', 'State', 'trim|max_length[25]|xss_clean|callback_content_value_validity_check');
$this->form_validation->set_rules('country', 'Country', 'trim|max_length[25]|xss_clean|callback_content_value_validity_check');
$this->form_validation->set_rules('zip_code', 'Zip/Post Code', 'trim|numeric');
$this->form_validation->set_rules('passwrd', 'Password', 'trim|alpha_numeric|required|matches[passwrd_cnfrm]|max_length[10]|min_length[6]');
$this->form_validation->set_rules('passwrd_cnfrm', 'Password Confirmation', 'alpha_numeric|max_length[10]|min_length[6]');
$this->form_validation->set_rules('cpti', 'Captcha Verification', 'trim|numeric|required|matches[key]');
//$this->form_validation->set_rules('cptih', 'Image', '');
$this->form_validation->set_rules('key', 'Image', '');
if(isset($_POST["user_register_button_x"]) && !empty($_POST["user_register_button_x"])){
if ($this->form_validation->run() == TRUE){
//Create Hash
$email_hash = md5(U_REGN_HASH_KEY . $_POST["email_id"]);
if(isset($_POST["last_name"]) && !empty($_POST["last_name"])){
$last_name = $_POST["last_name"];
}else{
$last_name = "";
}
if(isset($_POST["email_id"]) && !empty($_POST["email_id"])){
$email_id = $_POST["email_id"];
}else{
$email_id = "";
}
if(isset($_POST["street_addr"]) && !empty($_POST["street_addr"])){
$street1 = $_POST["street_addr"];
}else{
$street1 = "";
}
if(isset($_POST["city"]) && !empty($_POST["city"])){
$city = $_POST["city"];
}else{
$city = "";
}
if(isset($_POST["zip_code"]) && !empty($_POST["zip_code"])){
$zipcode = $_POST["zip_code"];
}else{
$zipcode = "";
}
$password = md5($_POST["passwrd"]);
if(isset($_POST["country"]) && !empty($_POST["country"])){
$country = $_POST["country"];
}else{
$country = "";
}
if(isset($_POST["state"]) && !empty($_POST["state"])){
$state = $_POST["state"];
}else{
$state = "";
}
if(isset($_POST["company"]) && !empty($_POST["company"])){
$company = $_POST["company"];
}else{
$company = "";
}
if(isset($_POST["how_did_u_hear"]) && !empty($_POST["how_did_u_hear"])){
$source = $_POST["how_did_u_hear"];
}else{
$source = 0;
}
if(isset($_POST["would_you_like"]) && !empty($_POST["would_you_like"])){
$receive_emails = $_POST["would_you_like"];
}else{
$receive_emails = 0;
}
$admin_approved = 0;
$ip_address = $_SERVER["REMOTE_ADDR"];
$this->UserModel->add_user_details($_POST["first_name"], $last_name, $email_id, $street1, $city, $zipcode, 0, $password, $email_hash, $country, $state, $company, $source, $receive_emails, $admin_approved, $ip_address);
/*Invitation: Send confirmation email only if Admin accepts request, 22 Sep 09 -- AP*/
//$this->_send_confirmation_email($_POST["email_id"], $email_hash, $state, $country);
/*Changes for Registration by Invitation, 21 Sep 09 --AP*/
$this->_send_admin_noti_email($_POST["first_name"], $last_name, $email_id, $state, $country, $company);
$conf["switch_case"] = "message";
$conf["message_id"] = 21;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/21");
}else{
$vals = array('img_path' => CAPTCHA_IMAGE_DIR, 'img_url' => CAPTCHA_IMAGE_PATH);
$cap = create_captcha($vals);
$details["cpti"] = $cap;
$details["mode"] = "add";
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('register', 'content', $details);
$this->masterpage->show();
exit;
}
}elseif(isset($_POST["user_reset_button_x"]) && !empty($_POST["user_reset_button_x"])){
$_POST = array();
$vals = array('img_path' => CAPTCHA_IMAGE_DIR, 'img_url' => CAPTCHA_IMAGE_PATH);
$cap = create_captcha($vals);
$details["cpti"] = $cap;
$details["mode"] = "add";
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('register', 'content', $details);
$this->masterpage->show();
exit;
}else{
$this->common_functions->set_logged_in_tokens("", "", "", "");
$vals = array('img_path' => CAPTCHA_IMAGE_DIR, 'img_url' => CAPTCHA_IMAGE_PATH);
$cap = create_captcha($vals);
$details["cpti"] = $cap;
$details["mode"] = "add";
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('register', 'content', $details);
$this->masterpage->show();
exit;
}
}
/**
* Input Parameter: $redirect: redirect to here on registering.
*/
function edit_profile($id)
{
if($this->common_functions->is_member_logged_in()){
if($id == $_SESSION["user_user_id"]){
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
$details["user_details"] = $this->UserModel->get_user_details($id, "id");
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
$this->form_validation->set_rules('first_name', 'First Name', 'trim|required|max_length[25]|xss_clean|callback_field_value_validity_check');
$this->form_validation->set_rules('last_name', 'Last Name', 'trim|max_length[25]|xss_clean|callback_field_value_validity_check');
$this->form_validation->set_rules('company', 'Company', 'trim|max_length[50]|xss_clean|callback_content _value_validity_check');
$this->form_validation->set_rules('street_addr', 'Street Address', 'trim|max_length[150]|xss_clean|callback_content_value_validity_check');
$this->form_validation->set_rules('city', 'City', 'trim|max_length[25]|xss_clean|callback_address_value_validity_check');
$this->form_validation->set_rules('state', 'State', 'trim|max_length[25]|xss_clean|callback_address_value_validity_check');
$this->form_validation->set_rules('country', 'Country', 'trim|max_length[25]|xss_clean|callback_address_value_validity_check');
$this->form_validation->set_rules('zip_code', 'Zip/Post Code', 'trim|numeric');
if(isset($_POST["user_register_button_x"]) && !empty($_POST["user_register_button_x"])){
if ($this->form_validation->run() == TRUE){
if(isset($_POST["last_name"]) && !empty($_POST["last_name"])){
$last_name = $_POST["last_name"];
}else{
$last_name = "";
}
if(isset($_POST["street_addr"]) && !empty($_POST["street_addr"])){
$street1 = $_POST["street_addr"];
}else{
$street1 = "";
}
if(isset($_POST["city"]) && !empty($_POST["city"])){
$city = $_POST["city"];
}else{
$city = "";
}
if(isset($_POST["zip_code"]) && !empty($_POST["zip_code"])){
$zipcode = $_POST["zip_code"];
}else{
$zipcode = "";
}
if(isset($_POST["country"]) && !empty($_POST["country"])){
$country = $_POST["country"];
}else{
$country = "";
}
if(isset($_POST["state"]) && !empty($_POST["state"])){
$state = $_POST["state"];
}else{
$state = "";
}
if(isset($_POST["company"]) && !empty($_POST["company"])){
$company = $_POST["company"];
}else{
$company = "";
}
if(isset($_POST["would_you_like"]) && !empty($_POST["would_you_like"])){
$receive_emails = $_POST["would_you_like"];
}else{
$receive_emails = 0;
}
$this->UserModel->update_user_details($id, $_POST["first_name"], $last_name, $street1, $city, $zipcode, $country, $state, $company, $receive_emails);
$_SESSION["user_user_name"] = $_POST["first_name"];
$conf["switch_case"] = "message";
$conf["message_id"] = 22;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/22");
}else{
$details["mode"] = "edit";
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('register', 'content', $details);
$this->masterpage->show();
exit;
}
}elseif(isset($_POST["user_reset_button_x"]) && !empty($_POST["user_reset_button_x"])){
$_POST = array();
$details["mode"] = "edit";
$details["user_id"] = $details["user_details"][0]["user_id"];
$details["user_details"] = array();
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('register', 'content', $details);
$this->masterpage->show();
exit;
}else{
$details["mode"] = "edit";
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('register', 'content', $details);
$this->masterpage->show();
exit;
}
}else{
$conf["switch_case"] = "message";
$conf["message_id"] = 27;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}
}else{
$_SESSION["login_redirect"] = $_SERVER["PHP_SELF"];
$conf["switch_case"] = "login";
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}
}
/**
*Input Parameters: $redirect: redirect to this after successfully logging in.
*/
function login($message = 0)
{
if(!$this->common_functions->is_member_logged_in()){
//if(isset($_SERVER["HTTP_REFERER"]) && !empty($_SERVER["HTTP_REFERER"]) && empty($_SESSION["login_redirect"]) && !isset($_SESSION["login_redirect"])){
// $_SESSION["login_redirect"] = $_SERVER["HTTP_REFERER"];
//}
$this->form_validation->set_rules('email_id', 'E - Mail Address', 'trim|required|valid_email|max_length[150]|xss_clean');
$this->form_validation->set_rules('pwd', 'Password', 'trim|alpha_numeric|required|max_length[10]|min_length[6]');
//If form is successfully validated.
if($this->form_validation->run() == TRUE){
$user_exists_array = $this->UserModel->check_user_exists(trim($_POST["email_id"]), md5(trim($_POST["pwd"])));
//Check if user with supplied email id and password combination exists.
if(!empty($user_exists_array) && count($user_exists_array) > 0){
/*Changes for Registraton by Invitation, 21 Sep 09 -- AP*/
if($user_exists_array[0]["status"] == 1 && $user_exists_array[0]["admin_approved"] == 1){
//Set the cookies on successful authentication
//These cookies are used to check whether user is logged in or not.
$this->_set_logged_in_tokens(trim($_POST["email_id"]), trim(ucwords(strtolower($user_exists_array[0]["first_name"]))), $user_exists_array[0]["user_id"]);
if(isset($_SESSION["login_redirect"]) && !empty($_SESSION["login_redirect"])){
//echo "hi1";exit;
$temp_sess = $_SESSION["login_redirect"];
unset($_SESSION["login_redirect"]);
header("location: " . $this->common_functions->get_redirect_url_segment($temp_sess));
}elseif(isset($_SESSION["from_product"]) && !empty($_SESSION["from_product"])){
//echo "hi2";exit;
$temp_sess = $_SESSION["from_product"];
$_SESSION["from_product"] = "";
unset($_SESSION["from_product"]);
header("location: " . $this->common_functions->get_redirect_url_segment($temp_sess));
//SKU and Price on Category Page Changes, 7 Nov 2009 --AP
}elseif(isset($_SESSION["from_category_for_sku_price"]) && !empty($_SESSION["from_category_for_sku_price"])){
//print_r($_SESSION["from_category_for_sku_price"]);
//echo "-----";
//echo "hi3";
//exit;
$temp_sess = $_SESSION["from_category_for_sku_price"];
$_SESSION["from_category_for_sku_price"] = "";
unset($_SESSION["from_category_for_sku_price"]);
header("location: " . $this->common_functions->get_redirect_url_segment($temp_sess));
}else{
//echo "hi4";exit;
//$conf["switch_case"] = "message";
//$conf["message_id"] = 20;
//$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
//header("location: " . $red_url);
header("location: " . base_url());
}
}elseif($user_exists_array[0]["admin_approved"] != 1){
$this->common_functions->set_logged_in_tokens("", "", "", "");
$conf["switch_case"] = "message";
$conf["message_id"] = 37;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}elseif($user_exists_array[0]["admin_approved"] == 1 && $user_exists_array[0]["status"] != 1){
$this->common_functions->set_logged_in_tokens("", "", "", "");
$conf["switch_case"] = "message";
$conf["message_id"] = 26;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}
}else{
//Logout
$this->common_functions->set_logged_in_tokens("", "", "", "");
//$conf["switch_case"] = "message";
//$conf["message_id"] = 10;
//$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
//header("location: " . $red_url);
//redirect("user/reg_success_screen/10");
$this->masterpage->setMasterPage('masterpage_frontend');
$details["error"] = $this->messages->messages[10];
$this->masterpage->addContentPage('error_div', 'errordiv', $details);
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
$details = array();
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('login', 'content', $details);
$this->masterpage->show();
}
}else{
//Logout
$this->common_functions->set_logged_in_tokens("", "", "", "");
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
$details = array();
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('login', 'content', $details);
$this->masterpage->show();
}
}else{
$conf["switch_case"] = "message";
$conf["message_id"] = 23;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/23");
}
}
/**
*
*/
function change_password($message = 0)
{
$details = array();
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
//echo "<pre>";print_r($_COOKIE);echo "</pre>";
if($this->common_functions->is_member_logged_in()){
$this->form_validation->set_rules('opw', 'Old Password', 'trim|alpha_numeric|required|max_length[10]|min_length[6]|callback_is_old_password_correct');
$this->form_validation->set_rules('npw', 'New Password', 'trim|alpha_numeric|required|max_length[10]|min_length[6]|matches[npwr]');
$this->form_validation->set_rules('npwr', 'Repeat New Password', 'trim|alpha_numeric|required');
if($this->form_validation->run() == TRUE){
$user_exists_array = $this->UserModel->check_user_exists(trim($_SESSION["email_id"]), md5(trim($_POST["opw"])));
//Check if user for combination of email id and old password exists.
if(!empty($user_exists_array) && count($user_exists_array) > 0){
$this->UserModel->update_user_password($user_exists_array[0]["user_id"], $_POST["npw"], "");
$this->common_functions->set_logged_in_tokens("", "", "", "");
$conf["switch_case"] = "message";
$conf["message_id"] = 12;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
$_SESSION["login_redirect"] = base_url();
header("location: " . $red_url);
}
}else{
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
if($message > 0){
$details["message"] = $message;
}
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('change_password', 'content', $details);
$this->masterpage->show();
}
}else{
$_SESSION["login_redirect"] = $_SERVER["PHP_SELF"];
$conf["switch_case"] = "login";
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}
}
/**
* Callback Function for validation
*/
function field_value_validity_check($string)
{
$string = trim($string);
for($i=0;$i<strlen($string);$i++){
if(in_array($string[$i], $this->forbidden_array)){
$this->form_validation->set_message('field_value_validity_check', 'The %s field can not contain special characters.');
return FALSE;
}
}
return TRUE;
}
/**
* Callback Function for validation
*/
function phone_value_validity_check($string)
{
$string = trim($string);
for($i=0;$i<strlen($string);$i++){
if(in_array($string[$i], $this->phone_forbidden_array)){
$this->form_validation->set_message('phone_value_validity_check', 'The %s field can not contain special characters.');
return FALSE;
}
}
return TRUE;
}
/**
* Callback Function for validation
*/
function address_value_validity_check($string)
{
$string = trim($string);
for($i=0;$i<strlen($string);$i++){
if(in_array($string[$i], $this->address_forbidden_array)){
$this->form_validation->set_message('address_value_validity_check', 'The %s field can not contain special characters.');
return FALSE;
}
}
return TRUE;
}
/**
* Callback Function for validation
*/
function content_value_validity_check($string)
{
$string = trim($string);
for($i=0;$i<strlen($string);$i++){
if(in_array($string[$i], $this->content_forbidden_array)){
$this->form_validation->set_message('content_value_validity_check', 'The %s field can not contain special characters.');
return FALSE;
}
}
return TRUE;
}
/**
* Callback Function for validation
*/
function is_member_email_id_unique($string)
{
$email_arr = $this->UserModel->is_member_emailid_unique($string);
$member_details = $this->UserModel->get_user_details($_SESSION["emailid"], "emailid");
if(empty($email_arr)){
return TRUE;
}elseif((count($email_arr) == 1) && (trim($email_arr[0]["id"]) == trim($member_details[0]["id"]))){
return TRUE;
}else{
$this->form_validation->set_message('is_member_email_id_unique', 'A User Is Already Registered With This Email.');
return FALSE;
}
}
/**
*
*/
function forgot_password($message = 0)
{
$this->common_functions->set_logged_in_tokens("", "", "", "");
$this->form_validation->set_rules('email_id', 'Email Id', 'trim|required|max_length[150]|xss_clean|valid_email');
if($this->form_validation->run() == TRUE){
$unique_flag = $this->UserModel->is_member_emailid_unique(trim($_POST["email_id"]));
//If unique ACTIVATED user with this email id is found.
if(isset($unique_flag) && count($unique_flag) > 0){
$password = $this->_generate_password();
//Send password to user emailid.
$this->_send_fp_email(trim($_POST["email_id"]), $password);
//Update password for the user.
$this->UserModel->update_user_password("", $password, trim($_POST["email_id"]));
$conf["switch_case"] = "message";
$conf["message_id"] = 24;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/24");
exit;
}else{
$conf["switch_case"] = "message";
$conf["message_id"] = 18;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/18");
exit;
}
}else{
$this->common_functions->set_logged_in_tokens("", "", "", "");
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
if($message > 0){
$details["message"] = $message;
}
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('forgot_password', 'content', $details);
$this->masterpage->show();
}
}
/**
* Return Value: System Generated Password.
*/
function _generate_password()
{
$password = "";
//Four times, select randomly alphabet and append to $password
for($i=0;$i<4;$i++){
$password .= $this->alpha_array[rand(0, 51)];
}
//Twice, select randomly number and append to $password
for($i=0;$i<2;$i++){
$password .= $this->number_array[rand(0, 9)];
}
return $password;
}
/**
* Input Parameters: $email_id: Email id of the user who forgot password.
* $password: System generated password.
*/
function _send_fp_email($email_id, $password)
{
//Send Email
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from(CONFIRMATION_FROM_EMAIL, CONFIRMATION_FROM_EMAIL_SENDER_NAME);
$this->email->subject("Your New Password");
$details["password"] = $password;
ob_start();
$this->load->view("user_fp_email", $details);
$message = ob_get_clean();
$this->email->message($message);
$this->email->to(trim($email_id));
$this->email->send();
}
function is_old_password_correct($string)
{
$user_exists_array = $this->UserModel->check_user_exists(trim($_SESSION["email_id"]), md5(trim($string)));
//Check if user for combination of email id and old password exists.
if(!empty($user_exists_array) && count($user_exists_array) > 0){
return TRUE;
}else{
$this->form_validation->set_message('is_old_password_correct', 'The Old Password is not correct.');
return FALSE;
}
}
/**
* Callback Function for validation
*/
function is_new_user_email_id_unique($string)
{
$flag_arr = $this->UserModel->is_emailid_unique($string);
if(isset($flag_arr[0]["Y"]) && ($flag_arr[0]["Y"] == 1)){
return TRUE;
}elseif(isset($flag_arr[0]["N"]) && ($flag_arr[0]["N"] == 0)){
$this->form_validation->set_message('is_new_user_email_id_unique', 'A User Is Already Registered With This Email.');
return FALSE;
}
}
/**
* Input Paremeters: $email: Email id of the user registering.
* $email_hash: Hash stored in the DB of the email of the user registering.
*/
function confirm_email($email, $email_hash)
{
$email = str_replace("~", "@", $email);
if(md5(U_REGN_HASH_KEY . $email) == $email_hash){
$not_act_member_details = $this->UserModel->get_not_activated_user_id($email_hash);
if(!empty($not_act_member_details[0]["user_id"])){
$not_act_member_id = $not_act_member_details[0]["user_id"];
}
if(count($not_act_member_details) > 0 && !empty($not_act_member_id)){
$this->UserModel->activate_user($not_act_member_id);
//Login Member
$email_id_hash = md5(U_LOGIN_HASH_KEY . $email);
/*Changes for Registration by Invitation, 21 Sep 09 --AP*/
//$this->common_functions->set_logged_in_tokens($email, $email_id_hash, $not_act_member_details[0]["first_name"], $not_act_member_details[0]["user_id"]);
//$this->UserModel->update_last_login($not_act_member_id);
$conf["switch_case"] = "message";
$conf["message_id"] = 36;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/20");
}else{
$conf["switch_case"] = "message";
$conf["message_id"] = 18;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/18");
exit;
}
}else{
$conf["switch_case"] = "message";
$conf["message_id"] = 19;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
//redirect("user/reg_success_screen/19");
exit;
}
}
/**
* Input Paremeters: $email_id: Email id of the user registering.
* $email_hash: Hash stored in the DB of the email of the user registering.
*/
function _send_confirmation_email($email_id, $email_hash, $first_name, $state, $country)
{
//Send Email
$details["email_url"] = str_replace("@", "~", $email_id);
$details["email_hash"] = $email_hash;
$details["first_name"] = $first_name;
$details["state"] = $state;
$details["country"] = $country;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from(CONFIRMATION_FROM_EMAIL, CONFIRMATION_FROM_EMAIL_SENDER_NAME);
$this->email->subject("MD Antiques: Account Registration Confirmation");
ob_start();
$this->load->view("user_confirmation_email", $details);
$message = ob_get_clean();
$this->email->message($message);
$this->email->to(trim($email_id));
$this->email->send();
}
function reg_success_screen($message = "")
{
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
if(!empty($message)){
$details["message"] = $message;
}
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('reg_success_message', 'content', $details);
$this->masterpage->show();
exit;
}
/**
* Input Param: $email_id: Email Id(User) for which login tokens are to be set.
*/
function _set_logged_in_tokens($email_id, $user_name, $user_id)
{
$user_name_hash = md5(U_LOGIN_HASH_KEY . $email_id);
$time = time();
$duration = $time + (60*60*24*30);
$this->common_functions->set_logged_in_tokens($email_id, $user_name_hash, $user_name, $user_id);
}
/**
* Input Parameter: $redirect: redirect here after logging out.
*/
function logout($message = 0)
{
$this->common_functions->set_logged_in_tokens("", "", "", "");
unset($_SESSION["login_redirect"]);
$conf["switch_case"] = "login";
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}
function portfolio($user_id, $pagination = 0)
{
while(($pagination % PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE) != 0){
$pagination = $pagination + 1;
}
if($this->common_functions->is_member_logged_in()){
if($user_id == $_SESSION["user_user_id"]){
$details["user_portfolio_count"] = $this->UserModel->get_user_portfolio_count($user_id);
if($details["user_portfolio_count"][0]["PORTCOUNT"] <= 0){
$conf["switch_case"] = "message";
$conf["message_id"] = 30;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
exit;
}
$conf = array();
$pagi_arr = $this->common_functions->pagination($pagination, $details["user_portfolio_count"][0]["PORTCOUNT"], PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE, 'user/portfolio/' . $user_id, PAGINATION_PORTFOLIO_PRODUCT_URI_SEGMENT);
$config = $pagi_arr["config"];
$start = $pagi_arr["start"];
$details["total_links"] = $config["num_links"];
$details["pagination"] = $pagi_arr["start"];
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
if($start < 0){
$start = 0;
}
$details["portfolio_details"] = $this->UserModel->get_user_portfolio($user_id, $start, PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE);
if($start > 0){
$first_conf["switch_case"] = "portfolio";
$first_conf["user_id"] = $details["portfolio_details"][0]["USERID"];
$first_conf["pagination"] = 0;
$la_conf["switch_case"] = "portfolio";
$la_conf["user_id"] = $details["portfolio_details"][0]["USERID"];
$la_conf["pagination"] = $start - PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE;
$details["temp_title"] = $start/PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE;
}
for($i = 1; $i <= $details["total_links"]; $i++){
if($i != ($start/PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE) + 1){
$conf[$i]["switch_case"] = "portfolio";
$conf[$i]["user_id"] = $details["portfolio_details"][0]["USERID"];
$conf[$i]["pagination"] = ($i - 1) * PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE;
}
}
if((($details["total_links"] * PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE) - $start) > PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE){
$ra_conf["switch_case"] = "portfolio";
$ra_conf["user_id"] = $details["portfolio_details"][0]["USERID"];
$ra_conf["pagination"] = $start + PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE;
$details["temp_title"] = ($start/PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE) + 2;
$last_conf["switch_case"] = "portfolio";
$last_conf["user_id"] = $details["portfolio_details"][0]["USERID"];
$last_conf["pagination"] = ($details["total_links"] - 1) * PAGINATION_PORTFOLIO_PRODUCT_PER_PAGE;
}
$details["conf"] = $conf;
if(isset($la_conf)){
$details["la_conf"] = $la_conf;
}
if(isset($ra_conf)){
$details["ra_conf"] = $ra_conf;
}
if(isset($last_conf)){
$details["last_conf"] = $last_conf;
}
if(isset($first_conf)){
$details["first_conf"] = $first_conf;
}
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('portfolio', 'content', $details);
$this->masterpage->show();
}else{
$conf["switch_case"] = "message";
$conf["message_id"] = 33;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
exit;
}
}else{
$_SESSION["login_redirect"] = $_SERVER["PHP_SELF"];
$conf["switch_case"] = "login";
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
exit;
}
}
function my_account($user_id)
{
$details = array();
$details["product"]["menu_details"] = $this->common_functions->menu_config("");
$details["user_id"] = $user_id;
if($this->common_functions->is_member_logged_in()){
if($user_id == $_SESSION["user_user_id"]){
$this->masterpage->setMasterPage('masterpage_frontend');
$details["meta_details"]["meta_keywords"] = "";
$details["meta_details"]["meta_description"] = "";
$details["meta_details"]["title"] = WEBSITE_TITLE;
$this->masterpage->addContentPage('meta_details', 'metatags', $details);
$this->masterpage->addContentPage('left_menu', 'leftmenu', $details);
$this->masterpage->addContentPage('my_account', 'content', $details);
$this->masterpage->show();
}else{
$conf["switch_case"] = "message";
$conf["message_id"] = 32;
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}
}else{
$_SESSION["login_redirect"] = $_SERVER["PHP_SELF"];
$conf["switch_case"] = "login";
$red_url = base_url(). $this->common_functions->frontend_make_url_name($conf);
header("location: " . $red_url);
}
}
function user_admin_list($admin_user_search_field = 1, $admin_user_search_flag = 1, $admin_user_search_phrase = "no-search", $pagination = 0, $message = 0)
{
$this->form_validation->set_rules('admin_user_search_phrase', 'Search', 'trim|required|max_length[100]|xss_clean|callback_is_user_name_valid');
$details["how_did_you_hear_options"] = $this->UserModel->get_how_did_you_hear_options();
foreach($details["how_did_you_hear_options"] as $opt_key => $opt_val){
$hdyho[$opt_val["id"]] = $opt_val["option"];
}
//if(!empty($_POST)){echo "<pre>";print_r($_POST);echo "</pre>";exit;}
if($this->common_functions->is_admin_member_logged_in()){
if(isset($_POST["admin_user_search_phrase"]) && !empty($_POST["admin_user_search_phrase"])){
if ($this->form_validation->run() == TRUE){
$admin_user_search_field = $_POST["admin_user_search_field"];
$admin_user_search_flag = $_POST["admin_user_search_flag"];
$admin_user_search_phrase = $_POST["admin_user_search_phrase"];
/*Admin Search, 30 Sep 2009 --AP*/
$listDetails["user_cnt"] = $this->UserModel->get_admin_user_search_count($admin_user_search_field, $admin_user_search_flag, $admin_user_search_phrase);
if($listDetails["user_cnt"][0]["USER_COUNT"] == 0){
redirect("user/user_admin_list/1/1/no-search/0/25");
exit;
}
}else{
$listDetails["user_cnt"] = $this->UserModel->get_user_count("all");
}
}elseif(isset($admin_user_search_phrase) && !empty($admin_user_search_phrase) && ($admin_user_search_phrase != "no-search")){
$admin_user_search_field = $admin_user_search_field;
$admin_user_search_flag = $admin_user_search_flag;
$admin_user_search_phrase = $admin_user_search_phrase;
/*Admin Search, 30 Sep 2009 --AP*/
$listDetails["user_cnt"] = $this->UserModel->get_admin_user_search_count($admin_user_search_field, $admin_user_search_flag, $admin_user_search_phrase);
}else{
$listDetails["user_cnt"] = $this->UserModel->get_user_count("all");
}
if($admin_user_search_phrase != "no-search"){
if($admin_user_search_flag == 1){
$flag_text_val = "containing";
}elseif($admin_user_search_flag == 2){
$flag_text_val = "beginning with";
}elseif($admin_user_search_flag == 3){
$flag_text_val = "ending with";
}
if($admin_user_search_field == 1){
$field_text_val = "First name";
}elseif($admin_user_search_field == 2){
$field_text_val = "Last name";
}elseif($admin_user_search_field == 3){
$field_text_val = "Email id";
}
$listDetails["count_message"] = "Your search for \"" . $field_text_val . " " . $flag_text_val . " '" . $admin_user_search_phrase . "' \" returned " . $listDetails["user_cnt"][0]["USER_COUNT"] . " results.";
}
$pagi_arr = $this->common_functions->pagination_admin($pagination, $listDetails["user_cnt"][0]["USER_COUNT"], ADMIN_PAGINATION_USER_PER_PAGE, 'user/user_admin_list/' . $admin_user_search_field . "/" . $admin_user_search_flag . "/" . $admin_user_search_phrase . '/', ADMIN_PAGINATION_USER_URI_SEGMENT);
$config = $pagi_arr["config"];
$start = $pagi_arr["start"];
$this->pagination->initialize($config);
/*Admin Search, 30 Sep 2009 --AP*/
if(isset($admin_user_search_phrase) && !empty($admin_user_search_phrase) && ($admin_user_search_phrase != "no-search")){
$listDetails["details"] = $this->UserModel->get_admin_user_search($admin_user_search_field, $admin_user_search_flag, $admin_user_search_phrase, $start, ADMIN_PAGINATION_USER_PER_PAGE);
/*After deleting all records on a page do not come back to that same page, 1 Oct 2009 --AP*/
if(count($listDetails["details"]) == 0){
redirect("user/user_admin_list/" . $admin_user_search_field . "/" . $admin_user_search_flag . "/" . $admin_user_search_phrase . "/0/");
exit;
}
}else{
$listDetails["details"] = $this->UserModel->get_user("all", $start, ADMIN_PAGINATION_USER_PER_PAGE);
if(count($listDetails["details"]) == 0){
redirect("user/user_admin_list/1/1/no-search/0");
exit;
}
}
$this->masterpage->setMasterPage('masterpage_admin');
if($message > 0){
$listDetails["message"] = $message;
}
$listDetails["pagination"] = $pagination;
/*Registration by Invitation only Changes, 21 Sep 09 -- AP*/
if(isset($_POST["edit_multiple_user"]) && !empty($_POST["edit_multiple_user"])){
if(isset($_POST["user_row"]) && !empty($_POST["user_row"])){
foreach($_POST["user_row"] as $multi_post_key => $multi_post_val){
$app_user_details = $this->UserModel->get_user_details($multi_post_key, "id");
if($_POST["status_row_" . $multi_post_key] == 1){
if($app_user_details[0]["admin_approved"] == 0){
$this->UserModel->approve_user($multi_post_key, 1);
/*Invitation: Send confirmation email only if Admin accepts request, 22 Sep 09 -- AP*/
//$this->_send_user_invited_email($app_user_details);
$email_hash = md5(U_REGN_HASH_KEY . $app_user_details[0]["email_id"]);
$this->_send_confirmation_email($app_user_details[0]["email_id"], $email_hash, $app_user_details[0]["first_name"], $app_user_details[0]["state"], $app_user_details[0]["country"]);
}
}else{
$this->UserModel->approve_user($multi_post_key, 0);
}
}
/*Admin Search, 30 Sep 2009 --AP*/
redirect("user/user_admin_list/" . $admin_user_search_field . "/" . $admin_user_search_flag . "/" . $admin_user_search_phrase . "/" . $pagination . "/24");
exit;
}
}
/*Admin Search, 30 Sep 2009 --AP*/
/*On Searching should go to first page, no matter where it was initially, 1 Oct 09 --AP*/
if((isset($_POST["admin_user_search_but"]) && !empty($_POST["admin_user_search_but"])) || (isset($_POST["admin_user_search_phrase"]) && !empty($_POST["admin_user_search_phrase"]))){
redirect("user/user_admin_list/" . $admin_user_search_field . "/" . $admin_user_search_flag . "/" . $admin_user_search_phrase . "/0");
exit;
}
$listDetails["admin_user_search_field"] = $admin_user_search_field;
$listDetails["admin_user_search_flag"] = $admin_user_search_flag;
$listDetails["admin_user_search_phrase"] = $admin_user_search_phrase;
$listDetails["pagination"] = $pagination;
$listDetails["hdyho"] = $hdyho;
$this->masterpage->addContentPage('user_admin_list', 'content', $listDetails);
$this->masterpage->show();
}else{
$_SESSION["admin_login_redirect"] = $_SERVER["PHP_SELF"];
redirect("admin/login");
}
}
function _send_admin_noti_email($first_name, $last_name, $email_id, $state, $country, $company)
{
//Send Email
$details["first_name"] = $first_name;
$details["last_name"] = $last_name;
$details["email_id"] = $email_id;
$details["state"] = $state;
$details["country"] = $country;
$details["company"] = $company;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from(CONFIRMATION_FROM_EMAIL, CONFIRMATION_FROM_EMAIL_SENDER_NAME);
$this->email->subject("New User: " . $first_name . " " . $last_name . " (" . $email_id . ")");
ob_start();
$this->load->view("user_admin_noti_email", $details);
$message = ob_get_clean();
$this->email->message($message);
$this->email->to(trim(CONFIRMATION_FROM_EMAIL));
$this->email->send();
}
function _send_user_invited_email($user_details)
{
//Send Email
$config['mailtype'] = 'html';
$user_details["user_details"] = $user_details;
$this->email->initialize($config);
$this->email->from(CONFIRMATION_FROM_EMAIL, CONFIRMATION_FROM_EMAIL_SENDER_NAME);
$this->email->subject("MD Antiques: Registration Request Approval");
ob_start();
$this->load->view("user_invited_email", $user_details["user_details"]);
$message = ob_get_clean();
$this->email->message($message);
$this->email->to(trim($user_details[0]["email_id"]));
$this->email->send();
}
function is_user_name_valid($string)
{
$string = trim($string);
for($i=0;$i<strlen($string);$i++){
if(in_array($string[$i], $this->admin_search_content_forbidden_array)){
$this->form_validation->set_message('is_user_name_valid', 'The %s field can not contain special characters.');
return FALSE;
}
}
return TRUE;
}
}