Опубликовано: 29 августа 201213 г Делаю "репетицию" апгрейда с 2.0.0 на свежий 3.3.4 (лицензионный!!!!! ) Процесс застревает на следующем этапе:доходит до вырубания на тайм-ауте откатил всё назад. увеличил параметры таймаута до 900 секундпогнал сначала и та же фигня (естественно до вырубания на таймауте прошло больше времени) Плз срочнаааа пАмагите новичьку!!!!! Что делать?Где копать? P.S. делал поиск на "16 запросов" и "16 queries". Безрезультатно
Опубликовано: 13 октября 201213 г Пересчет тут не поможет, на двойке же не было своего спойлера, мод какой то ставили. Все правильно, нужно делать замену в базе. Найти 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 Изменено 13 октября 201213 г пользователем Dmitriy427
Опубликовано: 13 октября 201213 г Если обновления нестандартных ббкодов, то да, запросами. помогите, пожалуйста, откорректировать запросы и внедрить в них REGEXP на 32В mysql-е нет поддержки регулярных выражений (без сторонних библиотек) для реплейса. Но если строка фиксированной длины как md5, то можно извратится на стандартных функциях.
Опубликовано: 13 октября 201213 г Автор 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 какие мысли будут?
Опубликовано: 13 октября 201213 г Проще php-скрипт для замены с регулярными выражениями написать. Но он хоть и не сложный будет, тут это лишняя работа получится, имхо. Про 9500 * 3 запросов промолчу пожалуй. :) Изменено 13 октября 201213 г пользователем Dmitriy427
Опубликовано: 13 октября 201213 г Вот вам пример подобного безобразия о котором говорилось выше 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 у каждого поста.А не проще "стянуть" экспорт в текстовом виде и сделать реплейс нормальным регулярным выражением?О написании скрипта вообще молчу.
Опубликовано: 13 октября 201213 г Автор Проще php-скрипт для замены с регулярными выражениями написать. Но он хоть и не сложный будет, тут это лишняя работа получится, имхо. Про 9500 * 3 запросов промолчу пожалуй. :)9500 - это уже умножено на 3.3166 постов А не проще "стянуть" экспорт в текстовом виде и сделать реплейс нормальным регулярным выражением?О написании скрипта вообще молчу.тоже вариант. подумаю. я с регулярными выражениями никогда дела не имел (не считая тех, без которых русская речь превращается в доклад :P )
Опубликовано: 13 октября 201213 г и подготовить список 9500 реплейсовЛол. а можно запустить три реплейса в одном запросе?типо так можно REPLACE(REPLACE(REPLACE(post , 'search1', 'replace1'), 'search2', 'replace2'), 'search3', 'replace3')
Опубликовано: 13 октября 201213 г Ну, ежели душа красоты просит, то рублей 200 за скрипт с регулярками отыщите? И еще столько же за расширенный функционал , и индивидуальный дизайн спойлера, если нужен. За 2 часа сделаю, аська в профиле есть. :)
Опубликовано: 27 ноября 201213 г Ребят, подскажите пожалуйста! После обновления отключены все ХУКи. При включении так же работают. Модули также не работают... _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 Спасибо! Изменено 27 ноября 201213 г пользователем webog
Опубликовано: 2 февраля 201312 г это всё не то. смайлики на месте. давно были перенесены.я же писал выше, что как только тупо редактируешь пост - смайлик на месте (уже в окне редактирования виден)Аналогичная проблема. После апгрейда с 2.3 не заменяются смайлы. В новых и постах некоторой давности работают, а в сообщениях старше года не заменяются и все. Выяснилось что виной всему поле use_emo в ibf_posts которое имело значение 0.
Делаю "репетицию" апгрейда с 2.0.0 на свежий 3.3.4 (лицензионный!!!!! )
Процесс застревает на следующем этапе:
доходит до вырубания на тайм-ауте
откатил всё назад. увеличил параметры таймаута до 900 секунд
погнал сначала и та же фигня (естественно до вырубания на таймауте прошло больше времени)
Плз срочнаааа пАмагите новичьку!!!!!
Что делать?
Где копать?
P.S. делал поиск на "16 запросов" и "16 queries". Безрезультатно