mirror of
https://github.com/wallabag/wallabag.git
synced 2025-09-15 18:57:05 +00:00
added Firefox-bookmarks format import mode
This commit is contained in:
parent
9730853564
commit
d31766300a
2 changed files with 48 additions and 15 deletions
|
@ -732,6 +732,27 @@ class Poche
|
||||||
$html->load_file($_FILES['file']['tmp_name']);
|
$html->load_file($_FILES['file']['tmp_name']);
|
||||||
$data = array();
|
$data = array();
|
||||||
$read = 0;
|
$read = 0;
|
||||||
|
|
||||||
|
if (Tools:: get_doctype($html)) {
|
||||||
|
// Firefox-bookmarks HTML
|
||||||
|
foreach (array('DL','ul') as $list) {
|
||||||
|
foreach ($html->find($list) as $ul) {
|
||||||
|
foreach ($ul->find('DT') as $li) {
|
||||||
|
$tmpEntry = array();
|
||||||
|
$a = $li->find('A');
|
||||||
|
$tmpEntry['url'] = $a[0]->href;
|
||||||
|
$tmpEntry['tags'] = $a[0]->tags;
|
||||||
|
$tmpEntry['is_read'] = $read;
|
||||||
|
if ($tmpEntry['url']) {
|
||||||
|
$data[] = $tmpEntry;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# the second <ol/ul> is for read links
|
||||||
|
$read = ((sizeof($data) && $read)?0:1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// regular HTML
|
||||||
foreach (array('ol','ul') as $list) {
|
foreach (array('ol','ul') as $list) {
|
||||||
foreach ($html->find($list) as $ul) {
|
foreach ($html->find($list) as $ul) {
|
||||||
foreach ($ul->find('li') as $li) {
|
foreach ($ul->find('li') as $li) {
|
||||||
|
@ -749,6 +770,7 @@ class Poche
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// for readability structure
|
// for readability structure
|
||||||
|
|
||||||
|
|
|
@ -420,4 +420,15 @@ final class Tools
|
||||||
return str_replace('+', '', $token);
|
return str_replace('+', '', $token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_doctype($doc)
|
||||||
|
{
|
||||||
|
$els = $doc->find('unknown');
|
||||||
|
|
||||||
|
foreach ($els as $e => $el)
|
||||||
|
if ($el->parent()->tag == 'root')
|
||||||
|
return $el;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue