@@ -8,54 +8,54 @@ |
||
8 | 8 | |
9 | 9 | class MediaProvider extends BaseProvider |
10 | 10 | { |
11 | - protected $mediaManager; |
|
12 | - |
|
13 | - public function __construct(MediaManager $mediaManager) |
|
14 | - { |
|
15 | - $this->mediaManager = $mediaManager; |
|
16 | - } |
|
17 | - |
|
18 | - public function randomMedia ($width = null, $height = null, $type = "color") |
|
19 | - { |
|
20 | - $file = $this->downloadMedia($this->generateUrl($width, $height, $type)); |
|
21 | - $media = $this->mediaManager->upload($file); |
|
22 | - return $media; |
|
23 | - } |
|
24 | - |
|
25 | - protected function generateUrl ($width = null, $height = null, $type = "color") |
|
26 | - { |
|
27 | - $url = "http://loremflickr.com/"; |
|
28 | - |
|
29 | - if ($type !== 'color') { |
|
30 | - $url .= 'g/'; |
|
31 | - } |
|
32 | - |
|
33 | - if($width === null && $height !== null) { |
|
34 | - $width = round($height * 4 / 3); |
|
35 | - } elseif ($width !== null && $height === null) { |
|
36 | - $height = round($width * 3 / 4); |
|
37 | - } else { |
|
38 | - $width = rand(800, 1600); |
|
39 | - $height = round($width * 3 / 4); |
|
40 | - } |
|
41 | - |
|
42 | - $url .= $width.'/'.$height; |
|
43 | - |
|
44 | - $category = ['abstract', 'city', 'nature', 'moutains']; |
|
45 | - $url .= '/'.$category[array_rand($category, 1)].'/'; |
|
46 | - return $url; |
|
47 | - } |
|
48 | - |
|
49 | - protected function downloadMedia($url) |
|
50 | - { |
|
51 | - $filepath = sys_get_temp_dir().'/tmp.jpg'; |
|
52 | - $ch = curl_init($url); |
|
53 | - $fp = fopen($filepath,'wb'); |
|
54 | - curl_setopt($ch, CURLOPT_FILE, $fp); |
|
55 | - curl_setopt($ch, CURLOPT_HEADER, 0); |
|
56 | - curl_exec($ch); |
|
57 | - curl_close($ch); |
|
58 | - fclose($fp); |
|
59 | - return new File($filepath, 'random'); |
|
60 | - } |
|
11 | + protected $mediaManager; |
|
12 | + |
|
13 | + public function __construct(MediaManager $mediaManager) |
|
14 | + { |
|
15 | + $this->mediaManager = $mediaManager; |
|
16 | + } |
|
17 | + |
|
18 | + public function randomMedia ($width = null, $height = null, $type = "color") |
|
19 | + { |
|
20 | + $file = $this->downloadMedia($this->generateUrl($width, $height, $type)); |
|
21 | + $media = $this->mediaManager->upload($file); |
|
22 | + return $media; |
|
23 | + } |
|
24 | + |
|
25 | + protected function generateUrl ($width = null, $height = null, $type = "color") |
|
26 | + { |
|
27 | + $url = "http://loremflickr.com/"; |
|
28 | + |
|
29 | + if ($type !== 'color') { |
|
30 | + $url .= 'g/'; |
|
31 | + } |
|
32 | + |
|
33 | + if($width === null && $height !== null) { |
|
34 | + $width = round($height * 4 / 3); |
|
35 | + } elseif ($width !== null && $height === null) { |
|
36 | + $height = round($width * 3 / 4); |
|
37 | + } else { |
|
38 | + $width = rand(800, 1600); |
|
39 | + $height = round($width * 3 / 4); |
|
40 | + } |
|
41 | + |
|
42 | + $url .= $width.'/'.$height; |
|
43 | + |
|
44 | + $category = ['abstract', 'city', 'nature', 'moutains']; |
|
45 | + $url .= '/'.$category[array_rand($category, 1)].'/'; |
|
46 | + return $url; |
|
47 | + } |
|
48 | + |
|
49 | + protected function downloadMedia($url) |
|
50 | + { |
|
51 | + $filepath = sys_get_temp_dir().'/tmp.jpg'; |
|
52 | + $ch = curl_init($url); |
|
53 | + $fp = fopen($filepath,'wb'); |
|
54 | + curl_setopt($ch, CURLOPT_FILE, $fp); |
|
55 | + curl_setopt($ch, CURLOPT_HEADER, 0); |
|
56 | + curl_exec($ch); |
|
57 | + curl_close($ch); |
|
58 | + fclose($fp); |
|
59 | + return new File($filepath, 'random'); |
|
60 | + } |
|
61 | 61 | } |