<?php

/**
 * @author darkredz
 */
class SettingController extends DooController {
	public $staff = array ();
	public function beforeRun($resource, $action) {
	}
	function __construct() {
		if (isset ( $_COOKIE ["staff"] )) {
			if (! empty ( $_COOKIE ["staff"] )) {
				Doo::loadModel ( 'staff' );
				$staff = new staff ();
				
				$this->staff = $staff->getStaffBySid ( $_COOKIE ["staff"] );
				
				return "/";
			}
		}
		
		Doo::loadCore ( 'uri/DooUriRouter' );
		$router = new DooUriRouter ();
		$routeRs = $router->execute ( Doo::app ()->route, Doo::conf ()->SUBFOLDER );
		
		if ($routeRs ['1'] != "login") {
			header ( 'Content-Type:text/html;charset=utf-8' );
			@header ( "Location: /login" );
		}
	}
	
	/**
	 * 员工信息
	 */
	function settingEmployeeInfo() {
		Doo::loadModel ( 'staff' );
		$staff = new staff ();
		
		$isShowMsg = false;
		
		$detail = $staff->checkStaffInfoIsComplete ( $_COOKIE ["staff"] );
		
		if ($detail ['telephone'] == "")
			$isShowMsg = true;
		if ($detail ['qq'] == "")
			$isShowMsg = true;
		if ($detail ['wecat'] == "")
			$isShowMsg = true;
		if ($detail ['phone'] == "")
			$isShowMsg = true;
		if ($detail ['email'] == "")
			$isShowMsg = true;
		if ($detail ['birthday'] == "")
			$isShowMsg = true;
		if ($detail ['marriage'] == "")
			$isShowMsg = true;
		if ($detail ['living'] == "")
			$isShowMsg = true;
		if ($detail ['nativePlace'] == "")
			$isShowMsg = true;
		if ($detail ['emergencyContacts'] == "")
			$isShowMsg = true;
		
		
			
		$this->data ['isShowMsg'] = $isShowMsg;
		$this->data ['staff'] = $this->staff;
		$this->data ['memu'] = "adminmyinfo";
		$this->data ['hrMemu'] = "settingEmployeeInfo";
		
		$this->render ( "/setting/settingEmployeeInfo", $this->data );
	}
	
	
	function settingAvatarInfo(){
		$this->data ['staff'] = $this->staff;
		$this->data ['memu'] = "adminmyinfo";
		$this->data ['hrMemu'] = "settingAvatarInfo";
		
		$this->render ( "/setting/settingAvatarInfo", $this->data );
	}
	
	/**
	 * 证件信息
	 */
	function settingCredentialInfo() {
		Doo::loadModel ( 'staff' );
		$staff = new staff ();
		
		$detail = $staff->getStaffBySid ( $this->staff ['sid'] );
		
		$this->data ['staff'] = $this->staff;
		$this->data ['memu'] = "adminmyinfo";
		$this->data ['hrMemu'] = "settingEmployeeInfo";
		
		$this->render ( "/setting/settingCredentialInfo", $this->data );
	}
	/**
	 * 财务信息
	 */
	function settingFinanceInfo() {
		$this->data ['staff'] = $this->staff;
		$this->data ['memu'] = "adminmyinfo";
		$this->data ['hrMemu'] = "settingEmployeeInfo";
		
		$this->render ( "/setting/settingFinanceInfo", $this->data );
	}
	function settingPW() {
		$this->data ['msg'] = urldecode ( $this->params ['msg'] );
		
		$this->data ['staff'] = $this->staff;
		$this->data ['memu'] = "adminmyinfo";
		$this->data ['hrMemu'] = "settingPW";
		
		$this->render ( "/setting/settingPW", $this->data );
	}
	
