<?php
include_once '../sys/inc/start.php';
include_once '../sys/inc/compress.php';
include_once '../sys/inc/sess.php';
include_once '../sys/inc/home.php';
include_once '../sys/inc/settings.php';
include_once '../sys/inc/db_connect.php';
include_once '../sys/inc/ipua.php';
include_once '../sys/inc/fnc.php';
include_once '../sys/inc/user.php';
$set['title']='Музыкальный архив';
include_once '../sys/inc/thead.php';
title();
err();
aut();
echo "<div class='menu'>\n";
echo "<div class=\"head\">МР3 Нарезчик</div><div class=\"main\">";   
$mp3=(int)mysql_real_escape_string($_GET['music']);
$mp3_info = mysql_fetch_assoc(mysql_query("SELECT * FROM `music` WHERE `id` = '".$mp3."'"));
if(isset($_POST['go']))$_POST['go']=check($_POST['go']);else$_POST['go']=NULL;
if(isset($_POST['randintval']))$_POST['randintval']=check($_POST['randintval']);else$_POST['randintval']=NULL;
switch(trim(rawurldecode($_POST['go'])))
{
default:

if(file_exists($_POST['randintval']))
{unlink($_POST['randintval']);}

print '
<form action="?" method="post">
<div>
Ссылка на MP3:<br/>
<input type="text" name="url" value="files/'.$mp3_info['name'].'"/><br/>
<input type="submit" name="go" value="Info"/><br/>
Способ нарезки:<br/>
<select name="way">
<option value="size">по размеру</option>
<option value="time">по времени</option>
</select><br/>
Начать с (кб или сек):<br/>
<input type="text" name="s"/><br/>
Закончить по (кб или сек):<br/>
<input type="text" name="p"/><br/>
<input type="submit" name="go" value="Resize"/>
</div>
</form>
</div>';
break;


case 'Info':
require_once 'func/id.php';
$url = trim(rawurldecode($_POST['url']));

if(strrchr(strtoupper($url),'.') != '.MP3')
{$error = 'Неверная ссылка на MP3!<br/><a href="./">Исправить!</a><br/>';}

if(!$error)
{
$randintval = 'get/'.mt_rand(100,99999999).'.mp3';
if(!copy($url,$randintval))
{$error = 'Не удалось считать файл!<br/><a href="./">Исправить Ссылку!</a><br/>';}
}

if($error)
{exit('<div class="red">'.$error.'</div>'.$foot);}

$id3 = new MP3_Id();
$result = $id3->read($randintval);
$result = $id3->study();

if(substr_count($url,'/'))
{$name = substr(strrchr($url,'/'),1);}
else
{$name = $url;}

unlink($randintval);

print '<u>Имя</u> '.$name.'<br/>
<u>Mode</u> '.$id3->getTag('mode').'<br/>
<u>Размер:</u> '.round($id3->getTag('filesize')/1024,1).' Кб<br/>
<u>Битрейт:</u> '.$id3->getTag('bitrate').' кбит/сек<br/>
<u>Длительность:</u> '.$id3->getTag('length').'<br/>
<u>Частота дискретизации:</u> '.$id3->getTag('frequency').' Гц<br/>
<hr/>
<div class="input">
<form action="?" method="post">
<div>
Ссылка на MP3:<br/>
<input type="text" name="url" value="'.$url.'"/><br/>
Способ нарезки:<br/>
<select name="way">
<option value="size">по размеру</option>
<option value="time">по времени</option>
</select><br/>
Начать с (кб или сек):<br/>
<input type="text" name="s"/><br/>
Закончить по (кб или сек):<br/>
<input type="text" name="p"/><br/>
<input type="submit" name="go" value="Resize"/>
</div>
</form>
</div>
<hr/>
<form action="?" method="post">
<div>
<input type="hidden" name="randintval" value="'.$randintval.'"/>
<input type="submit" value="Back"/><br/>
</div>
</form>';
break;


case 'Resize':
require_once 'func/id.php';
$url = trim(rawurldecode($_POST['url']));

if(strrchr(strtoupper($url),'.') != '.MP3')
{$error.= 'Неверная ссылка на MP3!<br/><a href="./">Исправить!</a><br/>';}

$s = intval($_POST['s']);
$p = intval($_POST['p']);

if(!$s)
{$error.= 'Вы не ввели число начала!<br/><a href="./">Исправить!</a><br/>';}
if(!$p)
{$error.= 'Вы не ввели число конца!<br/><a href="./">Исправить!</a><br/>';}

if(!$error)
{
$randintval = 'get/'.mt_rand(100,99999999).'.mp3';
if(!copy($url,$randintval))
{$error.= 'Не удалось считать файл!<br/><a href="./">Исправить ссылку!</a><br/>';}
}
else
{exit('<div class="red">'.$error.'</div>'.$foot);}

$fp = fopen($randintval, 'rb');
$raz = filesize($randintval);

if($_POST['way'] == 'size')
{
$s = $s*1024;
$p = $p*1024;

if($s>$raz||$s<0)
{$s = 0;}

if($p>$raz||$p<$s)
{$p = $raz;}
}
else
{
$id3 = new MP3_Id();
$result = $id3->read($randintval);
$result = $id3->study();
$byterate = $id3->getTag('bitrate')/8;
$secbit = $raz/1024/$byterate;

if($s>$secbit||$s<0)
{$s = 0;}
if($p>$secbit||$p<$s)
{$p = $secbit;}

$s = $s*$byterate*1024;
$p = $p*$byterate*1024;
}

$p = $p-$s;
fseek($fp, $s);
$filefp = fread($fp, $p);
fclose($fp);
unlink($randintval);
$fp = fopen($randintval, 'xb');

if(fwrite($fp, $filefp))
{
print '<div class="red">Файл успешно нарезан!<br/></div>
<div class="border"><a href="'.$randintval.'">Скачать</a><br/></div>
<input type="text" name="link" value="http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/'.$randintval.'"/><br/>
<hr/>
<form action="?" method="post">
<div>
<input type="hidden" name="randintval" value="'.$randintval.'"/>
<input type="submit" value="Back"/><br/>
</div>
</form>';
}
else
{print '<div class="red">Ошибка! Обратитесь к администратору!<br/><a href="./">Исправить ссылку!</a><br/></div>';}
fclose($fp);
break;
}



echo "</div></div>\n";
include_once '../sys/inc/tfoot.php';
?>
