Esempio n. 1
0
 public function __construct()
 {
     parent::__construct();
     //$this->output->enable_profiler(TRUE);
     //check if config file is empty or it's not empty but script is not installed
     if ((is_db_conf_empty() || !is_installed()) && !defined('CS_EXTERNAL')) {
         redirect("setup/index");
     }
     //load database, datamapper and login manager
     $this->load->database();
     $this->load->library('datamapper');
     $this->load->library('translate');
     $this->load->library('loginmanager');
     //hack for datamapper prefix
     DataMapper::$config['prefix'] = $this->db->dbprefix;
     //set web site name in title
     $this->templatemanager->set_title(Setting::value('website_title', CS_PRODUCT_NAME));
     //test if should save uri
     $should = true;
     if ($this instanceof Process) {
         $uri = $path = trim($this->uri->uri_string());
         $file = new File();
         $file->path = $path;
         $mime = $file->mime_type();
         if ($mime !== 'text/html') {
             $should = false;
         }
     }
     //set current url for auth controller to know where to redirect
     if (!$this instanceof Auth && !$this instanceof JS && !$this->is_ajax_request() && $should) {
         $this->loginmanager->set_redirect(current_url());
     }
     //set time zone
     date_default_timezone_set(Setting::value('default_time_zone', 'Europe/Belgrade'));
     //set language
     $sess_lang = $this->session->userdata('lang');
     if (!empty($sess_lang)) {
         if (is_numeric($sess_lang)) {
             $lang = Language::factory()->get_by_id((int) $sess_lang)->name;
         } else {
             $lang = $sess_lang;
         }
     } else {
         $lang = Setting::value('default_language', 'English');
     }
     $this->translate->set_language($lang);
     //fetch user from the database if logged in
     if ($this->loginmanager->is_logged_in()) {
         $this->user = User::factory($this->loginmanager->user->id);
         $this->templatemanager->assign('user', $this->user);
     }
     $this->templatemanager->set_template_name($this->in_admin() ? "administration" : "");
     if ($this->in_admin() && isset($_GET['iu-popup'])) {
         $this->templatemanager->popup();
     }
 }
Esempio n. 2
0
 public function finish()
 {
     if (is_db_conf_empty()) {
         redirect('setup/help/database-config-missing');
     }
     file_put_contents(FCPATH . "installed.txt", format_version(CS_SETUP_VERSION));
     $this->templatemanager->assign('login_url', 'administration/dashboard');
     $this->templatemanager->show_template("finish");
 }