<?php
class ctl_debug extends adminPage{
    var $workground ='tools';

    function index(){
        $this->path[] = array('text'=>__('网店暂停营业'));
        $oDebug=&$this->system->loadModel('system/debug');
        $this->pagedata['shopurl']=$this->system->base_url();
        $this->pagedata['systemShopMode']=!is_file(HOME_DIR.'/notice.html');
        if(!$this->pagedata['systemShopMode']){
            $this->pagedata['announcement'] = file_get_contents(HOME_DIR.'/notice.html');
        }
        $this->pagedata['shop_mode']=$systemShopMode;
        $this->page('system/debug/debug.html');
    }

    function editShopMode(){
        $this->begin('index.php?ctl=system/debug&act=index');
        $oDebug=&$this->system->loadModel('system/debug');

        if($_POST['shop_mode']){
            $this->end($oDebug->stopShopMode($_POST['announcement']));
        }else{
            $this->end($oDebug->startShopMode());
        }
    }

    function fix_database(){
        $this->begin('index.php?ctl=system/debug&act=check_database');
        $schema=&$this->system->loadModel('utility/schemas');
        $db = &$this->system->database();
        $dbtables = $schema->get_system_schemas();
        foreach($dbtables as $tbname=>$struct){
            if($diffsql = $schema->diff($tbname,$struct)){
                foreach($diffsql as $sql){
                    $db->exec($sql);
                }
            }
        }
        $this->end(true,__('数据修复成功'));
    }
    function check_database(){
        $schema=&$this->system->loadModel('utility/schemas');
        $ret = array();
        $db = &$this->system->database();
        $dbtables = $schema->get_system_schemas();
        foreach($dbtables as $tbname=>$struct){
            if($diff = $schema->diff($tbname,$struct)){
                $ret[$db->prefix.$tbname] = $diff;
            }
        }
        $this->pagedata['diff'] = &$ret;
        $this->page('system/debug/databasecheck.html');
    }

    function clear(){
        if(constant('SAAS_MODE')){
            exit;
        }
        $this->page('system/debug/clear.html');
    }

    function cleardata(){
        if(constant('SAAS_MODE')){
            exit;
        }
        $this->begin('index.php?ctl=system/debug&act=clear');
        $operator = &$this->system->loadModel('admin/operator');
        if($operator->tryLogin($_POST)){
            $clr = &$this->system->loadModel('system/debug');
            $clr->clearData();
            $this->end(true,__('数据成功清除'));
        }else{
            $this->end(false,__('录入的用户名或密码不正确'));
        }

    }
}
?>
