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

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

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

Пересчет и обновления -> Перестройка контента:[сообщений] запускали?

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


Ссылка на сообщение
10/13/12 19:49 (изменено)

Пересчет тут не поможет, на двойке же не было своего спойлера, мод какой то ставили. Все правильно, нужно делать замену в базе. Найти 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
  • Upvote 2

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


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

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

 

 

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

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

  • Upvote 1

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


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

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

 

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

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


Ссылка на сообщение
10/13/12 20:45 (изменено)

Проще 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 часа сделаю, аська в профиле есть. :)

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


Ссылка на сообщение
11/27/12 14:48 (изменено)

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

 

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

 

_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.3 не заменяются смайлы. В новых и постах некоторой давности работают, а в сообщениях старше года не заменяются и все. Выяснилось что виной всему поле use_emo в ibf_posts которое имело значение 0.

  • Upvote 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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