Skip to content

Commit 39dda27

Browse files
author
J-P
committed
Accept multiple URLs for a given page
1 parent ac610db commit 39dda27

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

modules/tldwapi/tldwapi.pages.inc

+18-9
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,26 @@
44
* Page callback: search based on e.g. URL
55
*/
66
function tldwapi_pages_search($format = 'json') {
7-
$url = $_GET['url'];
7+
// Take one URL or many URLs
8+
$urls = $_GET['urls'];
9+
if (!is_array($urls)) {
10+
$urls = array($_GET['url']);
11+
}
812

9-
// Try to parse the URL into a provider we know about
10-
$field_spec = content_fields('field_videolink', 'transcript');
11-
$parsed = emfield_parse_embed($field_spec, $url, 'emvideo');
13+
foreach($urls as $url) {
14+
// Try to parse the URL into a provider we know about
15+
$field_spec = content_fields('field_videolink', 'transcript');
16+
$parsed = emfield_parse_embed($field_spec, $url, 'emvideo');
1217

13-
// If we've identified a provider, try to find a video with that provider
14-
if (isset($parsed['provider']) && $parsed['provider']) {
15-
$sql = "SELECT nid FROM content_field_videolink WHERE field_videolink_value = '%s' AND field_videolink_provider = '%s'";
16-
$result = db_query($sql, $parsed['value'], $parsed['provider']);
17-
$node = node_load(db_result($result));
18+
// If we've identified a provider, try to find a video with that provider
19+
if (isset($parsed['provider']) && $parsed['provider']) {
20+
$sql = "SELECT nid FROM content_field_videolink WHERE field_videolink_value = '%s' AND field_videolink_provider = '%s'";
21+
$result = db_query($sql, $parsed['value'], $parsed['provider']);
22+
$node = node_load(db_result($result));
23+
if ($node) {
24+
break;
25+
}
26+
}
1827
}
1928

2029
// No results? return an empty array or equivalent

0 commit comments

Comments
 (0)