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 @@ public static function import($post, $files, $linkDb, $conf, $history)
|
||||||
$filesize = $files['filetoupload']['size'];
|
$filesize = $files['filetoupload']['size'];
|
||||||
$data = file_get_contents($files['filetoupload']['tmp_name']);
|
$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);
|
return self::importStatus($filename, $filesize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@ public static function import($post, $files, $linkDb, $conf, $history)
|
||||||
} else if ($post['privacy'] == 'public') {
|
} else if ($post['privacy'] == 'public') {
|
||||||
// all imported links are public
|
// all imported links are public
|
||||||
$private = 0;
|
$private = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$newLink = array(
|
$newLink = array(
|
||||||
'title' => $bkm['title'],
|
'title' => $bkm['title'],
|
||||||
|
|
|
@ -126,6 +126,21 @@ public function testImportNoDoctype()
|
||||||
$this->assertEquals(0, count($this->linkDb));
|
$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
|
* 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