Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Альтернатива Аусвайсовскому клику по смайлам...

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

pechalny



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хе-хе...Тут недавно Аусвайс выкладивал свой хак клика по смайлам, в нем мне не очень понравилась одна фень - когда кликаешь по смайлику, то окно браузера прыгает...Сложно объяснить смотрите здесь
Вот сваял свой, выношу на обсуждение :)
Установка очень простая, рассмотрю ее на примере topic.cgi в "форме ответа" рубордовской.В принципе, в post.cgi такая же тема, только там надо будет эту операцию 3 раза проделать(или больше, если установлен хак голосовалки)
Ну вообщем находим:

Код:
 
#################################### Форма ответа #########################      
 
    &getforum("$inforum");
 
        if ($allowedentry{$inforum} eq "yes") { $allowed = "yes"; }
         
        if (($privateforum eq "yes") && ($allowed ne "yes")) {
            &error("$ibtxt{'1406'}&$ibtxt{'1407'}");
        }    
 
    if ($threadstate ne "closed" && $threadstate ne 'moved'){
 
 
    if ($emoticons eq "on") {
        $emoticonslink = qq~<a href="javascript:openScript('$miscprog?action=showsmilies',300,350)">$ibtxt{'1408'}</a>~;
        $emoticonsbutton =qq~<input type=checkbox name="inshowemoticons" value="yes" checked>$ibtxt{'1409'}<br>~;
        }
 
 
    if ($emailfunctions eq "on") {  
           if ($innotify eq "yes") {
              $requestnotify = qq~<input type=checkbox name="notify" value="yes" checked>$ibtxt{'1411'}<br>~;
              }  
              else {
                   $requestnotify = qq~<input type=checkbox name="notify" value="yes">$ibtxt{'1411'}<br>~;
                   }
            }
 

и сразу после этого вставляем

Код:
 
#Let's show some smileys :)
$smileys .= qq~
<table width="92" border="0" cellpadding="0" cellspacing="0" bgcolor=black align="center">
<tr>
<td width="92" height="203" valign="top" bgcolor=$miscbackone>
<table width="100%" border="0" cellpadding="6" cellspacing="1" bgcolor=black>
<tr>
<td valign="top" height="23" colspan="3" class="smiliestd">
<div align="center"><font face="$font" color=$fontcolormisc size=1>Смайлики</font></div>
</td>
</tr>
<tr>
<td height="30" width="16" valign="top" class="smiliestd"><img src="$imagesurl/emoticons/sad.gif" border=0 onClick="document.mt.inpost.value+=':(';" onmouseover="this.style.cursor='hand';"></td>
<td width="17" valign="top" class="smiliestd"><img src="$imagesurl/emoticons/smile.gif" border=0 onClick="document.mt.inpost.value+=':)';" onmouseover="this.style.cursor='hand';"></td>
<td width="19" valign="top" class="smiliestd"><img src="$imagesurl/emoticons/podmig.gif" border=0 onClick="document.mt.inpost.value+=';)';" onmouseover="this.style.cursor='hand';"></td>
</tr>
<tr>
<td height="30" valign="top"class="smiliestd" ><img src="$imagesurl/emoticons/yellowgrin.gif" border=0 onClick="document.mt.inpost.value+=':yellowgrin:';" onmouseover="this.style.cursor='hand';"></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/gigi.gif" border=0 onClick="document.mt.inpost.value+=':gigi:';" onmouseover="this.style.cursor='hand';"></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/lol.gif" border=0 onClick="document.mt.inpost.value+=':lol:';" onmouseover="this.style.cursor='hand';"></td>
</tr>
<tr>
<td height="30" valign="top" class="smiliestd"><img src="$imagesurl/emoticons/good.gif" border=0 onClick="document.mt.inpost.value+=':good:';" onmouseover="this.style.cursor='hand';"></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/bad.gif" border=0 onClick="document.mt.inpost.value+=':bad:';" onmouseover="this.style.cursor='hand';"></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/wow.gif" border=0 onClick="document.mt.inpost.value+=':wow:';" onmouseover="this.style.cursor='hand';"></td>
</tr>
<tr>
<td height="30" valign="top" class="smiliestd"><img src="$imagesurl/emoticons/question.gif" border=0 onClick="document.mt.inpost.value+=':question:';"onmouseover="this.style.cursor='hand';" ></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/yuk.gif" border=0 onClick="document.mt.inpost.value+=':yuk:';" onmouseover="this.style.cursor='hand';"></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/beast.gif" border=0 onClick="document.mt.inpost.value+=':beast:';" onmouseover="this.style.cursor='hand';"></td>
</tr>
<tr>
<td height="30" valign="top" class="smiliestd"><img src="$imagesurl/emoticons/yes.gif" border=0 onClick="document.mt.inpost.value+=':yes:';" onmouseover="this.style.cursor='hand';"></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/nope.gif" border=0 onClick="document.mt.inpost.value+=':nope:';" onmouseover="this.style.cursor='hand';"></td>
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/user.gif" border=0 onClick="document.mt.inpost.value+=':user:';" onmouseover="this.style.cursor='hand';"></td>
</tr>
<tr>
<td height="23" colspan="3" valign="top" class="smiliestd">
<div align="center"><font face="$font" color=$fontcolormisc size=1><a href="javascript:openScript('misc.cgi?action=showsmilies',300,350)"">Все смайлики</a></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>~;
 

ПЕРЕД

Код:
 
$output .= qq~
 

Ну и шаг №2, выводим переменную $smileys.В моем случае пихаем ее после

Код:
 
<SCRIPT language=JavaScript>  
if (navigator.appVersion.indexOf("MSIE")!= -1) document.writeln("Для вставки цитаты, выделите её и <a href='VBScript:paste2(document.selection.createRange().Text)'>нажмите эту ссылку</a><br></span>")  
</SCRIPT></font><br>
 

и перед <td>
Получится что-то вроде ;) :

Код:
 
<SCRIPT language=JavaScript>  
if (navigator.appVersion.indexOf("MSIE")!= -1) document.writeln("Для вставки цитаты, выделите её и <a href='VBScript:paste2(document.selection.createRange().Text)'>нажмите эту ссылку</a><br></span>")  
</SCRIPT></font><br>$smileys
</td>
 

И последний шаг - необходимо добавить в settemplate.cgi стиль  

Код:
 
.smiliestd {  background-color: cddbeb}
 

Это - бэк колор ячеек...В принципе, сюда еще можно будет чего - нибудь напхать :)
Ну вот такие пироги...Если проблемы возникнут - обращайтесь ;)
Да, и чуть не забыл, названия смайликов вам скорее всего придется поменять на свои.Т.е.  вот здесь  

Код:
 
<td valign="top" class="smiliestd"><img src="$imagesurl/emoticons/beast.gif" border=0 onClick="document.mt.inpost.value+=':beast:';" onmouseover="this.style.cursor='hand';"></td>
 

необходимо поменять смайлик "beast.gif" на что-то свое ну и соответственно ":beast:" на название смайлика...
бррр
и это тоже надо сделать

Цитата:
 
<form name=mt action="$postprog" method=post>  
Если у вас name не =mt, то замените выше на свое
 


----------
cynicism is the only thing that keeps me sane

Всего записей: 1852 | Зарегистр. 29-07-2001 | Отправлено: 12:01 09-12-2001 | Исправлено: pechalny, 12:44 09-12-2001
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
а чтоб окно не прыгало, надо просто focus убрать..... вот и все дела я так уже сделал
 
Добавлено
и вообще, чтоб не парится, я вынес в ikon.lib, и модулем подгружать

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 13:25 09-12-2001
pechalny



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ausw

Цитата:
и вообще, чтоб не парится, я вынес в ikon.lib, и модулем подгружать

Вот это кстати офингенная идея...

----------
cynicism is the only thing that keeps me sane

Всего записей: 1852 | Зарегистр. 29-07-2001 | Отправлено: 13:46 09-12-2001
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
угу...
а делается это просто...

Код:
 
sub smilez {
$ibsmtb = qq~
<p><TABLE align=c.......
.....
.....
.....
</TR></TABLE></td></tr></TABLE><p>
~;                
return $ibsmtb;
}                  
                                 
1;
 

а потом вызываешь

Код:
 
    &smilez;            
    $output .= qq~
 


Код:
 
$ibsmtb
 

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 22:06 09-12-2001 | Исправлено: Ausw, 22:10 09-12-2001
pechalny



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ну короче в коде вызываешь эту процедуру &smilez; , а дальше в хтмл - переменную $ibsmtb ...Понятно...Сегодня сделаю себе так же...

----------
cynicism is the only thing that keeps me sane

Всего записей: 1852 | Зарегистр. 29-07-2001 | Отправлено: 12:54 10-12-2001
durachka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно ли смайлы вставлять со страницы к примеру http://forum.ru-board.com/board/s/smilies.html (так на этом форуме) вобщем со страницы отображения всех смайлов сразу кликом в форму ответа? И можно ли ограничить количество смайлов в сообщении?

Всего записей: 596 | Зарегистр. 20-05-2001 | Отправлено: 00:06 06-12-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
durachka
 

Цитата:
А можно ли смайлы вставлять со страницы к примеру http://forum.ru-board.com/board/s/smilies.html  (так на этом форуме) вобщем со страницы отображения всех смайлов сразу кликом в форму ответа?  

 
Э.... а как примерно ты себе это представляешь?
 

Цитата:
И можно ли ограничить количество смайлов в сообщении?

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

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:32 06-12-2002
durachka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
Э.... а как примерно ты себе это представляешь?  
 

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

Всего записей: 596 | Зарегистр. 20-05-2001 | Отправлено: 04:00 06-12-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
durachka
 

Цитата:
на некоторых чатах такое есть - жмешь смайлы - грузится страничка со смайлами, кликаешь по нужным, а их код вставляется в форму ответа в чат,  

 
Пример бы. Наверняка там не просто страничка, а во фрейме. Если во фрейме, то это просто, ибо можно использовать клиентские технологии, кои тут и надо использолвать. По аналогии, например, со вставкой имени (жабаскрипт):
 
 
<SCRIPT language=Javascript>  
function paste(name){  
var input=document.mt.elements[7];  
input.value=input.value+""+name+"$rt"+"\\n";  
 
}  
 
Так вот если во фрейме, то можно обратиться одной страничке к другой, то есть:
 
parent.имя_потомка.имя_формы.номер_элемента
 
 
а если другой документ, то я не сильно себе преставляю как это реализовать, то есть какие технологии в этом случае использовать.
По любому тормозить будет, оно надо? Тем более, что ты хочешь, чтобы юзеры не юзали более 3-х смайлов, так не провоцируй их на это, делая смайлы столь доступными.
 
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 04:09 06-12-2002
durachka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Пример бы. Наверняка там не просто страничка, а во фрейме.

нет, не во фрейме, просто открывается страница, и кликая по смайлам на ней вставляем коды смайлов в другую страничку. Это реально, я так к примеру организовывал русскую клавиатуру - код правда утянул откуда-то, сейчас уже и не помню, с netadmin`а вроде как.

Всего записей: 596 | Зарегистр. 20-05-2001 | Отправлено: 15:27 06-12-2002
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
durachka  

Цитата:
на некоторых чатах такое есть  

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

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 19:46 06-12-2002
Thunder



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посмотрите как у меня сделано: http://dvdrip.h1.ru/cgi-bin/ikonboard/topic.cgi?forum=4&topic=11
 
Пока, правда, только до topic.cgi руки дошли. До post.cgi пока не добрался.

Всего записей: 32 | Зарегистр. 22-11-2002 | Отправлено: 11:30 07-12-2002
durachka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Thunder
Это не то о чем я говорил, у тебя смайлы возле формы ответа, а я хотел чтобы было жмешь на надпись все смайлы, грузится страничка со всеми смайлами и вот с этой страничуи чтобы кликами вставлять смайлы можно было. Так сказать дополнение к хаку, который ты себе поставил.

Цитата:
покажи чат тада уж

да мимоходом забредал куда-то, адреса уж и не помню , натолкнусь еще раз - адресок брошу.

Цитата:
нетадмин щя в глубоком дауне и будет еще долго,

вроду вылезли они из дауна .

Всего записей: 596 | Зарегистр. 20-05-2001 | Отправлено: 22:30 07-12-2002
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx
Есть такая технология.
Точно видел!

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 11:21 24-12-2002
WSergey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем!!!
Вот тут качаем архивчик (3,5 кб):
http://web4you.ru/fff/085.zip
 
Там типа простенький HTML редактор  -  так вот всплывает в нем окно из которого ты выбираешь нужный тег и он вставлен с форму.
такое бы реализовать для смайлов.
Открыл окно со всеми смайлами -  кликнул по смайлу и код в форме.
Кто может разобраться  и сделать?

Всего записей: 186 | Зарегистр. 14-07-2002 | Отправлено: 13:52 02-01-2003
WSergey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мы сделали это!!!
Cool!!!
:up

Всего записей: 186 | Зарегистр. 14-07-2002 | Отправлено: 18:02 19-01-2003
quasar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Мы сделали это!!!

 
поделитесь?

Всего записей: 398 | Зарегистр. 29-01-2002 | Отправлено: 07:30 20-01-2003
WSergey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
quasar
Безусловно.
Я просто ждал и думал нужен ли он кому?
Кроме того сейчас идут космитологические правки.
Ибо имя у форм, в topic.cgi & post & posting.cgi -  разные -  нужно чуть поправить.
Пока работает только в  topic.cgi  -  можете глянуть
 

Всего записей: 186 | Зарегистр. 14-07-2002 | Отправлено: 00:18 21-01-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Альтернатива Аусвайсовскому клику по смайлам...


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru