Помогите исправить ошибки

При загрузке аватара, его очень сильно растягивает

я читал на форуме, как это исправить и вот, что я нашел
Чтобы не ломать файл с системными функциями, создаем в папке include свой файл, в котором прописываем такую функцию:
<?php

define('IMG_RESIZE_FIT', 0); // вписывание в квадрат (уменьшение по максимальной стороне)
define('IMG_RESIZE_MAX', 1); // уменьшение по максимальной стороне
define('IMG_RESIZE_MIN', 2); // уменьшение по минимальной стороне
define('IMG_RESIZE_CROP', 3); // обрезка исходной картинки: 
                              // если W>H, то обрезка по бокам, если W<H, то снизу

function func_img_avatar($sFileSrc, $sDirDest, $sFileDest, $iWidthMax, $iHeightMax, 
                         $iWidthDest=null, $iHeightDest=null, $iResizeMode=0) {
  if (!($aSize=getimagesize($sFileSrc))) {		
    return false;
  }	
  $img_src=false;
  switch ($aSize['mime']) {
    case 'image/png':
      $img_src=imagecreatefrompng($sFileSrc);
      $sFileDest.='.png';
      break;
    case 'image/gif':
      $img_src=imagecreatefromgif($sFileSrc);
      $sFileDest.='.gif';
      break;
    case 'image/jpeg':
      $img_src=imagecreatefromjpeg($sFileSrc);
      $sFileDest.='.jpg';
      break;
    default:
      return false;
      break;
  }
  if (!$img_src) {		
    return false;
  }
  if (($aSize[0]>$iWidthMax) or ($aSize[1]>$iHeightMax)) {
    return false;
  }

  if ($iWidthDest) {$iScaleW=$iWidthDest/$aSize[0];} else {$iScaleW=1;}
  if ($iHeightDest) {$iScaleH=$iHeightDest/$aSize[1];} else {$iScaleH=1;}

  if ($iResizeMode==IMG_RESIZE_MAX) {
    $iSizeRelation=(($iScaleW<$iScaleH)?$iScaleW:$iScaleH);
    $iWidthNew=round($aSize[0]*$iSizeRelation);
    $iHeightNew=round($aSize[1]*$iSizeRelation);
  
    $iSizeW=$iWidthNew;
    $iSizeH=$iHeightNew;
    $iDestX=0;
    $iDestY=0;
  } elseif ($iResizeMode==IMG_RESIZE_MIN) {
    $iSizeRelation=(($iScaleW>$iScaleH)?$iScaleW:$iScaleH);
    $iWidthNew=round($aSize[0]*$iSizeRelation);
    $iHeightNew=round($aSize[1]*$iSizeRelation);
  
    $iSizeW=$iWidthNew;
    $iSizeH=$iHeightNew;
    $iDestX=0;
    $iDestY=0;
  } elseif ($iResizeMode==IMG_RESIZE_CROP) {
    $iSizeRelation=(($iScaleW>$iScaleH)?$iScaleW:$iScaleH);
    $iWidthNew=round($aSize[0]*$iSizeRelation);
    $iHeightNew=round($aSize[1]*$iSizeRelation);
  
    $iSizeH=$iSizeW=(($iWidthNew<$iHeightNew)?$iWidthNew:$iHeightNew);
    $iDestX=round(($iSizeW-$iWidthNew)/2);
    $iDestY=0;
  } else {
    $iSizeRelation=(($iScaleW<$iScaleH)?$iScaleW:$iScaleH);
    $iWidthNew=round($aSize[0]*$iSizeRelation);
    $iHeightNew=round($aSize[1]*$iSizeRelation);
  
    $iSizeH=$iSizeW=(($iWidthNew>$iHeightNew)?$iWidthNew:$iHeightNew);
    $iDestX=round(($iSizeW-$iWidthNew)/2);
    $iDestY=round(($iSizeH-$iHeightNew)/2);
  }

  $sFileFullPath=DIR_SERVER_ROOT.'/'.$sDirDest.'/'.$sFileDest;
  @func_mkdir(DIR_SERVER_ROOT,$sDirDest);
  if ($iWidthDest and $iWidthDest!=$aSize[0]) {
    $img_dest=imagecreatetruecolor($iSizeW,$iSizeH);		
    imagesavealpha($img_dest,true);
    imagealphablending($img_dest,false);
    if (imagecopyresampled($img_dest, $img_src, $iDestX, $iDestY, 0, 0, 
                           $iWidthNew, $iHeightNew, $aSize[0], $aSize[1])) {
      imagedestroy($img_src);
      switch ($aSize['mime']) {
        case 'image/png':
          if (imagepng($img_dest,$sFileFullPath)) {
            chmod($sFileFullPath,0666);
          }
          break;
        case 'image/gif':
          if (imagegif($img_dest,$sFileFullPath)) {
            chmod($sFileFullPath,0666);
          }
          break;
        case 'image/jpeg':
          if (imagejpeg($img_dest,$sFileFullPath)) {
            chmod($sFileFullPath,0666);
          }
          break;
        }
      imagedestroy($img_dest);
      return $sFileDest;
    }
  } else {
    if (copy($sFileSrc,$sFileFullPath)) {
      return $sFileDest;
    }
  }
  return false;
}
?>

В файле ActionSettings.class.php в методе protected function EventProfile() вызовы функций func_img_resize при загрузке аватар меняем на func_img_avatar.
Так вот первое я сделал, создал файл и все такое, а вот где мне найти «В файле ActionSettings.class.php в методе protected function EventProfile() вызовы функций func_img_resize при загрузке аватар меняем на func_img_avatar.»? Я полностью пролистал файл ActionSettings.class.php, но безрезультатно.Прошу Вас, пришлите мне скрины, как это исправить!

5 комментариев

avatar
А Вы после того, как залили файлы, очищали данные и прочее?
  • dex-
  • 0
avatar
не-а
avatar
Дайте ссылку где вы это прочитали, возможно это решение для старой версии.
avatar
Я еще заметил, что недавно загруженные в галерею фотографии тоже искривляются, например:

в галерее, фотография 1 очень сильно растянута, в то время, как она должна стоять на месте 2, обратно симметрично фотографии 3
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.