Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2013-11-04 19:51:15

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Добавлени видео и создание превью

Необходим плагин со следующими возможностями:
На странице добавления новости дополнительная строка + кнопка. Добавляем в строку ссыль на ютуб-видео, жмём на кнопку - плагин (скрипт) тянет с ютуба превью картинку и изменяет её размер (на заданный в скрипте) и название (название статьи транслитом). Учитывая, что иногда бывают сбои во время загрузки, то после нажатия кнопки нужна текстовая инфа: превью создано/ошибка загрузки, повторите попытку.

Нужны 3 переменные, которые будут использоваться в шаблонах темы:
вывод картинки (с title и alt)
ссылка на созданную картинку (на веб-сервере сайта)
вывод самого видео с заданными размерами (размер задаётся в коде плагина)

Ну как-то так, знаю, что всё это есть в открытом доступе в инете, но не вместе, а по частям. Знаний, чтобы соединить всё во едино и создать нормальный плагин нет. Поэтому готов заказать. Интересует цена и сроки.

Не в сети

#2 2013-11-04 20:06:21

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

Вопросы конерктено по реализации:
1. Загрузили превью, но не добавили новость т.е. при таком подходе изображение остается не использованным?
2. Если заголовок новости не заполнен, то что выводить в этом случае?
3. Чем отличаются 1 и 2 переменные?
4. Вывод видео, это iframe от youtube что ли или как-то сливать видео и использовать свой плеер?
5. При редактировании новости нужна возможность пересоздавать превью?

Изменено infinity237 (2013-11-04 20:07:25)

Не в сети

#3 2013-11-05 17:13:24

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

infinity237 пишет:

Вопросы конерктено по реализации:
1. Загрузили превью, но не добавили новость т.е. при таком подходе изображение остается не использованным?
2. Если заголовок новости не заполнен, то что выводить в этом случае?
3. Чем отличаются 1 и 2 переменные?
4. Вывод видео, это iframe от youtube что ли или как-то сливать видео и использовать свой плеер?
5. При редактировании новости нужна возможность пересоздавать превью?

1. Сразу уточню, точно не изучил пока функционал системы и не знаю, есть ли возможности "черновиков" и "автосохранения". Если черновик или автосейв есть и новость создана, но не опубликована, но ИМГ цеплять за новостью, если же новость просто уходит в небытие, то ИМГ лучше стерать с сервера.
2. В метаданных (тайтл и альт) ничего, а имя файла оставлять дефолтным (которое было при скачивании). Такая ситуация возможна только, если видео добавлять до заполнения названия новости, думаю это человеческий фактор, которого можно избежать.
3. Первая переменная выводит html-код изображения с метаданными к нему, вторая выводит только ссылку на изображение.
4. Стандартные средства ютуба: iframe или object
5. Не помешала бы возможность ручного передобавления изображения, через медиа библиотеку или проводник + если заменил ссылку на видео и нажал на кнопку весь описанный цикл выполнился заново с затиранием (пересохранением) данных прошлого цикла. Первая и вторая функции не должны быть связаны, т.е. может захочу только имагу заменить вручную, а может и всё видео.

Не в сети

#4 2013-11-06 18:29:49

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

Aaron пишет:

1. Сразу уточню, точно не изучил пока функционал системы и не знаю, есть ли возможности "черновиков" и "автосохранения". Если черновик или автосейв есть и новость создана, но не опубликована, но ИМГ цеплять за новостью, если же новость просто уходит в небытие, то ИМГ лучше стерать с сервера.

Архитектура CMS не предусматривает автосохранения и контроля использования изображений, поэтому реализация данного функционала невозможна без доработки CMS.

Не в сети

#5 2013-11-06 18:47:50

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

infinity237 пишет:

Архитектура CMS не предусматривает автосохранения и контроля использования изображений, поэтому реализация данного функционала невозможна без доработки CMS.

Ок, этот пункт можно опустить. Ничего не будет происходить с имг.

Так что, взяться можете?

Не в сети

#6 2013-11-07 02:23:49

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

Вообщем как-то так.

Не в сети

#7 2013-11-10 14:45:18

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

infinity237 пишет:

Вообщем как-то так.

благодарю, хотя ещё не поставил... как опробую отпишусь

Не в сети

#8 2014-02-06 21:12:31

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

infinity237, работает , кроче одно момента: почему-то ресайза нет, как я понял из кода, за изменение размера отвечает:

function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $quality=100)

Но почему-то, когда я в ней прописываю нужные мне значения $width=220, $height=124, система никак не реагирует и продолжает тупо грузить ИМГ стандартного размера.
Есть идеи из-за чего такая шляпа?
Кстати, можно организовать обрезку (имеются точные и неизменяемые значения что откуда срезать) и ресайз?

Не в сети

#9 2014-02-06 21:35:02

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

В videothumb.class.php есть строка:

//$this->img_resize($this->config['imagesPath'] . $filename, $this->config['imagesPath'] . $filename, 100, 60);

Если её раскоментировать, то будет ресайзить, последние 2 параметра - указывают размеры.

Не в сети

#10 2014-02-06 22:17:30

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

infinity237 пишет:

В videothumb.class.php есть строка:

//$this->img_resize($this->config['imagesPath'] . $filename, $this->config['imagesPath'] . $filename, 100, 60);

Если её раскоментировать, то будет ресайзить, последние 2 параметра - указывают размеры.

спасибо )

А можете подключить обрезку? Скрин с ютуба имеет сверху и снизу чёрную зону, можно ли обрезать эти зоны, а потом уже ресайзить?

Не в сети

#11 2014-02-06 22:20:14

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

Aaron пишет:
infinity237 пишет:

В videothumb.class.php есть строка:

//$this->img_resize($this->config['imagesPath'] . $filename, $this->config['imagesPath'] . $filename, 100, 60);

Если её раскоментировать, то будет ресайзить, последние 2 параметра - указывают размеры.

спасибо )

А можете подключить обрезку? Скрин с ютуба имеет сверху и снизу чёрную зону, можно ли обрезать эти зоны, а потом уже ресайзить?

Сколько пикселей обрезать?

Не в сети

#12 2014-02-06 22:23:35

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

infinity237 пишет:

Сколько пикселей обрезать?

45 сверху и 45 снизу

Не в сети

#13 2014-02-06 23:01:40

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

В videothumb.class.php в класс добавить:

function img_crop($file_input, $file_output, $crop = 'square', $percent = false) {

	list($w_i, $h_i, $type) = getimagesize($file_input);
	if (!$w_i || !$h_i) {
		// echo 'Невозможно получить длину и ширину изображения';
		return false;
        }
        $types = array('','gif','jpeg','png');
        $ext = $types[$type];
        if ($ext) {
    	        $func = 'imagecreatefrom'.$ext;
    	        $img = $func($file_input);
        } else {
    	        echo 'Некорректный формат файла';
		return;
        }
	if ($crop == 'square') {
		$min = $w_i;
		if ($w_i > $h_i) $min = $h_i;
		$w_o = $h_o = $min;
	} else {
		list($x_o, $y_o, $w_o, $h_o) = $crop;
		if ($percent) {
			$w_o *= $w_i / 100;
			$h_o *= $h_i / 100;
			$x_o *= $w_i / 100;
			$y_o *= $h_i / 100;
		}
    	if ($w_o < 0) $w_o += $w_i;
	        $w_o -= $x_o;
	   	if ($h_o < 0) $h_o += $h_i;
			$h_o -= $y_o;
	}
	$img_o = imagecreatetruecolor($w_o, $h_o);
	imagecopy($img_o, $img, 0, 0, $x_o, $y_o, $w_o, $h_o);
	if ($type == 2) {
		imagejpeg($img_o,$file_output,100);
	} else {
		$func = 'image'.$ext;
		$func($img_o,$file_output);
	}
	
	 imagedestroy($img);
	 imagedestroy($img_o);

	 return true;
}

Перед вызовом:

$this->img_resize($this->config['imagesPath'] . $filename, $this->config['imagesPath'] . $filename, 100, 60);

Добавить:

$this->img_crop($this->config['imagesPath'] . $filename, $this->config['imagesPath'] . $filename, array(0, 45, -45, -45));

Или просто перезалить.

Изменено infinity237 (2014-02-06 23:59:36)

Не в сети

#14 2014-02-06 23:43:11

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

а почему $filename, array(0, 45, -45, -45));?
так ведь обрезается сверху, справа, снизу, изменить второе значение в 0, то скрипт перестаёт работать. Нужно срезать только сверху и снизу

Не в сети

#15 2014-02-07 00:14:10

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

infinity237 пишет:

Перезалил.

спасибо. сработало.
но появился ещё один косяк
обрезка стоит 45, и последующее уменьшение до размеров 220 на 124, режет и уменьшает без проблем, но на выходе почему-то на получившемся мелком изображении снизу появляется белая линия размером в 1 пиксель, будто при ресайзе возникла пустота и скрипт залил её этим цветом (который указан в коде). Но дело в том, что я глянул в фотошопе, пропорции сохранены 480х270 -> 220х124 , да на самом ютубе пропорции такие же. Что не так?

И ещё вопрос, а что означает этот кусок кода:?

if ($w_o <= 0) $w_o += $w_i;
            $w_o -= $x_o;
           if ($h_o <= 0) $h_o += $h_i;
            $h_o -= $y_o;

какие-то условия связанные с соотношением сторон?

Не в сети

#16 2014-02-07 00:35:32

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

Перезалил. Теперь полоса в 1 пиксель должна пропасть.

Это для определение размеров изображения после обрезания.

Не в сети

#17 2014-02-07 00:56:34

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Добавлени видео и создание превью

о да, теперь то что нужно.
И ещё, наверно последнее, можно сделать, чтобы изображения была 2: обрезанное и обрезанное+уменьшенное. В названии full и pre соответственно. Или лучше большие в одной папке, мелке в другой. Ну и у каждой картинки свои две переменные: html-код и url

Не в сети

#18 2014-02-07 01:59:30

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Добавлени видео и создание превью

Перезалил.

Был изменен формат хранения данных в БД. Раньше там хранился полный путь, теперь хранится только имя файла.
В связи с этим требуется поменять JS код в add.tpl и edit.tpl. Подробнее в readme.

Не в сети

#19 2014-04-01 17:42:28

RocketBoy
Участник
Откуда Калининград
Зарегистрирован: 2008-10-14
Сообщений: 552
Рейтинг :   27 
Сайт

Re: Добавлени видео и создание превью

infinity237, ты мегачел! У меня как раз сайт видеостудии в рутине, а тут, то что надо big_smile

Не в сети

#20 2015-04-10 17:43:37

phoboss
Участник
Зарегистрирован: 2011-06-01
Сообщений: 43
Рейтинг :   

Re: Добавлени видео и создание превью

плагин совместим с 0.9.4.RC1 + GIT 20150123?

Не в сети

Подвал раздела

Работает на FluxBB