Вход Регистрация
Файл: system/modules/public_audio.php
Строк: 185
<?php
/* 
    Appointment: Сообщества -> Публичные страницы -> Аудиозаписи
    File: public_audio.php 
 
*/
if(!defined('MOZG'))
    die(
'Hacking attempt!');


    
$act $_GET['act'];
    
$user_id $user_info['user_id'];
    
    switch(
$act){
        
        
//################### Добавление песни в список сообщества ###################//
        
case "addlistgroup":
        
            
NoAjaxQuery();
            
            
$pid intval($_POST['pid']);
            
$aid intval($_POST['aid']);
            
            
$check $db->super_query("SELECT url, artist, name FROM `".PREFIX."_audio` WHERE aid = '{$aid}'");
            
            
$infoGroup $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$pid}'");
            
            if(
stripos($infoGroup['admin'], "u{$user_id}|") !== false$public_admin true;
            else 
$public_admin false;
            
            if(
$public_admin){
            
                
$db->query("INSERT INTO `".PREFIX."_communities_audio` SET public_id = '{$pid}', url = '".$db->safesql($check['url'])."', artist = '".$db->safesql($check['artist'])."', name = '".$db->safesql($check['name'])."',  adate = '{$server_time}'");
                
                
$db->query("UPDATE `".PREFIX."_communities` SET audio_num = audio_num+1 WHERE id = '{$pid}'");
                
                
mozg_clear_cache_file("groups/audio{$pid}");
                
            }
            
            exit;
            
        break;
        
        
//################### Сохранение отредактированых данных ###################//
        
case "editsave":
        
            
NoAjaxQuery();
            
            
$aid intval($_POST['aid']);
            
$pid intval($_POST['pid']);
            
$artist ajax_utf8(textFilter($_POST['artist'], falsetrue));
            
$name ajax_utf8(textFilter($_POST['name'], falsetrue));

            if(isset(
$artist) AND empty($artist)) $artist 'Неизвестный исполнитель';
            if(isset(
$name) AND empty($name)) $name 'Без названия';
            
            
$infoGroup $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$pid}'");
            
            if(
stripos($infoGroup['admin'], "u{$user_id}|") !== false$public_admin true;
            else 
$public_admin false;
            
            if(
$public_admin){
            
                
$db->query("UPDATE `".PREFIX."_communities_audio` SET artist = '{$artist}', name = '{$name}' WHERE aid = '{$aid}'");
                
                
mozg_clear_cache_file("groups/audio{$pid}");
                
            }
            
            exit;
            
        break;
        
        
//################### Удаление песни из БД ###################//
        
case "del":
        
            
NoAjaxQuery();
            
            
$aid intval($_POST['aid']);
            
$pid intval($_POST['pid']);
            
            
$infoGroup $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$pid}'");
            
            if(
stripos($infoGroup['admin'], "u{$user_id}|") !== false$public_admin true;
            else 
$public_admin false;
            
            if(
$public_admin){

                
$db->query("DELETE FROM `".PREFIX."_communities_audio` WHERE aid = '{$aid}'");
                
                
$db->query("UPDATE `".PREFIX."_communities` SET audio_num = audio_num-1 WHERE id = '{$pid}'");
                
                
mozg_clear_cache_file("groups/audio{$pid}");
                
            }
            
            exit;
            
        break;
        
        
//################### Поиск ###################//
        
case "search":
            
            
NoAjaxQuery();
            
            
$sql_limit 20;
            
            if(
$_POST['page'] > 0$page_cnt intval($_POST['page'])*$sql_limit;
            else 
$page_cnt 0;
            
            
$pid intval($_POST['pid']);
    
            
$query $db->safesql(ajax_utf8(strip_data($_POST['query'])));
            
$query strtr($query, array(' ' => '%')); //Замеянем пробелы на проценты чтоб тоиск был точнее
            
            
$adres strip_tags($_POST['adres']);
            
            
$row_count $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_audio` WHERE MATCH (name, artist) AGAINST ('%{$query}%') OR artist LIKE '%{$query}%' OR name LIKE '%{$query}%'");
            
            
$sql_ $db->super_query("SELECT SQL_CALC_FOUND_ROWS ".PREFIX."_audio.aid, url, artist, name, auser_id, ".PREFIX."_users.user_search_pref FROM ".PREFIX."_audio LEFT JOIN ".PREFIX."_users ON ".PREFIX."_audio.auser_id = ".PREFIX."_users.user_id WHERE MATCH (name, artist) AGAINST ('%{$query}%') OR artist LIKE '%{$query}%' OR name LIKE '%{$query}%' ORDER by `adate` DESC LIMIT {$page_cnt}{$sql_limit}"1);
            
            
$infoGroup $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$pid}'");
            
            if(
stripos($infoGroup['admin'], "u{$user_id}|") !== false$public_admin true;
            else 
$public_admin false;

            
$tpl->load_template('public_audio/search_result.tpl');

            
$jid intval($page_cnt);
            
            if(
$sql_){
            
                if(!
$page_cnt)
                    
$tpl->result['content'] .= "<script>langNumric('langNumric', '{$row_count['cnt']}', 'аудиозапись', 'аудиозаписи', 'аудиозаписей', 'аудиозапись', 'аудиозаписей');</script><div class="allbar_title" style="margin-bottom:0px">В поиске найдено <span id="seAudioNum">{$row_count['cnt']}</span> <span id="langNumric"></span> | <a href="/{$adres}" onClick="Page.Go(this.href); return false" style="font-weight:normal">К сообществу</a> | <a href="/" onClick="Page.Go(location.href); return false" style="font-weight:normal">Все аудиозаписи</a></div>";
            
                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']));
                    
$tpl->set('{author-n}'substr($row['user_search_pref'], 01));
                    
$expName explode(' '$row['user_search_pref']);
                    
$tpl->set('{author-f}'$expName[1]);
                    
$tpl->set('{author-id}'$row['auser_id']);
                    
                    
//Права админа
                    
if($public_admin){
                        
$tpl->set('[admin-group]''');
                        
$tpl->set('[/admin-group]''');
                        
$tpl->set_block("'\[all-users\](.*?)\[/all-users\]'si","");
                    } else {
                        
$tpl->set_block("'\[admin-group\](.*?)\[/admin-group\]'si","");
                        
$tpl->set('[all-users]''');
                        
$tpl->set('[/all-users]''');
                    }
                    
                    
$tpl->compile('content');
                }
                
            } else {
                
                if(!
$page_cnt){
                
                    
$tpl->result['info'] .= "<div class="allbar_title">Нет аудиозаписей | <a href="/{$adres}" onClick="Page.Go(this.href); return false" style="font-weight:normal">К сообществу</a> | <a href="/" onClick="Page.Go(location.href); return false" style="font-weight:normal">Все аудиозаписи</a></div>";
                
                    
msgbox('''<br /><br /><br />По запросу <b>'.stripslashes($query).'</b> не найдено ни одной аудиозаписи<br /><br /><br />''info_2');
                
                }
            }
            
            
AjaxTpl();
            
            exit;
            
        break;
        
        
//################### Страница всех аудио ###################//
        
default:
            
            
$metatags['title'] = 'Аудиозаписи сообщества';
            
            
$pid intval($_GET['pid']);
            
            
$sql_limit 20;
            
            if(
$_POST['page'] > 0$page_cnt intval($_POST['page'])*$sql_limit;
            else 
$page_cnt 0;
            
            if(
$page_cnt)
                
NoAjaxQuery();
            
            
$sql_ $db->super_query("SELECT aid, url, artist, name FROM `".PREFIX."_communities_audio` WHERE public_id = '{$pid}' ORDER by `adate` DESC LIMIT {$page_cnt}{$sql_limit}"1);

            
$infoGroup $db->super_query("SELECT audio_num, adres, admin FROM `".PREFIX."_communities` WHERE id = '{$pid}'");
            
            if(!
$page_cnt){
                
$tpl->load_template('public_audio/top.tpl');
                
$tpl->set('{pid}'$pid);
                    
                if(
$infoGroup['adres']) $tpl->set('{adres}'$infoGroup['adres']);
                else 
$tpl->set('{adres}''public'.$pid);
                        
                if(
$infoGroup['audio_num']) $tpl->set('{audio-num}'$infoGroup['audio_num'].' <span id="langNumricAll"></span>');
                else 
$tpl->set('{audio-num}''Нет аудиозаписей');
                    
                
$tpl->set('{x-audio-num}'$infoGroup['audio_num']);
                    
                if(!
$infoGroup['audio_num']){
                    
$tpl->set('[no]''');
                    
$tpl->set('[/no]''');
                } else
                    
$tpl->set_block("'\[no\](.*?)\[/no\]'si","");
                
                
$tpl->compile('info');
            }
            
            if(
$sql_){

                
$jid intval($page_cnt);
                
                if(
stripos($infoGroup['admin'], "u{$user_id}|") !== false$public_admin true;
                else 
$public_admin false;
            
                
$tpl->load_template('public_audio/track.tpl');
                
                
$tpl->result['content'] .= '<div id="allGrAudis">';
                
                foreach(
$sql_ as $row){
                    
$jid++;
                    
$tpl->set('{jid}'$jid);
                    
$tpl->set('{pid}'$pid);
                    
$tpl->set('{aid}'$row['aid']);
                    
$tpl->set('{url}'$row['url']);
                    
$tpl->set('{artist}'stripslashes($row['artist']));
                    
$tpl->set('{name}'stripslashes($row['name']));
                    
                    
//Права админа
                    
if($public_admin){
                        
$tpl->set('[admin-group]''');
                        
$tpl->set('[/admin-group]''');
                        
$tpl->set_block("'\[all-users\](.*?)\[/all-users\]'si","");
                    } else {
                        
$tpl->set_block("'\[admin-group\](.*?)\[/admin-group\]'si","");
                        
$tpl->set('[all-users]''');
                        
$tpl->set('[/all-users]''');
                    }
                    
                    
$tpl->compile('content');
                }
                

                if(
$infoGroup['audio_num'] > $sql_limit AND !$page_cnt)
                    
$tpl->result['content'] .= '<div id="ListAudioAddedLoadAjax"></div><div class="cursor_pointer" style="margin-top:-4px" onClick="ListAudioAddedLoadAjax()" id="wall_l_href_se_audiox"><div class="public_wall_all_comm profile_hide_opne" style="width:754px" id="wall_l_href_audio_se_loadx">Показать больше аудиозаписей</div></div>';
                
                
$tpl->result['content'] .= '</div>';
                
            }
            
            if(
$page_cnt){
                
AjaxTpl();
                exit;
            }
            
    }
    
    
$tpl->clear();
    
$db->free();

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