Вход Регистрация
Файл: system/inc/radio.php
Строк: 1006
<?

if(!defined('MOZG'))
    die(
'Hacking attempt!');
    

require_once ( 
ENGINE_DIR "/modules/radio/data/config.php" );

$allow_edit_radio = array(1);

if( !
in_array($user_info['user_group'], $allow_edit_radio) ) msgbox"Ошибка",  "Вам запрещено просматривать данный раздел""javascript:history.go(-1)" );

if ( isset ( 
$_REQUEST['id'] )) $id intval$_REQUEST['id'] ); else $id "";
if ( isset ( 
$_REQUEST['action'] )) $action $_REQUEST['action']; else $action "";

function 
makeDropDown($options$name$selected) {
    
$output "<select size=1 name="$name">rn";
    foreach ( 
$options as $value => $description ) {
        
$output .= "<option value="$value"";
        if( 
$selected == $value ) {
            
$output .= " selected ";
        }
        
$output .= ">$description</option>n";
    }
    
$output .= "</select>";
    return 
$output;
}

function 
showRow($title ""$description ""$field ""$last "") {
   echo 
"<tr>
   <td style="
padding:4px" class="option">
    <b>
$title</b>";
    
    if(
$description !="") echo "<br /><span class=small>$description</span>"
    
    echo 
"<td width="45%" align="left" style="padding:4px">
    
$field
    </tr>"
;
    if(
$last != "yes") echo "<tr><td background="engine/skins/images/mline.gif" height=1 colspan=2></td></tr>";
    
$bg "";
    
$i ++;
}
    
function 
top_menu$what ){
echoheader();    
    echo <<<HTML


<div class="hardcore">
HTML;

    if( 
$what == "radio" ) echo "<span class="active">Радиостанции</span><a href="?mod=radio&action=category">Категории</a><a href="?mod=radio&action=settings">Настройки</a></div>";
    elseif( 
$what == "radio_edit" ) echo "<a href="?mod=radio"><</a><span class="active">Радиостанции</span><a href="?mod=radio&action=category">Категории</a><a href="?mod=radio&action=settings">Настройки</a></div>";
    elseif( 
$what == "cat" ) echo "<a href="?mod=radio">Радиостанции</a><span class="active">Категории</span><a href="?mod=radio&action=settings">Настройки</a></div>";
    elseif( 
$what == "cat_edit" ) echo "<a href="?mod=radio">Радиостанции</a><a href="?mod=radio&action=category"><</a><span class="active">Категории</span><a href="?mod=radio&action=settings">Настройки</a></div>";
    elseif( 
$what == "settings" ) echo "<a href="?mod=radio">Радиостанции</a><a href="?mod=radio&action=category">Категории</a><span class="active">Настройки</span></div>";
    
}

########################################################################################
########################################################################################
########################################################################################
// Категории // Категории // Категории // Категории // Категории // Категории // Категории // Категории
########################################################################################
########################################################################################
########################################################################################

// ********************************************************************************
// Список категорий
// ********************************************************************************
if( $action == 'category' ) {

top_menu"cat" );

echo <<<HTML
<script>
$(document).ready(function() {

    $('#add_cat').submit(function() {

        if( $('input[name="cat_name"]').val() == "" ) {
            DLEalert('Имя категории является обязательным при добавление категории!', '
$lang[p_info]');
            return false;
        }

        if( $('input[name="alt_cat_name"]').val() == "" ) {
            DLEalert('Альтернативное имя категории является обязательным при добавление категории!', '
$lang[p_info]');
            return false;
        }

    });
    
    $(".delete_me").click(function() {
    
        var b = {}, link = $(this).attr("href");
        b[dle_act_lang[1]] = function() { 
            $(this).dialog("close");                
        };
    
        b[dle_act_lang[0]] = function() { 
            $(this).dialog("close");
            document.location=link;                    
        };
    
        $("#dlepopup").remove();
    
        $("body").append("<div id='dlepopup' title='Предупреждениe' style='display:none'><div id='dlepopupmessage'><br />Вы уверены, что хотите удалить категорию?</div></div>");
    
        $('#dlepopup').dialog({
            autoOpen: true, width: 200, buttons: b
        });

        return false;
    });  
    
});

</script>
<form method="post" id="add_cat" action="" >
<div style="padding-top:5px;padding-bottom:2px;">
<table width="100%">
    
    <tr>
        <td style="padding:5px;" bgcolor="#FFFFFF">
        
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Добавление новой категории</div></td>
    </tr>
</table>
<div class="unterline"></div>
<table width="100%">
    <tr>
        <td width="260" style="padding:4px; height:42px;">Имя:</td>
        <td>
            <input class="edit bk" type="text" name="cat_name">
            <br /><span class="small">пример: <b>Популярная музыка</b></span>
        </td>
    </tr>
    <tr>
        <td style="padding:4px; height:42px;">Альтернативное имя:</td>
        <td>
            <input class="edit bk" type="text" name="alt_cat_name">
            <br /><span class="small">пример: <b>pop-music</b></span>
        </td>
    </tr>
    <tr>
        <td colspan="2"><div class="hr_line"></div></td>
    </tr>
    <tr>
        <td style="padding:4px;">&nbsp;</td>
        <td>
            <input type="submit" class="submit" value="Добавить категорию" />
            <input type="hidden" name="mod" value="radio" />
            <input type="hidden" name="user_hash" value="
$dle_login_hash" />
            <input type="hidden" name="action" value="add" />
        </td>
    </tr>
</table>

</td>
        
    </tr>
</table>
</div>
</form>

<form method="post" action="">
<div style="padding-top:5px;padding-bottom:2px;">
<table width="100%">
    <tr>
        <td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Список категорий</div></td>
    </tr>
</table>
<div class="unterline"></div>
<table width="100%">
    <tr>
        <td style="padding:2px;">ID</td>
        <td style="padding:2px;">Position</td>
        <td>Название</td>
        <td>Альт название</td>
        <td width="120">Действия</td>
    </tr>
    <tr>
        <td colspan="7"><div class="hr_line"></div></td>
    </tr>
HTML;
        
$cat_found FALSE;

$db->query"SELECT * FROM " PREFIX "_radio_cat ORDER BY posi ASC, id ASC" );
while ( 
$row $db->get_row() ) {

    
$cat_found TRUE;
    
if( 
$config['allow_alt_url'] == "yes" $link "<a class="list" href="" . $config['home_url'] . "radio/" . $row['alt_name'] . "/">" stripslashes$row['name'] ) . "</a>";
    else 
$link "<a class="list" href="" . $config['home_url'] . "index.php?go=radio&category=" . $row['name'] . "">" stripslashes$row['name'] ) . "</a>";    
    
    echo 
"<tr class="bj">
            <td height="
24">&nbsp;<b>" $row['id'] . "</b></td>
            <td><input class="
edit" type="text" size="5" name="posi[{$row['id']}]" maxlength="5" value="{$row['posi']}"></td>
            <td>" 
$link "</td>
            <td>" 
$row['alt_name'] . "</td>
            <td class="
list"><nobr>[<a href="?mod=radio&action=edit&id=" . $row['id'] . "">Редактировать</a>] [<a class="delete_me maintitle" href="?mod=radio&user_hash=" . $dle_login_hash . "&action=remove&id=" . $row['id'] . "">Удалить</a>]</nobr></td>
        </tr>"
;
}
$db->free();

if( 
$cat_found ) {
    echo <<<HTML
    <tr>
        <td colspan="7" style="padding:5px;"><input type="hidden" name="action" value="sort"><input type="submit" id="posi" class="submit" value="Сортировать" /></td>
    </tr>
HTML;
} else {    
    echo <<<HTML
    <tr><td colspan=5><table width="100%">
        <tr>
            <td height="100" align="center">Категорий нет Вы можете обойтись и без них)</td>
        </tr>
    </table></td></tr>
HTML;
}

echo <<<HTML
     </table>
</td>
</tr>
</table>
</div></form>
HTML;

echohtmlend();

}

// ********************************************************************************
// Редактирование категории
// ********************************************************************************
elseif( $action == "edit" ) {
    
    if( ! 
$id msg"error"$lang['cat_error'], $lang['cat_noid'], "$PHP_SELF?mod=radio&action=category" );
    
    
$row $db->super_query"SELECT * FROM " PREFIX "_radio_cat WHERE id = '$id'" );
    
    if( ! 
$row['id'] ) msg"error"$lang['cat_error'], "Не существует категорий с таким ID""$PHP_SELF?mod=radio&action=category" );
    
    
$row['name'] = stripslashespreg_replace( array ("'"'", "'''" ), array ("&quot;", "&#039;" ), $row['name'] ) );

    
top_menu"cat_edit" );
    
    echo <<<HTML
<form method="post" action="">
<div style="padding-top:5px;padding-bottom:2px;">
<table width="100%">
<tr>
<td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Редактирование</div></td>
    </tr>
</table>
<div class="unterline"></div>
<table width="100%">
    <tr>
        <td width="260" style="padding:4px; height:42px;">Имя:</td>
        <td>
            <input class="edit bk" type="text" name="cat_name" value="
{$row['name']}">
            <br /><span class="small">пример: <b>Популярная музыка</b></span>
        </td>
    </tr>
    <tr>
        <td style="padding:4px; height:42px;">Альтернативное имя:</td>
        <td>
            <input class="edit bk" type="text" name="alt_cat_name" value="
{$row['alt_name']}">
            <br /><span class="small">пример: <b>pop-music</b></span>
        </td>
    </tr>
    <tr>
        <td colspan="2"><div class="hr_line"></div></td>
    </tr>
    <tr>
        <td style="padding:4px;">&nbsp;</td>
        <td>
            <input type="submit" class="submit" value="
{$lang['vote_edit']}">
            <input type="hidden" name="action" value="doedit">
            <input type="hidden" name="user_hash" value="
$dle_login_hash" />
            <input type="hidden" name="id" value="
$row[id]">
    </tr>
</table>
</td>
    </tr>
</table>
</div></form>
HTML;
    
    
echohtmlend();

}

// ********************************************************************************
// Добавление категории
// ********************************************************************************
elseif( $action == "add" ) {
    
    
    
$cat_name $db->safesqlhtmlspecialcharsstrip_tagsstripslashes($_POST['cat_name'] ) ), ENT_QUOTES) );
    
$alt_cat_name totranslitstripslashes$_POST['alt_cat_name'] ), truefalse );
    
    if(
$cat_name ){ 
    if(
$alt_cat_name ){ 
    
$row $db->super_query"SELECT alt_name FROM " PREFIX "_radio_cat WHERE alt_name ='{$alt_cat_name}'" );
    
$db->query"INSERT INTO " PREFIX "_radio_cat (name, alt_name) values ('$cat_name', '$alt_cat_name')" );
    
    @
