Quick Reply phpBB 3.0.6 доработка встроенного быстрого ответ

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 21 год 2 месяца
Поблагодарили: 44 раза

Quick Reply phpBB 3.0.6 доработка встроенного быстрого ответ

Сообщение Rayden »

Внимание: данная тема описывает доработку встроенного быстрого ответа phpBB 3.0.6.
Не путать с модами быстрого ответа!


Почитав вот эту тему: Quick Reply 3.0.6
Почитав вот эту тему: Доработка Quick reply for phpBB3 (rxu)
И естессно, вот эту тему: Quick reply for phpBB3 - Быстрый ответ

Понабрав идей и скриптов, добавив кое-что свое, пришел к выводу, что встроенный в phpBB 3.0.6 быстрый ответ вполне можно довести до ума.
Вот что получилось:
1. Добавил в быстрый ответ панель смайлов и панель кнопок ббкода. И то и другое можно отключать через админку.
2. Добавил кликающиеся ники. (в просилвере рекомендуется использовать дополнительную иконку для ссылки на профайл)
3. При нажатии на ник в просилвере автоматически открывается быстрый ответ.
4. После вставленного ника курсор не переводится на новую строку.
5. Добавил в сабсилвер и просилвер кнопки "быстрая цитата" (английские и русские).
6. При нажатии на кнопку "быстрая цитата" в просилвере, если выделен текст, открывается быстрый ответ
7. При нажатии на кнопку "быстрая цитата" если цитируемый текст не выделен, то открывается окошко с предупреждением, что надо выделить текст.
qr306_1.0.2b.zip
тестируйте
На полное авторство не претендую, так как кроме своего кода активно использовал наработки из вышеприведенных тем. Кого гложет чистолюбие, могу добавить в авторы :)
Пофиксенный файл - qr306_1.0.2a.zip. Кто успел скачать до этого, инструкция по исправлению двумя постами ниже.

Опять файл изменен - qr306_1.0.2b.zip. В предыдущем была небольшая ошибка в инструкции.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Поручик 20.01.2010 12:32, всего редактировалось 1 раз.
Причина: Редактирование названия темы
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
NRJ
phpBB 1.4.0
Сообщения: 35
Стаж: 20 лет 2 месяца
Откуда: Home Net Telecom
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Re: Quick Reply phpBB 3.0.6 доработка

Сообщение NRJ »

Кстати, хорошо было бы добавить, чтобы в функции кликающегося ника в форму быстрого ответа вставлялась запятая.

Сейчас:

Код: Выделить всё

[b]%username%[/b]
Было бы не плохо:

Код: Выделить всё

[b]%username%[/b],
Добавлено спустя 5 минут 21 секунду:
Так мод рабочий, спасибо! Правда, вывод кнопки быстрой цитаты в шаблоны стилей не вставлял - в данной функции потребности нет.

Добавлено спустя 6 минут 57 секунд:
Rayden, а не подскажите заодно, какую часть кода вырезать, связанную с кнопкой быстрая цитата?
I'm strange... Maybe negative...
OleLykoye
phpBB 1.2.0
Сообщения: 10
Стаж: 16 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка

Сообщение OleLykoye »

Здравствуйте. поставил доработку. но не показывается кнопка "Быстрая цитата". Стиль - Сабсильвер2. Сама форма БО показывается и настройки в админке работают, а кнопки нет. Проверял вроде все. обновлял и чистил шаблоны. viewtopic_body.html - ставил с нуля думал проблема в нем. (хотя так и думаю до сих пор) но ничего не помогло. Может есть идеи еще?. Кстати такой вопрос а в сабсильвере можно чтобы БО был свернут?
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

А на phpBB 3.0.9 будет работать?
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

А куда кидать папку contrib и файлы modx.prosilver.en.xml, qr3.0.6.xml?
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

Поставил как было написано в qr3.0.6.xml, в пхп-файлы добавил строчки, но ничего не изменилось - ни на форуме ни в админке
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

Кэш шаблонов очистил, и всё равно ничего...
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

