public function show($condition, $orderby, $offset, $count)
 {
     if (!$offset && !$count) {
         $limit = '';
     } else {
         $limit = " limit {$offset}, {$count}";
     }
     $sql = 'SELECT * FROM ' . DB_PREFIX . 'joint  WHERE 1 ' . $condition . $orderby . $limit;
     $query = $this->db->query($sql);
     $res = array();
     $member_ids = array();
     while ($row = $this->db->fetch_array($query)) {
         $member_ids[] = $row['member_id'];
         $res[] = $row;
     }
     if (!empty($member_ids)) {
         $member_ids = implode(',', $member_ids);
         //新旧会员处理
         if (defined('SEEKHELP_NEW_MEMBER') && SEEKHELP_NEW_MEMBER) {
             if ($this->settings['App_members']) {
                 $userInfor = array();
                 $temp_members = $this->members->get_newUserInfo_by_ids($member_ids);
                 if ($temp_members && !empty($temp_members) && is_array($temp_members)) {
                     foreach ($temp_members as $val) {
                         $userInfor[$val['member_id']] = $val;
                     }
                 }
                 //hg_pre($members);exit();
             }
         } else {
             $userInfor = $this->get_userinfo_by_id($member_ids);
         }
     }
     if (!empty($res)) {
         foreach ($res as $key => $val) {
             //新旧会员处理
             if (defined('SEEKHELP_NEW_MEMBER') && SEEKHELP_NEW_MEMBER) {
                 if ($userInfor[$val['member_id']]['member_name']) {
                     $res[$key]['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($userInfor[$val['member_id']]['member_name']) : $userInfor[$val['member_id']]['member_name'];
                 }
                 if ($userInfor[$val['member_id']]['avatar']['host']) {
                     $res[$key]['member_avatar'] = array('host' => $userInfor[$val['member_id']]['avatar']['host'], 'dir' => $userInfor[$val['member_id']]['avatar']['dir'], 'filepath' => $userInfor[$val['member_id']]['avatar']['filepath'], 'filename' => $userInfor[$val['member_id']]['avatar']['filename']);
                 }
             } else {
                 if ($userInfor[$val['member_id']]['nick_name']) {
                     $res[$key]['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($userInfor[$val['member_id']]['nick_name']) : $userInfor[$val['member_id']]['nick_name'];
                 }
                 if ($userInfor[$val['member_id']]['host']) {
                     $res[$key]['member_avatar'] = array('host' => $userInfor[$val['member_id']]['host'], 'dir' => $userInfor[$val['member_id']]['dir'], 'filepath' => $userInfor[$val['member_id']]['filepath'], 'filename' => $userInfor[$val['member_id']]['filename']);
                 }
             }
         }
     }
     return $res;
 }
Exemple #2
0
 public function show($condition = '', $orderby = '', $limit = '')
 {
     $sql = "SELECT * FROM " . DB_PREFIX . "timeline  WHERE 1 " . $condition . $orderby . $limit;
     $q = $this->db->query($sql);
     $info = array();
     while ($r = $this->db->fetch_array($q)) {
         //此处根据情况做一些格式化的处理,如:date('Y-m-d',TIMENOW);
         $member_ids[] = $r['user_id'];
         $info[] = $r;
     }
     if (!empty($member_ids)) {
         $member_ids = implode(',', $member_ids);
         //新旧会员处理
         if (defined('SEEKHELP_NEW_MEMBER') && SEEKHELP_NEW_MEMBER) {
             if ($this->settings['App_members']) {
                 $userInfor = array();
                 $temp_members = $this->members->get_newUserInfo_by_ids($member_ids);
                 if ($temp_members && !empty($temp_members) && is_array($temp_members)) {
                     foreach ($temp_members as $val) {
                         $userInfor[$val['member_id']] = $val;
                     }
                 }
                 //hg_pre($members);exit();
             }
         } else {
             $userInfor = $this->get_userinfo_by_id($member_ids);
         }
     }
     if (!empty($info)) {
         foreach ($info as $key => $val) {
             if ($userInfor[$val['user_id']]['member_name']) {
                 $info[$key]['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($userInfor[$val['user_id']]['nick_name']) : $userInfor[$val['user_id']]['nick_name'];
             }
             if ($userInfor[$val['user_id']]['avatar']['host']) {
                 $info[$key]['member_avatar'] = array('host' => $userInfor[$val['user_id']]['avatar']['host'], 'dir' => $userInfor[$val['user_id']]['avatar']['dir'], 'filepath' => $userInfor[$val['user_id']]['avatar']['filepath'], 'filename' => $userInfor[$val['user_id']]['avatar']['filename']);
             }
         }
     }
     return $info;
 }
Exemple #3
0
 public function detail()
 {
     $is_private = false;
     //是否允许显示隐私信息
     if ($this->input['member_id']) {
         $field = 'm.member_id,m.guid,m.member_name,m.signature,m.type,m.type_name,m.gid,m.gradeid,m.groupexpiry,m.avatar,m.credits,m.status,m.isVerify,m.appid,m.appname,m.create_time,m.update_time,m.last_login_time,m.final_login_time,mb.nick_name,g.name as groupname,g.starnum,g.usernamecolor,g.icon as groupicon';
         $condition = " AND m.member_id = " . intval($this->input['member_id']);
     } else {
         if ($this->input['guid']) {
             $field = 'm.member_id,m.guid,m.member_name,m.signature,m.type,m.type_name,m.gid,m.gradeid,m.groupexpiry,m.avatar,m.credits,m.status,m.isVerify,m.appid,m.appname,m.create_time,m.update_time,mb.nick_name,g.name as groupname,g.starnum,g.usernamecolor,g.icon as groupicon';
             $condition = " AND m.guid = '" . trim($this->input['guid']) . "'";
         } else {
             if ($this->user['user_id']) {
                 $field = 'm.*,g.name as groupname,g.starnum,g.usernamecolor,g.icon as groupicon';
                 $is_private = true;
                 //是否只可以取隐私数据
                 $condition = " AND m.member_id = " . intval($this->user['user_id']);
             } else {
                 $this->errorOutput(NO_MEMBER_ID);
             }
         }
     }
     //会员信息
     $leftjoin = '';
     if (!$is_private) {
         $leftjoin = ' LEFT JOIN ' . DB_PREFIX . 'member_bind as mb ON mb.member_id = m.member_id';
     }
     $leftjoin .= ' LEFT JOIN ' . DB_PREFIX . 'group as g ON m.gid=g.id';
     $member = $this->mMember->get_member_info($condition, $field, $leftjoin);
     $member = $member[0];
     if (empty($member)) {
         $this->errorOutput(NO_MEMBER);
     }
     $member_id = $member['member_id'];
     // 积分信息
     $credits = $this->Members->membercredit($member_id, $is_on = 1, true, true);
     $member['credit'] = $credits[$member_id];
     $this->Members->setMemberId($member_id);
     $gradeInfo = $this->Members->getMemberGrade(array($member['gradeid']), $member['credit']);
     if (is_array($gradeInfo)) {
         $member = array_merge($member, $gradeInfo);
     }
     if (empty($member['groupname'])) {
         $group_info = $this->Members->updategroup($member_id, 0);
         if ($group_info && is_array($group_info)) {
             foreach ($group_info as $key => $val) {
                 $member[$key] = $val;
             }
         }
     }
     //获取勋章信息
     $member_medal = $this->Members->get_member_medal(array($member_id), $field = 'member_id,medalid,expiration', 2);
     $medal_info = $this->Members->get_medal(array_keys($member_medal), 'id,name,image,brief');
     $member = $this->Members->make_medal(array($member_id => $member), $medal_info, $member_medal, false);
     //绑定信息
     //星星图标数据开始
     $staricon = $this->Members->staricon();
     $member['showstar'] = $this->Members->showstar($member['starnum'], $staricon);
     unset($member['starnum']);
     //星星图标数据结束
     //获取用户签到信息
     include CUR_CONF_PATH . 'lib/member_sign.class.php';
     $Osign = new sign();
     $member['isSign'] = $Osign->getIsSign($member_id);
     //获取用户签到信息结束
     if ($is_private) {
         $condition = " AND mb.member_id = " . $member_id;
         $bind = $this->mMember->get_bind_info($condition);
         $blacklist = $this->Members->blacklist($member_id);
         $purview = $this->Members->showpurview($member['gid']);
         $is_exist_password = trim($member['password']) ? 1 : 0;
         unset($member['password'], $member['salt']);
     }
     $extension = array();
     if ($member_id) {
         //扩展信息
         $condition = " AND member_id = " . $member_id;
         $member_info = $this->mMemberInfo->show($condition);
         //可以根据分类id和分类字段分别查询,同时传值只有一个有效,分类id具有更高优先级
         $condition = '';
         //根据分类id查询
         if (isset($this->input['extension_sort_id']) && !empty($this->input['extension_sort_id'])) {
             $condition = " AND field.extension_sort_id IN (" . trim($this->input['extension_sort_id']) . ")";
         }
         //根据分类字段查询
         if (empty($condition)) {
             if (isset($this->input['extension_sort']) && !empty($this->input['extension_sort'])) {
                 $extension_sort = trim($this->input['extension_sort']);
                 $condition = " AND sort.extension_sort IN ('" . $extension_sort . "')";
             }
         }
         if (intval($this->input['app_id'])) {
             $extension = $this->mMemberInfo->extendDataProcessByApp($member_info, 1, $this->input['app_id']);
         } else {
             $extension = $this->mMemberInfo->extendDataProcess($member_info, 1, $condition);
         }
     }
     $return = $member;
     if ($is_private) {
         $return['bind'] = $bind;
     }
     if ($is_private) {
         //是否绑定手机
         if ($bind) {
             $this->mMember->ExportbindData($bind, $return);
         }
         if (!$return['nick_name']) {
             $return['nick_name'] = $return['member_name'];
         }
         $return['nick_name'] = hg_hide_mobile($return['nick_name']);
         $return['mobile'] = $member['mobile'] ? $member['mobile'] : $return['mobile'];
         $return['email'] = $member['email'] ? $member['email'] : $return['email'];
         $return['is_exist_password'] = $is_exist_password;
         $return['blacklist'] = $blacklist[$member['member_id']];
         $return['purview'] = $purview[$member['gid']] ? $purview[$member['gid']] : array();
         $return['isComplete'] = isUserComplete($member['type']);
         $return['profilePercent'] = $this->mMember->profilePercentComplete($return);
     }
     //
     if ($this->input['version'] == CLIENT_VERSION) {
         $return = array('nick_name' => $return['member_name'], 'member_id' => $return['member_id'], 'avatar' => $return['avatar'] ? $return['avatar'] : array('host' => "", 'dir' => "", 'filepath' => "", 'filename' => ""));
         if ($is_private) {
             $return['token'] = $this->input['access_token'];
             $return['email'] = $return['email'];
             $return['is_exist_password'] = $is_exist_password;
             $return['is_exist_email'] = $return['email'] ? 1 : 0;
             $return['mobile'] = $return['mobile'];
         }
     }
     $return['extension'] = $extension ? $extension : array();
     //查询好友关系
     if ($this->input['member_id']) {
         $friend_ship = $this->getFriendship($member_id);
         $return['friendship'] = $friend_ship;
     }
     //
     $this->addItem($return);
     $this->output();
 }
 /**
  * comment详情
  */
 public function comment_detail($id)
 {
     $info = array();
     $member_ids = array();
     $sql = 'SELECT * FROM ' . DB_PREFIX . 'comment WHERE 1 AND id IN(' . $id . ')';
     $query = $this->db->query($sql);
     while ($row = $this->db->fetch_array($query)) {
         $member_ids[] = $row['member_id'];
         $row['content'] = seekhelp_clean_value(stripcslashes(urldecode($row['content'])));
         $info[] = $row;
     }
     if (!empty($member_ids)) {
         $member_ids = implode(',', $member_ids);
         //新旧会员处理
         if (defined('SEEKHELP_NEW_MEMBER') && SEEKHELP_NEW_MEMBER) {
             if ($this->settings['App_members']) {
                 $userInfor = array();
                 $temp_members = $this->members->get_newUserInfo_by_ids($member_ids);
                 if ($temp_members && !empty($temp_members) && is_array($temp_members)) {
                     foreach ($temp_members as $val) {
                         $userInfor[$val['member_id']] = $val;
                     }
                 }
                 //hg_pre($members);exit();
             }
         } else {
             $userInfor = $this->get_userinfo_by_id($member_ids);
         }
     }
     if (!empty($info)) {
         foreach ($info as $key => $val) {
             //新旧会员处理
             if (defined('SEEKHELP_NEW_MEMBER') && SEEKHELP_NEW_MEMBER) {
                 if ($userInfor[$val['member_id']]['member_name']) {
                     $info[$key]['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($userInfor[$val['member_id']]['nick_name']) : $userInfor[$val['member_id']]['nick_name'];
                 }
                 if ($userInfor[$val['member_id']]['avatar']['host']) {
                     $info[$key]['member_avatar'] = array('host' => $userInfor[$val['member_id']]['avatar']['host'], 'dir' => $userInfor[$val['member_id']]['avatar']['dir'], 'filepath' => $userInfor[$val['member_id']]['avatar']['filepath'], 'filename' => $userInfor[$val['member_id']]['avatar']['filename']);
                     $info[$key]['member_level'] = intval($userInfor[$val['member_id']]['digital']);
                 }
             } else {
                 if ($userInfor[$val['member_id']]['nick_name']) {
                     $info[$key]['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($userInfor[$val['member_id']]['nick_name']) : $userInfor[$val['member_id']]['nick_name'];
                 }
                 if ($userInfor[$val['member_id']]['host']) {
                     $info[$key]['member_avatar'] = array('host' => $userInfor[$val['member_id']]['host'], 'dir' => $userInfor[$val['member_id']]['dir'], 'filepath' => $userInfor[$val['member_id']]['filepath'], 'filename' => $userInfor[$val['member_id']]['filename']);
                 }
             }
         }
     }
     return $info;
 }
 /**
  * 创建评论
  * cid 
  * @see outerUpdateBase::create()
  */
 public function create()
 {
     if ($this->input['app_id']) {
         //检查社区黑名单
         $blackInfo = $this->blacklist->check_blackByappId($this->input['app_id']);
         if ($blackInfo && $blackInfo['deadline'] == -1) {
             $this->errorOutput(SEEKHELP_IS_BLACK);
         }
     }
     $data = array('cid' => intval($this->input['cid']), 'member_id' => intval($this->user['user_id']), 'comment_type' => trim($this->input['comment_type']), 'comment_fid' => intval($this->input['comment_fid']), 'location' => trim($this->input['location']), 'status' => 0, 'content' => $this->input['content'], 'create_time' => TIMENOW, 'ip' => $this->user['ip']);
     //comment_type默认值 此处兼容老社区
     if (!$this->input['comment_type']) {
         $data['comment_type'] = 'main';
     }
     if (defined('SEEKHELP_COMMENT_STATUS') && SEEKHELP_COMMENT_STATUS) {
         $data['status'] = 1;
     }
     if ($this->input['app_id'] && $data['comment_type'] == 'main') {
         $app_id = $this->input['app_id'];
         $appconfig = $this->appconfig->detail($app_id);
         if ($appconfig['comment_audit'] == 0) {
             $data['status'] = 1;
         } else {
             $data['status'] = 0;
         }
     }
     if (!$data['cid'] || !$data['member_id'] || !$data['content']) {
         $this->errorOutput(NOID);
     }
     // 		if(!$data['comment_type'])
     // 		{
     // 			$this->errorOutput(NO_COMMENT_TYPE);
     // 		}
     //会员黑名单验证
     include_once ROOT_PATH . 'lib/class/members.class.php';
     $obj = new members();
     $res = $obj->check_blacklist($data['member_id']);
     if ($res[$data['member_id']]['isblack']) {
         //$this->addItem_withkey('error', "您的评论被屏蔽,请联系管理员!");
         //$this->addItem_withkey('msg', "您的评论被屏蔽,请联系管理员!");
         //$this->output();
         $this->errorOutput(IS_BLACK_MEMBER);
     }
     $sql = "SELECT * FROM " . DB_PREFIX . "seekhelp WHERE id = " . $data['cid'];
     $seekhelp = $this->db->query_first($sql);
     $sort_id = $seekhelp['sort_id'];
     $data['sort_id'] = $sort_id;
     //屏蔽字验证
     if ($this->settings['App_banword']) {
         require_once ROOT_PATH . 'lib/class/banword.class.php';
         $this->banword = new banword();
         $str = $data['content'];
         $banword = $this->banword->exists($str);
         if ($banword && is_array($banword)) {
             $banword_content = '';
             foreach ($banword as $key => $val) {
                 $banword_content .= $val['banname'] . ',';
             }
             $data['banword'] = $banword_content ? rtrim($banword_content, ',') : '';
             $data['status'] = 0;
         }
     }
     $data['content'] = urlencode($data['content']);
     $ret = $this->comment->create($data);
     if ($ret) {
         if ($data['status']) {
             if ($data['comment_type'] == 'vice') {
                 $sql = "SELECT * FROM " . DB_PREFIX . "comment WHERE id = " . $data['comment_fid'];
                 $comment = $this->db->query_first($sql);
                 $this->SetCommentNum($data['comment_type'], $ret);
                 $this->SetTimeline($ret['id'], $comment, 'comment');
                 $this->SetMemberInfo($comment);
             } else {
                 $this->SetCommentNum($data['comment_type'], $ret);
                 $this->SetTimeline($ret['id'], $seekhelp, 'seekhelp');
                 $this->SetMemberInfo($seekhelp);
             }
             //更新会员统计
             if ($data['comment_type'] == 'main') {
                 $this->updateMemberCount($data['member_id'], 'create');
             }
         }
     }
     if ($this->settings['App_members']) {
         $memberInfo = $this->members->get_newUserInfo_by_ids($data['member_id']);
     }
     $ret['member_avatar'] = $memberInfo[0]['avatar'];
     $ret['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($memberInfo[0]['nick_name']) : $memberInfo[0]['nick_name'];
     $ret['content'] = seekhelp_clean_value(stripcslashes(urldecode($ret['content'])));
     $this->addItem($ret);
     $this->output();
 }
Exemple #6
0
 /**
  * 获取会话里的用户
  * 
  * @param string or array $session_id   会话id  可以是数组或逗号隔开的字符串
  * @return array  返回按会话分组的 用户数组
  */
 function session_users($session_id)
 {
     if (!is_array($session_id)) {
         $session_id = explode(',', $session_id);
     }
     $session_id = implode("','", $session_id);
     if (!$session_id) {
         return false;
     }
     $sql = 'SELECT * FROM ' . DB_PREFIX . 'session_user 
             WHERE 1 AND session_id IN(\'' . $session_id . '\') ORDER BY id ASC';
     $q = $this->db->query($sql);
     $ret = array();
     while ($row = $this->db->fetch_array($q)) {
         $row['uname'] = hg_hide_mobile($row['uname']);
         $row['uavatar'] = $row['uavatar'] ? unserialize($row['uavatar']) : array();
         $ret[$row['session_id']][] = $row;
     }
     return $ret;
 }
Exemple #7
0
 public function detail($id, $member_id = 0)
 {
     $sql = 'SELECT sh.*, c.content,
             a.name AS account_name, a.avatar AS account_avatar, 
             s.name AS sort_name,
             r.content AS reply, r.create_time AS reply_time, r.user_id AS reply_user_id 
             FROM ' . DB_PREFIX . 'seekhelp sh 
             LEFT JOIN ' . DB_PREFIX . 'content c ON sh.id = c.id
             LEFT JOIN ' . DB_PREFIX . 'account a ON sh.account_id = a.id
             LEFT JOIN ' . DB_PREFIX . 'sort s ON sh.sort_id = s.id
             LEFT JOIN ' . DB_PREFIX . 'reply r ON sh.reply_id = r.id 
             WHERE sh.id = ' . $id;
     $ret = $this->db->query_first($sql);
     if (!$ret) {
         $sql = 'SELECT * FROM ' . DB_PREFIX . 'content WHERE id=' . $id . '';
         $ret = $this->db->query_first($sql);
     }
     $ret['format_create_time'] = date('Y-m-d', $ret['create_time']);
     $ret['account_avatar'] = $ret['account_avatar'] ? unserialize($ret['account_avatar']) : '';
     $ret['title'] = stripcslashes($ret['title']);
     $ret['content'] = seekhelp_clean_value(stripcslashes(urldecode($ret['content'])));
     $ret['banword'] = $ret['banword'] ? unserialize($ret['banword']) : '';
     //初始化变量
     $ret['is_joint'] = 0;
     $ret['is_attention'] = 0;
     $ret['comment_num'] = 0;
     $ret['attention_num'] = 0;
     $ret['joint_num'] = 0;
     $ret['pic'] = '';
     $ret['video'] = '';
     $ret['vodeo_audio'] = '';
     $ret['member_name'] = '';
     $ret['member_avatar'] = '';
     $ret['reply_user_name'] = '';
     $ret['reply_avatar'] = '';
     $ret['reply_pass_time'] = '';
     $ret['reply_pic'] = '';
     $ret['reply_video'] = '';
     $ret['reply_video_audio'] = '';
     $ret['recommend_answer'] = '';
     $ret['recommend_user_id'] = '';
     $ret['recommend_user_name'] = '';
     $ret['recommend_avatar'] = '';
     $ret['recommend_time'] = '';
     $ret['recommend_pass_time'] = '';
     $comment_num = $this->comment_num($id);
     $attention_num = $this->attention_num($id);
     $joint_num = $this->joint_num($id);
     $ret['comment_num'] = $comment_num[$id] ? $comment_num[$id] : 0;
     $ret['attention_num'] = $attention_num[$id] ? $attention_num[$id] : 0;
     $ret['joint_num'] = $joint_num[$id] ? $joint_num[$id] : 0;
     //取系统用户
     if ($ret['reply_user_id'] && $this->settings['App_auth']) {
         $curl = new curl($this->settings['App_auth']['host'], $this->settings['App_auth']['dir']);
         $curl->setSubmitType('post');
         $curl->setReturnFormat('json');
         $curl->initPostData();
         $curl->addRequestData('a', 'getMemberById');
         $curl->addRequestData('id', $ret['reply_user_id']);
         $userInfor = $curl->request('member.php');
         //print_r($userInfor);exit();
         $userInfor = $userInfor[0][0];
         if ($userInfor) {
             $ret['reply_user_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($userInfor['user_name']) : $userInfor['user_name'];
             $ret['reply_avatar'] = $userInfor['avatar'];
         }
     }
     if ($ret['is_reply']) {
         $ret['comment_num'] += 1;
         //如果有金牌回复,则评论数+1
         if ($ret['reply']) {
             $ret['reply_pass_time'] = TIMENOW - $ret['reply_time'];
         }
     }
     //联名、关注状态判断
     if ($member_id) {
         $is_joint = $this->check_is_joint($member_id, $id);
         $is_attention = $this->check_is_attention($member_id, $id);
         $ret['is_joint'] = $is_joint ? 1 : 0;
         $ret['is_attention'] = $is_attention ? 1 : 0;
     }
     //用户信息处理
     $memberIds = array();
     $memberIds[] = $ret['member_id'];
     if ($ret['is_recommend'] && $ret['comment_id']) {
         $sql = 'SELECT * FROM ' . DB_PREFIX . 'comment
                 WHERE id = ' . $ret['comment_id'] . ' AND status = 1 AND is_recommend = 1';
         $commentInfor = $this->db->query_first($sql);
         if ($commentInfor) {
             $ret['recommend_answer'] = $commentInfor['content'];
             $ret['recommend_user_id'] = $commentInfor['member_id'];
             $ret['recommend_time'] = $commentInfor['create_time'];
             $ret['recommend_pass_time'] = TIMENOW - $commentInfor['create_time'];
             $memberIds[] = $commentInfor['member_id'];
         }
     }
     //新旧会员处理
     if (defined('SEEKHELP_NEW_MEMBER') && SEEKHELP_NEW_MEMBER) {
         if ($this->settings['App_members'] && !empty($memberIds)) {
             $memberIds = implode(',', $memberIds);
             $member = array();
             $temp_members = $this->members->get_newUserInfo_by_ids($memberIds);
             if ($temp_members && !empty($temp_members) && is_array($temp_members)) {
                 foreach ($temp_members as $val) {
                     $member[$val['member_id']] = $val;
                 }
             }
         }
         if ($member && $ret['member_id']) {
             $ret['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($member[$ret['member_id']]['nick_name']) : $member[$ret['member_id']]['nick_name'];
             $ret['member_avatar'] = array('host' => $member[$ret['member_id']]['avatar']['host'], 'dir' => $member[$ret['member_id']]['avatar']['dir'], 'filepath' => $member[$ret['member_id']]['avatar']['filepath'], 'filename' => $member[$ret['member_id']]['avatar']['filename']);
         }
         if ($member && $ret['recommend_user_id']) {
             $ret['recommend_user_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($member[$ret['recommend_user_id']]['member_name']) : $member[$ret['recommend_user_id']]['member_name'];
             $ret['recommend_avatar'] = array('host' => $member[$ret['recommend_user_id']]['avatar']['host'], 'dir' => $member[$ret['recommend_user_id']]['avatar']['dir'], 'filepath' => $member[$ret['recommend_user_id']]['avatar']['filepath'], 'filename' => $member[$ret['recommend_user_id']]['avatar']['filename']);
         }
     } else {
         if ($this->settings['App_member'] && !empty($memberIds)) {
             $memberIds = implode(',', $memberIds);
             $member = $this->member->getMemberByIds($memberIds);
             $member = $member[0];
         }
         if ($member && $ret['member_id']) {
             $ret['member_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($member[$ret['member_id']]['nick_name']) : $member[$ret['member_id']]['nick_name'];
             $ret['member_avatar'] = array('host' => $member[$ret['member_id']]['host'], 'dir' => $member[$ret['member_id']]['dir'], 'filepath' => $member[$ret['member_id']]['filepath'], 'filename' => $member[$ret['member_id']]['filename']);
         }
         if ($member && $ret['recommend_user_id']) {
             $ret['recommend_user_name'] = IS_HIDE_MOBILE ? hg_hide_mobile($member[$ret['recommend_user_id']]['nick_name']) : $member[$ret['recommend_user_id']]['nick_name'];
             $ret['recommend_avatar'] = array('host' => $member[$ret['recommend_user_id']]['host'], 'dir' => $member[$ret['recommend_user_id']]['dir'], 'filepath' => $member[$ret['recommend_user_id']]['filepath'], 'filename' => $member[$ret['recommend_user_id']]['filename']);
         }
     }
     //获取素材
     /*
     if ($ret['reply_id'])
     {
     $sql = 'SELECT * FROM '.DB_PREFIX.'materials WHERE cid = '.$id.' OR rid = '.$ret['reply_id'];
     }
     else
     {
     $sql = 'SELECT * FROM '.DB_PREFIX.'materials WHERE cid = '.$id;
     }
     */
     //排除异常数据
     $sql = 'DELETE FROM ' . DB_PREFIX . 'materials WHERE flag = 1';
     $this->db->query($sql);
     $sql = 'SELECT * FROM ' . DB_PREFIX . 'materials WHERE cid = ' . $id . ' ORDER BY id DESC';
     $query = $this->db->query($sql);
     $content_materials = array();
     $reply_materials = array();
     $vodIds = array();
     $id_original_id = array();
     while ($row = $this->db->fetch_array($query)) {
         if ($row['mark'] == 'video') {
             $vodIds[] = $row['original_id'];
             $id_original_id[$row['original_id']] = $row['id'];
         }
         if ($row['cid'] == $id && !$row['rid']) {
             if ($row['mark'] == 'img') {
                 $content_materials['pic'][] = array('id' => $row['id'], 'host' => $row['host'], 'dir' => $row['dir'], 'filepath' => $row['filepath'], 'filename' => $row['filename'], 'imgwidth' => $row['imgwidth'], 'imgheight' => $row['imgheight']);
             }
             if ($row['mark'] == 'video') {
                 $content_materials['vodid'][] = $row['original_id'];
             }
         }
         if ($ret['reply_id'] && $row['rid'] == $ret['reply_id']) {
             if ($row['mark'] == 'img') {
                 $reply_materials['pic'][] = array('id' => $row['id'], 'host' => $row['host'], 'dir' => $row['dir'], 'filepath' => $row['filepath'], 'filename' => $row['filename'], 'imgwidth' => $row['imgwidth'], 'imgheight' => $row['imgheight']);
             }
             if ($row['mark'] == 'video') {
                 $reply_materials['vodid'][] = $row['original_id'];
             }
         }
     }
     if (!empty($content_materials['pic'])) {
         $ret['pic'] = $content_materials['pic'];
     }
     if (!empty($reply_materials['pic'])) {
         $ret['reply_pic'] = $reply_materials['pic'];
     }
     if (!empty($vodIds)) {
         $vod_ids = implode(',', $vodIds);
         $vodInfor = $this->livmedia->get_video($vod_ids);
         if ($vodInfor) {
             if (!empty($content_materials['vodid']) && is_array($content_materials['vodid'])) {
                 foreach ($content_materials['vodid'] as $vodid) {
                     if ($vodInfor[$vodid]['is_audio'] == 0) {
                         $vodInfor[$vodid]['id'] = $id_original_id[$vodid];
                         $ret['video'][] = $vodInfor[$vodid];
                     }
                     if ($vodInfor[$vodid]['is_audio']) {
                         $vodInfor[$vodid]['id'] = $id_original_id[$vodid];
                         $ret['vodeo_audio'][] = $vodInfor[$vodid];
                     }
                 }
             }
             if (!empty($reply_materials['vodid']) && is_array($reply_materials['vodid'])) {
                 foreach ($reply_materials['vodid'] as $vodid) {
                     if ($vodInfor[$vodid]['is_audio'] == 0) {
                         $vodInfor[$vodid]['id'] = $id_original_id[$vodid];
                         $ret['reply_video'][] = $vodInfor[$vodid];
                     }
                     if ($vodInfor[$vodid]['is_audio']) {
                         $vodInfor[$vodid]['id'] = $id_original_id[$vodid];
                         $ret['reply_video_audio'][] = $vodInfor[$vodid];
                     }
                 }
             }
         }
     }
     //输出常量
     $ret['show_other_data'] = false;
     if (defined('SHOW_OTHER_DATA')) {
         $ret['show_other_data'] = SHOW_OTHER_DATA;
     }
     return $ret;
 }
Exemple #8
0
 /**
  *
  * 获取找回密码邮箱验证码接口...
  */
 public function getResetPasswordlinkMail()
 {
     $memberId = 0;
     $link_url = $this->input['link_url'];
     $identifierUserSystem = new identifierUserSystem();
     $identifier = $identifierUserSystem->setIdentifier((int) $this->input['identifier'])->checkIdentifier();
     //多用户系统
     if ($memberName = trimall($this->input['member_name'])) {
         $this->email = $memberName;
         $nick_name = '用户';
         if (hg_check_email_format($memberName)) {
             $condition = " AND platform_id='" . $memberName . "' AND mb.type='email' AND mb.identifier=" . $identifier . "";
             $leftjoin = " LEFT JOIN " . DB_PREFIX . "member_bind as mb ON m.member_id=mb.member_id ";
             $memberInfo = $this->Members->get_member_info($condition, $field = ' mb.* ', $leftjoin, '', false);
             $nick_name = $memberInfo['nick_name'];
         }
         $this->type = 'resetpassword';
         $this->appuniqueid = 'resetpassword_link';
         $this->tspace = array(hg_verify_mobile($memberName) ? hg_hide_mobile($memberName) : $memberName);
         $this->verify_email();
         $this->_expire_time = $this->settings['email_token_limit']['time_limit'] ? TIMENOW + $this->settings['email_token_limit']['time_limit'] : TIMENOW + 1000;
         $condition = " AND email='" . $memberName . "' AND status=0";
         $email_token_info = $this->email_token->show($condition, ' ORDER BY id DESC ', 'limit 1');
         if (!$email_token_info) {
             $this->token = $this->makeToken(16);
         } else {
             $this->token = $email_token_info[0]['token'];
             //如果该验证码已经过期就重新生成验证码
             if ($email_token_info[0]['expire_time'] < TIMENOW) {
                 $this->token = $this->makeToken(16);
             } else {
                 //如果没有过期,过期时间还是原来的
                 $this->_expire_time = $email_token_info[0]['expire_time'];
             }
         }
         $url = $link_url . '&email=' . $memberName . '&token=' . $this->token;
         $this->bspace = array($memberName, $nick_name, $url);
         $sendInfo = $this->generate_link_email();
         if ($sendInfo) {
             $output = array('email' => $sendInfo['email']);
             $this->addItem($output);
         }
         $this->output();
     } else {
         $this->errorOutput(NO_MEMBER_NAME);
     }
 }