mirror of
https://github.com/owncloud/bookmarks.git
synced 2024-11-29 04:24:11 +01:00
55 lines
1.7 KiB
PHP
55 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* Copyright (c) 2012 Brice Maron < brice __At__ bmaron dot net >
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
* later.
|
|
* See the COPYING-README file.
|
|
*/
|
|
|
|
// Check if we are a user
|
|
OCP\User::checkLoggedIn();
|
|
OCP\App::checkAppEnabled('bookmarks');
|
|
|
|
function getDomainWithoutExt($name){
|
|
$pos = strripos($name, '.');
|
|
if($pos === false){
|
|
return $name;
|
|
}else{
|
|
return substr($name, 0, $pos);
|
|
}
|
|
}
|
|
|
|
$file = <<<EOT
|
|
<!DOCTYPE NETSCAPE-Bookmark-file-1>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
|
|
<!-- This is an automatically generated file.
|
|
It will be read and overwritten.
|
|
Do Not Edit! -->
|
|
<TITLE>Bookmarks</TITLE>
|
|
<H1>Bookmarks</H1>
|
|
<DL><p>
|
|
EOT;
|
|
$bookmarks = OC_Bookmarks_Bookmarks::findBookmarks(0, 'id', array(), true, -1);
|
|
foreach($bookmarks as $bm) {
|
|
$title = $bm['title'];
|
|
if(trim($title) ===''){
|
|
$url_parts = parse_url($bm['url']);
|
|
$title = isset($url_parts['host']) ? getDomainWithoutExt($url_parts['host']) : $bm['url'];
|
|
}
|
|
$file .= '<DT><A HREF="'.$bm['url'].'" TAGS="'.implode(',', $bm['tags']).'">';
|
|
$file .= htmlspecialchars($title, ENT_QUOTES, 'UTF-8').'</A>';
|
|
if($bm['description'])
|
|
$file .= '<DD>'.htmlspecialchars($bm['description'], ENT_QUOTES, 'UTF-8');
|
|
$file .= "\n";
|
|
}
|
|
$user_name = trim(OCP\User::getDisplayName()) != '' ?
|
|
OCP\User::getDisplayName() : OCP\User::getUser();
|
|
$export_name = '"ownCloud Bookmarks ('.$user_name.') ('.date('Y-m-d').').html"';
|
|
header("Cache-Control: private");
|
|
header("Content-Type: application/stream");
|
|
header("Content-Length: ".strlen($file));
|
|
header("Content-Disposition: attachment; filename=".$export_name);
|
|
|
|
echo $file;
|
|
exit;
|