select_once('sysmsg', $whereData, $field); if (!empty($SysmsgInfo)) { $patten = array("\r\n", "\n", "\r"); $patea = "/]*>(.*?)<\/a>/is"; $content = str_replace($patten, "
", $SysmsgInfo['content']); $str = htmlspecialchars_decode($content); $SysmsgInfo['content_n'] = preg_replace($patea, "$1", $str); $SysmsgInfo['content'] = strip_tags($SysmsgInfo['content']); $SysmsgInfo['ctime_n'] = date('Y-m-d H:i', $SysmsgInfo['ctime']); } return $SysmsgInfo; } /** * @desc 获取系统消息列表 * @param array $whereData 查询条件 * @param array $data 自定义处理数组 * @return array|bool|false|string|void */ public function getList($whereData = array(), $data = array()) { $field = empty($data['field']) ? '*' : $data['field']; $List = $this->select_all('sysmsg', $whereData, $field); if (is_array($List)) { $patten = array("\r\n","\n","\r"); $patea = "/]*>(.*?)<\/a>/is"; // 匹配a标签 $patet = "/href=\"(.*)\"/"; // 取a标签的值 $pateh = '//is'; foreach ($List as $key => $value) { $arr = $str = ''; $url_wx = array(); $List[$key]['ctime_n'] = date('Y-m-d H:i', $value['ctime']); // 去掉相关的链接标签 $content = str_replace($patten, "
", $value['content']); $wxappStr = htmlspecialchars_decode($content); $List[$key]['content_all'] = preg_replace($patea, "$1", $wxappStr); // 对a标签进行替换处理 注:当前消息没有相关a标签链接,不影响显示相关的值 preg_match_all($pateh, $value['content'], $str); // 匹配a标签里面相关的值 if(!empty($str[1])){ foreach($str[1] as $k=>$v){ $arr = explode(',', $v); // 进行数组遍历 // arr[0] :针对类型 $arr[1]:id的值 // 个人类型 : usertpl 根据个人uid查找默认简历 if ($arr[0] == "usertpl") { // 判断是否为手机端 重新编写新链接 if (isMobileUser()) { $url = Url('wap', array( "c" => "resume", 'a' => 'show', "uid" => $arr[1] )); } else { $url = Url('resume', array( "c" => "showuid", "uid" => $arr[1] )); } $url_wx[] = "/pages/resume/show?uid=" . $arr[1]; } // 简历类型 :resumetpl 根据简历id查找简历 if ($arr[0] == "resumetpl") { // 判断是否为手机端 重新编写新链接 if (isMobileUser()) { $url = Url('wap', array( "c" => "resume", 'a' => 'show', "id" => $arr[1] )); } else { $url = Url('resume', array( "c" => "show", "id" => $arr[1] )); } $url_wx[] = "/pages/resume/show?id=" . $arr[1]; } // 企业类型 comtpl if ($arr[0] == "comtpl") { // 判断是否为手机端 重新编写新链接 if (isMobileUser()) { $url = Url('wap', array( "c" => "company", 'a' => 'show', "id" => $arr[1] )); } else { $url = Url('company', array( "c" => "show", "id" => $arr[1] )); } $url_wx[] = "/pages/company/show?id=" . $arr[1]; } // 企业职位 :comjobtpl if ($arr[0] == "comjobtpl") { // 判断是否为手机端 重新编写新连接 if (isMobileUser()) { $url = Url('wap', array( "c" => "job", 'a' => 'comapply', "id" => $arr[1] )); } else { $url = Url('job', array( "c" => "comapply", "id" => $arr[1] )); } $url_wx[] = "/pages/job/show?id=" . $arr[1]; } // 招聘会类型:zphtpl if ($arr[0] == "zphtpl") { // 判断是否为手机端 if (isMobileUser()) { $url = Url('wap', array( "c" => "zph", 'a' => 'show', "id" => $arr[1] )); } else { $url = Url('zph', array( "c" => "show", "id" => $arr[1] )); } $url_wx[] = "/pages/zph/show?id=".$arr[1]; } // 兼职类型:parttpl if ($arr[0] == "parttpl") { // 判断是否为手机端 重新编写新链接 if (isMobileUser()) { $url = Url('wap', array( "c" => "part", 'a' => 'show', "id" => $arr[1] )); } else { $url = Url('part', array( "c" => "show", "id" => $arr[1] )); } $url_wx[] = "/pages/part/show?id=" . $arr[1]; } // 兑换商品记录:rewardtpl if ($arr[0] == "rewardtpl") { // 判断是否为手机端 重新编写新链接 if (isMobileUser()) { $url = Url('wap', array( "c" => "redeem", 'a' => 'show', "id" => $arr[1] )); } else { $url = Url('redeem', array( "c" => "show", "id" => $arr[1] )); } } // 问答:answertpl if ($arr[0] == 'answertpl') { // 判断是否为手机端 重新编写新链接 if (isMobileUser()) { $url = Url('wap', array( "c" => "ask", 'a' => 'content', "id" => $arr[1] )); } else { $url = Url('ask', array( "c" => "content", "id" => $arr[1] )); } } // 网络招聘会类型:zphnettpl if ($arr[0] == "zphnettpl") { // 判断是否为手机端 if (isMobileUser()) { $url = Url('wap', array( "c" => "zphnet", 'a' => 'show', "id" => $arr[1] )); } else { $url = Url('zphnet', array( "c" => "show", "id" => $arr[1] )); } $url_wx[] = "/pages/zphnet/show?id=".$arr[1]; } if (! empty($url_wx)) { $List[$key]['url_wx'] = $url_wx; } if(!empty($url)){ $List[$key]['url'] = $url; } $List[$key]['content'] = str_replace($v, $url, $List[$key]['content']); // 替换原来标签 } } //wxapp信息处理 if (isset($data['type']) && $data['type']=='wxapp'){ $wxappContent = preg_replace_callback($patea,function($preg){ return '==##'.$preg[1].'=='; }, $wxappStr); $c = explode('==', $wxappContent); $carr = array(); $uk = 0; foreach ($c as $cv){ $cv = trim($cv); if (!empty($cv)){ if (stripos($cv,'##') !== false){ $wxurl = ''; if(!empty($url_wx)){ $wxurl = $url_wx[$uk] ? $url_wx[$uk] : ''; $uk++; } $carr[] = array( 'url'=>$wxurl, 'n'=>str_replace('##','',$cv) ); }else{ $carr[] = array( 'url'=>'', 'n'=>$cv ); } } } $List[$key]['content_arr'] = $carr; } if (isset($data['type']) && $data['type']=='wap'){ $wxappContent = preg_replace_callback($patea,function($preg){ return '==##'.$preg[1].'=='; }, $wxappStr); $c = explode('==', $wxappContent); $carr = array(); $uk = 0; foreach ($c as $cv){ $cv = trim($cv); if (!empty($cv)){ if (stripos($cv,'##') !== false){ $wxurl = ''; if(!empty($url)){ $wxurl = $url ? $url : ''; $uk++; } $carr[] = array( 'url'=>$wxurl, 'n'=>str_replace('##','',$cv) ); }else{ $carr[] = array( 'url'=>'', 'n'=>$cv ); } } } $List[$key]['content_arr'] = $carr; } if ($value['remind_status'] == 1) { $List[$key]['status_n'] = '已查看'; } else { $List[$key]['status_n'] = '未查看'; } } } if ($data['from'] == 'wap_member') { $uid = intval($whereData['fa_uid']); $usertype = intval($whereData['usertype']); $this->upInfo(array('fa_uid' => $uid, 'usertype' => $usertype, 'remind_status' => '0'), array('remind_status' => '1')); } return $List; } public function upInfo($whereData, $data = array()) { if (!empty($whereData)) { return $this->update_once('sysmsg', $data, $whereData); } } /** * 添加系统消息 * @param array $data */ public function addInfo($data = array()){ if (!empty($data['uid'])){ $list = array(); $time = time(); $content = $data['content']; $usertype = $data['usertype']; $member = $this -> select_all('member',array('uid'=>array('in',pylode(',', $data['uid']))),'uid,username,usertype'); foreach ($member as $k=>$v){ $list[$k]['fa_uid'] = $v['uid']; $list[$k]['username'] = $v['username']; if (is_array($usertype) && empty($usertype)) { $list[$k]['usertype'] = $usertype[$v['uid']]; }else{ $list[$k]['usertype'] = $data['usertype'] ? $data['usertype'] : $v['usertype']; } $list[$k]['ctime'] = $time; //要区分内容,批量添加的内容不相同时,需要先处理后用数组传入 if (is_array($content)){ $list[$k]['content'] = $content[$v['uid']]; if(is_array($list[$k]['content'])){ $list[$k]['content'] = @implode(',', $list[$k]['content']); } }else{ $list[$k]['content'] = $content; } } if (!empty($list)){ $this -> DB_insert_multi('sysmsg',$list); } } } /** * @desc 删除系统消息 * * @param $id 删除数据ID * @param $data 自定义处理数组 * @return mixed */ public function delInfo($id,$data){ $limit = 'limit 1'; $return['layertype'] = 0; if (!empty($id)){ if (is_array($id)) { $id = pylode(',', $id); $return['layertype'] = 1; $limit = ''; } if ($data['fa_uid']) { $nid = $this->delete_all('sysmsg', array('id' => array('in', $id), 'fa_uid' => $data['fa_uid']), $limit); } else { $nid = $this->delete_all('sysmsg', array('id' => array('in', $id)), $limit); } if ($nid){ $return['msg'] = '系统消息(ID:'.$id.')删除成功'; $return['errcode'] = '9'; }else{ $return['msg'] = '系统消息(ID:'.$id.')删除成功'; $return['errcode'] = '8'; } }else{ $return['msg'] = '请选择您要删除的系统消息'; $return['errcode'] = '8'; } return $return; } /** * @desc 企业系统消息设置是否查看 * @param $whereData * @param array $data * @return bool */ public function upSysmsg($whereData, $data = array()) { if (!empty($whereData)) { $PostData = array( 'remind_status' => $data['remind_status'], ); $nid = $this->update_once('sysmsg', $PostData, $whereData); } return $nid; } /** * @desc 删除企业会员中心系统消息 * @param null $id * @param array $data * @return mixed */ function delSysmsg($id = null , $data = array()) { if(!empty($id)){ if(is_array($id)){ $ids = $id; $return['layertype'] = 1; }else{ $ids = @explode(',', $id); $return['layertype'] = 0; } $id = pylode(',', $ids); $return['id'] = $this -> delete_all('sysmsg',array('id' => array('in',$id),'fa_uid'=>$data['fa_uid']),''); $return['msg'] = '系统消息'; $return['errcode'] = $return['id'] ? '9' :'8'; $return['msg'] = $return['id'] ? $return['msg'].'删除成功!' : $return['msg'].'删除失败!'; }else{ $return['msg'] = '请选择您要删除的数据!'; $return['errcode'] = 8; } return $return; } /** * @desc 获取私信数目 */ function getSysmsgNum($WhereData = array()) { $Sysmsgnum = $this->select_num('sysmsg', $WhereData); return $Sysmsgnum; } } ?>