X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=BookReaderIA%2Finc%2FBookReader.inc;h=3fa885cc1988861b581cac3e20cf75d546e4571d;hb=32dcce1c6c33c22670b8c651356595c6a8c2a0ad;hp=16e4615fa9a614b6f72ed8403b8a09c2af094ecf;hpb=3885f1baf71b6ac4deda25ddba1c988633f7b1a2;p=bookreader.git
diff --git a/BookReaderIA/inc/BookReader.inc b/BookReaderIA/inc/BookReader.inc
index 16e4615..3fa885c 100644
--- a/BookReaderIA/inc/BookReader.inc
+++ b/BookReaderIA/inc/BookReader.inc
@@ -1,8 +1,23 @@
+/*
+ * Copyright(c) 2008-2010 Internet Archive. Software license AGPL version 3.
+ *
+ * This file is part of BookReader. The full source code can be found at GitHub:
+ * http://github.com/openlibrary/bookreader
+ *
+ * Note: Edits to this file must pass through github. To submit a patch to this
+ * file please contact mang via http://github.com/mangtronix or mang at archive dot org
+ * Direct changes to this file may get clobbered when the code is synchronized
+ * from github.
+ */
+
class BookReader
{
+ // Operators recognized in BookReader download URLs
+ public static $downloadOperators = array('page');
+
// Returns true if can display the book in item with a given prefix (typically the item identifier)
public static function canDisplay($item, $prefix, $checkOldScandata = false)
{
@@ -51,15 +66,18 @@ class BookReader
public static function findPrefix($urlPortion)
{
if (!preg_match('#[^/&?]+#', $urlPortion, $matches)) {
+ // URL portion was empty or started with /, &, or ? -- no item identifier
return false;
}
- $prefix = $matches[0]; // identifier
+ $prefix = $matches[0]; // item identifier
// $$$ Currently swallows the rest of the URL.
// If we want to support e.g. /stream/itemid/subdir/prefix/page/23 will need to adjust.
if (preg_match('#[^/&?]+/([^&?]+)#', $urlPortion, $matches)) {
- $prefix = $matches[1]; // sub prefix
+ // Match is everything after item identifier and slash, up to end or ? or &
+ // e.g. itemid/{match/these/parts}?foo=bar
+ $prefix = $matches[1]; // sub prefix --
}
return $prefix;
@@ -73,7 +91,7 @@ class BookReader
{
// Set title to default if not set
if (!$title) {
- $title = 'Bookreader';
+ $title = 'BookReader';
}
$id = $identifier;
@@ -81,7 +99,12 @@ class BookReader
// manually update with Launchpad version number at each checkin so that browsers
// do not use old cached version
// see https://bugs.launchpad.net/gnubook/+bug/330748
- $version = "0.9.20";
+ $version = "r28";
+
+ if (BookReader::getDevHost($server)) {
+ // on dev host - add time to force reload
+ $version .= '_' . time();
+ }
if ("" == $id) {
echo "No identifier specified!";
@@ -94,6 +117,8 @@ class BookReader