"internal-3G-BLOG-GW-1145222850.cn-north-1.elb.amazonaws.com.cn", "port" => "6666"); public $userparams = array("host" => "10.1.3.89", "port" => "443"); public $memcache = array( 'servers' => array( array('host' => 'livestockmem.r2bd3q.cfg.cnn1.cache.amazonaws.com.cn', 'port' => 11211), ), 'prefix' => 'zjcj', 'expire' => 180, ); function __construct() { $this->socket = new CSocket($this->params); $this->usersocket = new CSocket($this->userparams); $this->cache = new CMemcache($this->memcache); $this->usermodel = new FriendModel(); } function getTitleAllList($data) { $type = 'B520'; $ckey.='getTitleAllList' . $data["ArticleID"]; $rs = $this->cache->get($ckey); if (!$rs) { $rs = $this->socket->senddata($type, $data); $this->cache->set($ckey, $rs); } return $rs; } function getAttrCommList($data) { $rtn = false; $type = "B309"; $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["Code"] == "00" && $rs["Status"]["TtlRecords"] == "1") { $this->cache->delete("Articlecomments_getArtCommentList_" . $data['aid'] . "_0_6_" . $data['UserID']); $this->cache->delete("Articlecomments_getArtCommentList_" . $data['aid'] . "_6_6_" . $data['UserID']); $rtn = true; } return $rtn; } //获取用户的博客sign==1表示用户自己的博客2表示好友的博客 function getUserBloges($UserID, $StartNo, $QryCount, $Sign, $guid, $FromUserID = 0,$IsRecordTime=0,$isShowPic=0) { $result = array(); if ($Sign == 1) { $memcache_keys = __FUNCTION__ . $UserID . $StartNo . $QryCount .$isShowPic. $Sign . "sd"; //memcache键值 if (!$this->cache->get($memcache_keys)) { $result = $this->getBlogs($UserID, $StartNo, $QryCount, $guid, $FromUserID,$isShowPic); $this->cache->set($memcache_keys, $result); } else { $result = $this->cache->get($memcache_keys); $this->cache->delete($memcache_keys); } } elseif ($Sign == 2) { $memcache_keys = __FUNCTION__ . $UserID . $StartNo . $QryCount .$isShowPic. $Sign .$IsRecordTime. "sdc"; //memcache键值 $result = array(); if (!$this->cache->get($memcache_keys)) { $type = 'B272'; $datat['UserID'] = $UserID; $datat['StartNo'] = $StartNo; $datat['QryCount'] = $QryCount; $datat['IsRecordTime'] = $IsRecordTime; if ($FromUserID > 0) { $datat['FromUserID'] = $FromUserID; } //$data['Platform'] = 1; $rs = $this->socket->senddata($type, $datat); $data = (isset($rs['Status']['Code']) && $rs['Status']['Code'] = '00') ? $rs['Records'] : ''; if (intval($rs['Status']['RetRecords']) == 1 && $rs['Status']['Code'] = '00') { $data["Record"] = array(0 => $rs['Records']["Record"]); } else { $data = $rs['Records']; } $result['Recordscount'] = count($data['Record']); $model = new usermodel(); $head = new common_user(); if (count($data['Record']) > 0) { for ($i = 0; $i < count($data['Record']); $i++) { $dv = $model->blogaid($data['Record'][$i]['ArticleID']); if (!empty($dv)) { if (!empty($datat['FromUserID'])) { if (intval($data['Record'][$i]["Price"]) > 0 && intval($data['Record'][$i]["IsUserPay"]) == 1) { $result['Record'][$i]['zxg'] = $dv[0]["name"]; } else if (intval($data['Record'][$i]["Price"]) == 0) { $result['Record'][$i]['zxg'] = $dv[0]["name"]; } else { $result['Record'][$i]['zxg'] = "0"; } } else { if (intval($data['Record'][$i]["Price"]) == 0) { $result['Record'][$i]['zxg'] = $dv[0]["name"]; } else { $result['Record'][$i]['zxg'] = "0"; } } } else { $result['Record'][$i]['zxg'] = "0"; } $result['Record'][$i]['IsUserPay'] = $data['Record'][$i]['IsUserPay']; $result['Record'][$i]['ArticleID'] = $data['Record'][$i]['ArticleID']; $result['Record'][$i]['Title'] = $data['Record'][$i]['Title']; $result['Record'][$i]['NickName'] = $data['Record'][$i]['NickName']; $result['Record'][$i]['UserID'] = $data['Record'][$i]['UserID']; $result['Record'][$i]['Domainname'] = $data['Record'][$i]['DomainName']; $result['Record'][$i]['AppearTime'] = $data['Record'][$i]['AppearTime']; $result['Record'][$i]['Summary'] = $data['Record'][$i]['Summary']; $result['Record'][$i]['BlogName'] = $this->getBlogname($data['Record'][$i]['UserID']); $result['Record'][$i]['MemberID'] = $data['Record'][$i]['MemberID']; $result['Record'][$i]['CommentNumber'] = $data['Record'][$i]['CommentNumber']; $result['Record'][$i]['TotleVote'] = $data['Record'][$i]['TotleVote']; $result['Record'][$i]['SourceType'] = $data['Record'][$i]['SourceType']; $CollectCount = $model->shoucByAid($data['Record'][$i]['ArticleID']); $result['Record'][$i]['CollectCount'] = $CollectCount[0]["count"]; $result['Record'][$i]['ReprintCount'] = $data['Record'][$i]['ReprintCount']; $result['Record'][$i]['Property'] = $data['Record'][$i]['Property']; $result['Record'][$i]['Prime'] = $data['Record'][$i]['Prime']; $result['Record'][$i]['IsTop'] = $data['Record'][$i]['IsTop']; $result['Record'][$i]['IsUsed'] = $data['Record'][$i]['IsUsed']; $result['Record'][$i]['Price'] = $data['Record'][$i]['Price']; $result['Record'][$i]['SysTagID'] = $data['Record'][$i]['SysTagID']; $result['Record'][$i]['FocusArtMemberID'] = $data['Record'][$i]['FocusArtMemberID']; $result['Record'][$i]['FocusArtAppearTime'] = $data['Record'][$i]['FocusArtAppearTime']; $result['Record'][$i]['FocusArtArticleID'] = $data['Record'][$i]['FocusArtArticleID']; $result['Record'][$i]['FocusTotleVote'] = $data['Record'][$i]['FocusTotleVote']; $result['Record'][$i]['FocusNickname'] = $data['Record'][$i]['FocusNickname']; $result['Record'][$i]['DataTime'] = $data['Record'][$i]['DataTime']; $result['Record'][$i]['src'] = $head->getUserHead($data['Record'][$i]['UserID']); $Content = stripslashes($data['Record'][$i]['Content']); $Content = str_replace("\n", "", $Content); $Content = str_replace("\r", "", $Content); $Content = str_replace("\t", "", $Content); $result['Record'][$i]['FocusArtTitle'] = preg_replace('/<[^>]*?>/', '', $data['Record'][$i]['FocusArtTitle']); $result['Record'][$i]['Content'] = mb_substr(str_replace(' ', '', strip_tags($Content)), 0, 60, 'utf-8'); if($isShowPic==1){ $con = '`\]+src=[\'"]?(.*?)[\'"]?\s+.*?\/?\>`'; preg_match_all($con, $Content, $matches); $result['Record'][$i]['rtn'] = $matches[1]; } } } else { $result['Recordscount'] = 0; $result['Record'] = array(); } $this->cache->set($memcache_keys, $result); } else { $result = $this->cache->get($memcache_keys); } $model = new usermodel(); for ($i = 0; $i < count($result['Record']); $i++) { $bool = $this->cache->get($guid . $result['Record'][$i]['ArticleID'] . "getItemAddVote"); if (!$bool) { $result['Record'][$i]['guid'] = 0; } else { $result['Record'][$i]['guid'] = 1; } } } return $result; } //开通博客 function CreateBlog($UserID, $nick, $blogname, $domain, $groupid, $status) { $result = array(); $type = 'B001'; $data['UserID'] = $UserID; $data['NickName'] = $nick; $data['BlogName'] = $blogname; $data['DomainName'] = $domain; $data['DefaultGroupID'] = $groupid; $data['Status'] = $status; $rs = $this->socket->senddata($type, $data); if ($rs['Status']['Code'] == 00) { $result['errorcode'] = 10000; $result['errormsg'] = '开通成功'; } elseif ($rs['Status']['Code'] == 200005) { $result['errorcode'] = 10006; $result['errormsg'] = '开通失败,域名已存在'; } elseif ($rs['Status']['Code'] == 200011) { $result['errorcode'] = 10007; $result['errormsg'] = '开通失败,博客权限不存在'; } elseif ($rs['Status']['Code'] == 200012) { $result['errorcode'] = 10008; $result['errormsg'] = '开通失败,博客设置不存在'; } elseif ($rs['Status']['Code'] == 200013) { $result['errorcode'] = 10009; $result['errormsg'] = '开通失败,博客数量已经达到最大数量,不允许再开通博客'; } elseif ($rs['Status']['Code'] == 200003) { $result['errorcode'] = 10010; $result['errormsg'] = '开通失败,博客名已存在'; } else { $result['errorcode'] = 10011; $result['errormsg'] = '开通失败,博客名已存在'; } return $result; } function getBlogs($UserID, $StartNo, $QryCount, $guid, $FromUserID = 0,$isShowPic=0) { $result = array(); //首先取到用户的博客列表 $type1 = 'B050'; $data1['Type'] = 4; $data1['StartNo'] = 0; $data1['QryData'] = $UserID; $rs1 = $this->socket->senddata($type1, $data1); if ($rs1['Status']['Code'] == '00' && $rs1['Status']['TtlRecords'] == "1") { $MemberID = $rs1['Records']['Record']['MemberID']; $BlogName = $rs1['Records']['Record']['BlogName']; $NickName = $rs1['Records']['Record']['NickName']; $DomainName = $rs1['Records']['Record']['DomainName']; } else if ($rs1['Status']['Code'] == '00' && intval($rs1['Status']['TtlRecords']) > 1) { foreach ($rs1["Records"]["Record"] as $key => $val) { if ($val["IsPrimary"] == 1) { $BlogName = $rs1['Records']['Record'][$key]['BlogName']; $MemberID = $rs1['Records']['Record'][$key]['MemberID']; $NickName = $rs1['Records']['Record'][$key]['NickName']; $DomainName = $rs1['Records']['Record']['DomainName']; } } } $type = 'B215'; $datat['MemberID'] = $MemberID; $datat['StartNo'] = $StartNo; $datat['IsSummary'] = 1; $datat['QryCount'] = $QryCount; if (intval($FromUserID) > 0) { $datat['FromUserID'] = $FromUserID; } //$data['Platform'] = 1; //过滤鲜花文章 $rs = $this->socket->senddata($type, $datat); $data = (isset($rs['Status']['Code']) && $rs['Status']['Code'] = '00') ? $rs['Records'] : ''; $result['Recordscount'] = isset($rs['Status']['RetRecords']) ? $rs['Status']['RetRecords'] : 0; if ($result['Recordscount'] == 0 || empty($data)) { $result['Record'] = array(); return $result; } $model = new usermodel(); $head = new common_user(); if (intval($rs['Status']['RetRecords']) == 1) { $dv = $model->blogaid($data['Record']['ArticleID']); if (!empty($dv)) { if (!empty($datat['FromUserID'])) { if (intval($data['Record']["GiftPrice"]) > 0 && intval($data['Record']["IsUserPay"]) == 1) { $result['Record'][0]['zxg'] = $dv[0]["name"]; } else if (intval($data['Record']["GiftPrice"]) == 0) { $result['Record'][0]['zxg'] = $dv[0]["name"]; } else { $result['Record'][0]['zxg'] = "0"; } } else { if (intval($data['Record']["GiftPrice"]) == 0) { $result['Record'][0]['zxg'] = $dv[0]["name"]; } else { $result['Record'][0]['zxg'] = "0"; } } } else { $result['Record'][0]['zxg'] = "0"; } $bool = $this->cache->get($guid . $data['Record']['ArticleID'] . "getItemAddVote"); if (!$bool) { $result['Record'][0]['guid'] = 0; } else { $result['Record'][0]['guid'] = 1; } $result['Record'][0]['ArticleID'] = $data['Record']['ArticleID']; $result['Record'][0]['Title'] = $data['Record']['Title']; $result['Record'][0]['NickName'] = $NickName; $result['Record'][0]['UserID'] = $UserID; $result['Record'][0]['IsUserPay'] = $data['Record']['IsUserPay']; $result['Record'][0]['Domainname'] = $DomainName; $result['Record'][0]['AppearTime'] = $data['Record']['AppearTime']; $result['Record'][0]['SourceType'] = $data['Record']['SourceType']; $result['Record'][0]['Summary'] = $data['Record']['Summary']; $result['Record'][0]['SortID'] = $data['Record']['SortID']; $result['Record'][0]['BlogName'] = $BlogName; $result['Record'][0]['MemberID'] = $MemberID; $result['Record'][0]['CommentNumber'] = $data['Record']['CommentNumber']; $result['Record'][0]['TotleVote'] = $data['Record']['TotleVote']; $CollectCount = $model->shoucByAid($data['Record']['ArticleID']); $result['Record'][0]['CollectCount'] = $CollectCount[0]["count"]; $result['Record'][0]['ReprintCount'] = $data['Record']['ReprintCount']; $result['Record'][0]['Property'] = $data['Record']['Property']; $result['Record'][0]['Prime'] = $data['Record']['Prime']; $result['Record'][0]['FocusNickname'] = $data['Record']['FocusNickname']; $result['Record'][0]['FocusTotleVote'] = $data['Record']['FocusTotleVote']; $result['Record'][0]['SysTagID'] = $data['Record']['SysTagID']; $result['Record'][0]['IsTop'] = $data['Record']['IsTop']; $result['Record'][0]['IsUsed'] = $data['Record']['IsUsed']; $result['Record'][0]['Price'] = $data['Record']['GiftPrice']; $result['Record'][0]['IsUserPay'] = $data['Record']['IsUserPay']; $result['Record'][0]['FocusArtAppearTime'] = $data['Record']['FocusArtAppearTime']; $result['Record'][0]['FocusArtArticleID'] = $data['Record']['FocusArtArticleID']; $result['Record'][0]['FocusArtMemberID'] = $data['Record']['FocusArtMemberID']; $result['Record'][0]['FocusArtTitle'] = preg_replace('/<[^>]*?>/', '', $data['Record']['FocusArtTitle']); $result['Record'][0]['src'] = $head->getUserHead($UserID); //$result['Record'][0]['Price']=$data['Record']['Price']; //$result['Record'][0]['DataTime']=$data['Record']['DataTime']; $Content = stripslashes($data['Record']['Content']); $Content = str_replace("\n", "", $Content); $Content = str_replace("\r", "", $Content); $Content = str_replace("\t", "", $Content); $result['Record'][0]['Content'] = mb_substr(str_replace(' ', '', strip_tags($Content)), 0,60, 'utf-8'); if($isShowPic==1){ $con = '`\]+src=[\'"]?(.*?)[\'"]?\s+.*?\/?\>`'; preg_match_all($con, $Content, $matches); $result['Record'][0]['rtn'] = $matches[1]; } } else { for ($i = 0; $i < count($data['Record']); $i++) { $dv = $model->blogaid($data['Record'][$i]['ArticleID']); // if (!empty($dv)) { // $result['Record'][$i]['zxg'] = $dv[0]["name"]; // } else { // $result['Record'][$i]['zxg'] = "0"; // } if (!empty($dv)) { if (!empty($datat['FromUserID'])) { if (intval($data['Record'][$i]["GiftPrice"]) > 0 && intval($data['Record'][$i]["IsUserPay"]) == 1) { $result['Record'][$i]['zxg'] = $dv[0]["name"]; } else if (intval($data['Record'][$i]["GiftPrice"]) == 0) { $result['Record'][$i]['zxg'] = $dv[0]["name"]; } else { $result['Record'][$i]['zxg'] = "0"; } } else { if (intval($data['Record'][$i]["GiftPrice"]) == 0) { $result['Record'][$i]['zxg'] = $dv[0]["name"]; } else { $result['Record'][$i]['zxg'] = "0"; } } } else { $result['Record'][$i]['zxg'] = "0"; } $bool = $this->cache->get($guid . $data['Record'][$i]['ArticleID'] . "getItemAddVote"); if (!$bool) { $result['Record'][$i]['guid'] = 0; } else { $result['Record'][$i]['guid'] = 1; } $result['Record'][$i]['SortID'] = $data['Record'][$i]['SortID']; $result['Record'][$i]['ArticleID'] = $data['Record'][$i]['ArticleID']; $result['Record'][$i]['Title'] = $data['Record'][$i]['Title']; $result['Record'][$i]['SysTagID'] = $data['Record'][$i]['SysTagID']; $result['Record'][$i]['SourceType'] = $data['Record'][$i]['SourceType']; $result['Record'][$i]['IsUserPay'] = $data['Record'][$i]['IsUserPay']; $result['Record'][$i]['NickName'] = $NickName; $result['Record'][$i]['UserID'] = $UserID; $result['Record'][$i]['Domainname'] = $DomainName; $result['Record'][$i]['IsUserPay'] = $data['Record'][$i]['IsUserPay']; //$result['Record'][$i]['Domainname']=$data['Record'][$i]['DomainName']; $result['Record'][$i]['AppearTime'] = $data['Record'][$i]['AppearTime']; $result['Record'][$i]['Summary'] = $data['Record'][$i]['Summary']; $result['Record'][$i]['BlogName'] = $BlogName; $result['Record'][$i]['MemberID'] = $MemberID; $result['Record'][$i]['Price'] = $data['Record'][$i]['GiftPrice']; $result['Record'][$i]['CommentNumber'] = $data['Record'][$i]['CommentNumber']; $result['Record'][$i]['TotleVote'] = $data['Record'][$i]['TotleVote']; $CollectCount = $model->shoucByAid($data['Record'][$i]['ArticleID']); $result['Record'][$i]['CollectCount'] = $CollectCount[0]["count"]; $result['Record'][$i]['ReprintCount'] = $data['Record'][$i]['ReprintCount']; $result['Record'][$i]['Property'] = $data['Record'][$i]['Property']; $result['Record'][$i]['Prime'] = $data['Record'][$i]['Prime']; $result['Record'][$i]['IsTop'] = $data['Record'][$i]['IsTop']; $result['Record'][$i]['IsUsed'] = $data['Record'][$i]['IsUsed']; $result['Record'][$i]['FocusTotleVote'] = $data['Record'][$i]['FocusTotleVote']; $result['Record'][$i]['src'] = $head->getUserHead($UserID); $result['Record'][$i]['FocusNickname'] = $data['Record'][$i]['FocusNickname']; $result['Record'][$i]['FocusArtMemberID'] = $data['Record'][$i]['FocusArtMemberID']; $result['Record'][$i]['FocusArtAppearTime'] = $data['Record'][$i]['FocusArtAppearTime']; $result['Record'][$i]['FocusArtArticleID'] = $data['Record'][$i]['FocusArtArticleID']; $result['Record'][$i]['FocusArtTitle'] = preg_replace('/<[^>]*?>/', '', $data['Record'][$i]['FocusArtTitle']); //$result['Record'][$i]['Price']=$data['Record'][$i]['Price']; //$result['Record'][$i]['DataTime']=$data['Record'][$i]['DataTime']; $Content = stripslashes($data['Record'][$i]['Content']); $Content = str_replace("\n", "", $Content); $Content = str_replace("\r", "", $Content); $Content = str_replace("\t", "", $Content); if($isShowPic==1){ $con = '`\]+src=[\'"]?(.*?)[\'"]?\s+.*?\/?\>`'; preg_match_all($con, $Content, $matches); $result['Record'][$i]['rtn'] = $matches[1]; } $Content = str_replace(' ', '', strip_tags($Content)); $result['Record'][$i]['Content'] = $this->utf8_strs($Content, 140); } } return $result; } function utf8_strs($string, $width, $point = '') { //$string = trim(replace($string)); $start = 0; $encoding = 'UTF-8'; if ($point == '') { $trimmarker = '...'; } else { $trimmarker = ''; } if ($width == '') { $width = mb_strwidth($string, "UTF-8"); } return mb_strimwidth($string, $start, $width, $trimmarker, $encoding); } function getBlog($UserID, $StartNo, $QryCount) { $result = array(); //首先取到用户的博客列表 $type1 = 'B050'; $data1['Type'] = 4; $data1['StartNo'] = 0; $data1['QryData'] = $UserID; $rs1 = $this->socket->senddata($type1, $data1); if ($rs1['Status']['Code'] == '00' && $rs1['Status']['TtlRecords'] == "1") { $MemberID = $rs1['Records']['Record']['MemberID']; $BlogName = $rs1['Records']['Record']['BlogName']; } else if ($rs1['Status']['Code'] == '00' && intval($rs1['Status']['TtlRecords']) > 1) { foreach ($rs1["Records"]["Record"] as $key => $val) { if ($val["IsPrimary"] == 1) { $BlogName = $rs1['Records']['Record'][$key]['BlogName']; $MemberID = $rs1['Records']['Record'][$key]['MemberID']; } } } $type = 'B215'; if ($StartNo == "1") { $StartNo = 0; } $data['MemberID'] = $MemberID; $data['StartNo'] = $StartNo; $data['IsSummary'] = 1; $data['QryCount'] = $QryCount; $rs = $this->socket->senddata($type, $data); $data = (isset($rs['Status']['Code']) && $rs['Status']['Code'] = '00') ? $rs['Records'] : ''; $result['Recordscount'] = isset($rs['Status']['RetRecords']) ? $rs['Status']['RetRecords'] : 0; if ($rs['Status']['RetRecords'] == 1) { $result['Record'][0]['ArticleID'] = $data['Record']['ArticleID']; $result['Record'][0]['Title'] = $data['Record']['Title']; $result['Record'][0]['BlogName'] = $BlogName; $result['Record'][0]['UserID'] = $UserID; $result['Record'][0]['Domainname'] = $data['Record']['DomainName']; $result['Record'][0]['AppearTime'] = $data['Record']['AppearTime']; $result['Record'][0]['Summary'] = $data['Record']['Summary']; } else { for ($i = 0; $i < count($data['Record']); $i++) { $result['Record'][$i]['ArticleID'] = $data['Record'][$i]['ArticleID']; $result['Record'][$i]['Title'] = $data['Record'][$i]['Title']; $result['Record'][$i]['BlogName'] = $BlogName; $result['Record'][$i]['UserID'] = $UserID; $result['Record'][$i]['Domainname'] = $data['Record'][$i]['DomainName']; $result['Record'][$i]['AppearTime'] = $data['Record'][$i]['AppearTime']; //$result['Record'][$i]['TagID']=$data['Record'][$i]['TagID']; //$result['Record'][$i]['TagName']=$data['Record'][$i]['TagName']; $result['Record'][$i]['Summary'] = $data['Record'][$i]['Summary']; //$result['Record'][$i]['CommentNumber']=$data['Record'][$i]['CommentNumber']; //$result['Record'][$i]['ReprintCount']=$data['Record'][$i]['AppearTime']; } } return $result; } /* 获取用户的博客信息 */ function getBlogname($UserID) { //首先取到用户的博客列表 $type1 = 'B050'; $data1['Type'] = 4; $data1['StartNo'] = 0; $data1['QryData'] = $UserID; $rs1 = $this->socket->senddata($type1, $data1); if ($rs1['Status']['Code'] == 00 && $rs1['Status']['TtlRecords'] == 1) { $BlogName = $rs1['Records']['Record']['BlogName']; } else if ($rs1['Status']['Code'] == 00 && $rs1['Status']['TtlRecords'] > 1) { foreach ($rs1["Records"]["Record"] as $key => $val) { if ($val["IsPrimary"] == 1) { $BlogName = $rs1['Records']['Record'][$key]['BlogName']; } } } else { $BlogName = ''; } return $BlogName; } } ?>