<?php
namespace imcat;
(!defined('RUN_INIT')) && die('No Init');

// dopDocs(data OP for Docs)
class dopDocs extends dopBase{    

    public $kfix  = 'yyyy-md-';
    public $ktmp  = '31';
    public $tbext = '';
    public $_kid = 'did';
    public $_kno = 'dno';

    //function __destory(){  }
    function __construct($cfg,$percheck=array()){ 
        $mod = $cfg['kid'];
        parent::__construct($cfg,$cfg['pid']."_$mod");
        if(!empty($percheck)){
            dopCheck::addInit($cfg,$percheck);
        }
        $this->typfid = $this->so->typfid = 'catid';
        $this->dskey  = $this->so->dskey  = 'title'; 
        $this->order  = $this->so->order  = basReq::val('order','did'); 
        $this->tbext  = empty($this->cfg['etab']) ? '' : "dext_$mod";
    }
    // 翻页条,批量操作
    function pgbar($idfirst,$idend){
        $pg = $this->pg->show($idfirst,$idend);
        $op = "".basElm::setOption(basLang::show('flow.op_op3'),'',basLang::show('flow.op0_bacth'));
        dopFunc::pageBar($pg,$op);
    }
    // 搜索条 // check,fields
    function sobar($msg='',$width=30){ 
        $mod = $this->mod;
        $sbar = "\n".$this->so->Type(90,basLang::show('flow.op0_cat')); 
        if(method_exists($this,"sobar_$mod")){ //中间部分定制
            $sbar .= $this->{"sobar_$mod"}($msg,$width);
        }else{
            $sbar .= "\n&nbsp; ".$this->so->Word(80,80,basLang::show('flow.op0_filt'));
            $sbar .= "\n&nbsp; ".$this->so->Show(60);
        }
        $sbar .= "\n&nbsp; ".$this->so->Order(array('did' => basLang::show('flow.dops_ordkidd'),'did-a' => basLang::show('flow.dops_ordkida'),),80);
        $this->so->Form($sbar,$msg,$width);
    }
    // 搜索条:模块(pro)扩展
    //function sobar_pro($msg='',$width=30){}
    
    // Catid,show
    function fmCatid(){
        global $_cbase;
        glbHtml::fmae_row(lang('flow.dops_icat'),$this->fmType('catid').' &nbsp; '.lang('flow.dops_ishow').$this->fmShow());
        // Part资料(语言/城市)
        $partOpts = $this->fmPart();
        $partOpts && glbHtml::fmae_row($_cbase['part']['name'],$partOpts);
    } 
    // 属性设置
    function fmProp(){ 
        dopFunc::fmSafe();
        echo "<tr><th nowrap>".basLang::show('flow.title_attrset')."</th><th class='tr'>---</th></tr>\n";
        glbHtml::fmae_row(basLang::show('flow.title_attrtitle'),' &nbsp; ID:'.$this->fmSetID()); //'显示:'.$this->fmShow().
        $this->fmAE3();
    }
    // svEKey，
    function svEKey(){
        $this->svMoveFiles($this->fme['did']);
        return preg_replace('/[^0-9A-Za-z\.\-]/','',$this->fme['did']);
    }
    
    // opDelete。
    function opDelete($id){
        parent::opDelete($id);
        $this->tbext && $this->db->table($this->tbext)->where("did='$id'")->delete();      
        return 1;
    }
    // opCopy。
    function opCopy($id){ //docs,users
        // get-kid
        $kar = glbDBExt::dbAutID($this->tbid);
        $kid = $kar[0]; $kno = $kar[1];    
        // insert-2
        foreach(array($this->tbid, $this->tbext) as $tabid){
            $fm = $this->db->table($tabid)->where("did='$id'")->find();
            $fm['did'] = $kid;
            $this->db->table($tabid)->data(basReq::in($fm))->insert();    
        }
        return 1;
    }
    
}
