Помощь DLE music service 2 <title>

Тема в разделе "DLE", создана пользователем diabl, 6 окт 2010.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. diabl

    diabl Боцман

    Регистр.:
    24 мар 2009
    Сообщения:
    439
    Симпатии:
    156
    Проблема заключается в модуле DLE music service 2 в <title>

    Нужно сделать так что бы к каждому треку и категории был свой <title>

    Значит в engine/engine.php

    Подставил $mcat [$cid]['name']

    Получилось что показывает в <title>Названия категории</title>





    А вот названия трека не получается!


    PHP:
    <?php
    /*
    =====================================================
     DleMusic Service v2.0 by Flexer
    -----------------------------------------------------
     E-Mail: flx0@ya.ru - ICQ: 209-75-40
    -----------------------------------------------------
     Copyright (c) 2009, FleXer [ flx0@ya.ru ]
    =====================================================
     Данный код защищен авторскими правами
    =====================================================
    */
    if( ! defined'DATALIFEENGINE' ) ) {
        die( 
    "Hacking attempt!" );
    }
    require_once 
    ENGINE_DIR '/data/mservice.php';
    require_once 
    ENGINE_DIR '/modules/mservice/functions.php';
    require_once 
    ENGINE_DIR '/classes/parse.class.php';
    $parse = new ParseFilter( );
    $parse->safe_mode true;
    $mtitle 'Музыкальный архив';
    $THEME $config['http_home_url'] . 'templates/' $config['skin'];

    // Проверка, включен на модуль?
    if ( $mscfg['online'] != $stop[] = 'В данный момент музыкальный архив выключен';

    // Система кеширования категорий
    $mcat get_vars "mservice_category" );
    if (! 
    is_array $mcat )) {
        
    $mcat = array ();
        
    $db->query "SELECT * FROM " PREFIX "_mservice_category ORDER BY posi ASC, cid ASC" );
        while ( 
    $row $db->get_row () ) {
            
    $mcat[$row['cid']] = array ();
            foreach ( 
    $row as $key => $value ) {
                
    $mcat[$row['cid']][$key] = stripslashes $value );
            }
        }
        
    set_vars "mservice_category"$mcat );
        
    $db->free( );
    }

    switch ( 
    $_REQUEST['act'] ) {

    // Форма добавление нового трека
    case 'addfile' :

    $mtitle .= ' :: Добавление трека';

    if ( 
    $user_group[$member_id['user_group']]['mservice_addfile'] != $stop[] = 'У Вас нет прав для публикации треков';

    $category GetAllCategories$mcat );
    $allow_comments_ajax true;
    $config['allow_comments_wysiwyg'] = "yes";
    include_once 
    ENGINE_DIR '/editor/comments.php';

    if ( 
    $user_group[$member_id['user_group']]['mservice_captcha'] == ) {
      
    $captcha = <<<HTML
    <script language='JavaScript' type="text/javascript">
    <!--
    function reload () {
    var rndval = new Date().getTime();
    document.getElementById('dle-captcha').innerHTML = '<a onclick="reload(); return false;" href="#" title="Нажмите, если не видно изображения"><img src="
    {$config[http_home_url]}engine/modules/antibot.php?rndval=' + rndval + '" border="0" alt="{$lang[sec_image]}" /></a>';}
    //-->
    </script>
    <tr><td style="padding-top:10px;">Защитный код:</td><td style="padding-top:10px;"><span id="dle-captcha"><a onclick="reload(); return false;" href="#" title="Нажмите, если не видно изображения"><img src="
    {$config[http_home_url]}engine/modules/antibot.php" alt="{$lang[sec_image]}" border="0" /></a></span></td></tr>
    <tr><td style="padding-top:10px;">Введите код:</td><td style="padding-top:10px;"><input name="sec_code" class="f_input" style="width:119px;" maxlength="20" /> *</td></tr>
    HTML;
    } else 
    $captcha '';

    $file_types = @str_replace","", "$mscfg['filetypes'] );
    $file_size formatsize$mscfg['maxfilesize'] * 1024 );

    if ( 
    $config['allow_alt_url'] == 'yes' $rlnk $config['http_home_url'] . 'music/rules.html';
      else 
    $rlnk $config['http_home_url'] . 'index.php?do=music&act=rules';

    $mcontent = <<<HTML
    <script type="text/javascript">
    function viewRTracks( ) {
        var ajax = new dle_ajax();
        ajax.onShow ('');
        var varsString = '';
        ajax.setVar( "act", 4 );
      ajax.setVar( "title", document.getElementById('track_name').value );
        ajax.requestFile = dle_root + "engine/modules/mservice/ajax.php";
        ajax.method = 'POST';
        ajax.element = 'related-tracks-layer';
        ajax.sendAJAX(varsString);
      ajax.onCompletion ( document.getElementById('related-tracks-layer').style.display = 'block' );
    }
    </script>

    <form action="" method="post" enctype="multipart/form-data">
    <input type="hidden" name="act" value="doaddfile" />
    <table class="stext">

    <tr><td colspan="2"><div style="border: 1px solid rgb(158, 158, 158); padding: 5px; background: rgb(255, 255, 204) none;margin-top:10px;margin-right:10px;display:none;" id="related-tracks-layer"></div></td></tr>
    <tr><td style="padding-top:10px;">Исполнитель</td><td style="padding-top:10px;"><input type="text" name="artist" class="f_input" maxlength="80" /> <font color="red">*</font></td></tr>

    <tr><td style="padding-right:60px;">Название трека</td><td><input type="text" id="track_name" maxlength="80" name="name" class="f_input" /> <font color="red">*</font>
     <input style="height:18px; font-family:tahoma; font-size:11px; border:1px solid #DFDFDF; background: #FFFFFF; padding-bottom:4px;" title="Найти и отобразить похожие треки" onclick="viewRTracks( ); return false;" type="button" value="Найти похожие треки" />
    </td></tr>

    <tr><td style="padding-top:10px;">Категория</td><td style="padding-top:10px;"><select style="width:303px;" name="category"><option value="0">-- выберите из списка --</option>
    {$category}</select> <font color="red">*</font></td></tr>

    <tr><td style="padding-top:10px;">Загрузка файла</td><td style="padding-top:10px;"><input type="file" name="file" size="44" /> <font color="red">*</font><br>Разрешённые типы: 
    {$file_types}; размер не более: {$file_size}</td></tr>
    {$captcha}
    </table>
    <br /><input type="checkbox" name="rules" onClick="AllowSubmit();" value="1" /> <span class="stext">Я согласен с <a href="
    {$rlnk}">правилами сервиса</a> *</span>
    <br /><br /><input type="submit" value="  Опубликовать аудио трек  " class="bbcodes" />
    </form>
    HTML;

    break;

    // Сохранение аудио трека и добавление его в базу данных
    case 'doaddfile' :

    $name $parse->process$parse->remove$_POST['name'] ) );
    $artist $parse->process$parse->remove$_POST['artist'] ) );
    $category intval$_POST['category'] );
    $rules intval$_POST['rules'] );

    $parse->wysiwyg true;
    $descr $parse->BB_Parse$parse->process$_POST['comments'] ) );

    if ( 
    $user_group[$member_id['user_group']]['mservice_addfile'] != $stop[] = 'У Вас нет прав для публикации аудио треков';
    if ( 
    $name == '' $stop[] = 'Вы не ввели название аудио трека';
    if ( 
    $artist == '' $stop[] = 'Вы не ввели исполнителя аудио трека';
    if ( 
    $category == OR $category == '' $stop[] = 'Вы не выбрали категорию';
    if ( 
    $_FILES['file']['size'] == FALSE $stop[] = 'Вы не выбрали файл трека для загрузки на сервер';
    if ( 
    $user_group[$member_id['user_group']]['mservice_captcha'] == ) {
      if ( 
    $_POST['sec_code'] != $_SESSION['sec_code_session'] OR ! $_SESSION['sec_code_session'] ) $stop[] = 'Вы ввели неверный защитный код с изображения';
    }
    if ( 
    $rules != $stop[] = 'Продолжение невозможно т.к. Вы не согласны с правилами нашего сервиса';

    $allowed_files explode','strtolower$mscfg['filetypes'] ) );
    $tfile endexplode"."totranslit$_FILES['file']['name'] ) ) );
    $file_allow FALSE;
    for ( 
    $f 0$f count$allowed_files ); $f ++ ) {
      if ( 
    $tfile == $allowed_files[$f] ) $file_allow TRUE;
    }
    if ( 
    $file_allow == FALSE $stop[] = 'Вы не можете загружать файлы такого типа';
    if ( 
    $_FILES['file']['size'] > $mscfg['maxfilesize'] * 1024 $stop[] = 'Выбранный Вами файл слишком большой';

    if ( 
    count$stop ) == ) {

    $time time( );
    $filename md5$time rand01000 ) ) . '.' $tfile;
    @
    move_uploaded_file$_FILES['file']['tmp_name'], ROOT_DIR '/uploads/mservice/' $filename );

    if ( 
    $user_group[$member_id['user_group']]['mservice_newtrack_approve'] == )
    $db->query"INSERT INTO " PREFIX "_mservice ( time, title, rating, approve, vote_num, category, artist, download, description, filename, uploader, view_count ) VALUES ( '$time', '$name', '0', '1', '0', '$category', '$artist', '0', '$descr', '$filename', '$member_id[user_id]', '0' )" );
      else 
    $db->query"INSERT INTO " PREFIX "_mservice ( time, title, rating, approve, vote_num, category, artist, download, description, filename, uploader, view_count ) VALUES ( '$time', '$name', '0', '0', '0', '$category', '$artist', '0', '$descr', '$filename', '$member_id[user_id]', '0' )" );

    $db->query"UPDATE " PREFIX "_mservice_category SET count = count + 1 WHERE cid = '$category'" );

    // Удаляем кеш для категорий
    @unlinkENGINE_DIR '/cache/system/mservice_category.php' );
    clear_cache( );

    $row $db->super_query"SELECT mid FROM " PREFIX "_mservice WHERE filename = '$filename'" );

    if ( 
    $config['allow_alt_url'] == 'yes' $vlnk $config['http_home_url'] . 'music/' $row['mid'] . '-' totranslit$artist ) . '-' totranslit$name ) . '.html';
      else 
    $vlnk $config['http_home_url'] . 'index.php?do=music&act=view&mid=' $row['mid'];

    if ( 
    $user_group[$member_id['user_group']]['mservice_newtrack_approve'] == ) {
    $mcontent = <<<HTML
    <div class="stext">Выбранный Вами аудио трек ( {$artist} - {$name} ) - был успешно сохранён на сервере и добавлен в базу данных!<br /><a href="{$vlnk}">Перейти к странице с аудио треком...</a></div>
    HTML;
    } else {
    $mcontent = <<<HTML
    <div class="stext">Выбранный Вами аудио трек ( {$artist} - {$name} ) - был успешно сохранён на сервере и добавлен в базу данных! Обратите внимание, Ваш трек будет доступен в музыкальном архиве только после того как пройдёт модерацию.</div>
    HTML;
    }

    }

    break;

    // Правила сервиса
    case 'rules' :

    $mtitle .= ' :: Правила сервиса';
    $row $db->super_query"SELECT template FROM " PREFIX "_static WHERE name = 'dlemusic-service-rules'" );
    $mcontent $row['template'] . '<br />';

    break;

    // Главная страница модуля
    default :
    if ( 
    count$stop ) == ) {


    $c 0$i 0;
    foreach ( 
    $mcat as $cat ) {

    $c ++; $i ++;
    if ( 
    $config['allow_alt_url'] == 'yes' $plnk $config['http_home_url'] . 'music/category-' $cat['cid'] . '.html';
      else 
    $plnk $config['http_home_url'] . 'index.php?do=music&act=category&cid=' $cat['cid'];

    $tpl->load_template'mservice/category.tpl' );
    $tpl->set'{THEME}'$THEME );
    $tpl->set'{name}''<a href="' $plnk '" title="' $cat['name'] . '">' $cat['name'] . '</a>' );
    $tpl->set'{count}'$cat['count'] );
    $tpl->set'{preview}''<a href="' $plnk '" title="' $cat['name'] . '"><img src="' $config['http_home_url'] . 'uploads/mservice/category/' $cat['preview'] . '" alt="Предпросмотр" border="0" /></a>' );
    $tpl->compile'mservice_block' );
    $mcontent .= $tpl->result['mservice_block'];
    $tpl->result['mservice_block'] = FALSE;




    }



    }
    break;

    // Просмотр выбранной категории
    case 'category' :

    $cid intval$_REQUEST['cid'] );
    if ( 
    $mcat[$cid] != FALSE $mtitle .= ' :: ' $mcat[$cid]['name'];
    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $_1 $config['http_home_url'] . 'music/addfile.html';
    } else {
      
    $_1 $config['http_home_url'] . 'index.php?do=music&act=addfile';
    }

    if ( 
    $_REQUEST['page'] == FALSE $page 1;
      else 
    $page intval$_REQUEST['page'] );
    $limit = ( $page $mscfg['track_page_lim'] ) - $mscfg['track_page_lim'];

    $db->query"SELECT mid, time, title, artist, download, view_count, rating, vote_num FROM " PREFIX "_mservice WHERE category = '$cid' AND approve = '1' ORDER BY time " $mscfg['track_time_sort'] . " LIMIT " $limit "," $mscfg['track_page_lim'] );
    if ( 
    $db->num_rows() == $stop[] = 'К сожелению в данной категории ещё нет аудио треков. <a href="' $_1 '">Но Вы можете это исправить</a>.';

    if ( 
    count$stop ) == ) {

    if ( 
    $mscfg['allow_letter_navig'] == $mcontent EchoLetterNavigator( );

    $mcontent .= <<<HTML
    <script type="text/javascript">
    function RateTrack( rate, mid ) {
        var ajax = new dle_ajax();
        ajax.onShow ('');
        var varsString = "go_rate=" + rate;
        ajax.setVar( "mid", mid );
        ajax.setVar( "skin", dle_skin );
        ajax.requestFile = dle_root + "engine/modules/mservice/ajax-rating.php";
        ajax.method = 'GET';
        ajax.element = 'ratig-layer-' + mid;
        ajax.sendAJAX(varsString);
    }
    //-->
    </script>

    HTML;
    $c 0$i 0;

    while ( 
    $row $db->get_row( ) ) {

    $c ++; $i ++;
    if( 
    strlen$row['title'] ) > $mscfg['track_title_substr'] ) $title substr$row['title'], 0$mscfg['track_title_substr'] ) . "...";
            else 
    $title $row['title'];
    if( 
    strlen$row['artist'] ) > $mscfg['track_artist_substr'] ) $artist substr$row['artist'], 0$mscfg['track_artist_substr'] ) . "...";
            else 
    $artist $row['artist'];

    $tpl->load_template'mservice/tracklist.tpl' );
    $tpl->set'{THEME}'$THEME );
    $tpl->set'{views}'$row['view_count'] );
    $tpl->set'{downcount}'$row['download'] );
    $tpl->set'{date}'langdate'j F Y - H:i'$row['time'] ) );
    $tpl->set'{rating}'ShowTrackRating$row['mid'], $row['rating'], $row['vote_num'], $mscfg['allow_addrank_story'] ) );
    $tpl->set'{artist}'$artist );
    $tpl->set'{title}'$title );

    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'music/' $row['mid'] . '-' totranslit$row['artist'] ) . '-' totranslit$row['title'] ) . '.html' );
    } else {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'index.php?do=music&act=view&mid=' $row['mid'] );
    }

    $tpl->compile'tracklist' );
    $mcontent .= $tpl->result['tracklist'];

    if ( 
    $db->num_rows( ) != $c $style "";
      else 
    $style FALSE;


    $tpl->result['tracklist'] = FALSE;

    }
    $mcontent .= '';


    // Постраничная навигация

    $row $db->super_query"SELECT COUNT(*) as count FROM " PREFIX "_mservice WHERE category = '$cid' AND approve = '1'" );
    $count $row['count'];
    $count_d $count $mscfg['track_page_lim'];

    for ( 
    $t 0$count_d $t$t ++ ) {
    $t2 $t 1;
    if ( 
    $config['allow_alt_url'] == 'yes' $plink $config['http_home_url'] . 'music/category-' $cid '-page-' $t2 '.html';
      else 
    $plink $config['http_home_url'] . 'index.php?do=music&act=category&cid=' $cid '&page=' $t2;
    if ( 
    $t2 == $page $pages .= "<span>{$t2}</span> ";
    else 
    $pages .= "<a href='{$plink}'>{$t2}</a> ";
    $array[$t2] = 1;
    }

    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $link $config['http_home_url'] . 'music/category-' $cid '-page-';
      
    $seo_mode '.html';
    } else {
      
    $link $config['http_home_url'] . 'index.php?do=music&act=category&cid=' $cid '&page=';
      
    $seo_mode '';
    }

    $npage $page 1;
    if ( isset(
    $array[$npage]) ) $prev_page ' <a href="'$link $npage $seo_mode '">Назад</a> ';
      else 
    $prev_page '<span>Назад</span> ';
    $npage $page 1;
    if ( isset(
    $array[$npage]) ) $next_page ' <a href="'$link $npage $seo_mode '">Далее</a>';
      else 
    $next_page ' <span>Далее</span>';

    if ( 
    $count $mscfg['track_page_lim'] ) {
    $mcontent .= <<<HTML
    <br /><div class="navigation" align="center" style="margin-bottom:10px; margin-top:10px;">{$prev_page}{$pages}{$next_page}</div>
    HTML;
    }

    // Конец

    }

    break;

    // Просмотр "полной новости" :))
    case 'view' :

    $mid intval$_REQUEST['mid'] );
    $row $db->super_query"SELECT * FROM " PREFIX "_mservice WHERE mid = '$mid' AND approve = '1'" );
    if ( 
    $row['mid'] == FALSE $stop[] = 'Запрашиваемый аудио трек не найден, возможно его не когда не существовало, либо он был удалён';

    if ( 
    count$stop ) == ) {

    $mtitle .= ' :: ' $mcat[$row['category']]['name'] . ' :: ' $row['artist'] . ' - ' $row['title'];
    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $play $config['http_home_url'] . 'music/play-' $mid '.html';
    } else {
      
    $play $config['http_home_url'] . 'engine/modules/mservice/playning.php?id=' $mid;
    }
    if ( 
    $mscfg['mfp_type'] == $play_hg 130; else $play_hg 100;
    if ( 
    $mscfg['mfp_type'] == and $mscfg['playning_allow_visual'] == $play_hg 380;

    $mcontent .= <<<HTML
    <script type="text/javascript">
    <!--
    function GetFileHashes( ) {
    var ajax = new dle_ajax();
    ajax.onShow ( '' );
    var varsString = "";
    ajax.setVar( "act", '1' );
    ajax.setVar( "mid", '
    {$mid}' );
    ajax.requestFile = dle_root + "engine/modules/mservice/ajax.php";
    ajax.method = 'POST';
    ajax.element = 'mservice_ajax';
    ajax.sendAJAX( varsString );
    }
    function ReadID3v2Tags( ) {
    var ajax = new dle_ajax();
    ajax.onShow ( '' );
    var varsString = "";
    ajax.setVar( "act", '2' );
    ajax.setVar( "mid", '
    {$mid}' );
    ajax.requestFile = dle_root + "engine/modules/mservice/ajax.php";
    ajax.method = 'POST';
    ajax.element = 'mservice_ajax';
    ajax.sendAJAX( varsString );
    }
    function DownloadTrack( ) {
    var ajax = new dle_ajax();
    ajax.onShow ( '' );
    var varsString = "";
    ajax.setVar( "act", '3' );
    ajax.setVar( "mid", '
    {$mid}' );
    ajax.requestFile = dle_root + "engine/modules/mservice/ajax.php";
    ajax.method = 'POST';
    ajax.element = 'mservice_ajax';
    ajax.sendAJAX( varsString );
    }
    function reload () {
    var rndval = new Date().getTime();
    document.getElementById('dle-captcha').innerHTML = '<a onclick="reload(); return false;" href="#" title="Нажмите, если не видно изображения"><img src="
    {$config[http_home_url]}engine/modules/antibot.php?rndval=' + rndval + '" border="0" alt="{$lang[sec_image]}" /></a>';
    }
    function RateTrack( rate, mid ) {
        var ajax = new dle_ajax();
        ajax.onShow ('');
        var varsString = "go_rate=" + rate;
        ajax.setVar( "mid", mid );
        ajax.setVar( "skin", dle_skin );
        ajax.requestFile = dle_root + "engine/modules/mservice/ajax-rating.php";
        ajax.method = 'GET';
        ajax.element = 'ratig-layer-' + mid;
        ajax.sendAJAX(varsString);
    }
    function playTrack( ) {
      window.open( "
    {$play}", "playning", "location=0,status=0,height=50,scrollbars=0,width=500,height={$play_hg}" );
    }
    //-->
    </script>
    HTML;

    $db->query"UPDATE " PREFIX "_mservice SET view_count = view_count + 1 WHERE mid = '$mid'" );

    $tpl->load_template'mservice/viewtrack.tpl' );

    $artist $row['artist'];

    $tpl->set'{THEME}'$THEME );
    $tpl->set'{title}'$row['title'] );
    $tpl->set'{artist}'buildArtistBio$artist ) );
    $tpl->set'{views}'$row['view_count'] );
    $tpl->set'{downcount}'$row['download'] );

    $tpl->set'{rating}'ShowTrackRating$row['mid'], $row['rating'], $row['vote_num'], ) );
    $tpl->set'{date}'langdate'j F Y - H:i'$row['time'] ) );

    $uploader $db->super_query"SELECT name FROM " PREFIX "_users WHERE user_id = '$row[uploader]'" );
    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $_1 $config['http_home_url'] . 'user/' $uploader['name'];
      
    $cat_link $config['http_home_url'] . 'music/category-' $row['category'] . '.html';
    } else {
      
    $_1 $config['http_home_url'] . 'index.php?subaction=userinfo&user=' $uploader['name'];
      
    $cat_link $config['http_home_url'] . 'index.php?do=music&act=category&cid=' $row['category'];
    }

    $tpl->set'{category}''<a href="' $cat_link '">' $mcat[$row['category']]['name'] . '</a>' );


    $tpl->set'{uploader}''<a href="' $_1 '">' $uploader['name'] . '</a>  [ <a href="' $config['http_home_url'] . 'index.php?do=pm&doaction=newpm&user=' $row['uploader'] . '">сообщение</a> ]' );


    $tpl->set'{filesize}'formatsize( @filesizeROOT_DIR '/uploads/mservice/' $row['filename'] ) ) );
    $tpl->set'{filetype}'strtoupperendexplode'.'$row['filename'] ) ) ) );
    $tpl->set'{player}'BuildAudioPlayer$row['filename'], $row['artist'], $row['title'] ) );
    $tpl->set'{play}''<a href="#" onClick="playTrack( ); return false;">Прослушать</a>' );

    if ( 
    $mscfg['allow_get_apic'] == $tpl->set'{album-logo}''<img src="' $config['http_home_url'] . 'engine/modules/mservice/getapic.php?f=' $row['filename'] . '" border="0" class="album_logo" alt="Логотип альбома" />' );
      else 
    $tpl->set'{album-logo}''<img src="' $config['http_home_url'] . 'templates/' $config['skin'] . '/mservice/images/audio_big.png" border="0" class="album_logo" alt="Логотип альбома" />' );

    if ( 
    $row['description'] != '' ) {
    $tpl->set'{comment}'$row['description'] );
    $tpl->set_block"'\\[comment\\](.*?)\\[/comment\\]'si""\\1" );
    } else 
    $tpl->set_block"'\\[comment\\](.*?)\\[/comment\\]'si""" );

    // Треки исполнителя
    if ( $mscfg['allow_tracks_of'] == ) {
    $art addslashes$row['artist'] );
    $titl addslashes$row['title'] );
      
    $db->query"SELECT mid, title FROM " PREFIX "_mservice WHERE artist = '$art' AND title != '$titl' LIMIT 0," $mscfg['limit_tracks_of'] );
      if ( 
    $db->num_rows( ) == $tpl->set'{tracks-of}''<span class="stext">Другие треки исполнителя не найдены...</span>' );
        else {
          while( 
    $row $db->get_row( ) ) {
            if ( 
    $config['allow_alt_url'] == 'yes' $link_to_track $config['http_home_url'] . 'music/' $row['mid'] . '-' totranslit$artist ) . '-' totranslit$row['title'] ) . '.html';
              else 
    $link_to_track $config['http_home_url'] . 'index.php?do=music&act=view&mid=' $row['mid'];
            
    $tracks_of .= '&raquo; <a href="' $link_to_track '" title="' $artist ' - ' $row['title'] . '">' $artist ' - ' $row['title'] . '</a><br />';
          }
          
    $tpl->set'{tracks-of}'$tracks_of );
        }
    }
    // Конец

    $tpl->compile'viewtrack' );
    $mcontent .= $tpl->result['viewtrack'];
    $tpl->result['viewtrack'] = FALSE;

    }

    break;

    // 20-тка лучших треков
    case 'best20' :

    $mtitle .= ' :: 20-тка лучших треков';

    if ( 
    $mscfg['best20_allow'] == ) {

    $db->query"SELECT mid, time, title, artist, download, view_count, rating, vote_num FROM " PREFIX "_mservice WHERE approve = '1' ORDER BY download DESC, rating DESC LIMIT 0,20" );
    if ( 
    $db->num_rows() == $stop[] = 'К сожелению в данной категории ещё нет аудио треков. <a href="' $_1 '">Но Вы можете это исправить</a>.';

    if ( 
    count$stop ) == ) {

    $mcontent .= <<<HTML
    <div class="mservice_viewtrack"><span class="stext">На данный странице расположенны самые популярные 20 треков, находящиеся в нашем каталоге! Данные высчитываются по средствам сбора информации об скачиваниях и рейтинга треков.</span></div><br />
    <script type="text/javascript">
    function RateTrack( rate, mid ) {
        var ajax = new dle_ajax();
        ajax.onShow ('');
        var varsString = "go_rate=" + rate;
        ajax.setVar( "mid", mid );
        ajax.setVar( "skin", dle_skin );
        ajax.requestFile = dle_root + "engine/modules/mservice/ajax-rating.php";
        ajax.method = 'GET';
        ajax.element = 'ratig-layer-' + mid;
        ajax.sendAJAX(varsString);
    }
    //-->
    </script>

    HTML;
    $c 0$i 0;

    while ( 
    $row $db->get_row( ) ) {

    $c ++; $i ++;
    if( 
    strlen$row['title'] ) > $mscfg['track_title_substr'] ) $title substr$row['title'], 0$mscfg['track_title_substr'] ) . "...";
            else 
    $title $row['title'];
    if( 
    strlen$row['artist'] ) > $mscfg['track_artist_substr'] ) $artist substr$row['artist'], 0$mscfg['track_artist_substr'] ) . "...";
            else 
    $artist $row['artist'];

    $tpl->load_template'mservice/tracklist.tpl' );
    $tpl->set'{THEME}'$THEME );
    $tpl->set'{views}'$row['view_count'] );
    $tpl->set'{downcount}'$row['download'] );
    $tpl->set'{rating}'ShowTrackRating$row['mid'], $row['rating'], $row['vote_num'], $mscfg['allow_addrank_story'] ) );
    $tpl->set'{date}'langdate'j F Y - H:i'$row['time'] ) );
    $tpl->set'{artist}'$artist );
    $tpl->set'{title}'$title );

    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'music/' $row['mid'] . '-' totranslit$row['artist'] ) . '-' totranslit$row['title'] ) . '.html' );
    } else {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'index.php?do=music&act=view&mid=' $row['mid'] );
    }

    $tpl->compile'tracklist' );
    $mcontent .= $tpl->result['tracklist'];

    if ( 
    $db->num_rows( ) != $c $style "";
      else 
    $style FALSE;


    $tpl->result['tracklist'] = FALSE;

    }
    $mcontent .= '';

    }
    } else 
    $stop[] = 'Данный модуль отключен администратором';

    break;

    // Случайный трек
    case 'random' :

    if ( 
    $mscfg['random_track'] == ) {
    $db->query"SELECT mid, title, artist FROM " PREFIX "_mservice WHERE approve = '1' ORDER BY mid ASC" );
    while ( 
    $row $db->get_row( ) ) $array_rand[$row['mid']] = $row['artist'] . '|' $row['title'];
    $rand rand1$db->num_rows( ) );
    list( 
    $track_artist$track_title ) = explode'|'$array_rand[$rand] );
    if ( 
    $config['allow_alt_url'] == 'yes' ) @header"Location: " $config['http_home_url'] . 'music/' $rand '-' totranslit$track_artist ) . '-' totranslit$track_title ) . '.html' );
      else @
    header"Location: " $config['http_home_url'] . 'index.php?do=music&act=view&mid=' $rand );
    } else 
    $stop[] = 'Данный модуль отключен администратором';

    break;

    // Навигационный алфавит
    case 'letter' :

    $letter $parse->process$_REQUEST['letter'] );
    $mtitle .= ' :: Все треки начинающиеся на - ' $letter;

    if ( 
    $_REQUEST['page'] == FALSE $page 1;
      else 
    $page intval$_REQUEST['page'] );
    $limit = ( $page $mscfg['track_page_lim'] ) - $mscfg['track_page_lim'];

    //$db->query( "SELECT mid, time, title, artist, download, view_count, rating, vote_num FROM " . PREFIX . "_mservice WHERE title REGEXP '^$letter' AND approve = '1' LIMIT " . $limit . "," . $mscfg['track_page_lim'] );

    $db->query"SELECT mid, time, title, artist, download, view_count, rating, vote_num FROM " PREFIX "_mservice WHERE artist REGEXP '^$letter' AND approve = '1' ORDER BY artist ASC LIMIT " $limit "," $mscfg['track_page_lim'] );

    if ( 
    $db->num_rows() == $stop[] = 'Не найден ни один аудио трек начинающийся на - ' $letter '.';

    if ( 
    count$stop ) == ) {

    if ( 
    $mscfg['allow_letter_navig'] == $mcontent EchoLetterNavigator( );

    $mcontent .= <<<HTML
    <script type="text/javascript">
    function RateTrack( rate, mid ) {
        var ajax = new dle_ajax();
        ajax.onShow ('');
        var varsString = "go_rate=" + rate;
        ajax.setVar( "mid", mid );
        ajax.setVar( "skin", dle_skin );
        ajax.requestFile = dle_root + "engine/modules/mservice/ajax-rating.php";
        ajax.method = 'GET';
        ajax.element = 'ratig-layer-' + mid;
        ajax.sendAJAX(varsString);
    }
    //-->
    </script>

    HTML;
    $c 0$i 0;

    while ( 
    $row $db->get_row( ) ) {

    $c ++; $i ++;
    if( 
    strlen$row['title'] ) > $mscfg['track_title_substr'] ) $title substr$row['title'], 0$mscfg['track_title_substr'] ) . "...";
            else 
    $title $row['title'];
    if( 
    strlen$row['artist'] ) > $mscfg['track_artist_substr'] ) $artist substr$row['artist'], 0$mscfg['track_artist_substr'] ) . "...";
            else 
    $artist $row['artist'];

    $tpl->load_template'mservice/tracklist.tpl' );
    $tpl->set'{THEME}'$THEME );
    $tpl->set'{views}'$row['view_count'] );
    $tpl->set'{downcount}'$row['download'] );
    $tpl->set'{date}'langdate'j F Y - H:i'$row['time'] ) );
    $tpl->set'{rating}'ShowTrackRating$row['mid'], $row['rating'], $row['vote_num'], $mscfg['allow_addrank_story'] ) );
    $tpl->set'{artist}'$artist );
    $tpl->set'{title}'$title );

    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'music/' $row['mid'] . '-' totranslit$row['artist'] ) . '-' totranslit$row['title'] ) . '.html' );
    } else {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'index.php?do=music&act=view&mid=' $row['mid'] );
    }

    $tpl->compile'tracklist' );
    $mcontent .= $tpl->result['tracklist'];

    if ( 
    $db->num_rows( ) != $c $style "";
      else 
    $style FALSE;


    $tpl->result['tracklist'] = FALSE;

    }
    $mcontent .= '';

    // Постраничная навигация

    $row $db->super_query"SELECT COUNT(*) as count FROM " PREFIX "_mservice WHERE title REGEXP '^$letter' AND approve = '1'" );
    $count $row['count'];
    $count_d $count $mscfg['track_page_lim'];

    for ( 
    $t 0$count_d $t$t ++ ) {
    $t2 $t 1;
    if ( 
    $config['allow_alt_url'] == 'yes' $plink $config['http_home_url'] . 'music/letter-' $letter '-page-' $t2 '.html';
      else 
    $plink $config['http_home_url'] . 'index.php?do=music&act=letter&letter=' $letter '&page=' $t2;
    if ( 
    $t2 == $page $pages .= "<span>{$t2}</span> ";
    else 
    $pages .= "<a href='{$plink}'>{$t2}</a> ";
    $array[$t2] = 1;
    }

    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $link $config['http_home_url'] . 'music/letter-' $letter '-page-';
      
    $seo_mode '.html';
    } else {
      
    $link $config['http_home_url'] . 'index.php?do=music&act=letter&letter=' $letter '&page=';
      
    $seo_mode '';
    }

    $npage $page 1;
    if ( isset(
    $array[$npage]) ) $prev_page ' <a href="'$link $npage $seo_mode '">Назад</a> ';
      else 
    $prev_page '<span>Назад</span> ';
    $npage $page 1;
    if ( isset(
    $array[$npage]) ) $next_page ' <a href="'$link $npage $seo_mode '">Далее</a>';
      else 
    $next_page ' <span>Далее</span>';

    if ( 
    $count $mscfg['track_page_lim'] ) {
    $mcontent .= <<<HTML
    <br /><div class="navigation" align="center" style="margin-bottom:10px; margin-top:10px;">{$prev_page}{$pages}{$next_page}</div>
    HTML;
    }

    // Конец

    }

    break;

    // Поиск по архиву, форма
    case 'search' :

    $category GetAllCategories$mcat );

    $mtitle .= ' :: Поиск';
    $mcontent = <<<HTML
    <div class="mservice_viewtrack">
    <form action="" method="post">
    <input type="hidden" name="act" value="dosearch" />
    <table class="stext">


    <tr><td style="padding-right:0px;">Поиск:</td><td><select name="type"><option value="1"
    {$select_1}>По исполнителю</option><option value="2"{$select_2}>По названию трека</option></select>  <input type="text" name="text" value="{$text}" style="height:14px;width:200px" class="f_input" /> <input type="submit" value="  Начать поиск  " class="bbcodes" /></td></tr>


    </table>

    </form>
    </div>
    HTML;

    break;

    // Обработка входящих данных и начало поиска
    case 'dosearch' :

    $type intval$_REQUEST['type'] );
    $text $parse->remove$parse->process$_REQUEST['text'] ) );
    $mtitle .= ' :: Поиск';

    if ( 
    $type == or $type == '' $stop[] = 'Вы не выбрали тип поиска';
    if ( 
    $text == '' $stop[] = 'Вы не ввели текст для поиска';
    if ( 
    strlen$text ) < $stop[] = 'Введённый для поиска текст не может быть короче чем 4 символа';


    if ( 
    count$stop ) == ) {

    if ( 
    $type == $where_1 "artist REGEXP '$text'";
      else 
    $where_1 "title REGEXP '$text'";

      

    if ( 
    $_REQUEST['page'] == FALSE $page 1;
      else 
    $page intval$_REQUEST['page'] );
    $limit = ( $page $mscfg['track_page_lim'] ) - $mscfg['track_page_lim'];

    $db->query"SELECT mid, time, title, artist, download, view_count, rating, vote_num FROM " PREFIX "_mservice WHERE {$where_1}{$where_2} AND approve = '1' LIMIT {$limit}," $mscfg['track_page_lim'] );
    if ( 
    $db->num_rows( ) == $stop[] = 'Поиск по музыкальному архиву не дал ни каких результатов';


    if ( 
    $type == $select_1 ' selected="selected"';
    elseif ( 
    $type == $select_2 ' selected="selected"';

    $mcontent .= <<<HTML
    <div class="mservice_viewtrack">
    <form action="" method="post">
    <input type="hidden" name="act" value="dosearch" />
    <table class="stext">
    <tr><td style="padding-right:0px;">Поиск:</td><td><select name="type"><option value="1"
    {$select_1}>По исполнителю</option><option value="2"{$select_2}>По названию трека</option></select>  <input type="text" name="text" value="{$text}" style="height:14px;width:200px" class="f_input" /> <input type="submit" value="  Начать поиск  " class="bbcodes" /></td></tr>

    </table>
    </form>
    </div><br />
    <script type="text/javascript">
    function RateTrack( rate, mid ) {
        var ajax = new dle_ajax();
        ajax.onShow ('');
        var varsString = "go_rate=" + rate;
        ajax.setVar( "mid", mid );
        ajax.setVar( "skin", dle_skin );
        ajax.requestFile = dle_root + "engine/modules/mservice/ajax-rating.php";
        ajax.method = 'GET';
        ajax.element = 'ratig-layer-' + mid;
        ajax.sendAJAX(varsString);
    }
    //-->
    </script>

    HTML;
    $c 0$i 0;

    while ( 
    $row $db->get_row( ) ) {

    $c ++; $i ++;
    if( 
    strlen$row['title'] ) > $mscfg['track_title_substr'] ) $title substr$row['title'], 0$mscfg['track_title_substr'] ) . "...";
            else 
    $title $row['title'];
    if( 
    strlen$row['artist'] ) > $mscfg['track_artist_substr'] ) $artist substr$row['artist'], 0$mscfg['track_artist_substr'] ) . "...";
            else 
    $artist $row['artist'];

    $tpl->load_template'mservice/tracklist.tpl' );
    $tpl->set'{THEME}'$THEME );
    $tpl->set'{views}'$row['view_count'] );
    $tpl->set'{downcount}'$row['download'] );
    $tpl->set'{date}'langdate'j F Y - H:i'$row['time'] ) );
    $tpl->set'{rating}'ShowTrackRating$row['mid'], $row['rating'], $row['vote_num'], $mscfg['allow_addrank_story'] ) );
    $tpl->set'{artist}'$artist );
    $tpl->set'{title}'$title );

    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'music/' $row['mid'] . '-' totranslit$row['artist'] ) . '-' totranslit$row['title'] ) . '.html' );
    } else {
      
    $tpl->set'{view_link}'$config['http_home_url'] . 'index.php?do=music&act=view&mid=' $row['mid'] );
    }

    $tpl->compile'tracklist' );
    $mcontent .= $tpl->result['tracklist'];

    if ( 
    $db->num_rows( ) != $c $style "";
      else 
    $style FALSE;


    $tpl->result['tracklist'] = FALSE;

    }
    $mcontent .= '';

    // Постраничная навигация

    $row $db->super_query"SELECT COUNT(*) as count FROM " PREFIX "_mservice WHERE {$where_1}{$where_2} AND approve = '1'" );
    $count $row['count'];
    $count_d $count $mscfg['track_page_lim'];

    for ( 
    $t 0$count_d $t$t ++ ) {
    $t2 $t 1;
    if ( 
    $config['allow_alt_url'] == 'yes' $plink $config['http_home_url'] . 'music/search-' $category '-' $type '-' $t2 '-' $text '.html';
      else 
    $plink $config['http_home_url'] . 'index.php?do=music&act=dosearch&category=' $category '&type=' $type '&page=' $t2 '&text=' $text;
    if ( 
    $t2 == $page $pages .= "<span>{$t2}</span> ";
    else 
    $pages .= "<a href='{$plink}'>{$t2}</a> ";
    $array[$t2] = 1;
    }

    if ( 
    $config['allow_alt_url'] == 'yes' ) {
      
    $link $config['http_home_url'] . 'music/search-' $category '-' $type '-';
      
    $seo_mode '-' $text '.html';
    } else {
      
    $link $config['http_home_url'] . 'index.php?do=music&act=dosearch&category=' $category '&type=' $type '&page=';
      
    $seo_mode '&text=' $text;
    }

    $npage $page 1;
    if ( isset(
    $array[$npage]) ) $prev_page ' <a href="'$link $npage $seo_mode '">Назад</a> ';
      else 
    $prev_page '<span>Назад</span> ';
    $npage $page 1;
    if ( isset(
    $array[$npage]) ) $next_page ' <a href="'$link $npage $seo_mode '">Далее</a>';
      else 
    $next_page ' <span>Далее</span>';

    if ( 
    $count $mscfg['track_page_lim'] ) {
    $mcontent .= <<<HTML
    <br /><div class="navigation" align="center" style="margin-bottom:10px; margin-top:10px;">{$prev_page}{$pages}{$next_page}</div>
    HTML;
    }

    // Конец

    }

    break;

    }

    $tpl->load_template'mservice/global.tpl' );
    $tpl->set'{mtitle}'$mtitle );

    if ( 
    count$stop ) == $tpl->set'{mservice}''<style type="text/css">@import url(' $THEME '/mservice/css/styles.css);</style>' AddHeaderForPage( ) . '<br />' $mcontent );
      else {
        for ( 
    $e 0$e count$stop ); $e ++ ) $errors .= '<li>' $stop[$e] . '</li>';
        
    $tpl->set'{mservice}''<b>Были обнаружены следующие ошибки:</b><br /><br /><ul style="padding-left:20px;margin:0px;">' $errors '</ul>' );
      }

    $tpl->compile'content' );
    $db->free( );
    $tpl->clear( );
    ?>
    Нужна Ваша помощь!

    Добавлено через 3 минуты
    Я так понял мне нужно вставить этот код:

    PHP:
    $mtitle .= ' :: ' $mcat[$row['category']]['name'] . ' :: ' $row['artist'] . ' - ' $row['title']; 
    Но когда я вставил, получилось что то вроде ::
    Не пойму что не так
     
  2. simfile

    simfile Писатель

    Регистр.:
    25 мар 2010
    Сообщения:
    4
    Симпатии:
    0
    получаеться тебе надо вставить не
    $mtitle .= ' :: ' . $mcat[$row['category']]['name'] . ' :: ' . $row['artist'] . ' - ' . $row['title'];

    а

    $mtitle .= ' :: ' . $row['artist'] . ' - ' . $row['title'];

    что то вроде этого
     
  3. diabl

    diabl Боцман

    Регистр.:
    24 мар 2009
    Сообщения:
    439
    Симпатии:
    156
    Это не то :(
     
  4. yamakasi

    yamakasi Создатель

    Регистр.:
    1 авг 2007
    Сообщения:
    45
    Симпатии:
    6
    diabl - ты скачай модуль от софтера, он тоже похоже называется как и этот модуль, я был заказчиком, там как раз была такая функция! но вот не все функции были как в этом модуле, также немного сырой сам модуль был, вот я и не использовал, потом автор выложил также его на паблик на продажу, так что поищи его и там посмотри в коде! и дерзай!
     
  5. andre740

    andre740

    Регистр.:
    17 апр 2006
    Сообщения:
    523
    Симпатии:
    157
    Так и не решился вопрос - что бы к каждому треку и категории был свой TITLE ? Или есть решение?