71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
    function get_video_results($query)
 | 
						|
    {
 | 
						|
        global $config;
 | 
						|
 | 
						|
        $instance_url = $config->invidious_instance_for_video_results;
 | 
						|
 | 
						|
        $url = "$instance_url/api/v1/search?q=$query";
 | 
						|
        $response = request($url);
 | 
						|
        $json_response = json_decode($response, true);
 | 
						|
 | 
						|
        $results = array();
 | 
						|
 | 
						|
        foreach ($json_response as $response)
 | 
						|
        {
 | 
						|
            if ($response["type"] == "video")
 | 
						|
            {
 | 
						|
                $title = $response["title"];
 | 
						|
                $url = "https://youtube.com/watch?v=" . $response["videoId"];
 | 
						|
                $url = check_for_privacy_frontend($url);
 | 
						|
                $uploader = $response["author"];
 | 
						|
                $views = $response["viewCount"];
 | 
						|
                $date = $response["publishedText"];
 | 
						|
                $thumbnail = $instance_url . "/vi/" . explode("/vi/" ,$response["videoThumbnails"][4]["url"])[1];
 | 
						|
 | 
						|
                array_push($results,
 | 
						|
                    array (
 | 
						|
                        "title" => htmlspecialchars($title),
 | 
						|
                        "url" =>  htmlspecialchars($url),
 | 
						|
                        "base_url" => htmlspecialchars(get_base_url($url)),
 | 
						|
                        "uploader" => htmlspecialchars($uploader),
 | 
						|
                        "views" => htmlspecialchars($views),
 | 
						|
                        "date" => htmlspecialchars($date),
 | 
						|
                        "thumbnail" => htmlspecialchars($thumbnail)
 | 
						|
                    )
 | 
						|
                );
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        return $results;
 | 
						|
    }
 | 
						|
 | 
						|
    function print_video_results($results)
 | 
						|
    {
 | 
						|
        echo "<div class=\"text-result-container\">";
 | 
						|
 | 
						|
            foreach($results as $result)
 | 
						|
            {
 | 
						|
                $title = $result["title"];
 | 
						|
                $url = $result["url"];
 | 
						|
                $base_url = $result["base_url"];
 | 
						|
                $uploader = $result["uploader"];
 | 
						|
                $views = $result["views"];
 | 
						|
                $date = $result["date"];
 | 
						|
                $thumbnail = $result["thumbnail"];
 | 
						|
 | 
						|
                echo "<div class=\"text-result-wrapper\">";
 | 
						|
                echo "<a href=\"$url\">";
 | 
						|
                echo "$base_url";
 | 
						|
                echo "<h2>$title</h2>";
 | 
						|
                echo "<img class=\"video-img\" src=\"image_proxy.php?url=$thumbnail\">";
 | 
						|
                echo "<br>";
 | 
						|
                echo "<span>$uploader - $date - $views views</span>";
 | 
						|
                echo "</a>";
 | 
						|
                echo "</div>";
 | 
						|
            }
 | 
						|
 | 
						|
        echo "</div>";
 | 
						|
    }
 | 
						|
?>
 |