unlinkENGINE_DIR '/cache/system/radio_cat.php' );
    
msgbox('Информация''Категория добавлена''?mod=radio&action=category');    
 }else 
msgbox"Ошибка"'Укажите альтернативное название категории'"javascript:history.go(-1)" ); 
  }else 
msgbox"Ошибка"'Укажите  название категории'"javascript:history.go(-1)" );


// ********************************************************************************
// Сортировка категорий
// ********************************************************************************
elseif( $action == "sort" ) {
    
    foreach ( 
$_POST["posi"] as $id => $posi ) {
        if( 
$posi != "" ) {
            
$posi intval$posi );
            
$id intval$id );
            
$db->query"UPDATE " PREFIX "_radio_cat SET posi='{$posi}' WHERE id = '{$id}'" );
        }
    }
    
    @
unlinkENGINE_DIR '/cache/system/radio_cat.php' );
    
    
header"Location: ?mod=radio&action=category" );
    
}

// ********************************************************************************
// Удаление категории
// ********************************************************************************
elseif( $action == "remove" ) {

    
    if( 
$id ){ 
        
    
$db->query"DELETE FROM " PREFIX "_radio_cat WHERE id='$id'" );
    
    @
unlinkENGINE_DIR '/cache/system/radio_cat.php' );
    
    
msgbox"Информация"'Категория удалена'"?mod=radio&action=category" );
    }else 
msgbox"Ошибка"'Категории не существует'"mod=radio&action=category" );
}

// ********************************************************************************
// Запись отредактированной категории
// ********************************************************************************
elseif( $action == "doedit" ) {

    
$cat_name  $db->safesqlhtmlspecialcharsstrip_tagsstripslashes($_POST['cat_name'] ) ), ENT_QUOTES) );
    
$alt_cat_name totranslitstripslashes$_POST['alt_cat_name'] ), truefalse );
    
    if(
$id ) {
    if( 
$cat_name == "" ){ 
    
    
$row $db->super_query"SELECT id, alt_name FROM " PREFIX "_radio_cat WHERE alt_name = '$alt_cat_name'" );
    
    if( 
$row['id'] and $row['id'] != $id msg"error"$lang['cat_error'], $lang['cat_eradd'], "javascript:history.go(-1)" );

    
$db->query"UPDATE " PREFIX "_radio_cat set name='$cat_name', alt_name='$alt_cat_name' WHERE id='$id'" );
    
    @
unlinkENGINE_DIR '/cache/system/radio_cat.php' );
    
    
msgbox"Информация "'Категория отредактирована'"?mod=radio&action=category" );
}else 
msgbox"Ошибка"'Не указано название'"?mod=radio&action=category" );

}else    
msgbox"Ошибка"'Категории не существует'"?mod=radio&action=category" );

}


########################################################################################
########################################################################################
########################################################################################
// Настройки // Настройки // Настройки // Настройки // Настройки // Настройки // Настройки // Настройки
########################################################################################
########################################################################################
########################################################################################

// ********************************************************************************
// Настройки
// ********************************************************************************
elseif( $action == "settings" ) {

    
top_menu"settings" );

    echo <<<HTML
<form action="$PHP_SELF?mod=radio&action=save_settings" method="post">
<div style="padding-top:5px;padding-bottom:2px;">
<table width="100%">
    <tr>
        <td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Настройка модуля </div></td>
    </tr>
</table>
<div class="unterline"></div>
<table width="100%">
HTML;

    
showRow"Включить модуль """makeDropDown( array ("on" => 'Да'"off" => 'Нет' ), "save_con[work]""{$radio_config['work']}) );
    
showRow"Вид модального окна:"""makeDropDown( array ("pop" => "Pop-up""jq" => "jQuery UI Dialog" ), "save_con[modal]""{$radio_config['modal']}) );
    
showRow"Количество радиостанций на страницу:",  "Количество радиостанций, которое будет выводиться на страницу""<input class="edit bk" type=text style="text-aligncenter;" name="save_con[perpage]" value="{$radio_config['perpage']}" size=6>" );
    
showRow"Интервал обновления информации (в секундах!):",  "Рекомендую ставить интервал не менее 10 секунд""<input class="edit bk" type=text style="text-aligncenter;" name="save_con[timer]" value="{$radio_config['timer']}" size=6>" );
    
showRow"Размер логотипа радиостанции:""Существует две возможности использования данной настройки:<br/><br/><b>Первая:</b> Вы вводите допустимые размеры в пикселях любой из сторон оригинального изображения. Например: <b>60</b><br/><b>Вторая:</b> Вы задаете ширину и высоту оригинального изображения в формате ширина x высота. Например: <b>60x60</b>""<input class="edit bk" type=text name="save_con[cover]" value="{$radio_config['cover']}" size=20>" );
    
    echo <<<HTML
    </table>
    <table width="100%">
        <tr>
            <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Настройка мета тегов списка радиостанций</div></td>
        </tr>
    </table>
    <div class="unterline"></div>
    <table width="100%">
HTML;
    
    
showRow"Заголовок (Title):""пример: http://mysite.com/uploads/banner.jpg""<input class="edit bk" type=text name="save_con[title]" value="{$radio_config['title']}" size=60>" );
    
showRow"Описание (Description):""Краткое описание, не более 200 символов""<input class="edit bk" type=text name="save_con[description]" value="{$radio_config['description']}" size=60>" );
    
