Ricerca…


Utilizzando librerie e aiutanti

L'esempio è a scopo illustrativo di utilizzare librerie e helper e non un codice valido. Non copiarlo / incollarlo sui tuoi progetti.

HELPER helper / sendEmail_helper.php

if ( ! function_exists('sendEmail'))
{
    function sendEmail($email, $subject, $message, $lang, $cc = null, $file = null) {

        $CI =& get_instance();    
        
        $mail_config['protocol'] = 'smtp';
        $mail_config['smtp_host'] = 'host';
        $mail_config['smtp_user'] = 'user';
        $mail_config['smtp_pass'] = 'pass';
        $mail_config['smtp_port'] = '587';
        $mail_config['smtp_timeout'] = 5;
        $mail_config['charset'] = 'utf-8';
        $mail_config['mailtype'] = 'html';
        $mail_config['wrapchars'] = 76;
        $mail_config['wordwrap'] = TRUE;
            
        $CI->email->initialize($mail_config);
        $CI->email->set_newLine('\r\n');
        
        if ($lang == "en"){    
            $CI->email->from('[email protected]', 'English Support');
        }else{
            $CI->email->from('[email protected]', 'Support en francais');
        }        
        $CI->email->to($email);
        if ($cc != null){
            $CI->email->cc($cc); 
        }    
        $CI->email->subject($subject);
        $CI->email->message($message);    
        if ($file != null){
            $CI->email->attach($file);    
        }    
        //$CI->email->print_debugger();
        return $CI->email->send();            
    }
}

Librerie LIBRARY / Alerter.php

class Alerter {

    public function alert_user($user_email, $subject, $message, $lang) {
        //load helper
        $this->load->helper('sendEmail');
        //using helper
        sendEmail($user_email, $subject, $message, $lang);
    }
    
    public function alert_admin($admin_email, $subject, $message, $lang, $reason){
        //load helper
        $this->load->helper('sendEmail');
        .....
        //using helper
        sendEmail($admin_email, $subject, $message, $lang);
        .....
    }
}

CONTROLLER

class Alerts extends CI_Controller {
    function __construct() {
        parent::__construct();
    }  

    public function send_alert($userid) {
        
        //load library and model
        $this->load->library('Alerter');
        $this->load->model('alerter_model');
        
        //get user
        $user = $this->alerter_model->get_one_by_id($userid);
        
        //using library
        $this->Alerter->alert_user($user->email, $subject, $message, $lang);

    } 
}

aiutante

Autoload la tua funzione di aiuto. se usi più tempo nel tuo progetto

$autoload['helper'] = array('url', 'form');

Usa l'aiuto della forma in vista

<?php echo form_open('Public/Login/loginAuth'); ?>

<?php
       echo "<div class='row'>";
       echo "<label for='inputEmail' class='col-lg-2 control-label col-lg-offset-2 col-md-2 control-label col-md-offset-2 col-sm-2 control-label col-sm-offset-2'>Enter Email</label>";
       $email = array(
          "name"=>"email",
          "placeholder"=>"Email",
          "class"=>"form-control"
          );

     echo "<div class='col-lg-6 col-md-6 col-sm-6'>";
     echo form_error('email');
    echo form_input($email)."<br/>";
  echo "</div>";
echo "</div>";

echo "<div class='row'>";
    echo "<label for='inputPassword' class='col-lg-2 control-label col-lg-offset-2 col-md-2 control-label col-md-offset-2 col-sm-2 control-label col-sm-offset-2'>Enter Password</label>";
  $password = array(
    "name"=>"password",
    "placeholder"=>"Password",
      "class"=>"form-control"
    );

  echo "<div class='col-lg-6 col-md-6 col-sm-6'>";
    echo form_error('password');
    echo form_password($password)."<br/>";
  echo "</div>";
echo "</div>";

echo "<div class='row'>";
  
  $submit = array(
    "name"=>"submit",
    "value"=>"Submit",
    "class"=>"btn btn-primary col-lg-offset-9 col-md-offset-9 col-sm-offset-9 col-xs-offset-9"
    );
  echo form_submit($submit)."<br/>";

echo "</div>";

?>



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow