Compare commits

..

No commits in common. "145a0b279fb550aac4b9e3d5a49f09040b83318a" and "912dcfe3ca5d224ed048aa7d5c6b25e76823d083" have entirely different histories.

3 changed files with 39 additions and 2 deletions

View File

@ -35,6 +35,17 @@ else if (isset($_POST['action']))
} }
break; break;
case 'title':
$result = array();
$str = file_get_contents($_POST['data']);
if(strlen($str) > 0)
{
preg_match("/\<title\>(.*)\<\/title\>/", $str, $title);
$result['title'] = $title[1];
}
echo json_encode($result);
break;
default: default:
echo '{"error": "unknown action ' . $action . '"}'; echo '{"error": "unknown action ' . $action . '"}';
break; break;

27
main.js
View File

@ -34,6 +34,7 @@ var lastsaved = "";
var pending = false; var pending = false;
var settings = null; var settings = null;
var tags = null; var tags = null;
var titlemap = {};
var stat = var stat =
{ {
@ -772,7 +773,32 @@ function showlinkdialog(link)
a.setAttribute("href", link); a.setAttribute("href", link);
a.setAttribute("target", "_blank"); a.setAttribute("target", "_blank");
div.onclick = removelinkdialog; div.onclick = removelinkdialog;
if (settings.sync)
{
if (titlemap[link])
{
a.innerHTML = titlemap[link];
}
else
{
a.innerText = link; a.innerText = link;
queryremote({action: "title", data: link})
.then(res =>
{
if (res.title)
{
a.innerHTML = res.title;
titlemap[link] = res.title;
localStorage.setItem("titlemap", JSON.stringify(titlemap));
}
});
}
}
else
{
a.innerText = link;
}
} }
else else
{ {
@ -1295,6 +1321,7 @@ function init()
if (settings.sync) if (settings.sync)
{ {
titlemap = JSON.parse(localStorage.getItem("titlemap")) || {};
if (localStorage.getItem("pgpkeys") && localStorage.getItem("pgpkeys").startsWith("-----BEGIN PGP PUBLIC KEY BLOCK-----")) if (localStorage.getItem("pgpkeys") && localStorage.getItem("pgpkeys").startsWith("-----BEGIN PGP PUBLIC KEY BLOCK-----"))
{ {
queryremote({action: "fetch"}) queryremote({action: "fetch"})

View File

@ -128,7 +128,6 @@ body::-webkit-scrollbar-thumb {
/* search file dialog */ /* search file dialog */
#filter { #filter {
font-family: inherit;
color: black; color: black;
width: 100%; width: 100%;
} }