	/*
	 * 更新密码
	 */
	function updateMyPW() {
		$oldpassword = $this->get_args ( 'oldpassword' ) ? $this->get_args ( 'oldpassword' ) : "";
		$newpassword = $this->get_args ( 'newpassword' ) ? $this->get_args ( 'newpassword' ) : "";
		$rnewpassword = $this->get_args ( 'rnewpassword' ) ? $this->get_args ( 'rnewpassword' ) : "";
		
		Doo::loadModel ( 'staff' );
		$staff = new staff ();
		Doo::loadModel ( 'staffDynamic' );
		$staffDynamic = new staffDynamic ();
		
		$staff->sid = $this->staff ['sid'];
		
		$msg = "更新成功";
		
		if ($this->staff ['passwork'] == md5 ( $oldpassword )) {
			if ($newpassword == $rnewpassword && (! empty ( $newpassword )))
				$staff->passwork = md5 ( $newpassword );
			else
				$msg = "密码不一致";
		} else {
			if ($oldpassword != "")
				$msg = "密码错误";
		}
		
		$staff->update ( array (
				'where' => ' sid=' . $this->staff ['sid'] 
		) );
		
		return "/settingPW/" . $msg;
	}
	
	/**
	 * 微信通知设置
	 */
	function notificationConf() {
		Doo::loadModel ( "notificationConf" );
		$notificationConf = new notificationConf ();
		
		$detail = $notificationConf->getNotificationConfBySid ( $this->staff ['sid'] );
		
		$rule = json_decode ( $detail ['conf'], true );
		if (! isset ( $rule ['approval'] ))
			$rule ['approval'] = '';
		if (! isset ( $rule ['print'] ))
			$rule ['print'] = '';
		if (! isset ( $rule ['receivables'] ))
			$rule ['receivables'] = '';
		
		$this->data ['rule'] = $rule;
		$this->data ['memu'] = "adminmyinfo";
		$this->data ['hrMemu'] = "notificationConf";
		$this->data ['staff'] = $this->staff;
		
		$this->render ( "/setting/invoiceNotificationConf", $this->data );
	}
	
	/**
	 * 异步设置微信通知
	 */
	function ajaxSetNotificationConf() {
		$notificationType = $this->get_args ( 'notificationType' ) ? $this->get_args ( 'notificationType' ) : "";
		$notificationValue = $this->get_args ( 'notificationValue' ) ? $this->get_args ( 'notificationValue' ) : '';
		
		if (! empty ( $notificationType ) && ! empty ( $notificationValue ) && ! empty ( $this->staff ['sid'] )) {
			Doo::loadModel ( "notificationConf" );
			$notificationConf = new notificationConf ();
			
			$detail = $notificationConf->getNotificationConfBySid ( $this->staff ['sid'] );
			
			if (empty ( $detail )) {
				$rule = array (
						$notificationType => $notificationValue 
				);
				$rule = json_encode ( $rule );
				$item = array (
						'sid' => $this->staff ['sid'],
						'conf' => $rule 
				);
				
				$notificationConf->addNotification ( $item );
			} else {
				$rule = json_decode ( $detail ['conf'], true );
				$rule [$notificationType] = $notificationValue;
				$rule = json_encode ( $rule );
				$item = array (
						'nid' => $detail ['nid'],
						'conf' => $rule 
				);
				$notificationConf->setNotificationByCondition ( $item );
			}
			echo json_encode ( array (
					'status' => 1,
					'msgType' => $notificationType,
					'msg' => '' 
			) );
			die ();
		}
		echo json_encode ( array (
				'status' => 2,
				'msgType' => $notificationType,
				'msg' => 'illegal request' 
		) );
		die ();
	}
	
	/**
	 * 更新员工信息
	 */
	function staffUpdate() {
		$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
		
		$username = $this->get_args ( 'username' ) ? $this->get_args ( 'username' ) : "";
		$cid_did = $this->get_args ( 'cid_did' ) ? $this->get_args ( 'cid_did' ) : '';
		//$position = $this->get_args ( 'position' ) ? $this->get_args ( 'position' ) : '';
		$hiredate = $this->get_args ( 'hiredate' ) ? $this->get_args ( 'hiredate' ) : '';
		$telephone = $this->get_args ( 'telephone' ) ? $this->get_args ( 'telephone' ) : '';
		// $baseWage = is_numeric ( $this->get_args ( 'baseWage' ) ) ? $this->get_args ( 'baseWage' ) : 0;
		// $postWage = is_numeric ( $this->get_args ( 'postWage' ) ) ? $this->get_args ( 'postWage' ) : 0;
		// $achievementBonus = is_numeric ( $this->get_args ( 'achievementBonus' ) ) ? $this->get_args ( 'achievementBonus' ) : 0;
		$gender = $this->get_args ( 'gender' ) ? $this->get_args ( 'gender' ) : '';
		
		$qq = is_numeric ( $this->get_args ( 'qq' ) ) ? $this->get_args ( 'qq' ) : 0;
		$phone = is_numeric ( $this->get_args ( 'phone' ) ) ? $this->get_args ( 'phone' ) : 0;
		$wecat = $this->get_args ( 'wecat' ) ? $this->get_args ( 'wecat' ) : '';
		$email = $this->get_args ( 'email' ) ? $this->get_args ( 'email' ) : '';
		
		$birthday = $this->get_args ( 'birthday' ) ? $this->get_args ( 'birthday' ) : '';
		$qualifications = $this->get_args ( 'qualifications' ) ? $this->get_args ( 'qualifications' ) : '';
		$marriage = $this->get_args ( 'marriage' ) ? $this->get_args ( 'marriage' ) : '0';
		$IDcards = $this->get_args ( 'IDcards' ) ? $this->get_args ( 'IDcards' ) : '';
		
		$living = $this->get_args ( 'living' ) ? $this->get_args ( 'living' ) : '';
		$nativePlace = $this->get_args ( 'nativePlace' ) ? $this->get_args ( 'nativePlace' ) : '';
		$emergencyContacts = $this->get_args ( 'emergencyContacts' ) ? $this->get_args ( 'emergencyContacts' ) : '';
		$remittanceName = $this->get_args ( 'remittanceName' ) ? $this->get_args ( 'remittanceName' ) : '';
		$coupletNumber = $this->get_args ( 'coupletNumber' ) ? $this->get_args ( 'coupletNumber' ) : '';
		$bankName = $this->get_args ( 'bankName' ) ? $this->get_args ( 'bankName' ) : '';
		$bankNumber = $this->get_args ( 'bankNumber' ) ? $this->get_args ( 'bankNumber' ) : '';
		
		$salaryCard = $this->get_args ( 'salaryCard' ) ? $this->get_args ( 'salaryCard' ) : '';
		$salaryBank = $this->get_args ( 'salaryBank' ) ? $this->get_args ( 'salaryBank' ) : '';
		
		$employeeInfo = $this->get_args ( 'employeeInfo' ) ? $this->get_args ( 'employeeInfo' ) : 'employeeInfo';
		
		$nation = $this->get_args ( 'nation' ) ? $this->get_args ( 'nation' ) : '';
		$graduateInstitutions = $this->get_args ( 'graduateInstitutions' ) ? $this->get_args ( 'graduateInstitutions' ) : '';
		$major = $this->get_args ( 'major' ) ? $this->get_args ( 'major' ) : '';
		$education = $this->get_args ( 'education' ) ? $this->get_args ( 'education' ) : '';
		$graduationTime = $this->get_args ( 'graduationTime' ) ? $this->get_args ( 'graduationTime' ) : '';
		$registeredResidence = $this->get_args ( 'registeredResidence' ) ? $this->get_args ( 'registeredResidence' ) : '';
		$householdRegistrationType = $this->get_args ( 'householdRegistrationType' ) ? $this->get_args ( 'householdRegistrationType' ) : '';
		
		if (! empty ( $sidKey )) {
			
			Doo::loadClass ( 'XDeode' );
			$XDeode = new XDeode ( 5 );
			Doo::loadModel ( 'staff' );
			$staff = new staff ();
			Doo::loadModel ( 'L_category' );
			$L_category = new L_category ();
			Doo::loadModel ( 'tag' );
			Doo::loadModel ( 'holidaystaff' );
			Doo::loadModel ( 'staffManage' );
			$staffManage = new staffManage ();
			
			// 用户名检测
			if (! empty ( $username )) {
				$detail = $staff->getStaffByName ( $username );
				if (empty ( $detail ))
					die ( 'illegal request' );
			}
			$detail = $staff->getStaffBySid ( $sidKey );
			if (empty ( $detail ))
				die ( 'illegal request' );
				// if (!empty($username))
				// $staff->username = $username;
			if (! empty ( $hiredate ))
				$staff->hiredate = $hiredate;
// 			if (! empty ( $position )){
// 				$position = explode ( '_', $position );
// 				$staff->position = $position[1];
// 				$staff->positionId = $position[0];
// 			}
				
				// 办事处-部门
			if (! empty ( $cid_did )) {
				$department = explode ( '_', $cid_did );
				$cid = $XDeode->decode ( $department [0] );
				// 加入默认总部分类
				if (! is_numeric ( $cid ))
					die ( 'illegal request' );
				$cagegory = $L_category->getCategoryById ( $cid );
				// 部门
				$staff->departmentID =0;
				if (! empty ( $department [1] )) {
					$did = $XDeode->decode ( $department [1] );
					if (! is_numeric ( $did ))
						die ( 'illegal request' );
					$staff->departmentID = $did;
				}
				$staff->cid = $cagegory [0] ['cid'];
				$staff->category = $cagegory [0] ['title'];
			}
			
			if (! empty ( $telephone ))
				$staff->telephone = $telephone;
				// if (!empty($baseWage))
				// $staff->baseWage = $baseWage;
				// if (!empty($postWage))
				// $staff->postWage = $postWage;
				// if (!empty($achievementBonus))
				// $staff->achievementBonus = $achievementBonus;
			if (! empty ( $gender ))
				$staff->gender = $gender;
			
			if (! empty ( $qq ))
				$staff->qq = $qq;
			if (! empty ( $phone ))
				$staff->phone = $phone;
			if (! empty ( $wecat ))
				$staff->wecat = $wecat;
			if (! empty ( $email ))
				$staff->email = $email;
			if (! empty ( $birthday ))
				$staff->birthday = $birthday;
			if (! empty ( $qualifications ))
				$staff->qualifications = $qualifications;
			if ($marriage != '请选择')
				$staff->marriage = $marriage;
			else
				$staff->marriage = '';
			if (! empty ( $IDcards ))
				$staff->IDcards = $IDcards;
			if (! empty ( $living ))
				$staff->living = $living;
			if (! empty ( $nativePlace ))
				$staff->nativePlace = $nativePlace;
			if (! empty ( $emergencyContacts ))
				$staff->emergencyContacts = $emergencyContacts;
			if (! empty ( $coupletNumber ))
				$staff->coupletNumber = $coupletNumber;
			if (! empty ( $bankName ))
				$staff->bankName = $bankName;
			if (! empty ( $bankNumber ))
				$staff->bankNumber = $bankNumber;
			if (! empty ( $remittanceName ))
				$staff->remittanceName = $remittanceName;
			
			if (! empty ( $salaryCard ))
				$staff->salaryCard = $salaryCard;
			if (! empty ( $salaryBank ))
				$staff->salaryBank = $salaryBank;
			
			if (! empty ( $nation ))
				$staff->nation = $nation;
			if (! empty ( $graduateInstitutions ))
				$staff->graduateInstitutions = $graduateInstitutions;
			if (! empty ( $major ))
				$staff->major = $major;
			if (! empty ( $education ))
				$staff->education = $education;
			if (! empty ( $graduationTime ))
				$staff->graduationTime = $graduationTime;
			if (! empty ( $registeredResidence ))
				$staff->registeredResidence = $registeredResidence;
			if (! empty ( $householdRegistrationType ))
				$staff->householdRegistrationType = $householdRegistrationType;
			
			$staff->update ( array (
					'where' => 'sid=' . $detail ['sid'] 
			) );
			
			if ($employeeInfo == 'employeeInfo') {
				return '/hr';
			} elseif ($employeeInfo == 'hrEmployee') {
					return '/hrEmployee';
			} elseif ($employeeInfo == 'settingEmployeeInfo') {
				return '/settingEmployeeInfo';
			} elseif ($employeeInfo == 'settingFinanceInfo') {
				return '/settingFinanceInfo';
			}
		}
		die ( 'illegal request' );
	}
	
	/**
	 * 证件文件上传
	 */
	function settingCredentialInfoDo() {
		// include Doo::conf ()->BASE_PATH . 'diagnostic/debug.php';
		$IDcards = is_numeric ( $this->get_args ( 'IDcards' ) ) ? $this->get_args ( 'IDcards' ) : 0;
		$certificate = $this->get_args ( 'certificate' ) ? $this->get_args ( 'certificate' ) : '';
		$diploma = $this->get_args ( 'diploma' ) ? $this->get_args ( 'diploma' ) : '';
		$professionalTitle = $this->get_args ( 'professionalTitle' ) ? $this->get_args ( 'professionalTitle' ) : '';
		
		$IDcardsValidity = $this->get_args ( 'IDcardsValidity' ) ? $this->get_args ( 'IDcardsValidity' ) : '';
		
		
		Doo::loadModel ( 'staff' );
		$staff = new staff ();
		
		$detail = $staff->getStaffBySid ( $this->staff ['sid'] );
		
		$save_path = DOO::conf ()->SITE_PATH . "upload/credentialInfo/";
		$webSite = WEB_SITE . '/upload/credentialInfo/';
		
		// if (!empty($IDcards))
		$staff->IDcards = $IDcards;
		
		$msg = '';
		$file_name = 'IDcardsImgA_' . $this->staff ['sid'] . '.' . $this->_GetFileEXT ( $_FILES ["IDcardsImgA"] ['name'] );
		if (! empty ( $_FILES ["IDcardsImgA"] ["size"] )) {
			if (! @move_uploaded_file ( $_FILES ["IDcardsImgA"] ["tmp_name"], $save_path . $file_name ))
				$msg .= "文件无法保存";
			else {
				$staff->IDcardsImgA = $webSite . $file_name;
			}
		}
		
		$file_name = 'IDcardsImgB_' . $this->staff ['sid'] . '.' . $this->_GetFileEXT ( $_FILES ["IDcardsImgB"] ['name'] );
		if (! empty ( $_FILES ["IDcardsImgB"] ["size"] ))
			if (! @move_uploaded_file ( $_FILES ["IDcardsImgB"] ["tmp_name"], $save_path . $file_name )) {
				$msg .= "文件无法保存";
			} else {
				$staff->IDcardsImgB = $webSite . $file_name;
			}
		
		if (! empty ( $certificate )) {
			$certificateArray = explode ( "-", $certificate );
			$name = json_decode ( $detail ['certificate'] );
			if (! empty ( $name )) {
				$certificateArray = array_merge_recursive ( $name, $certificateArray );
				$staff->certificate = json_encode ( $certificateArray );
			} else
				$staff->certificate = json_encode ( $certificateArray );
		}
		
		if (! empty ( $diploma )) {
			$diplomaArray = explode ( "-", $diploma );
			$name = json_decode ( $detail ['diploma'] );
			if (! empty ( $name )) {
				$diplomaArray = array_merge_recursive ( $name, $diplomaArray );
				$staff->diploma = json_encode ( $diplomaArray );
			} else
				$staff->diploma = json_encode ( $diplomaArray );
		}
		
		if (! empty ( $professionalTitle )) {
			$professionalTitleArray = explode ( "-", $professionalTitle );
			$name = json_decode ( $detail ['professionalTitle'] );
			if (! empty ( $name )) {
				$professionalTitleArray = array_merge_recursive ( $name, $professionalTitleArray );
				$staff->professionalTitle = json_encode ( $professionalTitleArray );
			} else
				$staff->professionalTitle = json_encode ( $professionalTitleArray );
		}
		
		if(!empty($IDcardsValidity)){
			$staff->IDcardsValidity = $IDcardsValidity;
		}
		
		$staff->update ( array (
				'where' => 'sid=' . $this->staff ['sid'] 
		) );
		return '/settingCredentialInfo';
	}
	
