$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);
}
} else if ($post['privacy'] == 'public') {
// all imported links are public
$private = 0;
- }
+ }
$newLink = array(
'title' => $bkm['title'],
$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
*/
--- /dev/null
+<!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>