Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Trotor

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

Recommended Posts

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Без проблем.

 

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

 

<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>

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Открыть \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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Цитата

В данный момент, в списке процессов 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 секунд. 

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

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites
18 часов назад, siv1987 сказал:

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

index.php

Share this post


Link to post
Share on other sites

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites
1 час назад, siv1987 сказал:

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

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

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

IP. Videosystem 2.0.3.zip

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...