| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 | 
							- <?php
 
- /**
 
-  * 问答显示业务ajax
 
-  * @author cp
 
-  *
 
-  */
 
- if (! defined ( 'IN_ZHASK' )) {
 
- 	exit ( 'invalid request' );
 
- }
 
- class AjaxUserController extends DooController {
 
- 	
 
- 	private $userlogic;
 
- 	private $asklogic;
 
- 	
 
- 	private $userinfo = array ('uid' => '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 ();
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 获取分词
 
- 	 */
 
- 	function get_search_works(){
 
- 		
 
- 		$keywork = isset($_GET['term']) ? $_GET['term'] : '';
 
- 		
 
- 		require_once (XUNSEARCH_URL);
 
- 		
 
- 		$xs = new XS ( SEARCH_INI );
 
- 		
 
- 		$words = $xs->search->addDb ( SEARCH_WD_DB )->getExpandedQuery($keywork);
 
- 		
 
- 		if (!empty($words)) {
 
-         	echo json_encode($words);
 
-         }
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 设置赞同数
 
- 	 */
 
- 	function do_support_answer() {
 
- 		$aid = $this->get_args ( 'aid' );
 
- 		
 
- 		$aid = is_numeric ( $aid ) ? $aid : 0;
 
- 		
 
- 		if ($aid < 0) {
 
- 			echo "{false}";
 
- 			return false;
 
- 		}
 
- 		
 
- 		$re = $this->userlogic->update_support_answer ( $aid, $this->userinfo ['uid'] );
 
- 		
 
- 		$json = '{"success": true}';
 
- 		if (! $re) {
 
- 			echo "{false}";
 
- 			return false;
 
- 		}
 
- 		echo $json;
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 编辑回答
 
- 	 */
 
- 	function do_edit_answer() {
 
- 		
 
- 		$aid = is_numeric ( $this->get_args ( 'aid' ) ) ? $this->get_args ( 'aid' ) : 0;
 
- 		
 
- 		$data ['content'] = stripcslashes ( $this->get_args ( 'content' ) );
 
- 		
 
- 		if ($aid < 0 || empty ( $data ['content'] )) {
 
- 			echo "{false}";
 
- 			return false;
 
- 		}
 
- 		
 
- 		$this->userlogic->update_answer_content ( $aid, $data );
 
- 		
 
- 		$json = '{"success": true}';
 
- 		
 
- 		echo $json;
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 编辑问题
 
- 	 */
 
- 	function do_edit_question() {
 
- 		
 
- 		$qid = is_numeric ( $this->get_args ( 'qid' ) ) ? $this->get_args ( 'qid' ) : 0;
 
- 		
 
- 		$data ['description'] = stripcslashes ( $this->get_args ( 'content' ) );
 
- 		
 
- 		if ($qid < 0 || empty ( $data ['description'] )) {
 
- 			echo "{false}";
 
- 			return false;
 
- 		}
 
- 		
 
- 		$this->userlogic->update_queston_description ( $qid, $data );
 
- 		
 
- 		$json = '{"success": true}';
 
- 		
 
- 		echo $json;
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 提高悬赏值
 
- 	 */
 
- 	function do_up_price() {
 
- 		$qid = $this->get_args ( 'qid' );
 
- 		
 
- 		$add_price = $this->get_args ( 'add_price' );
 
- 		
 
- 		$qid = is_numeric ( $qid ) ? $qid : 0;
 
- 		
 
- 		$data ['add_price'] = is_numeric ( $add_price ) ? $add_price : 0;
 
- 		
 
- 		if ($qid < 0 || $data ['add_price'] < 0) {
 
- 			echo "{false}";
 
- 			return false;
 
- 		}
 
- 		
 
- 		$reslut = $this->asklogic->get_question_user_info ( $qid );
 
- 		
 
- 		//判断是否是该用户操作
 
- 		if ($reslut ['uid'] != $this->userinfo ['uid'] || $data ['add_price'] > $reslut ['credit3'] || $reslut ['status'] == QUESTOIN_STATUS_CLOSE) {
 
- 			echo "{false}";
 
- 			return false;
 
- 		}
 
- 		
 
- 		//减少用户财富总值-记录到日常操作类
 
- 		$is=$this->userlogic->set_credit3 ( - $data ['add_price'], $reslut ['uid'], RICH_ACTION_OFFER,SSO_UID );
 
- 		
 
- 		if($is==0){
 
- 			echo "{false}";
 
- 			return false;
 
- 		}
 
- 		
 
- 		//记录流向
 
- 		$this->userlogic->set_credit3_log ( $reslut, $data ['add_price'] );
 
- 		
 
- 		//提高悬赏值 
 
- 		$this->userlogic->do_up_price ( $qid, $data ['add_price'] );
 
- 		
 
- 		$json = '{"success": true}';
 
- 		
 
- 		echo $json;
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 添加补充问题内容
 
- 	 */
 
- 	function do_add_supply() {
 
- 		$qid = is_numeric ( $this->get_args ( 'qid' ) ) ? $this->get_args ( 'qid' ) : 0;
 
- 		
 
- 		$data ['supply'] = stripcslashes ( $this->get_args ( 'supply' ) );
 
- 		
 
- 		if ($qid == 0)
 
- 			return false;
 
- 		
 
- 		$this->userlogic->update_queston_supply ( $data, $qid );
 
- 		
 
- 		$json = '{"success": true}';
 
- 		
 
- 		echo $json;
 
- 	
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 上次图片
 
- 	 */
 
- 	public function upload_avatar() {
 
- 		if (isset ( $_FILES ['Filedata'] ['name'] )) {
 
- 			
 
- 			$file = $_FILES ['Filedata'] ['tmp_name'];
 
- 			
 
- 			$error = false;
 
- 			
 
- 			if (! is_uploaded_file ( $file )) {
 
- 				
 
- 				$error = '400 Bad Request';
 
- 			}
 
- 			
 
- 			if ($error) {
 
- 				
 
- 				header ( 'HTTP/1.0 ' . $error );
 
- 				
 
- 				die ( 'Error ' . $error );
 
- 			} else {
 
- 				
 
- 				Load::lib ( "io" );
 
- 				
 
- 				$IoHandler = new IoHandler ();
 
- 				
 
- 				$dateline = get_date ();
 
- 				
 
- 				$filedir = date ( 'y/m/d' );
 
- 				
 
- 				//调用定义物理路径
 
- 				$t = ROOT_PATH . "global/upload/" . $filedir;
 
- 				
 
- 				$li = $IoHandler->MakeDir ( $t );
 
- 				
 
- 				$filename = _GetFileEXT ( $_FILES ['Filedata'] ['name'] );
 
- 				
 
- 				$upload_dir = $t . "/" . $dateline . "." . $filename;
 
- 				
 
- 				$k = move_uploaded_file ( $file, $upload_dir );
 
- 				
 
- 				//存储相对的视频路径
 
- 				$upload_video = "<input type='hidden' name='avatar' value='/global/upload/" . $filedir . "/" . $dateline . "." . $filename . "' /><img src='/global/upload/" . $filedir . "/" . $dateline . "." . $filename . "' height='100' width='100' /> <a href='javascript:void(0)'>删除图片</a>";
 
- 				
 
- 				if ($k) {
 
- 					
 
- 					echo $upload_video;
 
- 				} else {
 
- 					
 
- 					echo "";
 
- 				}
 
- 			
 
- 			}
 
- 		}
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 编辑名师答疑问题
 
- 	 */
 
- 	function do_edit_vip_question() {
 
- 		
 
- 		$qid = is_numeric ( $this->get_args ( 'qid' ) ) ? $this->get_args ( 'qid' ) : 0;
 
- 		
 
- 		$data ['description'] = stripcslashes ( $this->get_args ( 'description' ) );
 
- 		
 
- 		//检测该问题是否是该用户
 
- 		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 )) {
 
- 			echo '{"success": false}';
 
- 			die ();
 
- 		}
 
- 		
 
- 		$this->asklogic->update_vip_question_description ( $qid, $data ['description'] );
 
- 		
 
- 		$json = '{"success": true}';
 
- 		
 
- 		echo $json;
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 对名师答疑的回答进行评价
 
- 	 */
 
- 	function do_comment_vip_answer(){
 
- 		$qid = is_numeric ( $this->get_args ( 'qid' ) ) ? $this->get_args ( 'qid' ) : 0;
 
- 		
 
- 		$data ['comment'] = stripcslashes ( $this->get_args ( 'comment' ) );
 
- 		
 
- 		//检测该问题是否是该用户
 
- 		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 )) {
 
- 			echo '{"success": false}';
 
- 			die ();
 
- 		}
 
- 		
 
- 		$this->userlogic->update_vip_answer_comment($qid,$data ['comment']);
 
- 		
 
- 		$json = '{"success": true}';
 
- 		
 
- 		echo $json;
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 获取用户的退款次数
 
- 	 */
 
- 	function get_vip_refunds(){
 
- 		$qid = is_numeric ( $this->get_args ( 'qid' ) ) ? $this->get_args ( 'qid' ) : 0;
 
- 		
 
- 		$vip_question = $this->asklogic->get_vip_question_by_quid ( $qid, $this->userinfo ['uid'] );
 
- 		
 
- 		if(empty($vip_question)){
 
- 			echo '{"message": false}';
 
- 			die ();
 
- 		}elseif($vip_question['status']!=PAID_FILL_IN){
 
- 			echo '{"message": false}';
 
- 			die ();
 
- 		}
 
- 		 
 
- 		if($this->userinfo['refunds']==1)
 
- 			echo '{"message":"确定后,我们将为您这次答疑退款;<br><a href=javascript:void(0) >关于\"退款\"</a>","refunds":1}';
 
- 		else
 
- 			echo '{"message":"您无法进行不满意\"操作\";无法退款!<br><a href=javascript:void(0) >关于退款</a>","refunds":0}';
 
- 			
 
- 		
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 用户登录处理--session和用户日志后期可以改成写入文件
 
- 	 */
 
- 	function do_login_index() {
 
- 		
 
- 		$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 )) {
 
- 			echo '{"is_login":false,"message":""}';die;
 
- 		}
 
- 		
 
- 		$user = $this->userlogic->get_users_by_name ( $username );
 
- 		
 
- 		require_once (SITE_PATH . '/protected/plugin/client.php');
 
- 		
 
- 		$client = new client ( ZHSSO );
 
- 		
 
- 		$is_login = $client->zhsso_member_login ( $username, $password );
 
- 		
 
- 		if (is_numeric ( $is_login )) {
 
- 			if ($is_login == USERNAME_ONFINE) {
 
- 				
 
- 				echo '{"is_login":false}';die;
 
- 			} elseif ($is_login == PASSWORD_ERROR){
 
- 				
 
- 				echo '{"is_login":false}';die;
 
- 			}
 
- 		}
 
- 		echo '{"is_login":true}';
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 获取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;
 
- 		}
 
- 	}
 
- 	public function askUpdate(){
 
- 		$creditlist = $this->asklogic->get_credit_log();
 
- 		require_once (SITE_PATH . '/protected/plugin/client.php');
 
- 		$client = new client ( ZHSSO );
 
- 		foreach($creditlist as $k => $v){
 
- 			$type = $v['amount'] < 0 ? 2 : 1;
 
- 			$is_succes = $client->zhsso_member_askupdate($v['username'], $type, abs($v['amount']), $v['time']);
 
- 			$is_succes = explode ( "\r", $is_succes );
 
- 			$ts = json_decode ( $is_succes ['0'], true );
 
- 			if($ts != 1){
 
- 				exit($k);
 
- 			}
 
- 		}
 
- 		exit('success');
 
- 	}
 
- }
 
- ?>
 
 
  |