Вход Регистрация
Файл: Just Wallet 2.0.4/application/controllers/Contact.php
Строк: 115
<?php defined('BASEPATH') OR exit('No direct script access allowed');

class 
Contact extends Public_Controller {

    
/**
     * Constructor
     */
    
function __construct()
    {
        
parent::__construct();

        
// load the language file
        
$this->lang->load('contact');

        
// load the model file
        
$this->load->model('contact_model');

        
// load the captcha helper
        
$this->load->helper('captcha');
    }


    
/**************************************************************************************
     * PUBLIC FUNCTIONS
     **************************************************************************************/


    /**
     * Default
     */
    
function index()
    {
        
// validators
        
$this->form_validation->set_error_delimiters($this->config->item('error_delimeter_left'), $this->config->item('error_delimeter_right'));
        
$this->form_validation->set_rules('name'lang('contact input name'), 'required|trim|max_length[64]');
        
$this->form_validation->set_rules('email'lang('contact input email'), 'required|trim|valid_email|min_length[10]|max_length[256]');
        
$this->form_validation->set_rules('title'lang('contact input title'), 'required|trim|max_length[128]');
        
$this->form_validation->set_rules('message'lang('contact input message'), 'required|trim|min_length[10]');

        if (
$this->form_validation->run() == TRUE)
        {
          
//your site secret key
                        
$secret $this->settings->google_secret;
                        
//get verify response data
                        
$verifyResponse file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
                        
$responseData json_decode($verifyResponse);
          
            if(
$responseData->success) {
              
              
// attempt to save and send the message
              
$post_data $this->security->xss_clean($this->input->post());
              
$saved_and_sent $this->contact_model->save_and_send_message($post_data$this->settings);

              if (
$saved_and_sent)
              {
                  
// redirect to home page
                  
$this->session->set_flashdata('message'sprintf(lang('contact msg send_success'), $this->input->post('name'TRUE)));
                  
redirect(base_url());
              }
              else
              {
                  
// stay on contact page
                  
$this->error sprintf(lang('contact error send_failed'), $this->input->post('name'TRUE));
              }
              
            } else {
              
              
$this->session->set_flashdata('error'lang('core error captcha_not_valid'));
                            
redirect(site_url("contact"));
              
            }
        }


        
// store captcha image
        
$this->contact_model->save_captcha($captcha_data);

        
// setup page header data
        
$this->set_title(lang('contact title'));

        
$data $this->includes;

        
// set content data
        
$content_data = array(
            
'captcha_image' => $captcha['image']
        );

        
// load views
        
$data['content'] = $this->load->view('contact/form'$content_dataTRUE);
        
$this->load->view($this->template$data);
    }


    
/**************************************************************************************
     * PRIVATE VALIDATION CALLBACK FUNCTIONS
     **************************************************************************************/


    /**
     * Verifies correct CAPTCHA value
     *
     * @param  string $captcha
     * @return string|boolean
     */
    
function _check_captcha($captcha)
    {
        
$verified $this->contact_model->verify_captcha($captcha);

        if (
$verified == FALSE)
        {
            
$this->form_validation->set_message('_check_captcha'lang('contact error captcha'));
            return 
FALSE;
        }
        else
        {
            return 
$captcha;
        }
    }

}
Онлайн: 2
Реклама