Files
2026-04-30 14:38:11 +02:00

87 lines
2.8 KiB
PHP

<?php defined('SYSPATH') OR die('No direct access allowed.');
abstract class Base_Admin_Controller extends Controller
{
public $view = 'admin_layout';
protected $email;
protected $message;
protected $redirect;
public function __construct()
{
parent::__construct();
#$this->profiler = new Profiler();
$this->view = new View($this->view);
$this->session = Session::instance();
$this->view->title = Kohana::config('application.title') ." - Administracja ";
$this->view->content = '';
#$this->view->main = '';
#$this->view->message = '';
$this->path_arrow = ' &nbsp;&raquo;&nbsp; ';
$this->email = array(Kohana::config('application.email'), Kohana::config('application.email_name'));
$this->session->set('tiny_mce_public_html_dir', Kohana::config('tiny_mce.public_html_dir'));
$this->session->set('tiny_mce_upload_dirs', Kohana::config('tiny_mce.upload_dirs'));
$this->view->message = $this->session->get('message');
#ustawienie przekierowania dla logowania
if(empty($_POST) && Router::$method != 'login' && Router::$method != 'logout')
{
#cookie::set('admin_redirect', url::current());
$this->session->set('admin_redirect', url::current());
}
#zabezpieczenie panelu admina
if(!$this->session->get('admin') && Router::$method != 'login' && Router::$method != 'logout')
{
# TODO ? zastosowac parametr GET '?url='.url::current() do przekazywania adresu strony o dodawac do redirect
url::redirect('admin/login');
}
else{
$this->admin = $this->session->get('admin');
$this->view->admin = $this->admin;
}
}
public function index()
{
url::redirect('');
}
public function error404()
{
header('HTTP/1.1 404 File Not Found');
$this->template->title .= ":: Error 404";
$error_view = new View('admin/error404');
#$content->page_name = Router::$current_uri.Router::$url_suffix. ' ('.Router::$routed_uri.')';
$error_view->page_name = Router::$current_uri.Router::$url_suffix;
$this->view->content = $error_view;
$this->view->render(true);
}
public function __call($method, $arguments)
{
return $this->error404();
}
protected function forward($controller, $method = 'index')
{
#Event::clear('system.post_controller',array($this,'_render'));
if(strpos($controller, '/') === false)
{
$controller = '/'. $controller;
}
list($directory, $controller) = explode('/', $controller);
Router::$controller = $controller;
Router::$method = $method;
$class = ucfirst($controller). '_Controller';
if ($filename = Kohana::find_file('controllers/'.$directory, $controller))
{
// Load the class extension
require_once $filename;
}
$object = new $class;
return $object->$method();
}
}