ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

FAQ 2.0 - вопросы и ответы (не флудить!)

 

84
Михаил @ReanMee
Увидел в корзине вопрос, решил поделиться своим кривоватым, но давно уже действующим решением
В: как сделать иконку mobile для сидящих с мобильной версии чата?
О: самых очевидных решений - 2:
1. Организовать скрытый field в настройках, куда помещать одно значение, если пользователь зашёл с мобильной версии чата, и другое в остальных случаях.
Помещение значения организовать либо через шаблон mobile.inc, либо сверяя window.location.search=="?inc=mobile" в jscripts.dat (решение могу реализовать, если в том будет необходимость)
2. Моё "кривоватое" решение. Просто создал отдельный статус, который не стал включать в селектор
stn2[6] ='<img src="./icons/mobi.png">';
..................................................................................................
icqtxt[6]='Сижу с мобильной версии <img src="./icons/mobi.png">'

И вынудил заходящих с мобильной версии устанавливать его)
Между <style></style> в самом шаблоне мобильной версии ставим
#s1 {display: none;}
В конце шаблона скрываем кнопки и форму для ввода текста, пока пользователь не сменит статус.
<input type=hidden name=text><div id=s1>
<input id=text0 type=text name=text0 style='width:100px;' >
<input type=submit value='ОК' title='Отправить' class=btn>
<input type=submit value='@' title='Приватно' class=btn onclick="document.getElementById('text0').value='/privat '+document.getElementById('text0').value;">
<script>var smileon=0; sendto("/status 6");</script>
<input type=submit value=': )' title='Отображать смайлы' class=btn onclick="if(smileon) {smileon=0; this.style.fontWeight='normal';} else {smileon=1; this.style.fontWeight='bold';}"></div>
<input type=submit value='Я в чате!' onclick='this.style.display="none"; s1.style.display="block";'>ay="none"; s1.style.display="block";'>

указанное фиолетовым можно изменить на document.getElementById('text0').value='/status 6';
Решение кривовато, не очень удачно, если у вас большая задержка в "антифлуде" (msg_flood(); ), но вполне работоспособно. К тому же, есть возможность сменить статус и без использования селектора.
Если есть желание устанавливать статус при входе без дополнительной кнопки и скрытия полей - прогружайте после форм чата (и после команды "sendto("/status 6"); ) команду msg_send(); с необходимой задержкой.

Отредактировано ReanMee - 22.07.2014
1007
BETEPAH @BETEPAH
ReanMee,
первое решение тоже кривовато. Человек зашел с компьютера, заполнил настройки, в скрытом филде запомнилось, что он - десктопный пользователь. В следующий раз он зашел с мобильного, но всем кажется, что он все еще с компьютера.
(Если я ошибаюсь, реализуйте, пожалуйста если несложно. Интересно глянуть)
Правильнее было бы передавать этот параметр вместе с остальными параметрами о пользователе. Но в текущих реалиях этого нет, поэтому выход - после захода в чат посылать "системное" (т.е. скрытое сообщение), которое поймают скрипты пользователей, обработают и добавят ему иконку мобильности в никлисте. И придется посылать это сообщение периодически, чтоб те, кто не застал сообщение при входе, тоже были извещены.

50
X-Solution @X-Solution
icon="<img src="+icon+" border=0>";

set_privat=icon;
после этого вставляешь


if(nick==mynick && loaded) document.getElementById('myicon').innerHTML = icon;
В нужном месте в верхнем блоке вставляешь любой элемент с id="myicon". К примеру, <div id="myicon"></div>.

как задать отдельный размер <div id="myicon"></div>.,что бы можно было сделать меньше чем иконка в ник листе.
Зарание спасибо.
И если можна то опишите по подробней для нуба в скриптах,ну почти нуба))))

318
Алекс @Рой31
X-Solution пишет:

icon="<img src="+icon+" border=0>";

