'0' );
	
	function __construct() {
		
		Load::controller ( "BaseController" );
		
		$base = new BaseController ();
		
		$this->userinfo = $base->init ();
		
		Load::logic ( 'User' );
		Load::logic ( 'Ask' );
		
		$this->userlogic = new UserLogic ();
		$this->asklogic = new AskLogic ();
	}
	
	public function index() {
		
		//$this->userlogic->test_send_gmail("",$this->userinfo['uid'],"NEW_ANSWER");
		
		//$this->userlogic->sendmail("","cpthought@vip.qq.com");
		
		$this->userlogic->delete_search_index(array('17847', '17846', '17845'));
	
	//		require_once (SITE_PATH . '/protected/plugin/client.php');
	//		
	//		$client = new client ( ZHSSO );
	//		
	//		$is_succes = $client->zhsso_member_madd ( 88,5,"ask" );
	//		
	//		$is_succes=explode("\r",$is_succes);
	//		
	//		$ts = json_decode ( $is_succes['1'], true );
	//		
	//		var_dump($ts);
	
	}
	
	function user_exit() {
		
		$sid = $_COOKIE ['sid'];
		$this->userlogic->delete_session ( $sid );
		
		setcookie ( "auth", "", time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		setcookie ( "sid", "", time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		setcookie ( "tuid", "", time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		setcookie ( "e", '1', time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		$this->Messager ( "登出成功", "/" );
	}
	
	public function sysLoginOut(){
		$sid = $_COOKIE ['sid'];
		
		$this->userlogic->delete_session ( $sid );
		
		setcookie ( "auth", "", time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		
		setcookie ( "sid", "", time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		
		setcookie ( "tuid", "", time () + 3600 * 24, "/", COOKIE_WEB_SITE );
	}
	
	/**
	 * 同步登陆
	 */
	public function synLogin() {
    	
    	$uid=$this->params['username'];
    	
    	require_once (SITE_PATH . '/protected/plugin/client.php');
        $client = new client(ZHSSO);
        //检测认证
        $auth=$client->zhsso_checkauth($uid);
        
        $a = explode ( "\r", $auth );
//        var_dump($a);
//		exit();
        if($a!='1')
        	return false;
        	
        $user=$client->zhsso_getuserinfo_by_uid ( $uid );
        
        $u = explode ( "\r", $user );
        
		$user = json_decode($u[0]);
		
		//同步通行证用户
		$us = $this->userlogic->get_users_by_name ( $user[0]->username );
		
		if (empty ( $us )) {
			$uid = $this->userlogic->add_user2 ( $user[0] );
				
			$us = $this->userlogic->get_users_information ( $uid );
		} else {
			$uid = $this->userlogic->update_user2 ( $us['uid'], $user[0] );
		}
		
		$userinfo = authcode ( $user[0]->username, "tr" );
		
		$sessionID = random ( 8 );
		
		//写入session
		//默认生命周期1天
		$lifetime = get_date ( 1 );
		$this->userlogic->set_session ( $sessionID, $us ['uid'], $user[0]->username, $lifetime );
		
        header('P3P: CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"');//p3p  
        setcookie ( "auth", $userinfo, time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		setcookie ( "sid", $sessionID, time () + 3600 * 24, "/", COOKIE_WEB_SITE );
		setcookie ( "tuid", $user[0]->id, time () + 3600 * 24, "/", COOKIE_WEB_SITE );
    }
	// 检测手机格式
	function checkMobile($mobile) {
		if(preg_match("/^1[34578]{1}\d{9}$/",$mobile)){
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
	/**
	 * 用户登录处理--session和用户日志后期可以改成写入文件
	 */
	function do_login() {
		
		$username = $this->get_args ( "username" );
		$password = $this->get_args ( "password" );
		
		$day = is_numeric ( $this->get_args ( "day" ) ) ? $this->get_args ( "day" ) : 1;
		
		$lifetime = $day < 0 ? 0 : $day;
		
		if (empty ( $username ) || empty ( $password )) {
			$this->Messager ( "请输入正确的参数", "/login" );
		}
		
		require_once (SITE_PATH . '/protected/plugin/client.php');
		
		$client = new client ( ZHSSO );
		
		if(filter_var($username, FILTER_VALIDATE_EMAIL)){
			$is_login = $client->zhsso_member_login ( $username, $password ,1);
			
		}else if($this->checkMobile($username)) {
			$is_login = $client->zhsso_member_login( $username, $password, 2 );
		}else{
			$is_login = $client->zhsso_member_login ( $username, $password );
		}
		$is_login = explode ( "\r", $is_login );
		if (is_numeric ( $is_login [0] )) {
			if ($is_login [0] == USERNAME_ONFINE) {
				
				$this->Messager ( "您输入的帐号或者密码有误", "/login" );
				
				//删除用户相关记录--是否有同步删除功能
				//if ($user) {
					//$this->userlogic->delete_user_tem( $user['uid']);
				//}
			} elseif ($is_login [0] == PASSWORD_ERROR)
				$this->Messager ( "您输入的帐号或者密码有误", "/login" );
			elseif ($is_login [0] == - 3) //USER_NOACTION
				$this->Messager ( "用户未激活", "http://sso.smartcost.com.cn/" );
			else 
				$this->Messager ( "您输入的帐号或者密码有误", "/login" );
		} elseif (! empty ( $is_login [0] )) {
			
			$ts = json_decode ( $is_login [0], true );
			
			if (empty ( $ts ))
				$this->Messager ( "通信异常", "/login" );
			
			$user = $this->userlogic->get_users_by_name ( $ts [0] ['username'] );
			//同步通行证用户
			if (empty ( $user )) {
				$uid = $this->userlogic->add_user2 ( $ts [0]);
				
				$user = $this->userlogic->get_users_information ( $uid );
			}else{
				$uid = $this->userlogic->update_user2 ( $user['uid'], $ts [0]);
			}
			Doo::loadModel ( 'MessageDao' );
			
			$messagedao = new MessageDao ();
			
			$message_count = $messagedao->get_message_count_by_touid ( $user ['uid'] );
			
			$sessionID = random ( 8 );
			
			$ip = client_ip ();
			
			//默认生命周期1天
			$lifetime = get_date ( $lifetime );
			
			$userinfo = authcode ( $user ['username'], "tr" );
			
			//写入session
			$this->userlogic->set_session ( $sessionID, $user ['uid'], $user ['username'], $lifetime );
			
			//写入用户日志
			$this->userlogic->set_userlog ( $user ['uid'], $user ['username'] );
			
			//积分值增加-做今天登陆判断
			$s_status = $this->userlogic->get_crontab_status ( $user ['uid'], SYSTEM_DAILY_LOGIN );
			
			if ($s_status != COMPLETE||$s_status===0) {
				
				$this->userlogic->set_credit1 ( 'add', $user ['uid'], CREDIT_POINT_LOGIN, CREDIT_ACTION_LOGIN );
				
				$this->userlogic->complete_daily_crontab ( $user ['uid'], SYSTEM_DAILY_LOGIN );
			}
			
			if($user['is_email']!=1){
				
				$this->userlogic->set_email_config($user['uid']);
			}
			
			$avatar = $client->ps_getavatar ( $ts [0] ['id'] );
			
			foreach ($avatar as $key=>$value){
				if(!file_get_contents($value,0,null,0,1))
					$avatar[$key]=DEF_AVATAR;
			}
			
			$avatar=json_encode($avatar);
			
			$this->userlogic->update_user_avatar_by_id($user ['uid'],$avatar);
			
			define ( "MASTER_ID", $user ['uid'] );
			define ( 'MEMBER_NAME', $user ['username'] );
			
			define ( "MESSAGE_COUNT", $message_count ['count'] );
			
			setcookie ( "auth", $userinfo, time () + 3600 * 24, "/", COOKIE_WEB_SITE );
			setcookie ( "sid", $sessionID, time () + 3600 * 24, "/", COOKIE_WEB_SITE );
			setcookie ( "tuid", $ts [0] ['id'], time () + 3600 * 24, "/", COOKIE_WEB_SITE );
			setcookie ( "d", $ts [0] ['keys_auth'], time () + 3600 * 24, "/", COOKIE_WEB_SITE );
			//define("SYS_LOGIN",'');
			
		} else {
			$this->Messager ( "通信异常", "/login" );
		}
		
		//http://localzhask.com/login http://zhzdwd.com/login
		
		if($_SERVER['HTTP_REFERER']=="http://zhzdwd.com/login")
			return "/";
		else
			return $_SERVER['HTTP_REFERER'];
	}
	
	function getquestion(){
		$condition = " and price != 0 ";
		$limit = " order by time desc limit 3";
		$question= $this->asklogic->get_questions_list_tem ( array (), $condition, $limit );
		$page['question']=array();
		 
		$t=array();
		foreach ($question as $key=>$value){
			$t['id']=$value['id'];
			$t['price']=$value['price'];
			$t['title']=$value['title'];
			
			array_push($page['question'], $t);
		}
		
		/*
		$QA=$this->asklogic->get_QA();
		$page['QA']=$QA;
		*/
		echo json_encode($page);
	}
	
	/**
	 * 删除回答
	 */
	function do_delete_answer() {
		$aid = $this->check_params ( 'aid' );
		$qid = $this->check_params ( 'qid' );
		
		$aid = is_numeric ( $aid ) ? $aid : 0;
		
		$qid = is_numeric ( $qid ) ? $qid : 0;
		
		if ($aid <= 0 || $qid <= 0)
			$this->Messager ( "请输入正确的参数", "/askpage/" . $qid );
		
		//用户组
		if ($this->userinfo ['groupid'] != SUPER_ADMIN_ID && $this->userinfo ['groupid'] != ADMIN_ID)
			$this->Messager ( "权限不足,请联系管理员", "/askpage/" . $qid );
		
		$this->userlogic->delete_answer ( $aid ,$qid);
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=问题已经成功删除&url=/askpage/" . $qid );
	
	}
	
	/**
	 * 删除问题
	 */
	function do_delete_question() {
		$qid = $this->check_params ( 'qid' );
		
		$qid = is_numeric ( $qid ) ? $qid : 0;
		
		if ($qid <= 0)
			$this->Messager ( "请输入正确的参数", "/askpage/" . $qid );
		
		//用户组
		if ($this->userinfo ['groupid'] != SUPER_ADMIN_ID && $this->userinfo ['groupid'] != ADMIN_ID)
			$this->Messager ( "权限不足,请联系管理员", "/askpage/" . $qid );
		
		$this->userlogic->delete_question ( $qid );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=问题已经成功删除&url=/" );
	}
	
	/**
	 * 关闭问题
	 */
	public function do_question_close() {
		
		$qid = is_numeric ( $this->params ['qid'] ) ? $this->params ['qid'] : 0;
		$rs = $this->asklogic->get_question_by_uqid ( $qid, $this->userinfo ['uid'] );
		
		if ($qid <= 0)
			$this->Messager ( "请输入正确的参数", "/" );
		
		//删除权限的判定
		if ($this->userinfo ['groupid'] != SUPER_ADMIN_ID && $this->userinfo ['groupid'] != ADMIN_ID) {
			if (empty ( $rs ))
				$this->Messager ( "操作有误", "/" );
		}
		
		$this->userlogic->close_question ( $qid );
		
		$type="CLOSE_QUESTION";
		
		if($rs['price']>0)
			$type="PAY_CLOSE_QUESTION";
		
		$this->userlogic->send_email($this->userinfo ['uid'],$type,$qid,0);
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=问题已经成功关闭&url=/askpage/" . $qid );
	}
	
	/**
	 * 设置最佳答案--管理员也使用
	 */
	public function do_best_answer() {
		
		$data ['qid'] = $this->get_args ( 'qid' );
		$data ['aid'] = $this->get_args ( 'aid' );
		
		$data ['comment'] = $this->get_args ( 'comment' );
		
		$rs = $this->asklogic->get_question_by_uqid ( $data ['qid'], $this->userinfo ['uid'] );
		$ans = $this->asklogic->get_answer_by_aqid ( $data ['aid'], $data ['qid'] );
		
		//操作权限的判定
		if ($this->userinfo ['groupid'] != SUPER_ADMIN_ID && $this->userinfo ['groupid'] != ADMIN_ID) {
			if (empty ( $rs ))
				$this->Messager ( "权限不足,请联系管理员", "/" );
		}
		
		if($rs['status']!=QUESTOIN_STATUS_UNRESOLVED){
			$this->Messager ( "该问题已进行相关操作", "/" );
		}
		
		if (empty ( $ans ))
			$this->Messager ( "没有相关问题", "/" );
		
		if (! is_numeric ( $data ['qid'] ) || ! is_numeric ( $data ['aid'] ))
			$this->Messager ( "请输入正确的值", "/" );
		
		$data ['quid'] = $rs ['authorid'];
		$data ['auid'] = $ans ['authorid'];
		$data ['title'] = $rs ['title'];
		$data ['price'] = $rs ['price'];
		$data ['username'] = $ans ['author'];
		$this->userlogic->set_best_answer ( $data );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=答案采纳成功&url=/askpage/" . $data ['qid'] );
	}
	
	/**
	 * 发起名师答疑2
	 */
	public function do_update_vip_question() {
		
		$rs = $this->asklogic->get_vip_question_by_paid ( $this->userinfo ['uid'] );
		
		if (empty ( $rs ))
			$this->Messager ( "请先付款", "/question/add_vip" );
		
		$title = $this->get_args ( 'title' );
        // xxs过滤
        $title = htmlspecialchars($title);
		$description = stripcslashes ( $this->get_args ( 'description' ) );
		
		if (empty ( $title ) || empty ( $description ))
			$this->Messager ( "请填写相关信息", "/question/add_vip" );
		
		$phone = $this->get_args ( 'phone' );
		$qq = $this->get_args ( 'qq' );
		$this->userlogic->update_vip_question ( $rs ['id'], $title, $description, $this->userinfo ['uid'], $phone, $qq );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=问题发起成功&url=/advisory_page/" . $rs ['id'] );
	}
	
	/**
	 * 发起名师答疑1
	 */
	public function do_add_vip_question() {
		require_once SITE_PATH . '/protected/config/auth_issue.conf.php';
		
		$auth = $auth ['GENERAL_USER_GROUP' . $this->userinfo ['groupid']];
		
		$issue = $this->asklogic->auth_question_issue ( $this->userinfo ['uid'], $this->userinfo ['groupid'], $auth );
		
		if ($issue == 2)
			$this->Messager ( "您今天提问条数(" . $auth ['DAY_TOTALS'] . ")已用完", "/" );
		elseif ($issue == 3)
			$this->Messager ( "每" . $auth ['TIME_INTERVAL']/60 . "分钟内只可以发布" . $auth ['TIME_TOTALS'] . "条", "/" );
		
		$price = $this->get_args ( 'price' );
		
		$price = is_numeric ( $price ) ? $price : 0;
		
		//已付款未填写
		$rs = $this->asklogic->get_vip_question_by_paid ( $this->userinfo ['uid'] );
		
		$data ['mod'] = 'askpost';
		$data ['price'] = $price;
		$data ['qq'] = $this->userinfo ['qq'];
		$data ['phone'] = $this->userinfo ['phone'];
		if (! empty ( $rs )) { //防止重复提交
			$data ['qid'] = $rs ['id'];
			$data ['message'] = "您上一次付款后没有发布问题,故本次提问不做重复扣费";
			$this->render ( 'askPost_pay_2', $data );
			
			die ();
		}
		
		if ($price <= 0)
			$this->Messager ( "金额不足,请充值", "/question/add_vip" );
		
		if ($price > $this->userinfo ['credit3'])
			$this->Messager ( "金额不足,请充值", "/question/add_vip" );
		
		if (($this->userinfo ['credit3'] - $price) < 0)
			$this->Messager ( "金额不足,请充值", "/question/add_vip" );
		
		if (! ($price == 500 || $price == 200 || $price == 100))
			$this->Messager ( "金额只能为500元,200元,100元", "/question/add_vip" );
		
		//确认付费
		$data ['author'] = $this->userinfo ['username'];
		$data ['authorid'] = $this->userinfo ['uid'];
		
		$id = $this->userlogic->add_vip_question ( $data );
		if ($id == 0)
			$this->Messager ( "操作失败-请重新操作", "/question/postenter" );
		
		$data ['qid'] = $id;
		
		$this->render ( 'askPost_pay_2', $data );
	}
	
	/**
	 * 添加一条问题
	 */
	public function do_add_question() {
		
		
		$start=strtotime(date("Y-m-d")." 23:00:00");
		$end=strtotime(date("Y-m-d")." 23:59:59");
		
		$one=strtotime(date("Y-m-d")." 00:00:00");
		$two=strtotime(date("Y-m-d")." 8:00:00");
		
		//$end=strtotime(date("Y-m-d",strtotime("+1 day"))." 8:00:00");
		
		if ($one<=time()&&$two>=time()){
			$this->render ( 'askPost_close' );
			die;
		}
		
		if ($start<=time()&&$end>=time()){
			$this->render ( 'askPost_close' );
			die;
		}
		
		session_start();
		
		require_once ('./protected/plugin/class.geetestlib.php');
		
		$GtSdk = new GeetestLib();
		if ($_SESSION['gtserver'] == 1) {
		    $result = $GtSdk->validate($_POST['geetest_challenge'], $_POST['geetest_validate'], $_POST['geetest_seccode']);
		    if ($result == TRUE) {
		        //echo 'Yes!';
		    } else if ($result == FALSE) {
		       $this->Messager("请检查验证是否正确", "/question/add");
		    } else {
		       $this->Messager("请检查验证是否正确", "/question/add");
		    }
		}else{
		    if ($GtSdk->get_answer($_POST['geetest_validate'])) {
		        //echo "yes";
		    }else{
		       $this->Messager("请检查验证是否正确", "/question/add");
		    }
		}
//		die;
		
//		if(!isset($_POST['vc']) || ($_SESSION['vc']!=$_POST['vc'])){
//				 $this->Messager("请检查验证是否正确", "/question/add");
//		}
		//检测问题数
		require_once SITE_PATH . '/protected/config/auth_issue.conf.php';
		
		$auth = $auth ['GENERAL_USER_GROUP' . $this->userinfo ['groupid']];
		
		$issue = $this->asklogic->auth_question_issue ( $this->userinfo ['uid'], $this->userinfo ['groupid'], $auth );
		
		if ($issue == 2)
			$this->Messager ( "您今天提问条数(" . $auth ['DAY_TOTALS'] . ")已用完", "/" );
		elseif ($issue == 3)
			$this->Messager ( "每" . $auth ['TIME_INTERVAL']/60 . "分钟内只可以发布" . $auth ['TIME_TOTALS'] . "条", "/" );
		
		$data ['title'] = $this->get_args ( 'title' );
		// 防止xxs攻击
        $data['title'] = htmlspecialchars($data['title']);
		$data ['category_id'] = $this->get_args ( 'category_id' );
		$data ['description'] = stripcslashes ( $this->get_args ( 'description' ) );
		$data ['price'] = $this->get_args ( 'price' );
		
		if ($data ['price'] !== false) {
			
			$data ['price'] = is_numeric ( $data ['price'] ) ? $data ['price'] : 0;
			
			if ($this->userinfo ['credit3'] < $data ['price'])
				$this->Messager ( "财富值不足,请充值", "/question/add" );
		} else {
			$data ['price'] = 0;
		}
		
		$data ['authorid'] = $this->userinfo ['uid'];
		
		$data ['author'] = $this->userinfo ['username'];
		//|| empty ( $data ['description'] )
		if (empty ( $data ['title'] ) || (! is_numeric ( $data ['category_id'] )))
			$this->Messager ( "问题发起不成功,请重新填写", "/question/add" );
		$id = $this->userlogic->add_examine_question ( $data );
		$_SESSION['vc']='NULL';
		if ($id) {
			header ( 'Content-Type:text/html;charset=utf-8' );
			@header ( "Location: " . WEB_SITE . "/messager?content=问题发起成功,待审批通过&url=/" );
		} else {
			header ( 'Content-Type:text/html;charset=utf-8' );
			@header ( "Location: " . WEB_SITE . "/messager?content=问题发起不成功,请重新填写&url=/question/add" );
		}
	}
	/**
	 * 回答一个问题--添加积分,财富
	 */
	public function do_reply_question() {
		//include Doo::conf()->BASE_PATH.'diagnostic/debug.php';
		$answer_data = $this->get_args ( 'answer_data' );
		
		$content = stripcslashes ( $this->get_args ( 'content' ) );
		
		if (empty ( $content ))
			return false;
		
		$answer_data = explode ( ":", $answer_data );
		
		$data ['qid'] = $answer_data [0];
		
		$data ['title'] = $answer_data [1];
		
		$data ['author'] = $this->userinfo ['username'];
		
		$data ['authorid'] = $this->userinfo ['uid'];
		
		$data ['content'] = $content;
		
		if (! is_numeric ( $data ['qid'] ) || ! is_numeric ( $data ['authorid'] ))
			return false;
		
		$answer=$this->asklogic->get_answer_by_quid($data ['qid'],$this->userinfo ['uid']);	
		
		if(!empty($answer))
			return false;
			
		//添加一个回答
		$id = $this->userlogic->add_answer ( $data );
		
		$question=$this->asklogic->get_question_by_qid($data ['qid']);
			
		$type="NEW_ANSWER";
		
		if($question['price']>0)
			$type="PAY_NEW_ANSWER";
			
		//发送邮件
		$this->userlogic->send_email($this->userinfo ['uid'],$type,$data ['qid'],$id);
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=回答成功&url=/askpage/" . $answer_data [0] );
	}
	
	/**
	 * 追问一个回答
	 */
	public function to_ask_question() {
		
		$id = $this->get_args ( 'id' );
		
		$id = explode ( ":", $id );
		
		$tag = stripcslashes ( $this->get_args ( 'tag' ) );
		
		if(!is_numeric($id [1])||!is_numeric($id[0]))
			$this->Messager ( "请输入正确的参数", "/askpage/". $id [1] );
		
		if(empty($tag))
			$this->Messager ( "请填写追问内容", "/askpage/". $id [1] );
		
		$data ['id'] = $id [0];
		
		$data ['tag'] = $tag;
		
		//添加一个回答
		$this->userlogic->to_ask_question ( $data );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=追问成功&url=/askpage/" . $id [1] );
	}
	
	/**
	 * 回答一个追问
	 */
	public function answer_again() {
		
		$id = $this->get_args ( 'id' );
		
		$id = explode ( ":", $id );
		
		$tag = stripcslashes ( $this->get_args ( 'tag' ) );
		
		//回答ID
		$data ['id'] = $id [0];
		
		//再一次回答内容
		$data ['tag'] = $tag;
		
		//添加一个回答
		$this->userlogic->answer_again ( $data );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=回答追问成功&url=/askpage/" . $id [1] );
	}
	
	/**
	 * 更新一个用户的头像
	 */
	public function do_update_avatar() {
		
		$data ['uid'] = $this->get_args ( 'uid' );
		
		$data ['avatar'] = $this->get_args ( 'avatar' );
		
		$this->userlogic->update_avatar ( $data );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=头像修改成功&url=/home_avatar" );
	
	}
	
	/**
	 * 更新一个用户信息
	 */
	public function do_update_user_info() {
		
		$data ['uid'] = $this->get_args ( 'uid' );
		
		$data ['nickname'] = $this->get_args ( 'nickname' );
		
		$data ['phone'] = $this->get_args ( 'phone' );
		
		$data ['cids'] = json_encode($_POST['cids']);
		
		$this->userlogic->update_user_info ( $data );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=用户信息修改成功&url=/home_per_info" );
	}
	
	/**
	 * 名师答疑设置为满意
	 */
	function set_vip_question_satisfy() {
		$id = $this->get_args ( 'id' );
		
		$id = is_numeric ( $id ) ? $id : 0;
		
		$vip_question = $this->asklogic->get_vip_question_by_quid ( $id, $this->userinfo ['uid'] );
		
		if (empty ( $vip_question ))
			$this->Messager ( "该问题未找到或该问题不属于你", "/advisory" );
		
		if ($vip_question ['status'] != PAID_FILL_IN)
			$this->Messager ( "不允许设置", "/advisory_page/" . $id );
		
		//设置满意
		$this->userlogic->set_vip_question_status ( $id, ANSWER_SATISFY );
		
		//设置退款
		if ($this->userinfo ['refunds'] != 1) {
			$params ['uid'] = $this->userinfo ['uid'];
			//退款机会为1
			$params ['refunds'] = 1;
			
			$this->userlogic->update_user_refunds ( $params );
		}
		
		//发送系统信息
		$subject = "名师答疑问题(" . $vip_question ['title'] . ")已经设置为满意";
		
		$content = "名师答疑 " . $vip_question ['title'] . " 设置为满意";
		
		$this->userlogic->send_sys_message ( $subject, $content, $this->userinfo ['uid'] );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=问题设置成功&url=/advisory_page/" . $id );
	}
	
	/**
	 * 名师答疑添加一个追问--加入检索库已加入
	 */
	function do_add_vip_tag() {
		$id = $this->get_args ( 'id' );
		
		$tag = stripcslashes ( $this->get_args ( 'to_ask_text' ) );
		
		$id = is_numeric ( $id ) ? $id : 0;
		
		if (empty ( $tag ))
			$this->Messager ( "请填写追问", "/advisory_page/" . $id );
		
		$vip_question = $this->asklogic->get_vip_question_by_quid ( $id, $this->userinfo ['uid'] );
		
		if (empty ( $vip_question ))
			$this->Messager ( "该问题未找到或该问题不属于你", "/advisory" );
		
		//添加追问
		$this->userlogic->do_add_vip_tag ( $id, $tag );
		
		//加入检索库
		$params ['vip_question'] = $vip_question;
		
		$answer = $this->asklogic->get_vip_answer_by_id ( $id );
		
		$ans ['aid'] = $answer ['id'];
		$ans ['time'] = $answer ['time'];
		$ans ['content'] = $answer ['content'];
		$ans ['comment'] = $answer ['comment'];
		$tag = serialize ( array (0 => $tag, 1 => get_date () ) );
		$ans ['tag'] = $tag;
		$answer = serialize ( array (0 => $ans ) );
		
		$params ['answer'] = $answer;
		
		$this->userlogic->update_vip_question_search ( $params );
		
		//设置满意
		$this->userlogic->set_vip_question_status ( $id, ANSWER_SATISFY );
		
		//设置退款
		if ($this->userinfo ['refunds'] != 1) {
			$params ['uid'] = $this->userinfo ['uid'];
			//退款机会为1
			$params ['refunds'] = 1;
			
			$this->userlogic->update_user_refunds ( $params );
		}
		
		//发送系统信息
		$subject = "您的名师答疑问题(" . $vip_question ['title'] . ")的追问";
		
		$content = "名师答疑 " . $vip_question ['title'] . " 追问成功,问题已经设置为满意";
		
		$this->userlogic->send_sys_message ( $subject, $content, $this->userinfo ['uid'] );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=追问后,该提问自动设为‘满意’&url=/advisory_page/" . $id );
	}
	
	/**
	 * 名师答疑设置为不满意
	 */
	function set_vip_question_nosatisfy() {
		$id = $this->get_args ( 'id' );
		
		$id = is_numeric ( $id ) ? $id : 0;
		
		$refunds_description = $this->get_args ( 'refunds_description' );
		
		$vip_question = $this->asklogic->get_vip_question_by_quid ( $id, $this->userinfo ['uid'] );
		
		if (empty ( $vip_question ))
			$this->Messager ( "该问题未找到或该问题不属于你", "/advisory" );
		
		if ($vip_question ['status'] != PAID_FILL_IN || $this->userinfo ['refunds'] != 1)
			$this->Messager ( "不允许设置", "/advisory_page/" . $id );
		
		$content = "名师答疑 " . $vip_question ['title'] . "设置为不满意";
		
		$message = "问题设置成功";
		
		//设置退款
		if ($this->userinfo ['refunds'] == 1) {
			//设置不满意
			$this->userlogic->set_vip_question_status ( $id, ANSWER_NO_SATISFY, $refunds_description );
			
			//退款不满意,退款¥200元
			$this->userlogic->set_credit3 ( + $vip_question ['price'], $this->userinfo ['uid'], RICH_ACTION_REFUNDS, SSO_UID );
			//退款流向记录
			$this->userlogic->set_credit3_refunds_log ( $vip_question );
			
			//发送邮件
			$this->userlogic->send_email($vip_question['authorid'],"VIP_MONEY_BACK",$id,0);
			
			$params ['uid'] = $this->userinfo ['uid'];
			
			$params ['refunds'] = 0;
			
			//退款机会为0
			$this->userlogic->update_user_refunds ( $params );
			
			$content = "名师答疑 " . $vip_question ['title'] . "设置为不满意,退款金额为" . $vip_question ['price'] . "";
			
			$message = "退款成功";
		}
		
		//发送系统信息
		$subject = "您的名师答疑问题(" . $vip_question ['title'] . ")已经答案为不满意";
		
		$this->userlogic->send_sys_message ( $subject, $content, $this->userinfo ['uid'] );
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=" . $message . "&url=/advisory_page/" . $id );
	}
	
	/**
	 * 添加讨论
	 */
	function do_add_discuss() {
		$qid = $this->get_args ( 'qid' );
		
		$qid = is_numeric ( $qid ) ? $qid : 0;
		
		$cid = $this->get_args ( 'topid' );
		
		$cid = is_numeric ( $cid ) ? $cid : 0;
		
		$content = $this->get_args ( 'discuss_content' );
		
		if ($this->userinfo ['groupid'] == USER_VIP || $this->userinfo ['groupid'] == SUPER_ADMIN_ID || $this->userinfo ['groupid'] == ADMIN_ID)
			$vip_question = $this->asklogic->get_vip_questions_by_id ( $qid );
		else
			$vip_question = $this->asklogic->get_vip_question_by_quid ( $qid, $this->userinfo ['uid'] );
		
		if (empty ( $vip_question ))
			$this->Messager ( "该问题不存在", "/advisory_page/" . $qid . "#dis" );
		
		if (empty ( $content ))
			$this->Messager ( "请填写内容", "/advisory_page/" . $qid . "#dis" );
		
		$this->userlogic->add_discuss ( $qid, $this->userinfo ['uid'], $content, $cid );
		
		if ($cid > 0) {
			$this->userlogic->update_discuss ( $cid );
		}
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/messager?content=添加讨论成功&url=/advisory_page/" . $qid . "#dis" );
	}
	
	/**
	 * 添加邮件发送配置
	 */
	function do_add_email_config() {
		$data['normal_question_mail'] = $this->get_args ( 'normal_question_mail' );
		
		$data['pay_question_mail'] = $this->get_args ( 'pay_question_mail' );
		
		$data['vip_question_mail'] = $this->get_args ( 'vip_question_mail' );
		
		$this->userlogic->add_email_config($data,$this->userinfo['uid']);
		
		header ( 'Content-Type:text/html;charset=utf-8' );
		@header ( "Location: " . WEB_SITE . "/home_per_info" );
	}
	
	/**
	 * 获取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 check_params($name = "") {
		if (isset ( $this->params [$name] )) {
			
			return addslashes ( $this->params [$name] );
		} else {
			
			return false;
		}
	}
	
	/**
	 * 限时跳转
	 * @param unknown_type $message
	 * @param unknown_type $redirectto
	 * @param unknown_type $time
	 * @param unknown_type $return_msg
	 * @param unknown_type $js
	 */
	function Messager($message, $redirectto = '', $time = -1, $return_msg = false, $js = null) {
		global $rewriteHandler;
		$data ['redirectto'] = $redirectto;
		$data ['message'] = $message;
		
		if ($time === - 1) {
			//配置文件
			//$time=(is_numeric($this->Config['msg_time'])?$this->Config['msg_time']:5);
			$data ['time'] = 2;
		}
		
		$data ['to_title'] = ($data ['redirectto'] === '' or $data ['redirectto'] == - 1) ? "返回上一页" : "跳转到指定页面";
		
		if ($data ['redirectto'] === null) {
			$return_msg = $return_msg === false ? " " : $return_msg;
		} else {
			$data ['redirectto'] = ($data ['redirectto'] !== '') ? $data ['redirectto'] : ($from_referer = referer ());
			//			if(str_exists($data['redirectto'],'mod=login','code=register','/login','/register'))
			//			{
			//				$referer='&referer='.urlencode('index.php?'.$_SERVER['QUERY_STRING']);
			//				$this->CookieHandler->Setvar('referer','index.php?'.$_SERVER['QUERY_STRING']);
			//			}
			
			if (is_numeric ( $data ['redirectto'] ) !== false and $data ['redirectto'] !== 0) {
				if ($data ['time'] !== null) {
					$data ['url_redirect'] = "\r\n";
				
				}
				
				$data ['redirectto'] = "javascript:history.go({$data['redirectto']})";
			} else {
				if ($rewriteHandler && null !== $data ['message']) {
					$data ['redirectto'] .= $referer;
					if (! $from_referer && ! $referer) {
						$data ['redirectto'] = $rewriteHandler->formatURL ( $data ['redirectto'], true );
					}
				}
				
				if ($data ['message'] === null) {
					$data ['redirectto'] = rawurldecode ( stripslashes ( ($data ['redirectto']) ) );
					@header ( "Location: " . $data ['redirectto'] ); #HEADER跳转
				}
				if ($data ['time'] !== null) {
					$data ['url_redirect'] = ($data ['redirectto'] ? '' : null);
				}
			}
		}
		$title = "消息提示:" . (is_array ( $data ['message'] ) ? implode ( ',', $data ['message'] ) : $data ['message']);
		
		$title = strip_tags ( $title );
		if ($js != "") {
			$js = "";
		}
		$additional_str = $data ['url_redirect'] . $js;
		
		$this->render ( 'messager', $data );
		
		exit ();
	}
}
?>