Hola buenas tengo un gran problema con un hook. Resulta que en cuanto lo cargo, en el modo post_controller_constructor, se ejecuta bien pero me inhabilita la funcion de load en los controllers, no puedo hacer un $this->load->model("usuarios_model"); y luego hacer $this->usuarios_model->funcion() porque me dice "Fatal error: Call to a member function funcion() on a non-object in ....../controllers/inicio.php" ¿A que puede ser debido?el codigo del hook es el siguiente
public function inicializar()
Código PHP:
{
$CI = &get_instance();
include("../SSI.php");
$CI->load->library("smff");
$CI->smf->inicializar($user_info);
if($this->smf->checklogin()){
redirect("http://............/login.php");
}
}
Código PHP:
$hook['post_controller_constructor'] = array(
'class' => 'SMFLoader',
'function' => 'inicializar',
'filename' => 'smfLoad.php',
'filepath' => 'hooks'
);
Hooks.php
Cabe decir que me interesa poder ejecutar esa libreria con esos parametros desde un controller cualquiera, cosa que no me da ningun problema, ya que pongo en mi controller
print_r($this->smf->user()) y visualizo todos mis datos, ya os digo el problema viene del hook, que bloquea los $this->load->model y $this->load->library en los controller, saltando el error mencionado antes.
¿Alguna idea? llevo 3 dias con este problema y ya no se ni por donde cogerlo, he probado de todo, y la cosa es o me funciona el load model o me funciona la libreria del hook no he conseguido que funcione las dos cosas a la vez
DATO: Si los models o las librerias las cargo desde autoload.php si me funcionan, pero no quiero tener cargado todo el rato models que solo uso en un controller o dos como mucho
¿Alguna idea?
El codgido de mi libreria smf.php es:
Código PHP:
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Smf{
private $context = array();
function inicializar($parametros){
$this->context= $parametros;
}
function user() {
return $context['user'];
}
function checklogin(){
return $this->$context['user']['is_guest'];
}
}