function_back.php 11 KB
<?php
/*
*友情链接分类名称
*/
function LinkCatName($id){
	$data=M('Linkscat')->where('id='.$id)->find();
	return $data['name'];
}
function AdminNum($role){
	$count=M('Admin')->where('role='.$role)->count();
	return $count;
}
function GetTableName($id,$name='catname',$tab='Goodscat'){
	$table=M($tab);
	$data=$table->where('id='.$id)->find();
	return $data[$name];
}
function isflag($arr){
	$return='';
	if($arr['thumb'])$return .='<span style="color:red">&nbsp;[图]&nbsp;</span>';
	if($arr['flag']){
		$flag=String2Array($arr['flag']);
		if(in_array('h',$flag)) $return .='<span style="color:red">&nbsp;[热门]&nbsp;</span>';
		if(in_array('c',$flag)) $return .='<span style="color:red">&nbsp;[推荐]&nbsp;</span>';
	}
	return $return;
}
/*
1、内容列表、2	内容单页、3	栏目主页、4	列表主页、5	单页主页、0	外部链接
*/
function catType($id){
	switch ($id){
		case 1:
			$name='内容列表';break;  
		case 2:
			$name='内容单页';break;
		case 3:
			$name='栏目主页';break;
		case 4:
			$name='列表主页';break;
		case 5:
			$name='单页主页';break;
		case 0:
			$name='外部链接';break;
		default:
			$name='';
	}
	return '<span style="color: #ccc;">'.$name.'</span>';
}

/**
 * 左侧栏目导航
**/
	function leftmenu($v)
	{
		if($v)
		{
			echo '<ul class="sitemu">';
			foreach($v as $k => $v)
			{
				echo '<li>
						<span class="pp_1"><a target="main" href="'.$v['url'].'">'.$v['name'].'</a></span>
						<span class="pp_2">';

				if($v['add'])
				{
					echo '<a href="'.$v['add'].'" target="main"><img src="'.__PUB__.'img/gtk-sadd.png" /></a>';
				}	
				echo '</span>';
				// 如果有子类
				if($v['cmenulist'])
				{
					leftmenu($v['cmenulist']);
				}
				echo '</li>';
			}
			echo '</ul>';

		}
	}
/**
 * 夏令营判断申请字段内容并输出
 * @param type 字段类型
	bstring 多行文本:几行几列
	bool 布尔:1是0否
	s_elect 下拉列表:默认值选择
	c_heckbox 多选框:默认值选择
	r_adio 单选框:默认值选择
	string 文本
	t_extarea 文本域
	number 数字
 * @param name 字段名称
 * @param param array(val,row,col,ctitle) 默认选择值,行数,列数,列标题
 * @param isdate 是否调用日期控件
 * @param value 修改数据时已填写的数据
 */
	function checkApply($type,$name,$param=array('val'=>'','row'=>1,'col'=>1,'ctitle'=>''),$isdate='0',$value=''){
		if($param['val']) $vals=explode('#', $param['val']);	//默认选择值
		switch ($type) {
			case 'bstring':	//多行
				$row=$param['row']?$param['row']:1;
				$col=$param['col']?$param['col']:1;
				$str='<table>';
				if($param['ctitle']){	//列标题
					$ctitle=explode('#',$param['ctitle']);
					$str.='<tr>';
					foreach($ctitle as $k=>$v){
						$str.='<td>'.$v.'</td>';
						if($isdate && (strpos($v,'时间')!== false || strpos($v,'日期')!== false)) $datekey=$K+1;	//多行匹配关键词时间、日期来调用日期控件
					}
					$str.='</tr>';
				}
				// 修改时已填写数据
				if($value) $value=json_decode($value,true);
				for($i=1;$i<=$row;$i++){
					$str.='<tr>';
					for($ii = 1;$ii<=$col;$ii++){
						$str.='<td><input type="text" name="'.$name.'['.$i.']['.$ii.']" value="';
						if($value) $str.=$value[$i][$ii];
						$str.='"';
						if($ii == $datekey) $str.=' class="Wdate" onclick="WdatePicker()"';
						$str.=' /></td>';
					}
					$str.='</tr>';
				}
				$str.='</table>';
				break;
			case 's_elect':	//下拉
				$str='<select name="'.$name.'">';
				$str.='<option value="">请选择</option>';
				if($vals){
					foreach($vals as $v){
						$str.='<option value="'.$v.'"';
						if($value && $value==$v) $str.=' selected="selected"';
						$str.=' />'.$v.'</option>';
					}
				}
				$str.='</select>';
				break;
			case 'c_heckbox':	//多选
				if($vals){
					foreach($vals as $v){
						$str.='<input type="checkbox" name="'.$name.'" value="'.$v.'" ';
						if($value && $value==$v) $str.=' checked="checked"';
						$str.=' /> '.$v.' ';
					}
				}
				break;
			case 'r_adio':	//单选
				if($vals){
					foreach($vals as $k => $v){
						$str.='<input type="radio" name="'.$name.'" value="'.$v.'"';
						if(!$value && $k == 0)
							$str.=' checked';
						elseif($value && $value == $v)
							$str.=' checked';
						$str.=' /> '.$v.' ';
					}
				}
				break;
			case 'bool';
				$str = '<input type="radio" name="'.$name.'" value="1" ';
				if(($value && $value === 1) || !$value) $str.=' checked';
				$str.=' /> 是 <input type="radio" name="'.$name.'" value="0"';
				if($value && $value === 0) $str.=' checked';
				$str.=' /> 否';
				break;
			case 't_extarea':
				$str = '<textarea name="'.$name.'" style="width:80%;">'.$value.'</textarea>';
				break;
			case 'string':
				$str = '<input type="text" name="'.$name.'" value="'.$value.'" ';
				if($isdate) $str.=' class="Wdate" onclick="WdatePicker()"';
				$str.=' />';
				break;
			default:
				$str = '<input type="text" name="'.$name.'" value="'.$value.'" />';
				break;
		}
		return $str;
	}
