Файл: adultscript-2.0.3-pro/files/templates/defboot/extend/ajax/playlist_modal.plugin.php
Строк: 137
<?php
defined('_VALID') or die('Restricted Access!');
function ajax_plugin_playlist_modal()
{
$data = array('status' => 0, 'msg' => '', 'code' => '', 'debug' => '');
if (VAuth::loggedin()) {
VLanguage::load('frontend.video');
$user_id = (int) $_SESSION['user_id'];
if (isset($_POST['video_id']) && isset($_POST['playlist_id'])) {
$db = VF::factory('database');
$video_id = (int) trim($_POST['video_id']);
$playlist_id = (int) trim($_POST['playlist_id']);
$db->query("SELECT video_id
FROM #__playlist_videos
WHERE playlist_id = ".$playlist_id."
AND video_id = ".$video_id."
LIMIT 1");
if ($db->affected_rows()) {
$data['msg'] = __('playlist-already');
return json_encode($data);
}
$db->query("SELECT duration
FROM #__video
WHERE video_id = ".$video_id."
AND status = 1
LIMIT 1");
if ($db->affected_rows()) {
$duration = (float) $db->fetch_field('duration');
$db->query("INSERT INTO #__playlist_videos
SET playlist_id = ".$playlist_id.",
video_id = ".$video_id).",
add_time = ".time();
$db->query("UPDATE #__playlist
SET duration = duration+".$duration.",
total_videos = total_videos+1
WHERE playlist_id = ".$playlist_id."
LIMIT 1");
$data['msg'] = __('playlist-select-success');
$data['id'] = $video_id;
$data['status'] = 1;
} else {
$data['msg'] = 'Failed to find video! Never reached!';
}
return json_encode($data);
} elseif (isset($_POST['video_id']) && isset($_POST['name']) && isset($_POST['type'])) {
$db = VF::factory('database');
$filter = VF::factory('filter');
$video_id = (int) trim($_POST['video_id']);
$name = $filter->clean(VText::truncate_chars(trim($_POST['name']), 100, '', true));
$type = $filter->get('type');
if ($name == '') {
$data['msg'] = __('playlist-empty');
}
if ($type != 'public' && $type != 'private') {
$data['msg'] = __('playlist-invalid');
}
$db->query("SELECT playlist_id
FROM #__playlist
WHERE user_id = ".$user_id."
AND name = '".$db->escape($name)."'
LIMIT 1");
if ($db->affected_rows()) {
$data['msg'] = __('playlist-name-used');
return json_encode($data);
}
if (empty($data['msg'])) {
$db->query("SELECT duration
FROM #__video
WHERE video_id = ".$video_id."
AND status = 1
LIMIT 1");
if ($db->affected_rows()) {
$duration = (int) $db->fetch_field('duration');
$db->query("INSERT INTO #__playlist
SET user_id = ".$user_id.",
name = '".$db->escape($name)."',
slug = '".$db->escape(prepare_string($name, true))."',
type = '".$db->escape($type)."',
thumb_id = ".$video_id.",
duration = ".$duration.",
total_videos = 1,
add_time = ".time());
if ($db->affected_rows()) {
$playlist_id = $db->get_last_insert_id('#__playlist');
$db->query("INSERT INTO #__playlist_videos
SET playlist_id = ".$playlist_id.",
video_id = ".$video_id).",
add_time = ".time();
$db->query("UPDATE #__user_activity
SET total_playlists = total_playlists+1
WHERE user_id = ".$user_id."
LIMIT 1");
$data['msg'] = __('playlist-create-success');
$data['id'] = $video_id;
$data['status'] = 1;
}
} else {
$data['msg'] = 'Failed to find video! Never reached!';
}
}
} else {
$video_id = (int) trim($_POST['video_id']);
$action = (isset($_POST['action'])) ? trim($_POST['action']) : 'select';
$output = array();
$output[] = '<div id="add-modal-'.$video_id.'" class="modal fade">';
$output[] = '<div class="modal-dialog modal-sm">';
$output[] = '<div class="modal-content">';
$output[] = '<div class="modal-header">';
$output[] = '<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">'.__('close').'</span></button>';
$output[] = '<h4 class="modal-title">'.__('playlist-add').'</h4>';
$output[] = '</div>';
$output[] = '<div class="modal-body">';
$output[] = '<div id="playlist-response" class="alert" style="display: none;"></div>';
$db = VF::factory('database');
$db->query("SELECT playlist_id, name, total_videos
FROM #__playlist
ORDER BY name ASC");
$playlists = $db->fetch_rows();
$output[] = '<div class="form-group">';
$output[] = '<a data-toggle="collapse" href="#playlist-select-container" aria-expanded="true" aria-controls="playlist-select-container"><strong>'.__('playlist-select').'</strong> <i class="fa fa-arrow-right"></i></a>';
if ($playlists) {
$output[] = '<div id="playlist-select-container" class="collapse in" style="max-height: 104px; overflow: auto;">';
foreach ($playlists as $playlist) {
$output[] = '<div class="radio"><label><input name="playlist_id" type="radio" id="playlist-add-'.$video_id.'" value="'.$playlist['playlist_id'].'"> '.e($playlist['name']).' <small class="text-muted">('.$playlist['total_videos'].' <i class="fa fa-video-camera"></i>)</small></label></div>';
}
$output[] = '</div>';
} else {
$output[] = '<div id="playlist-select-container" class="collapse in none">'.__('playlist-none').'</div>';
}
$output[] = '</div>';
// $output[] = '<label id="playlist-create-open">'.__('playlist-create-new').' <i class="fa fa-arrow-right"></i></label>';
$output[] = '<a data-toggle="collapse" href="#playlist-create-container" aria-expanded="false" aria-controls="playlist-create-container"><strong>'.__('playlist-create-new').'</strong> <i class="fa fa-arrow-right"></i></a>';
$output[] = '<div id="playlist-create-container" class="collapse">';
$output[] = '<div class="form-group">';
$output[] = '<label for="name" class="sr-only">'.__('name').'</label>';
$output[] = '<input name="name" type="text" id="name" class="form-control" placeholder="'.__('name').'" maxlength="100">';
$output[] = '</div>';
$output[] = '<div class="form-group">';
$output[] = '<label for="type" class="sr-only">'.__('type').'</label>';
$output[] = '<select name="type" id="type" class="form-control">';
$output[] = '<option value="public">'.__('public').'</option>';
$output[] = '<option value="private">'.__('private').'</option>';
$output[] = '</select>';
$output[] = '</div>';
$output[] = '<div class="modal-footer">';
$output[] = '<button type="button" class="btn btn-default" data-dismiss="modal">'.__('close').'</button>';
$output[] = '<button type="button" id="playlist-create-'.$video_id.'" class="btn btn-primary">'.__('playlist-create').'</button>';
$output[] = '</div>';
$output[] = '</div>';
$output[] = '</div>';
$output[] = '</div>';
$output[] = '</div>';
$data['code'] = implode("n", $output);
$data['id'] = $video_id;
$data['status'] = 1;
}
} else {
$data['msg'] = 'Please login to add videos your playlists!';
}
return json_encode($data);
}