Compare commits

...

92 Commits

Author SHA1 Message Date
6b60741600 alternative random function to fix #1082 2015-02-16 00:43:18 +01:00
d523c99399 Delete en_EN language (GB and US are available) 2015-02-15 21:17:50 +01:00
313355cdca updated Windows app link 2015-02-15 21:14:54 +01:00
0a749cff88 1.9.0 version 2015-02-14 16:27:59 +01:00
c35753dd3e support GB english 2015-02-14 16:23:39 +01:00
8df902951b update improvements 2015-02-14 16:15:17 +01:00
650928831b PR #988 done 2015-02-14 15:22:20 +01:00
50b752c21e set registration to false 2015-02-14 15:12:56 +01:00
054c9d8838 (definitely) fixed utf8mb4 and check if user already exists in database before installing first user 2015-02-14 15:12:02 +01:00
7780b8cb37 Merge pull request #1021 from wallabag/register
working on registration support
2015-02-14 13:46:05 +01:00
952faeeb31 forgot this file 2015-02-14 12:36:00 +01:00
698eda739e mainly css improvements 2015-02-14 12:35:22 +01:00
f2321633b9 couple improvements, translations 2015-02-13 19:39:48 +01:00
0eae6d14b8 Merge branch 'dev' into register 2015-02-13 19:15:31 +01:00
dc6ec98758 just a reminder 2015-02-13 19:14:56 +01:00
31556b05d0 Merge pull request #1022 from wallabag/sendmailatregistration
Send email at registration
2015-02-13 19:13:01 +01:00
6cb5e1c9f5 improvements to internal registration and translations 2015-02-13 19:10:22 +01:00
57068585c0 Merge branch 'dev' into sendmailatregistration 2015-02-13 17:14:08 +01:00
af13787e74 fix #1078 2015-02-13 17:13:11 +01:00
d7d88631e1 Merge pull request #1015 from wallabag/savewithtags
Savewithtags
2015-02-10 22:23:48 +01:00
9fdd88436d fixed bug 2015-02-10 22:21:42 +01:00
1394c0bd64 great improvements to tagging when saving a link system <3 2015-02-10 02:28:53 +01:00
2e4e94a7a4 Merge branch 'dev' into savewithtags 2015-02-10 01:28:24 +01:00
28c42eb1d8 Merge pull request #1053 from erixtekila/dev
Fix fetched entries when localized
2015-02-10 01:23:30 +01:00
cefdc12380 changed description text place in about screen 2015-02-10 01:16:50 +01:00
11ef4de52d added a final screen 2015-02-10 01:14:28 +01:00
8d7ec54658 improvements for the installer 2015-02-10 00:32:38 +01:00
b65d65be31 Merge pull request #1067 from vpmalley/dev
added site config for github gists, jungle-world.com and toolinux.com
2015-02-09 11:41:18 +01:00
3250b6a7a7 fixing display of jungle-world article (issue # 1034) 2015-02-08 18:46:49 -05:00
c76211de3f adding site config for toolinux.com 2015-02-08 17:21:29 -05:00
7f31a3ed24 fixing gist parsing 2015-02-08 15:58:24 -05:00
d0ea3544ca add evernote icon 2015-02-05 17:04:14 +01:00
fde4cf0616 Fix fetched entries when localized 2015-02-05 14:19:03 +01:00
5e26c91024 renamed wallabag_compatibility_test since it doesn't do that anymore 2015-02-05 00:05:43 +01:00
571b99e804 added evernote support 2015-02-04 23:50:33 +01:00
1c91178932 fix autoclose (#984) and bookmarklet mode 2015-02-04 23:37:37 +01:00
3fb0d44a67 Merge branch 'dev' of github.com:wallabag/wallabag into dev 2015-02-04 22:18:28 +01:00
976d6935ed fix UTF8MB4 problems, make an option, add info and also change documentation links 2015-02-04 22:18:13 +01:00
96861c5db9 Merge pull request #1042 from edent/en-gb
Added en-GB
2015-02-02 16:57:07 +01:00
96a3707895 Added en-GB translation
Added a translation for British English.

This also tidies up some of the language issues - as well as spelling "favourite" correctly ;-)
2015-02-02 15:37:08 +00:00
23423f8d69 fixed random on default theme 2015-02-01 12:27:34 +01:00
8f209e8a26 Merge branch 'dev' into savewithtags 2015-02-01 12:23:30 +01:00
fae15c9f84 Merge pull request #968 from wallabag/reloadarticle
added reload function
2015-02-01 12:22:35 +01:00
89637c2a1d added reload icon and fixed a bug where random could redirect to deleted articles 2015-02-01 12:22:14 +01:00
d4b6e20e2f merge 2015-02-01 12:05:10 +01:00
3831c1525c Merge pull request #964 from wallabag/randomarticle
implemented random button
2015-02-01 12:01:39 +01:00
522841c77e added some icomoon fonts (lots \!) and integrated random button for now 2015-02-01 12:01:04 +01:00
c416cab8c9 Merge branch 'dev' into randomarticle 2015-02-01 11:33:41 +01:00
b05f482dd2 Merge branch 'dev' into reloadarticle 2015-02-01 11:27:10 +01:00
bc6f5a8086 Merge pull request #1026 from wallabag/checkpdo
New installation process
2015-02-01 00:44:40 +01:00
9834d87e97 final adjustments 2015-02-01 00:44:13 +01:00
89e8812494 merge 2015-01-31 23:50:40 +01:00
dd0d7ad9a1 add informations on databases systems 2015-01-31 23:44:20 +01:00
22f19b23a6 view improvements & check if at least one pdo driver is available 2015-01-31 23:35:45 +01:00
8880d88b4e Merge pull request #1031 from jlnostr/dev
Update german localisation.
2015-01-27 19:33:16 +01:00
f8100e0d05 Update german localisation. 2015-01-27 18:05:44 +01:00
364953ede5 Merge pull request #1030 from wallabag/revert-1028-master
Revert "Update german localisation."
2015-01-27 01:00:22 +01:00
a1d6e03407 Revert "Update german localisation." 2015-01-27 00:59:38 +01:00
4fd0b5d886 Merge pull request #1028 from jlnostr/master
Update german localisation.
2015-01-27 00:59:31 +01:00
ca056e7fd1 changes for 1026 for PDO exceptions 2015-01-27 00:41:25 +01:00
40377add14 Forgot to update the .mo file. Fixed. 2015-01-26 21:33:29 +01:00
0bb1f5c5c2 Update german localisation. 2015-01-26 21:14:26 +01:00
3829c54bc5 fix for special caracters in .mobi filenames 2015-01-26 17:44:52 +01:00
42ac69337f fix for spaces in .mobi filenames 2015-01-26 00:16:14 +01:00
369e00e60b add a information message to fill all the fields 2015-01-25 22:56:11 +01:00
c1e90b9e8f some improvements 2015-01-25 22:42:31 +01:00
444f140639 wow. Many changes to installation script. Much easier. 2015-01-25 17:43:58 +01:00
1be071f9f0 fix syntax errors 2015-01-24 15:43:45 +01:00
3e1daa4c90 allow to send confirmation emails when creating a new user 2015-01-24 15:09:18 +01:00
e25972f830 Merge branch 'dev' of github.com:wallabag/wallabag into dev 2015-01-24 14:35:36 +01:00
a3a9e75e62 correct a bug when email was not sended when creating a new user 2015-01-24 14:35:03 +01:00
1fbef3bfb5 resetting debug to false 2015-01-24 12:54:58 +01:00
121691e900 working on registration support 2015-01-23 16:34:56 +01:00
0d36d2af95 Merge pull request #1019 from wallabag/revert-1018-fix-share-email-body-dev
Revert "URL encode 'via @wallabagapp' email body"
2015-01-22 06:17:41 +01:00
e56ef77464 Revert "URL encode 'via @wallabagapp' email body" 2015-01-22 06:17:33 +01:00
4c76ad6edf Merge pull request #1018 from shtrom/fix-share-email-body-dev
URL encode 'via @wallabagapp' email body
2015-01-22 00:52:56 +01:00
64364606dd URL encode 'via @wallabagapp' email body
Signed-off-by: Olivier Mehani <olivier.mehani@nicta.com.au>
2015-01-22 10:36:21 +11:00
308fca6b78 forgotted default theme 2015-01-21 23:08:04 +01:00
14d98f0611 can add tags from the saving link popup 2015-01-21 23:04:35 +01:00
cdde19d609 Merge pull request #1013 from wallabag/importtags
Importtags
2015-01-20 00:07:57 +01:00
9a490ad63a from spaces to commas 2015-01-20 00:02:21 +01:00
fa921eac00 Merge branch 'kaffeeringe-patch-1' into dev 2015-01-19 23:32:01 +01:00
1cedeb681f (kind of) fix for #1011 and little corrections for PDF export 2015-01-19 23:19:09 +01:00
3052cfb7ca Add Tags on Import
I fixed it! And it works for me. 

But: I am not too good with programming. So better check the code ;-)
2015-01-18 21:49:05 +01:00
5537bb3216 remove autoload section in composer.json 2015-01-16 21:09:22 +01:00
b6ab520058 Merge pull request #1004 from wallabag/packagist
Fixed #993: add wallabag to packagist
2015-01-16 20:36:03 +01:00
4cc328edf0 Fixed #993: add wallabag to packagist 2015-01-16 20:35:25 +01:00
e51487f932 implemented ?random url 2014-12-22 16:19:29 +01:00
f3917b1ee4 Merge branch 'dev' into randomarticle 2014-12-22 14:33:01 +01:00
3dcd85c075 merge 2014-12-19 21:08:44 +01:00
44b95cb81d added reload function 2014-12-13 22:56:30 +01:00
311baf86be implemented random button 2014-12-07 23:36:35 +01:00
50 changed files with 1648 additions and 1249 deletions

View File

@ -2926,12 +2926,18 @@ class TCPDF {
*/
public function Error($msg) {
// unset all class variables
$this->_destroy(true);
throw new Exception('TCPDF ERROR: '.$msg);
/*
I had problems with the constants for some reason, so here we force
$this->_destroy(true);
if (defined('K_TCPDF_THROW_EXCEPTION_ERROR') AND !K_TCPDF_THROW_EXCEPTION_ERROR) {
die('<strong>TCPDF ERROR: </strong>'.$msg);
} else {
throw new Exception('TCPDF ERROR: '.$msg);
}
}*/
}
/**
@ -6915,7 +6921,7 @@ class TCPDF {
$ph = $this->getHTMLUnitToUnits($h, 0, $this->pdfunit, true) * $this->imgscale * $this->k;
$imsize = array($pw, $ph);
} else {
$this->Error('[Image] Unable to get the size of the image: '.$file);
$this->Error('[Image] Unable to fetch image: '.$file);
}
}
// file hash

View File

@ -1,6 +1,4 @@
body: //div[@class="highlight"]/pre
prune: no
tidy: no
test_url: https://gist.github.com/1258908
title: //div[contains(@class,'gist-description')]
body: //div[contains(@class,'blob-wrapper')]
test_url: https://gist.github.com/staltz/868e7e9bc2a7b8c1f754

View File

@ -0,0 +1,3 @@
title: //h1
body: //div[contains(@class,'story')]
test_url: http://jungle-world.com/artikel/2015/02/51207.html

View File

@ -0,0 +1,5 @@
title: //h2[contains(@class,'news')]
body: //div[contains(@class,'articleContent')]
date: substring-after(//div[@class = 'SupaDate']/text(), 'le')
test_url: http://www.toolinux.com/Wi-Fi-Linksys-WRT-la-legende-de

View File

@ -31,10 +31,15 @@ class Database {
$this->handle = new PDO($db_path);
break;
case 'mysql':
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
));
if (MYSQL_USE_UTF8MB4) {
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
));
} else {
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD);
}
break;
case 'postgres':
$db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
@ -293,7 +298,7 @@ class Database {
$sql_limit = "LIMIT ".$limit." OFFSET 0";
}
$sql = "SELECT * FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=? ORDER BY id " . $sql_limit;
$sql = "SELECT * FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE '%Import%' AND user_id=? ORDER BY id " . $sql_limit;
$query = $this->executeQuery($sql, array($user_id));
$entries = $query->fetchAll();
@ -302,7 +307,7 @@ class Database {
public function retrieveUnfetchedEntriesCount($user_id)
{
$sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=?";
$sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE '%Import%' AND user_id=?";
$query = $this->executeQuery($sql, array($user_id));
list($count) = $query->fetch();
@ -406,6 +411,14 @@ class Database {
return $count;
}
public function getRandomId($row, $user_id) {
$sql = "SELECT id FROM entries WHERE user_id=? LIMIT 1 OFFSET ? ";
$params = array($user_id, $row);
$query = $this->executeQuery($sql, $params);
return $query->fetchAll();
}
public function updateContent($id, $content, $user_id)
{

View File

@ -17,7 +17,7 @@ class Language
private $languageNames = array(
'cs_CZ.utf8' => 'čeština',
'de_DE.utf8' => 'German',
'en_EN.utf8' => 'English',
'en_GB.utf8' => 'English (GB)',
'en_US.utf8' => 'English (US)',
'es_ES.utf8' => 'Español',
'fa_IR.utf8' => 'فارسی',

View File

@ -74,16 +74,57 @@ class Poche
/**
* Creates a new user
*/
public function createNewUser($username, $password, $email = "")
public function createNewUser($username, $password, $email = "", $internalRegistration = false)
{
Tools::logm('Trying to create a new user...');
if (!empty($username) && !empty($password)){
$newUsername = filter_var($username, FILTER_SANITIZE_STRING);
$email = filter_var($email, FILTER_SANITIZE_STRING);
if (!$this->store->userExists($newUsername)){
if ($this->store->install($newUsername, Tools::encodeString($password . $newUsername), $email)) {
Tools::logm('The new user ' . $newUsername . ' has been installed');
if ($email != "") { // if email is filled
if (SEND_CONFIRMATION_EMAIL && function_exists('mail')) {
// if internal registration from config screen
$body_internal = _('Hi,') . "\r\n\r\n" . sprintf(_('Someone just created a wallabag account for you on %1$s.'), Tools::getPocheUrl()) .
"\r\n\r\n" . sprintf(_('Your login is %1$s.'), $newUsername) ."\r\n\r\n" .
_('Note : The password has been chosen by the person who created your account. Get in touch with that person to know your password and change it as soon as possible') . "\r\n\r\n" .
_('Have fun with it !') . "\r\n\r\n" .
_('This is an automatically generated message, no one will answer if you respond to it.');
// if external (public) registration
$body = sprintf(_('Hi, %1$s'), $newUsername) . "\r\n\r\n" .
sprintf(_('You\'ve just created a wallabag account on %1$s.'), Tools::getPocheUrl()) .
"\r\n\r\n" . _("Have fun with it !");
$body = $internalRegistration ? $body_internal : $body;
$body = wordwrap($body, 70, "\r\n"); // cut lines with more than 70 caracters (MIME standard)
if (mail($email, sprintf(_('Your new wallabag account on %1$s'), Tools::getPocheUrl()), $body,
'X-Mailer: PHP/' . phpversion() . "\r\n" .
'Content-type: text/plain; charset=UTF-8' . "\r\n" .
"From: " . $newUsername . "@" . gethostname() . "\r\n")) {
Tools::logm('The user ' . $newUsername . ' has been emailed');
$this->messages->add('i', sprintf(_('The new user %1$s has been sent an email at %2$s. You may have to check spam folder.'), $newUsername, $email));
Tools::redirect('?');
} else {
Tools::logm('A problem has been encountered while sending an email');
$this->messages->add('e', _('A problem has been encountered while sending an email'));
}
} else {
Tools::logm('The user has been created, but the server did not authorize sending emails');
$this->messages->add('i', _('The server did not authorize sending a confirmation email, but the user was created.'));
}
} else {
Tools::logm('The user has been created, but no email was saved, so no confimation email was sent');
$this->messages->add('i', _('The user was created, but no email was sent because email was not filled in'));
}
Tools::logm('The new user ' . $newUsername . ' has been installed');
if (\Session::isLogged()) {
$this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername));
Tools::redirect();
}
Tools::redirect();
}
else {
Tools::logm('error during adding new user');
@ -96,6 +137,9 @@ class Poche
Tools::redirect();
}
}
else {
Tools::logm('Password or username were empty');
}
}
/**
@ -195,10 +239,11 @@ class Poche
}
if ($autoclose == TRUE) {
Tools::redirect('?view=home');
Tools::redirect('?view=home&closewin=true');
} else {
Tools::redirect('?view=home&closewin=true');
Tools::redirect('?view=home');
}
return $last_id;
break;
case 'delete':
if (isset($_GET['search'])) {
@ -336,6 +381,26 @@ class Poche
$this->messages->add('s', _('The tag has been successfully deleted'));
Tools::redirect();
break;
case 'reload_article' :
Tools::logm('reload article');
$id = $_GET['id'];
$entry = $this->store->retrieveOneById($id, $this->user->getId());
Tools::logm('reload url ' . $entry['url']);
$url = new Url(base64_encode($entry['url']));
$this->action('add', $url);
break;
/* For some unknown reason I can't get displayView() to work here (it redirects to home view afterwards). So here's a dirty fix which redirects directly to URL */
case 'random':
$count = $this->store->getEntriesByViewCount($view, $this->user->getId());
$id_query = $this->store->getRandomId(rand(1,$count)-1, $this->user->getId());
$id = $id_query[0];
Tools::logm('get a random article');
Tools::redirect('?view=view&id=' . $id[0]);
//$this->displayView('view', $id);
break;
default:
break;
}
@ -663,7 +728,18 @@ class Poche
$urlsInserted[] = $url; //add
if (isset($record['tags']) && trim($record['tags'])) {
// @TODO: set tags
$tags = explode(',', $record['tags']);
foreach($tags as $tag) {
$entry_id = $id;
$tag_id = $this->store->retrieveTagByValue($tag);
if ($tag_id) {
$this->store->setTagToEntry($tag_id['id'], $entry_id);
} else {
$this->store->createTag($tag);
$tag_id = $this->store->retrieveTagByValue($tag);
$this->store->setTagToEntry($tag_id['id'], $entry_id);
}
}
}
}
@ -707,17 +783,23 @@ class Poche
$purifier = $this->_getPurifier();
foreach($items as $item) {
$url = new Url(base64_encode($item['url']));
Tools::logm('Fetching article ' . $item['id']);
$content = Tools::getPageContent($url);
$title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled'));
$body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined'));
if( $url->isCorrect() )
{
Tools::logm('Fetching article ' . $item['id']);
$content = Tools::getPageContent($url);
$title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled'));
$body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined'));
// clean content to prevent xss attack
// clean content to prevent xss attack
$title = $purifier->purify($title);
$body = $purifier->purify($body);
$this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId());
Tools::logm('Article ' . $item['id'] . ' updated.');
$title = $purifier->purify($title);
$body = $purifier->purify($body);
$this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId());
Tools::logm('Article ' . $item['id'] . ' updated.');
} else
{
Tools::logm('Unvalid URL (' . $item['url'] .') to fetch for article ' . $item['id']);
}
}
}
}

View File

@ -33,6 +33,7 @@ class Routing
$this->view = Tools::checkVar('view', 'home');
$this->action = Tools::checkVar('action');
$this->id = Tools::checkVar('id');
$this->autoclose = Tools::checkVar('autoclose',FALSE);
$_SESSION['sort'] = Tools::checkVar('sort', 'id');
$this->url = new Url((isset ($_GET['url'])) ? $_GET['url'] : '');
}
@ -64,9 +65,15 @@ class Routing
$tplVars = array();
if (\Session::isLogged()) {
$this->wallabag->action($this->action, $this->url, $this->id);
$this->wallabag->action($this->action, $this->url, $this->id, FALSE, $this->autoclose);
$tplFile = Tools::getTplFile($this->view);
$tplVars = array_merge($this->vars, $this->wallabag->displayView($this->view, $this->id));
} elseif(ALLOW_REGISTER && isset($_GET['registerform'])) {
Tools::logm('register');
$tplFile = Tools::getTplFile('register');
} elseif (ALLOW_REGISTER && isset($_GET['register'])){
$this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail']);
Tools::redirect();
} elseif(isset($_SERVER['PHP_AUTH_USER'])) {
if($this->wallabag->store->userExists($_SERVER['PHP_AUTH_USER'])) {
$this->wallabag->login($this->referer);
@ -104,7 +111,9 @@ class Routing
$tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0);
$limit = (isset($_GET['limit']) ? intval($_GET['limit']) : 0);
$this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type'], $limit);
}
} //elseif (ALLOW_REGISTER && isset($_GET['register'])) {
//$this->wallabag->register
//}
//allowed ONLY to logged in user
if (\Session::isLogged() === true)
@ -116,7 +125,7 @@ class Routing
// update password
$this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']);
} elseif (isset($_GET['newuser'])) {
$this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser']);
$this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail'], true);
} elseif (isset($_GET['deluser'])) {
$this->wallabag->deleteUser($_POST['password4deletinguser']);
} elseif (isset($_GET['epub'])) {

View File

@ -117,7 +117,7 @@ final class Tools
{
$views = array(
'install', 'import', 'export', 'config', 'tags',
'edit-tags', 'view', 'login', 'error', 'about'
'edit-tags', 'view', 'login', 'error', 'about', 'register'
);
return (in_array($view, $views) ? $view . '.twig' : 'home.twig');

View File

@ -33,7 +33,7 @@ class WallabagEBooks
$entry = $this->wallabag->store->retrieveOneById($entryID, $this->wallabag->user->getId());
$this->entries = array($entry);
$this->bookTitle = $entry['title'];
$this->bookFileName = substr($this->bookTitle, 0, 200);
$this->bookFileName = str_replace('/', '_', substr($this->bookTitle, 0, 200));
$this->author = preg_replace('#^w{3}.#', '', Tools::getdomain($entry["url"])); # if only one article, set author to domain name (we strip the eventual www part)
Tools::logm('Producing ebook from article ' . $this->bookTitle);
break;
@ -81,6 +81,9 @@ class WallabagEpub extends WallabagEBooks
public function produceEpub()
{
Tools::logm('Starting to produce ePub 3 file');
try {
$content_start =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
. "<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:epub=\"http://www.idpf.org/2007/ops\">\n"
@ -155,6 +158,11 @@ class WallabagEpub extends WallabagEBooks
$book->finalize();
$zipData = $book->sendBook($this->bookFileName);
Tools::logm('Ebook produced');
}
catch (Exception $e) {
Tools::logm('PHPePub has encountered an error : '.$e->getMessage());
$this->wallabag->messages->add('e', $e->getMessage());
}
}
}
@ -167,7 +175,7 @@ class WallabagMobi extends WallabagEBooks
public function produceMobi()
{
try {
Tools::logm('Starting to produce Mobi file');
$mobi = new MOBI();
$content = new MOBIFile();
@ -194,9 +202,17 @@ class WallabagMobi extends WallabagEBooks
}
$mobi->setContentProvider($content);
// the browser inside Kindle Devices doesn't likes special caracters either, we limit to A-z/0-9
$this->bookFileName = preg_replace('/[^A-Za-z0-9\-]/', '', $this->bookFileName);
// we offer file to download
$mobi->download($this->bookFileName.'.mobi');
Tools::logm('Mobi file produced');
}
catch (Exception $e) {
Tools::logm('PHPMobi has encountered an error : '.$e->getMessage());
$this->wallabag->messages->add('e', $e->getMessage());
}
}
}
@ -206,15 +222,16 @@ class WallabagPDF extends WallabagEbooks
{
Tools::logm('Starting to produce PDF file');
@define ('K_TCPDF_THROW_EXCEPTION_ERROR', TRUE);
try {
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
Tools::logm('Filling metadata for PDF...');
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('');
$pdf->SetAuthor('wallabag');
$pdf->SetTitle($this->bookTitle);
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->SetSubject('Articles via wallabag');
$pdf->SetKeywords('wallabag');
Tools::logm('Adding introduction...');
$pdf->AddPage();
@ -229,18 +246,26 @@ class WallabagPDF extends WallabagEbooks
$i = 1;
Tools::logm('Adding actual content...');
foreach ($this->entries as $item) {
$tags = $this->wallabag->store->retrieveTagsByEntry($entry['id']);
foreach ($tags as $tag) {
$pdf->SetKeywords($tag['value']);
}
$pdf->AddPage();
$html = '<h1>' . $item['title'] . '</h1>';
$html .= $item['content'];
$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
$i = $i+1;
}
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->Output($this->bookFileName . '.pdf', 'FD');
}
catch (Exception $e) {
Tools::logm('TCPDF has encountered an error : '.$e->getMessage());
$this->wallabag->messages->add('e', $e->getMessage());
}
}
}

View File

@ -20,6 +20,7 @@
@define ('STORAGE_DB', 'poche');
@define ('STORAGE_USER', 'poche');
@define ('STORAGE_PASSWORD', 'poche');
@define ('MYSQL_USE_UTF8MB4', FALSE); // This should be false unless you know what it is
#################################################################################
# Do not trespass unless you know what you are doing
@ -44,6 +45,7 @@
@define ('SHARE_MAIL', TRUE);
@define ('SHARE_SHAARLI', FALSE);
@define ('SHAARLI_URL', 'http://myshaarliurl.com');
@define ('SHARE_EVERNOTE', FALSE);
@define ('SHARE_DIASPORA', FALSE);
@define ('DIASPORA_URL', 'http://diasporapod.com'); # Don't add a / at the end
@define ('FLATTR', TRUE);
@ -58,10 +60,15 @@
@define ('MOBI', FALSE);
@define ('PDF', FALSE);
// registration
@define ('ALLOW_REGISTER', FALSE);
@define ('SEND_CONFIRMATION_EMAIL', FALSE);
// display or not print link in article view
@define ('SHOW_PRINTLINK', '1');
// display or not percent of read in article view. Affects only default theme.
@define ('SHOW_READPERCENT', '1');
@define ('RELOAD_ARTICLE', TRUE);
@define ('ABS_PATH', 'assets/');
@define ('DEFAULT_THEME', 'baggy');

View File

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT see COPYING file
*/
define ('POCHE', '1.8.1');
define ('POCHE', '1.9.0');
require 'check_essentials.php';
require 'check_setup.php';
require_once 'inc/poche/global.inc.php';

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,111 @@
<?php
/**
* wallabag, self hostable application allowing you to not miss any content anymore
*
* @category wallabag
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
* @copyright 2013
* @license http://opensource.org/licenses/MIT see COPYING file
*/
function status() {
$app_name = 'wallabag';
$php_ok = (function_exists('version_compare') && version_compare(phpversion(), '5.3.3', '>='));
$pdo_ok = class_exists('PDO');
$pcre_ok = extension_loaded('pcre');
$zlib_ok = extension_loaded('zlib');
$mbstring_ok = extension_loaded('mbstring');
$dom_ok = extension_loaded('DOM');
$iconv_ok = extension_loaded('iconv');
$tidy_ok = function_exists('tidy_parse_string');
$curl_ok = function_exists('curl_exec');
$parse_ini_ok = function_exists('parse_ini_file');
$parallel_ok = ((extension_loaded('http') && class_exists('HttpRequestPool')) || ($curl_ok && function_exists('curl_multi_init')));
$allow_url_fopen_ok = (bool)ini_get('allow_url_fopen');
$filter_ok = extension_loaded('filter');
$gettext_ok = function_exists("gettext");
$gd_ok = extension_loaded('gd');
$pdo_drivers = pdoDrivers();
$pdo_drivers_passing = $pdo_drivers['sqlite'] || $pdo_drivers['mysql'] || $pdo_drivers['postgres'];
$urlfetching = $curl_ok || $allow_url_fopen_ok;
if (extension_loaded('xmlreader')) {
$xml_ok = true;
} elseif (extension_loaded('xml')) {
$parser_check = xml_parser_create();
xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
xml_parser_free($parser_check);
$xml_ok = isset($values[0]['value']);
} else {
$xml_ok = false;
}
$status = array('app_name' => $app_name, 'php' => $php_ok, 'pdo' => $pdo_ok,
'pdo_drivers_passing' => $pdo_drivers_passing, 'xml' => $xml_ok, 'pcre' => $pcre_ok,
'zlib' => $zlib_ok, 'mbstring' => $mbstring_ok, 'dom' => $dom_ok, 'iconv' => $iconv_ok, 'tidy' => $tidy_ok, 'curl' => $curl_ok,
'parse_ini' => $parse_ini_ok, 'parallel' => $parallel_ok, 'allow_url_fopen' => $allow_url_fopen_ok, 'filter' => $filter_ok,
'gettext' => $gettext_ok, 'gd' => $gd_ok, 'urlfetching' => $urlfetching);
return $status;
}
function isOkay() {
return !in_array(false, status());
}
function isPassing() {
$status = status();
unset($status['curl'], $status['parallel'], $status['tidy'], $status['gd'], $status['filter'], $status['allow_url_fopen']);
return !in_array(false, $status);
}
function pdoDrivers() {
$pdo_driver_sqlite = extension_loaded('pdo_sqlite');
$pdo_driver_mysql = extension_loaded('pdo_mysql');
$pdo_driver_postgres = extension_loaded('pdo_pgsql');
$pdo_drivers = array('sqlite' => $pdo_driver_sqlite, 'mysql' => $pdo_driver_mysql,
'postgres' => $pdo_driver_postgres);
return $pdo_drivers;
}
/* Function taken from at http://php.net/manual/en/function.rmdir.php#110489
* Idea : nbari at dalmp dot com
* Rights unknown
* Here in case of .gitignore files
*/
function delTree($dir, $withdirectory="true") {
$files = array_diff(scandir($dir), array('.','..'));
foreach ($files as $file) {
(is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file");
}
if ($withdirectory) {
return rmdir($dir);
} else {
return true;
}
}
function generate_salt() {
mt_srand(microtime(true)*100000 + memory_get_usage(true));
return md5(uniqid(mt_rand(), true));
}
function executeQuery($handle, $sql, $params) {
try
{
$query = $handle->prepare($sql);
$query->execute($params);
return $query->fetchAll();
}
catch (Exception $e)
{
return FALSE;
}
}
?>

View File

@ -1,427 +0,0 @@
<?php
/**
* wallabag, self hostable application allowing you to not miss any content anymore
*
* @category wallabag
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
* @copyright 2013
* @license http://opensource.org/licenses/MIT see COPYING file
*/
$app_name = 'wallabag';
$php_ok = (function_exists('version_compare') && version_compare(phpversion(), '5.3.3', '>='));
$pcre_ok = extension_loaded('pcre');
$zlib_ok = extension_loaded('zlib');
$mbstring_ok = extension_loaded('mbstring');
$dom_ok = extension_loaded('DOM');
$iconv_ok = extension_loaded('iconv');
$tidy_ok = function_exists('tidy_parse_string');
$curl_ok = function_exists('curl_exec');
$parse_ini_ok = function_exists('parse_ini_file');
$parallel_ok = ((extension_loaded('http') && class_exists('HttpRequestPool')) || ($curl_ok && function_exists('curl_multi_init')));
$allow_url_fopen_ok = (bool)ini_get('allow_url_fopen');
$filter_ok = extension_loaded('filter');
$gettext_ok = function_exists("gettext");
$gd_ok = extension_loaded('gd');
if (extension_loaded('xmlreader')) {
$xml_ok = true;
} elseif (extension_loaded('xml')) {
$parser_check = xml_parser_create();
xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
xml_parser_free($parser_check);
$xml_ok = isset($values[0]['value']);
} else {
$xml_ok = false;
}
header('Content-type: text/html; charset=UTF-8');
?><!DOCTYPE html>
<html lang="en">
<head>
<title><?php echo $app_name; ?>: Server Compatibility Test</title>
<style type="text/css">
body {
font:14px/1.4em "Lucida Grande", Verdana, Arial, Helvetica, Clean, Sans, sans-serif;
letter-spacing:0px;
color:#333;
margin:0;
padding:0;
background:#fff;
}
div#site {
width:550px;
margin:20px auto 0 auto;
}
a {
color:#000;
text-decoration:underline;
padding:0 1px;
}
a:hover {
color:#fff;
background-color:#333;
text-decoration:none;
padding:0 1px;
}
p {
margin:0;
padding:5px 0;
}
em {
font-style:normal;
background-color:#ffc;
padding: 0.1em 0;
}
ul, ol {
margin:10px 0 10px 20px;
padding:0 0 0 15px;
}
ul li, ol li {
margin:0 0 7px 0;
padding:0 0 0 3px;
}
h2 {
font-size:18px;
padding:0;
margin:30px 0 20px 0;
}
h3 {
font-size:16px;
padding:0;
margin:20px 0 5px 0;
}
h4 {
font-size:14px;
padding:0;
margin:15px 0 5px 0;
}
code {
font-size:1.1em;
background-color:#f3f3ff;
color:#000;
}
em strong {
text-transform: uppercase;
}
table#chart {
border-collapse:collapse;
}
table#chart th {
background-color:#eee;
padding:2px 3px;
border:1px solid #fff;
}
table#chart td {
text-align:center;
padding:2px 3px;
border:1px solid #eee;
}
table#chart tr.enabled td {
/* Leave this alone */
}
table#chart tr.disabled td,
table#chart tr.disabled td a {
}
table#chart tr.disabled td a {
text-decoration:underline;
}
div.chunk {
margin:20px 0 0 0;
padding:0 0 10px 0;
border-bottom:1px solid #ccc;
}
.footnote,
.footnote a {
font:10px/12px verdana, sans-serif;
color:#aaa;
}
.footnote em {
background-color:transparent;
font-style:italic;
}
.good{
background-color:#52CC5B;
}
.bad{
background-color:#F74343;
font-style:italic;
font-weight: bold;
}
.pass{
background-color:#FF9500;
}
</style>
</head>
<body>
<?php
$frominstall = false;
if (isset($_GET['from'])){
if ($_GET['from'] == 'install'){
$frominstall = true;
}}
?>
<div id="site">
<div id="content">
<div class="chunk">
<h2 style="text-align:center;"><?php echo $app_name; ?>: Compatibility Test</h2>
<table cellpadding="0" cellspacing="0" border="0" width="100%" id="chart">
<thead>
<tr>
<th>Test</th>
<th>Should Be</th>
<th>What You Have</th>
</tr>
</thead>
<tbody>
<tr class="<?php echo ($php_ok) ? 'enabled' : 'disabled'; ?>">
<td>PHP</td>
<td>5.3.3 or higher</td>
<td class="<?php echo ($php_ok) ? 'good' : 'disabled'; ?>"><?php echo phpversion(); ?></td>
</tr>
<tr class="<?php echo ($xml_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/xml">XML</a></td>
<td>Enabled</td>
<?php echo ($xml_ok) ? '<td class="good">Enabled, and sane</span>' : '<td class="bad">Disabled, or broken'; ?></td>
</tr>
<tr class="<?php echo ($pcre_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/pcre">PCRE</a></td>
<td>Enabled</td>
<?php echo ($pcre_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr>
<!-- <tr class="<?php echo ($zlib_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/zlib">Zlib</a></td>
<td>Enabled</td>
<?php echo ($zlib_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr> -->
<!-- <tr class="<?php echo ($mbstring_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/mbstring">mbstring</a></td>
<td>Enabled</td>
<?php echo ($mbstring_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr> -->
<!-- <tr class="<?php echo ($iconv_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/iconv">iconv</a></td>
<td>Enabled</td>
<?php echo ($iconv_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr> -->
<tr class="<?php echo ($dom_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/manual/en/book.dom.php">DOM / XML extension</a></td>
<td>Enabled</td>
<?php echo ($dom_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($filter_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://uk.php.net/manual/en/book.filter.php">Data filtering</a></td>
<td>Enabled</td>
<?php echo ($filter_ok) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($gd_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/manual/en/book.image.php">GD</a></td>
<td>Enabled</td>
<?php echo ($gd_ok) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($tidy_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/tidy">Tidy</a></td>
<td>Enabled</td>
<?php echo ($tidy_ok) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($curl_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/curl">cURL</a></td>
<td>Enabled</td>
<?php echo (extension_loaded('curl')) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($parse_ini_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://uk.php.net/manual/en/function.parse-ini-file.php">Parse ini file</td>
<td>Enabled</td>
<?php echo ($parse_ini_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($parallel_ok) ? 'enabled' : 'disabled'; ?>">
<td>Parallel URL fetching</td>
<td>Enabled</td>
<?php echo ($parallel_ok) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($allow_url_fopen_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen">allow_url_fopen</a></td>
<td>Enabled</td>
<?php echo ($allow_url_fopen_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr>
<tr class="<?php echo ($gettext_ok) ? 'enabled' : 'disabled'; ?>">
<td><a href="http://php.net/manual/en/book.gettext.php">gettext</a></td>
<td>Enabled</td>
<?php echo ($gettext_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td>
</tr>
</tbody>
</table>
</div>
<div class="chunk">
<h3>What does this mean?</h3>
<ol>
<?php //if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $iconv_ok && $filter_ok && $zlib_ok && $tidy_ok && $curl_ok && $parallel_ok && $allow_url_fopen_ok): ?>
<?php if ($php_ok && $xml_ok && $pcre_ok && $dom_ok && $filter_ok && $gd_ok && $tidy_ok && $curl_ok && $parallel_ok && $allow_url_fopen_ok && $gettext_ok && $parse_ini_ok): ?>
<li><em>You have everything you need to run <?php echo $app_name; ?> properly! Congratulations!</em></li>
<?php else: ?>
<?php if ($php_ok): ?>
<li><strong>PHP:</strong> You are running a supported version of PHP. <em>No problems here.</em></li>
<?php if ($xml_ok): ?>
<li><strong>XML:</strong> You have XMLReader support or a version of XML support that isn't broken installed. <em>No problems here.</em></li>
<?php if ($pcre_ok): ?>
<li><strong>PCRE:</strong> You have PCRE support installed. <em>No problems here.</em></li>
<?php if ($allow_url_fopen_ok): ?>
<li><strong>allow_url_fopen:</strong> You have allow_url_fopen enabled. <em>No problems here.</em></li>
<?php if ($gettext_ok): ?>
<li><strong>Gettext:</strong> You have <code>gettext</code> enabled. <em>No problems here.</em></li>
<?php if ($parse_ini_ok): ?>
<li><strong>Parse ini:</strong> You can parse <em>ini</em> files. <em>No problems here.</em></li>
<?php if ($dom_ok): ?>
<li><strong>DOM/XML:</strong> You can parse <em>ini</em> files. <em>No problems here.</em></li>
<?php if ($filter_ok): ?>
<li><strong>Data filtering:</strong> You can use the PHP build-in DOM to operate on XML documents. <em>No problems here.</em></li>
<?php if ($zlib_ok): ?>
<li><strong>Zlib:</strong> You have <code>Zlib</code> enabled. This allows SimplePie to support GZIP-encoded feeds. <em>No problems here.</em></li>
<?php else: ?>
<li><strong>Zlib:</strong> The <code>Zlib</code> extension is not available. SimplePie will ignore any GZIP-encoding, and instead handle feeds as uncompressed text.</li>
<?php endif; ?>
<?php if ($mbstring_ok && $iconv_ok): ?>
<li><strong>mbstring and iconv:</strong> You have both <code>mbstring</code> and <code>iconv</code> installed! This will allow <?php echo $app_name; ?> to handle the greatest number of languages. <em>No problems here.</em></li>
<?php elseif ($mbstring_ok): ?>
<li><strong>mbstring:</strong> <code>mbstring</code> is installed, but <code>iconv</code> is not.</li>
<?php elseif ($iconv_ok): ?>
<li><strong>iconv:</strong> <code>iconv</code> is installed, but <code>mbstring</code> is not.</li>
<?php else: ?>
<li><strong>mbstring and iconv:</strong> <em>You do not have either of the extensions installed.</em> This will significantly impair your ability to read non-English feeds, as well as even some English ones.</li>
<?php endif; ?>
<?php if ($gd_ok): ?>
<li><strong>GD:</strong> You have <code>GD</code> support installed. <em>No problems here.</em></li>
<?php else: ?>
<li><strong>GD:</strong> The <code>GD</code> extension is not available. <?php echo $app_name; ?> will not be able to download pictures locally on your server.</li>
<?php endif; ?>
<?php if ($tidy_ok): ?>
<li><strong>Tidy:</strong> You have <code>Tidy</code> support installed. <em>No problems here.</em></li>
<?php else: ?>
<li><strong>Tidy:</strong> The <code>Tidy</code> extension is not available. <?php echo $app_name; ?> should still work with most feeds, but you may experience problems with some. You can install it with <code>sudo apt-get install php5-tidy</code> and then reload Apache <code>sudo service apache2 reload</code>.</li>
<?php endif; ?>
<?php if ($curl_ok): ?>
<li><strong>cURL:</strong> You have <code>cURL</code> support installed. <em>No problems here.</em></li>
<?php else: ?>
<li><strong>cURL:</strong> The <code>cURL</code> extension is not available. SimplePie will use <code>fsockopen()</code> instead.</li>
<?php endif; ?>
<?php if ($parallel_ok): ?>
<li><strong>Parallel URL fetching:</strong> You have <code>HttpRequestPool</code> or <code>curl_multi</code> support installed. <em>No problems here.</em></li>
<?php else: ?>
<li><strong>Parallel URL fetching:</strong> <code>HttpRequestPool</code> or <code>curl_multi</code> support is not available. <?php echo $app_name; ?> will use <code>file_get_contents()</code> instead to fetch URLs sequentially rather than in parallel.</li>
<?php endif; ?>
<?php else: ?>
<li><strong>Data filtering:</strong> Your PHP configuration has the filter extension disabled. <strong><?php echo $app_name; ?> will not work here.</strong></li>
<?php endif; ?>
<?php else: ?>
<li><strong>DOM/XML:</strong> Your PHP configuration isn't standard, you're missing PHP-DOM. You may try to install a package or recompile PHP. <strong><?php echo $app_name; ?> will not work here.</strong></li>
<?php endif; ?>
<?php else : ?>
<li><strong>Parse ini files function :</strong> Bad luck : your webhost has decided to block the use of the <em>parse_ini_file</em> function. <strong><?php echo $app_name; ?> will not work here.</strong>
<?php endif; ?>
<?php else: ?>
<li><strong>GetText:</strong> The <code>gettext</code> extension is not available. The system we use to display wallabag in various languages is not available. <strong><?php echo $app_name; ?> will not work here.</strong></li>
<?php endif; ?>
<?php else: ?>
<li><strong>allow_url_fopen:</strong> Your PHP configuration has allow_url_fopen disabled. <strong><?php echo $app_name; ?> will not work here.</strong></li>
<?php endif; ?>
<?php else: ?>
<li><strong>PCRE:</strong> Your PHP installation doesn't support Perl-Compatible Regular Expressions. <strong><?php echo $app_name; ?> will not work here.</strong></li>
<?php endif; ?>
<?php else: ?>
<li><strong>XML:</strong> Your PHP installation doesn't support XML parsing. <strong><?php echo $app_name; ?> will not work here.</strong></li>
<?php endif; ?>
<?php else: ?>
<li><strong>PHP:</strong> You are running an unsupported version of PHP. <strong><?php echo $app_name; ?> will not work here.</strong></li>
<?php endif; ?>
<?php endif; ?>
</ol>
</div>
<div class="chunk">
<?php //if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $iconv_ok && $filter_ok && $allow_url_fopen_ok) { ?>
<?php if ($php_ok && $xml_ok && $pcre_ok && $filter_ok && $allow_url_fopen_ok && $gettext_ok && $parse_ini_ok) { ?>
<h3>Bottom Line: Yes, you can!</h3>
<p><em>Your webhost has its act together!</em></p>
<?php if (!$frominstall) { ?>
<p>You can download the latest version of <?php echo $app_name; ?> from <a href="http://wallabag.org/download">wallabag.org</a>.</p>
<p>If you already have done that, you should access <a href="index.php">the index.php file</a> of your installation to configure and/or start using wallabag</p>
<?php } else { ?>
<p>You can now <a href="../index.php">return to the installation section</a>.</p>
<?php } ?>
<p><strong>Note</strong>: Passing this test does not guarantee that <?php echo $app_name; ?> will run on your webhost &mdash; it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.</p>
<?php //} else if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $allow_url_fopen_ok && $filter_ok) { ?>
<?php } else if ($php_ok && $xml_ok && $pcre_ok && $allow_url_fopen_ok && $filter_ok && $gettext_ok && $parse_ini_ok) { ?>
<h3>Bottom Line: Yes, you can!</h3>
<p><em>For most feeds, it'll run with no problems.</em> There are certain languages that you might have a hard time with though.</p>
<?php if (!$frominstall) { ?>
<p>You can download the latest version of <?php echo $app_name; ?> from <a href="http://wallabag.org/download">wallabag.org</a>.</p>
<p>If you already have done that, you should access <a href="index.php">the index.php file</a> of your installation to configure and/or start using wallabag</p>
<?php } else { ?>
<p>You can now <a href="../index.php">return to the installation section</a>.</p>
<?php } ?>
<p><strong>Note</strong>: Passing this test does not guarantee that <?php echo $app_name; ?> will run on your webhost &mdash; it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.</p>
<?php } else { ?>
<h3>Bottom Line: We're sorry…</h3>
<p><em>Your webhost does not support the minimum requirements for <?php echo $app_name; ?>.</em> It may be a good idea to contact your webhost and point them to the results of this test. They may be able to enable/install the required components.</p>
<?php } ?>
</div>
<div class="chunk">
<p class="footnote">This compatibility test has been borrowed (and slightly adapted by <a href="http://fivefilters.org/content-only/">fivefilters.org</a>) from the one supplied by <a href="http://simplepie.org/">SimplePie.org</a>.</a></p>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -2,11 +2,11 @@ msgid ""
msgstr ""
"Project-Id-Version: wallabag\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-26 15:17+0300\n"
"POT-Creation-Date: 2014-02-25 15:17+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: Thomas Citharel <tcit@openmailbox.org>\n"
"Last-Translator: tcit <tcit@openmailbox.org>\n"
"Language-Team: \n"
"Language: en\n"
"Language: en-GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -14,7 +14,7 @@ msgstr ""
"X-Poedit-Basepath: .\n"
msgid "wallabag, a read it later open source system"
msgstr "wallabag, a read it later open source system"
msgstr "wallabag, an open source \"Read It Later\" service"
msgid "login failed: user doesn't exist"
msgstr "Login failed: user doesn't exist"
@ -56,7 +56,7 @@ msgid "download the application"
msgstr "Download the application"
msgid "By filling this field"
msgstr "By filling this field"
msgstr "By filling in this field"
msgid "bag it!"
msgstr "bag it!"
@ -92,14 +92,14 @@ msgid ""
"Your feed token is currently empty and must first be generated to enable "
"feeds. Click <a href='?feed&amp;action=generate'>here to generate it</a>."
msgstr ""
"Your feed token is currently empty and must first be generated to enable "
"feeds. Click <a href='?feed&amp;action=generate'>here to generate it</a>."
"Your feed token is currently empty. You must generated it to enable feeds. "
"<a href='?feed&amp;action=generate'>Generate Feed Token</a>."
msgid "Unread feed"
msgstr "Unread feed"
msgid "Favorites feed"
msgstr "Favorites feed"
msgstr "Favourites feed"
msgid "Archive feed"
msgstr "Archive feed"
@ -149,27 +149,26 @@ msgid ""
"You can import your Pocket, Readability, Instapaper, Wallabag or any data in "
"appropriate json or html format."
msgstr ""
"You can import your Pocket, Readability, Instapaper, wallabag or any fil in "
"appropriate JSON or HTML format."
"You can import your Pocket, Readability, Instapaper, wallabag or any other "
"data in JSON or HTML format."
msgid ""
"Please execute the import script locally as it can take a very long time."
msgstr "Please run the import script locally as it can take a very long time."
msgid ""
"Please select export file on your computer and press \"Import\" button "
"below. Wallabag will parse your file, insert all URLs and start fetching of "
"articles if required."
msgstr ""
"Please select export file on your computer and press &ldquo;Import&rdquo; "
"button below. wallabag will parse your file, insert all URLs and start "
"fetching of articles if required.Please execute the import script locally as "
"it can take a very long time."
"Please select export file on your computer and press the &ldquo;"
"Import&rdquo; button below. wallabag will parse your file, insert all URLs "
"and start fetching articles if required. Please execute the import script "
"locally as it can take a very long time."
msgid "You can click here to fetch content for articles with no content."
msgstr "Fetch content for articles with no content"
msgid ""
"Please execute the import script locally as it can take a very long time."
msgstr ""
"Please execute the import script locally as it can take a very long time."
msgid "More info in the official documentation:"
msgstr "More info in the official documentation:"
@ -255,7 +254,7 @@ msgstr ""
"here</a>."
msgid "favoris"
msgstr "Favorites"
msgstr "Favourites"
msgid "archive"
msgstr "Archive"
@ -264,22 +263,22 @@ msgid "unread"
msgstr "Unread"
msgid "by date asc"
msgstr "by date asc"
msgstr "by date ascending"
msgid "by date"
msgstr "by date"
msgid "by date desc"
msgstr "by date desc"
msgstr "by date descending"
msgid "by title asc"
msgstr "by title asc"
msgstr "by title ascending"
msgid "by title"
msgstr "by title"
msgid "by title desc"
msgstr "by title desc"
msgstr "by title descending"
msgid "Tag"
msgstr "Tag"
@ -291,7 +290,7 @@ msgid "Toggle mark as read"
msgstr "Toggle mark as read"
msgid "toggle favorite"
msgstr "Toggle favorite"
msgstr "Toggle favourite"
msgid "delete"
msgstr "Delete"
@ -319,9 +318,9 @@ msgid ""
"Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation "
"on wallabag website</a>."
msgstr ""
"wallabag is still not installed. Please fill the below form to install it. "
"Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation "
"on wallabag website</a>."
"wallabag is still not installed. Please fill in the form to install it. If "
"you need help, please <a href='http://doc.wallabag.org/'>read the "
"documentation on wallabag website</a>."
msgid "Login"
msgstr "Login"
@ -354,7 +353,7 @@ msgid "Sign in"
msgstr "Sign in"
msgid "favorites"
msgstr "Favorites"
msgstr "Favourites"
msgid "estimated reading time :"
msgstr "Estimated reading time:"
@ -372,10 +371,10 @@ msgid "Mark as read"
msgstr "Mark as read"
msgid "Favorite"
msgstr "Favorite"
msgstr "Favourite"
msgid "Toggle favorite"
msgstr "Toggle favorite"
msgstr "Toggle favourite"
msgid "Delete"
msgstr "Delete"
@ -393,7 +392,7 @@ msgid "flattr"
msgstr "flattr"
msgid "Does this article appear wrong?"
msgstr "Does this article appear wrong?"
msgstr "Does this article display incorrectly?"
msgid "tags:"
msgstr "tags:"
@ -417,7 +416,7 @@ msgid "powered by"
msgstr "Powered by"
msgid "debug mode is on so cache is off."
msgstr "Debug mode is on, so cache is off."
msgstr "Debug mode is on, so the cache is off."
msgid "your wallabag version:"
msgstr "Your wallabag version:"
@ -441,7 +440,7 @@ msgid "email"
msgstr "Email"
msgid "this article appears wrong?"
msgstr "This article appears wrong?"
msgstr "This article displays incorrectly?"
msgid "No link available here!"
msgstr "No link available here"
@ -450,7 +449,7 @@ msgid "Poching a link"
msgstr "bagging a link"
msgid "by filling this field"
msgstr "by filling this field"
msgstr "by filling in this field"
msgid "bookmarklet: drag & drop this link to your bookmarks bar"
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
@ -471,7 +470,7 @@ msgid "you are up to date."
msgstr "You are up to date."
msgid "latest dev version"
msgstr "latest dev version"
msgstr "latest development version"
msgid "a more recent development version is available."
msgstr "A more recent development version is available."
@ -482,8 +481,7 @@ msgstr ""
"release."
msgid "Please execute the import script locally, it can take a very long time."
msgstr ""
"Please execute the import script locally, it can take a very long time."
msgstr "Please run the import script locally as it can take a very long time."
msgid "More infos in the official doc:"
msgstr "More information in the official doc:"
@ -534,26 +532,26 @@ msgid ""
"the two fields have to be filled & the password must be the same in the two "
"fields"
msgstr ""
"les deux champs doivent être remplis et le mot de passe doit être le même "
"pour les deux champs"
"The two fields must be filled in, and the password must be the same in both "
"fields"
msgid "still using the \""
msgstr "Still using the \""
msgid "that theme does not seem to be installed"
msgstr "That theme does not seem to be installed."
msgstr "That theme is not installed."
msgid "you have changed your theme preferences"
msgstr "You have changed your theme preferences."
msgid "that language does not seem to be installed"
msgstr "That language does not seem to be installed."
msgstr "That language is not installed."
msgid "you have changed your language preferences"
msgstr "You have changed your language preferences."
msgid "login failed: you have to fill all fields"
msgstr "Login failed: you have to fill all fields."
msgstr "Login failed: you have to fill in all the fields."
msgid "welcome to your wallabag"
msgstr "Welcome to your wallabag."
@ -613,7 +611,7 @@ msgid "Delete account"
msgstr "Delete Account"
msgid "You can delete your account by entering your password and validating."
msgstr "You can delete your account by entering your password and validating."
msgstr "You can delete your account by entering your password and confirming."
msgid "Be careful, data will be erased forever (that is a very long time)."
msgstr "Be careful, data will be erased forever (that is a very long time)."
@ -622,14 +620,14 @@ msgid "Type here your password"
msgstr "Enter your password"
msgid "You are the only user, you cannot delete your own account."
msgstr "You are the only user, you cannot delete your own account."
msgstr "You are the only user; you cannot delete your own account."
msgid ""
"To completely remove wallabag, delete the wallabag folder on your web server "
"(and eventual databases)."
msgstr ""
"To completely remove wallabag, delete the wallabag folder on your web server "
"(and eventual databases)."
"To completely remove wallabag, delete the wallabag folder on your web "
"server. Then delete any any databases you have created for wallabag."
msgid "Enter your search here"
msgstr "Enter your search here"
@ -641,17 +639,12 @@ msgstr "Tag these results as"
msgid "Fancy an E-Book ?"
msgstr "Fancy an E-Book?"
msgid "Click to get all your articles in one ebook :"
msgstr "Click to get all your articles in one ebook :"
msgid "Generate ePub file"
msgstr "Generate ePub file"
msgid "Generate Mobi file"
msgstr "Generate Mobi file"
msgid "Generate PDF file"
msgstr "Generate PDF file"
msgid ""
"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this "
"link</a> to get all your articles in one ebook (ePub 3 format)."
msgstr ""
"You can <a href=\"./?epub&amp;method=all\" title=\"Generate EPUB\">Generate "
"an EPUB</a> to get all your articles in one ebook (EPUB 3 format)."
msgid ""
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
@ -660,96 +653,14 @@ msgstr ""
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
"articles, depending on your server configuration."
msgid "Download the articles from this tag in an ePub file"
msgstr "Download the articles from this tag in an ePub file"
msgid "Download the articles from this tag in an epub"
msgstr "Download the articles from this tag as an EPUB"
msgid "Download the articles from this tag in an Mobi file"
msgstr "Download the articles from this tag in an Mobi file"
msgid "Download the articles from this search in an epub"
msgstr "Download the articles from this search as an EPUB"
msgid "Download the articles from this tag in an PDF file"
msgstr "Download the articles from this tag in an PDF file"
msgid "Download the articles from this search in an ePub"
msgstr "Download the articles from this search in an ePub"
msgid "Download the articles from this search in a Mobi file"
msgstr "Download the articles from this search in a Mobi file"
msgid "Download the articles from this search in a PDF file"
msgstr "Download the articles from this search in a PDF file"
msgid "Download the articles from this category in an ePub"
msgstr "Download the articles from this category in an ePub"
msgid "Download the articles from this category in a Mobi file"
msgstr "Download the articles from this category in a Mobi file"
msgid "Download the articles from this category in a PDF file"
msgstr "Download the articles from this category in a PDF file"
msgid "Download as ePub3"
msgstr "Download as ePub3"
msgid "Download as Mobi"
msgstr "Download as Mobi"
msgid "Download as PDF"
msgstr "Download as PDF"
msgid "All my articles on %s"
msgstr "All my articles on %s"
msgid "Allarticles"
msgstr "Allarticles"
msgid "Articles tagged %s"
msgstr "Articles tagged %s"
msgid "Tag %s"
msgstr "Tag %s"
msgid "Articles in category %s"
msgstr "All articles in category %s"
msgid "Category %s"
msgstr "Category %s"
msgid "Articles for search %s"
msgstr "All articles for search %s"
msgid "Search %s"
msgstr "Search %s"
msgid "wallabag articles book"
msgstr "wallabag articles book"
msgid "Some articles saved on my wallabag"
msgstr "Some articles saved on my wallabag"
msgid "Produced by wallabag with PHPePub"
msgstr "Produced by wallabag with PHPePub"
msgid ""
"Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</"
"a> if you have trouble with the display of this E-Book on your device."
msgstr ""
"Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</"
"a> if you have trouble with the display of this E-Book on your device."
msgid "Produced by wallabag with PHPMobi"
msgstr "Produced by wallabag with PHPMobi"
msgid "Mail function is disabled. You can't send emails from your server"
msgstr "Mail function is disabled. You can't send emails from your server"
msgid "You didn't set your kindle's email adress !"
msgstr "You didn't set your kindle's email adress !"
msgid "The email has been sent to your kindle !"
msgstr "The email has been sent to your kindle !"
msgid "Produced by wallabag with mPDF"
msgstr "Produced by wallabag with mPDF"
msgid "Download the articles from this category in an epub"
msgstr "Download the articles from this category as an EPUB"
#~ msgid "poche it!"
#~ msgstr "poche it!"

View File

@ -369,8 +369,8 @@ msgstr "Mark all the entries as read"
msgid "Return home"
msgstr "Return home"
msgid "Back to top"
msgstr "Back to top"
msgid "back"
msgstr "back"
msgid "Mark as read"
msgstr "Mark as read"
@ -435,6 +435,9 @@ msgstr "Save a Link"
msgid "back to home"
msgstr "Back to Home"
msgid "back to login"
msgstr "back to login"
msgid "toggle mark as read"
msgstr "Toggle mark as read"
@ -663,6 +666,66 @@ msgstr "Download the articles from this search in an EPUB"
msgid "Download the articles from this category in an epub"
msgstr "Download the articles from this category in an EPUB"
# registration
msgid "Hi,"
msgstr "Hi,"
msgid "Hi, %1$s"
msgstr "Hi, %1$s"
msgid "Someone just created a wallabag account for you on %1$s."
msgstr "Someone just created a wallabag account for you on %1$s."
msgid "You've just created a wallabag account on %1$s"
msgstr "You've just created a wallabag account on %1$s"
msgid "Your login is %1$s."
msgstr "Your login is %1$s."
msgid "Have fun with it !"
msgstr "Have fun with it !"
msgid ""
"This is an automatically generated message, no one will answer if you "
"respond to it."
msgstr ""
"This is an automatically generated message, no one will answer if you "
"respond to it."
msgid ""
"Note : The password has been chosen by the person who created your account. "
"Get in touch with that person to know your password and change it as soon as "
"possible"
msgstr ""
"Note : The password has been chosen by the person who created your account. "
"Get in touch with that person to know your password and change it as soon as "
"possible"
msgid ""
"The new user %1$s has been sent an email at %2$s. You may have to check spam "
"folder."
msgstr ""
"The new user %1$s has been sent an email at %2$s. You may have to check spam "
"folder."
msgid ""
"A problem has been encountered while sending the confirmation email, but the "
"user was created."
msgstr ""
"A problem has been encountered while sending an confirmation email, but the "
"user was created."
msgid "The server did not authorize sending a confirmation email"
msgstr "The server did not authorize sending a confirmation email"
msgid ""
"The user was created, but no email was sent because email was not filled in"
msgstr ""
"The user was created, but no email was sent because email was not filled in"
msgid "Read the rest at"
msgstr "Read the rest at"
#~ msgid "poche it!"
#~ msgstr "poche it!"

View File

@ -67,6 +67,9 @@ msgstr "Se connecter"
msgid "back to home"
msgstr "retour à l'accueil"
msgid "back"
msgstr "retour"
msgid "favorites"
msgstr "favoris"
@ -357,6 +360,9 @@ msgstr "Tweet"
msgid "Email"
msgstr "E-mail"
msgid "Email (not required)"
msgstr "E-mail (non requis)"
msgid "shaarli"
msgstr "Shaarli"
@ -789,6 +795,65 @@ msgstr ""
msgid "Produced by wallabag with PHPMobi"
msgstr "Produit par wallabag avec PHPMobi"
# registration
msgid "Hi,"
msgstr "Salut,"
msgid "Hi, %1$s"
msgstr "Salut, %1$s"
msgid "Someone just created a wallabag account for you on %1$s."
msgstr ""
"Quelqu'un vient juste de créer un compte wallabag pour vous à l'adresse %1$s."
msgid "You've just created a wallabag account on %1$s"
msgstr "Vous venez juste de vous créer un compte wallabag sur %1$s"
msgid "Your login is %1$s."
msgstr "Votre identifiant is %1$s."
msgid "Have fun with it !"
msgstr "Amusez-vous bien !"
msgid ""
"This is an automatically generated message, no one will answer if you "
"respond to it."
msgstr ""
"Ceci est un message généré automatiquement, personne ne vous répondra si "
"vous y répondez."
msgid ""
"Note : The password has been chosen by the person who created your account. "
"Get in touch with that person to know your password and change it as soon as "
"possible"
msgstr ""
"Note : Votre mot de passe a été défini par la personne ayant créé votre "
"compte. Vous devriez entrer en contact avec cette personne pour connaître "
"votre mot de passe et le changer dès que possible"
msgid ""
"The new user %1$s has been sent an email at %2$s. You may have to check spam "
"folder."
msgstr ""
"Un email a été envoyé au nouvel utiliateur %1$s à l'adresse %2$s. Il peut "
"être nécessaire de vérifier le dossier des spams."
msgid "A problem has been encountered while sending the confirmation email"
msgstr "Un problème a été rencontré lors de l'envoi de l'email de confirmation"
msgid ""
"The server did not authorize sending a confirmation email, but the user was "
"created."
msgstr ""
"Le serveur n'autorise pas l'envoi d'un email de confirmation, mais "
"l'utilisateur a été créé."
msgid ""
"The user was created, but no email was sent because email was not filled in"
msgstr ""
"L'utilisateur a été créé, mais aucun mail n'a été envoyé car l'email n'était "
"pas renseigné"
msgid "Mail function is disabled. You can't send emails from your server"
msgstr ""
"La fonction mail est désactivée. Vous ne pouvez pas envoyer d'E-mails depuis "
@ -802,3 +867,6 @@ msgstr "L'E-mail a été envoyé à votre Kindle !"
msgid "Produced by wallabag with mPDF"
msgstr "Produit par wallabag avec mPDF"
msgid "Read the rest at"
msgstr "Lire le reste à l'adresse"

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generated by IcoMoon.io -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="640" height="640" viewBox="0 0 640 640"><g id="icomoon-ignore">
</g>
<path d="M554.848 137.824c0-36.8-55.424-40.864-55.424-40.864l-130.208-8.192c0 0-2.784-35.424-29.088-47.744-26.304-12.256-55.232-8.512-76.032-8.32-20.8 0.224-25.696 26.72-25.696 51.744 0 24.992 0.448 53.888 0.448 72 0 32.576-14.304 46.368-50.112 46.368h-73.824c-20.64-1.312-36.704 2.048-36.704 18.752 0 16.736 24.288 159.136 57.632 192 19.36 19.072 137.76 32.448 162.688 32.448s16.608-73.632 23.552-73.632c6.944 0 14.528 41.568 53.824 51.296 39.232 9.824 91.648 8 94.432 35.936 3.616 36.864 6.944 84.544-17.312 87.936l-54.912 2.176c-37.632-2.688-27.52-43.808-10.912-43.808s24.928-0.608 24.928-0.608l2.080-44.992c0 0-86.176-10.176-89.824 47.936-3.36 53.12 5.76 78.176 12.448 83.616 6.688 5.504 18.272 16.128 123.808 16.128 148.704 0 94.208-433.376 94.208-470.176zM494.080 330.24c-5.824 6.272-26.944-10.24-47.104-10.24-20.192 0-41.952 10.688-47.072 3.616-5.12-7.008 4.672-63.68 42.688-63.68s57.376 64.128 51.488 70.304z" fill="rgb(68, 68, 68)"></path>
<path d="M185.728 133.312c0-7.328 1.856-95.488 1.856-95.488l-112.16 110.080c0 0 77.504 0 92.736 0 15.232-0.032 17.568-7.328 17.568-14.592z" fill="rgb(68, 68, 68)"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -4,6 +4,8 @@ $.fn.ready(function() {
$bagitForm = $('#bagit-form'),
$bagitFormForm = $('#bagit-form-form');
$("#tags2add").hide();
/* ==========================================================================
bag it link and close button
========================================================================== */
@ -78,6 +80,14 @@ $.fn.ready(function() {
event.preventDefault();
});
$('#showtaginput').click(function(){
$('#tags2add').toggle();
$('#plainurl').toggle();
$('#showtaginput').toggleClass('icon-tags');
$('#showtaginput').toggleClass('icon-check');
});
/* ==========================================================================
Keyboard gestion
========================================================================== */

View File

@ -4,6 +4,10 @@
<a href="javascript: void(null);" id="bagit-form-close" class="close-button--popup close-button">&times;</a>
<input type="hidden" name="autoclose" value="1" />
<input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" />
<div style="display:inline-block;cursor: pointer;" title="{% trans "Edit tags" %}" id="showtaginput" class="tool icon icon-tags">
<span>Add tags</span>
</div>
<input placeholder="tags, with commas" class="addurl" id="tags2add" name="tags" type="text"/>
<span id="add-link-result"></span>
<input type="submit" value="{% trans "save link!" %}" />
</form>

View File

@ -7,6 +7,8 @@
{% block content %}
<h2>{% trans "About wallabag" %}</h2>
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
<dl>
<dt>{% trans "Project website" %}</dt>
<dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd>
@ -27,8 +29,6 @@
<dd>{{ constant('POCHE') }}</dd>
</dl>
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
<h2>{% trans "Getting help" %}</h2>
<dl>

View File

@ -23,11 +23,11 @@
<ul>
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans "download the application" %}</a></li>
</ul>
<h3>{% trans "Bookmarklet" %}</h3>
<p>
{% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
{% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&autoclose=true&url='%20+%20btoa(url),'_blank');})();void(0);}">{% trans "bag it!" %}</a>
</p>
<h2>{% trans "Feeds" %}</h2>

View File

@ -736,6 +736,18 @@ a.add-to-wallabag-link-after:after {
.icon-print:before {
content: "\e80d";
}
.icon-random:before {
content: "\e915";
}
.icon-reload:before {
content: "\ea2e";
}
.icon-evernote:before {
content: "\e603";
}
.icon-tags:before {
content: "\e936";
}
/* .icon-image class, for image-based icons

Binary file not shown.

View File

@ -1,41 +1,39 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
<json>
{
"fontFamily": "icomoon",
"majorVersion": 1,
"minorVersion": 0,
"version": "Version 1.0",
"fontId": "icomoon",
"psName": "icomoon",
"subFamily": "Regular",
"fullName": "icomoon",
"description": "Generated by IcoMoon"
}
</json>
</metadata>
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="icomoon" horiz-adv-x="512">
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
<glyph unicode="&#xe600;" d="M256 389.333c-94.272 0-170.667-76.416-170.667-170.666s76.394-170.667 170.667-170.667 170.667 76.416 170.667 170.667-76.394 170.666-170.667 170.666zM335.082 169.749c8.341-8.341 8.341-21.824 0-30.166-4.16-4.16-9.622-6.25-15.082-6.25s-10.923 2.091-15.082 6.25l-48.918 48.918-48.917-48.918c-4.16-4.16-9.621-6.25-15.083-6.25s-10.923 2.091-15.083 6.25c-8.341 8.341-8.341 21.824 0 30.166l48.917 48.918-48.917 48.917c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0l48.917-48.917 48.918 48.917c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166l-48.918-48.917 48.918-48.918z" />
<glyph unicode="&#xe601;" d="M245.333 73.109c-37.035 0-71.85 14.421-98.048 40.598-26.176 26.197-40.618 61.014-40.618 98.070s14.442 71.872 40.618 98.070c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166c-18.133-18.154-28.118-42.261-28.118-67.904s9.984-49.771 28.118-67.904c18.133-18.134 42.219-28.096 67.882-28.096s49.749 9.984 67.883 28.096c18.154 18.134 28.118 42.24 28.118 67.904s-9.984 49.771-28.118 67.904c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0c26.176-26.219 40.618-61.035 40.618-98.070s-14.442-71.872-40.618-98.070c-26.197-26.176-61.014-40.597-98.048-40.597zM245.333 234.667c-11.797 0-21.333 9.558-21.333 21.333v106.667c0 11.776 9.536 21.333 21.334 21.333s21.334-9.558 21.334-21.333v-106.667c0-11.776-9.536-21.333-21.334-21.333z" />
<glyph unicode="&#xe602;" d="M256 401.664l-136.832-136.832c-16.662-16.661-16.662-43.67 0-60.331s43.669-16.661 60.331 0l33.834 33.835v-154.496c0-23.552 19.094-42.666 42.667-42.666 23.552 0 42.666 19.115 42.666 42.666v154.496l33.834-33.835c8.341-8.341 19.243-12.502 30.166-12.502s21.824 4.16 30.166 12.502c16.661 16.661 16.661 43.67 0 60.331l-136.832 136.832z" />
<glyph unicode="&#xe800;" d="M0 25.856v263.168q0 91.648 43.52 142.336t132.608 50.688h280.576q-2.56-2.56-26.624-27.136t-51.2-51.712-55.808-55.808-48.64-47.616-21.504-18.944q-7.68 0-7.68 8.192v79.872h-24.576q-30.208 0-48.128-3.072t-32.256-13.312-19.968-29.184-6.144-49.152v-134.144zM34.304-34.048q2.56 2.56 27.136 27.136t51.2 51.712 55.808 56.32 48.64 47.616 20.992 18.432q7.68 0 7.68-8.192v-79.872h24.576q59.392 0 82.944 18.432t23.040 76.288v134.144l114.688 114.176v-263.168q0-91.648-43.008-142.336t-133.12-50.688h-280.576z" horiz-adv-x="491" />
<glyph unicode="&#xe801;" d="M150.528 104.192q7.168 7.168 17.408 7.168t18.432-7.168q16.384-17.408 0-35.84l-21.504-20.48q-28.672-28.672-67.584-28.672-39.936 0-68.608 28.672t-28.672 67.584q0 39.936 28.672 68.608l75.776 75.776q35.84 34.816 73.728 39.424t65.536-22.016q8.192-8.192 8.192-18.432t-8.192-18.432q-18.432-16.384-35.84 0-25.6 24.576-67.584-17.408l-75.776-74.752q-13.312-13.312-13.312-32.768t13.312-31.744q13.312-13.312 32.256-13.312t32.256 13.312zM380.928 398.080q28.672-28.672 28.672-67.584 0-39.936-28.672-68.608l-80.896-80.896q-37.888-36.864-76.8-36.864-31.744 0-57.344 25.6-7.168 7.168-7.168 17.408t7.168 18.432q7.168 7.168 17.92 7.168t17.92-7.168q25.6-24.576 62.464 12.288l80.896 79.872q14.336 14.336 14.336 32.768 0 19.456-14.336 31.744-12.288 13.312-28.672 15.872t-30.72-10.752l-25.6-25.6q-8.192-7.168-18.432-7.168t-17.408 7.168q-17.408 17.408 0 35.84l25.6 25.6q27.648 27.648 65.024 26.112t66.048-31.232z" horiz-adv-x="410" />
<glyph unicode="&#xe802;" d="M438.784 96v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 12.8t12.8 5.632h401.92q7.68 0 13.312-5.632t5.12-12.8zM438.784 242.432v-36.864q0-7.168-5.12-12.8t-13.312-5.12h-401.92q-7.68 0-12.8 5.12t-5.632 12.8v36.864q0 7.168 5.632 12.8t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-12.8zM438.784 388.352v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 13.312t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-13.312z" horiz-adv-x="439" />
<glyph unicode="&#xe803;" d="M235.52 459.52q97.28 0 166.4-69.12t69.12-166.4-69.12-166.4-166.4-69.12-166.4 69.12-69.12 166.4 69.12 166.4 166.4 69.12zM235.52 39.68q76.8 0 130.56 54.272t53.76 130.048q0 76.8-53.76 130.56t-130.56 53.76q-75.776 0-130.048-53.76t-54.272-130.56q0-75.776 54.272-130.048t130.048-54.272zM253.952 357.12v-124.928l76.8-76.8-25.6-25.6-87.040 87.040v140.288h35.84z" horiz-adv-x="471" />
<glyph unicode="&#xe804;" d="M127.488 44.8q-17.408 0-28.672 14.336l-92.16 120.832q-8.192 12.288-6.144 26.624t13.312 23.552 26.112 7.168 24.064-14.336l60.416-78.848 151.552 242.688q8.192 12.288 22.016 15.36t27.136-4.096q12.288-8.192 15.36-22.016t-4.096-27.136l-179.2-286.72q-10.24-16.384-28.672-16.384z" horiz-adv-x="342" />
<glyph unicode="&#xe805;" d="M225.28 449.28l61.44-172.032h163.84l-134.144-100.352 48.128-178.176-139.264 106.496-139.264-106.496 48.128 178.176-134.144 100.352h163.84z" horiz-adv-x="451" />
<glyph unicode="&#xe806;" d="M460.8 49.92q-44.032 77.824-106.496 100.864t-168.96 23.040v-111.616l-185.344 171.008 185.344 164.864v-98.304q46.080 0 86.016-13.824t67.072-35.84 49.152-48.64 35.328-53.248 22.528-48.64 12.288-35.328z" horiz-adv-x="461" />
<glyph unicode="&#xe807;" d="M471.040 370.432q-18.432-27.648-48.128-50.176v-12.288q0-66.56-30.72-128t-95.232-103.936-148.48-42.496q-81.92 0-148.48 43.008 7.168-1.024 23.552-1.024 67.584 0 119.808 40.96-31.744 1.024-56.32 19.456t-33.792 48.128q5.12-2.048 17.408-2.048 13.312 0 25.6 3.072-33.792 7.168-55.296 33.792t-21.504 61.44v1.024q18.432-10.24 43.008-12.288-43.008 29.696-43.008 80.896 0 24.576 13.312 48.128 78.848-96.256 199.68-100.352-3.072 9.216-3.072 21.504 0 39.936 28.16 68.096t69.12 28.16q41.984 0 69.632-29.696 30.72 6.144 61.44 22.528-10.24-33.792-41.984-53.248 28.672 4.096 55.296 15.36z" horiz-adv-x="471" />
<glyph unicode="&#xe808;" d="M109.568 96q0-23.040-15.872-38.912t-38.912-15.872-38.912 15.872-15.872 38.912 15.872 38.912 38.912 15.872 38.912-15.872 15.872-38.912zM256 60.672q0.512-7.68-4.608-13.312-5.632-6.144-13.824-6.144h-38.4q-7.168 0-12.288 4.608t-5.632 11.776q-6.144 65.536-52.736 112.128t-112.128 52.736q-7.168 0.512-11.776 5.632t-4.608 12.288v38.4q0 8.192 6.144 13.312 4.608 5.12 12.288 5.12h1.536q45.568-3.584 87.040-23.040t74.24-51.712q32.256-32.256 51.712-74.24t23.040-87.552zM402.432 60.16q0.512-7.68-5.12-13.312-5.12-5.632-13.312-5.632h-40.96q-7.168 0-12.8 5.12t-5.632 11.776q-3.072 61.44-28.672 116.736t-66.048 96.256-96.256 66.048-116.224 29.184q-7.168 0-12.288 5.632t-5.12 12.288v40.96q0 7.68 5.632 13.312 5.12 5.12 12.8 5.12h0.512q75.264-4.096 143.36-34.304t121.856-83.968q53.248-53.248 83.968-121.856t34.304-143.36z" horiz-adv-x="402" />
<glyph unicode="&#xe809;" d="M0 314.112l75.776 75.776 180.224-179.712 180.224 179.712 75.776-75.776-256-256-75.776 75.776z" />
<glyph unicode="&#xe80a;" d="M475.648 50.432v219.136q-9.216-10.24-19.968-18.944-76.288-58.368-121.856-96.256-14.336-12.288-23.552-19.456t-24.576-13.824-29.184-6.656h-1.024q-13.312 0-29.184 6.656t-24.576 13.824-23.552 19.456q-45.056 37.888-121.856 96.256-10.752 8.704-19.968 18.944v-219.136q0-4.096 3.072-6.656t6.144-2.56h420.864q3.584 0 6.144 2.56t3.072 6.656zM475.648 350.464v7.168t-0.512 3.584-0.512 3.584-1.536 2.56-2.56 2.048-4.096 1.024h-420.864q-3.584 0-6.144-3.072t-3.072-6.144q0-48.128 41.984-81.408 55.296-43.52 114.688-90.624 2.048-1.024 10.24-8.192t12.8-10.752 12.8-9.216 14.336-7.68 12.288-2.56h1.024q5.632 0 12.288 2.56t14.336 7.68 12.8 9.216 12.8 10.752 10.24 8.192q59.392 47.104 114.688 90.624 15.36 12.288 28.672 33.28t13.312 37.376zM512 361.216v-310.784q0-18.944-13.312-32.256t-32.256-13.824h-420.864q-18.432 0-32.256 13.824t-13.312 32.256v310.784q0 18.944 13.312 32.256t32.256 13.312h420.864q18.944 0 32.256-13.312t13.312-32.256z" />
<glyph unicode="&#xe80b;" d="M0 133.888l256 256 256-256-75.776-75.776-180.224 179.712-180.224-179.712z" />
<glyph unicode="&#xe80c;" d="M25.6 279.296q62.464-35.84 168.96-35.84t168.96 35.84l-27.648-248.832q-1.024-7.168-17.92-18.432t-51.2-22.016-72.192-10.752-71.68 10.752-51.2 22.016-18.432 18.432zM275.456 432.896q48.128-9.216 80.896-28.16t32.768-36.352v-5.12q0-29.696-57.344-50.688t-137.216-20.992-137.216 20.992-57.344 50.688v5.12q0 17.408 32.768 36.352t80.896 28.16l21.504 24.576q11.264 13.312 35.84 13.312h47.104q26.624 0 35.84-13.312zM247.808 375.552h43.008q-47.104 56.32-53.248 64.512-7.168 8.192-16.384 8.192h-52.224q-11.264 0-16.384-8.192l-54.272-64.512h43.008l32.768 33.792h41.984z" horiz-adv-x="389" />
<glyph unicode="&#xe80d;" d="M128 448h256v-64h-256zM480 352h-448c-17.6 0-32-14.4-32-32v-160c0-17.6 14.398-32 32-32h96v-128h256v128h96c17.6 0 32 14.4 32 32v160c0 17.6-14.4 32-32 32zM352 32h-192v160h192v-160zM487.2 304c0-12.813-10.387-23.2-23.199-23.2-12.813 0-23.201 10.387-23.201 23.2s10.388 23.2 23.201 23.2c12.813 0 23.199-10.387 23.199-23.2z" />
<font id="icomoon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
<glyph unicode="&#xe600;" d="M512 778.666c-188.544 0-341.334-152.832-341.334-341.332s152.788-341.334 341.334-341.334 341.334 152.832 341.334 341.334-152.788 341.332-341.334 341.332zM670.164 339.498c16.682-16.682 16.682-43.648 0-60.332-8.32-8.32-19.244-12.5-30.164-12.5s-21.846 4.182-30.164 12.5l-97.836 97.836-97.834-97.836c-8.32-8.32-19.242-12.5-30.166-12.5s-21.846 4.182-30.166 12.5c-16.682 16.682-16.682 43.648 0 60.332l97.834 97.836-97.834 97.834c-16.682 16.682-16.682 43.648 0 60.332s43.648 16.682 60.332 0l97.834-97.834 97.836 97.834c16.682 16.682 43.648 16.682 60.332 0s16.682-43.648 0-60.332l-97.836-97.834 97.836-97.836z" />
<glyph unicode="&#xe601;" d="M490.666 146.218c-74.070 0-143.7 28.842-196.096 81.196-52.352 52.394-81.236 122.028-81.236 196.14s28.884 143.744 81.236 196.14c16.682 16.682 43.648 16.682 60.332 0s16.682-43.648 0-60.332c-36.266-36.308-56.236-84.522-56.236-135.808s19.968-99.542 56.236-135.808c36.266-36.268 84.438-56.192 135.764-56.192s99.498 19.968 135.766 56.192c36.308 36.268 56.236 84.48 56.236 135.808s-19.968 99.542-56.236 135.808c-16.682 16.682-16.682 43.648 0 60.332s43.648 16.682 60.332 0c52.352-52.438 81.236-122.070 81.236-196.14s-28.884-143.744-81.236-196.14c-52.394-52.352-122.028-81.194-196.096-81.194zM490.666 469.334c-23.594 0-42.666 19.116-42.666 42.666v213.334c0 23.552 19.072 42.666 42.668 42.666s42.668-19.116 42.668-42.666v-213.334c0-23.552-19.072-42.666-42.668-42.666z" />
<glyph unicode="&#xe602;" d="M512 803.328l-273.664-273.664c-33.324-33.322-33.324-87.34 0-120.662s87.338-33.322 120.662 0l67.668 67.67v-308.992c0-47.104 38.188-85.332 85.334-85.332 47.104 0 85.332 38.23 85.332 85.332v308.992l67.668-67.67c16.682-16.682 38.486-25.004 60.332-25.004s43.648 8.32 60.332 25.004c33.322 33.322 33.322 87.34 0 120.662l-273.664 273.664z" />
<glyph unicode="&#xe603;" d="M887.757 752.282c0 58.88-88.678 65.382-88.678 65.382l-208.333 13.107c0 0-4.454 56.678-46.541 76.39-42.086 19.61-88.371 13.619-121.651 13.312-33.28-0.358-41.114-42.752-41.114-82.79 0-39.987 0.717-86.221 0.717-115.2 0-52.122-22.886-74.189-80.179-74.189h-118.118c-33.024 2.099-58.726-3.277-58.726-30.003 0-26.778 38.861-254.618 92.211-307.2 30.976-30.515 220.416-51.917 260.301-51.917s26.573 117.811 37.683 117.811c11.11 0 23.245-66.509 86.118-82.074 62.771-15.718 146.637-12.8 151.091-57.498 5.786-58.982 11.11-135.27-27.699-140.698l-87.859-3.482c-60.211 4.301-44.032 70.093-17.459 70.093s39.885 0.973 39.885 0.973l3.328 71.987c0 0-137.882 16.282-143.718-76.698-5.376-84.992 9.216-125.082 19.917-133.786 10.701-8.806 29.235-25.805 198.093-25.805 237.926 0 150.733 693.402 150.733 752.282zM790.528 444.416c-9.318-10.035-43.11 16.384-75.366 16.384-32.307 0-67.123-17.101-75.315-5.786-8.192 11.213 7.475 101.888 68.301 101.888s91.802-102.605 82.381-112.486zM297.165 759.501c0 11.725 2.97 152.781 2.97 152.781l-179.456-176.128c0 0 124.006 0 148.378 0 24.371 0.051 28.109 11.725 28.109 23.347z" />
<glyph unicode="&#xe800;" d="M0 51.712v526.336q0 183.296 87.040 284.672t265.216 101.376h561.152q-5.12-5.12-53.248-54.272t-102.4-103.424-111.616-111.616-97.28-95.232-43.008-37.888q-15.36 0-15.36 16.384v159.744h-49.152q-60.416 0-96.256-6.144t-64.512-26.624-39.936-58.368-12.288-98.304v-268.288zM68.608-68.096q5.12 5.12 54.272 54.272t102.4 103.424 111.616 112.64 97.28 95.232 41.984 36.864q15.36 0 15.36-16.384v-159.744h49.152q118.784 0 165.888 36.864t46.080 152.576v268.288l229.376 228.352v-526.336q0-183.296-86.016-284.672t-266.24-101.376h-561.152z" horiz-adv-x="982" />
<glyph unicode="&#xe801;" d="M301.056 208.384q14.336 14.336 34.816 14.336t36.864-14.336q32.768-34.816 0-71.68l-43.008-40.96q-57.344-57.344-135.168-57.344-79.872 0-137.216 57.344t-57.344 135.168q0 79.872 57.344 137.216l151.552 151.552q71.68 69.632 147.456 78.848t131.072-44.032q16.384-16.384 16.384-36.864t-16.384-36.864q-36.864-32.768-71.68 0-51.2 49.152-135.168-34.816l-151.552-149.504q-26.624-26.624-26.624-65.536t26.624-63.488q26.624-26.624 64.512-26.624t64.512 26.624zM761.856 796.16q57.344-57.344 57.344-135.168 0-79.872-57.344-137.216l-161.792-161.792q-75.776-73.728-153.6-73.728-63.488 0-114.688 51.2-14.336 14.336-14.336 34.816t14.336 36.864q14.336 14.336 35.84 14.336t35.84-14.336q51.2-49.152 124.928 24.576l161.792 159.744q28.672 28.672 28.672 65.536 0 38.912-28.672 63.488-24.576 26.624-57.344 31.744t-61.44-21.504l-51.2-51.2q-16.384-14.336-36.864-14.336t-34.816 14.336q-34.816 34.816 0 71.68l51.2 51.2q55.296 55.296 130.048 52.224t132.096-62.464z" horiz-adv-x="820" />
<glyph unicode="&#xe802;" d="M877.568 192v-72.704q0-15.36-10.24-25.6t-26.624-11.264h-803.84q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h803.84q15.36 0 26.624-11.264t10.24-25.6zM877.568 484.864v-73.728q0-14.336-10.24-25.6t-26.624-10.24h-803.84q-15.36 0-25.6 10.24t-11.264 25.6v73.728q0 14.336 11.264 25.6t25.6 10.24h803.84q15.36 0 26.624-10.24t10.24-25.6zM877.568 776.704v-72.704q0-15.36-10.24-25.6t-26.624-11.264h-803.84q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 26.624t25.6 10.24h803.84q15.36 0 26.624-10.24t10.24-26.624z" horiz-adv-x="878" />
<glyph unicode="&#xe803;" d="M471.040 919.040q194.56 0 332.8-138.24t138.24-332.8-138.24-332.8-332.8-138.24-332.8 138.24-138.24 332.8 138.24 332.8 332.8 138.24zM471.040 79.36q153.6 0 261.12 108.544t107.52 260.096q0 153.6-107.52 261.12t-261.12 107.52q-151.552 0-260.096-107.52t-108.544-261.12q0-151.552 108.544-260.096t260.096-108.544zM507.904 714.24v-249.856l153.6-153.6-51.2-51.2-174.080 174.080v280.576h71.68z" horiz-adv-x="942" />
<glyph unicode="&#xe804;" d="M254.976 89.6q-34.816 0-57.344 28.672l-184.32 241.664q-16.384 24.576-12.288 53.248t26.624 47.104 52.224 14.336 48.128-28.672l120.832-157.696 303.104 485.376q16.384 24.576 44.032 30.72t54.272-8.192q24.576-16.384 30.72-44.032t-8.192-54.272l-358.4-573.44q-20.48-32.768-57.344-32.768z" horiz-adv-x="684" />
<glyph unicode="&#xe805;" d="M450.56 898.56l122.88-344.064h327.68l-268.288-200.704 96.256-356.352-278.528 212.992-278.528-212.992 96.256 356.352-268.288 200.704h327.68z" horiz-adv-x="902" />
<glyph unicode="&#xe806;" d="M921.6 99.84q-88.064 155.648-212.992 201.728t-337.92 46.080v-223.232l-370.688 342.016 370.688 329.728v-196.608q92.16 0 172.032-27.648t134.144-71.68 98.304-97.28 70.656-106.496 45.056-97.28 24.576-70.656z" horiz-adv-x="922" />
<glyph unicode="&#xe807;" d="M942.080 740.864q-36.864-55.296-96.256-100.352v-24.576q0-133.12-61.44-256t-190.464-207.872-296.96-84.992q-163.84 0-296.96 86.016 14.336-2.048 47.104-2.048 135.168 0 239.616 81.92-63.488 2.048-112.64 38.912t-67.584 96.256q10.24-4.096 34.816-4.096 26.624 0 51.2 6.144-67.584 14.336-110.592 67.584t-43.008 122.88v2.048q36.864-20.48 86.016-24.576-86.016 59.392-86.016 161.792 0 49.152 26.624 96.256 157.696-192.512 399.36-200.704-6.144 18.432-6.144 43.008 0 79.872 56.32 136.192t138.24 56.32q83.968 0 139.264-59.392 61.44 12.288 122.88 45.056-20.48-67.584-83.968-106.496 57.344 8.192 110.592 30.72z" horiz-adv-x="942" />
<glyph unicode="&#xe808;" d="M219.136 192q0-46.080-31.744-77.824t-77.824-31.744-77.824 31.744-31.744 77.824 31.744 77.824 77.824 31.744 77.824-31.744 31.744-77.824zM512 121.344q1.024-15.36-9.216-26.624-11.264-12.288-27.648-12.288h-76.8q-14.336 0-24.576 9.216t-11.264 23.552q-12.288 131.072-105.472 224.256t-224.256 105.472q-14.336 1.024-23.552 11.264t-9.216 24.576v76.8q0 16.384 12.288 26.624 9.216 10.24 24.576 10.24h3.072q91.136-7.168 174.080-46.080t148.48-103.424q64.512-64.512 103.424-148.48t46.080-175.104zM804.864 120.32q1.024-15.36-10.24-26.624-10.24-11.264-26.624-11.264h-81.92q-14.336 0-25.6 10.24t-11.264 23.552q-6.144 122.88-57.344 233.472t-132.096 192.512-192.512 132.096-232.448 58.368q-14.336 0-24.576 11.264t-10.24 24.576v81.92q0 15.36 11.264 26.624 10.24 10.24 25.6 10.24h1.024q150.528-8.192 286.72-68.608t243.712-167.936q106.496-106.496 167.936-243.712t68.608-286.72z" horiz-adv-x="804" />
<glyph unicode="&#xe809;" d="M0 628.224l151.552 151.552 360.448-359.424 360.448 359.424 151.552-151.552-512-512-151.552 151.552z" />
<glyph unicode="&#xe80a;" d="M951.296 100.864v438.272q-18.432-20.48-39.936-37.888-152.576-116.736-243.712-192.512-28.672-24.576-47.104-38.912t-49.152-27.648-58.368-13.312h-2.048q-26.624 0-58.368 13.312t-49.152 27.648-47.104 38.912q-90.112 75.776-243.712 192.512-21.504 17.408-39.936 37.888v-438.272q0-8.192 6.144-13.312t12.288-5.12h841.728q7.168 0 12.288 5.12t6.144 13.312zM951.296 700.928v14.336t-1.024 7.168-1.024 7.168-3.072 5.12-5.12 4.096-8.192 2.048h-841.728q-7.168 0-12.288-6.144t-6.144-12.288q0-96.256 83.968-162.816 110.592-87.040 229.376-181.248 4.096-2.048 20.48-16.384t25.6-21.504 25.6-18.432 28.672-15.36 24.576-5.12h2.048q11.264 0 24.576 5.12t28.672 15.36 25.6 18.432 25.6 21.504 20.48 16.384q118.784 94.208 229.376 181.248 30.72 24.576 57.344 66.56t26.624 74.752zM1024 722.432v-621.568q0-37.888-26.624-64.512t-64.512-27.648h-841.728q-36.864 0-64.512 27.648t-26.624 64.512v621.568q0 37.888 26.624 64.512t64.512 26.624h841.728q37.888 0 64.512-26.624t26.624-64.512z" />
<glyph unicode="&#xe80b;" d="M0 267.776l512 512 512-512-151.552-151.552-360.448 359.424-360.448-359.424z" />
<glyph unicode="&#xe80c;" d="M51.2 558.592q124.928-71.68 337.92-71.68t337.92 71.68l-55.296-497.664q-2.048-14.336-35.84-36.864t-102.4-44.032-144.384-21.504-143.36 21.504-102.4 44.032-36.864 36.864zM550.912 865.792q96.256-18.432 161.792-56.32t65.536-72.704v-10.24q0-59.392-114.688-101.376t-274.432-41.984-274.432 41.984-114.688 101.376v10.24q0 34.816 65.536 72.704t161.792 56.32l43.008 49.152q22.528 26.624 71.68 26.624h94.208q53.248 0 71.68-26.624zM495.616 751.104h86.016q-94.208 112.64-106.496 129.024-14.336 16.384-32.768 16.384h-104.448q-22.528 0-32.768-16.384l-108.544-129.024h86.016l65.536 67.584h83.968z" horiz-adv-x="778" />
<glyph unicode="&#xe80d;" d="M256 896h512v-128h-512zM960 704h-896c-35.2 0-64-28.8-64-64v-320c0-35.2 28.796-64 64-64h192v-256h512v256h192c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM704 64h-384v320h384v-320zM974.4 608c0-25.626-20.774-46.4-46.398-46.4-25.626 0-46.402 20.774-46.402 46.4s20.776 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
<glyph unicode="&#xe904;" d="M896 704v128h-896v-704c0-35.346 28.654-64 64-64h864c53.022 0 96 42.978 96 96v544h-128zM832 128h-768v640h768v-640zM128 640h640v-64h-640zM512 512h256v-64h-256zM512 384h256v-64h-256zM512 256h192v-64h-192zM128 512h320v-320h-320z" />
<glyph unicode="&#xe90d;" d="M959.884 832c0.040-0.034 0.082-0.076 0.116-0.116v-767.77c-0.034-0.040-0.076-0.082-0.116-0.116h-895.77c-0.040 0.034-0.082 0.076-0.114 0.116v767.772c0.034 0.040 0.076 0.082 0.114 0.114h895.77zM960 896h-896c-35.2 0-64-28.8-64-64v-768c0-35.2 28.8-64 64-64h896c35.2 0 64 28.8 64 64v768c0 35.2-28.8 64-64 64v0zM832 672c0-53.020-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM896 128h-768v128l224 384 256-320h64l224 192z" />
<glyph unicode="&#xe911;" d="M960 960h64v-736c0-88.366-100.29-160-224-160s-224 71.634-224 160c0 88.368 100.29 160 224 160 62.684 0 119.342-18.4 160-48.040v368.040l-512-113.778v-494.222c0-88.366-100.288-160-224-160s-224 71.634-224 160c0 88.368 100.288 160 224 160 62.684 0 119.342-18.4 160-48.040v624.040l576 128z" />
<glyph unicode="&#xe913;" d="M0 832v-768h1024v768h-1024zM192 128h-128v128h128v-128zM192 384h-128v128h128v-128zM192 640h-128v128h128v-128zM768 128h-512v640h512v-640zM960 128h-128v128h128v-128zM960 384h-128v128h128v-128zM960 640h-128v128h128v-128zM384 640v-384l256 192z" />
<glyph unicode="&#xe915;" d="M864 768h-512c-88 0-160-72-160-160v-512c0-88 72-160 160-160h512c88 0 160 72 160 160v512c0 88-72 160-160 160zM416 64c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM416 448c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM608 256c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM800 64c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM800 448c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM828.76 832c-14.93 72.804-79.71 128-156.76 128h-512c-88 0-160-72-160-160v-512c0-77.046 55.196-141.83 128-156.76v636.76c0 35.2 28.8 64 64 64h636.76z" />
<glyph unicode="&#xe936;" d="M1232 960h-384c-26.4 0-63.274-15.274-81.942-33.942l-476.116-476.116c-18.668-18.668-18.668-49.214 0-67.882l412.118-412.118c18.668-18.668 49.214-18.668 67.882 0l476.118 476.118c18.666 18.666 33.94 55.54 33.94 81.94v384c0 26.4-21.6 48-48 48zM992 576c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM128 416l544 544h-80c-26.4 0-63.274-15.274-81.942-33.942l-476.116-476.116c-18.668-18.668-18.668-49.214 0-67.882l412.118-412.118c18.668-18.668 49.214-18.668 67.882 0l30.058 30.058-416 416z" horiz-adv-x="1280" />
<glyph unicode="&#xe941;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM320 448c0 106.040 85.96 192 192 192s192-85.96 192-192-85.96-192-192-192-192 85.96-192 192zM925.98 276.524v0l-177.42 73.49c12.518 30.184 19.44 63.276 19.44 97.986s-6.922 67.802-19.44 97.986l177.42 73.49c21.908-52.822 34.020-110.73 34.020-171.476s-12.114-118.654-34.020-171.476v0zM683.478 861.98v0 0l-73.49-177.42c-30.184 12.518-63.276 19.44-97.988 19.44s-67.802-6.922-97.986-19.44l-73.49 177.422c52.822 21.904 110.732 34.018 171.476 34.018 60.746 0 118.654-12.114 171.478-34.020zM98.020 619.476l177.422-73.49c-12.518-30.184-19.442-63.276-19.442-97.986s6.922-67.802 19.44-97.986l-177.42-73.49c-21.906 52.822-34.020 110.73-34.020 171.476s12.114 118.654 34.020 171.476zM340.524 34.020l73.49 177.42c30.184-12.518 63.276-19.44 97.986-19.44s67.802 6.922 97.986 19.44l73.49-177.42c-52.822-21.904-110.73-34.020-171.476-34.020-60.744 0-118.654 12.114-171.476 34.020z" />
<glyph unicode="&#xe96d;" d="M480 960v0c265.096 0 480-173.914 480-388.448s-214.904-388.448-480-388.448c-25.458 0-50.446 1.62-74.834 4.71-103.106-102.694-222.172-121.108-341.166-123.814v25.134c64.252 31.354 116 88.466 116 153.734 0 9.106-0.712 18.048-2.030 26.794-108.558 71.214-177.97 179.988-177.97 301.89 0 214.534 214.904 388.448 480 388.448zM996 89.314c0-55.942 36.314-104.898 92-131.772v-21.542c-103.126 2.318-197.786 18.102-287.142 106.126-21.14-2.65-42.794-4.040-64.858-4.040-95.47 0-183.408 25.758-253.614 69.040 144.674 0.506 281.26 46.854 384.834 130.672 52.208 42.252 93.394 91.826 122.414 147.348 30.766 58.866 46.366 121.582 46.366 186.406 0 10.448-0.45 20.836-1.258 31.168 72.57-59.934 117.258-141.622 117.258-231.676 0-104.488-60.158-197.722-154.24-258.764-1.142-7.496-1.76-15.16-1.76-22.966z" horiz-adv-x="1152" />
<glyph unicode="&#xe994;" d="M933.79 349.75c-53.726 93.054-21.416 212.304 72.152 266.488l-100.626 174.292c-28.75-16.854-62.176-26.518-97.846-26.518-107.536 0-194.708 87.746-194.708 195.99h-201.258c0.266-33.41-8.074-67.282-25.958-98.252-53.724-93.056-173.156-124.702-266.862-70.758l-100.624-174.292c28.97-16.472 54.050-40.588 71.886-71.478 53.638-92.908 21.512-211.92-71.708-266.224l100.626-174.292c28.65 16.696 61.916 26.254 97.4 26.254 107.196 0 194.144-87.192 194.7-194.958h201.254c-0.086 33.074 8.272 66.57 25.966 97.218 53.636 92.906 172.776 124.594 266.414 71.012l100.626 174.29c-28.78 16.466-53.692 40.498-71.434 71.228zM512 240.668c-114.508 0-207.336 92.824-207.336 207.334 0 114.508 92.826 207.334 207.336 207.334 114.508 0 207.332-92.826 207.332-207.334-0.002-114.51-92.824-207.334-207.332-207.334z" />
<glyph unicode="&#xe9ca;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512-0.002c-62.958 0-122.872 13.012-177.23 36.452l233.148 262.29c5.206 5.858 8.082 13.422 8.082 21.26v96c0 17.674-14.326 32-32 32-112.99 0-232.204 117.462-233.374 118.626-6 6.002-14.14 9.374-22.626 9.374h-128c-17.672 0-32-14.328-32-32v-192c0-12.122 6.848-23.202 17.69-28.622l110.31-55.156v-187.886c-116.052 80.956-192 215.432-192 367.664 0 68.714 15.49 133.806 43.138 192h116.862c8.488 0 16.626 3.372 22.628 9.372l128 128c6 6.002 9.372 14.14 9.372 22.628v77.412c40.562 12.074 83.518 18.588 128 18.588 70.406 0 137.004-16.26 196.282-45.2-4.144-3.502-8.176-7.164-12.046-11.036-36.266-36.264-56.236-84.478-56.236-135.764s19.97-99.5 56.236-135.764c36.434-36.432 85.218-56.264 135.634-56.26 3.166 0 6.342 0.080 9.518 0.236 13.814-51.802 38.752-186.656-8.404-372.334-0.444-1.744-0.696-3.488-0.842-5.224-81.324-83.080-194.7-134.656-320.142-134.656z" />
<glyph unicode="&#xea2e;" d="M889.68 793.68c-93.608 102.216-228.154 166.32-377.68 166.32-282.77 0-512-229.23-512-512h96c0 229.75 186.25 416 416 416 123.020 0 233.542-53.418 309.696-138.306l-149.696-149.694h352v352l-134.32-134.32zM928 448c0-229.75-186.25-416-416-416-123.020 0-233.542 53.418-309.694 138.306l149.694 149.694h-352v-352l134.32 134.32c93.608-102.216 228.154-166.32 377.68-166.32 282.77 0 512 229.23 512 512h-96z" />
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Binary file not shown.

View File

@ -25,7 +25,7 @@
{% block pager %}
{% if nb_results > 1 %}
<div class="results">
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %}</div>
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %} <a href="?action=random" class="icon icon-random"><span> {% trans "random" %}</span></a></div>
{{ page_links | raw }}
</div>
{% elseif nb_results == 1 %}

View File

@ -26,6 +26,11 @@
<div class="row mts txtcenter">
<button class="bouton" type="submit" tabindex="4">{% trans "Sign in" %}</button>
</div>
{% if constant('ALLOW_REGISTER') == 1 %}
<div class="register">
<a href="?registerform">{% trans "Register" %}</a>
</div>
{% endif %}
</fieldset>
<input type="hidden" name="returnurl" value="{{ referer }}">
<input type="hidden" name="token" value="{{ token }}">

View File

@ -0,0 +1,28 @@
{% extends "layout-login.twig" %}
{% block content %}
<form method="post" action="?register">
<h2>{% trans 'Add user' %}</h2>
<fieldset class="w500p">
<div class="row">
<label class="col w150p" for="newusername">{% trans 'Login' %}</label>
<input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required>
</div>
<div class="row">
<label class="col w150p" for="password4newuser">{% trans "Password" %}</label>
<input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required>
</div>
<div class="row">
<label class="col w150p" for="newuseremail">{% trans 'Email (not required)' %}</label>
<input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
</div>
<div class="row mts txtcenter">
<button type="submit">{% trans "Register" %}</button>
</div>
<div class="register">
<a href="?">{% trans "Back" %}</a>
</div>
</fieldset>
</form>
{% endblock %}

View File

@ -13,12 +13,14 @@
<li><a title="{% trans "Favorite" %}" class="tool icon icon-star {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="javascript: void(null);" id="setFav"><span>{% trans "Toggle favorite" %}</span></a></li>
<li><a title="{% trans "Delete" %}" class="tool delete icon icon-trash" href="./?action=delete&amp;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@wallabagapp" target="_blank" class="tool twitter icon icon-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 }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %}
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title }}&amp;body={{ content|striptags|slice(0, 700) }}%2E%2E%2E%0A%0A{% trans "Read the rest at" %} {{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %}
{% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
{% if constant('SHARE_EVERNOTE') == 1 %}<li><a href="https://www.evernote.com/clip.action?url={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool evernote icon icon-evernote" title="{% trans "evernote" %}"><span>{% trans "evernote" %}</span></a></li>{% endif %}
{% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %}
{% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %}
{% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans "carrot" %}"><span>Carrot</span></a></li>{% endif %}
{% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %}
{% if constant('RELOAD_ARTICLE') == 1 %}<li><a class="tool reload icon icon-reload" href="./?action=reload_article&amp;id={{ entry.id|e }}" title="{% trans "Reload article" %}"><span>{% trans "Reload article" %}</span></a></li>{% endif %}
{% if constant('EPUB') == 1 %}<li><a href="./?epub&amp;method=id&amp;value={{ entry.id|e }}" title="Generate ePub file">EPUB</a></li>{% endif %}
{% if constant('MOBI') == 1 %}<li><a href="./?mobi&amp;method=id&amp;value={{ entry.id|e }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
{% if constant('PDF') == 1 %}<li><a href="./?pdf&amp;method=id&amp;value={{ entry.id|e }}" title="Generate PDF file">PDF</a></li>{% endif %}

View File

@ -2,6 +2,10 @@
<a href="javascript: void(null);" id="bagit-form-close">&nbsp;</a>
<form method="get" action="index.php" id="bagit-form-form">
<input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" />
<div style="display:inline-block;cursor: pointer;" title="{% trans "Edit tags" %}" id="showtaginput" class="edit-tags">
<span id="showtaginput">Add tags</span>
</div>
<input placeholder="tags, with commas" class="addurl" id="tags2add" name="tags" type="text"/>
<input type="submit" value="{% trans "save link!" %}" />
<div id="add-link-result"></div>
</form>

View File

@ -7,6 +7,8 @@
{% block content %}
<h2>{% trans "About wallabag" %}</h2>
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
<dl>
<dt>{% trans "Project website" %}</dt>
<dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd>
@ -27,8 +29,6 @@
<dd>{{ constant('POCHE') }}</dd>
</dl>
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
<h2>{% trans "Helping wallabag" %}</h2>
<p>{% trans "wallabag is free and opensource. You can help us:" %}</p>

View File

@ -23,11 +23,11 @@
<ul>
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans "download the application" %}</a></li>
</ul>
<h3>{% trans "Bookmarklet" %}</h3>
<p>
{% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
{% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&autoclose=true&url='%20+%20btoa(url),'_blank');})();void(0);}">{% trans "bag it!" %}</a>
</p>
<h2>{% trans "Feeds" %}</h2>

View File

@ -43,6 +43,11 @@ a.carrot span {
background-size: 16px 16px;
}
a.evernote span {
background-image: url('../../_global/img/icons/evernote-icon--black.svg');
background-size: 16px 16px;
}
a.diaspora span {
background-image: url('../../_global/img/icons/diaspora-icon--black.png');
background-size: 16px 16px;
@ -67,3 +72,16 @@ a.bad-display span {
a.print span {
background-image: url('../img/default/print.png');
}
a.reload span {
background-image: url('../img/default/reload.png');
}
.edit-tags span {
background-image: url('../img/default/tags.png');
display: inline-block;
width: 16px;
height: 16px;
/* Hide textual content */
overflow: hidden;
text-align: left;
text-indent: -9999px;
}

View File

@ -151,6 +151,16 @@ a:visited {
text-indent: -9999px;
}
.random {
display: inline-block;
width: 16px;
height: 16px;
overflow: hidden;
text-align: left;
text-indent: -9999px;
background-image: url('../img/default/dice.png');
}
/*** ***/
/*** ARTICLE PAGE ***/

View File

@ -31,7 +31,8 @@
{% block pager %}
{% if nb_results > 1 %}
<div class="results">
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div>
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}
<a class="random" href="?action=random"><span>{% trans "random" %}</span></a></div>
{{ page_links | raw }}
</div>
{% elseif nb_results == 1 %}

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

View File

@ -31,4 +31,9 @@
<input type="hidden" name="token" value="{{ token }}">
</form>
{% endif %}
{% if constant('ALLOW_REGISTER') == 1 %}
<div class="registerform">
<a href="?register">{% trans "Register" %}</a>
</div>
{% endif %}
{% endblock %}

View File

@ -0,0 +1,20 @@
<h2>{% trans 'Add user' %}</h2>
<form method="post" action="?newuser">
<fieldset class="w500p">
<div class="row">
<label class="col w150p" for="newusername">{% trans 'Login' %}</label>
<input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required>
</div>
<div class="row">
<label class="col w150p" for="password4newuser">{% trans "Password" %}</label>
<input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required>
</div>
<div class="row">
<label class="col w150p" for="newuseremail">{% trans 'Email' %}</label>
<input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
</div>
<div class="row mts txtcenter">
<button type="submit">{% trans "Register" %}</button>
</div>
</fieldset>
</form>

View File

@ -12,12 +12,14 @@
<li><a title="{% trans "Favorite" %}" class="tool {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="javascript: void(null);" id="setFav"><span>{% trans "Toggle favorite" %}</span></a></li>
<li><a title="{% trans "Delete" %}" class="tool delete" href="./?action=delete&amp;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@wallabagapp" 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 }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %}
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title }}&amp;body={{ content|striptags|slice(0, 700) }}%2E%2E%2E%0A%0A{% trans "Read the rest at" %} {{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %}
{% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
{% if constant('SHARE_EVERNOTE') == 1 %}<li><a href="https://www.evernote.com/clip.action?url={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool evernote" title="{% trans "evernote" %}"><span>{% trans "evernote" %}</span></a></li>{% endif %}
{% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %}
{% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numFlattrs }}</a></li>{% endif %}{% endif %}
{% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon" target="_blank" title="{% trans "carrot" %}"><span>{% trans "carrot" %}</span></a></li>{% endif %}
{% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %}
{% if constant('RELOAD_ARTICLE') == 1 %}<li><a class="tool reload" href="./?action=reload_article&amp;id={{ entry.id|e }}" title="{% trans "Reload article" %}"><span>{% trans "Reload article" %}</span></a></li>{% endif %}}
{% if constant('EPUB') == 1 %}<li><a href="./?epub&amp;method=id&amp;value={{ entry.id|e }}" title="Generate ePub file">EPUB</a></li>{% endif %}
{% if constant('MOBI') == 1 %}<li><a href="./?mobi&amp;method=id&amp;value={{ entry.id|e }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
{% if constant('PDF') == 1 %}<li><a href="./?pdf&amp;method=id&amp;value={{ entry.id|e }}" title="Generate PDF file">PDF</a></li>{% endif %}