Merge pull request #1092 from ArthurHoaro/fix/scuttle-doctype-case
Ignore the case while checking DOCTYPE during the file import
This commit is contained in:
commit
bc4a0a672c
3 changed files with 25 additions and 2 deletions
|
@ -108,7 +108,7 @@ class NetscapeBookmarkUtils
|
|||
$filesize = $files['filetoupload']['size'];
|
||||
$data = file_get_contents($files['filetoupload']['tmp_name']);
|
||||
|
||||
if (strpos($data, '<!DOCTYPE NETSCAPE-Bookmark-file-1>') === false) {
|
||||
if (preg_match('/<!DOCTYPE NETSCAPE-Bookmark-file-1>/i', $data) === 0) {
|
||||
return self::importStatus($filename, $filesize);
|
||||
}
|
||||
|
||||
|
@ -160,7 +160,7 @@ class NetscapeBookmarkUtils
|
|||
} else if ($post['privacy'] == 'public') {
|
||||
// all imported links are public
|
||||
$private = 0;
|
||||
}
|
||||
}
|
||||
|
||||
$newLink = array(
|
||||
'title' => $bkm['title'],
|
||||
|
|
|
@ -126,6 +126,21 @@ class BookmarkImportTest extends PHPUnit_Framework_TestCase
|
|||
$this->assertEquals(0, count($this->linkDb));
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempt to import bookmarks from a file with a lowercase Doctype
|
||||
*/
|
||||
public function testImportLowecaseDoctype()
|
||||
{
|
||||
$files = file2array('lowercase_doctype.htm');
|
||||
$this->assertStringMatchesFormat(
|
||||
'File lowercase_doctype.htm (386 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 links imported, 0 links overwritten, 0 links skipped.',
|
||||
NetscapeBookmarkUtils::import(null, $files, $this->linkDb, $this->conf, $this->history)
|
||||
);
|
||||
$this->assertEquals(2, count($this->linkDb));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ensure IE dumps are supported
|
||||
*/
|
||||
|
|
8
tests/NetscapeBookmarkUtils/input/lowercase_doctype.htm
Normal file
8
tests/NetscapeBookmarkUtils/input/lowercase_doctype.htm
Normal file
|
@ -0,0 +1,8 @@
|
|||
<!DOCTYPE netscape-bookmark-file-1>
|
||||
<TITLE>Bookmarks</TITLE>
|
||||
<H1>Bookmarks</H1>
|
||||
<DL><p>
|
||||
<DT><A HREF="https://private.tld" ADD_DATE="10/Oct/2000:13:55:36 +0300" PRIVATE="1" TAGS="private secret">Secret stuff</A>
|
||||
<DD>Super-secret stuff you're not supposed to know about
|
||||
<DT><A HREF="http://public.tld" ADD_DATE="1456433748" PRIVATE="0" TAGS="public hello world">Public stuff</A>
|
||||
</DL><p>
|
Loading…
Reference in a new issue