Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Trotor

Обновление видео в IP. Videosystem

Рекомендованные сообщения

Есть такое приложение как IP. Videosystem.

В нём осталось довольно большое кол-во видео которое было загруженно ещё с использованием старых медиа-тегов Ютуб. Сейчас такие видео в этом приложение не показываются (белый экран вместо трека). Лечение одно - нажать на редактирование трека и после него видео становиться нормальным.

 

Однако таких старых роликов много. Есть ли какой то вариант что бы отредактировать старые видео комплексно, через запрос к базе данных?

Поделиться сообщением


Ссылка на сообщение

через запрос к базе данных?

Нужно сравнить для начала старый и новый коды. Посмотрите в бд.

Поделиться сообщением


Ссылка на сообщение

Нужно сравнить для начала старый и новый коды. Посмотрите в бд.

Без проблем.

 

Код видео старого, неработающего видео:

 

<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/kl8mpAvTm_Y&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/kl8mpAvTm_Y&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="480" height="385"></embed></object>

 

 

Видео работающее:

 

<iframe class="youtube-player" width="640" height="390" src="https://www.youtube.com/embed/-Fu0UPnk4kc" allowfullscreen></iframe>

 

Поделиться сообщением


Ссылка на сообщение

Нет никаких идей? А то редактирование вручную - это нереально.

Поделиться сообщением


Ссылка на сообщение

Скиньте приложение.

Поделиться сообщением


Ссылка на сообщение
12/21/17 14:13 (изменено)

Скиньте приложение.

IP. Videosystem 2.0.3.zip

Изменено пользователем Haktar

Поделиться сообщением


Ссылка на сообщение

С минимальными затратами

Открыть \admin\applications_addon\other\videos\modules_public\display\index.php

Найти

		//-----------------------------------------
	// Fetch related videos
	//-----------------------------------------        

Выше добавить

		if ($video['video_type'] == 'media_url')
	{
		$embed = IPSText::getTextClass('bbcode')->preDisplayParse($video['video_data']);

		if ($embed != $video['embed'])
		{
			$video['embed'] = $embed;		
			$this->DB->update('videos', array('embed' => $embed), 'tid=' . $video['tid']);		
		}
	}

Когда пользователь будет заходить на страницу с сломанным видео, видео будет обновляться.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Когда пользователь будет заходить на страницу с сломанным видео, видео будет обновляться.

Ух ты, круто, работает.

Большое спасибо!

Поделиться сообщением


Ссылка на сообщение

Не хотел создавать новую тему, поэтому пишу здесь.

Хостеры написал что на БД дают сильную нагрузку вот этот процесс связанный с приложением Видео, вот ответ от хостеров:

Цитата

В данный момент, в списке процессов mysql 141 соединение. Все они находились в статусе "Waiting for table level lock" ожидая выполнения запроса 

SELECT v.tid, v.cid, v.author_id, v.author_name, v.date, v.title, v.status, v.last_updated, v.views, v.seo_title, v.thumbnail, v.video_rating, v.members_seo_name,f.f_vid, f.f_mid FROM ipb_videos v LEFT JOIN ipb_videos_favorites f ON ( f.f_vid=v.tid ) WHERE v.status=0 ORDER BY MAKE_SET(9401=9401,SLEEP(5)) DESC LIMIT 150,50

Который находился в статусе "User sleep", примерно 1800 секунд. После его остановки, выполнилась большая часть запросов, которые жали блокировки таблицы, за исключением ещё одного такого же, который так же ушёл в "User sleep". После его остановки запросы продолжили работы. 

Уменьшили значения interactive-timeout и wait-timeout до 200 секунд. Это должно убивать соединения в статусе "User sleep ", должны будут через 200 секунд. 

Подскажите в каком файле приложения ликвидировать этот процесс?

Поделиться сообщением


Ссылка на сообщение

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

  • Like 1

Поделиться сообщением


Ссылка на сообщение
18 часов назад, siv1987 сказал:

наверное связанный с популярными видео или что-то типо того.

С функцией добавить в избранное.

18 часов назад, siv1987 сказал:

либо отключить эту функцию

Через админку нигде не отключается.

18 часов назад, siv1987 сказал:

найти в приложение и отключить его. 

Ищу, найти не могу.

Поделиться сообщением


Ссылка на сообщение

Судя по всему в этом файле, но что удалять - не разберёшься.

 

index.php

Поделиться сообщением


Ссылка на сообщение

А не sql ли инъекция у вас случайно в запросе?.. Запрос нашел, но такой странной  сортировки в коде не вижу. Судя по всему кто-то передает эту функцию MAKE_SET через пользовательские данные из параметра сортировки $order = $this->request['sort_by']." ".$this->request['sort_order'];

Конкретно этот sql запрос судя по всему из функции function search(), но применять такой финт можно везде где используется $order в запросе. Надо более жестко фильтровать данные в запросе. 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
1 час назад, siv1987 сказал:

Запрос нашел, но такой странной  сортировки в коде не вижу.

Может тогда это не тот файл что я предоставил выше?

Вот всё приложение:

IP. Videosystem 2.0.3.zip

Поделиться сообщением


Ссылка на сообщение

Это тот же самый запрос. 

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...