⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 useraction.php

📁 一个通用的php网站的会员系统和通行证系统
💻 PHP
字号:
<?php
//package com.member.action;

import("com.member.biz.User");
import("com.member.admin.biz.UserProperty");

class UserAction extends Action {

	function &execute(&$ActionMapping, &$ActionForm, &$IN, &$TPL)
	{

		$User = new User();

		switch($IN["o"]) {
			case 'active_user':			
				if(!empty($IN[UserID]) && $User->activeUser($IN[UserID])) {
					$ActionMapping->doForwardAction( ActionMapping_Referer, 'user.active.ok');		
				} else {
					$ActionMapping->doForwardAction( ActionMapping_Referer, 'user.active.fail');				
				}
				break;
			case 'stop_user':					
				if(!empty($IN[UserID]) &&$User->stopUser($IN[UserID])) {
					$ActionMapping->doForwardAction( ActionMapping_Referer, 'user.stop.ok');					
				} else {
					$ActionMapping->doForwardAction( ActionMapping_Referer, 'user.stop.fail');					
				}
				break;
			case 'search_user':
				$offset = empty($IN[offset]) ? 20 : $IN[offset];
				$num= $User->searchUserNum($IN['username']);

				$pagenum=ceil($num/$offset);

				if(empty($IN[Page])) {
					$ActionMapping->doForwardAction($_SERVER["REQUEST_URI"]."&keywords=".urlencode($IN['keywords'])."&Page=1", 'user.search.forward');	
				}
				
				$Page = empty($IN[Page]) ? 1 : $Page = $IN[Page];
				$start=($Page-1)*$offset;
				
				$recordInfo[currentPage] = $Page;
				$recordInfo[pageNum] = $pagenum;
				$recordInfo[recordNum] = $num;
				$recordInfo[offset] = $offset;
				$recordInfo[from] = $start;
				$recordInfo[to] = $start+$offset;
				$recordInfo[uri] = $_SERVER["REQUEST_URI"];

				$TPL->assign("pList", $User->searchUserLimit($IN['keywords'], $start, $offset));
				$TPL->assign("recordInfo", $recordInfo);
				$ActionMapping->findForward("user.list");
				break;
			case 'edit_user':
				if(empty($IN[UserID])) $ActionMapping->findForward("user.list");
				$GroupInfo = $User->getAllGroup();
				$UserInfo  = $User->getUserInfo($IN[UserID]);

				$Info = $UserInfo;
//assignEditData SubGroupIDs start {{{

				$Datas = explode(',', $Info['SubGroupIDs']);
				foreach($GroupInfo as $key=>$var) {
					if(in_array($var['GroupID'], $Datas)) $TargetSubGroupIDs[] = array("title"=> $var['GroupName'], "value"=> $var['GroupID']) ;
					else $SrcSubGroupIDs[] = array("title"=> $var['GroupName'], "value"=> $var['GroupID']) ;
				}
				$TPL->assign('SrcSubGroupIDs', $SrcSubGroupIDs);

				$TPL->assign('TargetSubGroupIDs', $TargetSubGroupIDs);

				unset($SrcSubGroupIDs);
				unset($TargetSubGroupIDs);
//assignEditData SubGroupIDs end  }}}


//assignEditData RoleID start {{{
				import("com.member.admin.biz.Role");
				$role = new Role();
				foreach($role->getAll() as $key=>$var) {
					$roleInfo[] = array("title"=> $var['RoleName'], "value"=> $var['RoleID']) ;
				}
				$TPL->assign('SrcRoleID', $roleInfo);
				unset($roleInfo);
//assignEditData RoleID end  }}}

//assignEditData SubRoleIDs start {{{
				import("com.member.admin.biz.Role");
				$role = new Role();
				$roleInfo = $role->getAll();
				$Datas = explode(',', $Info['SubRoleIDs']);
				foreach($roleInfo as $key=>$var) {
					if(in_array($var['RoleID'], $Datas)) $TargetSubRoleIDs[] = array("title"=> $var['RoleName'], "value"=> $var['RoleID']) ;
					else $SrcSubRoleIDs[] = array("title"=> $var['RoleName'], "value"=> $var['RoleID']) ;
				}
				$TPL->assign('SrcSubRoleIDs', $SrcSubRoleIDs);

				$TPL->assign('TargetSubRoleIDs', $TargetSubRoleIDs);

				unset($SrcSubRoleIDs);
				unset($TargetSubRoleIDs);
//assignEditData SubRoleIDs end  }}}

//assignEditData OpIDs start {{{
				import("com.member.admin.biz.Operator");
				$operator = new Operator();
				$operatorInfo = $operator->getAll();
				$Datas = explode(',', $Info['OpIDs']);
				foreach($operatorInfo as $key=>$var) {
					if(in_array($var['OpID'], $Datas)) $TargetOpIDs[] = array("title"=> $var['OpName'], "value"=> $var['OpID']) ;
					else $SrcOpIDs[] = array("title"=> $var['OpName'], "value"=> $var['OpID']) ;
				}
				$TPL->assign('SrcOpIDs', $SrcOpIDs);

				$TPL->assign('TargetOpIDs', $TargetOpIDs);

				unset($SrcOpIDs);
				unset($TargetOpIDs);
//assignEditData OpIDs end  }}}
				$TPL->assign_by_ref("GroupInfo", $GroupInfo);
				$TPL->assign_by_ref('UserInfo', $UserInfo);



				$UserProperty = new UserProperty();
				$FieldsInfo = $UserProperty->getAllUserAccessFieldsInfo();
				$TPL->assign_by_ref("FieldsInfo", $FieldsInfo);


				$ActionMapping->findForward("user.edit");
				break;

			case 'edit_user_submit':
				//print_r($IN);exit;
				if($User->isUserNameExists($IN[UserName], $IN[UserID])) {
					$uInfo = $User->getUserInfo($IN[UserID]);
					$TPL->assign_by_ref("UserInfo", $uInfo);
					$errors->add(ActionErrors_GLOBAL_ERROR, "user.edit.usernameExists" );
					return $errors;
				}

				$User->addData("GroupID", $IN[GroupID]);
				$User->addData("SubGroupIDs", $IN[SubGroupIDs]);
				$User->addData("RoleID", $IN[RoleID]);
				$User->addData("SubRoleIDs", $IN[SubRoleIDs]);
				$User->addData("OpIDs", $IN[OpIDs]);
				$User->addData("Email", $IN[Email]);
				$User->addData("NickName", $IN["NickName"]);
				$User->addData("QQ", $IN["QQ"]);
				$User->addData("Gender", $IN["Gender"]);
				$User->addData("Birthday", $IN['Birthday']);
				$User->addData("Description", $IN['Description']);

				if(!empty($IN['Password']) && $IN['Password'] == $IN['Password2']) {
					$User->addData("Password", md5($IN['Password']));
				}

				if($User->update($IN[UserID])) {
					$UserProperty = new UserProperty();
					$FieldsInfo = $UserProperty->getAllUserAccessFieldsInfo();
					$User->flushData();
					if(!empty($FieldsInfo)) {
						foreach($FieldsInfo as $key=>$var) {
							$User->addData($var[FieldName], $IN[$var[FieldName]]);
						}
					}

					if($User->updateExtra($IN[UserID])) {
						$ActionMapping->doForwardAction( ActionMapping_Referer, "editprofile.success");
					} else {
						$errors->add(ActionErrors_GLOBAL_ERROR, "editprofile.fail.db" );
						return $errors;
					}


				} else {
					$errors->add(ActionErrors_GLOBAL_ERROR, "editprofile.fail.db" );
					return $errors;
				}

				break;
			case 'view_user':
				if(empty($IN[UserID])) $ActionMapping->findForward("user.list");

				$UserProperty = new UserProperty();
				$FieldsInfo = $UserProperty->getAllUserAccessFieldsInfo();
				$TPL->assign_by_ref("FieldsInfo", $FieldsInfo);

				$GroupInfo = $User->getAllGroup();
				$UserInfo  = $User->getUserInfo($IN[UserID]);

				$Info = $UserInfo;
				$TPL->assign_by_ref("UserInfo", $UserInfo );



//assignEditData SubGroupIDs start {{{

				$Datas = explode(',', $Info['SubGroupIDs']);
				foreach($GroupInfo as $key=>$var) {
					if(in_array($var['GroupID'], $Datas)) $TargetSubGroupIDs[] = array("title"=> $var['GroupName'], "value"=> $var['GroupID']) ;
					else $SrcSubGroupIDs[] = array("title"=> $var['GroupName'], "value"=> $var['GroupID']) ;
				}
				$TPL->assign('SrcSubGroupIDs', $SrcSubGroupIDs);

				$TPL->assign('TargetSubGroupIDs', $TargetSubGroupIDs);

				unset($SrcSubGroupIDs);
				unset($TargetSubGroupIDs);
//assignEditData SubGroupIDs end  }}}


//assignEditData RoleID start {{{
				import("com.member.admin.biz.Role");
				$role = new Role();
				foreach($role->getAll() as $key=>$var) {
					$roleInfo[] = array("title"=> $var['RoleName'], "value"=> $var['RoleID']) ;
				}
				$TPL->assign('SrcRoleID', $roleInfo);
				unset($roleInfo);
//assignEditData RoleID end  }}}

//assignEditData SubRoleIDs start {{{
				import("com.member.admin.biz.Role");
				$role = new Role();
				$roleInfo = $role->getAll();
				$Datas = explode(',', $Info['SubRoleIDs']);
				foreach($roleInfo as $key=>$var) {
					if(in_array($var['RoleID'], $Datas)) $TargetSubRoleIDs[] = array("title"=> $var['RoleName'], "value"=> $var['RoleID']) ;
					else $SrcSubRoleIDs[] = array("title"=> $var['RoleName'], "value"=> $var['RoleID']) ;
				}
				$TPL->assign('SrcSubRoleIDs', $SrcSubRoleIDs);

				$TPL->assign('TargetSubRoleIDs', $TargetSubRoleIDs);

				unset($SrcSubRoleIDs);
				unset($TargetSubRoleIDs);
//assignEditData SubRoleIDs end  }}}

//assignEditData OpIDs start {{{
				import("com.member.admin.biz.Operator");
				$operator = new Operator();
				$operatorInfo = $operator->getAll();
				$Datas = explode(',', $Info['OpIDs']);
				foreach($operatorInfo as $key=>$var) {
					if(in_array($var['OpID'], $Datas)) $TargetOpIDs[] = array("title"=> $var['OpName'], "value"=> $var['OpID']) ;
					else $SrcOpIDs[] = array("title"=> $var['OpName'], "value"=> $var['OpID']) ;
				}
				$TPL->assign('SrcOpIDs', $SrcOpIDs);

				$TPL->assign('TargetOpIDs', $TargetOpIDs);

				unset($SrcOpIDs);
				unset($TargetOpIDs);
//assignEditData OpIDs end  }}}


				$ActionMapping->findForward("user.view");
				break;
			case 'del':

				if($User->del($IN['UserID'])) {
					$ActionMapping->doForwardAction(ActionMapping_Referer, "user.del.success");
				} else{
					$ActionMapping->doForwardAction(ActionMapping_Referer, "user.del.fail");
				
				}

				break;

			case 'list':
			default:
				$offset = empty($IN[offset]) ? 20 : $IN[offset];
				$Page = empty($IN[Page]) ? 1 : $Page = $IN[Page];
				$num= $User->getUserNum();

				$pagenum=ceil($num/$offset);
				$start=($Page-1)*$offset;
					
				$recordInfo[currentPage] = $Page;
				$recordInfo[pageNum] = $pagenum;
				$recordInfo[recordNum] = $num;
				$recordInfo[offset] = $offset;
				$recordInfo[from] = $start;
				$recordInfo[to] = $start+$offset;
				$recordInfo[uri] = $_SERVER["REQUEST_URI"];

				if(!empty($IN['order']) && !empty($IN['sort']) ) {
					$IN['order'] = ($IN['order']=='asc') ? "asc" : "desc";
					$sort = "u.".$IN['sort'].' '.$IN['order'];						 
				}
				$list = $User->getUserLimit( $start, $offset, $sort );
				$TPL->assign_by_ref("pList", $list);
				$TPL->assign_by_ref("recordInfo", $recordInfo);	
				$ActionMapping->findForward("user.list");
				break;

		}


	}

}
?>

⌨️ 快捷键说明

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