set_privat=icon;
после этого вставляешь


if(nick==mynick && loaded) document.getElementById('myicon').innerHTML = icon;
В нужном месте в верхнем блоке вставляешь любой элемент с id="myicon". К примеру, <div id="myicon"></div>.

как задать отдельный размер <div id="myicon"></div>.,что бы можно было сделать меньше чем иконка в ник листе.
Зарание спасибо.
И если можна то опишите по подробней для нуба в скриптах,ну почти нуба))))

В стилях прописываем

например:

#myicon {

height:150px;

width:150px;
}

415
Денис @FeNIX74
Всем привет! Ребят есть какие нить предложения, идеи по посту #1111?

84
Михаил @ReanMee
В:
Рой31 пишет:

[spoiler=Вопрос от X-Solution]
X-Solution пишет:

icon="<img src="+icon+" border=0>";

set_privat=icon;
после этого вставляешь


if(nick==mynick && loaded) document.getElementById('myicon').innerHTML = icon;
В нужном месте в верхнем блоке вставляешь любой элемент с id="myicon". К примеру, <div id="myicon"></div>.

как задать отдельный размер <div id="myicon"></div>.,что бы можно было сделать меньше чем иконка в ник листе.
Зарание спасибо.
И если можна то опишите по подробней для нуба в скриптах,ну почти нуба))))

[/spoiler]
В стилях прописываем:
#myicon {
height:150px;
width:150px;
}

В таком случае будет меняться размер div'a, но не картинки. Иконка будет прежнего размера. Даже если она не умещается в div, она просто выйдет за его пределы.
О: Решить можно так:
Добавляем красное:
myic="<img src="+icon+" width=10px height=10px border=0>";
icon="<img src="+icon+" border=0>";
set_privat=icon;
if(nick==mynick && loaded) document.getElementById('myicon').innerHTML = myic;

и в нужное место вставляем <div id="myicon"></div>
Зелёным - размеры

Отредактировано ReanMee - 28.07.2014
10
MISTER93 @MISTER93
У меня в чате фрейм пользователей вот так выглядит когда в чате 11 человек вниз не листается ,помогите исправить ошибочку очень буду благодарен

7094
Dim @Render
MISTER93 пишет:

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

Вызываю телепатов для определения ссылки на чат

474
415
Денис @FeNIX74
MISTER93, для начала посмотри как написаны стили к диву usersdiv может сам заметишь ошибочку? Если не заметишь то замени ottom: 55px; на bottom: 55px; и тогда скролл появиться!

84
Михаил @ReanMee
В:
FeNIX74 пишет:

Ребят как сделать когда перезагружаешь чат или ник чтоб выводило Администрация перезагружает чат! А, не Ник:перезагрузка чата ?

О: в /* [Функция - вывода сообщений и команд] */
/* Проверка пользовательских команд для простого сообщения */
находим
if(text.substr(0,7)=="/reload" && reloader[nick]) {
if(loaded==1) location.reload(); text="перезагружаю чат";
}

и заменяем красное на
wr("<p style='background-color: #FF0000; border: #000000 2px solid;font: italic 14px Verdana;color:#FFFFFF;margin: 5px 0px; text-align: center;'><b>Администрация перезагружает чат</p>");
(стиль сообщения можно редактировать на свой вкус)
затем ниже в /* Вывод простого сообщения */
перед
towr=set_time+symbol+set_nick+set_text+"<br>";
ставим
if(text.split('/reload').length>1) return 1;

Отредактировано ReanMee - 30.07.2014
10
MISTER93 @MISTER93
Привет еще раз всем, вот например я хочу чтоб в анкете статус Администратор был красным цветом,какой скрипт использовать?!

Отредактировано MISTER93 - 31.07.2014
84
Михаил @ReanMee
В:
MISTER93 пишет:

Привет еще раз всем, вот например я хочу чтоб в анкете статус Администратор был красным цветом,какой скрипт использовать?!

