function item_image_crop() { if ((User::have_permit(ADMIN_ITEM) || User::is_mod_cat()) && (int) Url::get('user_id', 0) && (int) Url::get('user_id', 0) != User::id()) { $user_id = (int) Url::get('user_id', 0); $user_name = ''; $user = User::getUser($user_id); if ($user) $user_name = $user['user_name']; } else { $user_id = User::id(); $user_name = User::user_name(); } $arrRet['result'] = false; $arrRet['id'] = 0; $arrRet['original_image_url'] = ''; $arrRet['img_server'] = IMAGE_SERVER_NO; $arrRet['message'] = 'Unknown Error'; if (User::is_login()) { if (User::is_foodnet_team() || User::level() > 0) { $upload_path = DIR_CACHE . 'crop_images/'; EClassApi::CheckDir($upload_path); // Thông số crop ảnh $cropX1 = $_REQUEST["cropX1"]; $cropY1 = $_REQUEST["cropY1"]; $cropWidth = $_REQUEST["cropWidth"]; $cropHeight = $_REQUEST["cropHeight"]; $displayWidth = $_REQUEST["displayWidth"]; $displayHeight = $_REQUEST["displayHeight"]; $imgServer = $_REQUEST["imgServerPath"]; //$imgServerAddress = "192.168.28.200/images.chonmon.vn/"; $imageFileName = $_REQUEST['imgPath']; $desImageName = EClassApi::genUniqueFileName($imageFileName); $newImage = $upload_path . $desImageName; $imageName = "http://$imgServer" . $imageFileName; list($imagewidth, $imageheight, $imageType) = getimagesize($imageName); if ($imagewidth) { //if((int)ini_get("memory_limit")<64){@ini_set("memory_limit","64M");} $scaleW = $imagewidth / $displayWidth; $scaleH = $imageheight / $displayHeight; $w = (int) ($cropWidth * $scaleW); $h = (int) ($cropHeight * $scaleH); $x1 = (int) ($cropX1 * $scaleW); $y1 = (int) ($cropY1 * $scaleH); $imageType = image_type_to_mime_type($imageType); $cropName = $upload_path . $desImageName; if ($imageType) { switch ($imageType) { case "image/gif": $source = imagecreatefromgif($imageName); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source = imagecreatefromjpeg($imageName); break; case "image/png": case "image/x-png": $source = imagecreatefrompng($imageName); break; } if ($source) { $newImg = imagecreatetruecolor($w, $h); if ($newImg) { if (imagecopyresampled($newImg, $source, 0, 0, $x1, $y1, $w, $h, $w, $h)) { switch ($imageType) { case "image/gif": $createdImage = imagegif($newImg, $cropName); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $createdImage = imagejpeg($newImg, $cropName, 99); break; case "image/png": case "image/x-png": $createdImage = imagepng($newImg, $cropName); break; } if ($createdImage) { $original_image_url = ''; $upload_path = EClassApi::folderUpload($user_id); if (EClassApi::ftp_check_dir($upload_path, true, IMAGE_SERVER_NO)) {//Check dir for upload $file_ext = EClassApi::getExtension($imageFileName); $original_image_url = $upload_path . date("YmdHis", TIME_NOW) . '_' . substr(EClassApi::make_safe_name(basename(strtolower($imageFileName), $file_ext)), 0, 36) . $file_ext; EClassApi::ftp_image_put_file($original_image_url, $cropName, IMAGE_SERVER_NO); $return = 'true'; } else { $return = 'false,Destination folder not exist'; } } else { $return = 'false,Refine image failed'; } } else { $return = 'false,Crop image failed'; } } else { $return = 'false,Verify image color failed'; } } else { $return = 'false,Get image source failed'; } } else { $return = 'false,Image type is not supported'; } } else { $return = 'false,The source file is not an image'; } if ($return == 'true') { // Tạo ảnh mới trong gallery của user $image_id = DB::insert('item_image', array( 'des' => '', 'item_id' => 0, 'title' => '', 'position' => 0, 'img_server' => IMAGE_SERVER_NO, 'original_image_url' => $original_image_url, 'root_id' => 0, 'time' => TIME_NOW, 'user_id' => $user_id, 'user_name' => $user_name )); $arrRet['result'] = true; $arrRet['id'] = $image_id; $arrRet['original_image_url'] = $original_image_url; $arrRet['img_server'] = IMAGE_SERVER_NO; $arrRet['message'] = 'Success'; } else { $arrCURLRet = split(',', $return); if (count($arrCURLRet) > 1) { $arrRet['message'] = $arrCURLRet[1]; } } } else { $arrRet['message'] = 'The image server could not be found'; } } else { $arrRet['message'] = 'You don\'t have permission to edit this image'; } echo json_encode($arrRet); exit(); }