<?php
#-----------------------------------------------------#
# Зц Sea mod Ganjara                                  #
# 	 Автор : Slayer  with   Ganjar                    #
#    ICQ :   566003         993770                    #
#    Вы не имеете права распространять данный скрипт. #
# 		По всем вопросам пишите в ICQ.                  #
#-----------------------------------------------------#



define('_IN_JOHNCMS', 1);
$zc=1;
$headmod = 'load';
$textl = 'Нарезка MP3';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
$time = time();
$setting = mysql_query('SELECT * FROM `zc_setting`;');

while($set = mysql_fetch_assoc($setting)){
$setup[$set['name']] = $set['value'];
}

$hackmess = $setup['hackmess'];

require 'moduls/ini.php';
require 'moduls/fun.php';
include 'moduls/id.php';
###############Если нарезка выключенa##########
if($setup['cut_change'] == 0) die('Not found');
###############Проверка переменных#############
$id = intval($_GET['id']);
$s = intval($_POST['s']);
$p = intval($_POST['p']);

if($_POST['way']!='size' and $_POST['way']!='time' and isset($_POST['way'])){
die($hackmess);
}

###############Получаем инфу о файле###########
$file_info = mysql_fetch_array(mysql_query('SELECT * FROM `'.$setup['pref'].'files` WHERE `id` = '.$id));
if(!is_file ($file_info['path'])) exit ('Запрашиваемый файл не существует!');
#######Получаем имя файла и обратный каталог#####
$filename = pathinfo($file_info['path']);
$ext = $filename['extension'];
$dir = $filename[dirname].'/';
$filename = $filename[basename];
$back = mysql_fetch_array(mysql_query("SELECT * FROM `".$setup['pref']."files` WHERE `path` = '".$dir."'"));
//------------------------------------------------------------------------------------------
if(!$_POST['a'])
{
$id3 = new MP3_Id();
$result = $id3->read($file_info['path']);
$result = $id3->study();
// ------------------------Форма ввода параметров---------------------------
echo '<div class="phdr">Нарезка MP3</div><div class="list1">
Исходный размер: '.round(($id3->getTag('filesize')/1024)/1024,2).'Mb<br/>
Длительность: '.$id3->getTag('lengths').' сек.</div><div class="gmenu">
<form action="cut.php?id='.$id.'" method="post">
Способ нарезки:<br/>
<select class="enter" name="way">
<option value="size">по размеру</option>
<option value="time">по времени</option>
</select><br/>
Начать с (кб или сек.):<br/>
<input maxlength="5" class="enter" type="text" name="s"/><br/>
Закончить по (кб или сек.):<br/>
<input maxlength="5" class="enter" type="text" name="p"/><br/>
<input class="buttom" type="submit" name="a" value="Нарезка"/>
</form></div>';
}
else
{

$list = glob($setup['mp3path'].'/*');
$all = sizeof($list);
foreach($list as $key=>$string)
{
$filesize = round(filesize($string)/1024/1024, 1);
$allsize = $allsize + $filesize;
if($allsize > $setup['limit'])
{
$dire = opendir ($setup['mp3path'].'/');
while($file = readdir($dire)){
if(($file != '.') && ($file != '..')) unlink ($setup['mp3path'].'/'.$file);
}
break;
}
}
$randname = basename($file_info['name']).'_'.mt_rand(100000,99999999).'.mp3';
$randintval = rawurldecode($setup['mp3path'].'/'.$randname);
if(copy($file_info['path'],$randintval))
{
$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) === false)
{
$fp = fopen($randintval, 'rb');
$ras= round(filesize($randintval)/1024);;
fclose($fp);
$all++;

mysql_query('UPDATE `files` SET `loads`=`loads`+1, `timeload`="'.$time.'" WHERE `id`='.$id);

echo '<div class="list1">Файл успешно нарезан!</div><div class="gmenu">
<a href="'.$randintval.'"><strong>Скачать ('.$ras.' кб)</strong></a><br/>
<input class="enter" type="text" name="link" value="http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/'.$randintval.'"/>
</div>';
}
else{
echo '<div class="list1">Ошибка! Обратитесь к администратору или попробуйте еще раз.</div>';
}
}
else echo '<div class="list1">Не удалось считать файл!</div>';
}
echo '<div class="bmenu">';
echo '
<li><a href="view.php?id='.$id.'">К описанию</a></li>
<li><a href="index.php?id='.$back['id'].'">В категорию</a></li>
<li><a href="index.php">В загрузки</a></li>
<li><a href="'.$setup['site_url'].'">На главную</a></li>';
echo '</div>';
require_once ("moduls/foot.php");
?>