	/**
	 * 上传学位证书
	 * @return string
	 */
	function settingCredentialInfoTypeDo() {
		$hunTian = isset ( $this->params ['hunTian'] ) ? $this->params ['hunTian'] : "";
		
		if (empty ( $hunTian )) {
			echo "文件无法保存.";
			exit ( 0 );
		}
		
		$POST_MAX_SIZE = ini_get ( 'post_max_size' );
		$unit = strtoupper ( substr ( $POST_MAX_SIZE, - 1 ) );
		$multiplier = ($unit == 'M' ? 1048576 : ($unit == 'K' ? 1024 : ($unit == 'G' ? 1073741824 : 1)));
		
		if (( int ) $_SERVER ['CONTENT_LENGTH'] > $multiplier * ( int ) $POST_MAX_SIZE && $POST_MAX_SIZE) {
			header ( "HTTP/1.1 500 Internal Server Error" );
			echo "POST exceeded maximum allowed size.";
			exit ( 0 );
		}
		
		// Settings
		$save_path = DOO::conf ()->SITE_PATH . "/upload/credentialInfo/"; // The path were we will save the file (getcwd() may not be reliable and should be tested in your environment)
		$upload_name = "Filedata";
		$max_file_size_in_bytes = 2147483647; // 2GB in bytes
		$extension_whitelist = array (
				"doc",
				"txt",
				"jpg",
				"gif",
				"png" 
		); // Allowed file extensions
		$valid_chars_regex = '.A-Z0-9_ !@#$%^&()+={}\[\]\',~`-'; // Characters allowed in the file name (in a Regular Expression format)
		                                                         
		// Other variables
		$MAX_FILENAME_LENGTH = 260;
		$file_name = "";
		$file_extension = "";
		$uploadErrors = array (
				0 => "文件上传成功",
				1 => "上传的文件超过了 php.ini 文件中的 upload_max_filesize directive 里的设置",
				2 => "上传的文件超过了 HTML form 文件中的 MAX_FILE_SIZE directive 里的设置",
				3 => "上传的文件仅为部分文件",
				4 => "没有文件上传",
				6 => "缺少临时文件夹" 
		);
		
		$nk = time ();
		if ($hunTian == 'diploma')
			$file_name = 'diploma_' . $this->staff ['sid'] . '_' . $nk . '.' . $this->_GetFileEXT ( $_FILES [$upload_name] ['name'] );
		elseif ($hunTian == 'professionalTitle')
			$file_name = 'professionalTitle_' . $this->staff ['sid'] . '_' . $nk . '.' . $this->_GetFileEXT ( $_FILES [$upload_name] ['name'] );
		elseif ($hunTian == 'certificate') {
			$file_name = 'certificate_' . $this->staff ['sid'] . '_' . $nk . '.' . $this->_GetFileEXT ( $_FILES [$upload_name] ['name'] );
		}
		
		if (! @move_uploaded_file ( $_FILES [$upload_name] ["tmp_name"], $save_path . $file_name )) {
			echo "文件无法保存.";
			exit ( 0 );
		}
		
		echo json_encode ( array (
				'filename' => $file_name,
				'id' => $nk 
		) );
		exit ( 0 );
	}
	
