Jump to content
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

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

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

 

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

Featured Replies

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

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

  • Author

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

Без проблем.

 

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

 

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

 

  • Author

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

  • Author

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

IP. Videosystem 2.0.3.zip

Edited by 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']);		
		}
	}

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

  • Author

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

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

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

  • 2 years later...
  • Author

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

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

Цитата

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

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

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

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

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

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

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

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

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

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

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

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

  • Author

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

 

index.php

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

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

  • Author
1 час назад, siv1987 сказал:

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

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

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

IP. Videosystem 2.0.3.zip

  • Author
7 минут назад, siv1987 сказал:

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

Так как мне всё это отрубить? Готов отказаться от функционала, главное что бы приложение работало.

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.