VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
РУСификация русских треков на shoutcast радио для vBulletin
9
Помощи ждать не было времени и обитатели этого форума мало реагировали на мою проблему проблему здесь http://vbsupport.ru/forum/showthread.php?t=11189&page=7 ... решил своими силами написать функцию русификации и пристроить её к shoutcast для vBulletin. делюсь: Заходите в продукты и модули\управление модулями\Shoutcast Status Full - Main\редактировать и меняете старый код на тот что ниже или просто добавляете строчки красного цвета в стандартный код.
Code:
// Shoutcast Server Stats
$scdef = "РАДИО ЖБИ.NET";
$scip = "192.168.0.1";
$scport = "1320";
$scpass = "raw";
$ircsite = "irc.server.net";
//End configuration
// Parses shoutcasts xml to make an effective stats thing for any website
$scfp = @fsockopen($scip, $scport, &$errno, &$errstr, 1);
if(!$scfp) {
eval('$scast = "' . fetch_template('forumhome_shoutcast_off') . '";');
}else{
if($scsuccs!=1){
fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
while(!feof($scfp)) {
$page .= fgets($scfp, 1000);
}
}
//define xml elements
$loop = array("AVERAGETIME", "CURRENTLISTENERS", "PEAKLISTENERS", "MAXLISTENERS", "SERVERGENRE", "SERVERURL", "SERVERTITLE", "SONGTITLE", "SONGURL", "IRC", "ICQ" ,"AIM", "WEBHITS", "STREAMHITS", "LISTEN", "STREAMSTATUS", "BITRATE", "CONTENT");
//define all the variables to get (delte any ones you don't want)
$y=0;
while($loop[$y]!=''){
$pageed = ereg_replace(".*<$loop[$y]>", "", $page);
$scphp = strtolower($loop[$y]);
$$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
$$scphp = urldecode($$scphp);
;
$y++;
}
//end intro xml elements
//get song info and history
$pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
$pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
$songatime = explode("<SONG>", $pageed);
$r=1;
while($songatime[$r]!=""){
$t=$r-1;
$playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
$playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
$song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
$song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
$song[$t] = urldecode($song[$t]);
require_once('./a.charset.php');
$song[$t] = unicode_escape("$song[$t]");
$dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
$dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$dj[$t]=unicode_escape("$dj[$t]");
$r++;
}
//end song info
fclose($scfp);
}
$averagemin = round($averagetime/60,2);
$irclink = 'irc://'.$ircsite.'/'.$irc.'';
$listenamp = 'http://'.$scip.':'.$scport.'/listen.pls';
$listenlnk = 'http://'.$scip.':'.$scport.'/';
$mplnk = 'http://'.$scip.':'.$scport.'/';
// MP popup link
if ($_REQUEST['do'] == 'mp')
{
eval('print_output("' . fetch_template('forumhome_shoutcast_mp') . '");');
}
// RP popup link
if ($_REQUEST['do'] == 'rp')
{
eval('print_output("' . fetch_template('forumhome_shoutcast_rp') . '");');
}
// QT popup link
if ($_REQUEST['do'] == 'qt')
{
eval('print_output("' . fetch_template('forumhome_shoutcast_qt') . '");');
}
//display stats
if($scfp) {
if($streamstatus == "1"){
eval('$scast = "' . fetch_template('forumhome_shoutcast') . '";');
} else {
eval('$scast = "' . fetch_template('forumhome_shoutcast_off') . '";');
}
}
далее кидаете a.charset.php файлик (во вложении ниже) в root папку форума(где основной index.php). Всё, если всё правильно сделали в разделе радио русские треки будут отображаться корректно... Данный форум тоже не лишён этой проблемы.. Кстати загорелся я поставить радио у себя после того как увидел его у вас на форуме...
вот и сама функция перекодировки юникодовских иероглифов
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
закат солнца и парсинг xml вручную ?
я так понимаю проблема возникает далеко не у всех, а только у кого php5 и чтото там наверчено с парсером xml.
@raw
Продвинутый
Join Date: Nov 2007
Location: Sochi
Posts: 97
Версия vB: 3.7.0
Reputation:
Опытный 73
Репутация в разделе: 36
0
Quote:
Originally Posted by netwind
закат солнца и парсинг xml вручную ?
я так понимаю проблема возникает далеко не у всех, а только у кого php5 и чтото там наверчено с парсером xml.
не знаю у всех или не у всех... допустим на этом форуме эта проблема есть тоже... разверни основной список предыдущих песен и увидишь.... предложи действенную альтернативу
@ILoveYou
Простоузер
Join Date: Dec 2007
Posts: 18
Версия vB: 3.7.2
Reputation:
Novice 2
Репутация в разделе: 2
0
Проблема возникает у тех, у кого SHOUTCast из-за того что он не хочет знать русского(1251) при отдаче XML(может знающие его когда нить научат?;) ). А за перекодировщик спасибо )
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
а вот с этим что делать ?
Preasches - ÿÿÿÿÿÿÿ
чэто в 1251 выглядит как "Preasches - яяяяяяяя". перекодировать бессмысленно. в какой момент портится?
так и есть именно так происходит... винамповский плагин шоуткаст dsp182bwin передавал на shoutcast dnas сервер непонятные яяяя(те ÿÿÿÿÿÿÿ )... поэтому необходимо плагин патчить так сказать поставить его на путь истинный.. но так и никто не предложил альтернативы моей перекодировки( (это я про парсинг)
@КотЪ
Администратор
Неадекватный
Join Date: Aug 2005
Posts: 5,263
Версия vB: 3.8.x
Reputation:
Гуру 3907
Репутация в разделе: 2414
1
Нельзя винамп патчить, так как "патчер" глючный нахер, и яяяяя яяяяя яяяя он перестает передавать, зато и любой другой битрейт, кроме 24 кб перестает тоже.
@raw
Продвинутый
Join Date: Nov 2007
Location: Sochi
Posts: 97
Версия vB: 3.7.0
Reputation:
Опытный 73
Репутация в разделе: 36
3
Quote:
Originally Posted by КотЪ
Нельзя винамп патчить, так как "патчер" глючный нахер, и яяяяя яяяяя яяяя он перестает передавать, зато и любой другой битрейт, кроме 24 кб перестает тоже.
А никто не говорит что винамп патчить, - надо патчить всего лишь установленный dsp плагин для трансляции шоуткаст радио и сам шоуткаст сервер(напоминаю это нужно чтобы треки на русском передавались не в виде "яяяяяяя" а в виде юникодовских символов, которые напрямую в шоуткаст блоке на форуме отображаются как набор непонятных символов, а функция выше преобразует их в русские - в итоге всё в малине=))
Битрейты передаются какие душе угодно...
ниже вложение шоуткаст плагин+шоуткаст сервер+патчи для них
@RostiX
Простоузер
Join Date: Mar 2008
Posts: 13
Reputation:
Novice 0
Репутация в разделе: 0
0
Чёто всёравно не пашет воть:+ DJ Riga - 07.MC ÆÀÍ & Dj Riga - Äî Ñâиäàíиÿ (Enner Sence Remix)