JSLocate and image processing WIP
[bookreader.git] / BookReaderIA / www / BookReaderJSLocate.php
1 <?
2 /*
3 Copyright(c)2008 Internet Archive. Software license AGPL version 3.
4
5 This file is part of BookReader.
6
7     BookReader is free software: you can redistribute it and/or modify
8     it under the terms of the GNU Affero General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11
12     BookReader is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU Affero General Public License for more details.
16
17     You should have received a copy of the GNU Affero General Public License
18     along with BookReader.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 require_once '/petabox/setup.inc';
22
23 $id = $_REQUEST['id'];
24 $book = $_REQUEST['book']; // support multiple books within an item
25
26 if ("" == $id) {
27     echo "No identifier specified!";
28     die(-1);
29 }
30
31 $locator      = new Locator();
32
33 $results = $locator->locateUDP($id, 1, false);
34
35 $server = $results[0][0];
36 $vhost = $server;
37
38 // Check if we're on a dev vhost and point to JSIA in the user's public_html on the datanode
39 if (preg_match("/^www-(\w+)/", $_SERVER["SERVER_NAME"], $match)) {
40     // $$$ the remapping isn't totally automatic yet and requires user to
41     //     ln -s ~/petabox/www/datanode/BookReader ~/public_html/BookReader
42     //     so we enable it only for known hosts
43     $devhosts = array('mang', 'testflip', 'rkumar');
44     if (in_array($match[1], $devhosts)) {
45         $vhost = $server . ":81/~" . $match[1];
46     }
47 }
48
49 $url = "http://{$vhost}/BookReader/BookReaderJSIA.php?id=" . urlencode($id) . "&itemPath={$results[0][1]}&server={$server}";
50 if ($book) {
51     $url .= "&subPrefix=" . urlencode($book);
52 }
53
54
55 if (("" != $results[0][0]) && ("" != $results[0][1])) {
56     header("Location: $url");
57 }
58
59 ?>