File: //home/httpd/mech_ftp/baretube.com/admin/youtube_import.php
<?php
ignore_user_abort();
ini_set('max_execution_time', 86400);
include('api.youtube.php');
include('scrape_functions.php');
require "db.php";
if (isset($_POST['formSubmit'])) {
$_POST = array_map_array('trim', $_POST);
if ($_POST['dump'] == '') {
setMessage('"Dump" is required!', 'error');
}
if ($_POST['submitter'] == '') {
setMessage('"Submitter" is required!', 'error');
}
if ($_POST['paysite'] == '') {
setMessage('"Paysite" is required!', 'error');
}
if (!getMessages(false, 'error')) {
$array = explode("\n", $_POST['dump']);
$getUser = dbRow("SELECT `record_num` FROM `users` WHERE `username` = '" . mysqli_real_escape_string($dblink, $_POST['submitter']) . "'");
$_POST['submitter'] = is_array($getUser) ? $getUser['record_num'] : 0;
foreach ($array as $i) {
if (strpos($i, 'youtube.com')) {
unset($subarr);
unset($newarr);
unset($vidData);
unset($realData);
unset($keywords);
unset($code);
unset($title);
$subarr = parse_url(trim($i));
parse_str($subarr['query'], $newarr);
$code = $newarr['v'];
$vidData = json_decode(file_get_contents("https://www.googleapis.com/youtube/v3/videos?id=$code&key=$youtubeApiKey&part=snippet,contentDetails,statistics,status"), true);
$realData['length'] = get_duration_seconds($vidData['items'][0]['contentDetails']['duration']);
$realData['title'] = (string) $vidData['items'][0]['snippet']['localized']['title'];
$realData['description'] = (string) $vidData['items'][0]['snippet']['localized']['description'];
$realData['embed'] = '<iframe width="560" height="315" src="https://www.youtube.com/embed/' . $code . '" frameborder="0" allowfullscreen></iframe>';
$realData['thumb'] = "https://i.ytimg.com/vi/$code/hqdefault.jpg";
$category = $vidData['items'][0]['snippet']['categoryId'];
$catData = json_decode(file_get_contents("https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&id=$category&key=$youtubeApiKey"), true);
$realData['keywords'] = (string) $catData['items'][0]['snippet']['title'];
$realData = mysqli_real_escape_array($realData);
dbQuery("INSERT INTO content (title, description, keywords, date_added, approved, embed, length,submitter,paysite,encoded_date) VALUES ('$realData[title]', '$realData[description]', '$realData[keywords]', NOW(), 2, '$realData[embed]','$realData[length]','$_POST[submitter]', '$_POST[paysite]',NOW())");
$insert = mysqli_insert_id($dblink);
dbQuery("INSERT INTO content_views (content, views) VALUES ('$insert','0')");
if ($_POST['niche']) {
foreach ($_POST['niche'] as $i) {
if (is_numeric($i)) {
dbQuery("INSERT INTO content_niches (content,niche) VALUES ('$insert','$i')");
}
}
}
if ($_POST['pornstar']) {
foreach ($_POST['pornstar'] as $i) {
if (is_numeric($i)) {
dbQuery("INSERT INTO content_pornstars (content,pornstar) VALUES ('$insert','$i')");
}
}
}
$name = $insert . '.jpg';
@mkdir($thumb_path . '/embedded');
$fileIn = $thumb_path . '/embedded/big-' . $name;
$fileOut = $thumb_path . '/embedded/' . $name;
file_put_contents($fileOut, file_get_contents($realData[thumb]));
makeImageThumbnail($fileOut, $fileIn, $thumbwidth, $thumbheight, 'mogrify');
$counter++;
}
}
setMessage("$counter added to publish queue");
header("Location: $_SERVER[REQUEST_URI]");
exit();
}
}
entities_walk($_POST);
require "header.php";
?>
<div class="content-page">
<div class="header-area">
<div class="breadcrumbs">
<a href="index.php">Admin Home</a>
<span><a href="youtube_import.php">Youtube Import</a></span>
</div>
</div>
<div class="content-outer">
<h2>Youtube<strong>Import</strong></h2>
<div class="notification info">You can use this script to import videos from Youtube. Enter video page urls one per line.</div>
<div class="content-inner">
<?php echo getMessages(); ?>
<form method="POST" action="" class="form" novalidate autocomplete="off">
<table class="pagetable">
<tr>
<td>Dump:</td>
<td><textarea name="dump" rows="10" required><? echo $_POST['dump']; ?></textarea></td>
</tr>
<tr>
<td>Video Submitter:</td>
<td>
<input type="text" name="submitter" id="contentAutocomplete" value="<? echo $_POST['submitter']; ?>" placeholder="Start typing username..." required />
<script type="text/javascript">
$(document).ready(function () {
$("#contentAutocomplete").autocomplete({
source: "search_content.php?type=2",
minLength: 2
});
});
</script>
</td>
</tr>
<tr>
<td>Categories:</td>
<td>
<select name="niche[]" multiple="multiple">
<?php $presult = dbQuery("SELECT * FROM `niches` ORDER BY `name`", false); ?>
<?php foreach ($presult as $srow) { ?>
<option value="<?php echo $srow['record_num']; ?>"<? echo in_array($srow['record_num'], (array) $_POST['niche']) ? ' selected' : ''; ?>><?php echo $srow['name']; ?></option>
<?php } ?>
</select>
<p class="hint">(Hold CTRL to make multiple selections)</p>
</td>
</tr>
<tr>
<td>Models:</td>
<td>
<select name="pornstar[]" multiple="multiple">
<?php $presult = dbQuery("SELECT * FROM `pornstars` ORDER BY `name`", false); ?>
<?php foreach ($presult as $srow) { ?>
<option value="<?php echo $srow['record_num']; ?>"<? echo in_array($srow['record_num'], (array) $_POST['pornstar']) ? ' selected' : ''; ?>><?php echo $srow['name']; ?></option>
<?php } ?>
</select>
<p class="hint">(Hold CTRL to make multiple selections)</p>
</td>
</tr>
<tr>
<td>Paysite:</td>
<td>
<select name="paysite" required>
<option value=""> - select paysite - </option>
<? $rresult = dbQuery("SELECT * FROM `paysites` ORDER BY `name`", false); ?>
<? foreach ($rresult as $rrow) { ?>
<option<? echo ($_POST['paysite'] == $rrow['record_num']) ? ' selected' : ''; ?> value="<? echo $rrow['record_num']; ?>"><? echo $rrow['name']; ?></option>
<? } ?>
</select>
</td>
</tr>
<tr class="item submit">
<td colspan="2">
<input type="hidden" name="formSubmit" value="1" />
<button type="submit" class="btn action-save">Submit</button>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
<?php require "footer.php"; ?>