Перейти к контенту

Рекомендуемые сообщения

http://www.ibresource.ru/db/922/ - оно.

 

ну потому что обычная быстрая (если взять технологию её из 1.х, не знаю как сделана быстрая в 2.х, поэтому и утверждать не берусь) цитата обходится только лишь ява-скриптом без обращений к базе вообще.IPB 2.x очень перегружен ажаксом и не надо думать, что раз это не технология с перезагрузкой, то это никак не отображается на нагрузке сервака.В быстрой цитате вообще желательно не обращаться к серваку. На то она и быстрая.Всё остальное в двухе уже сделано: кнопки +/- и кнопка "Ответить".

Догнал откуда весь спор возник. Да, "быстрая цитата" на ajax никакая не быстрая. Потому и мод назвал "МультиЦитата в быстром ответе". Имеется в виду что не нужно жать на ответить и грузить целую страницу новую, всё появляется в быстром ответе. И в этом плане действительно получается что она быстрее(не надо перезагружать страницу и меньше кода выполняется) и не капает трафик соответственно. Но есть минус, связанный с популярностью мультицитаты, выше писал уже.

 

Имхо если делать через яваскрипт, то прийдётся немного добавлять в скины елементом чтобы легче находить нужное, а это опять же трафик и неуниверсальность. Разве это лучше?

Изменено пользователем Sannis
Ссылка на комментарий
Поделиться на других сайтах

и не капает трафик соответственно

Ajax также трафик тратит.

 

Имхо если делать через яваскрипт, то прийдётся немного добавлять в скины елементом чтобы легче находить нужное, а это опять же трафик и неуниверсальность. Разве это лучше?

Там все эти метки уже есть, а иначе бы не могло работать быстрое редактирование.

Ссылка на комментарий
Поделиться на других сайтах

Ajax также трафик тратит.
Я ж не батон) Имел в виду что меньше трафика. Раз в 10 %) Даже на локалке замечаю разницу грузить страницу ответа или модом. Правда у меня комп загружен.

 

Там все эти метки уже есть, а иначе бы не могло работать быстрое редактирование.
А ник автора и дата поста?) Это уже посложнее и может не прокатить.

 

P.S. Полюбому javascript+regex для меня пока что не под силу, и так пухну...

Изменено пользователем Sannis
Ссылка на комментарий
Поделиться на других сайтах

ты видимо рассматриваешь все фишечки к форуму исключительно исходя из их "крутости". Ну типа ажакс популярен в последнее время в модах IPB, удобен, ну значит его везде где можно нужно вставить, а потом всем сказать, смотрите какой у меня форум: и тут ажакс и тут ажакс..

Сторона работы с сервером тебя видимо мало беспокоит.

 

Можно сделать, что при быстрой цитате будет 1 запрос к базе, и при этом нельзя будет прочитать сообщения из скрытого форума :D. Можно сделать и без запросов, и без подключения к БД. Так почему это не оптимизация когда при нажатии на "цитата" в старой версии происходит переход на следующую страницу, который выполнит этих запросов десяток, а в новой версии для такой мелочи как цитата во-первых не надо переходить на новую страницу, во-вторых - использовать 1 запрос к базе, а не 10? ;) (мы рассматриваем ту цитату, которая копирует еще и бб-коды, джаваскриптовая, что работает через выделение - может не подойти пользователю, но можно и ту оставить, и ту). http-запросов тоже в старой версии может оказаться больше, зависит от ситуации. Так что твои обвинения в мою сторону, что я не думаю о нагрузке - неправда :). В данном случае ajax оптимальнее обойдется ).

Ссылка на комментарий
Поделиться на других сайтах

Можно сделать, что при быстрой цитате будет 1 запрос к базе, и при этом нельзя будет прочитать сообщения из скрытого форума :D.

Да ладно? ;)

Ссылка на комментарий
Поделиться на других сайтах

Так что твои обвинения в мою сторону, что я не думаю о нагрузке - неправда

Не, ну я ж сразу сказал, что это лишь только мои доводы, а весь остальной текст - их обоснование. Ни кого я не обвиняю и не стараюсь приобщить к моему мнению.

 

Так почему это не оптимизация когда при нажатии на "цитата" в старой версии происходит переход на следующую страницу, который выполнит этих запросов десяток, а в новой версии для такой мелочи как цитата во-первых не надо переходить на новую страницу, во-вторых - использовать 1 запрос к базе, а не 10?

Ну эт смотря как делать.

Если делать правильно, то перед тем как выдавать пост для цитаты надо заселектить все те же запросы, что делает обычная цитата. Иначе просто не проверишь, а можно ли юзеру цитировать данный пост. Поэтому одним-то запросом не обходится.

Конечно в 2.х есть кеш, и я не знаю что там выполняется, но всё-равно овчинка выделки не стоит ИМХО.

 

джаваскриптовая, что работает через выделение - может не подойти пользователю

Выше в моём посте я как раз её имел ввиду.

Не знаю, что за требования такие у меня никогда не было потребности соблюсти в цитате полное начертание поста.