showRow"Ключевые слова (Keywords):""Введите через запятую основные ключевые слова для модуля "DLE Radio"""<input class="edit bk" type=text name="save_con[keywords]" value="{$radio_config['keywords']}" size=60>" );
    
    echo <<<HTML
    </table>
    <table width="100%">
        <tr>
            <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Настройка вывода баннера в модальном окне радиостанции</div></td>
        </tr>
    </table>
    <div class="unterline"></div>
    <table width="100%">
HTML;
    
    
showRow"Показывать баннер в всплывающем окне?:"""makeDropDown( array ("yes" => "Да""no" => "Нет" ), "save_con[banner]""{$radio_config['banner']}) );
    
showRow"Код баннера:""HTML код баннера""<textarea rows="4" style="width:98%; padding:3px;" name="save_con[banner_code]" class="bk">{$radio_config[banner_code]}</textarea>" );

    if( !
is_writable(ENGINE_DIR '/data/radio_config.php' )) {

        
$lang['stat_system'] = str_replace ("{file}""engine/data/radio_config.php"$lang['stat_system']);

        
$fail "<br /><br /><div class="ui-state-error ek37 ui-corner-all" style="padding:10px;">{$lang['stat_system']}</div>";

    } else 
$fail "";

    echo <<<HTML
<tr>
        <td style="padding:10px; text-align: center;" colspan="2"><input type="hidden" name="user_hash" value="
$dle_login_hash" /><input type="submit" class="submit" value="&nbsp;&nbsp;Сохранить&nbsp;&nbsp;" class="buttons">{$fail}</td>
    </tr>
</table>

    </tr>
</table>
</div></form>
HTML;

    
echohtmlend();

}
// ********************************************************************************
// Сохранение настроек
// ********************************************************************************
elseif( $action == "save_settings" ) {
    

    
$save_con $_POST['save_con'];
    
    
$save_con['work'] = ( isset( $save_con['work'] ) && $save_con['work'] == "on" $save_con['work'] = "on" $save_con['work'] = "off" );
    
$save_con['banner'] = ( isset( $save_con['banner'] ) && $save_con['banner'] == "yes" $save_con['banner'] = "yes" $save_con['banner'] = "no" );
    
$save_con['perpage'] = ( isset( $save_con['perpage'] ) ? $save_con['perpage'] = intval$save_con['perpage'] ) : $save_con['perpage'] = "" );
    
$save_con['timer'] = ( isset( $save_con['work'] ) ? $save_con['timer'] = intval$save_con['timer'] ) : $save_con['timer'] = "15" );
    
$save_con['banner_code'] = $db->safesql$save_con['banner_code'] );

    
$find[] = "'r'";
    
$replace[] = "";
    
$find[] = "'n'";
    
$replace[] = "";
    
    
$save_con $save_con $radio_config;
    
    
$handler fopenENGINE_DIR "/modules/radio/data/config.php""w" );
    
    
fwrite$handler"<?PHP nn// Radio Configurationsn// by Elegant Division (http://e-div.com)nn$radio_config = array (n" );
    foreach ( 
$save_con as $name => $value ) {
        
        
$value trimstripslashes$value ) );
        
$value htmlspecialchars$valueENT_QUOTES);
        
$value preg_replace$find$replace$value );
            
        
$name trimstripslashes$name ) );
        
$name htmlspecialchars$nameENT_QUOTES );
        
$name preg_replace$find$replace$name );
        
        
$value str_replace"$""&#036;"$value );
        
$value str_replace"{""&#123;"$value );
        
$value str_replace"}""&#125;"$value );
        
        
$name str_replace"$""&#036;"$name );
        
$name str_replace"{""&#123;"$name );
        
$name str_replace"}""&#125;"$name );
        
        
fwrite$handler"    '{$name}' => "{$value}",n" );
    
    }
    
fwrite$handler");nn?>" );
    
fclose$handler );
    
    
msgbox""'Настройки сохранены''?mod=radio' );
    
}

########################################################################################
########################################################################################
########################################################################################
// Радиостанции // Радиостанции // Радиостанции // Радиостанции // Радиостанции // Радиостанции
########################################################################################
########################################################################################
########################################################################################

// ********************************************************************************
// Редактирование радиостанции
// ********************************************************************************
elseif( $action == "edit_station" ) {
    
    
    
// begin cat
    
$radio_cat_info = array();
    
$cat_list "";
    
$cat_found FALSE;
    
    
$db->query "SELECT * FROM " PREFIX "_radio_cat ORDER BY posi ASC, id ASC" );
    while ( 
$row $db->get_row () ) {
        
$cat_found TRUE;

        
$cat_list .= "<option value="" . intval( $row['id'] ) . "">" stripslashes$row['name'] ) . "</option>";
        
        
$radio_cat_info[$row['id']] = array();
        
        foreach ( 
$row as $key => $value ) {
            
$radio_cat_info[$row['id']][$key] = stripslashes $value );
        }

    }
    
    if( 
$cat_found == FALSE $cat_list "<option value="">-- Создайте категории --</option>";
    
    
$cat_list "<select name="category" style="width160pxmargin4px 0;">" $cat_list "</select>";
    
$db->free ();
    
    function 
cur_cat($category 0) {
        global 
$radio_cat_info;
            
        foreach ( 
$radio_cat_info as $id => $category_name ) {
                
            
$returnstring .= "<option value="" . $id . '" ';
            
            if( $category == $id ) $returnstring .= '
selected "selected"';
            
            $returnstring .= '
>' . $category_name["name"] . '</option>';

        }
        
        $cat_list = "<select name="category" style="width: 160px; margin: 4px 0;">" . $returnstring . "</select>";
        return $cat_list;
    }
    // end cat
    
    $row = $db->super_query( "SELECT * FROM " . PREFIX . "_radio WHERE id = '
$id'" );
    
    top_menu( "radio_edit" );
    
    
    $row['
name'] = stripslashes( preg_replace( array ("'"'""'''" ), array ("&quot;""&#039;" ), $row['name'] ) );
    
