mirror of
https://github.com/moparisthebest/wallabag
synced 2024-11-23 17:42:15 -05:00
parent
8413a63f7d
commit
f3e4f109a3
@ -35,7 +35,7 @@ class Poche
|
||||
|
||||
/**
|
||||
* all checks before installation.
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
private function checkBeforeInstall()
|
||||
{
|
||||
@ -47,7 +47,7 @@ class Poche
|
||||
die('You don\'t have write access on cache directory.');
|
||||
}
|
||||
else if (file_exists('./install/update.php') && !DEBUG_POCHE) {
|
||||
$msg = 'A poche update is needed. Please execute this update <a href="install/update.php">by clicking here</a>. If you have already done the update, please delete /install folder.';
|
||||
$msg = 'A poche update is needed. Please execute this update <a href="install/update.php">by clicking here</a>. If you have already do the update, please delete /install folder.';
|
||||
$allIsGood = FALSE;
|
||||
}
|
||||
else if (file_exists('./install') && !DEBUG_POCHE) {
|
||||
@ -59,7 +59,7 @@ class Poche
|
||||
$msg = 'You don\'t have write access on sqlite file.';
|
||||
$allIsGood = FALSE;
|
||||
}
|
||||
|
||||
|
||||
if (!$allIsGood) {
|
||||
echo $this->tpl->render('error.twig', array(
|
||||
'msg' => $msg
|
||||
@ -90,7 +90,7 @@ class Poche
|
||||
$this->tpl->addFilter($filter);
|
||||
}
|
||||
|
||||
private function init()
|
||||
private function init()
|
||||
{
|
||||
Tools::initPhp();
|
||||
Session::init();
|
||||
@ -108,21 +108,21 @@ class Poche
|
||||
$language = $this->user->getConfigValue('language');
|
||||
putenv('LC_ALL=' . $language);
|
||||
setlocale(LC_ALL, $language);
|
||||
bindtextdomain($language, LOCALE);
|
||||
textdomain($language);
|
||||
bindtextdomain($language, LOCALE);
|
||||
textdomain($language);
|
||||
|
||||
# Pagination
|
||||
$this->pagination = new Paginator($this->user->getConfigValue('pager'), 'p');
|
||||
}
|
||||
|
||||
private function install()
|
||||
private function install()
|
||||
{
|
||||
Tools::logm('poche still not installed');
|
||||
echo $this->tpl->render('install.twig', array(
|
||||
'token' => Session::getToken()
|
||||
));
|
||||
if (isset($_GET['install'])) {
|
||||
if (($_POST['password'] == $_POST['password_repeat'])
|
||||
if (($_POST['password'] == $_POST['password_repeat'])
|
||||
&& $_POST['password'] != "" && $_POST['login'] != "") {
|
||||
# let's rock, install poche baby !
|
||||
if ($this->store->install($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login'])))
|
||||
@ -280,8 +280,8 @@ class Poche
|
||||
}
|
||||
|
||||
/**
|
||||
* update the password of the current user.
|
||||
* if MODE_DEMO is TRUE, the password can't be updated.
|
||||
* update the password of the current user.
|
||||
* if MODE_DEMO is TRUE, the password can't be updated.
|
||||
* @todo add the return value
|
||||
* @todo set the new password in function header like this updatePassword($newPassword)
|
||||
* @return boolean
|
||||
@ -350,7 +350,7 @@ class Poche
|
||||
/**
|
||||
* log out the poche user. It cleans the session.
|
||||
* @todo add the return value
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function logout()
|
||||
{
|
||||
@ -403,7 +403,7 @@ class Poche
|
||||
/**
|
||||
* import from Pocket. poche needs a ./ril_export.html file
|
||||
* @todo add the return value
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
private function importFromPocket()
|
||||
{
|
||||
@ -430,7 +430,7 @@ class Poche
|
||||
$this->action('toggle_archive', $url, $last_id, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# the second <ul> is for read links
|
||||
$read = 1;
|
||||
}
|
||||
@ -442,7 +442,7 @@ class Poche
|
||||
/**
|
||||
* import from Readability. poche needs a ./readability file
|
||||
* @todo add the return value
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
private function importFromReadability()
|
||||
{
|
||||
@ -495,7 +495,7 @@ class Poche
|
||||
* import datas into your poche
|
||||
* @param string $from name of the service to import : pocket, instapaper or readability
|
||||
* @todo add the return value
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function import($from)
|
||||
{
|
||||
|
34
install/mysql.sql
Normal file
34
install/mysql.sql
Normal file
@ -0,0 +1,34 @@
|
||||
CREATE TABLE IF NOT EXISTS `config` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`value` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `entries` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(255) NOT NULL,
|
||||
`url` varchar(255) NOT NULL,
|
||||
`is_read` tinyint(1) NOT NULL,
|
||||
`is_fav` tinyint(1) NOT NULL,
|
||||
`content` blob NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(255) NOT NULL,
|
||||
`password` varchar(255) NOT NULL,
|
||||
`name` int(255) NOT NULL,
|
||||
`email` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `users_config` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`value` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
BIN
install/poche.sqlite
Executable file
BIN
install/poche.sqlite
Executable file
Binary file not shown.
30
install/postgres.sql
Normal file
30
install/postgres.sql
Normal file
@ -0,0 +1,30 @@
|
||||
CREATE TABLE config (
|
||||
id bigserial primary key,
|
||||
name varchar(255) NOT NULL,
|
||||
value varchar(255) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE entries (
|
||||
id bigserial primary key,
|
||||
title varchar(255) NOT NULL,
|
||||
url varchar(255) NOT NULL,
|
||||
is_read boolean DEFAULT false,
|
||||
is_fav boolean DEFAULT false,
|
||||
content TEXT,
|
||||
user_id integer NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE users (
|
||||
id bigserial primary key,
|
||||
username varchar(255) NOT NULL,
|
||||
password varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE users_config (
|
||||
id bigserial primary key,
|
||||
user_id integer NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
value varchar(255) NOT NULL
|
||||
);
|
79
install/update.php
Normal file
79
install/update.php
Normal file
@ -0,0 +1,79 @@
|
||||
<?php
|
||||
require_once dirname(__FILE__).'/../inc/poche/Tools.class.php';
|
||||
include dirname(__FILE__).'/../inc/poche/define.inc.php';
|
||||
require_once __DIR__ . '/../inc/poche/Database.class.php';
|
||||
$store = new Database();
|
||||
$old_salt = '464v54gLLw928uz4zUBqkRJeiPY68zCX';
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<!--[if lte IE 6]> <html class="no-js ie6 ie67 ie678" lang="en"> <![endif]-->
|
||||
<!--[if lte IE 7]> <html class="no-js ie7 ie67 ie678" lang="en"> <![endif]-->
|
||||
<!--[if IE 8]> <html class="no-js ie8 ie678" lang="en"> <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>updating poche</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>update poche to 1.0-beta3</h1>
|
||||
|
||||
<h2>Changelog</h2>
|
||||
<p>
|
||||
<ul>
|
||||
<li>this awesome updating step</li>
|
||||
<li>error message when install folder exists</li>
|
||||
<li>more tests before installation (write access, etc.)</li>
|
||||
<li>updated README to make installation easier</li>
|
||||
<li>german language thanks to HLFH</li>
|
||||
<li>spanish language thanks to Nitche</li>
|
||||
<li>new file ./inc/poche/myconfig.inc.php created to store language and salt</li>
|
||||
<li><a href="https://github.com/inthepoche/poche/issues/119">#119</a>: salt is now created when installing poche</li>
|
||||
<li><a href="https://github.com/inthepoche/poche/issues/130">#130</a>: robots.txt added</li>
|
||||
<li><a href="https://github.com/inthepoche/poche/issues/136">#136</a>: error during readability import</li>
|
||||
<li><a href="https://github.com/inthepoche/poche/issues/137">#137</a>: mixed content alert in https</li>
|
||||
<li><a href="https://github.com/inthepoche/poche/issues/138">#138</a>: change pattern to parse url with #</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>To update your poche, please fill the following fields.</p>
|
||||
<p>
|
||||
<form name="update" method="post">
|
||||
<div><label for="login">login:</label> <input type="text" name="login" id="login" /></div>
|
||||
<div><label for="password">password:</label> <input type="password" name="password" id="password" /></div>
|
||||
<div><input type="hidden" name="go" value="ok" /><input type="submit" value="update" /></div>
|
||||
</form>
|
||||
</p>
|
||||
<?php
|
||||
if (isset($_POST['go'])) {
|
||||
if (!empty($_POST['login']) && !empty($_POST['password'])) {
|
||||
$user = $store->login($_POST['login'], sha1($_POST['password'] . $_POST['login'] . $old_salt));
|
||||
if ($user != array()) {
|
||||
$new_salt = md5(time() . $_SERVER['SCRIPT_FILENAME'] . rand());
|
||||
$myconfig_file = '../inc/poche/myconfig.inc.php';
|
||||
if (!is_writable('../inc/poche/')) {
|
||||
die('You don\'t have write access to create ./inc/poche/myconfig.inc.php.');
|
||||
}
|
||||
|
||||
if (!file_exists($myconfig_file))
|
||||
{
|
||||
$fp = fopen($myconfig_file, 'w');
|
||||
|
||||
fwrite($fp, '<?php'."\r\n");
|
||||
fwrite($fp, "define ('POCHE_VERSION', '1.0-beta3');" . "\r\n");
|
||||
fwrite($fp, "define ('SALT', '" . $new_salt . "');" . "\r\n");
|
||||
fwrite($fp, "define ('LANG', 'en_EN.utf8');" . "\r\n");
|
||||
fclose($fp);
|
||||
}
|
||||
# faire une mise à jour de la table users en prenant en compte le nouveau SALT généré
|
||||
$store->updatePassword($user['id'], sha1($_POST['password'] . $_POST['login'] . $new_salt));
|
||||
?>
|
||||
<p><span style="color: green;">your poche is up to date!</span></p>
|
||||
<p><span style="color: red;">don't forget to delete ./install/ folder after the update.</span></p>
|
||||
<p><a href="../">go back to your poche</a></p>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
72
install/update_sqlite_from_0_to_1.php
Normal file
72
install/update_sqlite_from_0_to_1.php
Normal file
@ -0,0 +1,72 @@
|
||||
<?php
|
||||
# import script to upgrade from poche 0.3
|
||||
$db_path = 'sqlite:../db/poche.sqlite';
|
||||
$handle = new PDO($db_path);
|
||||
$handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
# Requêtes à exécuter pour mettre à jour poche.sqlite en 1.x
|
||||
|
||||
# ajout d'un champ user_id sur la table entries
|
||||
$sql = 'ALTER TABLE entries RENAME TO tempEntries;';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
$sql = 'CREATE TABLE entries (id INTEGER PRIMARY KEY, title TEXT, url TEXT, is_read NUMERIC DEFAULT 0, is_fav NUMERIC DEFAULT 0, content BLOB, user_id NUMERIC);';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
$sql = 'INSERT INTO entries (id, title, url, is_read, is_fav, content) SELECT id, title, url, is_read, is_fav, content FROM tempEntries;';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
# Update tout pour mettre user_id = 1
|
||||
$sql = 'UPDATE entries SET user_id = 1;';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
# Changement des flags pour les lus / favoris
|
||||
$sql = 'UPDATE entries SET is_read = 1 WHERE is_read = -1;';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
$sql = 'UPDATE entries SET is_fav = 1 WHERE is_fav = -1;';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
# Création de la table users
|
||||
$sql = 'CREATE TABLE users (id INTEGER PRIMARY KEY, username TEXT, password TEXT, name TEXT, email TEXT);';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
$sql = 'INSERT INTO users (username) SELECT value FROM config WHERE name = "login";';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
$sql = "UPDATE users SET password = (SELECT value FROM config WHERE name = 'password')";
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
# Création de la table users_config
|
||||
$sql = 'CREATE TABLE users_config (id INTEGER PRIMARY KEY, user_id NUMERIC, name TEXT, value TEXT);';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
$sql = 'INSERT INTO users_config (user_id, name, value) VALUES (1, "pager", "10");';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
$sql = 'INSERT INTO users_config (user_id, name, value) VALUES (1, "language", "en_EN.UTF8");';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
# Suppression de la table temporaire
|
||||
$sql = 'DROP TABLE tempEntries;';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
# Vidage de la table de config
|
||||
$sql = 'DELETE FROM config;';
|
||||
$query = $handle->prepare($sql);
|
||||
$query->execute();
|
||||
|
||||
echo 'welcome to poche 1.0 !';
|
@ -14,14 +14,15 @@
|
||||
<h2>{% trans "Bookmarklet" %}</h2>
|
||||
<p>{% trans "Thanks to the bookmarklet, you will be able to easily add a link to your poche." %} {% trans "Have a look to this documentation:" %} <a href="http://inthepoche.com/?pages/Documentation">inthepoche.com</a>.</p>
|
||||
<p>{% trans "Drag & drop this link to your bookmarks bar and have fun with poche." %}</p>
|
||||
<p class="txtcenter"><a ondragend="this.click();" style="cursor: move; border: 1px dashed grey; background: white; padding: 5px;" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@inthepoche.com']){top['bookmarklet-url@inthepoche.com'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "poche it!" %}</a></p>
|
||||
<p class="txtcenter"><a ondragend="this.click();" style="cursor: move; border: 1px dashed grey; background: white; padding: 5px;" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@inthepoche.com']){top['bookmarklet-url@inthepoche.com'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "poche it!" %}</a></p>
|
||||
|
||||
<h2>{% trans "Updating poche" %}</h2>
|
||||
<ul>
|
||||
<p><ul>
|
||||
<li>{% trans "your version" %} : <strong>{{ constant('POCHE_VERSION') }}</strong></li>
|
||||
<li>{% trans "latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://inthepoche.com/?pages/T%C3%A9l%C3%A9charger-poche">{% trans "a more recent stable version is available." %}</a></strong>{% else %}{% trans "you are up to date." %}{% endif %}</li>
|
||||
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://inthepoche.com/?pages/T%C3%A9l%C3%A9charger-poche">{% trans "a more recent development version is available." %}</a></strong>{% else %}{% trans "you are up to date." %}{% endif %}</li>{% endif %}
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h2>{% trans "Change your password" %}</h2>
|
||||
<form method="post" action="?config" name="loginform">
|
||||
@ -45,11 +46,11 @@
|
||||
<h2>{% trans "Import" %}</h2>
|
||||
<p>{% trans "Please execute the import script locally, it can take a very long time." %}</p>
|
||||
<p>{% trans "More infos in the official doc:" %} <a href="http://inthepoche.com/?pages/Documentation">inthepoche.com</a></p>
|
||||
<ul>
|
||||
<li><a href="./?import&from=pocket">{% trans "import from Pocket" %}</a> (you must have a "ril_export.html" file on your server)</li>
|
||||
<li><a href="./?import&from=readability">{% trans "import from Readability" %}</a> (you must have a "readability" file on your server)</li>
|
||||
<li><a href="./?import&from=instapaper">{% trans "import from Instapaper" %}</a> (you must have a "instapaper-export.html" file on your server)</li>
|
||||
</ul>
|
||||
<p><ul>
|
||||
<li><a href="./?import&from=pocket">{% trans "import from Pocket" %}</a> (you must have a "ril_export.html" file on your server)</li>
|
||||
<li><a href="./?import&from=readability">{% trans "import from Readability" %}</a> (you must have a "readability" file on your server)</li>
|
||||
<li><a href="./?import&from=instapaper">{% trans "import from Instapaper" %}</a> (you must have a "instapaper-export.html" file on your server)</li>
|
||||
</ul></p>
|
||||
|
||||
<h2>{% trans "Export your poche datas" %}</h2>
|
||||
<p><a href="./?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your poche datas." %}</p>
|
||||
|
@ -5,19 +5,19 @@
|
||||
{% endblock %}
|
||||
{% block precontent %}
|
||||
<ul id="sort">
|
||||
<li><a href="./?sort=ia&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li>
|
||||
<li><a href="./?sort=ta&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li>
|
||||
<li><a href="./?sort=ia&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li>
|
||||
<li><a href="./?sort=ta&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
{{ page_links | raw }}
|
||||
{% for entry in entries %}
|
||||
<div id="entry-{{ entry.id|e }}" class="entrie">
|
||||
<h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
|
||||
<h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
|
||||
<ul class="tools">
|
||||
<li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
<li class="reading-time">{{ entry.content| getReadingTime }} min</li>
|
||||
</ul>
|
||||
<p>{{ entry.content|striptags|slice(0, 300) }}...</p>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="en"><![endif]-->
|
||||
<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="en"><![endif]-->
|
||||
<!--[if IE 8]><html class="no-js ie8 ie678" lang="en"><![endif]-->
|
||||
<!--[if gt IE 8]><html class="no-js" lang="en"><![endif]-->
|
||||
<!--[if lte IE 6]> <html class="no-js ie6 ie67 ie678" lang="en"> <![endif]-->
|
||||
<!--[if lte IE 7]> <html class="no-js ie7 ie67 ie678" lang="en"> <![endif]-->
|
||||
<!--[if IE 8]> <html class="no-js ie8 ie678" lang="en"> <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="initial-scale=1.0">
|
||||
|
@ -5,32 +5,32 @@
|
||||
<div class="tools">
|
||||
<ul class="tools">
|
||||
<li><a href="./" title="{% trans "back to home" %}" class="tool back"><span>{% trans "back to home" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
|
||||
<li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title}}%20{{ entry.url|e }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|e }}&body={{ entry.url|e }} via @getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<header class="mbm">
|
||||
<h1>{{ entry.title|raw }}</h1>
|
||||
<div class="vieworiginal txtright small"><a href="{{ entry.url|url_encode }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
|
||||
<div class="vieworiginal txtright small"><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
|
||||
</header>
|
||||
<article>
|
||||
{{ content | raw }}
|
||||
<div class="vieworiginal txtright small"><a href="{{ entry.url|url_encode }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
|
||||
<div class="vieworiginal txtright small"><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
|
||||
</article>
|
||||
<div class="tools">
|
||||
<ul class="tools">
|
||||
<li><a href="./?" title="{% trans "back to home" %}" class="tool back"><span>{% trans "back to home" %}</span></a></li>
|
||||
<li><a href="#top" title="{% trans "back to top" %}" class="tool top"><span>{% trans "back to top" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
|
||||
<li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title}}%20{{ entry.url|e }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|e }}&body={{ entry.url|e }} via @getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
|
||||
</ul>
|
||||
<p>{% trans "this article appears wrong?" %} <a href="https://github.com/inthepoche/poche/issues/new">{% trans "create an issue" %}</a> {% trans "or" %} <a href="mailto:support@inthepoche.com?subject=Wrong%20display%20in%20poche&body={{ entry.url|url_encode }}">{% trans "contact us by mail" %}</a></p>
|
||||
<p>{% trans "this article appears wrong?" %} <a href="https://github.com/inthepoche/poche/issues/new">{% trans "create an issue" %}</a> {% trans "or" %} <a href="mailto:support@inthepoche.com?subject=Wrong display in poche&body={{ entry.url|e }}">{% trans "contact us by mail" %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user