	/**
	 * 删除证件文件
	 */
	function delCredentialType() {
		$hunTian = isset ( $this->params ['hunTian'] ) ? $this->params ['hunTian'] : "";
		$name = isset ( $this->params ['name'] ) ? $this->params ['name'] : "";
		
		if (empty ( $hunTian ) || empty ( $name )) {
			die ( 'illegal request' );
		}
		
		Doo::loadModel ( 'staff' );
		$staff = new staff ();
		$detail = $staff->getStaffBySid ( $this->staff ['sid'] );
		
		if ($hunTian == 'certificate') {
			$msg = str_replace ( $name, "", $detail ['certificate'] );
			$msg = json_decode ( $msg );
			$msg = array_values ( array_filter ( $msg ) );
			$staff->certificate = json_encode ( $msg );
		}
		
		if ($hunTian == 'diploma') {
			$msg = str_replace ( $name, "", $detail ['diploma'] );
			$msg = json_decode ( $msg );
			$msg = array_values ( array_filter ( $msg ) );
			$staff->diploma = json_encode ( $msg );
		}
		
		if ($hunTian == 'professionalTitle') {
			$msg = str_replace ( $name, "", $detail ['professionalTitle'] );
			$msg = json_decode ( $msg );
			$msg = array_values ( array_filter ( $msg ) );
			$staff->professionalTitle = json_encode ( $msg );
		}
		
		$staff->update ( array (
				'where' => 'sid=' . $this->staff ['sid'] 
		) );
		return '/settingCredentialInfo';
	}
	