Может только у меня..

 

Да, можно ...

Ну само собой, ты можешь наджойнить этих запросов все в один, сделав мешанину. Только ведь тоже самое ты всё можешь сделать в обычной цитате. Там эти запросы разнесены для удобства проверок, читабельности кода и в связи с особенностями наследования класса Post.

Вот и получается, что запросов-то собственно одно и тоже количество (если извернуться) и в той цитате и в той цитате. И никакого выйгрыша не вижу. А проигрыш вот: в данном моде вся цитата в виде нагромождения BB тегов (раз отказываемся от ява-скриптовой) попадает в крохотную текст-эрию формы быстрого ответа, в которой оно даже не умещается. Надо ли говорить, что отвечать так неудобно?

Ссылка на комментарий
Поделиться на других сайтах

С самого начала наблюдаю за темой и не могу понять чем вам не подходит обычная цитата при нажатии на никней. По сути тоже самое, только удобней, так как вы цитируете только выдиленный текст а не полностью весь пост пользователя.
Ссылка на комментарий
Поделиться на других сайтах

С самого начала наблюдаю за темой и не могу понять чем вам не подходит обычная цитата при нажатии на никней. По сути тоже самое, только удобней, так как вы цитируете только выдиленный текст а не полностью весь пост пользователя.

Во-первых мультицитата требовалась. А выдель кучу кусочков+кликать долше чем кликать один раз. К тому же так можно использовать механизм мультицитаты форума, цитировать посты с разных страниц темы, а если выделением вставлять, то нужно будет ещё и копировать при переходе по страницам или дополнительный скрипт вешать коего я ни у кого не видел пока что ;)

 

Во-вторых (тут моё мнение различается с мнениями некоторых участников дискуссии) может потребоваться при цитировании сохранять форматирование. Неприятно, когда при цитировании выделением приходится либо удальть рудименты типа "Код" или "Цитата" или дописывать оформление :D

 

P.S. Всё вышесказанное мной не означает, что цитата выделенного является плохой. Она очень хороша для ускорение процесса цитирования. Но она по смыслу отлична от того что обсуждается здесь :)

Ссылка на комментарий
Поделиться на других сайтах

Ну само собой, ты можешь наджойнить этих запросов все в один, сделав мешанину.

 

Ты меня наверно за идиота принимаешь :). Вовсе не так, и без кеширования ничего в оперативную память. Будет один запрос:

SELECT post_date, post, author_name FROM ibf_posts WHERE pid=###

 

С яваскриптовой цитатой текст цитируется не такой как написан, это значит пропадает форматирование текста и смайлики (если фаефокс, то прибавляется еще альт-текст "emoticon", ну это можно изменить на код смайла) и то, что указал Sannis. Если нужно процитировать весь текст поста (может не большой пост) - надо выделять и нажимать, а так просто нажал. Это тоже есть недостатки... В ИПБ 2.х есть и ява-скрипт цитата, и обычная (но не на ajax, а с открытием полной формы ответа). Так вот можно обычную цитату сделать на ajax. Запрос при цитировании будет 1 + нет неудобных переходов между страницами. Даже с цитатой 2.х стиля +Цитата можно поступить таким образом: сначала отмечаются посты как и раньше (при этом можно отказаться от КУКИСов, а это уменьшение http-запроса :D ), потом над формой ответа или где-то рядом появляется кнопка "вставить цитаты" и при нажатии аджаксом подгружаются. Кнопку для обычной цитаты ( такую - http://www.ibresource.ru/forums/style_imag...rv2/p_quote.gif ) можно переделать: если выделен текст, то он цитируется яваскриптом, а если текст не выделен, то запрос аякс на цитату.

 

Конечно для полного счастья надо сделать так же и загрузку расширенной формы ответа (вместо "маленькой"), черновик как в гугле (чтобы можно было бегать по страницам и цитировать; или для этого альтернатива - мод как у винграда быстрый переход по страницам ;), но я тоже такое не поддерживаю, тем более ниодного, что я указал здесь у них не сделано) и предпросмотр, но это уже другие вопросы.

 

Еще очень хорошо удалить перед цитированием вложенные цитаты и преборазовать пост как я уже указывал

 

цитата 1

какой-то текст ответ на цитату 1

цитата 2

какой-то текст 2

...

цитату n

какой-то текст n

 

В форму быстрого ответа копируется как:

 

какой-то текст ответ на цитату 1

здесь уже юзер пишет сообщение

какой-то текст 2

...

какой-то текст n

...

 

 

Обычно добросовесный юзер стирает такие вложенные цитаты сам (недобросовесный так и оставляет потому что ему лень или любитель оверквотинга ]:->). Так лучше будут восприниматься сообщения (хотя не всегда) и будут меньше по размеру. Уж эти факты перекрывает те единичные случаи когда действительно надо цитату в цитате процитировать. Хотя такие тоже могут быть :).

Ссылка на комментарий
Поделиться на других сайтах