О: в шаблоне анкеты находим
<tr><td>Статус</td><td>%status%</td></tr>

и заменяем красное на
<script>if('%status%'=='Администратор') document.write('<font color=red>%status%</font>'); else if('%status%'=='Модератор') document.write('<font color=blue>%status%</font>'); else document.write('%status%');</script>

Статусы и цвета заменяем на свои.

Отредактировано ReanMee - 31.07.2014
318
Алекс @Рой31
MISTER93 пишет:

Привет народ,у меня в чате чет перестал работать плеер когда я кидаю в чат песню,белая полоска и все,что может быть? вот скрипт мой,исправьте если чет не так тут
<a href=# onclick="parent.sendto('[media][/media]');return false;" class="btn btn-warning popover-link" title="Видео и музыку в чат" value="media"><i class="icon-music icon-white"></i></a>

Нужен сам скрипт. А то что вы написали это ссылка вставки тэга [media][/media].

Отредактировано Рой31 - 02.08.2014
10
MISTER93 @MISTER93
Под редактируйте мне скрипт пожалуйста если есть там ошибки,заранее огромное спасибо
// начало обработки тега media

if (use_gn==1)
text = text.replace(/\[media\]((?:http|https):\/\/(.*?)\.(gif|jpg|jpeg|bmp|png|tif|tiff))\[\/media\]/mig, '<img style="cursor: url(http://djartist.esy.es/zoom_in.cur), pointer;" onclick="parent.ImegAlert(this.src);" onload=parent.imgminimum(this) src=$1 title="открыть в новом окне" alt="" border=0> ');
else
text = text.replace(/\[media\]((?:http|https):\/\/(.*?)\.(gif|jpg|jpeg|bmp|png|tif|tiff))\[\/media\]/mig, '<a href="javascript:void(0);" style="cursor: pointer;" onclick="parent.ImegAlert(\'$1\');" title="открыть в новом окне">Изображение загружено</a> ');


