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

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

 

215
Rafer @Rafer
Weber пишет:

Rafer пишет:

В: Как использовать в стилях vertical-align: middle; для графов, что бы они были по центру?

.class img{vertical-align:middle}

Не работает. Куда я только не ставил в стилях, все как было, так и остается!

4619
Web3r @Web3r
Rafer пишет:

Weber пишет:

Rafer пишет:

В: Как использовать в стилях vertical-align: middle; для графов, что бы они были по центру?

.class img{vertical-align:middle}

Не работает. Куда я только не ставил в стилях, все как было, так и остается!

Какой класс у тебя на фрейме сообщений стоит?

215
Rafer @Rafer
Weber, .header-body {

4619
Web3r @Web3r
Rafer пишет:

Weber, .header-body {

.header-body img{vertical-align:middle} - все должно работать.

1007
BETEPAH @BETEPAH
new1 пишет:

BETEPAH пишет:

new1 пишет:

В:Как сделать так чтобы из скриптов /* [Настройки - никлиста и статусов] */ /* Вывод статусов */ шли не в никлист а в анкету? Пытался но никак 😀 помогите.

О: Из скриптов, наверное, никак, так как они не подключены к странице анкеты. А у вас название статуса в "Пользователи - Настроить статусы" отличается от его отображения в "вывод статусов"? Тогда первое, что пришло на ум, сделать в шаблоне анкеты отдельный скрипт с базой "ник - статус".

Можно пожалуйста поподробнее.

Вы не ответили на вопрос. Может, в этом и нет необходимости. Гораздо проще называть статусы сразу так, как хотите чтоб они отображались в анкете. Тогда и скриптов сочинять не придется.
Вот подробнее, если надо:
Оборачиваете %nick% в какую-нибудь оболочку с id="nick", статус <td id="status">%status%</td> К ПРИМЕРУ.
делаете массив с нужными никами - статусами
var arrNick = new Array();
arrNick['ник1'] = 'статус1';
arrNick['ник2'] = 'статус2';
arrNick['ник3'] = 'статус3';
Затем ищете var x = getElementById('nick').innerHTML получаете статус var statusus = arrNick[x], проверяете, что он существует, и выводите в нужное место, которое найдете по getElementById('status').
[spoiler=еще подробнее]<script type="text/javascript">
function nick2stat(i) {
var n2s = {
'nick1':'stat1',
'nick2':'stat2',
'nick3':'stat3',
'nick4':'stat4'
};
return n2s[i];
}
var stat = nick2stat(document.getElementById('nick').innerHTML);
if (stat) document.getElementById('status').innerHTML = stat;
</script>

[/spoiler]

Рабочий пример **********

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

Честно я почти ничего не понял 🙁

Давайте тогда определимся с понятиями. "Подробнее" - это означает "объясните, пожалуйста, что Вы имели в виду под таким-то словом". А то что Вам надо - это готовый код. Добавил его в спойлер и ссылку на рабочий пример в песочнице, чтоб могли поэкспериментировать меняя ники.

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

А то что Вам надо - это готовый код.Если конечно можно)

Нажмите на "еще подробнее" и забирайте.

602
Ventage @new1
BETEPAH пишет:

new1 пишет:

А то что Вам надо - это готовый код.Если конечно можно)

Нажмите на "еще подробнее" и забирайте.

🤔 Я вас не понимаю 🤔

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

🤔 Я вас не понимаю 🤔

Посмотрите чуть выше, в сообщении от 00:38:21, я добавил спойлер с кодом и ссылку на живой пример.
Спойлер - это блок, который открывается при нажатии на его заголовок. Скрыл я его специально, чтоб люди, которым нужен не готовый код, а только алгоритм для собственного развития, могли потренироваться.
Хотя я так и не получил ответ на свой вопрос, и не думаю, что этот код будет слишком востребован. Гораздо проще назвать статус сразу правильно в админке, а выводить его простым %status% без всяких скриптов.

Отредактировано BETEPAH - 15.01.2012
215
Rafer @Rafer
В: Как уменьшить отступ между сообщениями? (ответ был, но удалили)

1007
BETEPAH @BETEPAH
new1 пишет:

Гораздо проще назвать статус сразу правильно в админке, а выводить его простым %status% без всяких скриптов. Так как это сделать?

