/** * @param string $url Image's URL. * @return integer Saved file identifier */ protected static function saveImage($url) { $fileId = false; $file = new \CFile(); $httpClient = new HttpClient(); $httpClient->setTimeout(5); $httpClient->setStreamTimeout(5); $urlComponents = parse_url($url); if ($urlComponents && strlen($urlComponents["path"]) > 0) { $tempPath = $file->GetTempName('', bx_basename($urlComponents["path"])); } else { $tempPath = $file->GetTempName('', bx_basename($url)); } $httpClient->download($url, $tempPath); $fileName = $httpClient->getHeaders()->getFilename(); $localFile = \CFile::MakeFileArray($tempPath); if (is_array($localFile)) { if (strlen($fileName) > 0) { $localFile['name'] = $fileName; } if (\CFile::CheckImageFile($localFile, 0, 0, 0, array("IMAGE")) === null) { $fileId = $file->SaveFile($localFile, 'urlpreview', true); } } return $fileId === false ? null : $fileId; }
public function GetAppInfo() { if ($this->access_token === false) { return false; } $h = new \Bitrix\Main\Web\HttpClient(); $h->setTimeout($this->httpTimeout); $result = $h->post(static::TOKENINFO_URL . '?access_token=' . urlencode($this->access_token)); $result = \Bitrix\Main\Web\Json::decode($result); if (is_array($result) && $result["audience"]) { $result["id"] = $result["audience"]; } return $result; }
public function GetCurrentUserFriends($limit, &$next) { if ($this->access_token === false) { return false; } if (empty($next)) { $url = self::GRAPH_URL . '/me/friends?access_token=' . $this->access_token . "&fields=picture,id,name,first_name,last_name,gender,email"; if ($limit > 0) { $url .= "&limit=" . intval($limit) . "&offset=" . intval($next); } } else { $url = $next; } $http = new HttpClient(); $http->setTimeout($this->httpTimeout); $result = $http->get($url); $result = Json::decode($result); if (is_array($result['paging']) && !empty($result['paging']['next'])) { $next = $result['paging']['next']; } else { $next = ''; } return $result; }