if (img_no == 1) {
text = text.replace(/\[media\](http:\/\/(.*?))\[\/media\]/mig, '<a href=./index.php?inc=go&url=$1 target=_blank>$1</a>')};
text = text.replace(/\[media\](http:\/\/zoom\.it\/(.*?))\[\/media\]/mig, '<script src="$1.js?width=auto&height=400px"></script><a href="$1" target="_blank" title="ссылка откроется в новом окне">link</a>');
text = text.replace(/\[media\](http:\/\/www\.divshare\.com\/download\/(.*?))\[\/media\]/mig, '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="335" height="28" id="divplaylist">' + '<param name="movie" value="http://www.divshare.com/flash/playlist?myId=$2" />' + '<param name="allowScriptAccess" value="always" />' + '<embed src="http://www.divshare.com/flash/playlist?myId=$2" width="335" height="28" allowScriptAccess="always" name="divplaylist" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>' + '</object>');
text = text.replace(/\[media\](http:\/\/pleer\.com\/tracks\/(.*?))\[\/media\]/mig, '<object width="411" height="28"><param name="movie" value="http://embed.prostopleer.com/track?id=$2"></param><embed src="http://embed.prostopleer.com/track?id=$2" type="application/x-shockwave-flash" width="411" height="28"></embed></object>');
text = text.replace(/\[media\]http:\/\/music\.yandex\.ru\/#!\/track\/(.*?)\/album\/(.*?)\[\/media\]/mig, '<object width="350" height="28"><param name="muz" value="http://music.yandex.ru/embed/$1/track.swf"/><param value="noscale" name="scale"/><param value="bg-color=%23D8D8D8&amp;text-color=%23555555&amp;hover-text-color=%23000000" name="flashvars"/><embed type="application/x-shockwave-flash" width="350" height="28" scale="noscale" flashvars="bg-color=%23D8D8D8&amp;text-color=%23555555&amp;hover-text-color=%23000000" src="http://music.yandex.ru/embed/$1/track.swf"/></object>');
//text = text.replace(/\[media\](http:\/\/.*mp3)\[\/media\]/mig, '<object id="audioplayer3010" type="application/x-shockwave-flash" data="http://djartist.esy.es/pleer/uppod.swf" width="400" height="35"><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="movie" value="http://djartist.esy.es/pleer/uppod.swf"/><param name="flashvars" value="uid=audioplayer3010&amp;comment=track: &amp;st=http://djartist.esy.es/pleer/audio184-732.txt&amp;file=$1" /></object>');
text = text.replace(/\[media\](http:\/\/.*mp3)\[\/media\]/mig, '<object id="audioplayer3010" type="application/x-shockwave-flash" data="http://djartist.esy.es/pleer/uppod.swf" width="300" height="25"><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="movie" value="http://djartist.esy.es/pleer/uppod.swf" /><param name="flashvars" value="uid=audioplayer3010&amp;comment=track: &amp;st=http://djartist.esy.es/pleer/audio56-1633.txt&amp;file=$1" /></object>');

Отредактировано MISTER93 - 02.08.2014
10
MISTER93 @MISTER93
и еще один вопросик вот у меня в чате кнопка media я вставляю ссылку потом нажимаю на media и отправить не выходит так как криво скрипт выходит,мне приходиться сначала media нажать а потом в центр ставить ссылку и потом ток плеер выходит и играет песня редактируйте мой скрипт заранее огромное спасибо....
<a href=# onclick="parent.sendto('[media][/media]');return false;" class="btn btn-warning popover-link" title="Видео и музыку в чат" value="media"><i class="icon-music icon-white"></i></a>

147
Павел @paulinney
ReanMee пишет:

В:
MISTER93 пишет:

Привет еще раз всем, вот например я хочу чтоб в анкете статус Администратор был красным цветом,какой скрипт использовать?!

О: в шаблоне анкеты находим
<tr><td>Статус</td><td>%status%</td></tr>

и заменяем красное на
<script>if('%status%'=='Администратор') document.write('<font color=red>%status%</font>'); else if('%status%'=='Модератор') document.write('<font color=blue>%status%</font>'); else document.write('%status%');</script>

Статусы и цвета заменяем на свои.

Замудрено.
Если хотите, что-бы цвет статус был в анкете, и в анкете, и в "Админке", заходим в Пользователи -> Настроить статусы

В нужном статусе пишем.
<font color=red>Ваш статус</font>
Далее: Управление -> Скрипты в чате -> /* [Настройки - никлиста и статусов] */ -> /* Вывод статусов */
stn[999] ='<FONT SIZE=1 COLOR=red Georgia>Ваш статус</font>';
FONT SIZE=? - Размер текста статус в никлисте
COLOR=red - Отображает цвет в никлисте. Можно использовать: white, gray и т.д., а так-же другие цвета, через HTML-код (COLOR=#111111 - пример)
Georgia - Шрифт статуса в никлисте.

И никаких замудренных скриптов в три-четыре строки.

Отредактировано paulinney - 02.08.2014
10
MISTER93 @MISTER93
loGinbeen, спасибо ну я уже сделал=)на верху подсказали

147
Павел @paulinney
MISTER93, ну, это я так подсказал. Что-бы потом не мучиться с этими строчками.
Может повысишь репутацию за помощь?)

Отредактировано paulinney - 03.08.2014
10
MISTER93 @MISTER93
Привет всем,у обычных пользователей админка выходит вот так,как сделать чтобы появилась кнопка и у них Админка? Помогите заранее огромное спасибо...
<a href=# onclick="parent.wo('index.php?inc=admin&'+parent.yourkey,'admin','600','300','yes');return false" target=admin title=Админка class="btn">
<script>if(parent.admin==1)document.write('Админка');</script></a>