public function uploadCategoryImage($file, $image_ext, $image_name, $destinationpath, $reference_id, $mode) { $return_arr = array(); $config_path = \Config::get('webshoppack::product_category_image_folder'); CUtil::chkAndCreateFolder($config_path); // open file a image resource \Image::make($file->getRealPath())->save(\Config::get("webshoppack::product_category_image_folder") . $image_name . '_O.' . $image_ext); list($width, $height) = getimagesize($file); list($upload_img['width'], $upload_img['height']) = getimagesize(base_path() . '/public/' . $config_path . $image_name . '_O.' . $image_ext); $thumb_width = \Config::get("webshoppack::product_category_image_thumb_width"); $thumb_height = \Config::get("webshoppack::product_category_image_thumb_height"); if (isset($thumb_width) && isset($thumb_height)) { $timg_size = CUtil::DISP_IMAGE($thumb_width, $thumb_height, $upload_img['width'], $upload_img['height'], true); \Image::make($file->getRealPath())->resize($thumb_width, $thumb_height, true, false)->save($config_path . $image_name . '_T.' . $image_ext); } $img_path = base_path() . '/public/' . $config_path; list($upload_input['thumb_width'], $upload_input['thumb_height']) = getimagesize($img_path . $image_name . '_T.' . $image_ext); if ($mode == 'edit') { $this->deleteExistingImageFiles($reference_id); } $return_arr = array('image_ext' => $image_ext, 'image_name' => $image_name, 'image_width' => $upload_input['thumb_width'], 'image_height' => $upload_input['thumb_height']); return $return_arr; }
public function uploadMediaFile($file_ctrl_name, $file_type, &$file_info, $download_file = false) { if (!isset($_FILES[$file_ctrl_name])) { return array('status' => 'error', 'error_message' => trans("webshoppack::product.products_select_file")); } // default settings $file_original = ''; $file_thumb = ''; $file_large = ''; $width = 0; $height = 0; $t_width = 0; $t_height = 0; $l_width = 0; $l_height = 0; $server_url = ''; $is_downloadable = 'No'; $file = \Input::file('uploadfile'); $file_size = $file->getClientSize(); if ($file_size == 0) { return array('status' => 'error', 'error_message' => trans("webshoppack::product.common_err_tip_invalid_file_size")); } $upload_file_name = $file->getClientOriginalName(); $ext_index = strrpos($upload_file_name, '.') + 1; $ext = substr($upload_file_name, $ext_index, strlen($upload_file_name)); $title = substr($upload_file_name, 0, $ext_index - 1); $filename_no_ext = uniqid(); // generate filename //$file = $filename_no_ext . '.' . $ext; if (!($file_size <= $this->product_max_upload_size * 1024 * 1024)) { return array('status' => 'error', 'error_message' => trans("webshoppack::product.common_err_tip_invalid_file_size")); } switch ($file_type) { case 'image': $file_path = \Config::get("webshoppack::photos_folder"); $server_url = \URL::asset($file_path); $file_original = $filename_no_ext . '.' . $ext; $file_thumb = $filename_no_ext . 'T.' . $ext; $file_large = $filename_no_ext . 'L.' . $ext; $file_indexsmall = $filename_no_ext . 'IS.' . $ext; CUtil::chkAndCreateFolder($file_path); @chmod($file_original, 0777); @chmod($file_thumb, 0777); @chmod($file_large, 0777); @chmod($file_indexsmall, 0777); try { \Image::make($file->getRealPath())->save($file_path . $file_original); //Resize original image for large image \Image::make($file->getRealPath())->resize(\Config::get("webshoppack::photos_large_width"), \Config::get("webshoppack::photos_large_height"), true, false)->save($file_path . $file_large); //Resize original image for thump image \Image::make($file->getRealPath())->resize(\Config::get("webshoppack::photos_thumb_width"), \Config::get("webshoppack::photos_thumb_height"), true, false)->save($file_path . $file_thumb); //Resize original image for small image for index page \Image::make($file->getRealPath())->resize(\Config::get("webshoppack::photos_indexsmall_width"), \Config::get("webshoppack::photos_indexsmall_height"), false, false)->save($file_path . $file_indexsmall); } catch (\Exception $e) { return array('status' => 'error', 'error_message' => $e->getMessage()); } list($width, $height) = getimagesize($file_path . $file_original); list($l_width, $l_height) = getimagesize($file_path . $file_large); list($t_width, $t_height) = getimagesize($file_path . $file_thumb); break; default: $file_type = $file_type == 'archive' ? 'zip' : $file_type; $file_path = \Config::get("webshoppack::archive_folder"); try { $file->move($file_path, $file_path . $filename_no_ext . '.' . $ext); } catch (\Exception $e) { return array('status' => 'error', 'error_message' => trans("webshoppack::product.products_file_upload_error")); } $is_downloadable = $download_file ? 'Yes' : 'No'; break; } $file_info = array('title' => $title, 'filename_no_ext' => $filename_no_ext, 'ext' => $ext, 'file_original' => $file_original, 'file_thumb' => $file_thumb, 'file_large' => $file_large, 'width' => $width, 'height' => $height, 't_width' => $t_width, 't_height' => $t_height, 'l_width' => $l_width, 'l_height' => $l_height, 'server_url' => $server_url, 'is_downloadable' => $is_downloadable); return array('status' => 'success'); }