Hostem, мод о котом мы здесь говорим я ещё вчера в архив выложит, так же как и мод для цитаты только одного сообщения :D Со стиранием вложенных если настроено, со всем форматированием, с ником и датой в цитате и т.д. Ссылки для соответствующих действий как раз как вы описали, кроме разве что "если выделен текст, то он цитируется яваскриптом, а если текст не выделен, то запрос аякс на цитату". Мод расширенного ответа для 2.1 есть, для 2.2 вроде функционал и так нормальный...

 

P.S. И всё равно интересно как одним запросом вы собираетесь обеспечить выполнение ограничений...

Ссылка на комментарий
Поделиться на других сайтах

Ты меня наверно за идиота принимаешь . Вовсе не так, и без кеширования ничего в оперативную память. Будет один запрос:

Так писать это верх невежества.

Ибо я подменю этот pid и узнаю возможно скрытую информацию.

А поэтому надо сначала заселектить read_perms (в 1.х) и сначала проверить.

В 2.х такая инфа есть в кеше (у меня к слову тоже кеш есть по этому делу), поэтому достаточно проверить по кешу. Но это означает, что запроса по read_perms и в основном цитировании нет.

Я всё ещё не понимаю в чём мы бережём запрос.

Кончено мы бережём те запросы, что в index.php идут (те же кеши), это безуслово, но с этим считаться.. Я не знаю как ajax сделан в 2.х мне кажется, что при его инициализации там просходит вся та же стартовая подготовка (кеши, скины, ланги и пр.) (не зря ж там идёт через act=xxx) т.е. всё равно запросы выполняются.

 

Получается, что выгода чисто визуальная - "нет неудобных переходов между страницами".

Ну это для кого как. Мне по удобству очень часто полная цитата. Хотя бы потому, что там поле больше и подготавливать пост удобней.

 

P.S. И всё равно интересно как одним запросом вы собираетесь обеспечить выполнение ограничений...

Да никак. Он предлагает на них забить.

Ссылка на комментарий
Поделиться на других сайтах

Song, если не знаешь, то лучше молчи :D. Я не предлагаю такого варианта, когда подменяешь pid и можно прочитать пост скрытого форума. Еще раз повторяю: можно сделать так, что без запроса к инфе о форуме, без запроса к инфе о мембере, без запроса к инфе о топике (если там какие-то ограничения стоят) - можно используя ajax проверить нужно ли выдавать это сообщение.

 

Если внимательно подойти к вопросу... Перед тем как вывести кнопку "цитата" напротив сообщения мы ее выводим тому, кому надо (тут уже нужно сделать соответствующие запросы), раз так то введем в запрос ajax дополнительный хеш по входным параметрам (т.е. будет дополнительная функция, никому точно неизвестная). На стороне ajax по той же функции проверяется совпадают ли параметры (номер поста или форума допустим) с хеш-суммой от этих параметров. В качестве параметров можно использовать текущий месяц, придуманный "ключ", о котором никто не узнает и т.д.

 

Т.е. загружаем тему, в ней идут посты, $pid - номер поста... ссылка на цитату будет исполнять аякс-запрос для цитаты, который передает параметры серверу "pid=$pid&checksum=".checksum($pid).

На стороне аякс выполняется проверка

 

if ($checksum!=checksum($pid))

{

...цитату нельзя выводить

}

 

(здесь $checksum и $pid - то, что передается через аякс)

 

Простейший пример функции checksum:

function checksum($pid)

{

return md5("!@$%#KEY".$pid);

}

 

Тут несколько условий:

- Функцию checksum никто кроме админа не должен знать

- Если md5 используется, то так чтобы не расшифровали, т.е. просто md5($pid) не писать ;).

- Желательно как-то закрывать доступ тем, кто имел доступ к разделу, но лишился его. Как вариант - использовать дату (самый простой, но имеет пару недостатков), остальные - сложнее.

Ссылка на комментарий
Поделиться на других сайтах

Song, если не знаешь, то лучше молчи

Хорошо. Самоликвидируюсь из этой темы.

Даже читать твой пост дальше не буду.

 

Зааджаксите хоть весь форум.

Пойду сделаю быстрый ответ на аджаксе. Вот это действительно нужная и удобная вещь.

Ссылка на комментарий
Поделиться на других сайтах

Сомневаюсь, что не прочитал и наверно сам решил так сделать, ну ладно :D...

 

Способ без подключения к БД (если нет таких тегов, которые нельзя обратно преобразовать)

1. Обрамляем посты дивами. (в 2.х уже обрамлены)

2. Запрос аякс заключается в следующем - вытаскиваем текст поста джаваскриптом и передаем через аякс текст поста без тегов. Потом пользуемся функцией обратного преобразования.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
А возможно ли сделать функцию мультцитирования для IPB 1.3 так, чтобы существовали кнопки Цитата+ и Цитата- и при их нажатии в ответ парсились выбранные посты в цитатах?
Ссылка на комментарий
Поделиться на других сайтах

  • 5 месяцев спустя...
Можно всё. В форму быстрого ответа, или как в новых версиях?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.