GluX Опубликовано 28 Марта 2006 Жалоба Поделиться Опубликовано 28 Марта 2006 Сори может туплю, так что тут надо сделать? //------------------------ // найти и удалить из кода //------------------------ //----------------------------------------- // Remove polls assigned to this topic //----------------------------------------- $this->ipsclass->DB->simple_exec_query( array( 'delete' => 'topics', 'where' => "tid".$tid ) ); //------------------------ // найти //------------------------ //----------------------------------------- // Remove the posts //----------------------------------------- $this->ipsclass->DB->simple_exec_query( array( 'delete' => 'posts', 'where' => "topic_id".$tid ) ); //------------------------ // заменить на //------------------------ //----------------------------------------- // Remove the posts //----------------------------------------- //decrement $this->post_delete($posts); $this->ipsclass->DB->simple_exec_query( array( 'delete' => 'topics', 'where' => "tid".$tid ) ); Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 29 Марта 2006 Автор Жалоба Поделиться Опубликовано 29 Марта 2006 ну как бы надо найти и удалить строчку кода, которая приведена после слов "найти и удалить из кода" далее все по инструкции Ссылка на комментарий Поделиться на других сайтах Прочее
Mithrandir Опубликовано 7 Апреля 2006 Жалоба Поделиться Опубликовано 7 Апреля 2006 "когда IPB будет для MySQL 5" ... а она уже для MySQL 5 так как с версии 2.0 не имеет ошибок на MySQL 5 Вот vBulletin тоже не говорили вроде ничего, но с какой-то версии тоже ошибки в MySQL 5 перестали сыпаться... Так что это ещё как посмотреть ... кстати, респект создателям IPB что уже в первые месяцы как зарелизило MySQL 5 они всё поправили в запросах! Молодцы (не то что некоторые :-P ) Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 7 Апреля 2006 Автор Жалоба Поделиться Опубликовано 7 Апреля 2006 спецификация IPB 2.1.x - http://www.invisionpower.com/ip.dynamic/pr...oard/index.html Invision Power Board requires PHP 4.3+ and either MySQL 3.23+ (4.x highly recommended), MSSQL or Oracle 9i for database storage. MySQL 5.x not yet supported - news on MySQL 5.x support coming soon. ага? потому когда будет поддержка SQL 5 тогда и мод поддерживать буедт тема в помощь: IPB 2.1.x, mySQL 5 Ссылка на комментарий Поделиться на других сайтах Прочее
zema66 Опубликовано 15 Апреля 2006 Жалоба Поделиться Опубликовано 15 Апреля 2006 мод хороший, но если можно было бы в него еще прописать, что бы у юзера поинты отнимались, то вообще класс было бы.может подскажите куда что прописать для этого ?только надо учитывать такой момент, что у каждого форума может быть разное количество начисления поинтов за топик. буду признателен за такое дополнение. Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 15 Апреля 2006 Автор Жалоба Поделиться Опубликовано 15 Апреля 2006 я не знаю по каком принципу у вас начилсяются поинты, но самый оптимальный вариант это добавить полную выборку информации о топике в котором сделан удаляемый пост в этот запрос: $this->ipsclass->DB->simple_construct( array( 'select' => 'p.pid, p.topic_id, p.author_id, t.forum_id, t.inc_postcount, m.mgroup, m.posts, m.auto_g_change_history', 'from' => 'posts p, '.SQL_PREFIX.'topics t LEFT JOIN '.SQL_PREFIX.'members m ON(m.id=p.author_id)', 'where' => 'p.topic_id=t.tid AND p.pid'.$pid ) ); а потом через кэш форумов выбрать надо ли отнимать поитны за пост в этом форуме, а далее в цикле учесть сколько поинтов и в каком форем отнимается... ЗЫ: вроде понятно изложил мысль... Ссылка на комментарий Поделиться на других сайтах Прочее
MrGALL Опубликовано 15 Апреля 2006 Жалоба Поделиться Опубликовано 15 Апреля 2006 У меня таже проблема з MySQL5: mySQL query error: SELECT p.pid, p.topic_id, p.author_id, t.forum_id, t.inc_postcount, m.mgroup, m.posts, m.auto_g_change_history FROM ibf_posts p, ibf_topics t LEFT JOIN ibf_members m ON(m.id=p.author_id) WHERE p.topic_id=t.tid AND p.pid IN(19639) Но если в sources/lib/func_mod.php поставить скобки: 'from' => '(posts p, '.SQL_PREFIX.'topics t) LEFT JOIN '.SQL_PREFIX.'members m ON(m.id=p.author_id)', То происходит такая ошибка: mySQL query error: SELECT p.pid, p.topic_id, p.author_id, t.forum_id, t.inc_postcount, m.mgroup, m.posts, m.auto_g_change_history FROM ibf_(posts p, ibf_topics t) LEFT JOIN ibf_members m ON(m.id=p.author_id) WHERE p.topic_id=t.tid AND p.pid IN(19639) Каким образом поставить скобку там где нужно? Ссылка на комментарий Поделиться на других сайтах Прочее
zema66 Опубликовано 16 Апреля 2006 Жалоба Поделиться Опубликовано 16 Апреля 2006 я не знаю по каком принципу у вас начилсяются поинты, но самый оптимальный вариант это добавить полную выборку информации о топике в котором сделан удаляемый пост в этот запрос: $this->ipsclass->DB->simple_construct( array( 'select' => 'p.pid, p.topic_id, p.author_id, t.forum_id, t.inc_postcount, m.mgroup, m.posts, m.auto_g_change_history', 'from' => 'posts p, '.SQL_PREFIX.'topics t LEFT JOIN '.SQL_PREFIX.'members m ON(m.id=p.author_id)', 'where' => 'p.topic_id=t.tid AND p.pid'.$pid ) ); а потом через кэш форумов выбрать надо ли отнимать поитны за пост в этом форуме, а далее в цикле учесть сколько поинтов и в каком форем отнимается... ЗЫ: вроде понятно изложил мысль... я сделал такпосле $this->ipsclass->DB->simple_construct( array( 'select' => 'p.pid, p.topic_id, p.author_id, t.forum_id, t.inc_postcount, m.mgroup, m.posts, m.auto_g_change_history', 'from' => 'posts p, '.SQL_PREFIX.'topics t LEFT JOIN '.SQL_PREFIX.'members m ON(m.id=p.author_id)', 'where' => 'p.topic_id=t.tid AND p.pid'.$pid ) ); $this->ipsclass->DB->simple_exec(); while ( $r = $this->ipsclass->DB->fetch_row() ) { $posts[ $r['pid'] ] = $r['topic_id']; $topics[ $r['topic_id'] ] = 1;прописал$this->ipsclass->DB->simple_construct( array( 'select' => 'points_reply', 'from' => 'forums', 'where' => "id=$r[forum_id]" ) ); $this->ipsclass->DB->simple_exec(); $w = $this->ipsclass->DB->fetch_row(); $pcount = "points=points-".$w[points_reply]; $this->ipsclass->DB->simple_construct( array( 'update' => 'members', 'set' => $pcount, 'where' => "id=$r[author_id]" ) ); $this->ipsclass->DB->simple_exec(); все работает, но когда удаляешь и появлятся страница где написаносообщение удаленосейчас вы будете перемещены вверху этой страницы появилась надписьIPB WARNING [2] mysql_fetch_array(): supplied argument is not a valid MySQL result resource (Line: 567 of \ips_kernel\class_db_mysql.php)в чем проблема, что я не так прописал ? если слешу вот это$this->ipsclass->DB->simple_construct( array( 'update' => 'members', 'set' => $pcount, 'where' => "id=$r[author_id]" ) ); $this->ipsclass->DB->simple_exec();то надпись пропадает, но соответственно и поинты не отнимаются. пробовал вычитать поинты через функцию такого типа$this->ipsclass->DB->do_update('members', array( 'points' => $point, ), 'id='.$member_id);соответствено сперва определив $point, но проблема с предупреждающей надписью осталась, хотя опять же все работает Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 18 Апреля 2006 Автор Жалоба Поделиться Опубликовано 18 Апреля 2006 в цикле нельзя запрос ставить лучше отдельную выборку сделать в массив а потом все разобрать в цикле категорически не советую в кле далать, т.к. угробите базу Ссылка на комментарий Поделиться на других сайтах Прочее
Phil10 Опубликовано 19 Апреля 2006 Жалоба Поделиться Опубликовано 19 Апреля 2006 Прошу прощения за маленький оффтоп, однако давно хотел написать да всё как-то небыло времени:Хотелось бы сказать автору этого мода большое спасибо! Мод очень мне помог. Ставил многие модификации SATa и ни с одной небыло проблем , если вижу что он автор, то без боязни ставлю мод. Ещё раз спасибо, огромное. Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 19 Апреля 2006 Автор Жалоба Поделиться Опубликовано 19 Апреля 2006 Хотелось бы сказать автору этого мода большое спасибо! Мод очень мне помог. Ставил многие модификации SATa и ни с одной небыло проблем , если вижу что он автор, то без боязни ставлю мод. Ещё раз спасибо, огромное. спасибо большое за доверие к моим кодам извините сейчас не выпускаю ни новых модификаций, и мало повремени на поддержку, но я не умер =Р как появятся идеи и сомое главное время(которого уже месяца полтора нет) буду писать новое Ссылка на комментарий Поделиться на других сайтах Прочее
Trund Опубликовано 30 Апреля 2006 Жалоба Поделиться Опубликовано 30 Апреля 2006 А для 2.0.4 этот мод пойдёт? P.S. В кодах ничего не смыслю... Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 2 Мая 2006 Автор Жалоба Поделиться Опубликовано 2 Мая 2006 А для 2.0.4 этот мод пойдёт? нет.. не пойдет, но вы можете найти для 2.0.х апалогичный мод, только он в архиве не выложен, потому воспользуйтесь поиском по постам. Ссылка на комментарий Поделиться на других сайтах Прочее
uabanker Опубликовано 13 Мая 2006 Жалоба Поделиться Опубликовано 13 Мая 2006 2 SATСпасибо за мод.Единственное, у меня если посты удаляются из форума, в котором отключен счетчик, то счетчик - отнимается.Думал, руки кривые - 3 раза перепроверил, все изменения соответствую руководству.Не подскажете, где искать трабл? P.S. Ставил на версию 2.1.6, полученную апгрейтом с 2.0 (после покупки здесь) Ссылка на комментарий Поделиться на других сайтах Прочее
SILDOB Опубликовано 27 Мая 2006 Жалоба Поделиться Опубликовано 27 Мая 2006 - если посты удаляются из форума, в котором отключен счетчик, то счетчик не отнимаетсяКак счетчик включить ? я мод поставил только посты неотнимаются когда я удаляю пост так и с корзины Ссылка на комментарий Поделиться на других сайтах Прочее
Nightmare Опубликовано 21 Августа 2006 Жалоба Поделиться Опубликовано 21 Августа 2006 mySQL query error: SELECT p.pid, p.topic_id, p.author_id, t.forum_id, t.inc_postcount, m.mgroup, m.posts, m.auto_g_change_history FROM ibf_posts p, ibf_topics t LEFT JOIN ibf_members m ON(m.id=p.author_id) WHERE p.topic_id=t.tid AND p.pid=15921 SQL error: Unknown column 'p.author_id' in 'on clause' SQL error code: Date: 21.8.2006, 10:20Так как исправить эту ошибку? Ссылка на комментарий Поделиться на других сайтах Прочее
Xander_1 Опубликовано 11 Сентября 2006 Жалоба Поделиться Опубликовано 11 Сентября 2006 Да будьте добры, помогите разобраться с такой пакостью!!! Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 12 Сентября 2006 Автор Жалоба Поделиться Опубликовано 12 Сентября 2006 а вы дайте структуру таблицы ibf_posts Ссылка на комментарий Поделиться на других сайтах Прочее
.silent Опубликовано 12 Сентября 2006 Жалоба Поделиться Опубликовано 12 Сентября 2006 http://www.ibresource.ru/forums/index.php?showtopic=24249аминь Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 12 Сентября 2006 Автор Жалоба Поделиться Опубликовано 12 Сентября 2006 .silent о великий и могущественный программист, если так исправить, то кроме как в MySQL 5 не будет нигде работать. а если вот так исправить, то вполне: вместо вот этого кода(от в readme) //----------------------------------------- // Get Stuff //----------------------------------------- //decrement post cont $this->ipsclass->DB->simple_construct( array( 'select' => 'p.pid, p.topic_id, p.author_id, t.forum_id, t.inc_postcount, m.mgroup, m.posts, m.auto_g_change_history', 'from' => 'posts p, '.SQL_PREFIX.'topics t LEFT JOIN '.SQL_PREFIX.'members m ON(m.id=p.author_id)', 'where' => 'p.topic_id=t.tid AND p.pid'.$pid ) ); $this->ipsclass->DB->simple_exec(); while ( $r = $this->ipsclass->DB->fetch_row() ) { $posts[ $r['pid'] ] = $r['topic_id']; $topics[ $r['topic_id'] ] = 1; //---------------------------------------- // get members info for decrement popst count //---------------------------------------- if (($this->forum['inc_postcount'] or $r['forum_id'] == $this->ipsclass->vars['forum_trash_can_id']) and !$r['inc_postcount']) { $autors[$r['author_id']]['count'] += 1; $autors[$r['author_id']]['mgroup'] = $r['mgroup']; $autors[$r['author_id']]['posts'] = $r['posts']; $autors[$r['author_id']]['history'] = $r['auto_g_change_history']; } } заменить на //----------------------------------------- // Get Stuff //----------------------------------------- //decrement post cont $this->ipsclass->DB->build_query( array( 'select' => 'p.pid, p.topic_id, p.author_id', 'from' => array( 'posts' => 'p' ), 'where' => 'p.pid='.$row['pid'], 'add_join' => array( 0 => array( 'select' => 't.forum_id, t.inc_postcount', 'from' => array( 'topics' => 't' ), 'where' => "p.topic_id=t.tid", 'type' => 'left' ), 1 => array( 'select' => 'm.mgroup, m.posts, m.auto_g_change_history', 'from' => array( 'members' => 'm' ), 'where' => "m.id=p.author_id", 'type' => 'left' ) ), ) ); $this->ipsclass->DB->exec_query(); while ( $r = $this->ipsclass->DB->fetch_row() ) { $posts[ $r['pid'] ] = $r['topic_id']; $topics[ $r['topic_id'] ] = 1; //---------------------------------------- // get members info for decrement popst count //---------------------------------------- if (($this->forum['inc_postcount'] or $r['forum_id'] == $this->ipsclass->vars['forum_trash_can_id']) and !$r['inc_postcount']) { $autors[$r['author_id']]['count'] += 1; $autors[$r['author_id']]['mgroup'] = $r['mgroup']; $autors[$r['author_id']]['posts'] = $r['posts']; $autors[$r['author_id']]['history'] = $r['auto_g_change_history']; } } проверил на Oracle ща все работает, на мускуле не тестил, но могу предположить что во всех драйверах теперь будет работать. Ссылка на комментарий Поделиться на других сайтах Прочее
_Satana_ Опубликовано 20 Сентября 2006 Жалоба Поделиться Опубликовано 20 Сентября 2006 Все поставил по инструкции. Но при удалении поста и удалении его из корзины, счетчик не меняеться.Не могли бы вы мне помочь. Ссылка на комментарий Поделиться на других сайтах Прочее
OMus2 Опубликовано 22 Сентября 2006 Жалоба Поделиться Опубликовано 22 Сентября 2006 SAT , великий и могучий, как вы написали вот не работает ) потому что запрос очень сильно каверкает ) Попробуй сам ) Не мог бы ты потестировать и выложить рабочий код для блин мускла 5? ) да кстати, после изменений, которые предложил нашему вниманию .silent, опять же возникает ошибка - все та-же - потому что скобки не подставляются...Прям не знаю что делать... Уже подумываю о том чтобы воткнуть запрос напрямую (= Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 22 Сентября 2006 Автор Жалоба Поделиться Опубликовано 22 Сентября 2006 SAT , великий и могучий, как вы написали вот не работает ) потому что запрос очень сильно каверкает ) Попробуй сам ) Не мог бы ты потестировать и выложить рабочий код для блин мускла 5? ) Вообще я жду что бы IPB поддерживала MySQL 5 каверкает, но работает в MYSQL 4 и Oracle 10g да кстати, после изменений, которые предложил нашему вниманию .silent, опять же возникает ошибка - все та-же - потому что скобки не подставляются... вообще-то работет, не знаю как вы правили... но как я описал, работает только в MySQL SAT , великий и могучий, как вы написали вот не работает ) Еще раз так напишешь и точно не отвечу а так стучись в ПМ, есть предложение, своего рода Бетта тестинг Ссылка на комментарий Поделиться на других сайтах Прочее
OverHerz Опубликовано 29 Октября 2006 Жалоба Поделиться Опубликовано 29 Октября 2006 SAT,тажа самая ошибка, что наверху, если изменить как ты написал ниже, то появляется другая mySQL query error: SELECT p.pid, p.topic_id, p.author_id,t.forum_id, t.inc_postcount,m.mgroup, m.posts, m.auto_g_change_history FROM ibf_posts p LEFT JOIN ibf_topics t ON ( p.topic_id=t.tid ) LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.pid= SQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2 SQL error code: Date: Sunday 29th 2006f October 2006 10:44:51 PMsql 4-ый ошибка только при удалении из корзины Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 31 Октября 2006 Автор Жалоба Поделиться Опубликовано 31 Октября 2006 тьфу блин.... не тот запрос копирнул... //decrement post cont $this->ipsclass->DB->build_query( array( 'select' => 'p.pid, p.topic_id, p.author_id', 'from' => array( 'posts' => 'p' ), 'where' => 'p.pid'.$pid, 'add_join' => array( 0 => array( 'select' => 't.forum_id, t.inc_postcount', 'from' => array( 'topics' => 't' ), 'where' => "p.topic_id=t.tid", 'type' => 'left' ), 1 => array( 'select' => 'm.mgroup, m.posts, m.auto_g_change_history', 'from' => array( 'members' => 'm' ), 'where' => "m.id=p.author_id", 'type' => 'left' ) ), ) ); так по идее должно работать Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения