Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
Flickr.php
001 <?php
002
003 namespace OAuth\OAuth1\Service;
004
005 use OAuth\OAuth1\Signature\SignatureInterface;
006 use OAuth\OAuth1\Token\StdOAuth1Token;
007 use OAuth\Common\Http\Exception\TokenResponseException;
008 use OAuth\Common\Http\Uri\Uri;
009 use OAuth\Common\Consumer\CredentialsInterface;
010 use OAuth\Common\Http\Uri\UriInterface;
011 use OAuth\Common\Storage\TokenStorageInterface;
012 use OAuth\Common\Http\Client\ClientInterface;
013
014 class Flickr extends AbstractService
015 {
016 protected $format;
017
018 public function __construct(
019 CredentialsInterface $credentials,
020 ClientInterface $httpClient,
021 TokenStorageInterface $storage,
022 SignatureInterface $signature,
023 UriInterface $baseApiUri = null
024 ) {
025 parent::__construct($credentials, $httpClient, $storage, $signature, $baseApiUri);
026 if ($baseApiUri === null) {
027 $this->baseApiUri = new Uri('https://api.flickr.com/services/rest/');
028 }
029 }
030
031 public function getRequestTokenEndpoint()
032 {
033 return new Uri('https://www.flickr.com/services/oauth/request_token');
034 }
035
036 public function getAuthorizationEndpoint()
037 {
038 return new Uri('https://www.flickr.com/services/oauth/authorize');
039 }
040
041 public function getAccessTokenEndpoint()
042 {
043 return new Uri('https://www.flickr.com/services/oauth/access_token');
044 }
045
046 protected function parseRequestTokenResponse($responseBody)
047 {
048 parse_str($responseBody, $data);
049 if (null === $data || !is_array($data)) {
050 throw new TokenResponseException('Unable to parse response.');
051 } elseif (!isset($data['oauth_callback_confirmed']) || $data['oauth_callback_confirmed'] != 'true') {
052 throw new TokenResponseException('Error in retrieving token.');
053 }
054 return $this->parseAccessTokenResponse($responseBody);
055 }
056
057 protected function parseAccessTokenResponse($responseBody)
058 {
059 parse_str($responseBody, $data);
060 if ($data === null || !is_array($data)) {
061 throw new TokenResponseException('Unable to parse response.');
062 } elseif (isset($data['error'])) {
063 throw new TokenResponseException('Error in retrieving token: "' . $data['error'] . '"');
064 }
065
066 $token = new StdOAuth1Token();
067 $token->setRequestToken($data['oauth_token']);
068 $token->setRequestTokenSecret($data['oauth_token_secret']);
069 $token->setAccessToken($data['oauth_token']);
070 $token->setAccessTokenSecret($data['oauth_token_secret']);
071 $token->setEndOfLife(StdOAuth1Token::EOL_NEVER_EXPIRES);
072 unset($data['oauth_token'], $data['oauth_token_secret']);
073 $token->setExtraParams($data);
074
075 return $token;
076 }
077
078 public function request($path, $method = 'GET', $body = null, array $extraHeaders = array())
079 {
080 $uri = $this->determineRequestUriFromPath('/', $this->baseApiUri);
081 $uri->addToQuery('method', $path);
082
083 if (!empty($this->format)) {
084 $uri->addToQuery('format', $this->format);
085
086 if ($this->format === 'json') {
087 $uri->addToQuery('nojsoncallback', 1);
088 }
089 }
090
091 $token = $this->storage->retrieveAccessToken($this->service());
092 $extraHeaders = array_merge($this->getExtraApiHeaders(), $extraHeaders);
093 $authorizationHeader = array(
094 'Authorization' => $this->buildAuthorizationHeaderForAPIRequest($method, $uri, $token, $body)
095 );
096 $headers = array_merge($authorizationHeader, $extraHeaders);
097
098 return $this->httpClient->retrieveResponse($uri, $body, $headers, $method);
099 }
100
101 public function requestRest($path, $method = 'GET', $body = null, array $extraHeaders = array())
102 {
103 return $this->request($path, $method, $body, $extraHeaders);
104 }
105
106 public function requestXmlrpc($path, $method = 'GET', $body = null, array $extraHeaders = array())
107 {
108 $this->format = 'xmlrpc';
109
110 return $this->request($path, $method, $body, $extraHeaders);
111 }
112
113 public function requestSoap($path, $method = 'GET', $body = null, array $extraHeaders = array())
114 {
115 $this->format = 'soap';
116
117 return $this->request($path, $method, $body, $extraHeaders);
118 }
119
120 public function requestJson($path, $method = 'GET', $body = null, array $extraHeaders = array())
121 {
122 $this->format = 'json';
123
124 return $this->request($path, $method, $body, $extraHeaders);
125 }
126
127 public function requestPhp($path, $method = 'GET', $body = null, array $extraHeaders = array())
128 {
129 $this->format = 'php_serial';
130
131 return $this->request($path, $method, $body, $extraHeaders);
132 }
133 }
134