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

[2.1.x]Набор функций для никнеймов для IPB 2.1.X


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

Только это не в шаблонах надо делать а в топикс.пхп. Сделать условие на проверку гость ли это.

 

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

 

if ($this->ipsclass->member['mgroup'] == 2 or $this->ipsclass->member['mgroup'] == 1 or $this->ipsclass->member['mgroup'] == 5)

 

 

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

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

  • Ответы 221
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Sannis, ну ты меня растрогал :D))

 

AEC сделай лутше проверку на форму ответа то что сделал Саннис. Там идёт срауз проверка на всё что только можно: проверка разрешений писать в тему, проверка на закрытие темы. проверка на наличие формы быстрого ответа и на проверку если эта тема только для голосования. Тогда нет смысла уже проверять на группу.

 

Насчёт фокусировки - это очень легко и обсуждалось в теме, я этого не делал принципиально так как считаю это не удобным - на практике при ответе мы часто цитируем не 1 фразу и не одного автора. Это будет мешать.

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

Помню это был первый установленный мной мод.

Кому надо поймёт:

		//-----------------------------------------
	// Enable quick reply box?
	//-----------------------------------------

	if (   ( $this->forum['quick_reply'] == 1 )
	   and ( $this->ipsclass->check_perms( $this->forum['reply_perms']) == TRUE )
	   and ( $this->topic['state'] != 'closed' )
	   and ( ! $this->poll_only ) )
	{

:D

 

 

если четно никак не въеду, как правильно применить предложенное условие к данной модификации:

 

./sources/action_public/topics.php

 

$poster['members_display_name']=str_replace( array(" ", "'"),
										 array(" ", "'"), $poster['name']);
$poster['members_display_name']="<a onmouseover=\"copyQ('{$poster['name']}','{$quote_info}', '{$row['pid']}');this.style.cursor='hand';\" onClick=\"java script:Show('qr_open','qr_closed');java script:pasteQ();\" title=\"{$ibforums->lang['tt_reply_to_post']}\">{$this->ipsclass->cache['group_cache'][ $poster['mgroup'] ]['prefix']}{$poster['members_display_name']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}</a>";

 

 

./jscripts/ipb_topic.js

 

//==========================================
// Insert member name
//==========================================
function ins(name)
{
var input=document.REPLIER.Post;
input.value=input.value+"[b]"+name+"[/b]"+" \n";
}

//==========================================
// Open fast reply
//==========================================

function Show(id1, id2)
{
  if( id1 != '') {
 if ( itm = my_getbyid(id1) )
 {
   my_show_div(itm);
 }
  }
}

//==========================================
// Prepare quick quote
//==========================================

function copyQ(qinf,date,pid)
{
txt=''
if (document.getSelection)
{
txt=document.getSelection()
}
else if (document.selection)
{
txt=document.selection.createRange().text;
}
if (txt.replace(" ","") != "")
{
txt='[quote name="'+qinf+'" post='+pid+']\n'+txt+'\n[/quote]\n'
}else
{
	txt="[b]"+qinf+"[/b]"+", \n"
}
}

//==========================================
// Paste quick quote
//==========================================

function pasteQ()
{
if(document.REPLIER.Post)document.REPLIER.Post.value += txt
}

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

./sources/action_public/topics.php

 

$poster['members_display_name']=str_replace( array(" ", "'"),
										 array(" ", "'"), $poster['name']);
$poster['members_display_name']="<a onmouseover=\"copyQ('{$poster['name']}','{$quote_info}', '{$row['pid']}');this.style.cursor='hand';\" onClick=\"java script:Show('qr_open','qr_closed');java script:pasteQ();\" title=\"{$ibforums->lang['tt_reply_to_post']}\">{$this->ipsclass->cache['group_cache'][ $poster['mgroup'] ]['prefix']}{$poster['members_display_name']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}</a>";

 

Станет примерно таким:

 

		if (   ( $this->forum['quick_reply'] == 1 )
	   and ( $this->ipsclass->check_perms( $this->forum['reply_perms']) == TRUE )
	   and ( $this->topic['state'] != 'closed' )
	   and ( ! $this->poll_only ) )
	{ // Если отвечать можно, рисуем ник со сцылом вставляюшим цитату
		$poster['members_display_name']=str_replace( array(" ", "'"),
										 array(" ", "'"), $poster['name']);
$poster['members_display_name']="<a onmouseover=\"copyQ('{$poster['name']}','{$quote_info}', '{$row['pid']}');this.style.cursor='hand';\" onClick=\"java script:Show('qr_open','qr_closed');java script:pasteQ();\" title=\"{$ibforums->lang['tt_reply_to_post']}\">{$this->ipsclass->cache['group_cache'][ $poster['mgroup'] ]['prefix']}{$poster['members_display_name']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}</a>";
	}else{ // Иначе - просто выводим раскрашенный ник
		$poster['members_display_name'] = "{$this->ipsclass->cache['group_cache'][ $poster['mgroup'] ]['prefix']}{$poster['members_display_name']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}";
	}

Ну или что-то вроде того получится... смысл такой, мне кажется... :D

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

  • 4 недели спустя...

Може есть у кого нибудь кнопка на замену кнопке "Карточка"? Хочется, чтобы там было написано не "Карточка" а "Профиль" ;)

 

Ну чтож, раз никто помочь не хочет, нарисовал кнопку сам :D

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

  • 4 месяца спустя...
  • 3 месяца спустя...

Оффтопик удаляется (:

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

  • 1 месяц спустя...

Пожалуйста, помогите с установкой картинок груп для ИПБ2.3.6

Я ставлю вот к примеру:

 

<if="author['mgroup'] == '4'">

<img src='http://community/gallery/admin.gif''><br />

</if>

 

а мне выдает:

 

Эти шаблоны не могут быть сохранены, так как найдена ошибка при парсинге. Проверьте введенный HTML-код и все входящие переменные.

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

<if="$author['mgroup'] == $this->ipsclass->vars['admin_group']">
<img src='http://community/gallery/admin.gif''><br />
</if>

В 2.3 изменился формат условий, нужно писать $, как в обычном PHP.

 

А может проще сделать через суффикс/префикс имени в настройках групп? :D

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

Ну, подскажи пожалуйста ;)

Про префиксы? :Dhttp://floomby.ru/content/qyqmB6MsHk/ - можно дописать туда каринку.

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

Не, в таком случае пропадут pip-иконки, а я этого не хочу.

Я уже разобрался, спасибо тебе, но немогу вкурить, как правильно через "или"("or") записать

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

Так и писать, or или ||.

 

Почему они пропадут? :D

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

Хе, это ж надо, сделал что-то 2 года назад и до сих пор люди пользуються, хотя оно было для 2.1.х :D Чтоли обновить-дополнить...
Ссылка на комментарий
Поделиться на других сайтах

Ну, сколько я себя знаю, они всегда заменяли pip-иконки.

Ты шо, эт мой любимый мини-мод, который должен на всех форумах быть! :D

Тебе скоро надо будет для третей версии ИПБ его портировать.

 

Я написал вот так:

<if="$author['mgroup'] <> 4 || $author['mgroup'] <> 11 || $author['mgroup'] <> 23">
			{$author['member_group']}<br />
</if>

И нифига вообще. Условие всегда = true

Через or тот же результат.

 

Вот такая вот кака у меня пока(чуть позже, изменю все пути к файлам):

 

				{$author['title']}<br />
			{$author['member_rank_img']}<br />
					{$author['awards_img']}<br />

<if="$author['mgroup'] == 4">
<img src='http://community.animeshka.net/uploads/1231537825/gallery_1328_282_593.gif'><br /><br />
</if>

<if="$author['mgroup'] == 23">
<img src='http://community.animeshka.net/uploads/1231537825/gallery_1328_282_1355.gif'><br /><br />
</if>

<if="$author['mgroup'] == 11">
<img src='http://community.animeshka.net/uploads/1231537825/gallery_1328_282_2909.gif'><br /><br />
</if>

<if="$author['mgroup'] <> 4 || $author['mgroup'] <> 11 || $author['mgroup'] <> 23">
			{$author['member_group']}<br />
</if>

			{$author['member_posts']}<br />
			{$author['member_joined']}<br />
			{$author['member_location']}
			{$author['member_number']}<br />
					{$author['awards_digital']}<br />

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

Проблема с логикой судя по всему :D

<if="$author['mgroup'] != 4 && $author['mgroup'] != 11 && $author['mgroup'] != 23">

 

Я думал вы хотели сделать картинку перед названием группы непосредственно, а не на отдельной строке ;) однако на форуме есть и инструкция, как сделать, чтобы картинка группы не заменяла pip-ы, там достаточно в коде одно else убрать. Уверен у вас получится без труда найти её.

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

Спсибо большое.

В ПХП я ноль полный. года два назад, когда я этим всем занимался, то я в ХТМЛ и ЦСС хорошо толковал, и ПХП чучуть начал учить (правда бук попсовенький был). Мелочные изменения делал для форума. А потом на все забил. Сейчас нужно возвращатся к этому всему - и все знания с нуля приходится поднимать. Надо бы еще дето качественый бук по ПХП нарыть... :D

зы: поищу сейчас по форуму ;)

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

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

  • 11 месяцев спустя...

протестировал из под мак ос в сафари... не работает вставка никнейма!

использовал: с) Смешанный вариант пунктов 1.3 и 3.a + цитата выделенного текста

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

  • 3 месяца спустя...

AEC, сорри, подписка на тему была на мейл который я пол гоад не проверял :D

Насчет сафари, вообще там очень просто джаваскрипт, он должен работать под всеми браузерами. Возможно у вас в сафари просто отключен джаваскрипт либо вы чтоот не так сделали. Это в теории.

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


×
×
  • Создать...

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

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