Youtube Working Script 11/8/2010

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Youtube Working Script 11/8/2010

    download Free Utube working Script
    RdxMax.CoM - Search And Download YouTube Videos For Mobile demo

    http://rdxmax.com/utube.zip link download

    :: Rdxfun.CoM Latest Punjabi Hindi Music | Ringtones | Videos | Wallpapers | Games | Themes| Softwares And More ::
    Attached Files
    Last edited by sunnyaj; 11.08.10, 12:56.

    #2
    details.php

    no need to change all script. only change details.php of existing youtube script.
    PHP Code:
    <?php
    ////////////////////////////// Download stuff
    $action = $_GET["action"];
    if ($action=="download")
    {
    // File:     phpyoutube.php
    // Version: 2.2
    // Date:    06/04/2009
    // Web:        http://blog.unijimpe.net
    function getContent($url) {
        $ch = curl_init();
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_HEADER, 0);
    
        ob_start();
        curl_exec ($ch);
        curl_close ($ch);
        $string = ob_get_contents();
        ob_end_clean();
        return $string;    
    }
    function fetch_headers($url) {
        $headers = array();
        $url = trim($url);
    
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_NOBODY ,1);
        $data = curl_exec($ch);
        $errormsg = curl_error($ch);
        curl_close($ch);
                        
        $headers = explode("\n", $data);
        return $headers;
    }
    function getYoutubeToken($id) {
        $path = "http://www.youtube.com/get_video_info?";
        $cont = getContent($path."&video_id=".$id);
        parse_str($cont, $opts);
        return $opts['token'];
    }
    
    
    $videoItem = trim($_GET['item']);
    $videoType = "";
    $videoPath = "http://www.youtube.com/get_video";
    
    if ($_GET['type'] != "0") {
        $videoType = "&fmt=".$_GET['type'];
    }
    if ($videoItem != "") {
        $videoTokn = getYoutubeToken($videoItem);
        $videoURL = $videoPath."?video_id=".$videoItem."&t=".$videoTokn.$videoType."&asv=";
        $headers = fetch_headers($videoURL);
        for ($i=0; $i<count($headers); $i++) {
            if (strstr($headers[$i], "ocation:")) {
                $str1 = explode("ocation:", $headers[$i]);
                $link = trim($str1[1]);
                break;
            }
        }
        $vn=rand(0,9999);
       
       if($_GET['type']==17){
          header("Content-Type: video/3gp");   
            header("Content-Disposition: attachment; filename=\"$vn-(videodesihot.com).3gp\""); 
       }
       else if($_GET['type']==18){
          header("Content-Type: video/mp4");   
            header("Content-Disposition: attachment; filename=\"$vn-(videodesihot.com).mp4\"");
       }
       else{
          header("Content-Type: video/x-flv");   
            header("Content-Disposition: attachment; filename=\"$vn-(videodesihot.com).flv\"");
       }
    
          readfile($link);
           flush();
           exit();
    }
    }
    
    /////////////End of download stuff
    
    include("page_head.php");
    
    ?>
    
        <?php
        // function to parse a video <entry>
        function parseVideoEntry($entry) {      
          $obj= new stdClass;
          
          // get author name and feed URL
          $obj->author = $entry->author->name;
          $obj->authorURL = $entry->author->uri;
          
          // get nodes in media: namespace for media information
          $media = $entry->children('http://search.yahoo.com/mrss/');
          $obj->title = $media->group->title;
          $obj->description = $media->group->description;
          
          // get video player URL
          $attrs = $media->group->player->attributes();
          $obj->watchURL = $attrs['url']; 
          
          // get video thumbnail
          $attrs = $media->group->thumbnail[0]->attributes();
          $obj->thumbnailURL = $attrs['url']; 
                
          // get <yt:duration> node for video length
          $yt = $media->children('http://gdata.youtube.com/schemas/2007');
          $attrs = $yt->duration->attributes();
          $obj->length = $attrs['seconds']; 
          
          // get <yt:stats> node for viewer statistics
          $yt = $entry->children('http://gdata.youtube.com/schemas/2007');
          if ($yt->statistics) {
          $attrs = $yt->statistics->attributes();
          $obj->viewCount = $attrs['viewCount']; 
          } else {
          $obj->viewCount = 0;
          }
    
    
    
    
    
          // get <gd:rating> node for video ratings
          $gd = $entry->children('http://schemas.google.com/g/2005'); 
          if ($gd->rating) { 
            $attrs = $gd->rating->attributes();
            $obj->rating = $attrs['average']; 
          } else {
            $obj->rating = 0;         
          }
            
          // get <gd:comments> node for video comments
          $gd = $entry->children('http://schemas.google.com/g/2005');
          if ($gd->comments->feedLink) { 
            $attrs = $gd->comments->feedLink->attributes();
            $obj->commentsURL = $attrs['href']; 
            $obj->commentsCount = $attrs['countHint']; 
          }
          
          // get feed URL for video responses
          $entry->registerXPathNamespace('feed', 'http://www.w3.org/2005/Atom');
          $nodeset = $entry->xpath("feed:link[@rel='http://gdata.youtube.com/schemas/2007#video.responses']"); 
          if (count($nodeset) > 0) {
            $obj->responsesURL = $nodeset[0]['href'];      
          }
             
          // get feed URL for related videos
          $entry->registerXPathNamespace('feed', 'http://www.w3.org/2005/Atom');
          $nodeset = $entry->xpath("feed:link[@rel='http://gdata.youtube.com/schemas/2007#video.related']"); 
          if (count($nodeset) > 0) {
            $obj->relatedURL = $nodeset[0]['href'];      
          }
        
          // return object to caller  
          return $obj;      
        }   
        
        // get video ID from $_GET 
        if (!isset($_GET['id'])) {
          die ('ERROR: Missing video ID');  
        } else {
          $vid = $_GET['id'];
        }
    
        // set video data feed URL
        $feedURL = 'http://gdata.youtube.com/feeds/mobile/videos/' . $vid;
    
        // read feed into SimpleXML object
        $entry = simplexml_load_file($feedURL);
        
        // parse video entry
        $video = parseVideoEntry($entry);
    
    
    
    
    
           
        // display main video title
    
    echo "<div class=\"header\">";
    echo "{$video->title}";
    echo "</div>";
    
    
        // get mobile stream url
    
    $mobstream = $_GET["mobstream"];
    
    
        // display video thumbnail/stream/download 
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
    <?php
        echo "<div class=\"shoutmenu\">\n";
        echo "<img class=\"avatar\" src=\"$video->thumbnailURL\" alt=\"\" /><br/>\n";
        echo "<a href=\"$mobstream\">Stream Video</a><br/>\n";
    
    ?>
    
    
                    
                    <input name="item" id="item" type="hidden" value="<?php echo "$vid";?>" />
                    <input name="action" type="hidden" value="download" />
                    <select id="type" name="type">
                      
                      <option value="17">3GP &nbsp;</option>
                      <option value="18">MP4 &nbsp;</option>
                      <option value="0">FLV &nbsp;</option>
                    </select>
                    
                    
                    <input name="btget" id="btget" type="submit" value="Download" />
    
    
                 
    <?php
    
     echo "</div></form>";
    
              // display Full description
    if(isset($_GET["fulldscr"]))
    {
    echo "<div class=\"shout\">VIDEO DETAILS</div>\n";
    
    echo "<div class=\"menu3\">\n";
        echo "<b>Duration:</b> ";
        echo sprintf("%0.2f", $video->length/60) . " min<br/> 
        <b>Rating:</b> {$video->rating}<br/> <b>Views:</b> {$video->viewCount}<br/>\n";
    echo "</div>";
        ?>
      </body>
    </html>    
    <?php
    exit();
    }
    
    echo "<div class=\"shout\">VIDEO DETAILS</div>\n";
    
    echo "<div class=\"menu3\">\n";
        echo "<b>Duration:</b> ";
        echo sprintf("%0.2f", $video->length/60) . " min<br/> 
        <b>Rating:</b> {$video->rating}<br/> <b>Views:</b> {$video->viewCount}<br/>\n";
    echo "</div>"; 
      
        ?>  
    
        <?php      
        // if form submitted
            $vq = $video->title;
            $vq = ereg_replace('[[:space:]]+', ' ', trim($vq));
            $vq = urlencode($vq);
       
          
          // set max results per page
          if (!isset($_GET['i']) || empty($_GET['i'])) {
            $i = 5;
          } else {
            $i = htmlentities($_GET['i']);
          }
          
          // set sort critera
          if (!isset($_GET['s']) || empty($_GET['s'])) {
            $s = 'viewCount';
          } else {
            $s = htmlentities($_GET['s']);
          }
          
          // set start index
          if (!isset($_GET['pageID']) || $_GET['pageID'] <= 0) {
            $o = 1;  
          } else {        
            $pageID = htmlentities($_GET['pageID']);
            $o = (($pageID-1) * $i)+1;  
          }
          
          // generate feed URL
          $feedURL = "http://gdata.youtube.com/feeds/mobile/videos?vq={$vq}&orderby={$s}&max-results=5&start-index={$o}&format=1";
          
          // read feed into SimpleXML object
          $sxml = simplexml_load_file($feedURL);
          
          // get summary counts from opensearch: namespace
          $counts = $sxml->children('http://a9.com/-/spec/opensearchrss/1.0/');
          $total = $counts->totalResults; 
          $startOffset = $counts->startIndex; 
          $endOffset = ($startOffset-1) + $counts->itemsPerPage;       
          
          // include Pager class
          require_once 'Pager/Pager.php';
          $params = array(
              'mode'       => 'Jumping',
              'perPage'    => $i,
              'delta'      => 5,
              'totalItems' => $total,
          );
          $pager = & Pager::factory($params);
          $links = $pager->getLinks();     
          ?>
          
          <div class="header"><?php echo $_GET['vq']; ?>Related Videos</div>
    
          <?php    
          // iterate over entries in resultset
          // print each entry's details
          foreach ($sxml->entry as $entry) {
            // get nodes in media: namespace for media information
            $media = $entry->children('http://search.yahoo.com/mrss/');
            
            // get video player URL
            $attrs = $media->group->player->attributes();
            $watch = $attrs['url']; 
    
            // get 3GP STREAM URL 2
            $attrs = $media->group->content[0]->attributes();
            $mobilestream = $attrs['url']; 
            
            // get video thumbnail
            $attrs = $media->group->thumbnail[0]->attributes();
            $thumbnail = $attrs['url']; 
            
            // get <yt:duration> node for video length
            $yt = $media->children('http://gdata.youtube.com/schemas/2007');
            $attrs = $yt->duration->attributes();
            $length = $attrs['seconds']; 
            
            ////////// get <yt:stats> node for viewer statistics
           ///$yt = $entry->children('http://gdata.youtube.com/schemas/2007');
           ///if ($yt->statistics) {
           ///$attrs = $yt->statistics->attributes();
           ///$viewCount = $attrs['viewCount']; 
           ///} else {
           ///  $viewCount = 0; 
           ///}
    
    
    
    
            
    
    
          
            // get <gd:rating> node for video ratings
            $gd = $entry->children('http://schemas.google.com/g/2005'); 
            if ($gd->rating) {
              $attrs = $gd->rating->attributes();
              $rating = $attrs['average']; 
            } else {
              $rating = 0; 
            }
    
            // get video ID
            $arr = explode('/',$entry->id);
            $id = $arr[count($arr)-1];
                 
            // print record
      ?>
    
    <div class="menu3">
    <table>
    <tr valign="middle">
    <td>
    
    <?php
    
    ///////// PREVIEW IMAGE AS A LINK TO MOBILE STREAM
    
    echo "<a href=\"{$mobilestream}\">";
    echo "<img class=\"avatar\" src=\"$thumbnail\" width=\"60\" height=\"45\" alt=\"\" />";
    echo "</a>\n";
    ?>
    
    </td>
    <td style="padding-left:2px;">
    <div style="padding-bottom:1px;">
    
    <?php
    
    ///////// VIDEO TITLE AS A LINK TO DETAILS PAGE
    
    echo "<a href=\"details.php?id=$id&amp;mobstream={$mobilestream}\">{$media->group->title}</a>\n";
    ?>
    
    </div>
    
    <?php
    
    ///////// VIDEO LENGHT AS MM:SS // VIDEO RATING OUT OF 5
    
    if (($rating=="0") || (($rating>0.0) && ($rating<0.5)))
    {
    $rating = "<img src=\"stars/0.0.gif\" alt=\"\"/>";
    }else
    if (($rating=="0.5") || (($rating>0.5) && ($rating<1.0)))
    {
    $rating = "<img src=\"stars/0.5.gif\" alt=\"\"/>";
    }else
    if (($rating=="1.0") || (($rating>1.0) && ($rating<1.5)))
    {
    $rating = "<img src=\"stars/1.0.gif\" alt=\"\"/>";
    }else
    if (($rating=="1.5") || (($rating>1.5) && ($rating<2.0)))
    {
    $rating = "<img src=\"stars/1.5.gif\" alt=\"\"/>";
    }else
    if (($rating=="2.0") || (($rating>2.0) && ($rating<2.5)))
    {
    $rating = "<img src=\"stars/2.0.gif\" alt=\"\"/>";
    }else
    if (($rating=="2.5") || (($rating>2.5) && ($rating<3.0)))
    {
    $rating = "<img src=\"stars/2.5.gif\" alt=\"\"/>";
    }else
    if (($rating=="3.0") || (($rating>3.0) && ($rating<3.5)))
    {
    $rating = "<img src=\"stars/3.0.gif\" alt=\"\"/>";
    }else
    if (($rating=="3.5") || (($rating>3.5) && ($rating<4.0)))
    {
    $rating = "<img src=\"stars/3.5.gif\" alt=\"\"/>";
    }else
    if (($rating=="4.0") || (($rating>4.0) && ($rating<4.5)))
    {
    $rating = "<img src=\"stars/4.0.gif\" alt=\"\"/>";
    }else
    if (($rating=="4.5") || (($rating>4.5) && ($rating<5.0)))
    {
    $rating = "<img src=\"stars/4.5.gif\" alt=\"\"/>";
    }else
    if (($rating=="5.0") || ($rating>5.0))
    {
    $rating = "<img src=\"stars/5.0.gif\" alt=\"\"/>";
    }
    
    
    
    echo sprintf("%0.2f", $length/60) . "&nbsp;&nbsp;&nbsp; {$rating} <br/>";
    
    echo "</td></tr></table></div>";
    
    }
       
    include("footer.php");
    
    ?>
    Last edited by akela; 11.08.10, 14:46.

    Comment


      #3
      tanks bro is very nice

      Comment


        #4
        Where is the SQL?

        Comment


          #5
          before somebody post the working script , everybody sell the script ... After , all this guys share the script and spam threads.... Thats why I dont like you ppl ...
          Unamos los corazones,hoy todos somos multicolores!

          Comment


            #6
            no need to sql in this script. simply create database and user and add details in config.php that are store search keyword. you may remove it from script. it does not affect on search .we are not using sql and demo Nowtouchme.Mobi - Search And Download YouTube Videos For Mobile

            Comment

            Working...
            X