[ALFA] создание миниатюр изображений на Яндекс Диске

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

[ALFA] создание миниатюр изображений на Яндекс Диске

Сообщение c61 »

На слабых серверах часто возникает проблема: слишком много времени занимает создание миниатюр изображений. Кроме того, встречаются ещё хостинги, где отсутствует imagemagick, и даже (очень редко) GD !

Попытки ресайза для создания миниатюр на стороне клиента (flushuploader или javascript+canvas) зависимы от браузера и системы, поэтому в настоящее время неэффективны.

Так почему бы не использовать "чужой" сервер ? Да запросто - Яндекс.Диск предоставляет такой сервис !

Требования:
  • наличие аккаунта Яндекс.Диск
  • наличие расширения PHP openssl на Вашем сервре
Установка

1) Внести изменения в файл root.ydresize/includes/ydresize/ydresize.php

Необходимо задать свои логин и пароль на Яндекс.Диске в строках:

Код: Выделить всё

	$yandex_login = 'yd.login';
	$yandex_pass = 'yd.password';
2) Копировать файлы из root.ydresize/ с сохранением дерева каталогов в:

Код: Выделить всё

includes/ydresize/ydresize.php
includes/ydresize/class_webdav_client.php
3) Внести изменения в файл includes/functions_posting.php

Найти:

Код: Выделить всё

	$used_imagick = false;
Добавить ПОСЛЕ:

Код: Выделить всё

// ydresize begin
	global $phpEx, $phpbb_root_path;

	include_once($phpbb_root_path . 'includes/ydresize/class_webdav_client.' . $phpEx);
	include_once($phpbb_root_path . 'includes/ydresize/ydresize.' . $phpEx);

	// uncomment for thumbnails creation only via yandex.disk, no GD or imagemagick
	//$used_imagick = true;

	// resize via yandex.disk
	if (ydresize($source,$destination,$new_width))
	{
		$used_imagick = true;
	}
	if ( !$used_imagick )
	{
// ydresize end
Найти:

Код: Выделить всё

	if (!$used_imagick)
Добавить ПЕРЕД:

Код: Выделить всё

// ydresize begin
	}
// ydresize end
При необходимости снять комментарий со строки после:

Код: Выделить всё

	// uncomment for thumbnails creation only via yandex.disk, no GD or imagemagick
В этом случае миниатюры будут создаваться только через Яндекс.Диск.

4) Очистить кэш.

Примечания

1) Временные файлы создаются на Яндекс.Диске в корневом каталоге и удаляются сразу после получения файлов миниатюр.

2) Попытка копирования файла изображения на Яндекс.Диск и создания миниатюры выполняется дважды.

3) Не забудьте настроить создание миниатюр в администраторском разделе)

Скачать:
ydresize_v_1_0_4.zip
P.S. В планах - добавить ресайз во время загрузки (до задаваемого размера по ширине).

P.P.S. Этот мод - alfa, на некоторых хостингах работать не будет !!! Работы по отладке ведутся... webdav client совершенно сырой. Пока этот мод работает лишь на моей тестовой площадке и более нигде.

P.P.P.S. Рекомендую применять этот мод только в случае полнейшей безысходности: нет GD, нет imagemagick, хостер совсем озверел, сервер слабый и т.п. Это очень редкие случаи...

Тема на моей тестовой площадке тынц.

Спасибо Shredder'у за плодотворную дисскуссию, тестирование и участие в отладке мода ! Тема на его конференции тынц.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
southklad
phpBB 3.1.0 RC4
Сообщения: 3467
Стаж: 14 лет 8 месяцев
Благодарил (а): 871 раз
Поблагодарили: 200 раз

Re: [ALFA] создание миниатюр изображений на Яндекс Диске

Сообщение southklad »

А тоже самое для вложений не думали сделать? Чтобы не миниатюры, а сами и файлы хранить?
Изображение
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: [ALFA] создание миниатюр изображений на Яндекс Диске

Сообщение c61 »

igorbond писал(а):файлы хранить
Планировалось, начинал делать, но из-за недостатка времени приостановил. Вероятно, вскоре возобновлю... хотя никаких гарантий ) Однако, из-за сырости webdav_client, ограничений ЯД и прочего - перспективы сомнительны. Для альбомов - имеет смысл, для отдельных фото - нет, имхо.

Вернуться в «Бета-версии модов для phpBB 3.0.x»