Cross Reference: /yui3/src/node-focusmanager/docs/assets/news.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove<?php
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove function getFeed($sFeed) {
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $params = array(
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove "q" => ('select title,link from rss where url="http://rss.news.yahoo.com/rss/".$sFeed.'""),
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove "format" => "json"
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove );
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $encoded_params = array();
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove foreach ($params as $k => $v) {
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $encoded_params[] = urlencode($k)."=".urlencode($v);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove }
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $url = "http://query.yahooapis.com/v1/public/yql?".implode("&", $encoded_params);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $ch = curl_init();
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove curl_setopt($ch, CURLOPT_URL, $url);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $rsp = curl_exec($ch);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove curl_close($ch);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove if ($rsp !== false) {
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $rsp_obj = json_decode($rsp, true);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $results = $rsp_obj["query"]["results"]["item"];
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $list = ""; // HTML output
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $nResults = count($results);
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove if ($nResults > 10) {
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $nResults = 9;
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove }
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove for ($i = 0; $i<= $nResults; $i++) {
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $result = $results[$i];
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove $list.= <<< END_OF_HTML
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove <li>
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove <a href="{$result["link"]}"><q>{$result["title"]}</q></a>
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove </li>
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan GroveEND_OF_HTML;
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove }
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove return ("<ul>" . $list . "</ul>");
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove }
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove }
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove
5f9cae5c825d76bdc95b78301e460a46ec5fbdf4Ryan Grove?>