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

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

 

1007
BETEPAH @BETEPAH
edenhazz пишет:

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

Сравните свой шаблон настроек со стандартным. В частности за иконку отвечает код:
if(icon_on==1){
var icon='%icon%';
print='<tr><td>Иконка</td><td><input name=icon class=text> - <a href=index.php?inc=icon target=_blank>выбрать номер</a><br>';
if(icon!='') print+='<img src='+icon+'>';
print+='</td></tr>';
document.write(print);
}
if(icon_on>1) {
var icon='%icon%';
if(icon_on==100) maxsize='128x32'; else maxsize=icon_on+'x'+icon_on;
print='<tr><td>Иконка(max '+maxsize+')</td><td><input name=icon type=file class=text><br>';
if(icon!='') print+='<img src='+icon+'><br><input name=icondel type=checkbox > - удалить<br>';
print+='</td></tr>';
document.write(print);
}

1007
BETEPAH @BETEPAH
VitrOn пишет:

1.Подскажите, как на форуме сделать кнопку почты и анкеты (к примеру при нажатии на свой ник попадаем в анкету, и рядом ссылка "почта", при нажатии на которую открывается почта 😀 )

**********

2. Никак не могу найти, как объединить количество тем и ответом, и к примеру сделать их через дробь?
Сейчас так - ********** , а нужно так - **********

1. В стандартном скрипте форума эта кнопка есть:
<a href=?inc=post&act=new&nick="+mynick+"&id="+myid+"&tonick="+f_p[i][1]+" target=pm><font class=low>Написать письмо</font></a>
.
.
.
2. В стандартном скрипте форума:
/* ЧАСТЬ ПЕРВАЯ */
/* Отображение форумов */

wr("<tr><td class=title colspan=2>Форум</td><td width=60 class=title align=center>Тем</td><td width=60 class=title align=center>Ответов</td><td width=30% class=title>Обновления</td></tr>");

заменить на
wr("<tr><td class=title colspan=2>Форум</td><td width=120 class=title align=center>Тем/сообщ.</td><td width=30% class=title>Обновления</td></tr>");

а чуть выше в
/* Загрузка форумов и селекта быстрого перехода, проверка доступа */
forums[f_f[i][0]]="<tr><td width=20><div class="+icon+"></div></td><td align=left> <a href=?inc=forum&forum="+f_f[i][0]+" onclick='return access("+i+");'>"+f_f[i][1]+"</a><br>"+f_f[i][2]+moders+"</td><td align=center>"+f_f[i][6]+"</td><td align=center>"+f_f[i][7]+"</td><td>"+lasttopic+"</td></tr>";

заменить на
forums[f_f[i][0]]="<tr><td width=20><div class="+icon+"></div></td><td align=left> <a href=?inc=forum&forum="+f_f[i][0]+" onclick='return access("+i+");'>"+f_f[i][1]+"</a><br>"+f_f[i][2]+moders+"</td><td align=center>"+f_f[i][6]+" / "+f_f[i][7]+"</td><td>"+lasttopic+"</td></tr>";

Отредактировано BETEPAH - 30.05.2013
1007
BETEPAH @BETEPAH
FeNIX74 пишет:

Подскажите можно ли в поле с выбранным ником сделать вывод пола м-ж юзера?

**********

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

7094
Dim @Render
Sagita пишет:

Здравствуйте, у меня тут вопрос назрел.

Делаю в чате вывод картинки, которая зависит от выбраного значения в селекторе, прямо в никлист возле ника пользователя. За основу брала "флаги со странами" вот отсюдаhttps://vmeste.eu/forum?pid=301487#p301487
все работает, в анкету выводится вот таким образом:
var flag='%field5%', out = '';
for(var i=0; i<flags.length; i++) {
if(flags[i][0]==flag) {
out = '<i class="flag-'+flags[i][0]+'"></i> '+flags[i][2];
}
}
out==''?out = flag:false;
document.write(out);

а в никлист выводиться не хочет ни в какую :с
можно ли вообще его так вывести и как это лучше сделать?

Создём отдельную тему для данного вопроса

7094
Dim @Render
ВУТ пишет:

И ещё вопрос, Хочу скрыть от неавторизованных(нерегенных) раздел анкеты, ну допустим "О себе" Вроде бы всё работает, но тем не менее по каким то причинам не все, но некоторые участники зарегестрированные тоже не видят раздел в анкете "О себе" Вроде же всё верно прописал, в чём может быть косяк? Информер в анкете тоже имееться обычного вида - <script src=index.php?inc=informer&inchat=1&getmsg=1&lastreg=10&counter=1&lastban=100></script>

</td></tr><script>if ('%about%' != '' && '%about%' != '-' && mynick && myid) document.write
('<tr><td> <img src="................./images026.jpg" border="0" /></a>ИНФА О себе...</td><td>%about%</td></tr>')</script>

https://vmeste.eu/forum?pid=290640#p290640

if(parent.regist != 1) about='Информация доступна только для зарег.'; else about='%about%';

<tr><td>О себе</td><td><script>document.write(about);</script></td></tr>

602
Ventage @new1
Rayan пишет:

Подскажите где найти функцию "стереть строки". Или где найти этот скрипт.

/* [НАСТРОЙКИ] */

/* Ники чистильщиков лога(/remover)(remover['Если русский ник,или сдержит знакие']=1;,remover.nick = 1; <--- на англиском) */
var remover = [];
remover['adm']=1;

/* [Вывод сообщений и команд] */

В функции

/* Проверка пользовательских команд для простого сообщения */
if(cmd==0) {
Вставить:
/* Функция удаления сообщений из лога чата */
if(text.substr(0,7)=="/remove" && remover[nick]) {
var timeremovez;
text=text.replace("/remove", "");
timeremovez = text.match(/см\.\s(\d\d.\d\d.\d\d)|\S+/g);
if (timeremovez!=null) {
var obj=document.getElementById("leftdiv");var div=obj.getElementsByTagName('div');
for (var i=0; i<timeremovez.length; i++) {
for (var k=0; k<div.length; k++) {if (div[k].innerHTML.search(timeremovez[i])>=0){obj.removeChild(div[k]);k--;}}}};
if(nick!=parent.mynick||timeremovez==null) return;
text='Вы удалили сообщение/я с '+timeremovez;
}

😀

Отредактировано new1 - 20.06.2013
6600
Александр @admiral
edenhazz пишет:

Добрый вечер, всем.
Хотелось бы спросить, как сделать opacity на иконки?

**********

7094
Dim @Render
SysRq пишет:

В: скажите пожалуйста как перенести ник-лист в лево? Пытался, но ничего не вышло.

Показать текст

Показать текст

2615
Сергей @Pegass
Лис пишет:

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

Коментарии ВК идут к определённому URL, у тебя каждая новость должна быть на отдельной странице

2615
Сергей @Pegass
ВУТ пишет:

Здраствуйте!!! Помогите корифеи кто сможет, очень нужно-на Вас надежда.

Есть селектор выбора песен по группам(очень солидный по количеству как песен так и исполнителей и поэтому порой сложно быстро найти ту или иную интересующую команду),тоесть название группы и ниже список песен той или иной группы. Как сделать скрипт поиска по названию исполнителя применимо к ниже изложенному коду . Тоесть чтобы было чуть ниже поле (SEARCH по исполнителям) и человек набрав название группы находил бы в списке нужной optgroup label.

Варианты смены,плэйера, плэйеры с плэйлистами не рассматриваються, нужно именно решение и применимое к данной модели проигрывания музыки через select!!!

<select class=ok name=href onchange='sel(this.value);' >
<option value=''>выбрать музыку
'<optgroup label="НАЗВАНИЕ ИСПОЛНИТЕЛЯ ПЕСНИ ">'+
'<option value="ССЫЛКА НА АДРЕС ПЕСНИ">НАЗВАНИЕ ПЕСНИ</option>'+
</option>
</select>
</center>
<div id=mus align="center"></div>
<script>
function sel(href){ document.getElementById('mus')
if(href=='') document.getElementById('mus').innerHTML="<img src= ********** border=0></a>";
else document.getElementById('mus').innerHTML="<EMBED type=application/x-mplayer2 src="+href+" width=300 height=55>";
}
sel('');
</script>

как то так ********** ток не понятно как этот вопрос относится к чатам и тем более к разделу FAQ

2615
Сергей @Pegass
ValdeZ пишет:

как убрать счётчик "Всего в чате: " в никлисте?

Удалить
Чат внутри
Всего в чате: <b><span id=count>0</span></b>

Отредактировано Pegass - 07.07.2013
20090
Dimitry @Dimitry
может привести к ошибке, лучше его скрыть
<span id=count style='display:none;' >0</span>

1007
BETEPAH @BETEPAH
Foggy пишет:

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

[spoiler=Пробовал]
На примере с файлом "file", формат пробовал разный.
Пробовал подключить скрипт file.js через document.write (экранировать кавычки не забыл), в файле создать переменную и в скриптах её вывести. Файл подключает, переменную не выводит.
Пробовал jQuery load (файл делал форматом html или txt) и ajax.
Во всех случаях переменная появляется, но не выводится. Вывод пробовал ставить сразу при выводе топика и внутри $(function() { });
Что предложите сделать? Ставить простой таймаут не хочется, ибо у некоторых загрузка идёт долго, у некоторых быстро, в итоге таймаут придётся поставить большой, к тому времени все на топик уже забьют. Может есть какое-то решение, которого я не увидел? А-то девятый месяц армии чистит мою голову от знаний)))[/spoiler]