/**
 * 夏令营判断申请字段内容并输出   只给出结果(非from表单)
 * @param type 字段类型
	bstring 多行文本:几行几列
	bool 布尔:1是0否
	s_elect 下拉列表:默认值选择
	c_heckbox 多选框:默认值选择
	r_adio 单选框:默认值选择
	string 文本
	t_extarea 文本域
	number 数字
 * @param name 字段名称
 * @param param array(val,row,col,ctitle) 默认选择值,行数,列数,列标题
 * @param isdate 是否调用日期控件
 * @param value 修改数据时已填写的数据
 */
	function checkApply2($type,$name,$param=array('val'=>'','row'=>1,'col'=>1,'ctitle'=>''),$isdate='0',$value='',$upfile=''){
		if($param['val']) $vals=explode('#', $param['val']);	//默认选择值
		switch ($type) {
			case 'bstring':	//多行
				$row=$param['row']?$param['row']:1;
				$col=$param['col']?$param['col']:1;
				$str='<table>';
				if($param['ctitle']){	//列标题
					$ctitle=explode('#',$param['ctitle']);
					$str.='<tr>';
					foreach($ctitle as $k=>$v){
						$str.='<td>'.$v.'</td>';
						if($isdate && (strpos($v,'时间')!== false || strpos($v,'日期')!== false)) $datekey=$K+1;	//多行匹配关键词时间、日期来调用日期控件
					}
					$str.='</tr>';
				}
				// 修改时已填写数据
				if($value) $value=json_decode($value,true);
				for($i=1;$i<=$row;$i++){
					$str.='<tr>';
					for($ii = 1;$ii<=$col;$ii++){
						$str.='<td>'.$value[$i][$ii].'</td>';
					}
					$str.='</tr>';
				}
				$str.='</table>';
				break;
			case 'bool';
				if($value === 1) $str='是';
				if($value === 0) $str='否';
				break;
			case 's_elect':	//下拉
			case 'c_heckbox':	//多选
			case 'r_adio':	//单选
			case 't_extarea':
			case 'string':
			default:
				if($upfile == '1'){
					$str = $value ? '<div class="upimg"><img src="'.$value.'" /></div>' : ' ';
				}elseif($upfile == '2'){
					$str = $value ? '<a href="'.$value.'" target="_blank">下载文件</a>' : ' ';
				}else{
					$str = $value;
				}
				break;
		}
		return $str;
	}
	/**
	 * 根据status1,status2,status3值来判断用户状态,并返回操作链接地址及名称
	 * @param  array $vo    $vo=array('status1','status2','status3','id')
	 * @param  int $sumid 夏令营id
	 * @param  int $p 页数
	 * @return array 链接及名称
	 */
	/*function doStatus($vo,$sumid,$p=1){
		if($vo['status1'] == 1 && $vo['status2'] == 1 && $vo['status3'] == 1){
    		$do['url']='';
    		$do['name']='已录取';
    		$do['name2']='已发待录取邀请';
    		switch($vo['status3_ac']){
    			case '1':
    				$do['ac']='拒绝';
    				break;
    			case '2':
    				$do['ac']='接受';
    			default:
    				$do['ac']=Null;
    		}
    	}elseif($vo['status1'] == 1 && $vo['status2'] == 1 && !$vo['status3']){
    		$do['url']='luqu';
    		$do['name']='待录取';
    		$do['name2']='已发参营邀请';
    		switch($vo['status2_ac']){
    			case '1':
    				$do['ac']='拒绝';
    				break;
    			case '2':
    				$do['ac']='接受';
    			default:
    				$do['ac']=Null;
    		}
    	}elseif($vo['status1'] == 1 && !$vo['status2'] && !$vo['status3']){
    		$do['url']='canying';
    		$do['name']='确定参营';
    		$do['name2']='已入备选库';
    	}elseif(!$vo['status1'] && !$vo['status2'] && !$vo['status3']){
    		$do['url']='beixuan';
    		$do['name']='备选';
    	}
    	if($do['url'])
    		$do['url']=U($do["url"],array('id'=>$vo['id'],'sumid'=>$sumid,'page'=>$p));
    	else
    		$do['url']=null;
    	return $do;
	}*/
	/**
	 * 根据ACTION_NAME,status1,status2,status3值来判断用户状态,并返回操作链接地址及名称
	 * @param  array $vo    $vo=array('status1','status2','status3','id')
	 * @param  int $sumid 夏令营id
	 * @param  string $action action_name
	 * @param  int $p 页数
	 * @return array 链接及名称
	 */
	function doStatus($vo,$sumid,$action,$p=1){
		switch($action){
			case 'operate':
				if($vo['status1'] == 1){
		    		$do['url']='';
		    		$do['name']='已入备选库';
		    	}elseif(!$vo['status1']){
		    		$do['url']='beixuan';
		    		$do['name']='备选';
		    	}
				break;
			case 'operate2':
				if($vo['status2'] == 1){
		    		$do['url']='';
		    		$do['name']='已发参营邀请';
		    		if($vo['status2_ac'] == 1){
		    			$do['ac']='拒绝';
		    			$do['url2']='canying';
		    		}elseif($vo['status2_ac'] == 2){
		    			$do['ac']='接受';
		    		}
		    	}else{
		    		$do['url']='canying';
		    		$do['name']='确定参营';
		    	}
				break;
			case 'operate3':
				if($vo['status3'] == 1){
		    		$do['url']='';
		    		$do['name']='已发待录取邀请';
		    		if($vo['status3_ac'] == 1){
		    			$do['ac']='拒绝';
		    			$do['url2']='luqu';	    			
		    		}elseif($vo['status3_ac'] == 2){
						$do['ac']='接受';
		    		}
		    	}else{
		    		$do['url']='luqu';
		    		$do['name']='待录取';
		    	}
		    	break;
		    case 'operate4':
	    		$do['url']='';
	    		$do['name']='录取';
		    	break;
		}
		$do['action'] = $action;
    	if($do['url']){
    		$do['url']=U($do["url"],array('id'=>$vo['id'],'sumid'=>$sumid,'page'=>$p));
    	}else{
    		$do['url']=null;
    	}
    	$do['url2']=$do['url2']?U($do["url2"],array('id'=>$vo['id'],'sumid'=>$sumid,'page'=>$p,'doagin'=>'yes')):null;	//再次邀请
    	return $do;
	}
/**
 * menu权限判断
 * @param $m_suf 数字后辍
 * @param $arr menu列表(控制器-方法)
 */
function doMenuPower($arr,$m_suf){
    ${m.$m_suf}=array_map('strtolower',$arr);
    ${s_m.$m_suf}=false;
    foreach(${m.$m_suf} as $k => $v){
        if(in_array($v,cookie('pp_authlist'))){
            ${nm.$m_suf}[$k]=true;
            ${s_m.$m_suf}=true;
        }else{
            ${nm.$m_suf}[$k]=false;
        }
    }
    $r=array(${s_m.$m_suf},${nm.$m_suf});
    return $r;
}