part.php

来自「极限OA开源系统」· PHP 代码 · 共 245 行

PHP
245
字号
<?
/********************************************************************************/
/* 极限办公自动化系统 (极限OA)													*/
/* ========================      												*/
/* 欢迎使用 极限OA,在您开始使用之前,请务必完整阅读本软件附带的全部说明档				*/
/********************************************************************************/
/* Welcome to http://www.xsp.cn & http://oa.xsp.cn								*/
/* 技术支持论坛 http://www.1119.net												*/
/********************************************************************************/
/* 商业购买请联系 临海市极限网络有限公司											*/
/* 联系电话: (0576) 5131349	邮件: mkt@xsp.cn	QQ: 562873							*/
/********************************************************************************/
if(!defined('KIN_UNION')){die("Hacking attempt");}
$pre_s = true;

if($sysaction == 'del') {
	checkright(91,51,4);
	if(is_array($delete)) {
		$ids = "0";
		foreach($delete as $val) {
			$ids .= ",$val";
			if($union_part == $val)
				showmessage("对不起 您不能删除自己所属角色, 请返回");
		}
	}
	$sql = "DELETE FROM $table_parts WHERE id IN ($ids)";
	$db->query($sql);
	header("Location:system.php?action=part");
}

if($sysaction == 'add') {
	checkright(91,51,2);
	if($name) {
		if($id) {
			checkright(91,51,3);
			$fig = intval($fig);
			$db->query("update $table_parts set name='$name',des='$des',fig='$fig' where id='$id'");
			header("Location:system.php?action=part");
		}else {
			$fig = intval($fig);
			$db->query("insert into $table_parts (name,des,fig) values ('$name','$des','$fig')");
		}
		header("Location:system.php?action=part");
	}else {
		$pre_s = false;
		if($id) {
			$par_t = $db->query_fetch("select * from $table_parts where id='$id'");
		}else
			$par_t[fig] = 1;
	}
}elseif($sysaction == 'rights') {
	if($s_admin) {
		checkright(91,51,3);
		$par_t = $db->query_fetch("select * from $table_parts where id='$id'");
		if(!$par_t[rights]) {
			include 'system/rights.php';
		}else
			$rights0 = $par_t[rights];
		$rights = unserialize($rights0);
		if(is_array($rights))
		foreach($rights AS $key => $val) {
			if(is_array($val[vk])) {
				$tmp_ar = array();
				foreach($val[vk] AS $key2 => $val2) {
					unset($vs,$vs2);
					for($i=0;$i<5;$i++) {
						$kname3 = 'chkFun'.$key.$key2.$i;
						$pts_na = ($$kname3)?1:0;
						$vs .= "$pts_na";
					}
					for($i=4;$i>=0;$i--) {
						if($vs[$i] == 1) {
							for($j=0;$j<=4;$j++) {
								if($j <= $i) {
									$vs2 .= "1";
								}else
									$vs2 .= "0";
							}
							break;
						}
					}
					$vs = $vs2?$vs2:$vs;
					$tmp_name = 'chkFun'.$key.$key2;
					$tmp_ar[$key2]['name'] = $val2['name'];
					$tmp_ar[$key2]['value'] = ($$tmp_name)?1:0;
					$tmp_ar[$key2]['vs'] = $val2['vs']=='-'?'-':$vs;
					if($key == 91 && $key2 == 51 && $vs[3] == 0) {
						showmessage("对不起 您不能将自己的角色管理权限去掉, 请返回");
					}
				}
			}
			$tmp_name0 = 'chkFun'.$key;
			$s1value = ($$tmp_name0)?1:0;
			$tmp_ars[$key] = array('name'=>$val[name],'value'=>$s1value,'vk'=>$tmp_ar);
		}
		$ss = serialize($tmp_ars);
		$db->query("update $table_parts set rights='$ss' where id='$id'");
		$db->query("OPTIMIZE TABLE $table_parts");

		showmessage('权限更新成功',"system.php?action=part");
	}else {
		$right5 = array('浏览','查询','添加','修改','删除');
		$par_t = $db->query_fetch("select * from $table_parts where id='$id'");
		if(!$par_t[rights]) {
			include 'system/rights.php';
		}else
			$rights0 = $par_t[rights];
		$rights = unserialize($rights0);
		if(is_array($rights))
		foreach($rights AS $key => $val) {
			if(is_array($val[vk])) {
				if(count($val[vk]) > 1)
					$codi = " rowspan='".count($val[vk])."'";
				else
					$codi = '';

			}
			if($ci % 2 == 0) $classname = 'light';
			else $classname = 'dark';
			$checked_1 = $val[value]?' checked':'';
			$out0 = "<td$codi nowrap><input class='checkbox' type='checkbox' name='chkFun$key' value='1'$checked_1 onclick='Update$key()'>$val[name]</td>\n";
			if(is_array($val[vk])) {
				foreach($val[vk] AS $key2 => $val2) {
					$jsout1 .= "ThisForm.chkFun$key$key2.checked = true;\n";
					$jsout2 .= "ThisForm.chkFun$key$key2.checked = false;\n";
					if(!$isi) $out1 = $out0;
					else $out1 = '';
					if(!$isi) {
						foreach($val[vk] AS $key_2 => $val_2) {
							$jsout3 .= "if(ThisForm.chkFun$key$key_2.checked == false){One_checked=One_checked+1;}";
						}
					}
					$isi++;

					$one_checks = count($val[vk]);
					$out2 = $outiii = '';
					if($val2[vs] == '-') $out2 = "&nbsp;";
					else {
						for($j=0;$j<5;$j++) {
							$jsout10 .= "ThisForm.chkFun$key$key2$j.checked = true;\n";
							$jsout20 .= "ThisForm.chkFun$key$key2$j.checked = false;\n";
							$jsout1 .= "ThisForm.chkFun$key$key2$j.checked = true;\n";
							$jsout2 .= "ThisForm.chkFun$key$key2$j.checked = false;\n";
							$checked_3 = $val2['vs'][$j]?' checked':'';
							$out2 .= "<input class='checkbox' type='checkbox' name='chkFun$key$key2$j' value='1'$checked_3 onclick='Update$key$key2$j()'> $right5[$j]";
							$jstmp1 = $jstmp2 = '';
							for($jis=0;$jis<$j;$jis++) {
								$jstmp1 .= "ThisForm.chkFun$key$key2$jis.checked = true;\n";
							}
							for($jis=4;$jis>$j;$jis--) {
								$jstmp2 .= "ThisForm.chkFun$key$key2$jis.checked = false;\n";
							}
							if($j == 0)
								$jstmp2 .= "ThisForm.chkFun$key$key2.checked = false;\nOne_checked=1;\n $jsout3 \n if(One_checked==$one_checks+1){\nThisForm.chkFun$key.checked=false;ThisForm.chkFun$key$key2.checked=false}";
$out .= <<<TOD
<script language="javascript">

			function Update$key$key2$j(){
				if(ThisForm.chkFun$key$key2$j.checked == true){
						ThisForm.chkFun$key$key2.checked = true
						ThisForm.chkFun$key.checked = true
						$jstmp1
				}else if(ThisForm.chkFun$key$key2$j.checked == false){
						$jstmp2
				}
			}
</script>
TOD;
						}
					}
					$checked_2 = $val2[value]?' checked':'';
					$out .= "<tr class='$classname'>$out1<td nowrap><input class='checkbox' type='checkbox' name='chkFun$key$key2' value='1'$checked_2 onclick='Update$key$key2()'>$val2[name]</td><td nowrap>$out2</td></tr>\n";
$out .= <<<TOD
<script language="javascript">

	function Update$key$key2(){
			if(ThisForm.chkFun$key$key2.checked == true){
				ThisForm.chkFun$key.checked = true;
				$jsout10
				
			}else if(ThisForm.chkFun$key$key2.checked == false){
				$jsout20
				
				One_checked=1;
				//alert(5);
				
					$jsout3
				
				if(One_checked==$one_checks+1){
					ThisForm.chkFun$key.checked=false
				}
			}
	}
</script>
$outiii
TOD;
unset($jsout10,$jsout20);
				}
			}
$out .= <<<TOD
<script language="javascript">

	function Update$key(){
		if(ThisForm.chkFun$key.checked == true){
			
				$jsout1
				
		}else if(ThisForm.chkFun$key.checked == false){
				$jsout2
				
		}
	}
</script>
TOD;
			unset($isi,$jsout1,$jsout2,$jsout3);
			//$out .= "</tr>\n\n";
			$ci++;
		}
	}
}


if($pre_s) {
	$perpage = 15;
	if(!$page) {
		$page = 1;
	}
	$offset = ($page - 1) * $perpage;
	$query = $db->query("SELECT COUNT(*) FROM $table_parts");
	$num = $total = $db->result($query, 0);
	$multipage = pages($num, $perpage, $page, "system.php?action=part");

	$query = $db->query("select * from $table_parts order by id ASC LIMIT $offset, $perpage");
	$num = $db->num_rows($query);
	while($list = $db->fetch_array($query)) {
		$list[des] = $list[des]?$list[des]:"&nbsp;";;
		$list[fig] = $list[fig]?'<font color=blue>可用</font>':'<font color=red>禁用</font>';
		$part_list[$list[id]] = $list;
	}
}



include getData('system_part');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?