forked from sch/Blasta
514 lines
22 KiB
HTML
514 lines
22 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="color-scheme" content="dark light" />
|
|
<title>Blasta / profile</title>
|
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
|
<script src="/script/regulator.js" />
|
|
</head>
|
|
<body>
|
|
<div id="container">
|
|
<div id="header" class="row">
|
|
<h1>
|
|
<img src="/graphic/blasta.svg"/>
|
|
|
|
<a href="/">
|
|
Blasta
|
|
</a>
|
|
/ profile
|
|
</h1>
|
|
<dl id="navigation">
|
|
<dd>
|
|
<a href="/">
|
|
<img alt="Main"
|
|
src="/graphic/blasta.svg"/>
|
|
</a>
|
|
</dd>
|
|
{% if jabber_id %}
|
|
<dd>
|
|
<a href="/save">Add</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/jid">Public</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/private">Private</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/read">Read</a>
|
|
</dd>
|
|
{% endif %}
|
|
<dd>
|
|
<a href="/search{% if jabber_id %}/jid/{{jabber_id}}{% endif %}">Search</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/popular">Popular</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/recent">Recent</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/disconnect">Disconnect</a>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<div id="main" class="row">
|
|
<div id="content">
|
|
<h2>
|
|
<img alt="💡" src="/graphic/xmpp.svg" width="18" height="18"/>
|
|
|
|
PubSub bookmarks
|
|
</h2>
|
|
<p>» Information of your Jabber ID.</p>
|
|
<h3>Your Profile</h3>
|
|
<p>
|
|
This page provides a general survey of your XMPP account and
|
|
stored bookmarks.
|
|
</p>
|
|
<!--
|
|
<h4 id="enrollment">Enrollment</h4>
|
|
<p>
|
|
Blasta does not automatically include your public bookmarks
|
|
to its database.
|
|
</p>
|
|
<p>
|
|
You have to actively accept to enroll your bookmarks to the
|
|
Blasta database.
|
|
</p>
|
|
<p>
|
|
{% if enroll == '1' %}
|
|
Click the button “Opt out”, if you want to exclude your
|
|
bookmarks in the Blasta database, and consequently not
|
|
to share your bookmarks with the public.
|
|
{% else %}
|
|
Click the button “Opt in”, if you want to include your
|
|
bookmarks in the Blasta database, and consequently share
|
|
your bookmarks with the public.
|
|
{% endif %}
|
|
</p>
|
|
<form action="/profile"
|
|
method="post">
|
|
<input id="enroll"
|
|
name="enroll"
|
|
type="hidden"
|
|
value="{% if enroll == '1' %}0{% else %}1{% endif %}"/>
|
|
<input class="submit"
|
|
type="submit"
|
|
value="{% if enroll == '1' %}Opt Out{% else %}Opt In{% endif %}"/>
|
|
<span>
|
|
You can opt {% if enroll == '1' %}in{% else %}out{% endif %}
|
|
again, at any time you want.
|
|
</span>
|
|
</form>
|
|
<p class="warning">
|
|
If you choose to cancel your enrollment (i.e. Opt out)
|
|
and a bookmark of yours is also shared by someone else,
|
|
then the bookmark be remain in the Blasta system, and
|
|
only the asociation with your <abbr title="Jabber ID">
|
|
JID</abbr> be removed.
|
|
</p>
|
|
<p class="warning">
|
|
Directories “Private” and “Read” are private and are
|
|
intended only to you.
|
|
These couple of directories are not intended to be
|
|
included in the Blasta system, and are not sharable
|
|
therefore.
|
|
</p>
|
|
-->
|
|
<h4 id="export">Export</h4>
|
|
<p>
|
|
Export bookmarks to a file.
|
|
</p>
|
|
<p>
|
|
<!-- TODO Add XBEL, XHTML and XML -->
|
|
<dl>
|
|
<dt>
|
|
<strong>Private</strong>
|
|
</dt>
|
|
<dd>
|
|
<a download="{{jabber_id}}_private.json"
|
|
href="/profile/export/private/json">
|
|
JSON</a>,
|
|
<a download="{{jabber_id}}_private.toml"
|
|
href="/profile/export/private/toml">
|
|
TOML</a>.
|
|
</dd>
|
|
<dt>
|
|
<strong>Public</strong>
|
|
</dt>
|
|
<dd>
|
|
<a download="{{jabber_id}}_public.json"
|
|
href="/profile/export/public/json">
|
|
JSON</a>,
|
|
<a download="{{jabber_id}}_public.toml"
|
|
href="/profile/export/public/toml">
|
|
TOML</a>.
|
|
</dd>
|
|
<dt>
|
|
<strong>Read</strong>
|
|
</dt>
|
|
<dd>
|
|
<a download="{{jabber_id}}_read.json"
|
|
href="/profile/export/read/json">
|
|
JSON</a>,
|
|
<a download="{{jabber_id}}_read.toml"
|
|
href="/profile/export/read/toml">
|
|
TOML</a>.
|
|
</dd>
|
|
</dl>
|
|
</p>
|
|
<h4 id="import">Import</h4>
|
|
<p>
|
|
Import bookmarks from a file, and choose a node to import
|
|
your bookmarks to.
|
|
</p>
|
|
<form action="/profile/import"
|
|
enctype="multipart/form-data"
|
|
id="import"
|
|
method="post">
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<strong>
|
|
<label for="file">File</label>
|
|
</strong>
|
|
</td>
|
|
<td>
|
|
<input id="file"
|
|
name="file"
|
|
placeholder="Select a file to import."
|
|
required=""
|
|
type="file" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>
|
|
<label for="node">Node</label>
|
|
</strong>
|
|
</td>
|
|
<td>
|
|
<input id="node-private"
|
|
name="node"
|
|
required=""
|
|
type="radio"
|
|
value="private"/>
|
|
<label for="node-private">Private</label>
|
|
<input id="node-public"
|
|
name="node"
|
|
type="radio"
|
|
value="public"/>
|
|
<label for="node-public">Public</label>
|
|
<input id="node-read"
|
|
name="node"
|
|
type="radio"
|
|
value="read"/>
|
|
<label for="node-read">Read</label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>
|
|
<label for="node">Action</label>
|
|
</strong>
|
|
</td>
|
|
<td>
|
|
<input id="merge"
|
|
disabled=""
|
|
name="merge"
|
|
type="checkbox"/>
|
|
<label for="merge"
|
|
title="Merge tags.">
|
|
Merge
|
|
</label>
|
|
<input id="override"
|
|
checked=""
|
|
disabled=""
|
|
name="override"
|
|
type="checkbox"/>
|
|
<label for="override"
|
|
title="Replace properties by the
|
|
properties of the imported entries.">
|
|
Override
|
|
</label>
|
|
(<abbr title="Selecting Override & Merge
|
|
will replace properties by the properties of the imported entries, and also
|
|
merge tags.">
|
|
?
|
|
</abbr>)
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<input class="submit"
|
|
type="submit"
|
|
value="Import Bookmarks"/>
|
|
</form>
|
|
<h4 id="permissions">
|
|
Permissions
|
|
</h4>
|
|
<p>
|
|
Choose the desired
|
|
<a href="https://xmpp.org/extensions/xep-0060.html#accessmodels">
|
|
access models</a>
|
|
of your directories.
|
|
</p>
|
|
<form action="/profile"
|
|
method="post">
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<strong>
|
|
Private
|
|
</strong>
|
|
</td>
|
|
<td>
|
|
<input id="private-authorize"
|
|
{% if access_models['private'] == 'authorize' %}checked=""{% endif %}
|
|
disabled=""
|
|
name="private"
|
|
type="radio"/>
|
|
<label for="private-authorize"
|
|
title="The node owner must approve all
|
|
subscription requests, and only subscribers may retrieve items from the node.">
|
|
Authorize
|
|
</label>
|
|
</td>
|
|
<td>
|
|
<input id="private-whitelist"
|
|
{% if access_models['private'] == 'whitelist' %}checked=""{% endif %}
|
|
disabled=""
|
|
name="private"
|
|
type="radio"/>
|
|
<label for="private-whitelist"
|
|
title="An entity may subscribe or
|
|
retrieve items only if on a whitelist managed by the node owner.">
|
|
Whitelist
|
|
</label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>
|
|
Public
|
|
</strong>
|
|
</td>
|
|
<td>
|
|
<input id="public-open"
|
|
{% if access_models['public'] == 'open' %}checked=""{% endif %}
|
|
disabled=""
|
|
name="public"
|
|
type="radio"/>
|
|
<label for="public-open"
|
|
title="Any entity may subscribe to the
|
|
node (i.e., without the necessity for subscription approval) and any entity may
|
|
retrieve items from the node (i.e., without being subscribed).">
|
|
Open
|
|
</label>
|
|
</td>
|
|
<td>
|
|
<input id="public-presence"
|
|
{% if access_models['public'] == 'presence' %}checked=""{% endif %}
|
|
disabled=""
|
|
name="public"
|
|
type="radio"/>
|
|
<label for="public-presence"
|
|
title="Any entity with a subscription of
|
|
type 'from' or 'both' may subscribe to the node and retrieve items from the
|
|
node; this access model applies mainly to instant messaging systems (see RFC
|
|
3921).">
|
|
Presence
|
|
</label>
|
|
</td>
|
|
<td>
|
|
<input id="public-roster"
|
|
{% if access_models['public'] == 'roster' %}checked=""{% endif %}
|
|
disabled=""
|
|
name="public"
|
|
type="radio"/>
|
|
<label for="public-roster"
|
|
title="Any entity in the specified roster
|
|
group(s) may subscribe to the node and retrieve items from the node; this access
|
|
model applies mainly to instant messaging systems (see RFC 3921).">
|
|
Roster
|
|
</label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>
|
|
Read
|
|
</strong>
|
|
</td>
|
|
<td>
|
|
<input id="read-authorize"
|
|
{% if access_models['read'] == 'authorize' %}checked=""{% endif %}
|
|
disabled=""
|
|
name="read"
|
|
type="radio"/>
|
|
<label for="read-authorize"
|
|
title="The node owner must approve all
|
|
subscription requests, and only subscribers may retrieve items from the node.">
|
|
Authorize
|
|
</label>
|
|
</td>
|
|
<td>
|
|
<input id="read-whitelist"
|
|
{% if access_models['read'] == 'whitelist' %}checked=""{% endif %}
|
|
disabled=""
|
|
name="read"
|
|
type="radio"/>
|
|
<label for="read-whitelist"
|
|
title="An entity may subscribe or
|
|
retrieve items only if on a whitelist managed by the node owner.">
|
|
Whitelist
|
|
</label>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<input class="submit"
|
|
disabled=""
|
|
type="submit"
|
|
value="Save Permissions"/>
|
|
<input class="submit"
|
|
disabled=""
|
|
type="reset"
|
|
value="Reset Permissions"/>
|
|
</form>
|
|
<h4 id="routine">
|
|
Routine
|
|
</h4>
|
|
<p>
|
|
Choose a routine (i.e. default) directory (i.e. node).
|
|
</p>
|
|
<form action="/profile"
|
|
method="post">
|
|
<input id="routine-private"
|
|
{% if routine == 'private' %}checked=""{% endif %}
|
|
name="routine"
|
|
required=""
|
|
type="radio"
|
|
value="private"/>
|
|
<label for="routine-private">
|
|
Private
|
|
</label>
|
|
<input id="routine-public"
|
|
{% if not routine or routine == 'public' %}checked=""{% endif %}
|
|
name="routine"
|
|
type="radio"
|
|
value="public"/>
|
|
<label for="routine-public">
|
|
Public
|
|
</label>
|
|
<input id="routine-read"
|
|
{% if routine == 'read' %}checked=""{% endif %}
|
|
name="routine"
|
|
type="radio"
|
|
value="read"/>
|
|
<label for="routine-read">
|
|
Read
|
|
</label>
|
|
<br/>
|
|
<input class="submit"
|
|
type="submit"
|
|
value="Set Routine Directory"/>
|
|
</form>
|
|
<p class="warning">
|
|
Please <a href="#export">export</a> your bookmarks before
|
|
proceeding.
|
|
</p>
|
|
<hr/>
|
|
<h4 id="termination">Termination</h4>
|
|
<p>
|
|
Due to security concerns, Blasta does not have a built-in
|
|
mechanism to delete nodes.
|
|
</p>
|
|
<p class="warning">
|
|
Warning! The following actions are irreversible and are
|
|
committed at your own risk!
|
|
</p>
|
|
<p>
|
|
If you want to delete your Blasta nodes from your XMPP
|
|
account, you can execute the following commands, using the
|
|
XML Console of <a href="https://gajim.org">Gajim</a>,
|
|
<a href="https://psi-im.org">Psi</a>, or
|
|
<a href="https://psi-plus.com">Psi+</a>.
|
|
</p>
|
|
<h4>Delete your public bookmarks</h4>
|
|
<pre>
|
|
<iq type='set'
|
|
from='{{jabber_id}}'
|
|
to='{{jabber_id}}'
|
|
id='delete1'>
|
|
<pubsub xmlns='http://jabber.org/protocol/pubsub#owner'>
|
|
<delete node='urn:xmpp:bibliography:0'/>
|
|
</pubsub>
|
|
</iq>
|
|
</pre>
|
|
<h4>Delete your private bookmarks</h4>
|
|
<pre>
|
|
<iq type='set'
|
|
from='{{jabber_id}}'
|
|
to='{{jabber_id}}'
|
|
id='delete2'>
|
|
<pubsub xmlns='http://jabber.org/protocol/pubsub#owner'>
|
|
<delete node='xmpp:bibliography:private:0'/>
|
|
</pubsub>
|
|
</iq>
|
|
</pre>
|
|
<h4>Delete your reading list</h4>
|
|
<pre>
|
|
<iq type='set'
|
|
from='{{jabber_id}}'
|
|
to='{{jabber_id}}'
|
|
id='delete3'>
|
|
<pubsub xmlns='http://jabber.org/protocol/pubsub#owner'>
|
|
<delete node='xmpp:bibliography:read:0'/>
|
|
</pubsub>
|
|
</iq>
|
|
</pre>
|
|
<br/>
|
|
<p class="quote bottom">
|
|
“Blasta bookmarks are stored on your own XMPP account.”
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div id="footer" class="row">
|
|
<dl>
|
|
<dd>
|
|
<img src="/graphic/blasta.svg" alt="logo"/>
|
|
<a href="/">blasta</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/help/about">about</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/help/about/xmpp">xmpp</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/help/about/xmpp/pubsub">pubsub</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="{{journal}}">journal</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/help">help</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/help/policy">policy</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/help/feeds">rss</a>
|
|
</dd>
|
|
<dd>
|
|
<a href="/contact">contact</a>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|