维护模式冲突Codeigniter

时间:2014-09-13 08:03:08

标签: php codeigniter

在我的codeigniter项目中,我已经创建了一个维护模式模块,它可以与数据库一起使用。值1是值0维护模式关闭时的维护模式。

我想让MY_Controller与我的维护模式控制器一起工作。但是一直存在页面加载错误冲突。

如果维护模式打开并且管理员被注销,我的控制器不会重定向它应该重定向到维护控制器。如果我这样做(!$this->configs->get('config_maintenance')) {然后重定向确定但显示页面加载错误。

我的控制器。

<?php

class MY_Controller extends MX_Controller {

    function __construct() {
        parent::__construct();
        $this->load->library('configs');
        $this->load->library('user');

        // For Front End Controllers Only Have extends MY

        if ($this->configs->get('config_maintenance')) {

            if (!$this->user->isLogged()) {

                return true;

                redirect('/');

            } else {

                return false;

                redirect('maintenance');

            }

        }

    }

}

维护控制器

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Maintenance extends MY_Controller {

    function __construct() {
        parent::__construct();
    }

    public function index() {

        if ($this->configs->get('config_maintenance')) {

            if (!$this->user->isLogged()) {

                redirect('/');

            } else {

                $this->on();

            }

        } else {

            redirect('/');
        }

    }

    public function on() {
        echo "Maintenance Mode On";
    }

    public function off() {
        echo "Maintenance Mode Off";
    }
}

1 个答案:

答案 0 :(得分:0)

我现在修复了我的维护模式问题,我在家庭控制器上的操作是如何在维护控制器上使用扩展MY_Controller我现在使用MX_Controller工作。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Maintenance extends MX_Controller {

    public function index() {

        if ($this->session->userdata('isLogged')) {

            redirect('/');

        } else {

            $this->on();
        }

    }

    public function on() {
        echo "Maintenance Mode On";
    }

    public function off() {
        echo "Maintenance Mode Off";
    }

}

MY_Controller

<?php

class MY_Controller extends MX_Controller {

    function __construct() {
        parent::__construct();

        $this->maintenance();
    }

    public function maintenance() {

        if ($this->configs->get('config_maintenance')) {

            if (!$this->session->userdata('isLogged')) {

                redirect('maintenance');

            } else {

                return false;

            }

        }

    }
}