MODEL('ask'); $answer = $M->getQuestionNum(array('is_recom' => 1, 'state' => 1)); $where['add_time'] = array('>', strtotime("-30 day")); $where['groupby'] = 'uid'; $where['orderby'] = 'num'; $where['limit'] = '6'; $hotuser = $M->getAnswersList($where, array("field" => "uid,count(id) as num,sum(support) as support,nickname,pic")); $this->atnask($M); $this->hotclass(); $this->seo('ask_index'); $this->yunset("answer", $answer); $this->yunset("hotuser", $hotuser); $this->ask_tpl('index'); } function getcomment_action() { $M = $this->MODEL('ask'); $aid = (int)$_POST['aid']; $comment= $M->getCommentsList(array('aid' => $aid, 'status' => 1, 'orderby' => 'add_time,asc')); if (is_array($comment)) { foreach ($comment as $k => $v) { $comment[$k]['pic'] = checkpic($v['pic'], $this->config['sy_friend_icon']); $comment[$k]['errorpic'] = checkpic('', $this->config['sy_friend_icon']); $comment[$k]['nickname'] = urlencode($v['nickname']); $comment[$k]['content'] = urlencode($v['content']); $comment[$k]['date'] = date("Y-m-d H:i", $v['add_time']); if ($v['uid'] == $this->uid) { $comment[$k]['myself'] = '1'; } } $comment_json = $this->JSON($comment); echo urldecode($comment_json); die; } } /** * * 使用特定function对数组中所有元素做处理 * @param string &$array 要处理的字符串 * @param string $function 要执行的函数 * @param bool $apply_to_keys_also 是否也应用到key上 * @return void $apply_to_keys_also * @access public */ function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { $this->arrayRecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--; } /** * 将数组转换为JSON字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public */ function JSON($array) { $this->arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); } function qrepost_action() { $M = $this->MODEL('ask'); $logM = $this->MODEL('log'); $reportM = $this->MODEL('report'); $userinfoM = $this->MODEL('userinfo'); $this->is_login(); $eid = (int)$_POST['eid']; $reason = $_POST['reason']; $is_set = $reportM->getReportOne(array('type' => 1, 'r_type' => 1, 'eid' => $eid), array('field' => '`p_uid`')); if (empty($is_set)) { $question = $M->getInfo($eid, array('field' => '`uid`')); $Userinfo = $userinfoM->getInfo(array('uid' => $question['uid']), array('field' => '`username`')); $my_nickname = $userinfoM->getInfo(array('uid' => $this->uid), array('field' => '`username`')); $data['did'] = $this->userdid; $data['p_uid'] = $this->uid; $data['c_uid'] = $question['uid']; $data['eid'] = (int)$_POST['eid']; $data['usertype'] = $this->usertype; $data['inputtime'] = time(); $data['username'] = $my_nickname['username']; $data['r_name'] = $Userinfo['username']; $data['r_reason'] = $reason; $data['type'] = 1; $data['r_type'] = 1; $new_id = $reportM->addAskReport($data); if ($new_id) { $logM->addMemberLog($this->uid, $this->usertype, '举报问答问题', 23, 1); echo '1'; } else { echo '0'; } } else { if ($is_set['p_uid'] == $this->uid) { echo '2'; } else { echo '3'; } } } function forcomment_action() { $M = $this->MODEL('ask'); $this->is_login(); $data = array( 'uid' => $this->uid, 'usertype' => $this->usertype, 'aid' => (int)$_POST['aid'], 'qid' => (int)$_POST['qid'], 'content' => $_POST['content'] ); echo $M->addReview($data); } function forsupport_action() { $M = $this->MODEL('ask'); $data = array( 'uid' => $this->uid, 'usertype' => $this->usertype, 'aid' => $_POST['aid'] ); echo $M->upSupportInfo($data); die; } //问答回答问题 function answer_action() { $M = $this->MODEL('ask'); if ($this->uid == '' || $this->username == '') { $this->ACT_layer_msg("请先登录!", 8, $_SERVER['HTTP_REFERER']); } $data = array( 'uid' => $this->uid, 'username' => $this->username, 'usertype' => $this->usertype, 'id' => (int)$_POST['id'], 'content' => $_POST["content"] ); $return = $M->addAnswerInfo($data); if ($return['id']) { $this->ACT_layer_msg($return['msg'], $return['errcode'], $_SERVER['HTTP_REFERER']); } else { $this->ACT_layer_msg($return['msg'], $return['errcode']); } } function addquestion_action() { if ($this->uid == '' || $this->username == '') { header('Location:' . Url("login")); } $this->seo('ask_add_question'); $this->ask_tpl('addquestion'); } function qclass_action() { $CacheM = $this->MODEL('cache'); $info = $CacheM->GetCache(array('ask')); $rows = array(); $id = (int)$_POST['id']; foreach ($info['ask_type'][$id] as $v) { $rows[$v] = urlencode($info['ask_name'][$v]); } $rows = json_encode($rows); echo urldecode($rows); die; } function save_action() { $cid = (int)$_POST['cid']; if ($_POST['title'] && $cid) { $M = $this->MODEL('ask'); if ($this->uid == '') { $this->ACT_layer_msg("请先登录!", 8); } $data = array( 'uid' => $this->uid, 'usertype' => $this->usertype, 'username' => $this->username, 'cid' => (int)$_POST['cid'], 'title' => trim($_POST['title']), 'authcode' => $_POST['authcode'], 'content' => $_POST["content"] ); $return = $M->addAskInfo($data); if ($return['id']) { $this->ACT_layer_msg($return['msg'], $return['errcode'], Url("ask", array("c" => "index"))); } else { $this->ACT_layer_msg($return['msg'], $return['errcode']); } } } function hotweek_action() { $M = $this->MODEL('ask'); $recom = $M->getList(array('is_recom' => '1', 'orderby' => 'add_time', 'limit' => '8'), array('field' => 'uid,nickname,pic', 'utype' => 'hot')); $this->yunset('recom', $recom['recUser']); $this->atnask($M); $this->yunset("navtype", 'hotweek'); $this->seo('ask_hot_week'); $this->ask_tpl('hotweek'); } function savecode_action() { if (strpos($this->config['code_web'], '职场提问') !== false) { session_start(); if ($this->config['code_kind'] == 1) { if (md5(strtolower($_POST['authcode'])) != $_SESSION['authcode'] || empty($_SESSION['authcode'])) { echo 1; die; unset($_SESSION['authcode']); } } elseif ($this->config['code_kind'] > 2) { if (md5(strtolower($_POST['unlock'])) != $_SESSION['unlock'] || empty($_SESSION['unlock'])) { unset($_SESSION['unlock']); echo 3; die; } } } } } ?>