Файл: admin.php
Строк: 695
<?php
/*
------------------------------
##############################
- Загруз Центр -
- by Kemel -
##############################
------------------------------
*/
define('Loads',true);
require_once ('system/power.php');
if ($aut == true and $admin == true) {
$mes = '';
switch($do) {
case 'upload':
exit('Впроцессе разработки!');
if (isset($_POST['submit'])) {
$cnt = sizeof($_FILES['file']['name']);
if ($cnt > 0) {
$diz -> head('Выгрузка');
$diz -> title('Выгружаем треки');
//Подгружаем класс
include_once ('system/mp3.php');
$id3 = new MP3_Id();
//Цикл загрузки треков
for ($i = 0; $i < $cnt; $i++) {
$ms = null;
if ($_FILES['file']['size'][$i] > 0) {
$fname = trim($_FILES['file']['name'][$i]);
$fsize = $_FILES['file']['size'][$i];
$ext = explode('.', mb_strtolower($fname));
$janr = $func -> check($_POST['janre'][$i]);
// Проверка на допустимый размер файла
if ($fsize >= $set['maxupload']*1024) {
$ms .= 'Вес файла превышает '.$func -> size($set['maxupload']*1024).'<br />';
}
// Проверка файла на наличие только одного расширения
if (count($ext) != 2) {
$ms .= 'Неправильное имя файла!<br />';
}
//MP3 ли файл?
if ($ext[1] != 'mp3' || pathinfo($fname,PATHINFO_EXTENSION) != 'mp3') {
$ms .= 'К загрузке разрешены только mp3 файлы!<br />';
}
$fname = $func -> check($fname);
if (empty($ms)) {
$name = $func -> trans2($fname);
if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $root.'downloads/'.$janr.'/'.$name)) {
chmod($root.'downloads/'.$janr.'/'.$name, 0666);
$result = $id3->read($root.'downloads/'.$janr.'/'.$name);
$result = $id3->study();
$ms .= '<br/><span style="text-decoration:underline;">Имя</span> '.$fname.'<br/>
<span style="text-decoration:underline;">Звук</span> '.$id3->getTag('mode').'<br/>
<span style="text-decoration:underline;">Размер:</span> '.$func -> size($id3->getTag('filesize')).'<br/>
<span style="text-decoration:underline;">Битрейт:</span> '.$id3->getTag('bitrate').' кбит/сек<br/>
<span style="text-decoration:underline;">Длительность:</span> '.$id3->getTag('length').'<br/>
<span style="text-decoration:underline;">Частота дискретизации:</span> '.$id3->getTag('frequency').' Гц<br/>
<span style="text-decoration:underline;">Автор:</span> '.$id3 -> getTag('artists').'<br/>
<span style="text-decoration:underline;">Альбом:</span> '.$id3 -> getTag('album').'<br/>
<span style="text-decoration:underline;">Жанр:</span> '.$janre[$janr].'<br/>';
//Заносим в базу
$expl = explode('-',$fname);
$first = $func -> first($fname);
$db -> query("INSERT INTO `loads` SET
`fullname` = '".$fname."',
`name` = '".$name."',
`title` = '".$expl[1]."',
`avtor` = '".$expl[0]."',
`first` = '".$first."',
`album` = '".$func -> check($id3 -> getTag('album'))."',
`janre` = '".$janr."',
`size` = '".$fsize."',
`frequency` = '".$id3 -> getTag('frequency')."',
`mode` = '".$id3 -> getTag('mode')."',
`bit` = '".$id3 -> getTag('bitrate')."',
`length` = '".$id3 -> getTag('length')."',
`lastload` = '".time()."',
`moder` = 'yes',
`time` = '".time()."'");
} else {
$ms .= '<span class="bold">Ошибка загрузки треков!</span><br/>';
}
}
} else {
$ms .= '<br/><span class="bold">Файл не загружен</span>';
}
$mes .= $ms;
}
$msg = '<span class="bold">Треки загружены!</span><br/>';
$msg .= $mes;
$msg .= '<br/><a href="admin.php?do=upload">Назад</a>';
$diz -> out($msg);
} else {
header('location: admin.php?do=upload');
}
} else {
$diz -> head('Загрузка');
$diz -> title('Загрузка Песни');
$opt = '';
foreach ($janre as $k => $val) {
$opt .= '<option value="'.$k.'">'.$val.'</option>';
}
$msg .= 'Выберите трек(max. '.$func -> size($set['maxupload']*1024).') :<br />';
$msg .= '<form action="admin.php?do=upload" method="post" enctype="multipart/form-data"><div>
<br /><input type="file" name="file[]" /><br />
<select name="janre[]">'.$opt.'</select><br />
<input type="file" name="file[]" /><br />
<select name="janre[]">'.$opt.'</select><br />
<input type="file" name="file[]" /><br />
<select name="janre[]">'.$opt.'</select><br />
<input type="file" name="file[]" /><br />
<select name="janre[]">'.$opt.'</select><br />
<input type="file" name="file[]" /><br />
<select name="janre[]">'.$opt.'</select><br />
<input type="file" name="file[]" /><br />
<select name="janre[]">'.$opt.'</select><br />
<input type="file" name="file[]" /><br />
<select name="janre[]">'.$opt.'</select><br />
<input type="submit" name="submit" value="Загрузить" /></div></form>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
}
break;
////////////////////////////////////
// Удаление трека //
///////////////////////////////////
case 'del':
if ($id) {
$sql = $db -> query("SELECT `id`,`name`,`janre`,`fullname` FROM `loads` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$diz -> head('Удаление');
$diz -> title('Удаление трека');
$mus = $sql -> fetch_assoc();
if (!isset($_GET['yes'])) {
$diz -> line('Вы точно хотите удалить данный трек?');
$msg .= $mus['fullname'].'<br/><a href="admin.php?do=del&id='.$id.'&yes">Да</a> | <a href="'.$_SERVER['HTTP_REFERER'].'">Нет</a>';
} else {
$file = $_SERVER['DOCUMENT_ROOT'].'/downloads/'.$mus['janre'].'/'.$mus['name'];
if (is_file($file)) {
chmod($file,0777);
unlink($file);
$db -> multi_query("DELETE FROM `loads` WHERE `id` = '".$id."' LIMIT 1; OPTIMIZE TABLE `loads`");
} else {
$db -> multi_query("DELETE FROM `loads` WHERE `id` = '".$id."' LIMIT 1; OPTIMIZE TABLE `loads`");
}
$diz -> line('Трек удален!');
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="index.php">На главную</a>';
$diz -> out($msg);
} else header('location: index.php');
} else header('location: index.php');
break;
////////////////////////////////////
// Изменяем имя файла //
//////////////////////////////////
case 'rename':
if ($id) {
$sql = $db -> query("SELECT `id`,`name`,`janre`,`fullname`,`avtor`,`title` FROM `loads` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0) {
$diz -> head('Изменяем');
$diz -> title('Изменяем имя трека');
$mus = $sql -> fetch_assoc();
if (empty($_POST['fullname'])) {
$msg = '<form action="admin.php?do=rename&id='.$id.'" method="post"><div>
Название трека:<br/><input type="text" name="fullname" maxlength="100" value="'.$mus['fullname'].'"/><br/>
Исполнитель:<br/><input type="text" name="avtor" maxlength="100" value="'.$mus['avtor'].'"/><br/>
Заголовок:<br/><input type="text" name="title" maxlength="100" value="'.$mus['title'].'"/><br/>
<input type="submit" value="Изменить"/>
</div></form>';
} else {
$fullname = $func -> check($_POST['fullname']);
if (!empty($_POST['avtor'])) $avtor = $func -> check($_POST['check']); else $avtor = '';
if (!empty($_POST['title'])) $title = $func -> check($_POST['title']); else $title = '';
$first = $func -> first($fullname);
$db -> query("UPDATE `loads` SET `first` = '".$first."',`fullname` = '".$fullname."', `title` = '".$title."', `avtor` = '".$avtor."' WHERE `id` = '".$id."' LIMIT 1");
$msg = '<div class="shapka">Имя трека изменено!</div>';
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
} else header('location: index.php');
} else header('location: index.php');
break;
////////////////////////////////////
// Изменяем жанр //
//////////////////////////////////
case 'janre':
if ($id) {
$sql = $db -> query("SELECT `id`,`name`,`janre`,`fullname` FROM `loads` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0) {
$diz -> head('Изменяем');
$diz -> title('Изменяем жанр');
$mus = $sql -> fetch_assoc();
if (empty($_POST['janre'])) {
$msg = '<div class="shapka">Выберите жанр('.$janre[$mus['janre']].')</div>'.$mus['fullname'].'<br/>
<form action="admin.php?do=janre&id='.$id.'" method="post"><div>
<select name="janre">';
foreach ($janre as $k => $val) {
if ($k != $mus['janre'])
$msg .= '<option value="'.$k.'">'.$val.'</option>';
}
$msg .= '</select><br/><input type="submit" value="Изменить"/></div></form>';
} else {
$exists = $_SERVER['DOCUMENT_ROOT'].'/downloads/'.$mus['janre'].'/'.$mus['name'];
if (is_file($exists) && array_key_exists($_POST['janre'],$janre)) {
$new = $_SERVER['DOCUMENT_ROOT'].'/downloads/'.$_POST['janre'].'/'.$mus['name'];
chmod($exists,0777);
if (copy($exists, $new)) {
chmod($new, 0666);
unlink($exists);
$db -> query("UPDATE `loads` SET `janre` = '".$func -> check($_POST['janre'])."' WHERE `id` = '".$id."' LIMIT 1");
$diz -> line('Жанр изменен!');
} else {
$diz -> line('Ошибка изменения жанра!');
}
} else {
$diz -> line('Трека нет!');
}
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="index.php">На главную</a>';
$diz -> out($msg);
} else header('location: index.php');
} else header('location: index.php');
break;
////////////////////////////////////
//Обновляем базу с новыми файлами //
///////////////////////////////////
case 'update':
set_time_limit(0);
//Подгружаем класс
include_once ('system/mp3.php');
$reses = $db -> query('SELECT `id`,`name` FROM `loads`;');
$array_path = array();
while($array = $reses -> fetch_assoc()){
$array_path[$array['id']] = $array['name'];
}
$id3 = new MP3_Id();
$i = 0;
$a = array();
foreach ($janre as $k => $val) {
$dir = opendir($root.'downloads/'.$k.'/');
while (false !== ($scan = readdir($dir))) {
if ($scan == '.' || $scan == '..' || in_array($scan,$array_path)) continue;
$result = $id3->read($root.'downloads/'.$k.'/'.$scan);
$result = $id3->study();
//Заносим в базу
$size = filesize($root.'downloads/'.$k.'/'.$scan);
$scan = iconv('windows-1251','utf-8',$scan);
$first = $func -> first($scan);
$name = $scan;
$expl = explode('-',$scan);
//$name = $f -> trans2($scan);
$db -> query("INSERT INTO `loads` SET
`name` = '".$name."',
`fullname` = '".$scan."',
`title` = '".$expl[1]."',
`avtor` = '".$expl[0]."',
`first` = '".$first."',
`album` = '".$func -> check($id3 -> getTag('album'))."',
`janre` = '".$k."',
`size` = '".$size."',
`frequency` = '".$id3 -> getTag('frequency')."',
`mode` = '".$id3 -> getTag('mode')."',
`bit` = '".$id3 -> getTag('bitrate')."',
`length` = '".$id3 -> getTag('length')."',
`lastload` = '".time()."',
`time` = '".time()."'");
$number = $db -> insert_id;
$nazv = $db -> real_escape_string(htmlspecialchars($_SERVER['HTTP_HOST'])).'_'.$number.'.mp3';
$db -> query("UPDATE `loads` SET `name` = '".$nazv."' WHERE `id` = '".$number."' LIMIT 1");
rename($root.'downloads/'.$k.'/'.iconv('utf-8','windows-1251',$scan),$root.'downloads/'.$k.'/'.$nazv);
$a[] = $scan;
++$i;
}
closedir($dir);
}
$diz -> head('Обновляем музыку');
$diz -> title('Обновляем треки');
$diz -> line('Обновлено '.$i.' треков:<br/>');
foreach ($a as $n => $name) {
$msg .= $name.'<br/>';
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="index.php">На главную</a>';
$diz -> out($msg);
break;
////////////////////////////////
// Удаляем файлы //
///////////////////////////////
case 'update_files':
set_time_limit(0);
$i = 0;
$kak = '';
foreach ($janre as $k => $v) {
$dir = opendir($root.'downloads/'.$k);
while (false !== ($file = readdir($dir))) {
if ($file == '.' || $file == '..') continue;
$sql = $db -> query("SELECT `id` FROM `loads` WHERE `name` = '".$file."' AND `janre` = '".$k."'");
if ($sql -> num_rows == 0) {
++$i;
$kak .= $file.'<br/>';
chmod($root.'downloads/'.$k.'/'.$file,0777);
unlink($root.'downloads/'.$k.'/'.$file);
}
}
closedir($dir);
}
$diz -> head('Проверка');
$diz -> title('Проверка файлов');
$diz -> line('Удалено файлов - '.$i.':');
$msg .= $kak;
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="index.php">На главную</a>';
$diz -> out($msg);
break;
////////////////////////////////
// Удаляем записи с базы //
///////////////////////////////
case 'update_base':
set_time_limit(0);
$i = 0;
$kak = '';
$sql = $db -> query("SELECT `id`,`name`,`fullname`,`janre` FROM `loads`");
while ($case = $sql -> fetch_assoc()) {
$file = $_SERVER['DOCUMENT_ROOT'].'/downloads/'.$case['janre'].'/'.$case['name'];
if (!file_exists($file)) {
$db -> query("DELETE FROM `loads` WHERE `id` = '".$case['id']."' LIMIT 1");
$kak .= $case['fullname'].'<br/>';
}
}
$db -> query("OPTIMIZE TABLE `loads`");
$diz -> head('Проверка');
$diz -> title('Проверка файлов');
$msg = '<div class="shapka">Удалено записей из базы - '.$i.':</div>'.$kak;
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
break;
////////////////////////////////////
// Список Юзеров //
///////////////////////////////////
case 'users':
$mode = isset($_GET['mode']) ? trim($_GET['mode']) : false;
switch($mode) {
case 'anketa':
if (!$id) $id = $ya['id'];
$sql = $db -> query("SELECT * FROM `users` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0) {
$user = $sql -> fetch_assoc();
$diz -> head('Анкета');
$diz -> title('Изменяем данные');
$msg = '<div class="shapka">'.$user['login'].'</div>';
if (empty($_POST['right'])) {
$array = array('1' => 'Пользователь', '2' => 'Модератор', '3' => 'Администратор');
$stat = null;
foreach ($array as $key => $value) {
if ($user['right'] == $key) $stat .= '<option selected value="'.$key.'">'.$value.'</option>';
else $stat .= '<option value="'.$key.'">'.$value.'</option>';
}
$msg .= 'ID: '.$user['id'].'<br/>
<form action="admin.php?do=users&mode=anketa&id='.$id.'" method="post"><div>
<select name="right">
'.$stat.'
</select>
<br/><input type="submit" value="Изменить"/>
</div></form>';
} else {
$right = abs((int)$_POST['right']);
if ($id == $ya['id'] && $right < 3) $right = 3;
$db -> query("UPDATE `users` SET `right` = '".$right."' WHERE `id` = '".$id."'");
$msg .= 'Изменения приняты!';
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
} else header('Location: admin.php?do=users');
break;
default:
$diz -> head('Список юзеров');
$count = $db -> dbcount('COUNT(`id`)','users');
$diz -> title('Список пользователей');
$msg = '<div class="shapka">Всего пользователей - '.$count.'</div>';
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$sql = $db -> query("SELECT `id`,`login`,`time` FROM `users` ORDER BY `id` LIMIT ".$start.",".$num);
$i = 1;
while ($users = $sql -> fetch_assoc()) {
$msg .= $i.')<span style="text-decoration:underline;"><a href="admin.php?do=users&mode=anketa&id='.$users['id'].'">'.$users['login'].'</a>
</span> - '.$func -> times(date('d m Y',$users['time'])).' | <a href="/my/id'.$users['id'].'">[Анкета]</a><br/>';
++$i;
}
$act = 'admin.php?do=users';
$msg .= $func -> pagenav($act,$page,$total);
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="index.php">На главную</a>';
$diz -> out($msg);
}
break;
///////////////////////////
//
//////////////////////////
case 'addrekl':
if (empty($_POST['site']) || empty($_POST['title']) || empty($_POST['time'])) {
$diz -> head('Добавляем рекламу');
$diz -> title('Добавляем рекламу');
$msg = '<form action="admin.php?do=addrekl" method="post"><div>
Введите название сайта:<br/><input type="text" name="title" maxlength="40"/><br/>
Введите адрес сайта(без http://):<br/><input type="text" name="site" maxlength="40"/><br/>
Укажите время действия ссылки:<br/><input type="text" name="time" maxlength="3"/><br/>
<select name="date"><option value="3600">Часов</option><option value="86400">Суток</option>
<option value="604800">Недель</option></select><br/>
<input type="submit" value="Добавить"/>
</div></form>';
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
} else {
$title = $func -> check($_POST['title']);
$site = str_ireplace('http://','',$_POST['site']);
$site = $db -> real_escape_string(htmlentities($site));
$time = abs((int)$_POST['time']);
$time = time() + ((int)$_POST['date'] * $time);
$db -> query("INSERT INTO `reklama` SET `title` = '".$title."', `site` = '".$site."', `time` = '".$time."'");
$diz -> head('Добавляем рекламу');
$diz -> title('Добавляем рекламу');
$msg = '<div class="shapka">Реклама добавлена!</div>';
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
}
break;
//НАСТРОЙКИ
case 'settings':
$diz -> head('Админка');
$diz -> title('Настройки системы');
if (!isset($_POST['submit'])) {
$msg .= '<form action="admin.php?do=settings" method="post"><div>
Кол-во загружаемых треков:<br/><select name="count">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="5">5</option></select><br/>
Макс. размер трека:<br/><select name="maxupload">
<option value="2048">2мб</option>
<option value="4096">4мб</option>
<option selected value="5120">5мб</option>
<option value="7168">7мб</option>
<option value="10240">10мб</option>
</select><br/>
<input type="submit" name="submit" value="Изменить"/>
</div></form>';
} else {
$row = $db -> query("SELECT `value` FROM `settings` WHERE `option` = 'count'") -> num_rows;
if ($row == 0) $db -> query("INSERT INTO `settings` SET `option` = 'count'");
$count = abs((int)$_POST['count']);
$maxupload = abs((int)$_POST['maxupload']);
if ($count < 1) $count = 1;
if ($maxupload < 1024) $maxupload = 1024;
$db -> multi_query("UPDATE `settings` SET `value` = '".$count."' WHERE `option` = 'count';
UPDATE `settings` SET `value` = '".$maxupload."' WHERE `option` = 'maxupload';");
$msg .= 'Настройки успешно изменены!';
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="index.php">На главную</a>';
$diz -> out($msg);
break;
case 'pravo':
$pravo = $root.'documents/pravo.txt';
if (is_file($pravo) === false) {
$pr = fopen($pravo,'w');
fclose($pr);
}
if (empty($_POST['text'])) {
$diz -> head('Админка');
$diz -> title('Правообладателям');
$file = file_get_contents($pravo);
$msg = '<form action="admin.php?do=pravo" method="post"><div>
<textarea name="text" rows="4" cols="20">'.$file.'</textarea>
<br/><input type="submit" value="Изменить"/></div></form>';
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="index.php">На главную</a>';
$diz -> out($msg);
} else {
$text = trim(htmlentities($_POST['text'],ENT_QUOTES,'UTF-8'));
$file = fopen($pravo,'w+');
flock($file,LOCK_EX);
fputs($file,$text);
flock($file,LOCK_UN);
fclose($file);
$diz -> head('Админка');
$diz -> title('Правообладателям');
$msg = 'Текст изменен!<br/><a href="admin.php?do=pravo">Назад</a>';
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
}
break;
//На модерации
case 'mod':
$diz -> head('Админка');
$diz -> title('Модерация треков');
if (!isset($_POST['submit'])) {
$mod = $db -> dbcount('COUNT(*)','loads',"`moder` = 'no'");
if ($mod > 0) {
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$sql = $db -> query("SELECT `id`,`fullname`,`janre`,`time` FROM `loads` WHERE `moder` = 'no' ORDER BY `id` DESC LIMIT ".$start.",".$num);
$act = 'admin.php?do=mod';
$msg .= $func -> pagenav($act,$page,$total).'<br/>';
$msg .= '<form action="admin.php?do=mod" method="post"><div>';
while ($new = $sql -> fetch_assoc()) {
$msg .= "n".'<div class="top"><input type="checkbox" name="del[]" checked="checked" value="'.$new['id'].'" />
»<a href="download.php?id='.$new['id'].'">'.$new['fullname'].'</a>('.$janre[$new['janre']].') ||
<a href="admin.php?do=janre&id='.$new['id'].'">Сменить жанр</a> | <a href="admin.php?do=del&id='.$new['id'].'">Удалить</a>
<br/></div>';
}
$msg .= '<input type="submit" name="submit" value="Модерировать"/></div></form>';
$sql -> free();
$msg .= $func -> pagenav($act,$page,$total).'<br/>';
} else $msg .= 'Нет треков для модерации!';
} else {
$count = count($_POST['del']);
$msg .= '<strong>Треки промодерированы!</strong><br/>';
if ($count > 0) {
for ($i = 0; $i < $count; $i++) {
$fid = intval($_POST['del'][$i]);
$sql = $db -> query("SELECT `fullname` FROM `loads` WHERE `id` = '".$fid."' AND `moder` = 'no' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
$db -> query("UPDATE `loads` SET `moder` = 'yes' WHERE `id` = '".$fid."' LIMIT 1");
$msg .= $ass['fullname'].' промодерирован<br/>';
}
}
}
$msg .= '<a href="admin.php?do=mod">Назад</a>';
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
break;
//Бан
case 'ban':
$diz -> head('Админ-Панель');
$diz -> title('Бан');
if ($id) {
$sql = $db -> query("SELECT `login`,`ip`, `browser` FROM `users` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$type = array('login' => 'По логину','ip' => 'По IP','browser' => 'IP+Браузер');
$times = array('3600' => 'час', '7200' => '2 часа', '86400' => '1 сутки');
$name = $sql -> fetch_assoc();
if (!isset($_POST['submit'])) {
$val = null;
foreach ($type as $key => $value) {
$val .= '<option value="'.$key.'">'.$value.'</option>';
}
$vtime = null;
foreach ($times as $key => $value) {
$vtime .= '<option value="'.$key.'">'.$value.'</option>';
}
$msg .= '<form action="admin.php?do=ban" method="post"><div>
<strong>'.$name['login'].'</strong>(IP:'.$name['ip'].' - Браузер:'.strtok($name['browser'],' ').')<br/>
Выберите тип:<br/><select name="type">'.$val.'</select><br/>
Время бана:<br/><select name="time">'.$vtime.'</select><br/>
Причина:<br/><textarea name="text" rows="3" cols="20"></textarea><br/>
<input type="submit" name="submit" value="Банить"/>
</div></form>';
} else {
$text = !empty($_POST['text']) ? $func -> check($_POST['text']) : null;
$time = (time() + abs((int)$_POST['time']));
$ip = $name['ip'];
$browser = $name['browser'];
$tip = $db -> real_escape_string($_POST['type']);
if (array_key_exists($tip,$type) == true and array_key_exists($time,$times) == true) {
$db -> query("INSERT INTO `ban` (`login`,`type`,`ip`,`browser`,`text`,`time`) VALUES ('$name[login]','$tip','$browser','$text','$time')");
}
$msg .= $name['login'].' забанен';
}
} else $msg .= 'Пользователя с этим id не существует';
} else $msg .= 'Не задан id пользователя';
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
break;
//Подарки
case 'uploadgift':
function randname() {
$array = array('a','b','c','d','g','f','e','k','l','m','n','x','y','1','2','3','4','5','6','7','8','9');
$name = '';
$k = 0;
$rand = mt_rand(10,20);
while ($k < $rand) {
$name .= $array[array_rand($array)];
++$k;
}
$name = $name.'.gif';
return $name;
}
$diz -> head('Админ-Панель');
$diz -> title('Выгружаем подарки');
if (!isset($_POST['submit'])) {
$msg .= 'Макс.разрешение - 256x256<br/>
Поддерживаемый тип - gif<br/>
<form method="post" enctype="multipart/form-data"><div>
<input type="file" name="gift[]"/><br/>
Цена :
<input type="text" name="price[]" maxlength="6" size="6" value="100"/><br/>
<input type="file" name="gift[]"/><br/>
Цена :
<input type="text" name="price[]" maxlength="6" size="6" value="100"/><br/>
<input type="file" name="gift[]"/><br/>
Цена :
<input type="text" name="price[]" maxlength="6" size="6" value="100"/><br/>
<br/><input type="submit" name="submit" value="Загрузить"/>
</div></form>';
} else {
$count = count($_FILES['gift']['name']);
if ($count > 0) {
for ($i = 0; $i < $count; $i++) {
$price = is_numeric($_POST['price'][$i]) ? abs((int)$_POST['price'][$i]) : 100;
$type = strtolower(pathinfo($_FILES['gift']['name'][$i],PATHINFO_EXTENSION));
if ($type == 'gif') {
$fsize = GetImageSize($_FILES['gift']['tmp_name'][$i]);
$width = $fsize[0];
$height = $fsize[1];
if ($width == 256 and $height == 256) {
$name = randname();
if (file_exists('my/gifts/big/'.$name)) {
while (file_exists('my/gifts/big/'.$name)) {
$name = randname();
}
}
if (move_uploaded_file($_FILES['gift']['tmp_name'][$i],'my/gifts/big/'.$name) == true) {
chmod('my/gifts/big/'.$name,0666);
$diz -> scrin($name,"my/gifts/big/$name",'small',$width,$height);
$diz -> scrin($name,"my/gifts/big/$name",'normal',$width,$height);
$db -> query("INSERT INTO `gifts` SET `name` = '".$name."', `price` = '".$price."'");
$msg .= 'Подарок загружен<br/>';
}
} else $msg .= "Неверное разрешение картинки! $width x $height<br/>";
} else $msg .= 'Для загрузки раздрешены картинки типа gif<br/>';
}
} else $msg .= 'Подарки не загружены!';
}
$msg .= '<br/>'.$diz -> img('back.png').'<a href="admin.php">Админка</a>';
$msg .= '<br/>'.$diz -> img('home.png').'<a href="/index.php">На главную</a>';
$diz -> out($msg);
break;
default:
$diz -> head('Админ-Панель');
$diz -> title('Админка');
$msg = $diz -> img('upload.png').'<a href="admin.php?do=upload">Выгрузить трек</a>
<br/><a href="admin.php?do=addrekl">Добавить ссылку</a>
<br/><a href="admin.php?do=mod">На модерации</a>
<br/>'.$diz -> img('reload.png').'<a href="admin.php?do=update">Обновить базу</a>
<br/>'.$diz -> img('reload.png').'<a href="admin.php?do=update_files">Обновить удаленные файлы</a>
<br/>'.$diz -> img('reload.png').'<a href="admin.php?do=update_base">Обновить удаленные записи</a>
<br/><a href="/forum/admin.php">Управление форумом</a>
<br/>'.$diz -> img('users.png').'<a href="admin.php?do=users">Пользователи</a>
<br/>'.$diz -> img('set.png').'<a href="admin.php?do=settings">Настройки системы</a>
<br/><a href="admin.php?do=uploadgift">Выгрузить подарки</a>
<br/><a href="admin.php?do=ban">Бан</a>
<br/><a href="admin.php?do=pravo">Правообладателям</a>';
$msg .= '<br/><hr>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></hr>';
$diz -> out($msg);
}
} else {
header('location: index.php');
}
?>