@@ -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 | }  |