X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=BookReaderIA%2Finc%2FBookReader.inc;h=426b1ce297d026dadf56dbfedbdc73761d76c04d;hb=4ad10b5525c0769ded3b826fc7e6f3d404e80ffe;hp=54c1ab788ccd1929e46d44de4a241fa6272e900f;hpb=b91711b32d39e45d1c598f785be2c5b4314e4af7;p=bookreader.git diff --git a/BookReaderIA/inc/BookReader.inc b/BookReaderIA/inc/BookReader.inc index 54c1ab7..426b1ce 100644 --- a/BookReaderIA/inc/BookReader.inc +++ b/BookReaderIA/inc/BookReader.inc @@ -81,7 +81,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 = "r25"; + $version = "r26"; if (BookReader::getDevHost($server)) { // on dev host - add time to force reload @@ -112,8 +112,8 @@ class BookReader - - + + @@ -266,6 +266,39 @@ class BookReader return null; // was not handled } + public static function browserFromUserAgent($userAgent) { + $browserPatterns = array( + 'ipad' => '/iPad/', + 'iphone' => '/iPhone/', // Also cover iPod Touch + 'android' => '/Android/', + ); + + foreach ($browserPatterns as $browser => $pattern) { + if (preg_match($pattern, $userAgent)) { + return $browser; + } + } + return null; + } + + + // $$$ Ideally we will not rely on user agent, but for the moment we do + public static function paramsFromUserAgent($userAgent) { + // $$$ using 'embed' here for devices with assumed small screens -- really should just use CSS3 media queries + $browserParams = array( + 'ipad' => array( 'ui' => 'touch' ), + 'iphone' => array( 'ui' => 'embed', 'mode' => '1up' ), + 'android' => array( 'ui' => 'embed', 'mode' => '1up' ), + ); + + $browser = BookReader::browserFromUserAgent($userAgent); + if ($browser) { + return $browserParams[$browser]; + } + return array(); + } + } -?> \ No newline at end of file +?> +