Arhar Опубликовано 15 Марта 2007 Жалоба Поделиться Опубликовано 15 Марта 2007 Столкнулся с такой проблемой, что нетерпеливые юзеры жмут кнопку "Создать тему" несколько раз подряд, причем быстро Получается несколько одинаковых одновременных тем Исправляем: файл cache/lang_cahe/*/lang_error.phpдобавить'double_topic' => "Такая тема уже существует: <#DOUBLE#>", файл sources/ipsclass.phpнайти //----------------------------------------- // Extra info? //----------------------------------------- if ($error['EXTRA']) { $msg = preg_replace( "/<#EXTRA#>/", $error['EXTRA'], $msg ); } добавить после //double topic if ($error['DOUBLE']) { $msg = preg_replace( "/<#DOUBLE#>/", $error['DOUBLE'], $msg ); } файл sources/classes/post/class_post_new.phpнайти //----------------------------------------- // Fix up the topic title //----------------------------------------- $this->ipsclass->input['TopicTitle'] = $this->pf_clean_topic_title( $this->ipsclass->input['TopicTitle'] ); $this->ipsclass->input['TopicTitle'] = $this->parser->bad_words( $this->ipsclass->input['TopicTitle'] ); $this->ipsclass->input['TopicDesc'] = $this->parser->bad_words( $this->ipsclass->input['TopicDesc'] ); добавить после $this->ipsclass->DB->simple_construct( array('select' => 'tid,title', 'from' => 'topics', 'where' => 'state=\'open\'', ) ); $this->ipsclass->DB->simple_exec(); while ($title = $this->ipsclass->DB->fetch_row()) { if ($this->ipsclass->input['TopicTitle'] == $title['title']) { $double = "<a href=\"{$this->ipsclass->board_url}index.php?showtopic=".$title['tid']."\">".$title['title']."</a>"; $this->ipsclass->Error( array( LEVEL => 1, MSG => 'double_topic', DOUBLE => $double) ); } } такое исправление позволит не только избежать одновременных дублирующихся тем, но и неодновременных, с одинаковым названием Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.