Вход Регистрация
Файл: system/modules/audio.php
Строк: 200
<?php
/* 
    Appointment: Музыка
    File: audio.php 
 
*/
if(!defined('MOZG'))
    die(
'Hacking attempt!');

if(
$ajax == 'yes')
    
NoAjaxQuery();

if(
$logged){
    
$act $_GET['act'];
    
$user_id $user_info['user_id'];

    
$metatags['title'] = $lang['audio'];
    
    switch(
$act){
        
        
//################### Отправление песни в БД ###################//
        
case "send":
            
NoAjaxQuery();
            
$lnk ajax_utf8(textFilter($_POST['lnk']));
            
$format strtolower(end(explode('.'$lnk)));
            
            if(
$format == 'mp3' AND isset($lnk) AND !empty($lnk) AND $config['audio_mod_add'] == 'yes'){
                
$check_url = @get_headers(stripslashes($lnk));
                if(
strpos($check_url[0], '200')){
                    
//Узнаем исполнителя и название песни по id3
                    
$ranTmp rand(0100500);
                    
                    
$fp = @fopen(stripslashes($lnk), "rb");
                    
$fd = @fopen(ROOT_DIR.'/uploads/audio_tmp/'.$ranTmp.'.mp3'"w");
                    if(
$fp AND $fd){
                        
$st fread($fp4096);
                        
fwrite($fd$st);
                    }
                    @
fclose($fp);
                    @
fclose($fd);

                    include 
ENGINE_DIR."/classes/id3v2.php";
                    
$id3v2 = new Id3v2;
                    
$res $id3v2->read(ROOT_DIR.'/uploads/audio_tmp/'.$ranTmp.'.mp3');
                    
                    
$artist ajax_utf8(textFilter($res['Artist'], falsetrue));
                    
$name ajax_utf8(textFilter($res['Title'], falsetrue));
                    if(isset(
$artist) AND empty($artist)) $artist 'Неизвестный исполнитель';
                    if(isset(
$name) AND empty($name)) $name 'Без названия';
                
                    
$db->query("INSERT INTO `".PREFIX."_audio` SET auser_id = '".$user_id."', url = '".$lnk."', artist = '".$artist."', name = '".$name."',  adate = '".$server_time."'");
                    
$db->query("UPDATE `".PREFIX."_users` SET user_audio = user_audio+1 WHERE user_id = '".$user_id."'");
                    
                    @
unlink(ROOT_DIR.'/uploads/audio_tmp/'.$ranTmp.'.mp3');
                    
mozg_mass_clear_cache_file('user_'.$user_id.'/audios_profile|user_'.$user_id.'/profile_'.$user_id);
                } else
                    echo 
2;
            } else
                echo 
1;

            die();
        break;
        
        
//################### Сохранение отредактированых данных ###################//
        
case "editsave":
            
NoAjaxQuery();
            
$aid intval($_POST['aid']);
            
$artist ajax_utf8(textFilter($_POST['artist'], falsetrue));
            
$name ajax_utf8(textFilter($_POST['name'], falsetrue));
            
            
$check $db->super_query("SELECT auser_id FROM `".PREFIX."_audio` WHERE aid = '".$aid."'");
            
            if(isset(
$artist) AND empty($artist)) $artist 'Неизвестный исполнитель';
            if(isset(
$name) AND empty($name)) $name 'Без названия';

            if(
$check['auser_id'] == $user_id){
                
$db->query("UPDATE `".PREFIX."_audio` SET artist = '{$artist}', name = '{$name}' WHERE aid = '".$aid."'");
                
mozg_clear_cache_file('user_'.$user_id.'/audios_profile');
            }
            die();
        break;
        
        
//################### Удаление песни из БД ###################//
        
case "del":
            
NoAjaxQuery();
            
$aid intval($_POST['aid']);
            
            
$check $db->super_query("SELECT auser_id, url FROM `".PREFIX."_audio` WHERE aid = '".$aid."'");
            
            if(
$check['auser_id'] == $user_id){
                
$audioName end(explode('/'$check['url']));
                
$checkMusSite explode('http://'$check['url']);
                
$expMusO explode('/'$checkMusSite[1]);
                
$checkMusSite2 explode('http://'$config['home_url']);
                
$expMusO2 explode('/'$checkMusSite2[1]);
                if(
$expMusO[0] == $expMusO2[0])
                    @
unlink(ROOT_DIR.'/uploads/audio/'.$user_id.'/'.$audioName);
                
                
$db->query("DELETE FROM `".PREFIX."_audio` WHERE aid = '".$aid."'");
                
$db->query("UPDATE `".PREFIX."_users` SET user_audio = user_audio-1 WHERE user_id = '".$user_id."'");
                
mozg_mass_clear_cache_file('user_'.$user_id.'/audios_profile|user_'.$user_id.'/profile_'.$user_id);
            }
            die();
        break;
        
        
//################### Добавление песни к себе в список ###################//
        
case "addmylist":
            
NoAjaxQuery();
            
$aid intval($_POST['aid']);
            
            
$check $db->super_query("SELECT url, artist, name FROM `".PREFIX."_audio` WHERE aid = '".$aid."'");
            
            if(!
$check)
                
$check $db->super_query("SELECT url, artist, name FROM `".PREFIX."_communities_audio` WHERE aid = '".$aid."'");
            
            if(
$check){
                
$db->query("INSERT INTO `".PREFIX."_audio` SET auser_id = '".$user_id."', url = '".$db->safesql($check['url'])."', artist = '".$db->safesql($check['artist'])."', name = '".$db->safesql($check['name'])."',  adate = '".$server_time."'");
                
$db->query("UPDATE `".PREFIX."_users` SET user_audio = user_audio+1 WHERE user_id = '".$user_id."'");
                
mozg_mass_clear_cache_file('user_'.$user_id.'/audios_profile|user_'.$user_id.'/profile_'.$user_id);
            }
            die();
        break;

        
//################### Вывод всех аудио (BOX) ###################//
        
case "allMyAudiosBox":
            
NoAjaxQuery();
            
            
//Для навигатор
            
if($_POST['page'] > 0$page intval($_POST['page']); else $page 1;
            
$gcount 20;
            
$limit_page = ($page-1)*$gcount;
            
            
//Делаем SQL запрос на вывод
            
$sql_ $db->super_query("SELECT SQL_CALC_FOUND_ROWS aid, url, artist, name FROM `".PREFIX."_audio` WHERE auser_id = '".$user_id."' ORDER by `adate` DESC LIMIT {$limit_page}{$gcount}"1);
            
            
//Выводим кол-во музыки
            
$count $db->super_query("SELECT user_audio FROM `".PREFIX."_users` WHERE user_id = '".$user_id."'");
            
            if(
$count['user_audio']){
                echo 
'<div id="jquery_jplayer"></div><input type="hidden" id="teck_id" value="0" /><input type="hidden" id="typePlay" value="standart" />';
                
$tpl->load_template('albums_editcover.tpl');
                
$tpl->set('[top]''');
                
$tpl->set('[/top]''');
                
$tpl->set('{photo-num}'$count['user_audio'].' '.gram_record($count['user_audio'], 'audio'));
                
$tpl->set_block("'\[bottom\](.*?)\[/bottom\]'si","");
                
$tpl->compile('content');
                
                
$tpl->load_template('audio/track_box.tpl');
                
$jid 0;
                foreach(
$sql_ as $row){
                    
$jid++;
                    
$tpl->set('{jid}'$jid);
                    
$tpl->set('{aid}'$row['aid']);
                    
$tpl->set('{url}'$row['url']);
                    
$tpl->set('{artist}'stripslashes($row['artist']));
                    
$tpl->set('{name}'stripslashes($row['name']));
                    if(
$get_user_id == $user_id){
                        
$tpl->set('[owner]''');
                        
$tpl->set('[/owner]''');
                        
$tpl->set('{uid}'$get_user_id);
                        
$tpl->set_block("'\[not-owner\](.*?)\[/not-owner\]'si","");
                    } else {
                        
$tpl->set('[not-owner]''');
                        
$tpl->set('[/not-owner]''');
                        
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    }
                    
$tpl->compile('content');
                }
                
box_navigation($gcount$count['user_audio'], $page'wall.attach_addaudio''');
                
                
$tpl->load_template('albums_editcover.tpl');
                
$tpl->set('[bottom]''');
                
$tpl->set('[/bottom]''');
                
$tpl->set_block("'\[top\](.*?)\[/top\]'si","");
                
$tpl->compile('content');
                
                
AjaxTpl();
            } else
                echo 
$lang['audio_box_none'];
            
            die();
        break;

        
//################### Загрузка с компьютера ###################//
        
case "upload":
            
NoAjaxQuery();

            
//Получаем данные о файле
            
$file_tmp $_FILES['uploadfile']['tmp_name'];
            
$file_name totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата
            
$file_rename substr($file_name0300); // имя
            
$file_size $_FILES['uploadfile']['size']; // размер файла
            
$type strtolower(end(explode("."$file_name))); // формат файла
            
            
if($type == 'mp3' AND $config['audio_mod_add'] == 'yes' AND $file_size 30000000){
                
$audio_dir ROOT_DIR.'/uploads/audio/'.$user_id.'/';
                if(!
is_dir($audio_dir)){
                    @
mkdir($audio_dir0777);
                    @
chmod($audio_dir0777);
                }
                
$res_type '.'.$type;
                if(
move_uploaded_file($file_tmp$audio_dir.$file_rename.$res_type)){
                    
//Узнаем исполнителя и название песни по id3
                    
include ENGINE_DIR."/classes/id3v2.php";
                    
$id3v2 = new Id3v2;
                    
$res $id3v2->read(ROOT_DIR.'/uploads/audio/'.$user_id.'/'.$file_rename.$res_type);
                    
                    
$artist ajax_utf8(textFilter($res['Artist'], falsetrue));
                    
$name ajax_utf8(textFilter($res['Title'], falsetrue));
         if(isset(
$artist) AND empty($artist)) $artist $file_rename;
         
          
          
                    
                    
$lnk $config['home_url'].'uploads/audio/'.$user_id.'/'.$file_rename.$res_type;
                    
                    
$db->query("INSERT INTO `".PREFIX."_audio` SET auser_id = '".$user_id."', url = '".$lnk."', artist = '".$artist."', name = '".$name."',  adate = '".$server_time."'");
                    
$db->query("UPDATE `".PREFIX."_users` SET user_audio = user_audio+1 WHERE user_id = '".$user_id."'");

                    
mozg_mass_clear_cache_file('user_'.$user_id.'/audios_profile|user_'.$user_id.'/profile_'.$user_id);
                } else
                    echo 
1;
            } else
                echo 
1;
      
$tpl->load_template('audio_player/head.tpl');
      
$tpl->compile('content');
            die();
        break;
        
        default:
        
            
//################### Вывод всех аудио ###################//
            
$get_user_id intval($_GET['uid']);
            if(!
$get_user_id$get_user_id $user_id;
            
            
//Если страница вывзана через "Показать больше аудиозаписей"
            
$limit_select 20;
            if(
$_POST['page_cnt'] > 0)
                
$page_cnt intval($_POST['page_cnt'])*$limit_select;
            else
                
$page_cnt 0;

            
//Если страница вывзана через "Показать больше аудиозаписей"
            
if($page_cnt)
                
NoAjaxQuery();
            
            
$sql_ $db->super_query("SELECT SQL_CALC_FOUND_ROWS aid, url, artist, name FROM `".PREFIX."_audio` WHERE auser_id = '".$get_user_id."' ORDER by `adate` DESC LIMIT {$page_cnt}{$limit_select}"1);
                
            if(
$sql_){
            
                if(!
$page_cnt){
                    
$tpl->load_template('audio/head.tpl');
                    if(
$user_id != $get_user_id)
                        
$user $db->super_query("SELECT user_name FROM `".PREFIX."_users` WHERE user_id = '".$get_user_id."'");
                    
$tpl->set('{name}'gramatikName($user['user_name']));
                    
$tpl->set('{num}'$user['user_audio'].' '.gram_record($user['user_audio'], 'audio'));
                    
$tpl->set('{uid}'$get_user_id);
                    if(
$get_user_id == $user_id){
                        
$tpl->set('[owner]''');
                        
$tpl->set('[/owner]''');
                        
$tpl->set_block("'\[not-owner\](.*?)\[/not-owner\]'si","");
                    } else {
                        
$tpl->set('[not-owner]''');
                        
$tpl->set('[/not-owner]''');
                        
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    }
                    
                    if(
$config['audio_mod_add'] == 'no')
                        
$tpl->set_block("'\[admin-add\](.*?)\[/admin-add\]'si","");
                    else {
                        
$tpl->set('[admin-add]''');
                        
$tpl->set('[/admin-add]''');
                    }
                    
                    
$tpl->compile('content');
                }

                
$tpl->load_template('audio/track.tpl');
                
$jid $page_cnt;
                foreach(
$sql_ as $row){
                    
$jid++;
                    
$tpl->set('{jid}'$jid);
                    
$tpl->set('{aid}'$row['aid']);
                    
$tpl->set('{url}'$row['url']);
                    
$tpl->set('{artist}'stripslashes($row['artist']));
                    
$tpl->set('{name}'stripslashes($row['name']));
                    if(
$get_user_id == $user_id){
                        
$tpl->set('[owner]''');
                        
$tpl->set('[/owner]''');
                        
$tpl->set('{uid}'$get_user_id);
                        
$tpl->set_block("'\[not-owner\](.*?)\[/not-owner\]'si","");
                    } else {
                        
$tpl->set('[not-owner]''');
                        
$tpl->set('[/not-owner]''');
                        
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    }
                    
$tpl->compile('content');
                }
                
                if(
$jid == 20 AND !$page_cnt){
                    
$tpl->load_template('audio/bottom.tpl');
                    
$tpl->compile('content');
                }
                
            } else {
                if(!
$page_cnt){
                    
$tpl->load_template('audio/none.tpl');
                    if(
$user_id != $get_user_id)
                        
$user $db->super_query("SELECT user_name FROM `".PREFIX."_users` WHERE user_id = '".$get_user_id."'");
                    
$tpl->set('{name}'gramatikName($user['user_name']));
                    
$tpl->set('{uid}'$get_user_id);
                    if(
$get_user_id == $user_id){
                        
$tpl->set('[owner]''');
                        
$tpl->set('[/owner]''');
                        
$tpl->set('{uid}'$get_user_id);
                        
$tpl->set_block("'\[not-owner\](.*?)\[/not-owner\]'si","");
                    } else {
                        
$tpl->set('[not-owner]''');
                        
$tpl->set('[/not-owner]''');
                        
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    }
                    
$tpl->compile('content');
                }
            }
            
            
//Если страница вывзана через "Показать больше аудиозаписей"
            
if($page_cnt){
                
AjaxTpl();
                die();
            }
    }
    
$tpl->clear();
    
$db->free();
} else {
    
$user_speedbar $lang['no_infooo'];
    
msgbox(''$lang['not_logged'], 'info');
}
?>
Онлайн: 1
Реклама