Я вот так делал:
Сначала импортировал изображения, потом правил пхп-файлы:
Открыл language/ru/viewtopic.php
После строчки 'NO_OLDER_TOPICS' (там она длиннее была) сделал отступ на следующую и там вставил

Код: Выделить всё

'NO_SELECTION'			=> 'Для вставки цитаты выделите нужный текст мышью.',
После строчки'QUICKREPLY' на следующей вставил

Код: Выделить всё

'QUICKQUOTE_TEXT'		=> 'Цитата выделенного текста',
После строчки 'QUOTE' вставил

Код: Выделить всё

'QUOTE_USERNAME'		=> 'Вставить имя пользователя',
Ну и по аналогии в остальных:
language/ru/acp/board.php
language/ru/acp/styles.php
styles/prosilver/imageset/ru/imageset.cfg
styles/subsilver2/imageset/ru/imageset.cfg (ну сfg-файлы не редактировались в файловом менеджере, поэтому просто скачал их добавил строчки и заменил оригинал)


Смайлы, бб-коды и быстрый ответ разрешены.
Последний раз редактировалось FEAR93 12.12.2011 20:37, всего редактировалось 1 раз.
Причина: BBCode
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

Я имею ввиду, что они и были разрешены. Но при быстром ответе смайлы и бб-коды так и не отображаются
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

аа... кодировка... Наверн надо было через пхп май админ делать...
Orion45
phpBB 1.2.0
Сообщения: 11
Стаж: 14 лет 9 месяцев

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Orion45 »

HAMMER663 писал(а):что ты собрался через pma делать?
да я предположил просто... В мануале по модам просто написано:
Для выполнения SQL-запросов Вы можете воспользоваться любым менеджером работы с БД (например, phpMyAdmin).
P@S@f
phpBB 1.0.0
Сообщения: 5
Стаж: 15 лет 6 месяцев
Поблагодарили: 2 раза

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение P@S@f »

Пробовал поставить на phpBB 3.0.8, стиль Hestia blue (основан на subsilver2), отредактировал только quickreply_editor.html - форма быстрого ответа не изменилась!
pavel.ignatenko
phpBB 1.4.0
Сообщения: 34
Стаж: 15 лет 10 месяцев
Благодарил (а): 8 раз
Поблагодарили: 3 раза

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение pavel.ignatenko »

Хочется немного доработать быстрый ответ.
Чего именно хочется:
1. Чтобы в текст цитаты вставлялась ссылка на саму цитату.
И если для обычного (не быстрого ответа) это решилось заменой части кода в posting.php

Код: Выделить всё

		$message_parser->message = '[quote="' . $post_data['quote_username'] . '"]' . censor_text(trim($message_parser->message)) . "[/quote]\n";

Код: Выделить всё

		$message_parser->message = '[quote="' . '[url=' . generate_board_url() . "/viewtopic.$phpEx?p=$post_id#p$post_id" . ']' . $post_data['quote_username'] . ' » ' . $user->format_date($post_data['post_time']) . '[/url]' . '"]' . censor_text(trim($message_parser->message)) . "[/quote]\n";  
В случае же быстрого ответа вызывается функция addquote

Код: Выделить всё

<!-- IF postrow.U_QUOTE --><li class="quote-icon"><!-- IF not S_QUICK_REPLY --><a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>{L_REPLY_WITH_QUOTE}</span></a><!-- ELSE --><a href="#postform" onclick="addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}"><span>{L_QUOTE}</span></a><!-- ENDIF --></li><!-- ENDIF -->
которая есть часть стиля prosilver и которая находится в файле editor.js

