Перейти к публикации
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.

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.

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

Сейчас на странице 0

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

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.