bobus123 Опубликовано 5 Марта 2010 Жалоба Поделиться Опубликовано 5 Марта 2010 Подскажите как сделать чтоб "Постеры" не тулили в одну тему по 50 сообщений а именно как запретить (без склейки) одному и тому же пользователю публиковать сообщения подряд в одной теме ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bobus123 Опубликовано 10 Марта 2010 Автор Жалоба Поделиться Опубликовано 10 Марта 2010 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 10 Марта 2010 Жалоба Поделиться Опубликовано 10 Марта 2010 Найти, где проверяется под склейку, а конкретно где вместо INSERT выполняется UPDATE, и перед этим кодом добавить вызов эррор-функции. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bobus123 Опубликовано 10 Марта 2010 Автор Жалоба Поделиться Опубликовано 10 Марта 2010 Напиши плиз поподробнее я не силён в коде форума Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 1ce Опубликовано 11 Марта 2010 Жалоба Поделиться Опубликовано 11 Марта 2010 Найти, где проверяется под склейку, а конкретно где вместо INSERT выполняется UPDATE, и перед этим кодом добавить вызов эррор-функции.Да, распишите пожалуйста как так сделать Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 11 Марта 2010 Жалоба Поделиться Опубликовано 11 Марта 2010 Напиши плиз поподробнее я не силён в коде форумаУвы, у меня просто нет кода форума версии 2.х.хА чем, собственно, склейка не нравится? Мне кажется, так наоборот лучше: и пользователям удобнее в длинных темах, и число сообщений в топике не растет сверх меры.Я у себя на "однушку" разве что дополнил склейку отбивкой времени добавления: Добавил функцию: /*-------------------------------------------------------------------------*/ // Интервал времени между событиями /*-------------------------------------------------------------------------*/ function date_diff($begin, $end=0){ if(!$end)$end = time(); if( intval($end)<=intval($begin) )return array(); $s_diff = intval(date("s",$end)) - intval(date("s",$begin)); if($s_diff<0) { $s_diff += 60; $end -= 60; } $i_diff = intval(date("i",$end)) - intval(date("i",$begin)); if($i_diff<0) { $i_diff += 60; $end -= 3600; } $g_diff = intval(date("G",$end)) - intval(date("G",$begin)); if($g_diff<0) { $g_diff += 24; $end -= 86400; } $y_diff = intval(date("Y",$end)) - intval(date("Y",$begin)); $m_diff = intval(date("m",$end)) - intval(date("m",$begin)); $dpm = 30; if( stristr(",1,3,5,7,8,10,12,",",".date("Y",$end).",") )$dpm = 31; if(date("m",$end) == "2") { if( intval(date("Y",$end))%4 )$dpm = 28; else $dpm = 29; } $d_diff = intval(date("d",$end)) - intval(date("d",$begin)); if($d_diff<0) { $d_diff += $dpm; $m_diff--; } if($m_diff<0) { $m_diff += 12; $y_diff--; } $diff = array(); $str = " лет"; if($y_diff%10 == 1 and $y_diff!=11)$str = " год"; if( $y_diff%10>1 and $y_diff%10<5 and ( $y_diff<10 or $y_diff>20 ) )$str = " года"; if($y_diff)$diff['y'] = $y_diff.$str; $str = " месяцев"; if($m_diff == 1)$str = " месяц"; if($m_diff>1 and $m_diff<5)$str = " месяца"; if($m_diff)$diff['m'] = $m_diff.$str; $str = " дней"; if($d_diff%10 == "1" and $d_diff!=11)$str = " день"; if( $d_diff%10>1 and $d_diff%10<5 and ( $d_diff<10 or $d_diff>20 ) )$str = " дня"; if($d_diff)$diff['d'] = $d_diff.$str; $str = " часов"; if($g_diff%10 == "1" and $g_diff!=11)$str = " час"; if( $g_diff%10>1 and $g_diff%10<5 and ( $g_diff<10 or $g_diff>20 ) )$str = " часа"; if($g_diff)$diff['g'] = $g_diff.$str; $str = " минут"; if($i_diff%10 == "1" and $i_diff!=11)$str = " минуту"; if( $i_diff%10>1 and $i_diff%10<5 and ( $i_diff<10 or $i_diff>20 ) )$str = " минуты"; if($i_diff)$diff['i'] = $i_diff.$str; $str = " секунд"; if($s_diff%10 == "1" and $s_diff!=11)$str = " секунду"; if( $s_diff%10>1 and $s_diff%10<5 and ( $s_diff<10 or $s_diff>20 ) )$str = " секунды"; if($s_diff)$diff['s'] = $s_diff.$str; return $diff; } И сама склейка:// +FatCat: Склейка последовательных: if( $this->topic['last_poster_id'] == $ibforums->member['id'] and (time()-$this->topic['last_post'])<600 and $this->topic['posts'] ) { $DB->query("SELECT pid, author_id, author_name, post_date, post FROM ibf_posts, ip_address WHERE topic_id = ".$this->topic['tid']." ORDER BY pid ASC LIMIT ".$this->topic['posts'].",2"); if($DB->get_num_rows() == 1) { $post = $DB->fetch_row(); if($ibforums->input['IP_ADDRESS'] == $post['ip_address']) { // Собираем объединенный пост $split_t = $std->date_diff($post['post_date']); $split_t = implode(", ",$split_t); $split_t = "<br><br><br><hr>Спустя <i>".$split_t."</i> <b>".$ibforums->member['name']."</b> написал(а):<hr>"; $split_t = $post['post'].$split_t.$this->post['post']; $split_t = str_replace("'","''",$split_t); $DB->query("UPDATE ibf_posts SET post = '".$split_t."', post_date = '".time()."' WHERE pid = '".$post['pid']."'"); $DB->query("UPDATE ibf_topics SET last_post = '".time()."' WHERE tid = ".$this->topic['tid']); $print->redirect_screen( "сообщение подклеено к Вашему предыдущему сообщению." , "showtopic={$this->topic['tid']}&view=getlastpost"); } } } // -FatCat: Склейка последовательных Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 1ce Опубликовано 12 Марта 2010 Жалоба Поделиться Опубликовано 12 Марта 2010 FatCat в какие файлы то хоть это добавлять ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Sannis Опубликовано 12 Марта 2010 Жалоба Поделиться Опубликовано 12 Марта 2010 FatCat в какие файлы то хоть это добавлять ?Это для весрии 1.x, читайте внимательнее Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bobus123 Опубликовано 12 Марта 2010 Автор Жалоба Поделиться Опубликовано 12 Марта 2010 Подскажите где найти код для 2,2,2 форума Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 1ce Опубликовано 12 Марта 2010 Жалоба Поделиться Опубликовано 12 Марта 2010 FatCat в какие файлы то хоть это добавлять ?Это для весрии 1.x, читайте внимательнее прошу прощения, просто тема в разделе "Общие вопросы (по 2.2.x и 2.3.x)" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 12 Марта 2010 Жалоба Поделиться Опубликовано 12 Марта 2010 просто тема в разделе "Общие вопросы (по 2.2.x и 2.3.x)"Я показал общий подход к решению, а не конкретную реализацию.Надеюсь, что опубликованные мной коды первой линейки помогут Вам оценить объем работы по модификации и определиться в цене, если надумаете заказать модификацию на свой форум. PS: Я не рекламирую свои услуги, я за такой заказ не возьмусь. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bobus123 Опубликовано 13 Марта 2010 Автор Жалоба Поделиться Опубликовано 13 Марта 2010 может чтото подобное есть для 2,2,2 ..? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bobus123 Опубликовано 15 Марта 2010 Автор Жалоба Поделиться Опубликовано 15 Марта 2010 Может кто за деньги сделает..? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Майор Опубликовано 15 Марта 2010 Жалоба Поделиться Опубликовано 15 Марта 2010 а чем флуд-контроль не устраивает? поставьте на группу и все Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bobus123 Опубликовано 17 Марта 2010 Автор Жалоба Поделиться Опубликовано 17 Марта 2010 По подробнее расскажите плиз (новичёк) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Майор Опубликовано 19 Марта 2010 Жалоба Поделиться Опубликовано 19 Марта 2010 Вам в четвертом посте расписали Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bobus123 Опубликовано 19 Марта 2010 Автор Жалоба Поделиться Опубликовано 19 Марта 2010 постеры заходят через неделю и в свой пост заливают сами же и получается пост только из их постов как то грустно Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
bobus123
Подскажите как сделать чтоб "Постеры" не тулили в одну тему по 50 сообщений
а именно как запретить (без склейки) одному и тому же пользователю публиковать сообщения подряд в одной теме ?
Ссылка на комментарий
Поделиться на других сайтах
16 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.