Вы издеваетесь или любите потролить?
Я Вас три раза спросил, названы ли у вас статусы так, как нужно их выводить в анкете. Прописывают их в админке - "Пользователи - Настроить статусы"
Если да, если там прописано так, как надо, то никакой скрипт не нужен. Просто
<tr><td>Статус</td><td>%status%</td></tr>
Если нет, используйте код, который я дал выше.
Извините, но дальше разжевывать мне не хватит нервов. Спокойной ночи.

2970
удалён @Foggy
Лис пишет:

Лис пишет:

В
Можно ли зделать чтобы приглашонного пользователя по реферальной сылке выводился в общий лог таким образом
К нам приходит ник по приглашению ник2

Повторяю вопрос.

/* Вывод входа юзера в чат и добавление в нклист через add() */
if(cmd==6) {
if(inchat=='0' && room==myroom) {
set_nick="<a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+set_nick+"</font></a>";
tadd="К нам приходит %nick%. Поприветствуем!";
if(refnick) tadd="К нам приходит %nick% по приглашению "+refnick+"! Поприветствуем!";
if(tadda[nick]!=null && tadda[nick]) tadd=tadda[nick].replace(nick,"%nick%");
if(tadd.search("%nick%")==-1) tadd="%nick% "+tadd; tadd=tadd.replace("%nick%",set_nick);
wr(set_time+"<font color=red>"+tadd+"</font><br>");

Попробуйте добавить красную строку. Я не пробовал, сразу предупреждаю.

117
AnutaBass @AnutaBass
Foggy пишет:

Лис пишет:

Лис пишет:

В
Можно ли зделать чтобы приглашонного пользователя по реферальной сылке выводился в общий лог таким образом
К нам приходит ник по приглашению ник2

Повторяю вопрос.

/* Вывод входа юзера в чат и добавление в нклист через add() */
if(cmd==6) {
if(inchat=='0' && room==myroom) {
set_nick="<a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+set_nick+"</font></a>";
tadd="К нам приходит %nick%. Поприветствуем!";
if(refnick) tadd="К нам приходит %nick% по приглашению "+refnick+"! Поприветствуем!";
if(tadda[nick]!=null && tadda[nick]) tadd=tadda[nick].replace(nick,"%nick%");
if(tadd.search("%nick%")==-1) tadd="%nick% "+tadd; tadd=tadd.replace("%nick%",set_nick);
wr(set_time+"<font color=red>"+tadd+"</font><br>");

Попробуйте добавить красную строку. Я не пробовал, сразу предупреждаю.

Мм что то не появляются ы никлисте пришедшие и не появляються в окне сообщений


может дело в моих функциях
if(cmd==6) {
if(inchat=='0' && room==myroom) {
set_nick="<a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+set_nick+"</font></a>";
set_nick+=" <a href=index.php?inc=info&nick="+nick+" onclick=\"parent.wo(this.href,'Анкета','400','320','yes');return false;\" target="+nick+" title='Посмотреть анкету "+nick+"'><img src=images/question.png border=0></a>";
tadd="К нам приходит %nick%. Поприветствуем!";
if(tadda[nick]!=null && tadda[nick]) tadd=tadda[nick].replace(nick,"%nick%");
if(tadd.search("%nick%")==-1) tadd="%nick% "+tadd; tadd=tadd.replace("%nick%",set_nick);
wr(set_time+"<font color=#0088ff>"+tadd+"</font><br>");
}
add(nick,colornick,st,mw,icon,status,inchat,time,room,love,clan);
}

Отредактировано AnutaBass - 15.01.2012
2970
удалён @Foggy
Да нет, вряд ли в них. Я попробовал поразбираться, понял суть. А она в том, что в js реферальный ник учитывается только на странице регистрации. Иначе говоря, суть того, что нам надо сделать - сохранить в память браузера refnick со страницы регистрации, например, в куки. а потом при входе в чат достать из кук рефник. после его удалить из кук.
Сразу извиняюсь, весь код для работы этого предоставить не смогу. Только что перешёл на линукс, ни файлов своих, ни редактора адекватного пока нет.
Для начала надо установить на страницу регистрации код, который научит страницу запоминать в куки (чтение на странице регистрации не нужно).
Это куда-нибудь между <head> и </head> на странице регистрации:
function setcookie(key,str,min) // Функция записи Cookie
{
if(!key) return; // Если куки нет, вернуться
if(!min) min=60*24*365; // если нет времени кук, установить год
var date = new Date();
date.setTime(date.getTime()+(min*60*1000)); // Вычисляет время, до которого устанавливается кука
document.cookie = key+"="+str+";expires="+date.toGMTString()+"; path=/"; // устанавливает XD
}

А вот что дальше, я без проб (которые для меня сейчас невозможны) не могу дать правильный код. Нужно, чтобы код запомнил реферальный ник в куки (код подобен "Функции проверки и добавлиния игнора в массив/cookie" в скриптах чата, но должен отличаться), а потом при входе в чат проверил, есть ли кука рефника. И если есть, вывел бы приветствие иначе.
Надеюсь, кто-нибудь продолжит мою идею, ибо мне тоже интересна идея этого скрипта)

117
AnutaBass @AnutaBass
Foggy пишет:

Да нет, вряд ли в них. Я попробовал поразбираться, понял суть. А она в том, что в js реферальный ник учитывается только на странице регистрации. Иначе говоря, суть того, что нам надо сделать - сохранить в память браузера refnick со страницы регистрации, например, в куки. а потом при входе в чат достать из кук рефник. после его удалить из кук.
Сразу извиняюсь, весь код для работы этого предоставить не смогу. Только что перешёл на линукс, ни файлов своих, ни редактора адекватного пока нет.
Для начала надо установить на страницу регистрации код, который научит страницу запоминать в куки (чтение на странице регистрации не нужно).
Это куда-нибудь между <head> и </head> на странице регистрации:
function setcookie(key,str,min) // Функция записи Cookie
{
if(!key) return; // Если куки нет, вернуться
if(!min) min=60*24*365; // если нет времени кук, установить год
var date = new Date();
date.setTime(date.getTime()+(min*60*1000)); // Вычисляет время, до которого устанавливается кука
document.cookie = key+"="+str+";expires="+date.toGMTString()+"; path=/"; // устанавливает XD
}

А вот что дальше, я без проб (которые для меня сейчас невозможны) не могу дать правильный код. Нужно, чтобы код запомнил реферальный ник в куки (код подобен "Функции проверки и добавлиния игнора в массив/cookie" в скриптах чата, но должен отличаться), а потом при входе в чат проверил, есть ли кука рефника. И если есть, вывел бы приветствие иначе.
Надеюсь, кто-нибудь продолжит мою идею, ибо мне тоже интересна идея этого скрипта)

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

Отредактировано AnutaBass - 15.01.2012
2970
удалён @Foggy
AnutaBass, информер, к сожалению, не подлежит изменению. А если этот код прятать в общие функции, он не сработает на странице регистрации (кстати, во внутренних скриптах чата он уже есть по умолчанию). Посему на страницу регистрации надо его отдельно написать. А потом ещё и вызвать в нужном месте.

117
AnutaBass @AnutaBass
Foggy пишет:

AnutaBass, информер, к сожалению, не подлежит изменению. А если этот код прятать в общие функции, он не сработает на странице регистрации (кстати, во внутренних скриптах чата он уже есть по умолчанию). Посему на страницу регистрации надо его отдельно написать. А потом ещё и вызвать в нужном месте.

Думаю Дима прочтет и что нибудь сделает)

2970
удалён @Foggy
Пусть сий "заказчик" забанен, прошу форумчан, понимающих js помочь с её проблемой! Мне самому интересно её решение.

3910
Дмитрий @Q-Tec
Так может просто считывать из куков реферала ник пригласившего? (внутри чата уже изменить время хранения этой куки, что бы не вечно выводилось) как крайний вариант.
Или нужен именно JS вариант?

Отредактировано Q-Tec - 16.01.2012
1007
BETEPAH @BETEPAH
Foggy пишет:

Пусть сий "заказчик" забанен, прошу форумчан, понимающих js помочь с её проблемой! Мне самому интересно её решение.

Хотелось бы для начала небольших разъяснений от администрации, что значит строка var refnick=''; в шаблоне регистрации, и откуда можно получить ник пригласившего.
Реферальные ссылки ведут на главную страницу чата, например, designchat.ru/?ref=BETEPAH и при переходе на страницу регистрации ник пригласившего уже не значится в адресной строке.
Можно конечно было бы в кукис записывать на титульной странице, но это не очень правильно, так как даже зарегистрированный человек может случайно нажать на чью-то реферальную ссылку в анкете и ему будет записано неправильное значение. Да и вообще, это напоминает почесывание правого уха левой рукой.
Лучше было бы, если бы информация о пригласившем заносилась в базу (возможно так оно и есть, раз количество приглашенных где-то считается и фигурирует в топе - что скажет Дмитрий?)

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