€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90 •
Посмотреть все темы
Вещание нику
1
...
5
6
7
2615
Сергей
@Pegass
14.06.2012
Dimitry
пишет:
да думаю может твой скрипт загнать поумолчанию уже, так всем проще будет..
скажи только что именно чтоб косяков небыло непредвиденных)
тогда надо параметр pass в конец переставить и ещё одно условие добавить
**********
тогда
/* [НАСТРОЙКИ] */
добавить
var camkey="0";
/*передаваемый и меняющийся динамически пароль к приватному вещанию*/
var chatcamkey ="2147483647"
/*передаваемый и меняющийся динамически пароль к публичному*/
/* [Функции - общие] */
Добавить
/* генератор camkey */
function mtRand(min, max)
{
var range = max - min + 1;
var n = Math.floor(Math.random() * range) + min;
return n;
}
function mkPass(len)
{
var len=len?len:14;
var pass = '';
var c = '';
for (i = 0; i < len; i++) {
c = String.fromCharCode(mtRand(48, 57));
pass += c;
}
return pass;
}
/* [Функции - нижнего фрейма] */ - /* Функция ручного изменения статуса */
красное
заменить на
синее
parent.hidden.location.href='index.php?inc=write&'+parent.yourkey+'&text=/status '+status+'&r='+Math.random();
if(status==99 || status==98)
{
if(status==98) {chatcamkey=mkPass(mtRand(3, 9)); parent.hidden.location.href='index.php?inc=write&'+parent.yourkey+'&text=/status '+status+' '+chatcamkey+'&r='+Math.random();}
if(status==99) {web_priv=1; web_priv_on=1; camkey=mkPass(mtRand(3, 9)); parent.hidden.location.href='index.php?inc=write&'+parent.yourkey+'&text=/status '+status+' '+camkey+'&r='+Math.random();}
}
else parent.hidden.location.href='index.php?inc=write&'+parent.yourkey+'&text=/status '+status+'&r='+Math.random();
Админка -=Модерация=- Скрипты в чате - /* [Функции - формирования никлиста] */ /* Добавление ника в таблицу участников */
красное
заменить на
синее
if(webcam) {
if(stat2==99||stat2==98)
{
if( admin=='1'||stat2==98)
icqst="<a href=# onclick='loadvideo(\"webcam"+nick+"\",\""+webcamhost+"\",\""+nick+"\",0);return false;'>"+icqst+"</a>";
else
icqst="<a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_access\";return false;'>"+icqst+"</a>";
if(nick==mynick && loaded)
loadvideo("mywebcam",webcamhost,nick,1);
}
else
if(nick==mynick && loaded)
loadvideo("mywebcam","");
}
if(webcam) {
if(stat2==99 || stat2==98)
{
if(stat2==98)
icqst="<a href='javascript:void(0);' onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +": pubcam\";return false;'>"+icqst+"</a>";
else
icqst="<a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_access\";return false;'>"+icqst+"</a>";
if(nick==mynick && loaded)
{
if(stat2==99) loadvideo("mywebcam",webcamhost,nick,1,camkey);
if(stat2==98) loadvideo("mywebcam",webcamhost,nick,1,chatcamkey);
}
}
else if(nick==mynick && loaded) loadvideo("mywebcam","");
}
/* [Функция - вывода сообщений и команд] */
красное
заменить на
синее
if(tonick==mynick) {
text = text.replace("webcam_ok","<a href=# onclick='parent.loadvideo(\"webcam"+nick+"\",\""+webcamhost+"\",\""+nick+"\",0);return false;'>Нажмите для просмотра</a>");
text = text.replace("webcam_access","Разрешить просмотр <a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_ok\";return false;'>да</a>/<a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_no\";return false;'>нет</a>?")}
else {text = text.replace("webcam_access","Разрешите просмотр?");
text = text.replace("webcam_ok","Просмотр разрешаю");
};
text = text.replace("webcam_no","Просмотр отклонён");
if(tonick==mynick)
{
text = text.replace("webcam_ok_b","<a href=# onclick='parent.loadvideo(\"webcam"+nick+"\",\""+webcamhost+"\",\""+nick+"\",0,\"");
text = text.replace("webcam_ok_e","\");return false;'>Нажмите для просмотра</a>");
text = text.replace("webcam_access","Разрешить просмотр <a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_ok_b\"+camkey+\"webcam_ok_e \";return false;'>да</a>/<a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_no\";return false;'>нет</a>?");
if (text.indexOf("pubcam")!=-1)
{
if(loaded==1)
parent.hidden.location.href = "index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +": subcam"+chatcamkey;
return false;
}
if (text.indexOf("subcam")!=-1)
{
text = text.replace(tonick+": subcam","");
if(loaded==1)
parent.loadvideo("webcam"+nick,webcamhost,nick,0,text);
return false;
}
}
else
{
text = text.replace("webcam_access","Разрешите просмотр?");
if (text.indexOf("webcam_ok_b")!=-1) text=tonick+": Просмотр разрешаю";
if (text.indexOf("pubcam")!=-1) {return false;}
if (text.indexOf("subcam")!=-1) {return false;}
};
text = text.replace("webcam_no","Просмотр отклонён");
Отредактировано Pegass -
14.06.2012
297
Александр
@SmoL
14.06.2012
Поставил последнее обновление (выше пост), все работает как нужно. Но если закрыть вещание, выйти с чата и опять войти, окно автоматически открывается опять, но уже с нерабочим вещанием.
2615
Сергей
@Pegass
14.06.2012
Если закрыть вещание, то такого быть не должно, а вот если закрыть просмотр, то такое может быть, особенно если при входе в чат отображается последние миллион сообщений))
20090
Dimitry
@Dimitry
14.06.2012
можно же делать проверку переменной loaded
297
Александр
@SmoL
14.06.2012
Pegass
, 10 сообщений отображаются, и окно все равно после закрытия просмотра вещания (чужого), открывается после нового входа в чат.
2615
Сергей
@Pegass
14.06.2012
Ну давайте попробуем добавить зелёное как
https://vmeste.eu/forum?pid=296088#p296088
297
Александр
@SmoL
14.06.2012
Ну вроде бы теперь работает нормально)
20090
Dimitry
@Dimitry
14.06.2012
Решил я переписать всё это по своему, ждите обновления)
1007
BETEPAH
@BETEPAH
14.06.2012
Dimitry
пишет:
Решил я переписать всё это по своему, ждите обновления)
Раз уж так, то если не сложно, можно выделить еще один статус вещания, для того, о чем говорилось в топике? Чтоб без костылей обойтись.
Если кратко, то при выборе статуса 97 чтоб человеку, указанному в fmsg.tonick, отправлялось в приват приглашение подключиться к вещанию, а для остальных было незаметно, что статус вещающего изменился.
P.S.
Или попробовать вообще без привязки к статусу запускать камеру, если это возможно.
Отредактировано BETEPAH -
14.06.2012
20090
Dimitry
@Dimitry
14.06.2012
зачем людям навязывать вещание? не согласен с решением... хотя может если народ не знает как начать вещание, то пригласить проще...
И делать это нужно вовсе не так, нужно делать кнопку типо как отправить в приват, только пригласить к просмотру.
20090
Dimitry
@Dimitry
14.06.2012
if (text.indexOf("pubcam")!=-1)
{
if(loaded==1) parent.hidden.location.href = "index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +": subcam"+chatcamkey;
return false;
}
Этого нельзя делать, во первых часто будут антифлуды, во вторых можно заспамить ник и он не сможет писать.
1007
BETEPAH
@BETEPAH
14.06.2012
Dimitry
пишет:
нужно делать кнопку типо как отправить в приват, только пригласить к просмотру.
Именно об этом и была просьба.
Если человек хочет включить вещание для кого-то, но незаметно для других, ссылка на подключение отправится в приват. Разве я не так же написал? 😉
Просто это востребованная функция. Люди хотят вдвоем пообщаться, но чтоб другие не приставали с намерениями подключиться к вещанию.
20090
Dimitry
@Dimitry
14.06.2012
т.е. нужно тогда статус такой и чтоб никто не мог подключиться, толькоп по приглашению?
типо статус вещаю по приглашению
2615
Сергей
@Pegass
14.06.2012
ога, у меня сейчас так сделано)))
1007
BETEPAH
@BETEPAH
14.06.2012
Dimitry
пишет:
т.е. нужно тогда статус такой и чтоб никто не мог подключиться, толькоп по приглашению?
типо статус вещаю по приглашению
Не только не могли подключиться, а вообще смену статуса и ссылку для подключения мог видеть только один человек, чтоб для остальных статус включившего вещание оставался неизменным.
У меня тоже реализовано через дополнительный промт-запрос (решение приведено
в третьем комментарии
этой ветки), но я это называю костылем, потому как смотреть на такой код без слез тяжело. Вот и подумал, раз грядёт передел, может и эту возможность сделать аккуратнее...
2615
Сергей
@Pegass
14.06.2012
Как я себе представляю переделанное вещание)))
1) отвязаться от статуса вообще
2) по аналогии со статусом(вывод в информер и возможность использовать в скриптах) обзавестись 2-мя параметрами
а) Тип вещания(хоть 500 штук)
б) ключ сессии
3) оба параметра передавать сообщением вида "/<Сменить тип вещания> <номер типа> <ключ сессии>"
4)ключ менять при каждой смене типа вещания
Ну это конечно по хорошему
2615
Сергей
@Pegass
14.06.2012
Dimitry
пишет:
Публичное вещание будет как ранее, а приватное с секретным ключом.
Так уже было, просто хотелось паблик прикрыть от просмотра извне))))
20090
Dimitry
@Dimitry
14.06.2012
ну так оно на то и публичное, чтобы все могли видеть, а на счёт того что извне, так это ещё и не каждый ХАКЕР допрёт как сделать можно, главное приватное теперь скрыто полностью, так что думаю сейчас правильное решение, выложил в обновлениях также поправил всю обработку разрешения, думаю стало лучше чем был вариант)
2615
Сергей
@Pegass
14.06.2012
Дак я вообще к хаку отношения не имею, я только по ЭЦП, но как то справился же))))
20090
Dimitry
@Dimitry
14.06.2012
ну флешку тоже как то напрогил а никто не мог до тебя это сделать, кстати где 6ю версию флеша взял?)