Criei o seguinte código para envio de email para a compra de um produto: obs(Email e senha estão incluidos corretamente)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Vendas extends CI_controller{
public function nova(){
$usuario = autoriza();
$this->load->model(array("vendas_model", "produtos_model", "usuarios_model"));
$this->load->helper("date");
$venda = (array(
"comprador_id" => $usuario["id"],
"data_de_entrega" => dataPtBrparaDataMysql($this->input->post("data_de_entrega")),
"produto_id" => $this->input->post("produto_id")
));
$this->load->library("email");
$config["protocol"] = "smtp";
$config["smtp_host"] = "ssl://smtp.gmail.com";
$config["smtp_user"] = "";
$config["smtp_pass"] = "";
$config["charset"] = "utf-8";
$config["mailtype"] = "html";
$config["newline"] = "\r\n";
$config["smtp_port"] = '465';
$this->email->initialize($config);
$produto = $this->produtos_model->buscaPorId($venda["produto_id"]);
$vendedor = $this->usuarios_model->buscaPorId($produto["usuario_id"]);
$sucesso = $this->vendas_model->salva($venda);
$dados = array("produto" => $produto);
$conteudo = $this->load->view("vendas/email" , $dados, TRUE);
$this->email->from("emailparatestesdocurso@gmail.com" , "Mercado");
$this->email->to($vendedor["email"]);
$this->email->subject("Seu produto {$produto['nome']} foi vendido!");
$this->email->message("<?=conteudo?");
$this->email->send();
$this->session->set_flashdata("success" , "Pedido de Compra realizado com Sucesso");
redirect("/");
}
public function index(){
autoriza();
$this->load->helper("date");
$usuario = $this->session->userdata("usuario_logado");
$this->load->model("produtos_model");
$produtosVendidos = $this->produtos_model->buscaVendidos($usuario);
$dados = array('produtosVendidos' => $produtosVendidos);
$this->load->view("vendas/index" , $dados);
}
}
Mas minha aplicação não está carregando a biblioteca de emails, nem os dois models além do vendas_model, eu tento executar mudando as variáveis de lugar e ele aponta sempre o mesmo erro:
Fatal error: Call to a member function initialize() on null in C:\xampp\htdocs\mercado\application\controllers\vendas.php on line 22
Essa foi a primeira vez em todo o curso que presenciei esse erro de load.