Example #1
0
 public static function getFriendsByUser($userId)
 {
     $_friends = \App\Friends::where("user_id", "=", $userId)->get();
     // dump($friendsIds);
     $friends = collect();
     foreach ($_friends as $friend) {
         $userdata = \App\User::getAllUserDataById($friend->friend_user_id);
         $userdata->friendStatus = \App\Friends::getFriendStatus($friend->status);
         $friends->push($userdata);
     }
     //dump($friends);
     return $friends;
 }
Example #2
0
 public function getMemberData($slug)
 {
     $userdata = \App\User::getAllUserDataBySlug($slug);
     $_projects = \App\User::getUsersProjects($userdata->id);
     $friends = \App\Friends::getFriendsByUser($userdata->id);
     // dump($friends);
     $projects = collect();
     foreach ($_projects as $project) {
         $project = \App\Project::getFullProjectData($project->id);
         $projects->push($project);
     }
     //dump($projects);
     return view('cosplaydesign.pages.profile', array("userdata" => $userdata, "projects" => $projects, "friends" => $friends));
 }
Example #3
0
 public function getHome()
 {
     $userdata = \App\User::getAllUserDataBySlug("haseo-xth");
     $projectCompleted = \App\Project::getProjectbyUserIdAndStatus($userdata->id, 1);
     $projectInProgress = \App\Project::getProjectbyUserIdAndStatus($userdata->id, 0);
     $progettiArmi = \App\Project::getProjectsByCateogory(1, $userdata->id);
     $progettiAccessori = \App\Project::getProjectsByCateogory(2, $userdata->id);
     $progettiCostumi = \App\Project::getProjectsByCateogory(3, $userdata->id);
     $numeroAmici = \App\Friends::getFriendsByUser($userdata->id);
     //dump($projectInProgress);
     $numeroProgetti = collect();
     $numeroProgetti->armi = count($progettiArmi);
     $numeroProgetti->accessori = count($progettiAccessori);
     $numeroProgetti->costumi = count($progettiCostumi);
     $numeroMedia = \App\User::getMediaByUser($userdata->id);
     return view('cosplaydesign.private.pages.dashboard', compact('userdata', 'projectCompleted', 'projectInProgress', 'numeroProgetti', 'numeroAmici', 'numeroMedia'));
 }
 public function getFriends($wxuin)
 {
     //循环执行心跳
     $user = Login::where('wxuin', $wxuin)->where('status', 1)->first();
     if (!$user) {
         \Log::info("wxuin:{$wxuin} 冻结状态,结束此次循环");
         return;
     }
     $cookies = json_decode($user->cookies);
     $url = "https://webpush.weixin.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact?r=" . t();
     $ret = CURL::send($url, ['Cookie' => urldecode(http_build_query($cookies, '', '; '))], ['follow_redirects' => false], ['ret' => 'all']);
     $html = $ret->body;
     $html = iconv('UTF-8', 'UTF-8//IGNORE', $html);
     $cookies2 = toCookies($ret->cookies);
     $cookies = (object) ((array) $cookies2 + (array) $cookies);
     //更新Cookie
     Login::where('wxuin', $wxuin)->update(['cookies' => json_encode($cookies)]);
     $data_arr = json_decode($html, true);
     foreach ($data_arr['MemberList'] as $k => $v) {
         //获取好友信息
         $data = array('my_uin' => $wxuin, 'Uin' => $v['Uin'], 'Alias' => $v['Alias'], 'UserName' => $v['UserName'], 'NickName' => $v['NickName'], 'RemarkName' => $v['RemarkName'], 'HeadImgUrl' => $v['HeadImgUrl'], 'Sex' => $v['Sex'], 'Signature' => $v['Signature'], 'Province' => $v['Province'], 'City' => $v['City']);
         $ff = Friends::where('UserName', $v['UserName'])->first();
         //如果存在了就更新
         if ($ff) {
             Friends::where('UserName', $v['UserName'])->update($data);
         } else {
             $data_batch[] = $data;
         }
     }
     if (isset($data_batch)) {
         Friends::insert($data_batch);
     }
     return $data_arr;
 }
Example #5
0
 public function getChatroomFriends($wxuin)
 {
     set_time_limit(0);
     //循环执行心跳
     $user = Login::where('wxuin', $wxuin)->where('status', 1)->first();
     if (!$user) {
         $this->death();
     }
     $cookies = json_decode($user->cookies);
     $post['BaseRequest']['DeviceID'] = $user->deviceid;
     $post['BaseRequest']['Sid'] = $cookies->wxsid;
     $post['BaseRequest']['Skey'] = $user->skey;
     $post['BaseRequest']['Uin'] = (int) $cookies->wxuin;
     //获取群列表
     $Chatroom = Friends::where('UserName', 'like', '@@%')->where('my_uin', $wxuin)->get();
     if (!count($Chatroom)) {
         $this->death("获取不到群信息");
     }
     //循环获取所有群友信息
     foreach (json_decode($Chatroom) as $k => $v) {
         $Chatroom_friends = Chatroom::where('EncryChatRoomId', $v->EncryChatRoomId)->get();
         $i = 0;
         //分批次获取群友信息
         foreach ($Chatroom_friends as $_k => $_v) {
             $post['List'][$i]['EncryChatRoomId'] = $v->UserName;
             //群id
             $post['List'][$i]['UserName'] = $_v->UserName;
             if (++$i == 50) {
                 $post['Count'] = $i;
                 $i = 0;
                 $this->putChatroomFriends($wxuin, $post);
                 unset($post['List']);
             }
         }
         if ($i != 0) {
             $post['Count'] = $i;
             $this->putChatroomFriends($wxuin, $post);
             unset($post['List']);
         }
     }
 }