Файл: track.php
Строк: 209
<?php
require('core/start.php');
$id = abs((int)$_GET['id']);
$query = "SELECT * FROM files WHERE id = '".$id."'";
$result = mysqli_query($db, $query);
$data = mysqli_fetch_array($result);
if (empty($data)) {
Redirect(HOME);
}
$data_head = array(
'title' => $data['display_name']
);
head($data_head);
$rating_array = array(
1 => '1',
2 => '2',
3 => '3',
4 => '4',
5 => '5'
);
$conv_bit = array(
64,
96,
128,
160,
256
);
/* Рейтинг */
if (!empty($_POST['rating_bt']) && in_array($_POST['rating_type'], $rating_array) && getIP()) {
$rating = abs((int)$_POST['rating_type']);
$query = "INSERT INTO rating (track_id, rating_type, user_ip, date_rec) VALUES ('".$id."', '".$rating."', '".getIP()."', NOW())";
mysqli_query($db, $query);
$count = mysqli_fetch_row(mysqli_query($db, "SELECT COUNT(*) FROM rating WHERE track_id = '".$id."'"));
$total_all = $count[0];
$count = mysqli_fetch_row(mysqli_query($db, "SELECT SUM(rating_type) FROM rating WHERE track_id = '".$id."'"));
$rating_total = $count[0];
$rating_all = $rating_total > 0 ? round(($rating_total / $total_all), 1) : 0;
$query = "UPDATE files SET rating = '".$rating_all."' WHERE id = '".$id."'";
mysqli_query($db, $query);
redirect(HOME . 'track.php?id='.$id);
}
/* Обрезка */
if (!empty($_POST['trim_bt'])) {
$new_name = rand(1,30) . '_' . $data['path'];
$trim_1_data = explode(':', $_POST['trim_1']);
$trim_2_data = explode(':', $_POST['trim_2']);
$trim_1_data[0] = abs(intval($trim_1_data[0]));
$trim_1_data[1] = abs(intval($trim_1_data[1]));
$trim_2_data[0] = abs(intval($trim_2_data[0]));
$trim_2_data[1] = abs(intval($trim_2_data[1]));
echo (int)$_POST['trim_1'];
exec('ffmpeg -i files/'.$data['path'].' -acodec copy -ss 00:'.$trim_1_data[0].':'.$trim_1_data[1].' -t 00:'.$trim_2_data[0].':'.$trim_2_data[1].' files_trim/'.$new_name);
$query = "UPDATE files SET downloads = '".($data['downloads'] + 1)."', download_last_time = '".time()."' WHERE id = '".$id."'";
mysqli_query($db, $query);
header("Location: files_trim/".$new_name);
exit;
}
/* Битрейд */
if (!empty($_POST['bit_bt']) && in_array($_POST['bit'], $conv_bit)) {
$bit = abs((int)$_POST['bit']);
$query = "UPDATE files SET downloads = '".($data['downloads'] + 1)."', download_last_time = '".time()."' WHERE id = '".$id."'";
mysqli_query($db, $query);
if (is_file("files_bit/".$bit."_" . $data['path'])) {
header('Location: files_bit/' . $bit."_" . $data['path']);
exit;
} else {
exec("lame files/".$data['path']." -b ".$bit." --mp3input files_bit/".$bit."_" . $data['path']);
header('Location: files_bit/' . $bit."_" . $data['path']);
}
}
?>
<div class="menu">
<img src="screens/<?= $id ?>.jpg" alt="" width="250"/><br />
</div>
<?php if (TRACK_PLAYER): ?>
<div class="menu">
<audio preload="none">
<source src="<?=HOME.'files/'.$data['path']?>">
</audio>
</div>
<?php endif; ?>
<div class="menu">
<?php
$data_mp3 = getMP3data('files/' . $data['path']);
echo lang('artist') . ': <a href="category.php?select=artist&name=' . base64_encode($data['artist']) . '">' . $data['artist'] . '</a><br />'
. lang('name') . ': '.$data['name'].'<br />'
. ($data['album'] ? lang('album') . ': ' . $data['album'] . '<br />' : NULL)
. ($data['year'] ? lang('year') . ': <a href="category.php?select=year&year='.$data['year'].'">' . $data['year'] . '</a><br />': NULL)
. ($data['genre'] ? lang('genre') . ': <a href="category.php?select=genre&genre='.$data['genre'].'">' . $data['genre'] . '</a><br />': NULL)
. ($data_mp3['bitrate'] ? lang('bitrate') . ': ' . $data_mp3['bitrate'] . '<br />' : NULL)
. ($data_mp3['frequency'] ? lang('frequency') . ': ' . $data_mp3['frequency'] . ' Mhz<br />' : NULL)
. ($data_mp3['duration_str'] && $data_mp3['duration_str'] != '00:00' ? lang('duration') .': '. $data_mp3['duration_str'] . '<br />' : NULL);
?>
</div>
<?php if (TRACK_BIT OR TRACK_CUT) { ?>
<div class="menu">
<form action="#" method="POST">
<?php if (TRACK_BIT): ?>
<label>
<?= lang('cut_track') ?>:<br />
<?= lang('s') ?>: <input type="text" name="trim_1" value="00:00" size="6"/> - <?= lang('do') ?>:
<input type="text" name="trim_2" value="<?= $data_mp3['duration_str'] ?>" size="6"/>
<input type="submit" name="trim_bt" value="<?= lang('cut_and_down') ?>"/>
</label><br /><br />
<?php endif; ?>
<?php if (TRACK_CUT): ?>
<?php if ($data_mp3['bitrate']) { ?>
<label>
<?= lang('edit_bit') ?>:<br />
<select name="bit">
<?php foreach ($conv_bit as $value): ?>
<?php if($data_mp3['bitrate'] > $value): ?>
<option value="<?= $value ?>"><?= $value ?></option>
<?php endif; ?>
<?php endforeach; ?>
</select>
</label>
<input type="submit" name="bit_bt" value="<?= lang('edit_and_down') ?>"/>
<?php } else echo 'Битрейт файла не определен.'?>
<?php endif; ?>
</form>
</div>
<?php } ?>
<div class="menu">
<?= lang('ocenki_slushitelej') ?>:<br />
<table>
<tr>
<td><?= lang('za_deny') ?>:</td>
<td>
<?php
$count = mysqli_fetch_row(mysqli_query($db, "SELECT COUNT(*) FROM rating WHERE track_id = '".$id."' && date_rec >= CURDATE()"));
$total_day = $count[0];
$count = mysqli_fetch_row(mysqli_query($db, "SELECT SUM(rating_type) FROM rating WHERE track_id = '".$id."' && date_rec >= CURDATE()"));
$rating_total = $count[0];
$rating_day = $rating_total > 0 ? round(($rating_total / $total_day), 1) : 0;
echo getStars($rating_day);
?>
</td>
<td><?= $rating_day ?> / <?= $total_day ?> <?= lang('peoples') ?></td>
</tr>
<tr>
<td><?= lang('za_nedelyu') ?>:</td>
<td>
<?php
$count = mysqli_fetch_row(mysqli_query($db, "SELECT COUNT(*) FROM rating WHERE track_id = '".$id."' && date_rec >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)"));
$total_ned = $count[0];
$count = mysqli_fetch_row(mysqli_query($db, "SELECT SUM(rating_type) FROM rating WHERE track_id = '".$id."' && date_rec >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)"));
$rating_total = $count[0];
$rating_ned = $rating_total > 0 ? round(($rating_total / $total_ned), 1) : 0;
echo getStars($rating_ned);
?>
</td>
<td><?= $rating_day ?> / <?= $total_ned ?> <?= lang('peoples') ?></td>
</tr>
<tr>
<td><?= lang('all_time') ?>:</td>
<td>
<?php
$count = mysqli_fetch_row(mysqli_query($db, "SELECT COUNT(*) FROM rating WHERE track_id = '".$id."'"));
$total_all = $count[0];
$count = mysqli_fetch_row(mysqli_query($db, "SELECT SUM(rating_type) FROM rating WHERE track_id = '".$id."'"));
$rating_total = $count[0];
$rating_all = $rating_total > 0 ? round(($rating_total / $total_all), 1) : 0;
echo getStars($rating_all);
?>
</td>
<td><?= $rating_day ?> / <?= $total_all ?> <?= lang('peoples') ?></td>
</tr>
</table>
<?php
if (getIP()) {
$count = mysqli_fetch_row(mysqli_query($db, "SELECT COUNT(*) FROM rating WHERE user_ip = '".getIP()."' && track_id = '".$id."'"));
$total = $count[0];
if (empty($total)) {
?>
<form action="#" method="POST">
<select name="rating_type">
<option value="0"><?= lang('ocenity') ?></option>
<?php foreach ($rating_array as $value): ?>
<option value="<?= $value ?>"><?= $value ?></option>
<?php endforeach; ?>
</select>
<input type="submit" name="rating_bt" value="OK"/>
</form>
<?php
}
}
?>
</div>
<div class="menu">
<a href="download.php?id=<?= $data['id'] ?>"><?= lang('download') ?></a> [<?= size_file(filesize(ROOT . '/files/' . $data['path']))?>] [<?= $data['downloads'] ?> <?= lang('downloads')?>]<br />
</div>
<?php
$query = "SELECT * FROM files WHERE artist LIKE '%".$data['artist']."%' && id != '".$id."' ORDER BY RAND() DESC LIMIT 3";
$result = mysqli_query($db, $query);
$count = mysqli_fetch_row(mysqli_query($db, "SELECT COUNT(*) FROM files WHERE artist LIKE '%".$data['artist']."%' && id != '".$id."'"));
$total = $count[0];
if ($total) {
while($row = mysqli_fetch_array($result)): ?>
<div class="menu">
<img src="screens/<?= $row['id'] ?>_mini.jpg" class="screen" alt=""/> <a href="track.php?id=<?= $row['id'] ?>"><?= $row['name'] ?></a><br/>
<span><a href="#"><?= $row['artist'] ?></a></span>
</div>
<?php endwhile; ?>
<?php
}
?>
<div class="link"><a href="<?= HOME ?>"><?= lang('home') ?></a></div>
<?php
footer();