Fix the handling of kepub.epub.
This commit is contained in:
		
							parent
							
								
									ac8763f4f5
								
							
						
					
					
						commit
						2aaa7fbd19
					
				
					 2 changed files with 12 additions and 4 deletions
				
			
		
							
								
								
									
										9
									
								
								data.php
									
										
									
									
									
								
							
							
						
						
									
										9
									
								
								data.php
									
										
									
									
									
								
							|  | @ -28,6 +28,7 @@ class Data extends Base { | |||
|         'doc'   => 'application/msword', | ||||
|         'epub'  => 'application/epub+zip', | ||||
|         'fb2'   => 'text/fb2+xml', | ||||
|         'kepub' => 'application/epub+zip', | ||||
|         'kobo'  => 'application/x-koboreader-ebook', | ||||
|         'mobi'  => 'application/x-mobipocket-ebook', | ||||
|         'lit'   => 'application/x-ms-reader', | ||||
|  | @ -81,6 +82,10 @@ class Data extends Base { | |||
|         return $result; | ||||
|     } | ||||
| 
 | ||||
|     public function isEpubValidOnKobo () { | ||||
|         return $this->format == "EPUB" || $this->format == "KEPUB"; | ||||
|     } | ||||
| 
 | ||||
|     public function getFilename () { | ||||
|         return $this->name . "." . strtolower ($this->format); | ||||
|     } | ||||
|  | @ -112,7 +117,9 @@ class Data extends Base { | |||
|         { | ||||
|             $database = ""; | ||||
|             if (!is_null (GetUrlParam (DB))) $database = GetUrlParam (DB) . "/"; | ||||
|             if ($config['cops_provide_kepub'] == "1" && preg_match("/Kobo/", $_SERVER['HTTP_USER_AGENT'])) { | ||||
|             if ($config['cops_provide_kepub'] == "1" && | ||||
|                 $this->isEpubValidOnKobo () && | ||||
|                 preg_match("/Kobo/", $_SERVER['HTTP_USER_AGENT'])) { | ||||
|                 return "download/" . $this->id . "/" . $database . urlencode ($this->getUpdatedFilenameKepub ()); | ||||
|             } else { | ||||
|                 return "download/" . $this->id . "/" . $database . urlencode ($this->getFilename ()); | ||||
|  |  | |||
|  | @ -264,6 +264,7 @@ class BookTest extends PHPUnit_Framework_TestCase | |||
|         $config['cops_provide_kepub'] = "1"; | ||||
|         $_SERVER["HTTP_USER_AGENT"] = "Kobo"; | ||||
|         $this->assertEquals ("download/20/Carroll%2C+Lewis+-+Alice%27s+Adventures+in+Wonderland.kepub.epub", $epub->getHtmlLink ()); | ||||
|         $this->assertEquals ("download/17/Alice%27s+Adventures+in+Wonderland+-+Lewis+Carroll.mobi", $mobi->getHtmlLink ()); | ||||
|         $_SERVER["HTTP_USER_AGENT"] = "Firefox"; | ||||
|         $this->assertEquals ("download/20/Alice%27s+Adventures+in+Wonderland+-+Lewis+Carroll.epub", $epub->getHtmlLink ()); | ||||
|         $config['cops_use_url_rewriting'] = "0"; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue