Видео в комментариях (phpFOX)

Форум поддержки движка социальной сети phpFOX.
Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Видео в комментариях (phpFOX)

Сообщение Slash » Сб дек 10, 2016 11:29 am

Решил добавить возможность просмотра видео прямо в комментах, написанных под чем угодно. Если в тексте комментария будет находится ссылка на YouTube, сценарий ее заменит на плеер с вставленным видео. Делаю так:
Открываю: module/comment/include/service/comment.class.php, нахожу:

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

                $aFeedComments[$iFeedCommentKey]['post_convert_time'] = Phpfox::getLib('date')->convertTime($aFeedComment['time_stamp'], 'comment.comment_time_stamp'); 
Ниже добавляю:

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

                $aFeedComments[$iFeedCommentKey]['text']              = Phpfox::getService('common')->replacevideo($aFeedComments[$iFeedCommentKey]['text']); 
Нахожу:

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

                $aFeedComments[$iFeedCommentKey]['children'] = $this->_getChildren($aFeedComment['comment_id'], $sType, $iItemId, $iCommentId, $iCnt);
Ниже добавляю:

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

                $aFeedComments[$iFeedCommentKey]['text']              = Phpfox::getService('common')->replacevideo($aFeedComments[$iFeedCommentKey]['text']);
Внимание, я использую свой собственный мод, где находятся все мои функции, называется он common. Если у вас нет своего мода, его необходимо создать, либо дописать функцию (что представлена ниже) в этом же файле (редактируется выше) и обращаться к ней. Создать мод можно по аналогии, как описано тут: Последнее видео (phpFOX).

Дальше открываю свой мод: module/common/include/service/common.class.php и добавляю в него:

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

    # Замена ссылок на видео
    public function replacevideo($text)
    {
        if (preg_match('/https:\/\/youtu.be\/([a-zA-Z0-9_\-]+)/i', $text))
        {
            $text = preg_replace('/https:\/\/youtu.be\/([a-zA-Z0-9_\-]+)/i', '<div><iframe width="250" height="141" src="https://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe></div>', $text);
        }

        return $text;
    }
    # Замена ссылок на видео END      
В администраторском разделе необходимо активировать Allow HTML in Activity Feed, что находится по адресу: site/admincp/setting/edit/setting-id_107/, для этого установите значение True.

Возможно потребуется очистка кеша.
Готово.
Видео в комментариях phpFOX  - Видео в комменте.jpg
Есть недочет, при добавлении коммента, в котором есть ссылка на видео, плеер сразу не отобразиться, он появится только после перезагрузки страницы, до этого будет просто ссылка.

В планах добавить больше видеохостингов и исправит недочет, описанный выше.

Читайте еще: Комментарии (модуль phpFOX 3).

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость