Исправление авто размера удалённых изображений dle 12.1
Скачать бесплатно Исправление авто размера удалённых изображений dle 12.1.
Заметил такую проблему на dle 12.1 в пункте "Автоматическое изменение размера для внешних изображений" если задать размер к примеру 279, то удаленные картинки имеющие большую ширину должны сжиматься до указанного размера. Они уменьшались только в том случая, если картинки находились не в спойлере. Думал проблема заключалась в хостинге или в версии php, но они тут оказались не причем. Может где я ошибаюсь, но тестировал в приложении OpenServer (играя с настройками и меняя протокол https на http удаленных картинок) результат был таким. Что в спойлере картинка выводилась оригинального размера.
В общем решение нашел такое:
Идем по пути:
engine\classes\parse.class.php
Ищем:
function build_image( $matches=array() ) {
Меняем весь код до:
return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" {$style} {$alt}><!--dle_image_end-->";
}
на:
function build_image( $matches=array() ) {
global $config;
if(count($matches) == 2 ) {
$align = "";
$url = $matches[1];
} else {
$align = $matches[1];
$url = $matches[2];
}
$url = trim( $url );
$url = urldecode( $url );
$option = explode( "|", trim( $align ) );
$align = $option[0];
if( $align != "left" and $align != "right" ) $align = '';
if( preg_match( "/[?&;%<\[\]]/", $url ) ) {
if( $align != "" ) return "";
else return "";
}
$url = $this->clear_url( urldecode( $url ) );
$info = $url;
$info = $info."|".$align;
if( $url == "" ) return;
if( $option[1] != "" ) {
$alt = htmlspecialchars( strip_tags( stripslashes( $option[1] ) ), ENT_QUOTES, $config['charset'] );
$info = $info."|".$alt;
$caption = "<span class=\"highslide-caption\">" . $alt . "</span>";
$alt = "alt=\"" . $alt . "\" title=\"" . $alt . "\" ";
} else {
$alt = htmlspecialchars( strip_tags( stripslashes( $_POST['title'] ) ), ENT_QUOTES, $config['charset'] );
$caption = "";
$alt = "alt=\"" . $alt . "\" title=\"" . $alt . "\" ";
}
if( intval( $config['tag_img_width'] ) ) {
if (clean_url( $config['http_home_url'] ) != clean_url ( $url ) ) {
$img_info = @getimagesize( $url );
if( $img_info[0] > $config['tag_img_width'] ) {
$out_heigh = ($img_info[1] / 100) * ($config['tag_img_width'] / ($img_info[0] / 100));
$out_heigh = floor( $out_heigh );
if( $align == '' ) return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} /></a>{$caption}<!--dle_image_end-->";
else return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" style=\"float:{$align};\" {$alt} /></a>{$caption}<!--dle_image_end-->";
}
}
}
if( $align == '' ) return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" {$alt} /><!--dle_image_end-->";
else return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" style=\"float:{$align};\" {$alt} /><!--dle_image_end-->";
}
P.S. Теперь проблема исчезла, картинки спокойно уменьшаются до заданного размера.
- Хаки и модули
- 18-07-2018, 21:27
- 3 283