Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- *
- * @ This file is created by http://DeZender.Net
- * @ deZender (PHP7 Decoder for ionCube Encoder)
- *
- * @ Version : 4.1.0.1
- * @ Author : DeZender
- * @ Release on : 29.08.2020
- * @ Official site : http://DeZender.Net
- *
- */
- class HaLimCore_Scraper extends HaLimCore_Init
- {
- const TMDB_API_KEY = '6b4357c41d9c606e4d7ebe2f4a8850ea';
- const TMDB_API_URI = 'https://api.themoviedb.org/3';
- public function __construct()
- {
- add_action('admin_menu', [$this, 'halim_scraper_admin_menu']);
- add_action('wp_ajax_halim_tmdb_search_ajax', [$this, 'halim_tmdb_search_ajax_callback']);
- add_action('wp_ajax_halim_get_trending_data', [$this, 'ajaxGetTrending_callback']);
- add_action('wp_ajax_halim_ajax_discover', [$this, 'halim_ajax_discover_callback']);
- add_action('admin_enqueue_scripts', [$this, 'halim_scraper_enqueue_scripts'], 10, 1);
- add_action('wp_ajax_halim_data_crawler', [$this, 'halim_data_ajax_crawler']);
- }
- public function halim_scraper_enqueue_scripts($hook)
- {
- if ($hook == 'tools_page_halim-data-scraper') {
- wp_enqueue_style('scraper', HALIM_THEME_URI . '/assets/css/scraper.css', '', time());
- wp_enqueue_script('scraper', HALIM_THEME_URI . '/assets/js/scraper.js', [], time(), true);
- wp_localize_script('scraper', 'halim_scraper', ['ajax_url' => admin_url('admin-ajax.php'), 'lazysizes' => HALIM_THEME_URI . '/assets/js/lazysizes.min.js']);
- }
- }
- public function halim_scraper_admin_menu()
- {
- add_management_page('HaLim Data Scraper', 'HaLim Data Scraper', 'manage_options', 'halim-data-scraper', [$this, 'halim_scraper_options_page']);
- }
- public function halim_scraper_options_page()
- {
- echo "\t\t" . '<div class="halim-wrap" style="margin-top: 50px;">' . "\r\n\r\n\t\t\t" . '<h1 style="color: red;">Coming soon...</h1>' . "\r\n\r\n\t\t\t" . '<h2>Fetch data</h2>' . "\r\n\r\n\t\t\t" . '<p>' . "\r\n\t\t\t\t" . '<a href="?page=halim-data-scraper">Search</a> | <a href="?page=halim-data-scraper&act=trending">Trending</a> | <a href="?page=halim-data-scraper&act=discover">Discover</a>' . "\r\n\t\t\t" . '</p>' . "\r\n\r\n\t\t\t";
- if (isset($_GET['act']) && ($_GET['act'] == 'trending')) {
- echo "\t\t\t" . '<p class="trending">' . "\r\n\t\t\t\t" . '<form action="" id="trending-form">' . "\r\n\t\t\t\t\t" . '<select name="trending_type" form="trending-form">' . "\r\n\t\t\t\t\t" . ' ' . "\t" . '<option value="all">All</option>' . "\r\n\t\t\t\t\t" . ' ' . "\t" . '<option value="movie">Movie</option>' . "\r\n\t\t\t\t\t" . ' ' . "\t" . '<option value="tv">TV</option>' . "\r\n\t\t\t\t\t" . '</select>' . "\r\n\t\t\t\t\t" . '<select name="time_window" form="trending-form">' . "\r\n\t\t\t\t\t" . ' ' . "\t" . '<option value="day">Day</option>' . "\r\n\t\t\t\t\t" . ' ' . "\t" . '<option value="week">Week</option>' . "\r\n\t\t\t\t\t" . '</select>' . "\r\n\t\t\t\t\t" . '<input type="button" id="get-trending-data" value="Get Trending" class="button">' . "\r\n\t\t\t\t" . '</form>' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t\t";
- }
- else if (isset($_GET['act']) && ($_GET['act'] == 'discover')) {
- echo "\t\t\t" . '<p class="discover">' . "\r\n\t\t\t\t" . '<form action="" id="discover-form">' . "\r\n\t\t\t\t\t" . '<select name="sort_by" form="discover-form">' . "\r\n\t\t\t\t\t" . ' <option value="popularity.asc">popularity.asc</option>' . "\r\n\t\t\t\t\t" . ' <option value="popularity.desc">popularity.desc</option>' . "\r\n\t\t\t\t\t" . ' <option value="release_date.asc">release_date.asc</option>' . "\r\n\t\t\t\t\t" . ' <option value="release_date.desc">release_date.desc</option>' . "\r\n\t\t\t\t\t" . ' <option value="revenue.asc">revenue.asc</option>' . "\r\n\t\t\t\t\t" . ' <option value="revenue.desc">revenue.desc</option>' . "\r\n\t\t\t\t\t" . ' <option value="primary_release_date.asc">primary_release_date.asc</option>' . "\r\n\t\t\t\t\t" . ' <option value="primary_release_date.desc">primary_release_date.desc</option>' . "\r\n\t\t\t\t\t" . ' <option value="original_title.asc">original_title.asc</option>' . "\r\n\t\t\t\t\t" . ' <option value="original_title.desc">original_title.desc</option>' . "\r\n\t\t\t\t\t" . ' <option value="vote_average.asc">vote_average.asc</option>' . "\r\n\t\t\t\t\t" . ' <option value="vote_average.desc">vote_average.desc</option>' . "\r\n\t\t\t\t\t" . ' <option value="vote_count.asc">vote_count.asc</option>' . "\r\n\t\t\t\t\t" . ' <option value="vote_count.desc">vote_count.desc</option>' . "\r\n\t\t\t\t\t" . '</select>' . "\r\n\t\t\t\t\t" . '<select name="discover_type" form="discover-form">' . "\r\n\t\t\t\t\t" . ' <option value="movie">Movies</option>' . "\r\n\t\t\t\t\t" . ' <option value="tv">TV Series</option>' . "\r\n\t\t\t\t\t" . '</select>' . "\r\n\t\t\t\t\t" . '<input type="text" name="language" placeholder="Language" value="en-US" />' . "\r\n\t\t\t\t\t" . '<input type="number" name="release_year" placeholder="Release year" value="';
- echo date('Y');
- echo '" />' . "\r\n\t\t\t\t\t" . '<input type="button" id="get-discover-data" value="Search" class="button">' . "\r\n\r\n\t\t\t\t" . '</form>' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t\t";
- }
- else {
- echo "\t\t\t" . '<p>' . "\r\n\t\t\t\t" . '<input type="radio" name="site" value="tmdb" id="tmdb" checked><label for="tmdb">TMDB</label>' . "\r\n\t\t\t\t" . '<input type="radio" name="site" value="imdb" id="imdb"><label for="imdb">IMDB</label>' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t\t" . '<input type="text" name="s" id="s" class="regular-text" placeholder="Keyword" autocomplete="off" required/><label for="s" class="hidden" id="loading">Loading...</label>' . "\r\n\t\t\t" . '<span class="txt">Press enter key to search</span>' . "\r\n\t\t\t" . '<p class="media_type">' . "\r\n\t\t\t\t" . '<input type="radio" name="media_type" value="multi" id="multi" checked><label for="multi">Multi search</label>' . "\r\n\t\t\t\t" . '<input type="radio" name="media_type" value="movie" id="movie"><label for="movie">Movies</label>' . "\r\n\t\t\t\t" . '<input type="radio" name="media_type" value="tv" id="tv"><label for="tv">TV Series</label>' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t\t";
- }
- echo "\t\t\t" . '<p>' . "\r\n\t\t\t\t" . '<input type="checkbox" name="save_poster" value="1" id="save_poster"><label for="save_poster">Save the poster image</label>' . "\r\n\t\t\t\t" . '<input type="checkbox" name="is_adult" value="true" id="is_adult"><label for="is_adult">Include adult content</label>' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t\t" . '<ul id="results" class="lists list-movies" style="margin-top: 10px;"></ul>' . "\r\n\r\n\t\t\t" . '<p>' . "\r\n\t\t\t\t" . '<input type="checkbox" name="create_category" value="1" id="create_category"><label for="create_category">Auto create category</label>' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t\t" . '<p>' . "\r\n\t\t\t\t" . '<div id="list-cat" style="display: block;overflow-x: hidden;height: 300px;width: 300px;border: 1px solid #ccc;padding: 15px;">' . "\r\n\t\t\t\t\t";
- $obf_DSw2MRMbMDsdC1w9JR4JhYrFxobHhE = get_terms('category', ['taxonomy' => 'category']);
- foreach ($obf_DSw2MRMbMDsdC1w9JR4JhYrFxobHhE as $term) {
- echo '<div class=\'cat\'><input id=\'' . $term->slug . '\' type=\'checkbox\' name=\'category\' value=\'' . $term->term_id . '\'/>';
- echo '<label for=\'' . $term->slug . '\'>' . $term->name . '</label></div>';
- }
- echo "\t\t\t\t" . '</div>' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t\t" . '<p style="display: none;">' . "\r\n\t\t\t\t" . '<input type="button" onClick="javascript:CrawlData();" class="button-primary" value="Crawl Data" />' . "\r\n\t\t\t" . '</p>' . "\r\n\t\t" . '</div>' . "\r\n\t\t";
- }
- public function halim_tmdb_search_ajax_callback()
- {
- $obf_DQwlFzcECjUMAgMJgM8JRA7KD47KjI = (isset($_POST['media_type']) ? $_POST['media_type'] : '');
- $query = (isset($_POST['query']) ? $_POST['query'] : '');
- $obf_DT0eCAUQXBkcJSgDLBshBScBQgWLyI = (isset($_POST['page']) && $_POST['page'] ? $_POST['page'] : 1);
- $obf_DS0eLAkvAzgKBRlcLzw4GDghKSZcCiI = (isset($_POST['is_adult']) ? $_POST['is_adult'] : false);
- if (empty($query)) {
- wp_die('Keyword can\'t be empty!');
- }
- $data = HALIMHelper::cURL('https://api.themoviedb.org/3/search/' . $obf_DQwlFzcECjUMAgMJgM8JRA7KD47KjI . '?api_key=' . '6b4357c41d9c606e4d7ebe2f4a8850ea' . '&language=en-US&query=' . urlencode($query) . '&page=' . $obf_DT0eCAUQXBkcJSgDLBshBScBQgWLyI . '&include_adult=' . $obf_DS0eLAkvAzgKBRlcLzw4GDghKSZcCiI);
- $data = json_decode($data);
- if (!$obf_DT0eCAUQXBkcJSgDLBshBScBQgWLyI) {
- echo '<span>Total results: ' . $data->total_results . ' / Total pages: ' . $data->total_pages . ' (Click on the title to edit before insert in to database)</span>';
- }
- if ($data->results) {
- echo '<p><input type="checkbox" id="checkAll"><label for="checkAll">Check/Uncheck All</label></p>';
- foreach ($data->results as $key => $val) {
- if ($val->poster_path !== NULL) {
- $title = $original_name = '';
- if ($obf_DQwlFzcECjUMAgMJgM8JRA7KD47KjI == 'multi') {
- $title = (isset($val->media_type) && ($val->media_type == 'tv') ? $val->name : $val->title);
- $original_name = (isset($val->media_type) && ($val->media_type == 'tv') ? $val->original_name : $val->original_title);
- }
- else if ($obf_DQwlFzcECjUMAgMJgM8JRA7KD47KjI == 'tv') {
- $title = $val->name;
- $title = $val->original_name;
- }
- else {
- $title = $val->title;
- $original_name = $val->original_title;
- }
- $obf_DRc1KBAvHywLGhIpGCgMCVw0XBEvOTI = $val->genre_ids;
- $arr_data = json_encode($this->arr_data($val, $title, $original_name, $obf_DQwlFzcECjUMAgMJgM8JRA7KD47KjI, $obf_DRc1KBAvHywLGhIpGCgMCVw0XBEvOTI));
- $this->halim_tmdb_item_loop($val, $original_name, $title, $obf_DRc1KBAvHywLGhIpGCgMCVw0XBEvOTI, $obf_DQwlFzcECjUMAgMJgM8JRA7KD47KjI, $arr_data);
- }
- }
- $page = new Pagination(['total' => $data->total_pages, 'limit' => 7, 'link' => 8, 'page' => $obf_DT0eCAUQXBkcJSgDLBshBScBQgWLyI, 'type' => 'search']);
- echo $page->getAjaxPage();
- }
- wp_die();
- }
- private function get_actor_by_tv_id($id)
- {
- }
- public function ajaxGetTrending_callback()
- {
- $values = (isset($_POST['values']) ? $_POST['values'] : '');
- $obf_DQwlFzcECjUMAgMJgM8JRA7KD47KjI = $values[0];
- $obf_DRcbASxbQD0UPzwLLTsxCAQxMQgFGjI = $values[1];
- .............................................................................................
- ..............................................
- ..........................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement