本文整理匯總了PHP中ImageManager::_createThumbWhq方法的典型用法代碼示例。如果您正苦於以下問題:PHP ImageManager::_createThumbWhq方法的具體用法?PHP ImageManager::_createThumbWhq怎麽用?PHP ImageManager::_createThumbWhq使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ImageManager
的用法示例。
在下文中一共展示了ImageManager::_createThumbWhq方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: createThumbnailOfPicture
/**
* Create thumbnail of image
*
* @param String $imageName
*
* @return String
*/
protected function createThumbnailOfPicture($imageName)
{
if (empty($objImage)) {
$objImage = new \ImageManager();
}
$cx = \Cx\Core\Core\Controller\Cx::instanciate();
$objImage->_createThumbWhq($cx->getWebsiteImagesCrmProfilePath() . '/', $cx->getWebsiteImagesCrmProfileWebPath() . '/', $imageName, 40, 40, 70, '_40X40.thumb');
return $objImage->_createThumbWhq($cx->getWebsiteImagesCrmProfilePath() . '/', $cx->getWebsiteImagesCrmProfileWebPath() . '/', $imageName, 121, 160, 70);
}
示例2: makeThumbnailsById
/**
* Create thumbnails and update the corresponding Product records
*
* Scans the Products with the given IDs. If a non-empty picture string
* with a reasonable extension is encountered, determines whether
* the corresponding thumbnail is available and up to date or not.
* If not, tries to load the file and to create a thumbnail.
* If it succeeds, it also updates the picture field with the base64
* encoded entry containing the image width and height.
* Note that only single file names are supported!
* Also note that this method returns a string with information about
* problems that were encountered.
* It skips records which contain no or invalid image
* names, thumbnails that cannot be created, and records which refuse
* to be updated!
* The reasoning behind this is that this method is currently only called
* from within some {@link _import()} methods. The focus lies on importing
* Products; whether or not thumbnails can be created is secondary, as the
* process can be repeated if there is a problem.
* @param integer $arrId The array of Product IDs
* @return boolean True on success, false on any error
* @global ADONewConnection $objDatabase Database connection object
* @global array
* @static
* @author Reto Kohli <reto.kohli@comvation.com>
*/
static function makeThumbnailsById($arrId)
{
global $_ARRAYLANG;
if (!is_array($arrId)) {
return false;
}
$error = false;
$objImageManager = new \ImageManager();
foreach ($arrId as $product_id) {
if ($product_id <= 0) {
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_INVALID_PRODUCT_ID'], $product_id));
$error = true;
continue;
}
$objProduct = Product::getById($product_id);
if (!$objProduct) {
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_INVALID_PRODUCT_ID'], $product_id));
$error = true;
continue;
}
$imageName = $objProduct->pictures();
$imagePath = \Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesShopPath() . '/' . $imageName;
// only try to create thumbs from entries that contain a
// plain text file name (i.e. from an import)
if ($imageName == '' || !preg_match('/\\.(?:jpg|jpeg|gif|png)$/i', $imageName)) {
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_UNSUPPORTED_IMAGE_FORMAT'], $product_id, $imageName));
$error = true;
continue;
}
// if the picture is missing, skip it.
if (!file_exists($imagePath)) {
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_MISSING_PRODUCT_IMAGE'], $product_id, $imageName));
$error = true;
continue;
}
$thumbResult = true;
$width = 0;
$height = 0;
// If the thumbnail exists and is newer than the picture,
// don't create it again.
$thumb_name = \ImageManager::getThumbnailFilename($imagePath);
if (file_exists($thumb_name) && filemtime($thumb_name) > filemtime($imagePath)) {
//$this->addMessage("Hinweis: Thumbnail fuer Produkt ID '$product_id' existiert bereits");
// Need the original size to update the record, though
list($width, $height) = $objImageManager->_getImageSize($imagePath);
} else {
// Create thumbnail, get the original size.
// Deleting the old thumb beforehand is integrated into
// _createThumbWhq().
$thumbResult = $objImageManager->_createThumbWhq(\Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesShopPath() . '/', \Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesShopWebPath() . '/', $imageName, \Cx\Core\Setting\Controller\Setting::getValue('thumbnail_max_width', 'Shop'), \Cx\Core\Setting\Controller\Setting::getValue('thumbnail_max_height', 'Shop'), \Cx\Core\Setting\Controller\Setting::getValue('thumbnail_quality', 'Shop'));
$width = $objImageManager->orgImageWidth;
$height = $objImageManager->orgImageHeight;
}
// The database needs to be updated, however, as all Products
// have been imported.
if ($thumbResult) {
$shopPicture = base64_encode($imageName) . '?' . base64_encode($width) . '?' . base64_encode($height) . ':??:??';
$objProduct->pictures($shopPicture);
$objProduct->store();
} else {
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_ERROR_CREATING_PRODUCT_THUMBNAIL'], $product_id, $imageName));
$error = true;
}
}
return $error;
}
示例3: makeThumbnailById
/**
* Create thumbnail and update the corresponding ShopCategory records
*
* Scans the ShopCategories with the given IDs. If a non-empty picture
* string with a reasonable extension is encountered, determines whether
* the corresponding thumbnail is available and up to date or not.
* If not, tries to load the file and to create a thumbnail.
* Note that only single file names are supported!
* Also note that this method returns a string with information about
* problems that were encountered.
* It skips records which contain no or invalid image
* names, thumbnails that cannot be created, and records which refuse
* to be updated!
* The reasoning behind this is that this method is currently only called
* from within some {@link _import()} methods. The focus lies on importing;
* whether or not thumbnails can be created is secondary, as the
* process can be repeated if there is a problem.
* @param integer $id The ShopCategory ID
* @param integer $maxWidth The maximum thubnail width
* @param integer $maxHeight The maximum thubnail height
* @param integer $quality The thumbnail quality
* @return string Empty string on success, a string
* with error messages otherwise.
* @global array
* @static
* @author Reto Kohli <reto.kohli@comvation.com>
*/
static function makeThumbnailById($id, $maxWidth = 120, $maxHeight = 80, $quality = 90)
{
/*
Note: The size and quality parameters should be taken from the
settings as follows:
\Cx\Core\Setting\Controller\Setting::getValue('thumbnail_max_width','Shop'),
\Cx\Core\Setting\Controller\Setting::getValue('thumbnail_max_height','Shop'),
\Cx\Core\Setting\Controller\Setting::getValue('thumbnail_quality','Shop')
*/
global $_ARRAYLANG;
if ($id <= 0) {
return sprintf($_ARRAYLANG['TXT_SHOP_INVALID_CATEGORY_ID'], $id);
}
$objCategory = ShopCategory::getById($id, LANGID);
if (!$objCategory) {
return sprintf($_ARRAYLANG['TXT_SHOP_INVALID_CATEGORY_ID'], $id);
}
$imageName = $objCategory->picture();
$imagePath = SHOP_CATEGORY_IMAGE_PATH . '/' . $imageName;
// Only try to create thumbs from entries that contain a
// plain text file name (i.e. from an import)
if ($imageName == '' || !preg_match('/\\.(?:jpe?g|gif|png)$/', $imageName)) {
return sprintf($_ARRAYLANG['TXT_SHOP_UNSUPPORTED_IMAGE_FORMAT'], $id, $imageName);
}
// If the picture is missing, skip it.
if (!file_exists($imagePath)) {
return sprintf($_ARRAYLANG['TXT_SHOP_MISSING_CATEGORY_IMAGES'], $id, $imageName);
}
// If the thumbnail exists and is newer than the picture,
// don't create it again.
$thumb_name = ImageManager::getThumbnailFilename($imagePath);
if (file_exists($thumb_name) && filemtime($thumb_name) > filemtime($imagePath)) {
return '';
}
// Already included by the Shop.
$objImageManager = new \ImageManager();
// Create thumbnail.
// Deleting the old thumb beforehand is integrated into
// _createThumbWhq().
if (!$objImageManager->_createThumbWhq(SHOP_CATEGORY_IMAGE_PATH . '/', SHOP_CATEGORY_IMAGE_WEB_PATH . '/', $imageName, $maxWidth, $maxHeight, $quality)) {
return sprintf($_ARRAYLANG['TXT_SHOP_ERROR_CREATING_CATEGORY_THUMBNAIL'], $id);
}
return '';
}
示例4: insertEntryData
/**
* This function is used by the "insertEntry()" and "updateEntry()" function. It collects all values from
* $_POST and creates the new entries in the database. This function was extracted from original source to be as
* DRY/SPOT as possible.
*
* @global ADONewConnection
* @param integer $intMessageId: This is the id of the message which the new values will be linked to.
*/
function insertEntryData($intMessageId)
{
global $objDatabase;
$intMessageId = intval($intMessageId);
$cx = \Cx\Core\Core\Controller\Cx::instanciate();
//Collect data for every language
$arrValues = array();
foreach ($_POST as $strKey => $strValue) {
if (substr($strKey, 0, strlen('frmEditEntry_Subject_')) == 'frmEditEntry_Subject_') {
$intLanguageId = intval(substr($strKey, strlen('frmEditEntry_Subject_')));
$arrValues[$intLanguageId] = array('subject' => contrexx_addslashes(strip_tags($_POST['frmEditEntry_Subject_' . $intLanguageId])), 'content' => contrexx_addslashes($_POST['frmEditEntry_Content_' . $intLanguageId]), 'is_active' => intval(in_array($intLanguageId, $_POST['frmEditEntry_Languages'])), 'categories' => isset($_POST['assignedBlocks_' . $intLanguageId]) ? array($_POST['assignedBlocks_' . $intLanguageId]) : array(), 'image' => contrexx_addslashes(strip_tags($_POST['frmEditEntry_Image_' . $intLanguageId])), 'thumbnail' => isset($_POST['frmEditEntry_Thumbnail_Method_' . $intLanguageId]) && $_POST['frmEditEntry_Thumbnail_Method_' . $intLanguageId] == 'different' ? contrexx_addslashes(strip_tags($_POST['frmEditEntry_Thumbnail_' . $intLanguageId])) : '', 'thumbnail_type' => isset($_POST['frmEditEntry_Thumbnail_Type_' . $intLanguageId]) && $_POST['frmEditEntry_Thumbnail_Type_' . $intLanguageId] == '1' ? 'thumbnail' : 'original', 'thumbnail_width' => isset($_POST['frmEditEntry_Thumbnail_Method_' . $intLanguageId]) && $_POST['frmEditEntry_Thumbnail_Method_' . $intLanguageId] == 'original' ? intval($_POST['frmEditEntry_Thumbnail_Width_' . $intLanguageId]) : 0, 'thumbnail_height' => isset($_POST['frmEditEntry_Thumbnail_Method_' . $intLanguageId]) && $_POST['frmEditEntry_Thumbnail_Method_' . $intLanguageId] == 'original' ? intval($_POST['frmEditEntry_Thumbnail_Height_' . $intLanguageId]) : 0, 'attachment' => contrexx_addslashes($_POST['frmEditEntry_Attachment_' . $intLanguageId]), 'attachment_desc' => contrexx_addslashes($_POST['frmEditEntry_Attachment_Desc_' . $intLanguageId]), 'forward_url' => contrexx_addslashes($_POST['frmEditEntry_ForwardUrl_' . $intLanguageId]), 'forward_target' => contrexx_addslashes($_POST['frmEditEntry_ForwardTarget_' . $intLanguageId]));
}
}
//save the placeholder
if (isset($_POST['frmEditEntry_Placeholder'])) {
$placeholder = $this->_formatPlaceholder($_POST['frmEditEntry_Placeholder']);
$objDatabase->Execute(" INSERT INTO " . DBPREFIX . "module_data_placeholders\n (`type`, `ref_id`, `placeholder`)\n VALUES\n ('entry', " . $intMessageId . ",\n '" . $placeholder . "')");
$err = $objDatabase->ErrorNo();
if ($err == 1062) {
//duplicate entry error
$placeholder .= rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9);
// not very beautiful...
$objDatabase->Execute(" INSERT INTO " . DBPREFIX . "module_data_placeholders\n (`type`, `ref_id`, `placeholder`)\n VALUES\n ('entry', " . $intMessageId . ",\n '" . $placeholder . "')");
}
}
//Insert collected data
foreach ($arrValues as $intLanguageId => $arrEntryValues) {
$objDatabase->Execute(' INSERT INTO ' . DBPREFIX . 'module_data_messages_lang
SET `message_id` = ' . $intMessageId . ',
`lang_id` = ' . $intLanguageId . ',
`is_active` = "' . $arrEntryValues['is_active'] . '",
`subject` = "' . $arrEntryValues['subject'] . '",
`content` = "' . $arrEntryValues['content'] . '",
`image` = "' . $arrEntryValues['image'] . '",
`thumbnail` = "' . $arrEntryValues['thumbnail'] . '",
`thumbnail_type` = "' . $arrEntryValues['thumbnail_type'] . '",
`thumbnail_width` = "' . $arrEntryValues['thumbnail_width'] . '",
`thumbnail_height` = "' . $arrEntryValues['thumbnail_height'] . '",
`attachment` = "' . $arrEntryValues['attachment'] . '",
`attachment_description` = "' . $arrEntryValues['attachment_desc'] . '",
`forward_url` = "' . $arrEntryValues['forward_url'] . '",
`forward_target` = "' . $arrEntryValues['forward_target'] . '"
');
//Assign message to categories
if (is_array($arrEntryValues['categories'])) {
foreach ($arrEntryValues['categories'][0] as $intKey => $intCategoryId) {
$objDatabase->Execute(' INSERT INTO ' . DBPREFIX . 'module_data_message_to_category
SET `message_id` = ' . $intMessageId . ',
`category_id` = ' . $intCategoryId . ',
`lang_id` = ' . $intLanguageId . '
');
if ($intLanguageId == $this->_intLanguageId) {
$_GET['catId'] = $intCategoryId;
}
}
}
// create thumbnail if required
if (empty($arrEntryValues['thumbnail'])) {
if (!isset($objImage)) {
$objImage = new \ImageManager();
}
$strPath = dirname($cx->getWebsitePath() . $arrEntryValues['image']) . '/';
$strWebPath = substr($strPath, strlen($cx->getWebsiteOffsetPath()));
$file = basename($arrEntryValues['image']);
$objImage->_createThumbWhq($strPath, $strWebPath, $file, $arrEntryValues['thumbnail_width'], $arrEntryValues['thumbnail_height'], 90, '.thumb', $cx->getWebsiteImagesDataPath() . '/', $cx->getWebsiteImagesDataWebPath() . '/', $intMessageId . '_' . $intLanguageId . '_' . $file);
}
}
}
示例5: createThumbnailOfImage
private function createThumbnailOfImage($imageName, $profilePic = false)
{
static $objImage, $arrSettings;
if (empty($objImage)) {
$objImage = new \ImageManager();
}
if (empty($arrSettings)) {
$arrSettings = \User_Setting::getSettings();
}
$cx = \Cx\Core\Core\Controller\Cx::instanciate();
if ($profilePic) {
if (!$objImage->loadImage($cx->getWebsiteImagesAccessProfilePath() . '/' . $imageName)) {
return false;
}
$rationWidth = $objImage->orgImageWidth / $arrSettings['profile_thumbnail_pic_width']['value'];
$rationHeight = $objImage->orgImageHeight / $arrSettings['profile_thumbnail_pic_height']['value'];
if ($arrSettings['profile_thumbnail_method']['value'] == 'crop') {
if ($rationWidth < $rationHeight) {
$objImage->orgImageHeight = $objImage->orgImageHeight / $rationHeight * $rationWidth;
} else {
$objImage->orgImageWidth = $objImage->orgImageWidth / $rationWidth * $rationHeight;
}
if (!$objImage->resizeImage($arrSettings['profile_thumbnail_pic_width']['value'], $arrSettings['profile_thumbnail_pic_height']['value'], 70)) {
return false;
}
} else {
$ration = max($rationWidth, $rationHeight);
$objImage->addBackgroundLayer(sscanf($arrSettings['profile_thumbnail_scale_color']['value'], '#%2X%2x%2x'), $arrSettings['profile_thumbnail_pic_width']['value'], $arrSettings['profile_thumbnail_pic_height']['value']);
}
$thumb_name = \ImageManager::getThumbnailFilename($cx->getWebsiteImagesAccessProfilePath() . '/' . $imageName);
return $objImage->saveNewImage($thumb_name, true);
} else {
$thumb_name = \ImageManager::getThumbnailFilename($imageName);
return $objImage->_createThumbWhq($cx->getWebsiteImagesAccessPhotoPath() . '/', $cx->getWebsiteImagesAccessPhotoWebPath() . '/', $imageName, $arrSettings['max_thumbnail_pic_width']['value'], $arrSettings['max_thumbnail_pic_height']['value'], 70, '', $cx->getWebsiteImagesAccessPhotoPath() . '/', $cx->getWebsiteImagesAccessPhotoWebPath() . '/', basename($cx->getWebsiteImagesAccessProfilePath() . '/' . $thumb_name));
}
}
示例6: notesUploadFinished
/**
* the upload is finished
* rewrite the names
* write the uploaded files to the database
*
* @param string $tempPath the temporary file path
* @param string $tempWebPath the temporary file path which is accessable by web browser
* @param array $data the data which are attached by uploader init method
* @param integer $uploadId the upload id
* @param array $fileInfos the file infos
*
* @return array the target paths
*/
public static function notesUploadFinished($tempPath, $tempWebPath, $data, $uploadId, $fileInfos, $response)
{
global $objDatabase, $objFWUser;
$cx = \Cx\Core\Core\Controller\Cx::instanciate();
$depositionTarget = $cx->getWebsiteImagesCrmPath() . '/';
//target folder
$h = opendir($tempPath);
if ($h) {
while (false != ($file = readdir($h))) {
$info = pathinfo($file);
//skip . and ..
if ($file == '.' || $file == '..') {
continue;
}
if ($file != '..' && $file != '.') {
//do not overwrite existing files.
$prefix = '';
while (file_exists($depositionTarget . $prefix . $file)) {
if (empty($prefix)) {
$prefix = 0;
}
$prefix++;
}
// move file
try {
$objFile = new \Cx\Lib\FileSystem\File($tempPath . '/' . $file);
$objFile->copy($depositionTarget . $prefix . $file, false);
// create thumbnail
if (empty($objImage)) {
$objImage = new \ImageManager();
}
$imageName = trim($prefix . $file);
$objImage->_createThumbWhq($cx->getWebsiteImagesCrmPath() . '/', $cx->getWebsiteImagesCrmWebPath() . '/', $imageName, 16, 16, 90, '_16X16.thumb');
$_SESSION['importFilename'] = $imageName;
} catch (\Cx\Lib\FileSystem\FileSystemException $e) {
\DBG::msg($e->getMessage());
}
}
$arrFiles[] = $file;
}
closedir($h);
}
// return web- and filesystem path. files will be moved there.
return array($tempPath, $tempWebPath);
}
示例7: isset
//.........這裏部分代碼省略.........
if ($product_id) {
$objProduct = Product::getById($product_id);
}
$new = false;
if (!$objProduct) {
$new = true;
$objProduct = new Product($product_code, $category_id, $product_name, $distribution, $customer_price, $active, 0, $weight);
if (!$objProduct->store()) {
return \Message::error($_ARRAYLANG['TXT_SHOP_PRODUCT_ERROR_STORING']);
}
// $product_id = $objProduct->id();
}
// Apply the changes to all Products with the same Product code.
// Note: This is disabled for the time being, as virtual categories are, too.
// if ($product_code != '') {
// $arrProduct = Products::getByCustomId($product_code);
// } else {
// $arrProduct = array($objProduct);
// }
// if (!is_array($arrProduct)) return false;
// foreach ($arrProduct as $objProduct) {
// Update each product
$objProduct->code($product_code);
// NOTE: Only change the parent ShopCategory for a Product
// that is in a real ShopCategory.
$objProduct->category_id($category_id);
$objProduct->name($product_name);
$objProduct->distribution($distribution);
$objProduct->price($customer_price);
$objProduct->active($active);
// On the overview only: $objProduct->ord();
$objProduct->weight($weight);
$objProduct->resellerprice($reseller_price);
$objProduct->discount_active($discount_active);
$objProduct->discountprice($discount_price);
$objProduct->vat_id($vat_id);
$objProduct->short($short);
$objProduct->long($long);
$objProduct->stock($stock);
$objProduct->minimum_order_quantity($minimum_order_quantity);
$objProduct->stock_visible($stock_visible);
$objProduct->uri($uri);
$objProduct->b2b($b2b);
$objProduct->b2c($b2c);
$objProduct->date_start($date_start);
$objProduct->date_end($date_end);
$objProduct->manufacturer_id($manufacturer_id);
$objProduct->pictures($imageName);
// Currently not used on the detail page
// $objProduct->flags($flags);
$objProduct->usergroup_ids($usergroup_ids);
$objProduct->group_id($discount_group_count_id);
$objProduct->article_id($discount_group_article_id);
$objProduct->keywords($keywords);
//DBG::log("ShopManager::store_product(): Product: reseller_price ".$objProduct->resellerprice());
// Remove old Product Attributes.
// They are re-added below.
$objProduct->clearAttributes();
// Add current product attributes
if (isset($_POST['options']) && is_array($_POST['options'])) {
foreach ($_POST['options'] as $valueId => $nameId) {
$order = intval($_POST['productOptionsSortId'][$nameId]);
$objProduct->addAttribute(intval($valueId), $order);
}
}
// Mind that this will always be an *update*, see the call to
// store() above.
if (!$objProduct->store()) {
return \Message::error($_ARRAYLANG['TXT_SHOP_PRODUCT_ERROR_STORING']);
}
// }
// Add/remove Categories and Products to/from
// virtual ShopCategories.
// Note that this *MUST* be called *AFTER* the Product is updated
// or inserted.
// Virtual categories are disabled for the time being
// Products::changeFlagsByProductCode(
// $product_code, $flags
// );
$objImage = new \ImageManager();
$arrImages = Products::get_image_array_from_base64($imageName);
// Create thumbnails if not available, or update them
foreach ($arrImages as $arrImage) {
if (!empty($arrImage['img']) && $arrImage['img'] != ShopLibrary::noPictureName) {
if (!$objImage->_createThumbWhq(\Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesShopPath() . '/', \Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesShopWebPath() . '/', $arrImage['img'], \Cx\Core\Setting\Controller\Setting::getValue('thumbnail_max_width', 'Shop'), \Cx\Core\Setting\Controller\Setting::getValue('thumbnail_max_height', 'Shop'), \Cx\Core\Setting\Controller\Setting::getValue('thumbnail_quality', 'Shop'))) {
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_COULD_NOT_CREATE_THUMBNAIL'], $arrImage['img']));
}
}
}
\Message::ok($new ? $_ARRAYLANG['TXT_DATA_RECORD_ADDED_SUCCESSFUL'] : $_ARRAYLANG['TXT_DATA_RECORD_UPDATED_SUCCESSFUL']);
switch ($_POST['afterStoreAction']) {
case 'newEmpty':
\Cx\Core\Csrf\Controller\Csrf::redirect('index.php?cmd=Shop' . MODULE_INDEX . '&act=products&tpl=manage');
case 'newTemplate':
\Cx\Core\Csrf\Controller\Csrf::redirect('index.php?cmd=Shop' . MODULE_INDEX . '&act=products&tpl=manage&id=' . $objProduct->id() . '&new=1');
}
\Cx\Core\Csrf\Controller\Csrf::redirect('index.php?cmd=Shop' . MODULE_INDEX . '&act=products');
// Never reached
return true;
}
示例8: createThumbnailOfImage
private function createThumbnailOfImage($imageName, $profilePic = false)
{
static $objImage, $arrSettings;
if (empty($objImage)) {
$objImage = new \ImageManager();
}
if (empty($arrSettings)) {
$arrSettings = \User_Setting::getSettings();
}
if ($profilePic) {
if (!$objImage->loadImage(ASCMS_ACCESS_PROFILE_IMG_PATH . '/' . $imageName)) {
return false;
}
$rationWidth = $objImage->orgImageWidth / $arrSettings['profile_thumbnail_pic_width']['value'];
$rationHeight = $objImage->orgImageHeight / $arrSettings['profile_thumbnail_pic_height']['value'];
if ($arrSettings['profile_thumbnail_method']['value'] == 'crop') {
if ($rationWidth < $rationHeight) {
$objImage->orgImageHeight = $objImage->orgImageHeight / $rationHeight * $rationWidth;
} else {
$objImage->orgImageWidth = $objImage->orgImageWidth / $rationWidth * $rationHeight;
}
if (!$objImage->resizeImage($arrSettings['profile_thumbnail_pic_width']['value'], $arrSettings['profile_thumbnail_pic_height']['value'], 70)) {
return false;
}
} else {
$ration = max($rationWidth, $rationHeight);
$objImage->addBackgroundLayer(sscanf($arrSettings['profile_thumbnail_scale_color']['value'], '#%2X%2x%2x'), $arrSettings['profile_thumbnail_pic_width']['value'], $arrSettings['profile_thumbnail_pic_height']['value']);
}
$thumb_name = \ImageManager::getThumbnailFilename($imageName);
return $objImage->saveNewImage(ASCMS_ACCESS_PROFILE_IMG_PATH . '/' . $thumb_name);
} else {
return $objImage->_createThumbWhq(ASCMS_ACCESS_PHOTO_IMG_PATH . '/', ASCMS_ACCESS_PHOTO_IMG_WEB_PATH . '/', $imageName, $arrSettings['max_thumbnail_pic_width']['value'], $arrSettings['max_thumbnail_pic_height']['value'], 70);
}
}