<?php

namespace admin\action;


use model\carmodel;
use model\pro\param;
use model\sample\photo;
use model\sample\sample;
use model\history;
use servers\baseModel;
use \servers\excel\write;
use Firebase\JWT\JWT;


class indexAction  extends baseAction
{

	public function testEmail()
	{
		$email = new \model\email();
		$res = $email->send('xxx@qq.com', 'title', 'test');
		dd($res);
	}


    public function test()
    {
       $sys = make(\model\sys::class);
       $sys->test();
    }

    //主界面框架与主菜单
    public function index()
    {
        \view::put();
    }

	public function main()
    {
        \view::put();
    }

	//语言包文件
	public function lgJsFile(){
		$langArr = \mvc::$localeData['project']['language'];
        $br = "\r\n";
        echo "var langs = [];".$br;
        foreach($langArr as $k=>$v){
            echo "langs['".$k."']='".$v."';".$br;
        }
	}
	
	//语言包编辑
	public function langlist(){
        $where = [];
        $iszh = false;
        if(\mvc::$req['filters']){
            $rules = json_decode(\mvc::$req['filters'],true);
            foreach($rules['rules'] as $rule){
                $where[$rule['field']] = strtolower(trim($rule['data']));
                if($rule['op']=='nn') $iszh = true;
            }
        }
        $rows=[];
        $file = \mvc::$cfg['dir']['locale'].'/'. \mvc::$cfg['locale'] .'/language/'.\mvc::$req['lang'].'/field.php';
        $scanfile = \mvc::$cfg['dir']['locale'].'/'. \mvc::$cfg['locale'] .'/language/'.\mvc::$req['lang'].'/field_scan.php';
        $field = require($file);
        $field_scan = require($scanfile);
        $langs = array_merge($field_scan,$field);
        foreach($langs as $k=>$v){
            if(isset($where['key']) && $where['key']!=''){
                if(strpos(strtolower($k),$where['key'])===false){
                    continue;
                }
            }
            if(isset($where['value']) && $where['value']!=''){
                if(strpos(strtolower($v),$where['value'])===false){
                    continue;
                }
            }
            if($iszh){
                preg_match("/[\x{4e00}-\x{9fa5}]+/u",$v,$m);
                if(!$m){
                    continue;
                }
            }
            $rows[] = ['key'=>trim($k),'value'=>$v];
        }
        $data = [
            'page'=>1,
            'records'=> count($rows),
            'total'=>1,
            'rows'=>$rows
        ];
        $this->successJson( $data );
	}
	//语言包保存
	public function langsave($data){
        $file = \mvc::$cfg['dir']['locale'].'/'. \mvc::$cfg['locale'] .'/language/'.\mvc::$req['lang'].'/field.php';
        $scanfile = \mvc::$cfg['dir']['locale'].'/'. \mvc::$cfg['locale'] .'/language/'.\mvc::$req['lang'].'/field_scan.php';
        $field = require($file);
        $field_scan = require($scanfile);
        $langs = array_merge($field_scan,$field);
        foreach ($data as $k=>$v){
            $langs[$v['key']] = $v['value'];
        }
        $br="\r\n";
        $contents = '<?php return['.$br;
        foreach($langs as $k=>$v){
            $contents.=sprintf("\t\"%s\" => \"%s\",%s",str_replace(["'",'"'],"\'",$k),str_replace(["'",'"'],"\'",$v),$br);
        }
        $contents.='];'.$br;
        file_put_contents($file,$contents);
        $this->successJson();
	}
	
	//CKV
	public function getKV($k,$v=''){
		$this->successJson( ['data'=>(new \model\ckv())->getKV($k,$v)] );
	}
	
	//Power
	public function getPowerData(){
	    $data = \p::getData();
	    if($data)
		    $this->successJson( $data );
		else
		    $this->errorJson( \p::error() );
	}

	public function phpInfo(){
        exit(phpinfo());
	}

	public function sessionInfo(){
		dd($_SESSION);
	}

	public function serverInfo(){
		dd($_SERVER);
	}

	public function power(){
        //处理前端权限
        $power = new \model\user\power();
        $works = $power->frontWork();

        $this->successJson(['works'=>$works]);
	}
	
}