$row['descr'] = stripslashes$row['descr'] );
    
    
$server "<select id="server" name="server" style="width120pxmargin0 6px 0 0padding2px;"><option value="0" disabled="disabled">-- Выберите сервер --</option>";
    if( 
$row['server'] == $server .= "<option value="0" selected="selected">Непонятно</option>"; else $server .= "<option value="0">Непонятно</option>";
    if( 
$row['server'] == $server .= "<option value="1" selected="selected">SHOUTcast</option>"; else $server .= "<option value="1">SHOUTcast</option>";
    if( 
$row['server'] == $server .= "<option value="2" selected="selected">IceCast</option>"; else $server .= "<option value="2">IceCast</option>";
    if( 
$row['server'] == $server .= "<option value="3" selected="selected">Steamcast</option>"; else $server .= "<option value="3">Steamcast</option>";
    
$server .= "</select>";

    
$work = ( $row['work'] == "1" "<option value="1" selected="selected">Да</option><option value="0">Нет</option>" "<option value="1">Да</option><option value="0" selected="selected">Нет</option>" );
    
$lastfm = ( $row['lastfm'] == "1" "<option value="1" selected="selected">Да</option><option value="0">Нет</option>" "<option value="1">Да</option><option value="0" selected="selected">Нет</option>" );
    
$playnow = ( $row['playnow'] == "1" "<option value="1" selected="selected">Да</option><option value="0">Нет</option>" "<option value="1">Да</option><option value="0" selected="selected">Нет</option>" );
    
$del_cover = ( $row['cover'] ? " <label for="del_cover"><input type="checkbox" value="yes" name="del_cover" id="del_cover">Удалить логотип?</label>" "" );
    
$coverbg = ( $row['cover'] ? "<img src="" . $config['home_url'] . "uploads/radio/" . $row['cover'] . "">" "" );
    
    
$cat_list cur_cat$row['category'] );
    
    echo <<<HTML
<form method="post" action="" id="edit_station" enctype="multipart/form-data">
<div style="padding-top:5px;padding-bottom:2px; position: relative;">
<table width="100%">
    <tr>
        <td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Редактирование</div></td>
    </tr>
</table>
{$coverbg}
<div class="unterline"></div>

<table width="100%" class="addstation">
    <tr>
        <td width="260" style="padding:4px;">Название радиостанций:</td>
        <td><input class="edit bk" type="text" name="name" size="40" value="
{$row['name']}" /><br /><span class=small>пример: <b>Русское Радио</b></span></td>
    </tr>
    <tr>
        <td style="padding:4px;">
{$lang['cat_url']}</td>
        <td><input class="edit bk" type="text" name="alt_name" size="40" value="
{$row['alt_name']}" /><br /><span class=small>пример: <b>russkoe-radio</b></span></td></td>
    </tr>
    <tr>
        <td style="padding:4px;">IP и порт сервера:</td>
        <td>
{$server}<input class="edit bk" type="text" name="station_url" value="{$row['stream']}" size="40" />
        <br /><span class="small smes"></span></td>
    </tr>
    <tr>
        <td style="padding:4px;">Битрейт:</td>
        <td><input class="edit bk" type="text" name="bitrate" size="5" value="
{$row['bitrate']}" /> kbps<br /><span class=small>пример: <b>128</b></span></td>
    </tr>
</table>
<table width="100%" class="addstation addon" style="display: none;">
    <tr>
        <td width="260" style="padding:4px;">Парсить название исполнителя и трека:</td>
        <td><select name="playnow" size="1">
{$playnow}</td>
    </tr>
    <tr><td background="engine/skins/images/mline.gif" colspan="2" style="padding: 0; height: 1px;"></td></tr>
    <tr>
        <td style="padding:4px;">Парсить информацию о исполнителе:<br/><span class=small>Информация с сайта Last.fm</span></td>
        <td><select name="lastfm" size="1">
{$lastfm}</select></td>
    </tr>
    <tr><td background="engine/skins/images/mline.gif" colspan="2" style="padding: 0; height: 1px;"></td></tr>
</table>
<table width="100%" class="addstation">
    <tr>
        <td width="260" style="padding:4px;">Радиостанция работает?</td>
        <td><select name="work" size="1">
{$work}</select></td>
    </tr>
    <tr>
        <td colspan="2"><div class="hr_line"></div></td>
    </tr>
    <tr>
        <td style="padding:4px;">Категория:</td>
        <td>
{$cat_list}</td>
    </tr>
    <tr>
        <td style="padding:4px;">Описание:</td>
        <td><textarea class="bk" name="descr" style="width:98%; padding:3px;" rows="2">
{$row['descr']}</textarea><br/><span class=small>Только текст, до 255 символов, без html/bbcode!</span></td>
    </tr>
    <tr>
        <td style="padding:4px;">Логотип радиостанции:</td>
        <td><input type="file" name="cover" size="26">
{$del_cover}<br/><span class=small>Поддерживаются форматы JPG, PNG и GIF, с размером до 500kb</span></td>
    </tr>
    <tr>
        <td colspan="2"><div class="hr_line"></div></td>
    </tr>
    <tr>
        <td style="padding:4px;">&nbsp;</td>
        <td>
            <input type="submit" class="submit" value="Сохранить" />
            <input type="hidden" name="action" value="station_doedit" />
            <input type="hidden" name="user_hash" value="
{$dle_login_hash}" />
            <input type="hidden" name="id" value="
{$row[id]}" />
        </td>
    </tr>
</table>
</td>
    </tr>
</table>
</div></form>
HTML;
    
    
echohtmlend();

}

// ********************************************************************************
// Добавление / редактирование радиостанции
// ********************************************************************************
elseif( $action == "add_station" OR $action == "station_doedit" ) {
    

    if ( isset( 
$_REQUEST['station_url'] ) AND preg_match"/^[0-9a-zA-Z_-/:.]*$/i"trim($_REQUEST['station_url'] ))) $station_url $_REQUEST['station_url']; else $station_url '';
    
    
$name $db->safesqlhtmlspecialcharsstrip_tagsstripslashes($_POST['name'] ) ), ENT_QUOTES) );
    