	/**
	 * 上传头像专用
	 */
	function _settingAvatar() {
		
		$result = array ();
		$result ['success'] = false;
		$successNum = 0;
		// 定义一个变量用以储存当前头像的序号
		$avatarNumber = 1;
		$i = 0;
		$msg = '';
		// 上传目录
		$dir = DOO::conf ()->SITE_PATH . "global/avatar";
		
		// 遍历所有文件域
		while ( list ( $key, $val ) = each ( $_FILES ) ) {
			if ($_FILES [$key] ['error'] > 0)
				$msg .= $_FILES [$key] ['error'];
				else {
					$fileName = 'avatar_' . $this->staff ['sid'];
					// 原始图片(file 域的名称：__source，如果客户端定义可以上传的话，可在此处理）。
					if ($key == '__source') { // 当前头像基于原图的初始化参数，用于修改头像时保证界面的视图跟保存头像时一致。帮助提升用户体验度。修改头像时设置默认加载的原图的url为此图片的url+该参数即可。
						$initParams = $_POST ["__initParams"];
						$virtualPath = $dir . "/" . $fileName . "_" . $avatarNumber . ".jpg";
						$result ['sourceUrl'] = '/' . $virtualPath . $initParams;
						move_uploaded_file ( $_FILES [$key] ["tmp_name"], $virtualPath );
						$successNum ++;
					} else if (strpos ( $key, '__avatar' ) === 0) { // 头像图片(file 域的名称：__avatar1,2,3...)。
						$virtualPath = $dir . "/" . $fileName . "_" . $avatarNumber . ".jpg";
						$result ['avatarUrls'] [$i] = '/' . $virtualPath;
						move_uploaded_file ( $_FILES [$key] ["tmp_name"], $virtualPath );
						$avatarNumber ++;
						$successNum ++;
						$i ++;
					}
				}
		}
		$result ['msg'] = $msg;
		if ($successNum > 0)
			$result ['success'] = true;
			// 返回图片的保存结果（返回内容为json字符串）
	
			Doo::loadModel ( 'staff' );
			$staff = new staff ();
	
			$staff->sid = $this->staff ['sid'];
			$staff->avatar = "/global/avatar/" . $fileName;
			$staff->update ();
	
			header('Cache-Control:no-cache,must-revalidate');
			header('Pragma:no-cache');
			
			echo json_encode ( $result );
	}
	
	/**
	 * 获取get或者POST值
	 *
	 * @param string $name 属性名称
	 * @return fixed 值
	 */
	function get_args($name) {
		if (isset ( $_GET [$name] )) {
			if (is_array ( $_GET [$name] ))
				return $_GET [$name];
			else
				return addslashes ( $_GET [$name] );
		} elseif (isset ( $_POST [$name] )) {
			if (is_array ( $_POST [$name] ))
				return $_POST [$name];
			else
				return addslashes ( $_POST [$name] );
		} else
			return false;
	}
	
	/**
	 * 旧输入导入
	 */
	function _GetFileEXT($filename) {
		$pics = explode ( '.', $filename );
		$num = count ( $pics );
		return $pics [$num - 1];
	}
}

?>