Не сохраняются полноразмерные картинки в блоге (вер.1.10)

#46 21 ноября 2012 в 16:44
не предупредил!
будет работать только на новых фото загруженных после всех изменений, на старых не будет, если это критично можно добавить еще одну строку в js после этой
  1.  
  2. $('.bb_img a').colorbox({transition:"none", width:"75%", height:"75%"});
  3.  
  1.  
  2. $('.forum_zoom a').colorbox({transition:"none", width:"75%", height:"75%"});
  3.  
#47 21 ноября 2012 в 17:04
Вводим лимиты на оригинал:
открываем
/public_html/core/classes/upload_photo.class.php
ищем:
  1.  
  2. if(!$this->is_saveorig) { @unlink($uploadphoto); } elseif($this->is_watermark) { @img_add_watermark($uploadphoto); }
  3.  
заменяем целиком на:
  1.  
  2. // сохранять оригинал
  3. if(!$this->is_saveorig) {
  4. @unlink($uploadphoto);
  5. } elseif($this->is_watermark) {
  6. list($full_width, $full_height) = @getimagesize($uploadphoto);
  7. $lim_dim = 1200;
  8. if ($full_width < $lim_dim && $full_height < $lim_dim) {
  9. @img_add_watermark($uploadphoto);
  10. @copy($uploadphoto, $this->upload_dir.'original/'.$this->filename);
  11. @unlink($uploadphoto);
  12. } else {
  13. if(!is_dir($this->upload_dir.'original/')) { @mkdir($this->upload_dir.'original/'); }
  14. @img_resize($uploadphoto, $this->upload_dir.'original/'.$this->filename, $lim_dim, $lim_dim, false, false);
  15. @unlink($uploadphoto);
  16. }
  17. }
  18.  
в template php поправляем строку js которую вставляли до этого на:
  1.  
  2. return '<a href="'+$(this).attr('src').replace(/medium\//,'original/')+'" />';
  3.  
естественно оригиналы после этого будут хранится не в /upload/компонент/, а в /upload/компонент/original/…

максимальные размеры в пикселях определяет $lim_dim = 1200;
#48 21 ноября 2012 в 17:17
а почему бы не сохранять в папке /upload/компонент/ ?)
#49 21 ноября 2012 в 17:18
чтобы не переписывать большую часть кода )
#50 21 ноября 2012 в 17:27
т.е просто убрать 'original/' из upload_dir.'original/' не получится?)
#51 21 ноября 2012 в 18:09
с учётом моих исправлений нет, тот “оригинал” который вы имеете ввиду удаляется…
#52 21 ноября 2012 в 18:10
есть какая-то разница где он будет храниться?)…
#53 21 ноября 2012 в 18:19

есть какая-то разница где он будет храниться?)…

• Mike •

да хотелось бы тогда, чтобы хранилось в самой папке с блогами, чтобы потом не переделывать)
#54 21 ноября 2012 в 18:19
ну если незя, то сделаем по вашему примеру)
#55 21 ноября 2012 в 18:30
а если картинка меньше 1200 то она не будет добавляться в папку оригинал?) получится не очень хорошо тогда, ибо ссылкана картинку будет вестись в пустоту
#56 21 ноября 2012 в 18:35
это проверяется в коде
  1.  
  2. if ($full_width < $lim_dim && $full_height < $lim_dim) {
  3. @img_add_watermark($uploadphoto);
  4. @copy($uploadphoto, $this->upload_dir.'original/'.$this->filename);
  5. @unlink($uploadphoto);
  6.  
и фото перемещается в папку original … в корневой папке для компонента останутся только старые картинки загруженные до изменения
#57 21 ноября 2012 в 18:39
я вот устновил что пожиматься до 1400 если большая, но при этом загрузил фотку 450 по ширине. в скрипте указано что обрабатывать ссылкой, если картинка более 340.

но вот при нажатии на картинку в итоге он показывает что картинки оригинала нет
#58 21 ноября 2012 в 18:46
я же написал, указывать размер больше чем для medium и проверьте код по посту 47 я его пару раз редактировал…
#59 21 ноября 2012 в 19:04
то есть если вы загрузите изображение после всех исправлений и оно попадёт в див с классом forum_zoom ссылка на полноразмерное изображение будет “битая”…
#60 17 декабря 2012 в 23:17
а <a href="'+$(this).attr('src').replace(/medium\//,'')+'" />; является невалидным с точки зрения валидатора? моет мождно эту функцию в какой файл js засунуть?) а то одна ошибка в коде получается)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.