$alt_name totranslitstripslashes$_POST['alt_name'] ), truefalse );
    
$radio_id intval$_POST['id'] );
    
    
    if( 
$action == "add_station" ) {
    
        
$row $db->super_query"SELECT alt_name FROM " PREFIX "_radio WHERE alt_name ='{$alt_name}'" );
        if( 
$row['alt_name'] ) msgbox"error",  "Радиостанция с таким названием уже существует""?mod=radio" );
        
    } elseif( 
$action == "station_doedit" AND $radio_id ) {
    
        
$row $db->super_query"SELECT * FROM " PREFIX "_radio WHERE alt_name = '{$alt_name}'" );
        if( 
$row['id'] and $row['id'] != $radio_id msgbox"error",  "Выбраной радиостанции не существует""javascript:history.go(-1)" );
        
    } else die(
"error");
    
    
$description $db->safesqlsubstrstrip_tagsstripslashes$_POST['descr'] ) ), 0255 ) );
    
$server intval$_POST['server'] );
    
    
$category = ( $_POST['category'] > $category intval$_POST['category'] ) : $category "0" );
    
$bitrate = ( $_POST['bitrate'] > $bitrate intval$_POST['bitrate'] ) : $bitrate "" );
    
$playnow = ( $_POST['playnow'] == "1" $playnow "1" $playnow "0" );
    
$lastfm = ( $_POST['lastfm'] == "1" $lastfm "1" $lastfm "0" );
    
$work = ( $_POST['work'] == "1" $work "1" $work "0" );
    
    
// Cover
    
$cover $_FILES['cover']['tmp_name'];
    
$cover_name $_FILES['cover']['name'];
    
$cover_size $_FILES['cover']['size'];
    
$cover_name_arr explode"."$cover_name );
    
$type totranslit(end$cover_name_arr ));
    
    if( 
$cover_name != "" $cover_name totranslitstripslashes$cover_name_arr[0] ) ) . "." $type;

    if( 
stripos $cover_name"php" ) !== false ) die("Hacking attempt!");
    
    
$file_prefix rand10009999 ) . "_";
    
    if( 
is_uploaded_file$cover ) ) {
        
        if( 
$cover_size 500000 ) {
            
            
$allowed_extensions = array ("jpg""png""jpe""jpeg""gif" );
            
            if( 
in_array$type$allowed_extensions ) AND $cover_name ) {
                include_once 
ENGINE_DIR '/classes/thumb.class.php';
                
                
$res = @move_uploaded_file$coverROOT_DIR"/uploads/radio/temp_" $file_prefix $alt_name "." $type );
                
                if( 
$res ) {
@
chmodROOT_DIR"/uploads/radio/temp_" $file_prefix $alt_name "." $type0666 );
    
$thumb = new thumbnailROOT_DIR"/uploads/radio/temp_" $file_prefix $alt_name "." $type );
                    
                    if( 
$thumb->size_auto$radio_config['cover'] ) ) {
                        
$thumb->jpeg_quality(95);
                        
$thumb->saveROOT_DIR"/uploads/radio/" $file_prefix $alt_name "." $type );
                    } else {
                        @
rename(ROOT_DIR"/uploads/radio/temp_" $file_prefix $alt_name "." $typeROOT_DIR"/uploads/radio/" $file_prefix $alt_name "." $type );
                    }
@
chmodROOT_DIR"/uploads/radio/" $file_prefix $alt_name "." $type0666 );
                    
$cover_name $file_prefix $alt_name "." $type;
                    
                    if( 
$row['cover'] ) @unlinkENGINE_DIR "/uploads/radio/" totranslit($row['cover']) );
                
                
             } else 
msgbox"error",  "Произошла ошибка при загрузки логотипa.""javascript:history.go(-1)" );
            } else 
msgbox"error",  "К загрузке разрешены только файлы с расширением JPG, PNG или GIF.""javascript:history.go(-1)" );
        } else 
msgbox"error",  "Максимальный размер логотипa не должен превышать 500 Kb.""javascript:history.go(-1)" );
        @
