Release 26
[bookreader.git] / BookReaderIA / inc / BookReader.inc
index 54c1ab7..426b1ce 100644 (file)
@@ -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
     <link rel="stylesheet" type="text/css" href="/bookreader/touch/BookReaderTouch.css?v=<? echo($version); ?>">
 <? } /* uiMode */ ?>
     <script src="/includes/jquery-1.4.2.min.js" type="text/javascript"></script>
-    <script type="text/javascript" src="/bookreader/jquery-ui-1.8.1.custom.min.js"></script>
-    <script type="text/javascript" src="/bookreader/dragscrollable.js"></script>
+    <script type="text/javascript" src="/bookreader/jquery-ui-1.8.1.custom.min.js?v=<? echo($version); ?>"></script>
+    <script type="text/javascript" src="/bookreader/dragscrollable.js?v=<? echo($version); ?>"></script>
     <script type="text/javascript" src="/bookreader/BookReader.js?v=<? echo($version); ?>"></script>
 </head>
 <body style="background-color: #FFFFFF;">
@@ -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
+?>
+