Файл: system/inc/report.php
Строк: 256
<?php
/*
Appointment: Жалобы
File: report.php
*/
if(!defined('MOZG'))
die('Hacking attempt!');
//Удаление жалобы
if($_GET['action'] == 'del'){
$id = intval($_POST['id']);
$db->query("DELETE FROM `".PREFIX."_report` WHERE id = '".$id."'");
die();
}
//Удаление всех жалоб юзера
if($_GET['action'] == 'del_user'){
$id = intval($_GET['id']);
$db->query("DELETE FROM `".PREFIX."_report` WHERE ruser_id = '".$id."'");
header("Location: ?mod=report");
die();
}
//Удаление фото, видео, заметки, записи
if($_GET['action'] == 'obj'){
$act_post = $_POST['act_post'];
$rid = intval($_POST['aid']);
//Запись
if($act_post == 'wall'){
$row = $db->super_query("SELECT author_user_id, for_user_id, fast_comm_id, add_date, attach FROM `".PREFIX."_wall` WHERE id = '{$rid}'");
if($row){
//удаляем саму запись
$db->query("DELETE FROM `".PREFIX."_wall` WHERE id = '{$rid}'");
//Если удаляется НЕ комментарий к записи
if(!$row['fast_comm_id']){
//удаляем комменты к записиы
$db->query("DELETE FROM `".PREFIX."_wall` WHERE fast_comm_id = '{$rid}'");
//удаляем "мне нравится"
$db->query("DELETE FROM `".PREFIX."_wall_like` WHERE rec_id = '{$rid}'");
//обновляем кол-во записей
$db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num-1 WHERE user_id = '{$row['for_user_id']}'");
//Чистим кеш
mozg_clear_cache_file('user_'.$row['for_user_id'].'/profile_'.$row['for_user_id']);
//удаляем из ленты новостей
$db->query("DELETE FROM `".PREFIX."_news` WHERE obj_id = '{$rid}' AND action_type = 6");
//Удаляем фотку из прикрипленой ссылке, если она есть
if(stripos($row['attach'], 'link|') !== false){
$attach_arr = explode('link|', $row['attach']);
$attach_arr2 = explode('|/uploads/attach/'.$row['author_user_id'].'/', $attach_arr[1]);
$attach_arr3 = explode('||', $attach_arr2[1]);
if($attach_arr3[0])
@unlink(ROOT_DIR.'/uploads/attach/'.$row['author_user_id'].'/'.$attach_arr3[0]);
}
$action_type = 1;
}
//Если удаляется комментарий к записи
if($row['fast_comm_id']){
$db->query("UPDATE `".PREFIX."_wall` SET fasts_num = fasts_num-1 WHERE id = '{$row['fast_comm_id']}'");
$rid = $row['fast_comm_id'];
$action_type = 6;
}
//удаляем из ленты новостей
$db->query("DELETE FROM `".PREFIX."_news` WHERE obj_id = '{$rid}' AND action_time = '{$row['add_date']}' AND action_type = {$action_type}");
}
//Заметка
} elseif($act_post == 'note'){
//Проверка на существование заметки
$row = $db->super_query("SELECT owner_user_id FROM `".PREFIX."_notes` WHERE id = '{$rid}'");
if($row){
$db->query("DELETE FROM `".PREFIX."_notes` WHERE id = '{$rid}'");
$db->query("DELETE FROM `".PREFIX."_notes_comments` WHERE note_id = '{$rid}'");
$db->query("UPDATE `".PREFIX."_users` SET user_notes_num = user_notes_num-1 WHERE user_id = '{$row['owner_user_id']}'");
//Чистим кеш владельцу заметки и заметок на его стр
mozg_clear_cache_file('user_'.$row['owner_user_id'].'/profile_'.$row['owner_user_id']);
mozg_clear_cache_file('user_'.$row['owner_user_id'].'/notes_user_'.$row['owner_user_id']);
}
//Видео
} elseif($act_post == 'video'){
$row = $db->super_query("SELECT owner_user_id, photo FROM `".PREFIX."_videos` WHERE id = '{$rid}'");
if($row){
$db->query("DELETE FROM `".PREFIX."_videos` WHERE id = '{$rid}'");
$db->query("DELETE FROM `".PREFIX."_videos_comments` WHERE video_id = '{$rid}'");
$db->query("UPDATE `".PREFIX."_users` SET user_videos_num = user_videos_num-1 WHERE user_id = '{$row['owner_user_id']}'");
//Удаляем фотку
$exp_photo = explode('/', $row['photo']);
$photo_name = end($exp_photo);
@unlink(ROOT_DIR.'/uploads/videos/'.$row['owner_user_id'].'/'.$photo_name);
//Чистим кеш
mozg_mass_clear_cache_file("user_{$row['owner_user_id']}/page_videos_user|user_{$row['owner_user_id']}/page_videos_user_friends|user_{$row['owner_user_id']}/page_videos_user_all|user_{$row['owner_user_id']}/profile_{$row['owner_user_id']}|user_{$row['owner_user_id']}/videos_num_all|user_{$row['owner_user_id']}/videos_num_friends");
}
//Фотография
} elseif($act_post == 'photo'){
$row = $db->super_query("SELECT user_id, album_id, photo_name, comm_num, position FROM `".PREFIX."_photos` WHERE id = '{$rid}'");
//Если есть такая фотография и владельце действителен
if($row){
//Директория удаления
$del_dir = ROOT_DIR.'/uploads/users/'.$row['user_id'].'/albums/'.$row['album_id'].'/';
//Удаление фотки с сервера
@unlink($del_dir.'c_'.$row['photo_name']);
@unlink($del_dir.$row['photo_name']);
//Удаление фотки из БД
$db->query("DELETE FROM `".PREFIX."_photos` WHERE id = '{$rid}'");
$check_photo_album = $db->super_query("SELECT id FROM `".PREFIX."_photos` WHERE album_id = '{$row['album_id']}'");
$album_row = $db->super_query("SELECT cover FROM `".PREFIX."_albums` WHERE aid = '{$row['album_id']}'");
//Если удаляемая фотография является обложкой то обновляем обложку на последнюю фотографию, если фотки еще есть из альбома
if($album_row['cover'] == $row['photo_name'] AND $check_photo_album){
$row_last_photo = $db->super_query("SELECT photo_name FROM `".PREFIX."_photos` WHERE user_id = '{$row['user_id']}' AND album_id = '{$row['album_id']}' ORDER by `id` DESC");
$set_cover = ", cover = '{$row_last_photo['photo_name']}'";
}
//Если в альбоме уже нет фоток, то удаляем обложку
if(!$check_photo_album)
$set_cover = ", cover = ''";
//Удаляем комментарии к фотографии
$db->query("DELETE FROM `".PREFIX."_photos_comments` WHERE pid = '{$rid}'");
//Обновляем количество комментов у альбома
$db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num-1, comm_num = comm_num-{$row['comm_num']} {$set_cover} WHERE aid = '{$row['album_id']}'");
//Чистим кеш
mozg_mass_clear_cache_file("user_{$row['user_id']}/albums|user_{$row['user_id']}/albums_all|user_{$row['user_id']}/albums_friends|user_{$row['user_id']}/position_photos_album_{$row['album_id']}");
//Выводим и удаляем отметки если они есть
$sql_mark = $db->super_query("SELECT muser_id FROM `".PREFIX."_photos_mark` WHERE mphoto_id = '".$rid."' AND mapprove = '0'", 1);
if($sql_mark){
foreach($sql_mark as $row_mark){
$db->query("UPDATE `".PREFIX."_users` SET user_new_mark_photos = user_new_mark_photos-1 WHERE user_id = '".$row_mark['muser_id']."'");
}
}
$db->query("DELETE FROM `".PREFIX."_photos_mark` WHERE mphoto_id = '".$rid."'");
}
}
die();
}
echoheader();
echohtmlstart('Поиск по жалобам');
$act = intval($_GET['act']);
$type = intval($_GET['type']);
$se_uid = intval($_GET['se_uid']);
if(!$se_uid) $se_uid = '';
if($se_uid OR $act OR $type){
if($se_uid) $where_sql .= "AND ruser_id = '".$se_uid."' ";
if($act == 1) $act_q = 'photo';
else if($act == 2) $act_q = 'video';
else if($act == 3) $act_q = 'note';
else if($act == 4) $act_q = 'wall';
else $act_q = false;
if($act_q) $where_sql .= "AND act = '".$act_q."' ";
if($type) $where_sql .= "AND type = '".$type."' ";
}
//Выводим список
if($_GET['page'] > 0) $page = intval($_GET['page']); else $page = 1;
$gcount = 20;
$limit_page = ($page-1)*$gcount;
$sql_ = $db->super_query("SELECT tb1.id, ruser_id, act, type, text, mid, date, tb2.user_search_pref FROM `".PREFIX."_report` tb1, `".PREFIX."_users` tb2 WHERE tb1.ruser_id = tb2.user_id ".$where_sql." ORDER by `date` DESC LIMIT ".$limit_page.", ".$gcount, 1);
//Кол-во считаем
$numRows = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_report` WHERE id != '' ".$where_sql);
$act_type = installationSelected($act, '<option value="1">Фотографии</option><option value="2">Видеозаписи</option><option value="3">Заметки</option><option value="4">Записи</option>');
$selsorlist_type = installationSelected($type, '<option value="1">Материал для взрослых</opyion><option value="2">Детская порнография</opyion><option value="3">Эктремизм</opyion><option value="4">Насилие</opyion><option value="5">Пропаганда наркотиков</opyion>');
echo <<<HTML
<script type="text/javascript" src="/system/inc/js/jquery.js"></script>
<script type="text/javascript">
function del(act, id, i){
$('#loading').fadeIn('fast');
$.post('?mod=report&action=obj', {act_post: act, aid: id}, function(d){
$('#loading').fadeOut('fast');
$('#'+i).html('Удалено').attr('onClick', '');
});
}
function del_rep(id){
$('#loading').fadeIn('fast');
$.post('?mod=report&action=del', {id: id}, function(d){
$('#loading').fadeOut('fast');
$('#r'+id).html('Жалоба удалена');
});
}
</script>
<div id="loading" style="display:none"><div id="loading_text">Загрузка. Пожалуйста, подождите...</div></div>
<style type="text/css" media="all">
.inpu{width:300px;}
textarea{width:300px;height:100px;}
.imgaa img{width:200px}
</style>
<form action="controlpanel.php" method="GET">
<input type="hidden" name="mod" value="report" />
<div class="fllogall">Поиск по ID пользователя:</div>
<input type="text" name="se_uid" class="inpu" value="{$se_uid}" />
<div class="mgcler"></div>
<div class="fllogall">Жалоба на:</div>
<select name="act" class="inpu">
<option value="0"></option>
{$act_type}
</select>
<div class="mgcler"></div>
<div class="fllogall">Причина:</div>
<select name="type" class="inpu">
<option value="0"></option>
{$selsorlist_type}
</select>
<div class="mgcler"></div>
<div class="fllogall"> </div>
<input type="submit" value="Найти" class="inp" style="margin-top:0px" />
</form>
HTML;
echohtmlstart('Список жалоб ('.$numRows['cnt'].')');
$i = 20;
foreach($sql_ as $row){
$i++;
$row['date'] = langdate('j F Y в H:i', $row['date']);
if($row['act'] == 'photo'){
$row_info = $db->super_query("SELECT album_id, user_id, photo_name FROM `".PREFIX."_photos` WHERE id = '".$row['mid']."'");
$act_q = '<a href="/photo'.$row_info['user_id'].'_'.$row['mid'].'_'.$row_info['album_id'].'" target="_blank"><b>фотографию</b></a>';
$data_X = '<a href="/photo'.$row_info['user_id'].'_'.$row['mid'].'_'.$row_info['album_id'].'" target="_blank"><img src="/uploads/users/'.$row_info['user_id'].'/albums/'.$row_info['album_id'].'/c_'.$row_info['photo_name'].'" /></a>';
if(!$row_info['user_id'])
$data_X = '<font color="blue">Фотография удалена.</font>';
else
$del_data_lnk = '<a href="" onClick="del('photo', '.$row['mid'].', this.id); return false" style="float:right;color:#000" id="lnk_photo'.$row['id'].'">удалить фотографию</a>';
} else if($row['act'] == 'video'){
$row_info_video = $db->super_query("SELECT owner_user_id, photo, title FROM `".PREFIX."_videos` WHERE id = '".$row['mid']."'");
$act_q = '<a href="/video'.$row_info_video['owner_user_id'].'_'.$row['mid'].'" target="_blank"><b>видеозапись</b></a>';
$data_X = '<a href="/video'.$row_info_video['owner_user_id'].'_'.$row['mid'].'" target="_blank"><img src="'.$row_info_video['photo'].'" /><br /><b>'.$row_info_video['title'].'</b></a>';
if(!$row_info_video['title'])
$data_X = '<font color="blue">Видеозапись удалена.</font>';
else
$del_data_lnk = '<a href="" onClick="del('video', '.$row['mid'].', this.id); return false" id="lnk_video'.$row['id'].'" style="float:right;color:#000">удалить видеозапись</a>';
} else if($row['act'] == 'note'){
$row_info_note = $db->super_query("SELECT title FROM `".PREFIX."_notes` WHERE id = '".$row['mid']."'");
$act_q = '<a href="/notes/view/'.$row['mid'].'" target="_blank"><b>заметку</b></a>';
$data_X = '<a href="/notes/view/'.$row['mid'].'" target="_blank"><b>'.$row_info_note['title'].'</b></a>';
if(!$row_info_note['title'])
$data_X = '<font color="blue">Заметка удалена.</font>';
else
$del_data_lnk = '<a href="" onClick="del('note', '.$row['mid'].', this.id); return false" id="lnk_note'.$row['id'].'" style="float:right;color:#000">удалить заметку</a>';
} else if($row['act'] == 'wall'){
$row_info_rec = $db->super_query("SELECT for_user_id, text FROM `".PREFIX."_wall` WHERE id = '".$row['mid']."'");
$act_q = '<a href="/wall'.$row_info_rec['for_user_id'].'_'.$row['mid'].'" target="_blank"><b>запись</b></a>';
$row_info_rec['text'] = stripslashes($row_info_rec['text']);
$data_X = '<b>Содержимое сообщения:</b><br /><br /><div class="imgaa">'.$row_info_rec['text'].'</div>';
if(!$row_info_rec['text'])
$data_X = '<font color="blue">Запись удалена.</font>';
else
$del_data_lnk = '<a href="" onClick="del('wall', '.$row['mid'].', this.id); return false" id="lnk_wall'.$row['id'].'" style="float:right;color:#000">удалить запись</a>';
} else {
$act_q = '';
$data_X = '';
$del_data_lnk = '';
}
if($row['type'] == 1) $type = 'Материал для взрослых';
else if($row['type'] == 2) $type = 'Детская порнография';
else if($row['type'] == 3) $type = 'Эктремизм';
else if($row['type'] == 4) $type = 'Насилие';
else if($row['type'] == 5) $type = 'Пропаганда наркотиков';
else $type = 'Спам';
$row['text'] = stripslashes($row['text']);
if(!$row['text']) $row['text'] = '---';
if($i >= 10) $strII = substr($i, 1, 1);
else $strII = $i;
$bgList = array(2, 4, 6, 8, 0);
if(in_array($strII, $bgList)) $bg_color = '#f7f7f7';
else $bg_color = '#eef1f4';
echo <<<HTML
<div style="border-bottom:1px dashed #ccc;padding:10px;background:{$bg_color}" id="r{$row['id']}">
Жалобу на {$act_q} отправил <a href="/u{$row['ruser_id']}" target="_blank"><b>{$row['user_search_pref']}</b></a>, <i style="color:#999">{$row['date']}</i><a href="#" onClick="del_rep({$row['id']}); return false" style="float:right;color:green">удалить жалобу</a><br />
Причина: <b>{$type}</b><a href="?mod=report&action=del_user&id={$row['ruser_id']}" style="float:right;color:#999">удалить все жалобы от этого пользователя</a><br />
Комментарий: <b>{$row['text']}</b>{$del_data_lnk}<br /><br />
{$data_X}
<div class="clear"></div>
</div>
HTML;
}
echo '<div class="clear" style="margin-top:15px"></div>';
$query_string = preg_replace("/&page=[0-9]+/i", '', $_SERVER['QUERY_STRING']);
echo navigation($gcount, $numRows['cnt'], '?'.$query_string.'&page=');
echohtmlend();
?>