X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=BookReaderIA%2Finc%2FBookReader.inc;h=68eff3c2a7e6b62b3caf9ce8dd5f3d5ae5476d2f;hb=e08b87d9dd895da41cb728db29ea8bf33e0bdbfd;hp=585ee1d0368cf77bf20e87e41452a14d3c82b571;hpb=22e65b2d601696ad0ae34d27367887bd5251a308;p=bookreader.git diff --git a/BookReaderIA/inc/BookReader.inc b/BookReaderIA/inc/BookReader.inc index 585ee1d..68eff3c 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; @@ -81,7 +99,7 @@ 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 = "r26a"; + $version = "r28"; if (BookReader::getDevHost($server)) { // on dev host - add time to force reload @@ -112,17 +130,212 @@ class BookReader } /* uiMode */ ?> - + + + + + -
+ - if ($uiMode == 'full') { ?> -