Но моих познаний не хватает на то, чтобы имплементировать часть кода в этот кусок яваскрипта :(

Кроме вставки ссылки на цитату очень хочется сделать так, чтобы в случае "невыделения" текста после нажатии на кнопку "Цитата" полностью вставлялось всё сообщение. И совсем уж хочется, чтобы с учетом разрешенных уровней вложенности.

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

Спасибо.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Pazh »

VVVas писал(а):В Safari 5.1.1 под Windows 7 32bit не происходит скрол к форме быстрого ответа при вставке ника и цитаты. В IE9, FF8, Opera11 — всё в порядке. Так у всех или где-то косяк? Для Safari это как-то лечиться? Или тупо a name надо ставить?
Лечится через jquery например так:
В overallheader.html найти:

Код: Выделить всё

</head>
Добавить перед:

Код: Выделить всё

<script type="text/javascript">
  $(document).ready(function() {
    $("a.ancLinks").click(function () {
      elementClick = $(this).attr("href");
      destination = $(elementClick).offset().top;
      if($.browser.safari){
        $('body').animate( { scrollTop: destination }, 1100 );
      }else{
        $('html').animate( { scrollTop: destination }, 1100 );
      }
      return false;
    });
  });
</script>
Найти во viewtopic_body.html (таких мест 2 - добавить в оба):

Код: Выделить всё

<a href="#postform"
Добавить после:

Код: Выделить всё

class="ancLinks"
В итоге получите плавное перемешение в Быстрый ответ и из имени юзера и из кнопки Быстрая цитата. У кого стоит еще Быстрый ответ через всплывающее окно, то там еще нужно дописать маленьки кусочек в функцию quick_quote
Найти:

Код: Выделить всё

$('a', qrAlert).mousedown(function() {insert_text('[quote="' + pauthor + '"]' + sel + '[/quote]\r\n'); qrAlert.remove();

Добавить после:

Код: Выделить всё

destination = $("#postform").offset().top; if($.browser.safari){$('body').animate( { scrollTop: destination }, 1100 ); }else{		$('html').animate( { scrollTop: destination }, 1100 );  }
Последний раз редактировалось HAMMER663 12.12.2011 11:04, всего редактировалось 1 раз.
Причина: Не в viewtopic.php, а в viewtopic_body.html
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Pazh »

misterleks писал(а):нужно подключать библиотеку jquery? Без неё скрипт не сработает?
Ну если написано про пример на JQuery, то соответственно библиотеку нужно подключить
misterleks писал(а):И есть ли решения без излишних библиотек?
psywalker.ru/Forum/JS/Primitive/Dom-Zadachi/Scroll/3.html - вот добрый люди написали (из кода страницы сможете вычленить что нужно?)
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Quick Reply phpBB 3.0.6 доработка встроенного быстрого о

Сообщение Pazh »

misterleks
Найти во viewtopic_body.html (таких мест 2 - добавить в оба):

Код: Выделить всё

<a href="#postform"
Добавить после:

Код: Выделить всё

name="quick_reply"
В overall_footer.html найти:

Код: Выделить всё

<div id="wrapfooter">
Добавить после:

Код: Выделить всё

	<!-- IF S_QUICK_REPLY -->
	<script type="text/javascript">
		var aLink = document.getElementsByName('quick_reply');
		var pf = document.getElementById('postform');
		for(var i=0;i<aLink.length;i++){
			aLink[i].time;
			aLink[i].onmouseup = function(){
				function klick(a){
					a.time = setInterval(function(){
						scrollY = 0;    
						if (typeof window.pageYOffset == "number") {
							scrollY = window.pageYOffset;
						} else if (document.documentElement && document.documentElement.scrollTop) {
							scrollY = document.documentElement.scrollTop;
						}  else if (document.body && document.body.scrollTop) {
							scrollY = document.body.scrollTop; 
						} else if (window.scrollY) {
							scrollY = window.scrollY;
						}
						if(scrollY >= pf.offsetTop-60){clearInterval(a.time); a.scr = a.offsetTop;return;}
						window.scrollBy(0,40);
					},20);
				}
				klick(this);
			}
		}
	</script>
	<!-- ENDIF -->
Аналогичный результат только без jquery - плавный скроллинг в окно быстрого ответа.
Тестировалось на FF 8.0, IE 6, Safari 5.1.2, Opera 11.5, Chrome 15
Последний раз редактировалось Pazh 13.12.2011 9:44, всего редактировалось 2 раза.
Помощь в ЛС/email только за WM или ЮMoney

Вернуться в «Бета-версии модов для phpBB 3.0.x»