Download - SlideShare Instant
Creating SlideShare Instant Demo:
http://home.iitb.ac.in/~saket.kumar/slideshareSource:https://github.com/saketkc/SlideShare-Instantt
Saket Choudharyhttp://home.iitb.ac.in/~saket.kumar
IIT Bombay
What is “Instant”?
1.Get spontaneous results “on the go” while you type.
2.Saves time
3.First results are generally preffered reults hence search the “browsing
Example:1. Google Search Instant(Results appear as you type)
2. YouTube Instant : The thing that actually landd up its creator with a job offer !
SlideShare Instant ! Get instant results for your Slide/Document Search !
Not Satisfied with the first result?? Go Click the “Next” button !
Not So Fast Yet ! Well the source code is all open Go edit it !
Just Respect the Open Source Terms:
https://github.com/saketkc/SlideShare-Instant
Demo available at: http://home.iitb.ac.in/~saket.kumar/slideshare
Requirements
1.AJAX calls (Hail Google !)
2.PHP ( My favourite on Web So far ! I am falling in love with RoR
though)
3. Javascript(jquery)
4. CSS (Brains with Beauty is the way everyonr likes it ! )
Code Snippets<input type="text" class='search_input' /><br/>
Define an “onkeyup” event sen an ajax GET request to 'ajax.php' containing the parameters: the 'ajaxeeequest' and
'query'
$(".search_input").keyup(function() {
var search_input = $(this).val();var keyword= encodeURIComponent(search_input);
$.ajax({ type: "GET",
url: "ajax.php", data:{'op':'ajaxrequest','query':keyword},
success: function(msg){ $('.inner').html(msg); //fetch the Slide and echo it on
the page } });});
Ajax.php<?phpsession_start();$var=array();global $vaar;//$var=[];if ($_GET['op']=="ajaxrequest"){$var=$_GET['query'];
$api_key="8GD14Jk1";$secret="mnFaUN4s";
$proxy="proxy";$pass="user:pwd";$timeout=0;$ts=time();$hash=sha1($secret.$ts);# use CURL library to fetch remote file$apiurl="http://www.slideshare.net/api/2/search_slideshows?q=$var";$ch = curl_init();curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);curl_setopt($ch, CURLOPT_PROXYPORT,80);curl_setopt($ch, CURLOPT_PROXYUSERPWD,$pass);$url = $apiurl."&api_key=$api_key&ts=$ts&hash=$hash&items_per_page=1";curl_setopt ($ch, CURLOPT_URL, $url);
$file_contents = curl_exec($ch);$xml = simplexml_load_string($file_contents);
$number=1;foreach ( $xml->Slideshow as $files){ $_SESSION[$var][$number]=$files->Embed; //echo $_SESSION['sad']['2']; $vaar[$number]=$_SESSION[$var][$number]; echo ($vaar[$number]); $number=$number+1;}}
if ($_GET['op']=="numberrequest"){// session_start();$num=$_GET['number'];$query=$_GET['query'];
$api_key="8GD14Jk1";$secret="mnFaUN4s";
$proxy=”proxy”$pass="user:pwd”;$timeout=0;$ts=time();$hash=sha1($secret.$ts);# use CURL library to fetch remote file$apiurl="http://www.slideshare.net/api/2/search_slideshows?q=$query";
$ch = curl_init();curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_PROXY, $proxy);curl_setopt($ch, CURLOPT_PROXYPORT,80);curl_setopt($ch, CURLOPT_PROXYUSERPWD,$pass);$url = $apiurl."&api_key=$api_key&ts=$ts&hash=$hash&items_per_page=$num";curl_setopt ($ch, CURLOPT_URL, $url);$file_contents = curl_exec($ch);//$res = simplexml_load_file($file_contents);$xml = simplexml_load_string($file_contents);$number=1;foreach ( $xml->Slideshow as $files){ $_SESSION[$var][$number]=$files->Embed;
$vaar[$number]=$_SESSION[$var][$number]; if ($number==$num) { echo $files->Embed; } $number=$number+1;}} ?>
Index.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <LINK href="style.css" rel="stylesheet" type="text/css"><title>SlideShare Instant</title><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><script src="http://chrisslidesharehacks.googlecode.com/files/previewer2.js"></script><script type="text/javascript">$(document).ready(function(){var number=01;$(".search_input").focus();$(".search_input").keyup(function() {var search_input = $(this).val();var keyword= encodeURIComponent(search_input);$.ajax({ type: "GET", url: "ajax.php", data:{'op':'ajaxrequest','query':keyword}, success: function(msg){ $('.inner').html(msg); } });});
$('#next').click(function() { number=number+1; var keyword = $(".search_input").val(); $.ajax({ type: "GET", url: "ajax.php", data:{'op':'numberrequest','query':keyword,'number':number}, success: function(msg){ $('.inner').html(msg);//=msg; } });});$('#prev').click(function() { number=number-1; var keyword = $(".search_input").val();
$.ajax({ type: "GET", url: "ajax.php", data:{'op':'numberrequest','query':keyword,'number':number}, success: function(msg){ $('.inner').html(msg);//=msg; } });});});</script><body><center>SlideShare Instant Query<input type="text" class='search_input' /><br/><div class="container"><div class="inner"></div><button id="next"> Next--</div><button id="prev">--Prev</div></div></center></body>