У меня была когда-то подобная задача. Я выкрутился так: в лог вывожу ифрейм
<span><iframe src="./js/rss.html" name=iframek frameborder=0 width=5 height=5></iframe></span>
а в файле rss.html у меня стоит скрипт, который заменяет окно ифрейма на необходимое содержимое (rssContent):
function outer(rssContent) {
var iframes = parent.document.getElementsByName('iframek');
for (var i = 0; i < iframes.length; i++) {if (iframes[i].contentWindow == window) {iframes[i].parentNode.innerHTML = rssContent;}}
}

2970
удалён @Foggy
BETEPAH, безжалостное решение, но всё же работает. Спасибо!

2970
удалён @Foggy
Как сделать, чтоб забаненный не мог, выйдя из чата, пройти регистрацию? Интересуют способы кроме кук и всего, использующегося в evercookie. Может быть я упускаю что-от элементарное?

4619
Web3r @Web3r
Foggy, без кук трудно сделать. Но чтобы лишние не регистрировались, можно сделать так или создать скриптовый блек-лист email'ов. Оба способа на js и добавлять всё надо вручную...

1007
BETEPAH @BETEPAH
Лесной_зверь пишет:

Как можно сделать функцию,чтобы можно было поставить игнор на всех гостей?

В начало функции function msg_send(msg) поставьте:
if (mystatus == 0) {
alert('Отправка сообщений у статуса "Гость" заблокирована. Зарегистрируйтесь, пожалуйста.');
return false;
}

Если надо пользователю предоставить выбор видеть или не видеть сообщения гостей, то можно так:
* [НАСТРОЙКИ] */
//...
var guest_msg = true; // true - показывать сообщения гостей, false - не показывать

//...
/* [Функция - вывода сообщений и команд] */
var pu = [], pt = [];
function f(room, cmd, nick, tonick, text, time, colornick, color, var9, var10, var11, var12, var13, var14, userid) {
/* Определение статуса написавшего сообщение */
var nickst = 0;
for (var i = us.length; --i >= 0;) {
if(nick == us[i][0]) {
nickst = us[i][2];
break;
}
}
if (!guest_msg && nickst == 0) return;

Ну и каким-то образом дать возможность пользователю влиять на переменную guest_msg
Например, чекбоксом в Чат внутри:
<input type="checkbox" name="guest" title="видеть сообщения гостей" onclick="guest_msg = this.checked" checked />

Отредактировано BETEPAH - 05.08.2013
1007
BETEPAH @BETEPAH
dosantos пишет:

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

Без редактирования скриптов в админке никак. С редактированием просто - заводите массив
/* Ники игнорируемых всеми fullignor['nick']=1; */
var fullignor = [];
fullignor['ник1'] = 1;

и куда-нибудь в начало функции f()
if (fullignor[nick] && cmd != 6 && cmd != 7 && nick != mynick) return;
- условия означают, что будет виден вход и выход этого ник1. Сообщения будет видеть только он сам (&& nick != mynick) и никто кроме него.

А тотальный игнор не такой уж и тотальный. Он срабатывает только в том же браузере, только на том же компьютере и только у тех, кто в момент установки игнора были в чате.

Отредактировано BETEPAH - 05.08.2013
1007
BETEPAH @BETEPAH
edenhazz пишет:

Как изменить стиль чата внутри в зависимости от домена?

var host = location.hostname;
var style_file;
if (host.indexOf('mpchat.com') != -1) style_file = 'style_mpchat.css'
else style_file = 'style_chatru.css';
var style_tag = document.getElementsByTagName('link');
if(style_tag && style_tag[0]) style_tag[0].href = style_file;

1007
BETEPAH @BETEPAH
Foggy пишет:

BETEPAH пишет:

Foggy пишет:

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

В: Как сделать, чтоб в списке новичков отображались только подтверждённые?

В массиве i_lastreg четвертый подэлемент равен -1, если новичок не подтвержден.
if ( i_lastreg[i][3] == -1 ) break;

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

Ничего же не мешает поставить в информере 20, 30, а нужное количество для вывода регулировать уже в скрипте 😉
У меня когда-то было так:
<script type="text/javascript" src="?inc=informer&lastreg=20"></script>
var count_display_lastreg = 0;
for (var i = 0, len = i_lastreg.length; i < len; i++) {
i_nick = i_lastreg[i][0];
i_color = i_lastreg[i][1] || '005DB5';
i_mw = i_lastreg[i][2];
i_stat = i_lastreg[i][3];
if (i_stat != -1) {
document.write('<a href=?inc=info&nick='+i_nick+' target="iframe" style="color: #' + i_color + '">'+i_nick+'</a><br />');
count_display_lastreg ++;
}
else if (mynick && mynick == 'Foggy'){
document.write('<a href=?inc=info&nick='+i_nick+' target="iframe" style="color: #FF0000; font-weight: bold">'+i_nick+'</a><br />');
count_display_lastreg ++;
}
if(count_display_lastreg >= 10) break;
}

Это плохой код, но суть объясняет.

Отредактировано BETEPAH - 31.08.2013