Задать вопрос
@kycher

Simplacms Не загружаются картинки в товар по https?

Доброго дня

В cms simplacms в стандартной, даже последней версии, не загружаются изображения товара через "загрузить из интернета" по url начинающимся с https://, в базу данных пишется путь с https, фото не загружается в папку, те происходит в функции которая отвечает за добавление товара где обработка события по "add_image_url" или прерывание на передаче и обрезке url для последующего сохранения файла и записи в базу имени изображения.

Обычные файлы поправить не получилось;( (simpla/ProductAdmin.php , simpla/design/html/product.tpl)
Предполагаю что дело вообще в обработчике, скорее всего в файле api/Request.php

в simpla/design/html/product.tpl есть строки описывающие изменение на https не помогло
// Или с URL
	$('#add_image_url').click(function() {
		$("<input class='remote_image' name=images_urls[] type=text value='http://'>").appendTo('div#add_image').focus().select();
	});


в simpla/ProductAdmin.php есть строки, тоже изменение не помогло.
// Загрузка изображений из интернета
		  		    if($images = $this->request->post('images_urls'))
		  		    {
						foreach($images as $url)
						{
							if(!empty($url) && $url != 'http://')
					 			$this->products->add_image($product->id, $url);
						}
					}
					$images = $this->products->get_images(array('product_id'=>$product->id));


Не загружаются url с https на картинку. Help! Спасибо за направление на путь истинный)
  • Вопрос задан
  • 1191 просмотр
Подписаться 1 Средний 7 комментариев
Решения вопроса 2
@kycher Автор вопроса
zetwin zetwin - Правильное решение!

В api/Image.php

...
// Если вайл удаленный (http://), зальем его себе
if (preg_match("~^https?://~", $source_file)) {
...

В api/Design.php

...
if (preg_match("~^https?://~", $resized_filename_encoded)) {
$resized_filename_encoded = rawurlencode($resized_filename_encoded);
}
...


Плюс
Файл simpla\simpla_source\simpla\ProductAdmin.php

Меняем строку
if(!empty($url) && $url != 'http://' && strstr($url,'/')!==false)

на
if(!empty($url) && $url != 'http://' && $url != 'https://' && strstr($url,'/')!==false)
Ответ написан
Комментировать
zetwin
@zetwin
В api/Image.php
...
        // Если вайл удаленный (http://), зальем его себе
        if (preg_match("~^https?://~", $source_file)) {
...

В api/Design.php
...
			if (preg_match("~^https?://~", $resized_filename_encoded)) {
            $resized_filename_encoded = rawurlencode($resized_filename_encoded);
        }
...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы