ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Не могу найти текст с Веб-морды Сэма

 

410
Евгений @Drakkar
Добрый день. Ситуация такая:
Решил перевести на русский язык встроенную в Сэм страничку заказов песен. Всё пошло удачно и английские слова заменялись на русские, пока не столкнулся с некоторыми словосочетаниями, которых просто нет в php Сэма. Например:
Пытаюсь я через веб-морду заказать трек, который уже стоит в очереди у Сэма. Мне он пишет:

Строчку "Твой заказ обломился" я поменял в display.request.error.php
Чуть а чуть ниже эта надпись: Artist already in queue to be played. Перевод: Этот трек уже в очереди и скоро будет проигран.
Всё перерыл, не могу найти файл, где меняется эта строчка. В файле display.request.error.php стоит переменная:
<h2 class="error"><?php echo $message; ?></h2> .... Я так понимаю, что она кроется в $message. И она может быть где угодно. Но скорей всего в папке с Сэмом.

Что я делаю дальше: Беру тотал коммандер - в нём есть функция поиска текста в файлах. Выбираем папку с Сэмом, вбиваем в поиск: "Artist already in queue to be played". Думаю ща мне php-шку найдёт. Фигу - Тотал указывает, что файл с таким текстом САМ СЭМ !


Всё. Тупик....

6245
Тарас @tarasian666
Если это именно сэм шлет этот меседж и нет возможности подколупнуть его то делаем if message == 'artist alredy...' message ='твой заказ обломился'

410
Евгений @Drakkar
tarasian666 пишет:

то делаем if message == 'artist alredy...' message ='твой заказ обломился'


Подскажи, как сделать? В php правим строчки оригинала

html>
<head>
<title>Ошибка заказа</title>
<link rel="shortcut icon" href="favicon.ico" />
<!-- General styles of the samPHPweb pages -->
<link rel="stylesheet" type="text/css" href="styles/style.css" />
<!-- Request Error page specific styles -->
<link rel="stylesheet" type="text/css" href="styles/request.error.css" />
</head>

<body>

<!-- BEGIN:PAGE -->
<div id="page">
<h1>Заказ</h1>
<h2>Твой заказ обломился:</h2>
<h2 class="error"><?php echo $message; ?></h2>

<?php require_once('display.footer.php'); ?>

</div>
<!-- END:PAGE -->

</body>
</html>


На
html>
<head>
<title>Ошибка заказа</title>
<link rel="shortcut icon" href="favicon.ico" />
<!-- General styles of the samPHPweb pages -->
<link rel="stylesheet" type="text/css" href="styles/style.css" />
<!-- Request Error page specific styles -->
<link rel="stylesheet" type="text/css" href="styles/request.error.css" />
</head>

<body>

<!-- BEGIN:PAGE -->
<div id="page">
<h1>Заказ</h1>
<h2>Твой заказ обломился:</h2>
<h2 if message == 'Artist already in queue to be played' message ='твой заказ обломился'</h2>

<?php require_once('display.footer.php'); ?>

</div>
<!-- END:PAGE -->

</body>
</html>

... да нет... проверил, глупость оказалось. Не робит есесенна... где то косяк - увы не могу понять где.

Отредактировано Drakkar - 11.11.2012
6245
Тарас @tarasian666
не ну не так грубо и дословно )
if ($message == 'Artist already in queue to be played' )$message ='твой заказ обломился';
echo $message;

410
Евгений @Drakkar
сделал, как ты сказал:
<div id="page">
<h1>Заказ</h1>
<h2>Твой заказ обломился:</h2>
<h2 class="error"><?php echo if ($message == 'Artist recently played.' )$message ='твой заказ обломился';
echo $message;; ?></h2>

<?php require_once('display.footer.php'); ?>

</div>

выдало ошибку:
Parse error: syntax error, unexpected T_IF in C:\Program Files\VertrigoServ\www\req\display\display.request.error.php on line 18


Попытался сделать по-своему. Может грубо и топорно, но работает :)

<div id="page">
<h1><center>Заказ песни</center></h1>
<h2>Ошибка: Эта песня уже в очереди и скоро будет проиграна.</h2>
<?php require_once('display.footer.php'); ?>

</body>

Отредактировано Drakkar - 11.11.2012
6245
Тарас @tarasian666
по первому - facepalm

по второму - можно и так )

727
Leff27 @Leff27
Омг :D
<h2 class="error">
<?php
if ($message=='Artist recently played.' )$message ='твой заказ обломился';
echo $message;
?>
</h2>

410
Евгений @Drakkar
Спасибо большое tarasian и Leff27. Очень помогли. Теперь подмена работает чётко. Но с решением одной проблемы, возникли следующие. Ведь кроме выводимого сообщения Artist already in queue to be played, есть ещё куча других случаев, когда песня играть не будет в связи с заданными тобой правилами ротации. Например не хочешь, чтоб один и тот же чел заказывал больше шести песен в 2 часа - получи мессадж: Request limit reached. You can only request 6 songs every 120 minutes. :)

727
Leff27 @Leff27
Запиши все возможные сообщения в один array и сравнивай через цикл с сообщением(один из вариантов), если подходит - выбирай соответствующее значение из другого array

6245
Тарас @tarasian666
через switch помоему лучше

410
Евгений @Drakkar
tarasian666 пишет:

через switch помоему лучше

Можно рассказать, как именно

89
Azat @azatxaker
switch ($message) {
case 'Some Error':
$message = 'Ошибка такая-то';
break;
case 'Another error':
$message = 'Другая ошибка';
break;
}

Отредактировано azatxaker - 11.11.2012
410
Евгений @Drakkar
СПАСИБО огромное Leff27, который мне помогал. Так же Thanks Tarasian666 за правильное направление мыли и azatxaker за её развитие :)
Всё получилось. Всё работает.