unlinkROOT_DIR"/uploads/radio/temp_" $file_prefix $alt_name "." $type );
        
    }
     if( 
$action == "add_station" ) {
    
        
$db->query"INSERT INTO " PREFIX "_radio (name, alt_name, descr, category, stream, server, bitrate, playnow, lastfm, work, cover) values ('$name', '$alt_name', '$description', '$category', '$station_url', '$server', '$bitrate', '$playnow', '$lastfm', '$work', '$cover_name')" );
        
        
msgbox"Информация""Радиостанция добавлена""?mod=radio" );
        
    } elseif( 
$action == "station_doedit" AND $radio_id ) {

        
// delete cover
        
if( $_POST['del_cover'] == "yes" ) {
            @
unlinkROOT_DIR"/uploads/radio/" totranslit($row['cover']) );
            
$db->query"UPDATE " PREFIX "_radio set cover='' WHERE id = '{$radio_id}'" );
        }    
        
        if(
$cover_name AND $_POST['del_cover'] != "yes" $cover_name $row['cover'];
        
$db->query"UPDATE " PREFIX "_radio set name='$name', alt_name='$alt_name', descr='$description', category='$category', stream='$station_url', server='$server', bitrate='$bitrate', playnow='$playnow', lastfm='$lastfm', work='$work', cover='$cover_name' WHERE id='{$radio_id}'" );
          
     
      
msgbox"Информация""Радиостанция отредактирована""?mod=radio" );    
    
    } else die(
"error");    


}

// ********************************************************************************
// Сортировка радиостанции
// ********************************************************************************
elseif( $action == "sort_station" ) {
    
    foreach ( 
$_POST["posi"] as $id => $posi ) {
        if( 
$posi != "" ) {
            
$posi intval$posi );
            
$id intval$id );
            
$db->query"UPDATE " PREFIX "_radio SET posi='{$posi}' WHERE id = '{$id}'" );
        }
    }
    
    
header"Location:?mod=radio" );
    
}

// ********************************************************************************
// Удаление radio
// ********************************************************************************
elseif( $action == "remove_station" ) {

    
    if( ! 
$id msg"error"$lang['cat_error'], $lang['cat_noid'], "$PHP_SELF?mod=radio" );
        
    
$db->query"DELETE FROM " PREFIX "_radio WHERE id='$id'" );
    
    
msgbox"Информация""Радиостанция удалена!",  "?mod=radio" );
    
}

// ********************************************************************************
// Список радиостанций
// ********************************************************************************
else {

    
top_menu"radio" );
            
    
// begin cat
    
$radio_cat_info = array();
    
$cat_list "";
    
