Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

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

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Error при апгрейде на 3.3.4

Делаю "репетицию" апгрейда с 2.0.0 на свежий 3.3.4 (лицензионный!!!!! )

 

Процесс застревает на следующем этапе:

доходит до вырубания на тайм-ауте

 

откатил всё назад. увеличил параметры таймаута до 900 секунд

погнал сначала и та же фигня (естественно до вырубания на таймауте прошло больше времени)

 

Плз срочнаааа пАмагите новичьку!!!!!

Что делать?

Где копать?

 

P.S. делал поиск на "16 запросов" и "16 queries". Безрезультатно

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

Пересчет тут не поможет, на двойке же не было своего спойлера, мод какой то ставили. Все правильно, нужно делать замену в базе. Найти html-код старого спойлера, он в зависимости от модификации разный может быть, заменить на то, что в поле "шаблон замены" бб-кода. В 2-3 запроса уложитесь вполне, зависит опять же от мода. SQL-запрос примерно такой:

UPDATE `[перфикс_]posts` SET `post` = REPLACE( post, 'часть_старого_кода_спойлера', 'соответствующая_ей_часть_кода_из_шаблона_замены_бб-кода' );

Тоесть подход правильный. Свой спойлер так же правил. ID помоему проще оставить, включите его в любой подходящий элемент и "onClick="OpenSpoiler('" замените на "id=", ничем он не помешает, ну добавится лишний реплейс.

 

P.S. Одинарные кавычки для записи в базу нужно просто дублировать. Читются и меняются же они без проблем.

 

P.P.S. Можно предварительно стандартный спойлер модифицировать, кстати, и менять сразу на такой например - http://test.emule-rus.net/index.php?showtopic=42747

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

Если обновления нестандартных ббкодов, то да, запросами.

 

 

помогите, пожалуйста, откорректировать запросы и внедрить в них REGEXP на 32

В mysql-е нет поддержки регулярных выражений (без сторонних библиотек) для реплейса. Но если строка фиксированной длины как md5, то можно извратится на стандартных функциях.

  • Автор

id он то везде разный. я пробовал варианты делать спойлер где есть лишний параметр. выглядит коряво.

 

 

я подумал о другом.

постов со спойлерами у меня более 3000.

в базе более 1,200,000 постов.

таких три реплейса - тяжеловато мне кажется

 

 

я стянул экспорт в Excel и выцедил этот Id у каждого поста.

 

то есть теперь я могу в экселе построить эти реплейсы с id и номером поста.

и подготовить список 9500 реплейсов

поскольку в каждом из них будет pid то нагрузка должна быть небольшая.

 

надо как то запустить это чтоб выполнить это мелкими порциями с таймаутами как нибудь (ещё не гуглил как это осуществить)

 

 

а можно запустить три реплейса в одном запросе?

типа меняем 123 на 456, 111 на 222, 888 на 999?

update ibf_posts
set post=REPLACE(post, '123','456', '111','222','888','999')
where pid=1234567

 

какие мысли будут?

Проще php-скрипт для замены с регулярными выражениями написать. Но он хоть и не сложный будет, тут это лишняя работа получится, имхо.

 

Про 9500 * 3 запросов промолчу пожалуй. :)

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

Вот вам пример подобного безобразия о котором говорилось выше

 

UPDATE `ibf_posts` SET `post`=REPLACE(
post,
CONCAT(
	'<!--SPOILER BEGIN--><div class="quotetop" onClick="OpenSpoiler(\'',
	SUBSTRING(post, LOCATE('OpenSpoiler(\'', post)+LENGTH('OpenSpoiler(\''), 32),
	'\')" style="cursor: hand;"><b><u>» <!--SPOILER TITLE-->'
),
'[spoiler]'
) WHERE post LIKE '%onClick="OpenSpoiler%';

» - точно не уверен в каком формате он хранится в таблице - или в сущности или так.

 

я стянул экспорт в Excel и выцедил этот Id у каждого поста.

А не проще "стянуть" экспорт в текстовом виде и сделать реплейс нормальным регулярным выражением?

О написании скрипта вообще молчу.

  • Автор

Проще php-скрипт для замены с регулярными выражениями написать. Но он хоть и не сложный будет, тут это лишняя работа получится, имхо.

 

Про 9500 * 3 запросов промолчу пожалуй. :)

9500 - это уже умножено на 3.

3166 постов

 

А не проще "стянуть" экспорт в текстовом виде и сделать реплейс нормальным регулярным выражением?

О написании скрипта вообще молчу.

тоже вариант. подумаю. я с регулярными выражениями никогда дела не имел (не считая тех, без которых русская речь превращается в доклад :P )

и подготовить список 9500 реплейсов

Лол.

 

а можно запустить три реплейса в одном запросе?

типо так можно

 

REPLACE(REPLACE(REPLACE(post , 'search1', 'replace1'), 'search2', 'replace2'), 'search3', 'replace3')

Ну, ежели душа красоты просит, то рублей 200 за скрипт с регулярками отыщите? И еще столько же за расширенный функционал , и индивидуальный дизайн спойлера, если нужен. За 2 часа сделаю, аська в профиле есть. :)

  • 1 месяц спустя...

Ребят, подскажите пожалуйста!

 

После обновления отключены все ХУКи. При включении так же работают. Модули также не работают...

 

_http://deesing.org/gallery/ Fatal error: Call to undefined method skin_global_15::user_popup() in /home/***/domains/deesing.org/public_html/admin/applications_addon/ips/gallery/sources/libs/lib_gallery.php on line 1667

 

Вот эта строка return "<a href='{$url}' title='{$this->lang->words['view_profile']}'>{$name}</a>" . $this->registry->output->getTemplate( 'global' )->user_popup( $id, $seoname );

 

_http://deesing.org/blogs/ Fatal error: Call to undefined method IPSLib::makeNameFormatted() in /home/***/domains/deesing.org/public_html/admin/applications_addon/ips/blog/modules_public/display/list.php on line 990

 

Спасибо!

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

Стили, хуки и компоненты тоже нужно обновлять.

  • 2 месяца спустя...

это всё не то. смайлики на месте. давно были перенесены.

я же писал выше, что как только тупо редактируешь пост - смайлик на месте (уже в окне редактирования виден)

Аналогичная проблема. После апгрейда с 2.3 не заменяются смайлы. В новых и постах некоторой давности работают, а в сообщениях старше года не заменяются и все. Выяснилось что виной всему поле use_emo в ibf_posts которое имело значение 0.

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.