getImageSize() static public method

static public getImageSize ( $sPath )
Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
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;
}