@@ -6,13 +6,13 @@ discard block |
||
6 | 6 | * @param string $class The fully-qualified class name. |
7 | 7 | * @return void |
8 | 8 | */ |
9 | -spl_autoload_register(function ($class) { |
|
9 | +spl_autoload_register(function($class) { |
|
10 | 10 | |
11 | 11 | // project-specific namespace prefix |
12 | 12 | $prefix = 'Hborras\\TwitterAdsSDK\\'; |
13 | 13 | |
14 | 14 | // base directory for the namespace prefix |
15 | - $base_dir = __DIR__ . '/src/'; |
|
15 | + $base_dir = __DIR__.'/src/'; |
|
16 | 16 | |
17 | 17 | // does the class use the namespace prefix? |
18 | 18 | $len = strlen($prefix); |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | // replace the namespace prefix with the base directory, replace namespace |
28 | 28 | // separators with directory separators in the relative class name, append |
29 | 29 | // with .php |
30 | - $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php'; |
|
30 | + $file = $base_dir.str_replace('\\', '/', $relative_class).'.php'; |
|
31 | 31 | |
32 | 32 | // if the file exists, require it |
33 | 33 | if (file_exists($file)) { |
@@ -90,6 +90,12 @@ |
||
90 | 90 | return $response; |
91 | 91 | } |
92 | 92 | |
93 | + /** |
|
94 | + * @param integer $chunkSize |
|
95 | + * @param string $bytes |
|
96 | + * @param integer $bytesStart |
|
97 | + * @param integer $bytesRead |
|
98 | + */ |
|
93 | 99 | public function uploadChunk($resource, $chunkSize, $bytes, $bytesStart, $bytesRead) |
94 | 100 | { |
95 | 101 | $headers = [ |
@@ -81,22 +81,22 @@ discard block |
||
81 | 81 | { |
82 | 82 | /** Here you can add any header you want to the request*/ |
83 | 83 | $headers = [ |
84 | - 'x-ton-expires: ' . gmdate('D, d M Y H:i:s T', strtotime("+10 day")), |
|
85 | - 'content-type: ' . $this->getContentType(), |
|
86 | - 'Content-Length: ' . $this->fileSize |
|
84 | + 'x-ton-expires: '.gmdate('D, d M Y H:i:s T', strtotime("+10 day")), |
|
85 | + 'content-type: '.$this->getContentType(), |
|
86 | + 'Content-Length: '.$this->fileSize |
|
87 | 87 | ]; |
88 | 88 | |
89 | - $response = $this->getTwitterAds()->post(self::DEFAULT_DOMAIN . self::DEFAULT_RESOURCE . self::DEFAULT_BUCKET, ['raw' => file_get_contents($this->filePath)], $headers); |
|
89 | + $response = $this->getTwitterAds()->post(self::DEFAULT_DOMAIN.self::DEFAULT_RESOURCE.self::DEFAULT_BUCKET, ['raw' => file_get_contents($this->filePath)], $headers); |
|
90 | 90 | return $response; |
91 | 91 | } |
92 | 92 | |
93 | 93 | public function uploadChunk($resource, $chunkSize, $bytes, $bytesStart, $bytesRead) |
94 | 94 | { |
95 | 95 | $headers = [ |
96 | - 'Content-Type: ' . $this->getContentType(), |
|
97 | - 'Content-Range: bytes ' . $bytesStart . '-' . ($bytesRead - 1) . '/' . $this->fileSize |
|
96 | + 'Content-Type: '.$this->getContentType(), |
|
97 | + 'Content-Range: bytes '.$bytesStart.'-'.($bytesRead - 1).'/'.$this->fileSize |
|
98 | 98 | ]; |
99 | - $response = $this->getTwitterAds()->put(self::DEFAULT_DOMAIN . $resource, ['raw' => $bytes], $headers); |
|
99 | + $response = $this->getTwitterAds()->put(self::DEFAULT_DOMAIN.$resource, ['raw' => $bytes], $headers); |
|
100 | 100 | |
101 | 101 | return $response; |
102 | 102 | } |
@@ -104,14 +104,14 @@ discard block |
||
104 | 104 | public function initChunkedUpload() |
105 | 105 | { |
106 | 106 | $headers = [ |
107 | - 'X-Ton-Content-Type: ' . $this->getContentType(), |
|
108 | - 'X-Ton-Content-Length: ' . $this->fileSize, |
|
109 | - 'X-Ton-Expires: ' . gmdate('D, d M Y H:i:s T', strtotime("+6 day")), |
|
110 | - 'Content-Type: ' . $this->getContentType(), |
|
111 | - 'Content-Length: ' . strval(0) |
|
107 | + 'X-Ton-Content-Type: '.$this->getContentType(), |
|
108 | + 'X-Ton-Content-Length: '.$this->fileSize, |
|
109 | + 'X-Ton-Expires: '.gmdate('D, d M Y H:i:s T', strtotime("+6 day")), |
|
110 | + 'Content-Type: '.$this->getContentType(), |
|
111 | + 'Content-Length: '.strval(0) |
|
112 | 112 | ]; |
113 | 113 | |
114 | - $resource = self::DEFAULT_DOMAIN . self::DEFAULT_RESOURCE . self::DEFAULT_BUCKET . '?resumable=true'; |
|
114 | + $resource = self::DEFAULT_DOMAIN.self::DEFAULT_RESOURCE.self::DEFAULT_BUCKET.'?resumable=true'; |
|
115 | 115 | $response = $this->getTwitterAds()->post($resource, [], $headers); |
116 | 116 | return $response; |
117 | 117 | } |
@@ -2,12 +2,7 @@ |
||
2 | 2 | |
3 | 3 | use Hborras\TwitterAdsSDK\TwitterAds; |
4 | 4 | use Hborras\TwitterAdsSDK\TwitterAds\Account; |
5 | -use Hborras\TwitterAdsSDK\TwitterAds\Campaign\Campaign; |
|
6 | -use Hborras\TwitterAdsSDK\TwitterAds\Campaign\LineItem; |
|
7 | 5 | use Hborras\TwitterAdsSDK\TwitterAds\Campaign\Tweet; |
8 | -use Hborras\TwitterAdsSDK\TwitterAds\Creative\PromotedTweet; |
|
9 | -use Hborras\TwitterAdsSDK\TwitterAds\Creative\WebsiteCard; |
|
10 | -use Hborras\TwitterAdsSDK\TwitterAds\Enumerations; |
|
11 | 6 | |
12 | 7 | require '../autoload.php'; |
13 | 8 |
@@ -26,4 +26,4 @@ |
||
26 | 26 | |
27 | 27 | // create request for a simple nullcasted tweet |
28 | 28 | $media = $twitterAds->upload(['media' => 'twitter-gif.gif', 'media_type' => 'image/gif'], true); |
29 | -$tweet = Tweet::create($account, 'Tweet with chunked upload GIF...' . rand() . ' http://twitter.com', ['media_ids' => $media->media_id]); |
|
30 | 29 | \ No newline at end of file |
30 | +$tweet = Tweet::create($account, 'Tweet with chunked upload GIF...'.rand().' http://twitter.com', ['media_ids' => $media->media_id]); |
|
31 | 31 | \ No newline at end of file |
@@ -2,13 +2,7 @@ |
||
2 | 2 | |
3 | 3 | use Hborras\TwitterAdsSDK\TwitterAds; |
4 | 4 | use Hborras\TwitterAdsSDK\TwitterAds\Account; |
5 | -use Hborras\TwitterAdsSDK\TwitterAds\Campaign\Campaign; |
|
6 | -use Hborras\TwitterAdsSDK\TwitterAds\Campaign\LineItem; |
|
7 | -use Hborras\TwitterAdsSDK\TwitterAds\Campaign\Tweet; |
|
8 | -use Hborras\TwitterAdsSDK\TwitterAds\Creative\PromotedTweet; |
|
9 | 5 | use Hborras\TwitterAdsSDK\TwitterAds\Creative\Video; |
10 | -use Hborras\TwitterAdsSDK\TwitterAds\Creative\WebsiteCard; |
|
11 | -use Hborras\TwitterAdsSDK\TwitterAds\Enumerations; |
|
12 | 6 | |
13 | 7 | require '../autoload.php'; |
14 | 8 |
@@ -30,7 +30,7 @@ |
||
30 | 30 | |
31 | 31 | /** Create a video entity and save it*/ |
32 | 32 | $video = new Video($account); |
33 | -$video->setTitle("Test Video " . rand()); |
|
34 | -$video->setDescription("Description" . rand()); |
|
33 | +$video->setTitle("Test Video ".rand()); |
|
34 | +$video->setDescription("Description".rand()); |
|
35 | 35 | $video->setVideoMediaId($media->media_id); |
36 | 36 | $video->save(); |
@@ -148,7 +148,7 @@ discard block |
||
148 | 148 | } |
149 | 149 | |
150 | 150 | /** |
151 | - * @return mixed |
|
151 | + * @return string |
|
152 | 152 | */ |
153 | 153 | public function getListType() |
154 | 154 | { |
@@ -212,7 +212,7 @@ discard block |
||
212 | 212 | } |
213 | 213 | |
214 | 214 | /** |
215 | - * @return array |
|
215 | + * @return string[] |
|
216 | 216 | */ |
217 | 217 | public static function getTypes() |
218 | 218 | { |
@@ -2,12 +2,9 @@ |
||
2 | 2 | |
3 | 3 | namespace Hborras\TwitterAdsSDK\TwitterAds\TailoredAudience; |
4 | 4 | |
5 | -use Hborras\TwitterAdsSDK\TONUpload; |
|
6 | 5 | use Hborras\TwitterAdsSDK\TwitterAds; |
7 | -use Hborras\TwitterAdsSDK\TwitterAds\Account; |
|
8 | 6 | use Hborras\TwitterAdsSDK\TwitterAds\Cursor; |
9 | 7 | use Hborras\TwitterAdsSDK\TwitterAds\Resource; |
10 | -use Hborras\TwitterAdsSDK\TwitterAds\TailoredAudience\Exception\InvalidType; |
|
11 | 8 | |
12 | 9 | final class TailoredAudiencePermission extends Resource |
13 | 10 | { |
@@ -250,7 +250,7 @@ discard block |
||
250 | 250 | * @param string $path |
251 | 251 | * @param array $parameters |
252 | 252 | * |
253 | - * @param array $headers |
|
253 | + * @param string[] $headers |
|
254 | 254 | * @return Response |
255 | 255 | */ |
256 | 256 | public function post($path, array $parameters = [], array $headers = []) |
@@ -648,6 +648,10 @@ discard block |
||
648 | 648 | // This function takes a input like a=b&a=c&d=e and returns the parsed |
649 | 649 | // parameters like this |
650 | 650 | // array('a' => array('b','c'), 'd' => 'e') |
651 | + |
|
652 | + /** |
|
653 | + * @param string $input |
|
654 | + */ |
|
651 | 655 | public static function parse_parameters($input) |
652 | 656 | { |
653 | 657 | if (!isset($input) || !$input) { |
@@ -226,7 +226,7 @@ discard block |
||
226 | 226 | $this->response->setApiPath($path); |
227 | 227 | $url = sprintf('%s/%s', self::API_HOST_OAUTH, $path); |
228 | 228 | $request = Request::fromConsumerAndToken($this->consumer, $this->token, $method, $url, $parameters); |
229 | - $authorization = 'Authorization: Basic ' . $this->encodeAppAuthorization($this->consumer); |
|
229 | + $authorization = 'Authorization: Basic '.$this->encodeAppAuthorization($this->consumer); |
|
230 | 230 | $result = $this->request($request->getNormalizedHttpUrl(), $method, $authorization, $parameters); |
231 | 231 | $response = JsonDecoder::decode($result, $this->decodeJsonAsArray); |
232 | 232 | $this->response->setBody($response); |
@@ -495,7 +495,7 @@ discard block |
||
495 | 495 | $request->signRequest($this->signatureMethod, $this->consumer, $this->token); |
496 | 496 | $authorization = $request->toHeader(); |
497 | 497 | } else { |
498 | - $authorization = 'Authorization: Bearer ' . $this->bearer; |
|
498 | + $authorization = 'Authorization: Bearer '.$this->bearer; |
|
499 | 499 | } |
500 | 500 | if (strpos($url, TONUpload::DEFAULT_DOMAIN) === 0) { |
501 | 501 | return $this->request($url, $method, $authorization, $parameters, $headers); |
@@ -522,7 +522,7 @@ discard block |
||
522 | 522 | /* Curl settings */ |
523 | 523 | $options = [ |
524 | 524 | CURLOPT_VERBOSE => false, |
525 | - CURLOPT_CAINFO => __DIR__ . DIRECTORY_SEPARATOR . 'cacert.pem', |
|
525 | + CURLOPT_CAINFO => __DIR__.DIRECTORY_SEPARATOR.'cacert.pem', |
|
526 | 526 | CURLOPT_CONNECTTIMEOUT => $this->connectionTimeout, |
527 | 527 | CURLOPT_HEADER => true, |
528 | 528 | CURLOPT_HTTPHEADER => array_merge(['Accept: */*', $authorization, 'Expect:'], $headers, ['Connection: close']), |
@@ -567,7 +567,7 @@ discard block |
||
567 | 567 | } |
568 | 568 | |
569 | 569 | if (in_array($method, ['GET', 'PUT', 'DELETE']) && !empty($postfields) && !isset($postfields['raw'])) { |
570 | - $options[CURLOPT_URL] .= '?' . Util::buildHttpQuery($postfields); |
|
570 | + $options[CURLOPT_URL] .= '?'.Util::buildHttpQuery($postfields); |
|
571 | 571 | } |
572 | 572 | |
573 | 573 | $curlHandle = curl_init(); |
@@ -643,7 +643,7 @@ discard block |
||
643 | 643 | $key = $consumer->key; |
644 | 644 | $secret = $consumer->secret; |
645 | 645 | |
646 | - return base64_encode($key . ':' . $secret); |
|
646 | + return base64_encode($key.':'.$secret); |
|
647 | 647 | } |
648 | 648 | |
649 | 649 | /** |
@@ -790,9 +790,9 @@ discard block |
||
790 | 790 | $token = $token['oauth_token']; |
791 | 791 | } |
792 | 792 | if (empty($sign_in_with_twitter)) { |
793 | - return $this->authorizeURL() . "?oauth_token={$token}"; |
|
793 | + return $this->authorizeURL()."?oauth_token={$token}"; |
|
794 | 794 | } else { |
795 | - return $this->authenticateURL() . "?oauth_token={$token}"; |
|
795 | + return $this->authenticateURL()."?oauth_token={$token}"; |
|
796 | 796 | } |
797 | 797 | } |
798 | 798 | } |
@@ -2,11 +2,6 @@ |
||
2 | 2 | |
3 | 3 | use Hborras\TwitterAdsSDK\TwitterAds; |
4 | 4 | use Hborras\TwitterAdsSDK\TwitterAds\Account; |
5 | -use Hborras\TwitterAdsSDK\TwitterAds\Analytics; |
|
6 | -use Hborras\TwitterAdsSDK\TwitterAds\Campaign\Campaign; |
|
7 | -use Hborras\TwitterAdsSDK\TwitterAds\Campaign\LineItem; |
|
8 | -use Hborras\TwitterAdsSDK\TwitterAds\Enumerations; |
|
9 | -use Hborras\TwitterAdsSDK\TwitterAds\Fields\AnalyticsFields; |
|
10 | 5 | |
11 | 6 | require '../autoload.php'; |
12 | 7 |
@@ -4,7 +4,6 @@ |
||
4 | 4 | |
5 | 5 | use Hborras\TwitterAdsSDK\TwitterAds; |
6 | 6 | use Hborras\TwitterAdsSDK\TwitterAds\Resource; |
7 | -use Hborras\TwitterAdsSDK\TwitterAds\Account; |
|
8 | 7 | use Hborras\TwitterAdsSDK\Arrayable; |
9 | 8 | use Hborras\TwitterAdsSDK\TwitterAds\Errors\BatchLimitExceeded; |
10 | 9 |