COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

ctam

Соучастники
  • Публикации

    8
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем ctam

  1. В 31.10.2017 at 11:44, Yoda сказал:

    Прежде чем использовать на шареде - надо попросить их включить либы.

     

    В 23.10.2017 at 10:12, ctam сказал:

    Обратился в тех.поддержку хостинга, они выполнили просьбу и установили OptiPng + JpegOptim, Imagick включили в настройках php модулей.

     

    Включено.

     

    В итоге пережал все изображения через shell одной командой: 

    $find -name *.jpg -exec jpegoptim --strip-all '{}' \;

     

  2. В 23.10.2017 at 10:30, Yoda сказал:
    
    <?php
    class ModelToolImage extends Model {
        /**
        *    
        *    @param filename string
        *    @param width 
        *    @param height
        *    @param type char [default, w, h]
        *                default = scale with white space, 
        *                w = fill according to width, 
        *                h = fill according to height
        *    
        */
        public function resize($filename, $width, $height, $type = "") {
            if (!file_exists(DIR_IMAGE . $filename) || !is_file(DIR_IMAGE . $filename)) {
                return;
            } 
            
            $info = pathinfo($filename);
            
            $extension = $info['extension'];
            
            $old_image = $filename;
            $new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . $type .'.' . $extension;
            
            
                    //$new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;
            
            $currentLocal = setlocale(LC_ALL, 0);
            setlocale(LC_ALL, 'ru_RU.UTF-8');
            
            $pattern = [
                '/\/\/+/',
                '/\s/',
            ];
            
            $replace = [
                '/',
                '-',
            ];
            
            $new_image = 'cache/' . trim(escapeshellarg(preg_replace($pattern, $replace, urldecode(utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . $type . '.' . $extension))), '\'');
            
            
            if (!file_exists(DIR_IMAGE . $new_image) || (filemtime(DIR_IMAGE . $old_image) > filemtime(DIR_IMAGE . $new_image))) {
                $path = '';
                
                $directories = explode('/', dirname(str_replace('../', '', $new_image)));
                
                foreach ($directories as $directory) {
                    $path = $path . '/' . $directory;
                    
                    if (!file_exists(DIR_IMAGE . $path)) {
                        @mkdir(DIR_IMAGE . $path, 0777);
                    }        
                }
                list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image);
                if ($width_orig != $width || $height_orig != $height) {
                    $image = new Image(DIR_IMAGE . $old_image);
                    $image->resize($width, $height, $type);
                    $image->save(DIR_IMAGE . $new_image);
                } else {
                    copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image);
                }
                
                $img_log = new Log('img_log.log');
            
                $optimized_image_path = escapeshellarg(DIR_IMAGE . $new_image);
                if ($extension == 'jpeg' || $extension == 'jpg') {        
                    $img_log->write(shell_exec("jpegoptim --max=85 --strip-all --all-progressive " . $optimized_image_path));
                } elseif ($extension == 'png') {
                    $img_log->write(shell_exec("optipng -strip all -o7 ". $optimized_image_path ." 2>&1"));
                    
                }
                
            }
            
            
            if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
                return $this->config->get('config_ssl') . 'image/' . $new_image;
            } else {
                return $this->config->get('config_url') . 'image/' . $new_image;
            }    
        }
    }
    ?>

     

     

    Почему-то пропадают превьюшки в товарах админки :huh:

    Возвращаю изменения назад - все работает.

  3. Здравствуйте.

    После прочтения http://ocshop.info/nemnozhko-pro-xosting/, решил сделать себе на хостинге подобное.

    Обратился в тех.поддержку хостинга, они выполнили просьбу и установили OptiPng + JpegOptim, Imagick включили в настройках php модулей.

     

    Возник вопрос, как вкрутить "в библиотеку поддержку этого хлама." отсюда: http://ocshop.info/nemnozhko-tryukov/.

    Так понимаю, надо внести код в файл system/library/image.php: 

    $info = pathinfo(DIR_IMAGE . $new_image);
    $extension = strtolower($info['extension']);
    if ($extension == 'jpeg' || $extension == 'jpg') {
    	shell_exec("jpegoptim --max=90 --strip-all --all-progressive ". (DIR_IMAGE . $new_image));
    } elseif ($extension == 'png') {
    	shell_exec("optipng ". (DIR_IMAGE . $new_image)) . "-strip all";
    }

    Подскажите, пожалуйста, как правильно интегрировать исходный код? Сборка ocStore 1.5.5.1.2

     

    В комментарии к статье, написано, что есть очепятка в этой строчке:

    shell_exec("optipng ". (DIR_IMAGE . $new_image)) . "-strip all";

     

  4. Здравствуйте. 

    Сайт air-propellers.ru
    Использую Opencart.cms 2.3.0.2.2
    В Яндекс.Вебмастере в статистике обхода каким то образом стали появляться левые страницы. На сайте всего 44 страницы, но вебмастер показывает что страниц перевалило уже за 3000 и они продолжают добавляться.
    Все страницы начинаются с:

    /?i=http:// 

    /?offset_comments

    /?lang=

    еще такого вида есть /?C=D;O=A
    Для наглядности приложу скрины

    Подскажите, что это за левые ссылки? Почему они появляются в статистике обхода? В sitemap этих ссылок нет, откуда им взяться?

    Скрытый текст

    49abf-clip-24kb.jpg

    Скрытый текст

    3313b-clip-263kb.jpg?nocache=1