<?php
namespace imcat;

// dopBCv : 基本数据操作(data OP(base) for CellView) --- 单元格显示...
// for : dopBCv,
class dopBCv{    

    public 
$cfg = array();
    public 
$mod '';
    public 
$typfid 'catalog';
    public 
$order '';
    public 
$dskey '';
    public 
$urlstr '';
    public 
$whrstr '';

    
//function __destory(){  }
    
function __construct($cfg,$tabid){ 
        
$this->cfg $cfg;
        
$this->mod = empty($cfg['kid']) ? $cfg['kid'];
        
$this->tbid $tabid;
        
$this->type $cfg['pid']; 
    }
    
    function 
PTitle($mod,$val,$url='',$len=32,$filed=''){ //,$kid='',$link=''
        
$len is_numeric($len) ? $len 32;
        if(
$mod=='users'){
            
$uinfo usrBase::uget_minfo($val);    
            
$re = @$uinfo['uname'];
            if(isset(
$uinfo['company'])) $re $uinfo['company'];
        }else{
            
$re dopFunc::vgetTitle($mod,$val,$filed);
        }
        
$re basStr::filTitle($re);
        
$re = empty($re) ? "<span class='cCCC'>---</span>" $re;
        
$re basStr::cutWidth($re$len);
        
$re dopFunc::vgetLink($re,$mod,$val,$url); 
        echo 
"<td>".$re."</td>\n"// class='tc'
    
}
    
// 显示项-Select
    
function Select($val,$td=1){
        
$val "<input name='fs[$val]' type='checkbox' class='rdcb' value='1' />";
        if(empty(
$td)) return $val;
        return 
"<td class='tc'>$val</td>\n";
    }
    
// 显示项-Title
    
function Title($r,$td=1,$key='title',$url='',$len=32,$exstr=''){ 
        
$val $r[$key]; 
        
$val basStr::cutWidth($val,$len);
        if(!empty(
$r['color'])) $val "<span style='color:#{$r['color']}'>$val</span>"
        
$_key substr($this->type,0,1).'id'
        
$val dopFunc::vgetLink($val,$this->mod,$r[$_key],$url); 
        if(!empty(
$r['mpic'])){ 
            
$ticon comFiles::getTIcon($r['mpic']);
            
$val "<span class='c33F'>".($ticon['icon']=='pic' basLang::show('core.bcv_pic') : basLang::show('core.bcv_file'))."</span>$val"
        }
        if(empty(
$td)) return $val;
        return 
"<td class='tl'>$val{$exstr}</td>\n";
    }
    
// 显示项-TKeys, winpop,select,cbox,
    
function TKeys($r,$td=1,$key='',$len=12,$null='',$color=1){
        
$val $r[$key]; $vbak $val$vre = array();
        
$fc = @$this->cfg['f'][$key]; //if($key=='areas') dump($fc);
        
$vre vopCell::optArray($fc,$val,$color);
        if(empty(
$vre)){
            
$val = empty($vbak) ? $null $vbak;
        }else{
            
$val implode(',',$vre);
        }
        if(empty(
$td)) return $val;
        return 
"<td class='tc'>$val</td>\n";     
    }
    
// 显示项-Types
    
function Types($val,$td=1){
        
$val = empty($this->cfg['i'][$val]['title']) ? $val $this->cfg['i'][$val]['title'];
        if(empty(
$td)) return $val;
        return 
"<td class='tc'>$val</td>\n"
    }
    
// 显示项-Show
    
function Show($val,$td=1){ 
        
$val in_array($val,['0',0,1]) ? glbHtml::null_cell($val) : "($val)";
        if(empty(
$td)) return $val;
        return 
"<td class='tc'>$val</td>\n";
    }
    
// 显示项-Time
    
function Time($val,$td=1,$fmt='',$end=0){
        global 
$_cbase;
        if(empty(
$fmt)) $fmt='Y-m-d H:i';
        if(
$fmt=='y'$fmt='y-m-d H:i';
        if(
$fmt=='D'$fmt='Y-m-d';
        if(
$fmt=='d'$fmt='y-m-d';
        
$val = empty($val) ? "<span class='cCCC'>---</span>" date($fmt,$val);
        if(!empty(
$end)){
            
$vc date('Y-m-d',$_cbase['run']['stamp']);
            
$vd substr($val,0,10); 
            if(
$vc===$vd){
                
$val "<span class='c00F'>$val</span>";
            }elseif(
$vc>$vd){
                
$val "<span class='cF00'>$val</span>";
            }
        }
        if(empty(
$td)) return $val;
        return 
"<td class='tc'>$val</td>\n"
    }
    
// 显示项-Field
    
function Field($val,$td=1,$len=6,$url=''){ 
        
$val basStr::cutWidth($val,$len,'..');
        
$val basStr::filTitle($val);
        
$val = empty($val) ? "<span class='cCCC'>---</span>" $val;
        if(!empty(
$url)) $val "<a href='$url' target='_blank'>$val</a>";
        if(empty(
$td)) return $val;  
        return 
"<td class='tc'>$val</td>\n";
    }
    
// 显示项-Url
    
function Url($title,$td=1,$url='',$twin='',$w=780,$h=560){ 
        if(
$twin=='frame'){ 
            
$url .= "&frame=1";
            
$twin " target='_blank'";
        }elseif(
$twin=='blank'){
            
$twin " target='_blank'";
        }elseif(!empty(
$twin)){
            
$twin " onclick='return winOpen(this,\"$twin\",$w,$h);'";
        }else{
            
$twin '';
        }
        
$val "<a href='$url'$twin>$title</a>";
        if(empty(
$td)) return $val
        return 
"<td class='tc'>$val</td>\n";
    }
    
    
// 显示项-set_opts
    
function set_opts($key){ 
        
//set_new|新建\nset_doing|处理中\nset_paid|已付款\nset_send|已发货\nset_return|退货\n
        //$val = $r[$key]; $vbak = $val; $vre = array();
        
$fc = @$this->cfg['f'][$key];
        
$ftype = @$fc['type']; $cfgs = @$fc['cfgs'];
        
$extra = @$fc['fmextra']; $exstr = @$fc['fmexstr'];
        
$arr = array();
        if(
$extra=='winpop' && isset($_groups[$exstr])){ 
            
$arr basElm::text2arr($exstr);
        }elseif(
in_array($ftype,array('select','cbox'))){
            
$arr basElm::text2arr($cfgs);
        }
        
//$va = explode(',',$val); 
        
$re "";
        foreach(
$arr as $k=>$v){
            
$re .= "\nset_$k|".basLang::show('core.bcv_set')."`$k`$v";
        }
        return 
$re
    }

}