$cat_found FALSE;
    
    
$db->query "SELECT * FROM " PREFIX "_radio_cat ORDER BY posi ASC, id ASC" );
    while ( 
$row $db->get_row () ) {
        
$cat_found TRUE;

        
$cat_list .= "<option value="" . intval( $row['id'] ) . "">" stripslashes$row['name'] ) . "</option>";
        
        
$radio_cat_info[$row['id']] = array();
        
        foreach ( 
$row as $key => $value ) {
            
$radio_cat_info[$row['id']][$key] = stripslashes $value );
        }

    }
    
    if( 
$cat_found == FALSE $cat_list "<option value="">-- Создайте категории --</option>";
    
    
$cat_list "<select name="category" style="width180pxmargin4px 0;">" $cat_list "</select>";
    
$db->free ();
    
// end cat

    
$server "<select name="server" style="margin0 6px 0 0padding2px;" id="server"><option value="0" disabled="disabled">-- Выберите сервер --</option><option value="0">Непонятно</option><option value="1">SHOUTcast</option><option value="2">IceCast</option><option value="3">Steamcast</option></select>";

    echo <<<HTML
<form method="post" action="" id="add_station" enctype="multipart/form-data">
<div style="padding-top:5px;padding-bottom:2px;">
<table width="100%">
    <tr>
        <td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Добавление радиостанции</div></td>
    </tr>
</table>
<div class="unterline"></div>
<table width="100%">
    <tr>
        <td width="260" style="padding:4px;">Название радиостанций:</td>
        <td><input class="edit bk" type="text" name="name" size="40" /><br /><span class=small>пример: <b>Русское Радио</b></span></td>
    </tr>
    <tr>
        <td style="padding:4px;">Альтернативное имя:</td>
        <td><input class="edit bk" type="text" name="alt_name" size="40" /><br /><span class=small>пример: <b>russkoe-radio</b></span></td></td>
    </tr>
    <tr>
        <td style="padding:4px;">IP и порт сервера:</td>
        <td>
{$server} <input class="edit bk" type="text" name="station_url" value="http://" size="40" />
        <br /><span class="small smes"></span></td>
    </tr>
    <tr>
        <td style="padding:4px;">Битрейт:</td>
        <td><input class="edit bk" type="text" name="bitrate" size="5" /> kbps<br /><span class=small>пример: <b>128</b></span></td>
    </tr>
</table>
<table width="100%" class="addstation addon" style="display: none;">
    <tr>
        <td width="260" style="padding:4px;">Парсить название исполнителя и трека:</td>
        <td><select name="playnow" size="1"><option value="1">Да</option><option value="0">Нет</option></td>
    </tr>
    <tr>
        <td style="padding:4px;">Парсить информацию о исполнителе:<br/><span class=small>Информация с сайта Last.fm</span></td>
        <td><select name="lastfm" size="1"><option value="1">Да</option><option value="0">Нет</option></select></td>
    </tr>
</table>
<table width="100%" class="addstation">
    <tr>
        <td width="260" style="padding:4px;">Радиостанция работает?</td>
        <td><select name="work" size="1"><option value="1">Да</option><option value="0">Нет</option></select></td>
    </tr>
    <tr>
        <td colspan="2"><div class="hr_line"></div></td>
    </tr>
    <tr>
        <td style="padding:4px;">Категория:</td>
        <td>
{$cat_list}</td>
    </tr>
    <tr>
        <td style="padding:4px;">Описание:</td>
        <td><textarea class="bk" name="descr" style="width:98%; padding:3px;" rows="2"></textarea><br/><span class=small>Только текст, до 255 символов, без html/bbcode!</span></td>
    </tr>
    <tr>
        <td style="padding:4px;">Логотип радиостанции:</td>
        <td><input type="file" name="cover" size="26"><br/><span class=small>Поддерживаются форматы JPG, PNG и GIF, с размером до 500kb</span></td>
    </tr>
    <tr>
        <td colspan="2"><div class="hr_line"></div></td>
    </tr>
    <tr>
        <td style="padding:4px;">&nbsp;</td>
        <td>
            <input type="submit" class="submit" value="Добавить радиостанцию" />
            <input type="hidden" name="mod" value="radio" />
            <input type="hidden" name="user_hash" value="
$dle_login_hash" />
            <input type="hidden" name="action" value="add_station" /></td>
    </tr>
</table>
</div>
</td>
    </tr>
    
</table>
</div></form>

<script language="javascript" type="text/javascript">
<!--
    var windowSizeArray = [ "width=540,height=500,scrollbars=yes" ];

    $(document).ready(function(){
        $(".play a").click(function (event){

            var url = $(this).attr("href");
            var windowName = "popUp";//$(this).attr("name");

            window.open(url, windowName, windowSizeArray);

            event.preventDefault();

        });
    });
-->    
</script>

<form method="post" action="">
<div style="padding-top:5px;padding-bottom:2px;">
<table width="100%">
    <tr>
        <td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Список радиостанций</div></td>
    </tr>
</table>
<div class="unterline"></div>
<table width="100%">
    <tr>
        <td style="padding:2px;" width="40">ID</td>
        <td style="padding:2px;" width="60">Position</td>
        <td>Радиостанция</td>
        <td>Альт.:</td>
        <td>Категория:</td>
        <td style="text-align: center; width: 90px;">Просмотров</td>
        <td style="text-align: center; width: 90px;">Работает?</td>
        <td style="text-align: center; width: 120px;">Действие:</td>
    </tr>
    <tr>
        <td colspan="8"><div class="hr_line"></div></td>
    </tr>
HTML;
        
$station_found FALSE;

$db->query"SELECT * FROM " PREFIX "_radio ORDER BY work ASC, posi ASC" );
while ( 
$row $db->get_row() ) {

    
$station_found TRUE;
    
    if( 
$config['allow_alt_url'] == "yes" $link "<a class="list" href="" . $config['home_url'] . "playradio/" . $row['alt_name'] . ".html">" stripslashes$row['name'] ) . "</a>";
    else 
$link "<a class="list" href="" . $config['home_url'] . "system/modules/radio/radio.php?radio=" . $row['alt_name'] . "">" stripslashes$row['name'] ) . "</a>";
    
    
$work = ( $row['work'] == "1" "<span style="colorgreen;">да</span>" "<span style="colorred;">нет</span>" );
    
    
$cat = ( $row['category'] ? "<a href="?mod=radio&action=edit&id=" . intval( $row['category'] ) . "">" stripslashes$radio_cat_info[intval($row['category'])]['name'] ) . "</a>" "---" );
    
    echo 
"<tr class="bj">
        <td height="
22">&nbsp;<b>" $row['id'] . "</b></td>
        <td><input class="
edit" type="text" size="5" name="posi[{$row['id']}]" maxlength="5" value="{$row['posi']}"></td>
        <td class="
play{$link}</td>
        <
td>" . $row['alt_name'] . "</td>
        <
td>{$cat}</td>
        <
td style="text-align: center;">" . $row['views'] . "</td>
        <
td style="text-align: center;">" . $work . "</td>
        <
td class="list"><nobr>[<a href="?mod=radio&action=edit_station&id=" $row['id'] . "">Ред.</a>] [<class="delete_me maintitle" href="?mod=radio&user_hash=" $dle_login_hash "&action=remove_station&id=" $row['id'] . "">Уд.</a>]</nobr></td>
        </
tr";
        
}
$db->free();

if( 
$station_found ) {
    echo <<<HTML
    <tr>
  <td colspan="
8" style="padding:5px;"><input type="hidden" name="action" value="sort_station"><input type="submit" id="posi" class="submit" value="Отсортировать радиостанции" /></td>      
    </tr>
HTML;
} else {    
    echo <<<HTML
    <tr><td colspan="
8"><table width="100%">
        <tr>
            <td height="
100" align="center"><b>Радиостанции нет</b></td>
        </tr>
    </table></td></tr>
HTML;
}

echo <<<HTML
     </table>
</td>
    </tr>
    
</table>
</div></form>
HTML;

htmlclear();

echohtmlend();
}

?>
Онлайн: 0
Реклама