HEX
Server: Apache
System: Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: camjab_ssh (1000)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: /home/httpd/html/baretube.com.new/admin/youtube_bulk_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['q'] == '') {
        setMessage('"Search string" is required!', 'error');
    }
    if (!is_numeric($_POST['amount'])) {
        setMessage('"Amount" must be positive integer value!', 'error');
    }
    if (!is_numeric($_POST['start_index'])) {
        setMessage('"Start index" must be positive integer value!', 'error');
    }
    if ($_POST['submitter'] == '') {
        setMessage('"Submitter" is required!', 'error');
    }
    if ($_POST['paysite'] == '') {
        setMessage('"Paysite" is required!', 'error');
    }

    if (!getMessages(false, 'error')) {

        if ($_POST['amount'] > 50) {
            $_POST['amount'] = 50;
        }

        $listvideos = json_decode(file_get_contents("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=" . $_POST['amount'] . "&order=" . $_POST['orderby'] . "&q=" . urlencode($_POST['q']) . "&safeSearch=none&key=$youtubeApiKey"), true);

        if ($_POST['start_index'] > 1) {
            $pages = $_POST['start_index'];
            $nextPageId = $listvideos['nextPageToken'];
            foreach ($listvideos['items'] as $dupa) {
                if ($dupa['id']['videoId']) {
                    $array[] = $dupa['id']['videoId'];
                }
            }
            for ($i = 2; $i <= $pages; $i++) {
                $listvideos = json_decode(file_get_contents("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=" . $_POST['amount'] . "&order=" . $_POST['orderby'] . "&q=" . urlencode($_POST['q']) . "&safeSearch=none&key=$youtubeApiKey&pageToken=$nextPageId"), true);
                $nextPageId = $listvideos['nextPageToken'];
                foreach ($listvideos['items'] as $dupa) {
                    if ($dupa['id']['videoId']) {
                        $array[] = $dupa['id']['videoId'];
                    }
                }
            }
        } else {
            foreach ($listvideos['items'] as $dupa) {
                if ($dupa['id']['videoId']) {
                    $array[] = $dupa['id']['videoId'];
                }
            }
        }

        $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) {
            unset($subarr);
            unset($newarr);
            unset($vidData);
            unset($realData);
            unset($keywords);
            unset($code);
            unset($title);

            $code = $i;
            $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 = mysql_real_escape_array($realData);

            if (count(dbQuery("SELECT record_num FROM content WHERE embed = '$realData[embed]'", false)) < 1) {
                dbQuery("INSERT INTO content (title, description, keywords, date_added, approved, embed, length,submitter,paysite,encoded_date) VALUES ('$realData[title]', '$realData[title]', '$realData[keywords]', NOW(), 2, '$realData[embed]','$realData[length]','$_POST[submitter]', '$_POST[paysite]',NOW())");
                $insert = mysqli_insert_id($dbconn);

                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_bulk_import.php">Youtube Bulk Import</a></span>  
        </div>
    </div>

    <div class="content-outer">  

        <h2>Youtube<strong>BulkImport</strong></h2>

        <div class="notification info">You can use this script to import videos from Youtube in bulk. Enter a search term below. You can fetch a maximum of 50 videos per query per page (youtube api limitation). Meaning - to get 150 videos about cats, max amount should be 50 and pages should be 3.</div>

        <div class="content-inner">

            <? echo getMessages(); ?>

            <form method="POST" action="" class="form" novalidate autocomplete="off">
                <table class="pagetable">
                    <tbody>
                        <tr>
                            <td>Search String</td>
                            <td><input name="q" type="text" value="<? echo $_POST['q']; ?>" required /></td>
                        </tr>
                        <tr>
                            <td>Max Amount</td>
                            <td><input name="amount" type="number" value="<? echo is_numeric($_POST['amount']) ? (int) $_POST['amount'] : 50; ?>" min="1" class="tiny" required /></td>
                        </tr>
                        <tr>
                            <td>Pages</td>
                            <td><input name="start_index" type="number" value="<? echo is_numeric($_POST['start_index']) ? (int) $_POST['start_index'] : 1; ?>" min="1" class="tiny" required /></td>
                        </tr>
                        <tr>
                            <td>Order By</td>
                            <td>
                                <select name="orderby" required>
                                    <option<? echo ($_POST['orderby'] == 'relevance') ? ' selected' : ''; ?>>relevance</option>
                                    <option<? echo ($_POST['orderby'] == 'date') ? ' selected' : ''; ?>>date</option>
                                    <option<? echo ($_POST['orderby'] == 'viewCount') ? ' selected' : ''; ?>>viewCount</option>
                                    <option<? echo ($_POST['orderby'] == 'rating') ? ' selected' : ''; ?>>rating</option>
                                </select>
                            </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>
                    </tbody>
                </table>
            </form>
        </div>
    </div>
</div>
<? require "footer.php"; ?>