/** * Returns crop image html, it consists of image for cropping, cropping preview and descriptions * @param $aParams * dir_image - image path * url_image - image url * @returns error message string of html string */ function serviceCropTool($aParams) { if (!$aParams || !is_array($aParams)) { return _t('_bx_ava_msg_error_occured'); } if (!file_exists($aParams['dir_image'])) { return _t('_bx_ava_no_crop_image'); } bx_import('BxDolImageResize'); $aSizes = BxDolImageResize::getImageSize($aParams['dir_image']); $aVars = array('url_img' => $aParams['url_image'], 'img_width' => $aSizes['w'] ? $aSizes['w'] : 0, 'img_height' => $aSizes['h'] ? $aSizes['h'] : 0, 'action' => BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri()); return $this->_oTemplate->parseHtmlByName('crop_tool', $aVars); }
function setLogo(&$aData, &$aFile) { global $dir; $aFileInfo = getimagesize($aFile['new_file']['tmp_name']); if (empty($aFileInfo)) { return '_adm_txt_settings_file_not_image'; } $sExt = ''; switch ($aFileInfo['mime']) { case 'image/jpeg': $sExt = 'jpg'; break; case 'image/gif': $sExt = 'gif'; break; case 'image/png': $sExt = 'png'; break; } if (empty($sExt)) { return '_adm_txt_settings_file_wrong_format'; } $sFileName = mktime() . '.' . $sExt; $sFileName2x = BX_RETINA_PREFIX . mktime() . '.' . $sExt; $sFilePath = $dir['mediaImages'] . $sFileName; $sFilePath2x = $dir['mediaImages'] . $sFileName2x; if (!move_uploaded_file($aFile['new_file']['tmp_name'], $sFilePath)) { return '_adm_txt_settings_file_cannot_move'; } $o = BxDolImageResize::instance(); $o->removeCropOptions(); $o->setJpegOutput(false); $o->setSquareResize(false); if (!empty($aData['resize'])) { $iWidth = (int) $aData['new_width']; $iHeight = (int) $aData['new_height']; if ($iWidth <= 0 || $iHeight <= 0) { return '_adm_txt_settings_logo_wrong_size'; } $o->setSize($iWidth * 2, $iHeight * 2); if ($o->resize($sFilePath, $sFilePath2x) != IMAGE_ERROR_SUCCESS) { return '_adm_txt_settings_image_cannot_resize'; } $o->setSize($iWidth, $iHeight); if ($o->resize($sFilePath, $sFilePath) != IMAGE_ERROR_SUCCESS) { return '_adm_txt_settings_image_cannot_resize'; } } @unlink($dir['mediaImages'] . getParam('sys_main_logo')); @unlink($dir['mediaImages'] . BX_RETINA_PREFIX . getParam('sys_main_logo')); setParam('sys_main_logo', $sFileName); bx_import('BxDolImageResize'); $aFileNewSize = BxDolImageResize::getImageSize($sFilePath); setParam('sys_main_logo_w', $aFileNewSize['w']); setParam('sys_main_logo_h', $aFileNewSize['h']); return true; }