[784] | 1 | <?php |
---|
| 2 | |
---|
| 3 | /** |
---|
| 4 | * Utility functions for violet application |
---|
| 5 | * |
---|
| 6 | */ |
---|
| 7 | class violetUtil { |
---|
| 8 | |
---|
| 9 | public static function getSpacePath($absolute = true) { |
---|
| 10 | if ($absolute) { |
---|
| 11 | return sfConfig::get('sf_upload_dir').'/'.sfConfig::get('app_space_dir').'/'; |
---|
| 12 | } else { |
---|
| 13 | return sfConfig::get('sf_upload_dir_name').'/'.sfConfig::get('app_space_dir').'/'; |
---|
| 14 | } |
---|
| 15 | } |
---|
| 16 | |
---|
| 17 | public static function getTempPath($subDir = '', $create = false) { |
---|
| 18 | $tempPath = sfConfig::get('sf_upload_dir') .'/'. sfConfig::get('app_temp_dir') .'/'. $subDir; |
---|
| 19 | if ($create && !file_exists($tempPath)) mkdir($tempPath, 0777, true); |
---|
| 20 | return $tempPath; |
---|
| 21 | } |
---|
| 22 | |
---|
| 23 | public static function getContentType($fileType) { |
---|
| 24 | switch (strtolower($fileType)) { |
---|
| 25 | case 'xml': |
---|
| 26 | case 'xvl': return 'text/xml'; |
---|
| 27 | |
---|
| 28 | case 'jpe': |
---|
| 29 | case 'jpg': |
---|
| 30 | case 'jpeg': return 'image/jpeg'; |
---|
| 31 | case 'gif': return 'image/gif'; |
---|
| 32 | case 'png': return 'image/png'; |
---|
| 33 | |
---|
| 34 | case 'flv': return 'video/x-flv'; |
---|
| 35 | case 'mp4': return 'video/mp4'; |
---|
| 36 | case 'mp3': return 'audio/mpeg'; |
---|
| 37 | case 'swf': return 'application/x-shockwave-flash'; |
---|
| 38 | } |
---|
| 39 | } |
---|
[894] | 40 | public function createThumb($pathToImage="") { |
---|
| 41 | |
---|
| 42 | if (is_file($pathToImage)) { |
---|
| 43 | |
---|
| 44 | $info = pathinfo($pathToImage); |
---|
| 45 | $extension = strtolower($info['extension']); |
---|
| 46 | |
---|
| 47 | if (in_array($extension, array('jpg', 'jpeg', 'png', 'gif'))) { |
---|
| 48 | |
---|
| 49 | switch ($extension) { |
---|
| 50 | case 'jpg': |
---|
| 51 | $img = imagecreatefromjpeg("{$pathToImage}"); |
---|
| 52 | break; |
---|
| 53 | case 'jpeg': |
---|
| 54 | $img = imagecreatefromjpeg("{$pathToImage}"); |
---|
| 55 | break; |
---|
| 56 | case 'png': |
---|
| 57 | $img = imagecreatefrompng("{$pathToImage}"); |
---|
| 58 | break; |
---|
| 59 | case 'gif': |
---|
| 60 | $img = imagecreatefromgif("{$pathToImage}"); |
---|
| 61 | break; |
---|
| 62 | default: |
---|
| 63 | $img = imagecreatefromjpeg("{$pathToImage}"); |
---|
| 64 | } |
---|
| 65 | list($width, $height) = getimagesize($pathToImage); |
---|
| 66 | $new_width = 64; |
---|
| 67 | $new_height = 50; |
---|
| 68 | $image_p = imagecreatetruecolor($new_width, $new_height); |
---|
| 69 | |
---|
| 70 | imagecopyresampled($image_p, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height); |
---|
| 71 | $thumnail = $info['dirname']."/".$info['filename']."_thumb.jpg"; |
---|
| 72 | imagejpeg($image_p,$thumnail, 30); |
---|
| 73 | return str_replace("/srv/www/violet/web/", "", $thumnail); |
---|
| 74 | } else { |
---|
| 75 | return ""; |
---|
| 76 | } |
---|
| 77 | } else { |
---|
| 78 | return ""; |
---|
| 79 | } |
---|
| 80 | |
---|
| 81 | return sfView::NONE; |
---|
| 82 | } |
---|
[784] | 83 | } |
---|