Автор Гілка: Склеювання повідомлень  (Прочитано 1942 раз)

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Пропоную адміністрації замість видавання попереджень за 5 повідомлень підряд написати код для склеювання повідомлень. Це буде дуже зручно для користувачів. Працює воно так:
- перед доданням повідолмення до бази даних перевіряється, чи останній пост у темі не належить тому самому користувачу і чи дата цього посту, наприклад, менше доби від поточної дати.
- якщо так, то замість запиту INSERT робимо запит UPDATE - зчитуємо останнє повідомлення, додаємо до нього нову частину, робимо UPDATE posts SET text = "..." WHERE post_id = ...
- якщо ні - робимо стандартне додавання повідомлення до бази - INSERT

- також корисно додавати між кожною частиною склеєного посту фразу "Дописано о ...(дата/час)"
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Склеювання повідомлень
« Відповідей #1 : 2007-05-27 00:39:02 »
Часом дублювати пости необхідно. Я особисто в цьому нічого поганого не бачу, а перебори можна або руками зліпити, або в й біореактор відправити. IMO краще тут на здоровий глузд користувачів покладатись, ніж на подібні заходи. Nickispeaki2 свою зірку сьогодні заробив, але за інше.

Praporshic

  • Гість
Re: Склеювання повідомлень
« Відповідей #2 : 2007-05-27 01:07:07 »
- якщо так, то замість запиту INSERT робимо запит UPDATE - зчитуємо останнє повідомлення, додаємо до нього нову частину, робимо UPDATE posts SET text = "..." WHERE post_id = ...
- якщо ні - робимо стандартне додавання повідомлення до бази - INSERT
Пан, як видно, зовсім не здогадується, що YaBB не використовує жодну СКБД. Навіть sqlite.
« Змінено: 2007-05-27 01:07:37 від Praporshic »

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Склеювання повідомлень
« Відповідей #3 : 2007-05-27 01:20:53 »
- якщо так, то замість запиту INSERT робимо запит UPDATE - зчитуємо останнє повідомлення, додаємо до нього нову частину, робимо UPDATE posts SET text = "..." WHERE post_id = ...
- якщо ні - робимо стандартне додавання повідомлення до бази - INSERT
Пан, як видно, зовсім не здогадується, що YaBB не використовує жодну СКБД. Навіть sqlite.
it doesn't matter. хоча оновити файл трохи складніше, ніж запис у базі.
« Змінено: 2007-05-27 01:21:45 від noddeat »
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Склеювання повідомлень
« Відповідей #4 : 2007-05-27 03:58:15 »
Нема чого і сперечатись, яскравий приклад необхідності двох окремих повідомлень підряд: http://linux.org.ua/cgi-bin/yabb/YaBB.pl?num=1155307919/18#18

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Склеювання повідомлень
« Відповідей #5 : 2007-05-27 15:16:16 »
Нема чого і сперечатись, яскравий приклад необхідності двох окремих повідомлень підряд: http://linux.org.ua/cgi-bin/yabb/YaBB.pl?num=1155307919/18#18
не бачу причини чому ці повідомлення не склеїти в одне, з розділювачем якимсь. Єдине що, склеювання довгих повідомлень не дозволить зручно поділити тему на сторінки, але можна, наприклад, довгі повідомлення не склеювати, лише короткі.
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Склеювання повідомлень
« Відповідей #6 : 2007-05-28 11:57:11 »
Ніхто не забороняє стягнути код YaBB, підправити його так як вважаєте за потрібне і запропонувати вже готові зміни.
[Fedora Linux]

Praporshic

  • Гість
Re: Склеювання повідомлень
« Відповідей #7 : 2007-05-28 12:52:51 »
Але не завжди з того щось виходить. Моя доробка CAPTCHA тому приклад  :'(