diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9ccb0b149..58bc71345 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -26,3 +26,5 @@ Note : If you have large portions of text, use [Github's Gist service](https://g
## You want to fix a bug or to add a feature
Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**.
+
+[Don't forget to read our guidelines](https://github.com/wallabag/wallabag/blob/dev/GUIDELINES.md).
\ No newline at end of file
diff --git a/CREDITS.md b/CREDITS.md
index 7ec3cbb7a..f1e9d7af4 100644
--- a/CREDITS.md
+++ b/CREDITS.md
@@ -11,4 +11,6 @@ wallabag is based on :
wallabag is mainly developed by Nicolas Lœuillet under the MIT License
+Thank you so much to @tcitworld and @mariroz.
+
Contributors : https://github.com/wallabag/wallabag/graphs/contributors
\ No newline at end of file
diff --git a/GUIDELINES.md b/GUIDELINES.md
new file mode 100644
index 000000000..51e0de936
--- /dev/null
+++ b/GUIDELINES.md
@@ -0,0 +1,53 @@
+# Guidelines for wallabag
+
+If you want to contribute to wallabag, you have some rules to respect. These rules were defined by [PHP Framework Interop Group](http://www.php-fig.org).
+
+## Basic Coding Standard (PSR-1)
+
+This section of the standard comprises what should be considered the standard coding elements that are required to ensure a high level of technical interoperability between shared PHP code.
+
+* Files MUST use only ` "short_open_tag = On"');
+ }
+}
\ No newline at end of file
diff --git a/check_setup.php b/check_setup.php
old mode 100644
new mode 100755
index eee5d24a4..cf02c34ba
--- a/check_setup.php
+++ b/check_setup.php
@@ -1,22 +1,8 @@
"short_open_tag = On"');
- }
-}
-
-$writableFolders = array('cache', 'db');
-foreach ($writableFolders as $folder) {
- if (! is_writable($folder)) {
- die('The directory "' . $folder . '" must be writeable by your web server user');
- }
+// Check if /cache is writeable
+if (! is_writable('cache')) {
+ die('The directory "cache" must be writeable by your web server user');
}
// install folder still present, need to install wallabag
diff --git a/inc/3rdparty/libraries/readability/Readability.php b/inc/3rdparty/libraries/readability/Readability.php
old mode 100644
new mode 100755
index d0f09d74c..4fa3ba63d
--- a/inc/3rdparty/libraries/readability/Readability.php
+++ b/inc/3rdparty/libraries/readability/Readability.php
@@ -679,6 +679,7 @@ class Readability
} else {
$topCandidate->innerHTML = $page->documentElement->innerHTML;
$page->documentElement->innerHTML = '';
+ $this->reinitBody();
$page->documentElement->appendChild($topCandidate);
}
} else {
@@ -794,8 +795,7 @@ class Readability
{
// TODO: find out why element disappears sometimes, e.g. for this URL http://www.businessinsider.com/6-hedge-fund-etfs-for-average-investors-2011-7
// in the meantime, we check and create an empty element if it's not there.
- if (!isset($this->body->childNodes)) $this->body = $this->dom->createElement('body');
- $this->body->innerHTML = $this->bodyCache;
+ $this->reinitBody();
if ($this->flagIsActive(self::FLAG_STRIP_UNLIKELYS)) {
$this->removeFlag(self::FLAG_STRIP_UNLIKELYS);
@@ -1134,5 +1134,18 @@ class Readability
public function removeFlag($flag) {
$this->flags = $this->flags & ~$flag;
}
+
+ /**
+ * Will recreate previously deleted body property
+ *
+ * @return void
+ */
+ protected function reinitBody() {
+ if (!isset($this->body->childNodes)) {
+ $this->body = $this->dom->createElement('body');
+ $this->body->innerHTML = $this->bodyCache;
+ }
+ }
+
}
?>
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/custom/blogs.faz.net.txt b/inc/3rdparty/site_config/custom/blogs.faz.net.txt
new file mode 100644
index 000000000..4f2626f1d
--- /dev/null
+++ b/inc/3rdparty/site_config/custom/blogs.faz.net.txt
@@ -0,0 +1,45 @@
+# Author: zinnober
+
+tidy: no
+prune: no
+
+# Set author
+author: //a[@rel='author']
+
+# Set date
+date: //span[@class='Datum']
+
+# Content is here
+body: //div[@class='Artikel']
+
+# Tidy up before article
+strip: //div[@id='FAZHeaderNeu']
+strip: //h2[@itemprop='headline']
+strip: //span[@class='Datum']
+strip: //span[@class='Autor']
+strip_id_or_class: ArticlePagerTop
+strip: //div[@class='FAZArtikelEinleitung']/h2
+
+# General cleanup
+strip: //div[@class='clear']
+strip: //span[@class='Bildnachweis']
+strip: //iframe
+strip_id_or_class: Community
+strip: ' · '
+
+# Remove tracking and ads
+strip_image_src: /l.gif?
+strip: //img[@width='1']
+strip_id_or_class: invisible
+strip_id_or_class: Anzeige
+strip_id_or_class: billboard
+
+# Remove clutter after article
+strip_id_or_class: Tagline
+strip_id_or_class: ArtikelAbbinder
+strip_id_or_class: FAZArtikelKommentare
+strip_id_or_class: ArtikelKommentieren
+strip_id_or_class: FAZContentRight
+
+# Try it yourself
+test_url: http://blogs.faz.net/wost/2014/08/17/viel-fuck-und-wenig-guter-sex-1239/
diff --git a/inc/3rdparty/site_config/standard/.about.com.txt b/inc/3rdparty/site_config/standard/.about.com.txt
new file mode 100644
index 000000000..e1ebaee3f
--- /dev/null
+++ b/inc/3rdparty/site_config/standard/.about.com.txt
@@ -0,0 +1,14 @@
+body: //div[@id='articlebody']
+title: //h1
+author: //p[@id='by']//a
+
+next_page_link: //span[@class='next']/a
+# Not the same as below!
+
+prune: yes
+tidy: no
+
+# Annoying 'next' links plainly inside the article body
+strip: //*[text()[contains(.,'Next: ')]]
+
+test_url: http://psychology.about.com/od/theoriesofpersonality/ss/defensemech.htm
diff --git a/inc/3rdparty/site_config/standard/dn.pt.txt b/inc/3rdparty/site_config/standard/dn.pt.txt
new file mode 100755
index 000000000..051b8cb98
--- /dev/null
+++ b/inc/3rdparty/site_config/standard/dn.pt.txt
@@ -0,0 +1,9 @@
+single_page_link: concat('http://www.dn.pt/Common/print.aspx?content_id=', //input[@type='hidden' and @name='link-comments']/@value)
+#
+
+title: //h1
+author: //div[@class="Author"]
+
+strip: //div[@class="Patrocinio"]
+
+test_url: http://www.dn.pt/inicio/opiniao/interior.aspx?content_id=3972244&seccao=Alberto%20Gon%E7alves&tag=Opini%E3o%20-%20Em%20Foco&page=1
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/standard/faz.net.txt b/inc/3rdparty/site_config/standard/faz.net.txt
old mode 100755
new mode 100644
index d087d2aa2..47048a1b2
--- a/inc/3rdparty/site_config/standard/faz.net.txt
+++ b/inc/3rdparty/site_config/standard/faz.net.txt
@@ -1,36 +1,101 @@
+# Author: zinnober
+# Complete rewrite of the faz.net template as the standard one is broken
+# I tried to consider as many page variants as possible, which was some serious work
+
+tidy: no
+prune: no
+
# Title
title: //p[@class='Content HeadlineShort']
-# Authors
-# some are known and have a link, others don't
-author: substring-after(//span[@class='Autor'], 'Von')
+# Set author
+author: substring-after(//span[@class='Autor'], 'von ')
+author: //span[@class='caps last']/span[@class='caps last']
+author: //a[@rel='author']
-# Date
+# Set date
date: //span[@class='Datum']
+date: //span[@class='Datum'],/span
-# Body
+# Fetch full multipage articles
+next_page_link: //a[@title='Nächste Seite']
+
+# Content is here
body: //div[@class='Artikel']
-# Removements before body text
-strip: //div[@class='Breadcrumbs']
-strip: //div[@class='QuickSearchBox']
-strip: //div[@class='FAZArtikelEinleitung']
-strip: //div[@class='FAZArtikelReiter']
+# Tidy up before article
+strip: //div[@id='FAZHeaderNeu']
+strip: //h2[@itemprop='headline']
+strip: //span[@class='Datum']
+strip: //span[@class='Autor']
+strip_id_or_class: ArticlePagerTop
+
+# General cleanup
strip: //div[@class='clear']
+strip: //a[@title='Zur Homepage FAZ.NET']
+strip: //iframe
+replace_string( · ):
-# General removements
-strip: //span[@class='Bildnachweis']
-strip: //img[@class='MediaIcon']
-strip: //div[@class='ArtikelMediaLink']
-dissolve: //a[img]
+# Remove tracking and ads
+strip_image_src: /l.gif?
+strip: //div[contains(@style, 'background-image')]
+strip: //img[@width='1']
+strip_id_or_class: invisible
+strip_id_or_class: Anzeige
+strip_id_or_class: billboard
-# Removements after body text
-strip: //div[@class='ArtikelAbbinder']
-strip: //div[@class='ArtikelKommentieren Artikelfuss GETS;tk;boxen.top-lesermeinungen;tp;content']
-strip: //div[@class='FAZArtikelKommentare FAZArtikelContent']
-strip: //div[@class='FAZArtikelFunktionen']
-strip: //div[@id='FAZContentRight']
+# Remove various text boxes and social media foo
+strip_id_or_class: WeitereBeitraege
+strip_id_or_class: WBListe
+strip_id_or_class: AutorenModul
+strip_id_or_class: Community
+strip_id_or_class: SocialMediaStatus
+strip_id_or_class: RelatedLinkBox
+strip_id_or_class: MultimediaNavigation
+strip_id_or_class: IndexTitel
+
+# Fix picture caps and pictures (use better resolution and remove clutter)
+strip_id_or_class: LightBoxOverlay
+strip_id_or_class: exitLarge
+strip_id_or_class: PagerBox
+strip_id_or_class: Bildnachweis
+strip_id_or_class: Bildueberschrift
+strip_id_or_class: Bildbeschreibung
+strip_id_or_class: ArtikelBild610
+strip_id_or_class: MediaLink
+strip_id_or_class: FotoBoxInnerLeft
+strip_id_or_class: BilderRelatedLinks
+
+# Remove clutter after article
+strip_id_or_class: ArticlePagerBottom
+strip_id_or_class: backToHome
+strip_id_or_class: ArtikelAbbinder
+strip_id_or_class: lesermeinungscontainer
+strip_id_or_class: ThemenLinks
+strip_id_or_class: rechtehinweis
+strip_id_or_class: FAZArtikelMap
+strip_id_or_class: FAZArtikelKommentare
+strip_id_or_class: ArtikelKommentieren
+strip_id_or_class: FAZArtikelFunktionen
+strip_id_or_class: mailLB
+strip_id_or_class: FAZContentRight
+strip_id_or_class: stageModule
+strip_id_or_class: ContentFooter
+strip_id_or_class: ServicesFooter
+strip_id_or_class: FAZFooter
+
+# Clean up stuff present just in some articles
+strip_id_or_class: Teaser620
+strip_id_or_class: TeaserMultimedia
+strip_id_or_class: VideoBox
+
+# Remove as soon as Wallabag maight be able to embed flash video
+strip_id_or_class: mmoObjectAsTeaserInArticle
+strip_id_or_class: additionalStylesAudioVideo
+strip_id_or_class: hideMMElements
+
+# Try it yourself
+test_url: http://www.faz.net/aktuell/feuilleton/zum-tod-von-margaret-thatcher-die-reizfigur-12141919.html#Drucken
+test_url: http://www.faz.net/aktuell/politik/inland/allensbach-analyse-im-namen-des-volkes-13106492.html
+test_url: http://www.faz.net/aktuell/feuilleton/kino/video-filmkritiken/video-filmkritik-when-animals-dream-zerrissene-jugend-13105772.html
-# Fix picture captions
-wrap_in(small): //span[@class='Bildunterschrift']/text()
-test_url: http://www.faz.net/aktuell/feuilleton/zum-tod-von-margaret-thatcher-die-reizfigur-12141919.html#Drucken
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/standard/habrahabr.ru.txt b/inc/3rdparty/site_config/standard/habrahabr.ru.txt
new file mode 100755
index 000000000..675383595
--- /dev/null
+++ b/inc/3rdparty/site_config/standard/habrahabr.ru.txt
@@ -0,0 +1,21 @@
+title: //span[@class="post_title"]
+author: //div[@class="author"]
+date: //div[@class="published
+
+body: //div[@class='content html_format'] | //div[@id='comments']
+
+strip: //a[@class="link_to_comment"]
+strip: //div[@class="show_tree"]
+strip: //a[@class="to_parent"]
+
+
+replace_string(class="reply_comments"): style="padding-left: 20px"
+replace_string(class="voting "): style="float: right"
+replace_string(src="//habrastorage.org/getpro/habr/avatars/): style="width:24px; height:24px;" class="123" src="//habrastorage.org/getpro/habr/avatars/
+replace_string(class="info "): style="padding-top:5px;font-size:0.85em;line-height:24px;"
+
+
+prune: no
+tidy: no
+
+test_url: http://habrahabr.ru/post/229883/
\ No newline at end of file
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php
index 2c80b64b5..dfd7ae349 100755
--- a/inc/poche/Database.class.php
+++ b/inc/poche/Database.class.php
@@ -23,6 +23,10 @@ class Database {
{
switch (STORAGE) {
case 'sqlite':
+ // Check if /db is writeable
+ if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) {
+ die('An error occured: "db" directory must be writeable for your web server user!');
+ }
$db_path = 'sqlite:' . STORAGE_SQLITE;
$this->handle = new PDO($db_path);
break;
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index a49413f23..c80e5d2a9 100755
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -524,6 +524,14 @@ class Poche
$longlastingsession = isset($_POST['longlastingsession']);
$passwordTest = ($isauthenticated) ? $user['password'] : Tools::encodeString($password . $login);
Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user)));
+
+ # reload l10n
+ $language = $user['config']['language'];
+ @putenv('LC_ALL=' . $language);
+ setlocale(LC_ALL, $language);
+ bindtextdomain($language, LOCALE);
+ textdomain($language);
+
$this->messages->add('s', _('welcome to your wallabag'));
Tools::logm('login successful');
Tools::redirect($referer);
@@ -551,42 +559,39 @@ class Poche
* import datas into your wallabag
* @return boolean
*/
- public function import()
- {
- if (isset($_FILES['file'])) {
- Tools::logm('Import stated: parsing file');
- // assume, that file is in json format
+ public function import() {
- $str_data = file_get_contents($_FILES['file']['tmp_name']);
- $data = json_decode($str_data, true);
- if ($data === null) {
+ if ( isset($_FILES['file']) && $_FILES['file']['tmp_name'] ) {
+ Tools::logm('Import stated: parsing file');
- // not json - assume html
+ // assume, that file is in json format
+ $str_data = file_get_contents($_FILES['file']['tmp_name']);
+ $data = json_decode($str_data, true);
- $html = new simple_html_dom();
- $html->load_file($_FILES['file']['tmp_name']);
- $data = array();
- $read = 0;
- foreach(array('ol','ul') as $list) {
- foreach($html->find($list) as $ul) {
- foreach($ul->find('li') as $li) {
- $tmpEntry = array();
- $a = $li->find('a');
- $tmpEntry['url'] = $a[0]->href;
- $tmpEntry['tags'] = $a[0]->tags;
- $tmpEntry['is_read'] = $read;
- if ($tmpEntry['url']) {
- $data[] = $tmpEntry;
- }
- }
-
- // the second
is for read links
-
- $read = ((sizeof($data) && $read) ? 0 : 1);
- }
- }
+ if ( $data === null ) {
+ //not json - assume html
+ $html = new simple_html_dom();
+ $html->load_file($_FILES['file']['tmp_name']);
+ $data = array();
+ $read = 0;
+ foreach (array('ol','ul') as $list) {
+ foreach ($html->find($list) as $ul) {
+ foreach ($ul->find('li') as $li) {
+ $tmpEntry = array();
+ $a = $li->find('a');
+ $tmpEntry['url'] = $a[0]->href;
+ $tmpEntry['tags'] = $a[0]->tags;
+ $tmpEntry['is_read'] = $read;
+ if ($tmpEntry['url']) {
+ $data[] = $tmpEntry;
+ }
+ }
+ # the second is for read links
+ $read = ((sizeof($data) && $read)?0:1);
}
+ }
+ }
// for readability structure
@@ -629,9 +634,11 @@ class Poche
$this->messages->add('s', _('Articles inserted: ') . $i . _('. Please note, that some may be marked as "read".'));
}
- Tools::logm('Import of articles finished: ' . $i . ' articles added (w/o content if not provided).');
- }
-
+ Tools::logm('Import of articles finished: '.$i.' articles added (w/o content if not provided).');
+ }
+ else {
+ $this->messages->add('s', _('Did you forget to select a file?'));
+ }
// file parsing finished here
// now download article contents if any
// check if we need to download any content
@@ -750,8 +757,8 @@ class Poche
die(sprintf(_('User with this id (%d) does not exist.'), $user_id));
}
- if (!in_array($type, $allowed_types) || $token != $config['token']) {
- die(_('Uh, there is a problem while generating feeds.'));
+ if (!in_array($type, $allowed_types) || !isset($config['token']) || $token != $config['token']) {
+ die(_('Uh, there is a problem while generating feed. Wrong token used?'));
}
$feed = new FeedWriter(RSS2);
diff --git a/inc/poche/Routing.class.php b/inc/poche/Routing.class.php
old mode 100644
new mode 100755
index 2db57d127..0b3730580
--- a/inc/poche/Routing.class.php
+++ b/inc/poche/Routing.class.php
@@ -98,49 +98,50 @@ class Routing
private function _launchAction()
{
if (isset($_GET['login'])) {
- // hello you
- $this->wallabag->login($this->referer);
- } elseif (isset($_GET['logout'])) {
- // see you soon !
- $this->wallabag->logout();
- } elseif (isset($_GET['config'])) {
- // update password
- $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']);
- } elseif (isset($_GET['newuser'])) {
- $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser']);
- } elseif (isset($_GET['deluser'])) {
- $this->wallabag->deleteUser($_POST['password4deletinguser']);
- } elseif (isset($_GET['epub'])) {
- $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']);
- $epub->run();
- } elseif (isset($_GET['import'])) {
- $import = $this->wallabag->import();
- $tplVars = array_merge($this->vars, $import);
- } elseif (isset($_GET['download'])) {
- Tools::downloadDb();
- } elseif (isset($_GET['empty-cache'])) {
- Tools::emptyCache();
- } elseif (isset($_GET['export'])) {
- $this->wallabag->export();
- } elseif (isset($_GET['updatetheme'])) {
- $this->wallabag->tpl->updateTheme($_POST['theme']);
- } elseif (isset($_GET['updatelanguage'])) {
- $this->wallabag->language->updateLanguage($_POST['language']);
- } elseif (isset($_GET['uploadfile'])) {
- $this->wallabag->uploadFile();
- } elseif (isset($_GET['feed'])) {
- if (isset($_GET['action']) && $_GET['action'] == 'generate') {
+ // hello to you
+ $this->wallabag->login($this->referer);
+ } elseif (isset($_GET['feed']) && isset($_GET['user_id'])) {
+ $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0);
+ $this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type']);
+ }
+
+ //allowed ONLY to logged in user
+ if (\Session::isLogged() === true)
+ {
+ if (isset($_GET['logout'])) {
+ // see you soon !
+ $this->wallabag->logout();
+ } elseif (isset($_GET['config'])) {
+ // update password
+ $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']);
+ } elseif (isset($_GET['newuser'])) {
+ $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser']);
+ } elseif (isset($_GET['deluser'])) {
+ $this->wallabag->deleteUser($_POST['password4deletinguser']);
+ } elseif (isset($_GET['epub'])) {
+ $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['id'], $_GET['value']);
+ $epub->run();
+ } elseif (isset($_GET['import'])) {
+ $import = $this->wallabag->import();
+ $tplVars = array_merge($this->vars, $import);
+ } elseif (isset($_GET['empty-cache'])) {
+ Tools::emptyCache();
+ } elseif (isset($_GET['export'])) {
+ $this->wallabag->export();
+ } elseif (isset($_GET['updatetheme'])) {
+ $this->wallabag->tpl->updateTheme($_POST['theme']);
+ } elseif (isset($_GET['updatelanguage'])) {
+ $this->wallabag->language->updateLanguage($_POST['language']);
+ } elseif (isset($_GET['uploadfile'])) {
+ $this->wallabag->uploadFile();
+ } elseif (isset($_GET['feed']) && isset($_GET['action']) && $_GET['action'] == 'generate') {
$this->wallabag->updateToken();
}
- else {
- $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0);
- $this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type']);
+ elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) {
+ $plainUrl = new Url(base64_encode($_GET['plainurl']));
+ $this->wallabag->action('add', $plainUrl);
}
}
- elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) {
- $plainUrl = new Url(base64_encode($_GET['plainurl']));
- $this->wallabag->action('add', $plainUrl);
- }
}
public function _render($file, $vars)
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php
index 63137d765..93ec3fc6a 100755
--- a/inc/poche/Tools.class.php
+++ b/inc/poche/Tools.class.php
@@ -54,6 +54,10 @@ final class Tools
|| ($https && $_SERVER["SERVER_PORT"] == '443')
|| ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection
? '' : ':' . $_SERVER["SERVER_PORT"]);
+
+ if (isset($_SERVER["HTTP_X_FORWARDED_PORT"])) {
+ $serverport = ':' . $_SERVER["HTTP_X_FORWARDED_PORT"];
+ }
$scriptname = str_replace('/index.php', '/', $_SERVER["SCRIPT_NAME"]);
@@ -294,21 +298,6 @@ final class Tools
}
}
- /**
- * Download the sqlite database
- */
- public static function downloadDb()
- {
- header('Content-Disposition: attachment; filename="poche.sqlite.gz"');
- self::_status(200);
-
- header('Content-Transfer-Encoding: binary');
- header('Content-Type: application/octet-stream');
- echo gzencode(file_get_contents(STORAGE_SQLITE));
-
- exit;
- }
-
/**
* Get the content for a given URL (by a call to FullTextFeed)
*
diff --git a/inc/poche/config.inc.default.php b/inc/poche/config.inc.default.php
index 6f03af188..2a458544f 100755
--- a/inc/poche/config.inc.default.php
+++ b/inc/poche/config.inc.default.php
@@ -59,7 +59,7 @@
@define ('LOCALE', ROOT . '/locale');
@define ('CACHE', ROOT . '/cache');
-@define ('PAGINATION', '10');
+@define ('PAGINATION', '12');
//limit for download of articles during import
@define ('IMPORT_LIMIT', 5);
diff --git a/inc/poche/pochePictures.php b/inc/poche/pochePictures.php
index 7a914f90f..52394c703 100644
--- a/inc/poche/pochePictures.php
+++ b/inc/poche/pochePictures.php
@@ -33,7 +33,7 @@ final class Picture
}
if (self::_downloadPictures($absolute_path, $fullpath) === true) {
- $content = str_replace($matches[$i][2], $fullpath, $content);
+ $content = str_replace($matches[$i][2], Tools::getPocheUrl() . $fullpath, $content);
}
$processing_pictures[] = $absolute_path;
diff --git a/index.php b/index.php
index a26f458ae..39990d55a 100755
--- a/index.php
+++ b/index.php
@@ -9,6 +9,7 @@
*/
define ('POCHE', '1.8.0');
+require 'check_essentials.php';
require 'check_setup.php';
require_once 'inc/poche/global.inc.php';
diff --git a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo
old mode 100755
new mode 100644
index b363385ac..297516c00
Binary files a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo and b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo differ
diff --git a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po
index 1764bd612..e39156e61 100755
--- a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po
+++ b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po
@@ -1,58 +1,40 @@
msgid ""
msgstr ""
-"Project-Id-Version: wballabag\n"
+"Project-Id-Version: wallabag\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-02-24 15:19+0300\n"
-"PO-Revision-Date: 2014-02-24 15:29+0300\n"
-"Last-Translator: Maryana \n"
+"POT-Creation-Date: 2014-02-25 15:17+0300\n"
+"PO-Revision-Date: \n"
+"Last-Translator: skibbipl \n"
"Language-Team: \n"
-"Language: \n"
+"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
+"X-Generator: Poedit 1.6.6\n"
"X-Poedit-Basepath: .\n"
-"X-Poedit-Language: Polish\n"
-"X-Poedit-Country: POLAND\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-"
+"testing\n"
-msgid "poche, a read it later open source system"
-msgstr "poche, serwis odrocznego czytania open source"
+msgid "wallabag, a read it later open source system"
+msgstr "wallabag, open source'owy system typu \"przeczytaj to później\""
msgid "login failed: user doesn't exist"
-msgstr "logowanie nie udało się: użytkownik nie istnieje"
+msgstr "logowanie się nie powiodło: użytkownik nie istnieje"
-msgid "home"
-msgstr "strona domowa"
-
-msgid "favorites"
-msgstr "ulubione"
-
-msgid "archive"
-msgstr "archiwum"
-
-msgid "tags"
-msgstr "tagi"
+msgid "return home"
+msgstr "powrót do strony domowej"
msgid "config"
-msgstr "ustawienia"
+msgstr "konfiguracja"
-msgid "logout"
-msgstr "wyloguj"
+msgid "Saving articles"
+msgstr "Zapisywanie artykułów"
-msgid "back to home"
-msgstr "wróć do strony domowej"
-
-msgid "Tags"
-msgstr "Tagi"
-
-#, fuzzy
-msgid "Poching a link"
-msgstr "Zapisywanie linków"
-
-msgid "You can poche a link by several methods:"
-msgstr "Istnieje kilka sposobów aby zapisać link:"
+msgid "There are several ways to save an article:"
+msgstr "Istnieje kilka sposobów aby zapisać artykuł:"
msgid "read the documentation"
msgstr "przeczytaj dokumentację"
@@ -60,54 +42,98 @@ msgstr "przeczytaj dokumentację"
msgid "download the extension"
msgstr "pobierz rozszerzenie"
+msgid "via F-Droid"
+msgstr "przez F-Droid"
+
+msgid " or "
+msgstr "albo "
+
+msgid "via Google Play"
+msgstr "przez Google Play"
+
msgid "download the application"
msgstr "pobierz aplikację"
-#, fuzzy
-msgid "by filling this field"
+msgid "By filling this field"
msgstr "Poprzez wypełnienie tego pola"
-msgid "poche it!"
+msgid "bag it!"
msgstr "zapisz!"
-#, fuzzy
-msgid "bookmarklet: drag & drop this link to your bookmarks bar"
-msgstr "Bookmarklet: przeciągnij i upucs ten link na pasek zakladek"
+msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
+msgstr "Skryptozakładka: przeciągnij i upuść ten link na twój pasek zakładek"
-msgid "Updating poche"
-msgstr "Aktualizacja poche"
+msgid "Upgrading wallabag"
+msgstr "Aktualizacja wallabag"
-msgid "your version"
-msgstr "twoja wersja"
+msgid "Installed version"
+msgstr "Zainstalowana wersja"
-#, fuzzy
-msgid "latest stable version"
+msgid "Latest stable version"
msgstr "Najnowsza stabilna wersja"
-#, fuzzy
-msgid "a more recent stable version is available."
+msgid "A more recent stable version is available."
msgstr "Nowsza stabilna wersja jest dostępna."
-msgid "you are up to date."
-msgstr "brak nowych aktualizacji."
+msgid "You are up to date."
+msgstr "Posiadasz najnowszą wersję."
-msgid "latest dev version"
-msgstr "najnowsza wersja rozwojowa"
+msgid "Latest dev version"
+msgstr "Najnowsza wersja developerska"
-msgid "a more recent development version is available."
-msgstr "Nowsza wersja rozwojowa jest dostępna."
+msgid "A more recent development version is available."
+msgstr "Nowsza developerska wersja jest dostępna."
+
+msgid "Feeds"
+msgstr "Kanały"
+
+msgid ""
+"Your feed token is currently empty and must first be generated to enable "
+"feeds. Click here to generate it."
+msgstr ""
+"Twój token kanału jest aktualnie pusty i musi zostać wygenerowany, aby "
+"włączyć kanały. Kliknij tutaj, aby go "
+"wygenerować."
+
+msgid "Unread feed"
+msgstr "Nieprzeczytane kanały"
+
+msgid "Favorites feed"
+msgstr "Ulubione kanały"
+
+msgid "Archive feed"
+msgstr "Kanały archiwum"
+
+msgid "Your token:"
+msgstr "Twój token:"
+
+msgid "Your user id:"
+msgstr "Twój id użytkownika:"
+
+msgid ""
+"You can regenerate your token: generate!"
+"."
+msgstr ""
+"Możesz wygenewrować ponownie swój token: generuj!."
msgid "Change your theme"
-msgstr "Zmień motyw"
+msgstr "Zmień swój motyw"
msgid "Theme:"
msgstr "Motyw:"
msgid "Update"
-msgstr "Aktualizacja"
+msgstr "Aktualizuj"
+
+msgid "Change your language"
+msgstr "Zmień język"
+
+msgid "Language:"
+msgstr "Język:"
msgid "Change your password"
-msgstr "Zmień hasło"
+msgstr "Zmień swoje hasło"
msgid "New password:"
msgstr "Nowe hasło:"
@@ -116,91 +142,104 @@ msgid "Password"
msgstr "Hasło"
msgid "Repeat your new password:"
-msgstr "Powtórz hasło jeszcze raz:"
+msgstr "Powtórz twoje nowe hasło:"
msgid "Import"
msgstr "Import"
-msgid "Please execute the import script locally, it can take a very long time."
-msgstr "Proszę wykonać skrypt importu lokalnie, ponieważ moze to trwać bardzo długo."
+msgid ""
+"Please execute the import script locally as it can take a very long time."
+msgstr ""
+"Proszę wykonaj skrypt importu lokalnie, ponieważ może to trwać bardzo długo."
-msgid "More infos in the official doc:"
-msgstr "Więcej informacji znajduje się w oficjalnej dokumentacji:"
+msgid "More info in the official documentation:"
+msgstr "Więcej informacji znajdziesz w oficjalnej dokumentacji:"
-msgid "import from Pocket"
-msgstr "Importuj z Pocket'a"
+msgid "Import from Pocket"
+msgstr "Importuj z Pocket"
#, php-format
msgid "(you must have a %s file on your server)"
-msgstr "(musisz mieć plik %s na serwerze)"
+msgstr "(musisz mieć plik %s na swoim serwerze)"
-msgid "import from Readability"
+msgid "Import from Readability"
msgstr "Importuj z Readability"
-msgid "import from Instapaper"
+msgid "Import from Instapaper"
msgstr "Importuj z Instapaper"
-#, fuzzy
-msgid "Export your poche datas"
-msgstr "Exportuj dane poche"
+msgid "Import from wallabag"
+msgstr "Importuj z wallabag"
+
+msgid "Export your wallabag data"
+msgstr "Wyeksportuj swoje dane wallabag"
msgid "Click here"
msgstr "Kliknij tu"
-#, fuzzy
-msgid "to export your poche datas."
-msgstr "aby wyeksportować dane poche."
+msgid "to download your database."
+msgstr "aby pobrać twoją bazę danych."
+
+msgid "to export your wallabag data."
+msgstr "aby wyeksportować dane wallabag."
+
+msgid "Cache"
+msgstr "Cache"
+
+msgid "to delete cache."
+msgstr "aby wyczyścić cache."
+
+msgid "You can enter multiple tags, separated by commas."
+msgstr "Możesz wprowadzić wiele tagów, oddzielonych przecinkami."
+
+msgid "return to article"
+msgstr "powrót do artykułu"
msgid "plop"
msgstr "plop"
-msgid "installation"
-msgstr "instalacja"
-
-msgid "install your wallabag"
-msgstr "zainstaluj wallabag"
-
-msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to read the documentation on wallabag website."
-msgstr "wallabag nie jest jeszcze zainstalowany. Proszę wypełnić poniższy formularz, aby go zainstalować. Nie wahaj się zapoznać się z dokumentacją na stronie wallabag."
-
-msgid "Login"
-msgstr "Login"
-
-msgid "Repeat your password"
-msgstr "Powtórz hasło"
-
-msgid "Install"
-msgstr "Instaluj"
+msgid ""
+"You can check your configuration "
+"here."
+msgstr ""
+"Możesz sprawdzić swoją "
+"konfigurację tutaj."
msgid "favoris"
-msgstr "ulubione"
+msgstr "favoris"
+
+msgid "archive"
+msgstr "archiwum"
msgid "unread"
msgstr "nieprzeczytane"
msgid "by date asc"
-msgstr "według daty rosnąco"
+msgstr "po dacie rosnąco"
msgid "by date"
-msgstr "wg daty"
+msgstr "po dacie"
msgid "by date desc"
-msgstr "według daty malejąco"
+msgstr "po dacie malejąco"
msgid "by title asc"
-msgstr "według tytułu rosnąco"
+msgstr "po tytule rosnąco"
msgid "by title"
-msgstr "wg tytułu"
+msgstr "po tytule"
msgid "by title desc"
-msgstr "według tytułu malejąco"
+msgstr "po tytule malejąco"
-msgid "No link available here!"
-msgstr "Brak dostępnych linków!"
+msgid "Tag"
+msgstr "Otaguj"
-msgid "toggle mark as read"
-msgstr "przełącz jako przeczytane"
+msgid "No articles found."
+msgstr "Nie znaleziono artykułów."
+
+msgid "Toggle mark as read"
+msgstr "Przełącz jako przeczytane"
msgid "toggle favorite"
msgstr "przełącz ulubione"
@@ -212,212 +251,82 @@ msgid "original"
msgstr "oryginał"
msgid "estimated reading time:"
-msgstr "szacowany czas odczytu:"
+msgstr "szacowany czas czytania:"
+
+msgid "mark all the entries as read"
+msgstr "zaznacz wszystkie wpisy jako przeczytane"
msgid "results"
-msgstr "wyniki"
+msgstr "rezultaty"
+
+msgid "installation"
+msgstr "instalacja"
+
+msgid "install your wallabag"
+msgstr "zainstauj wallabag"
+
+msgid ""
+"wallabag is still not installed. Please fill the below form to install it. "
+"Don't hesitate to read the documentation "
+"on wallabag website."
+msgstr ""
+"wallabag wciąż nie jest zainstalowany. Proszę wypełnij poniższy formularz "
+"aby go zainstalować. Nie wahaj się przeczytać dokumentacji na stronie wallabag."
+
+msgid "Login"
+msgstr "Login"
+
+msgid "Repeat your password"
+msgstr "Powtórz swoje hasło"
+
+msgid "Install"
+msgstr "Zainstauj"
msgid "login to your wallabag"
-msgstr "zaloguj się do swojego wallabag"
+msgstr "zaloguj się do twojego wallabag"
+
+msgid "Login to wallabag"
+msgstr "Logowanie do wallabag"
msgid "you are in demo mode, some features may be disabled."
-msgstr "jesteś w trybie demo, niektóre funkcje mogą być wyłączone."
+msgstr "jesteś w trybie demo, niektóre funkcjonalności mogą być wyłączone."
+
+msgid "Username"
+msgstr "Nazwa użytkownika"
msgid "Stay signed in"
msgstr "Pozostań zalogowany"
msgid "(Do not check on public computers)"
-msgstr "(Nie sprawdzaj na publicznych komputerach)"
-
-msgid "Saving articles"
-msgstr "Zapisywanie artykułów"
-
-msgid "There are several ways to save an article:"
-msgstr "Istnieje kilka sposobów aby zapisać artykuł:"
-
-msgid "via F-Droid"
-msgstr "przez F-Droid"
-
-msgid " or "
-msgstr "albo"
-
-msgid "via Google Play"
-msgstr "przez Google Play"
-
-msgid "By filling this field"
-msgstr "Poprzez wypełnienie tego pola"
-
-msgid "bag it!"
-msgstr "zapisz!"
-
-msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
-msgstr "Bookmarklet: przeciągnij i upuść ten link na pasek zakladek"
-
-msgid "Upgrading wallabag"
-msgstr "Aktualizacja wallabag"
-
-msgid "Installed version"
-msgstr "Zainstalowana wersja "
-
-msgid "Latest stable version"
-msgstr "Najnowsza stabilna wersja"
-
-msgid "A more recent stable version is available."
-msgstr "Nowsza stabilna wersja jest dostępna."
-
-msgid "You are up to date."
-msgstr "Brak nowych aktualizacji."
-
-msgid "Latest dev version"
-msgstr "Najnowsza wersja rozwojowa"
-
-#, fuzzy
-msgid "A more recent development version is available."
-msgstr "Nowsza wersja rozwojowa jest dostępna."
-
-msgid "Feeds"
-msgstr "Kanały (feeds)"
-
-msgid "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it."
-msgstr "Twój token kanału jest pusty i musi najpierw zostać wygenerowany. Kliknij tu aby go wygenerować."
-
-msgid "Unread feed"
-msgstr "Kanał nieprzeczytanych"
-
-msgid "Favorites feed"
-msgstr "Kanał ulubionych"
-
-msgid "Archive feed"
-msgstr "Kanał archiwum"
-
-msgid "Your token:"
-msgstr "Twój token: "
-
-msgid "Your user id:"
-msgstr "Twój identyfikator użytkownika:"
-
-msgid "You can regenerate your token: generate!."
-msgstr "Możesz wygenerować token ponownie: kliknij generuj!."
-
-msgid "Change your language"
-msgstr "Zmień język"
-
-msgid "Language:"
-msgstr "Język:"
-
-msgid "Please execute the import script locally as it can take a very long time."
-msgstr "Proszę wykonać skrypt importu lokalnie, gdyż moze to trwać bardzo długo."
-
-#, fuzzy
-msgid "More info in the official documentation:"
-msgstr "Więcej informacji znajduje się w oficjalnej dokumentacji:"
-
-msgid "Import from Pocket"
-msgstr "Іmport z Pocket'a"
-
-msgid "Import from Readability"
-msgstr "Import z Readability"
-
-msgid "Import from Instapaper"
-msgstr "Import z Instapaper"
-
-msgid "Import from wallabag"
-msgstr "Import z wallabag"
-
-msgid "Export your wallabag data"
-msgstr "Eksportowac dane wallabag"
-
-msgid "to download your database."
-msgstr "aby pobrac bazę danych."
-
-msgid "to export your wallabag data."
-msgstr "aby eksportować dane wallabag."
-
-msgid "Cache"
-msgstr "Cache"
-
-msgid "to delete cache."
-msgstr "aby wyczyścić cache."
-
-msgid "tweet"
-msgstr "tweet"
-
-#, fuzzy
-msgid "email"
-msgstr "Wyślij email"
-
-msgid "shaarli"
-msgstr "shaarli"
-
-msgid "flattr"
-msgstr "flattr"
-
-msgid "this article appears wrong?"
-msgstr "Czy ten artykuł wyświetla się nieprawidłowo?"
-
-msgid "You can enter multiple tags, separated by commas."
-msgstr "Możesz wprowadzić wiele tagów, rozdzielając je przecinkami."
-
-msgid "return to article"
-msgstr "wróć do artykułu"
-
-#, fuzzy
-msgid "powered by"
-msgstr "zasilany przez"
-
-msgid "debug mode is on so cache is off."
-msgstr "tryb debugowania jest włączony, więc cashe jest wyłączony."
-
-msgid "your wallabag version:"
-msgstr "twoja wersja wallabag:"
-
-msgid "storage:"
-msgstr "magazyn:"
-
-msgid "save a link"
-msgstr "zapisz link"
-
-msgid "return home"
-msgstr "wróć do strony domowej"
-
-msgid "You can check your configuration here."
-msgstr "Możesz sprawdzić swoją konfigurację tu."
-
-msgid "Tag"
-msgstr "Tag"
-
-msgid "No articles found."
-msgstr "Nie znaleziono artykułów."
-
-msgid "Toggle mark as read"
-msgstr "Przełącz jako przeczytane"
-
-msgid "mark all the entries as read"
-msgstr "zaznacz wszystko jako przeczytane"
-
-msgid "Login to wallabag"
-msgstr "Zaloguj się do wallabag"
-
-msgid "Username"
-msgstr "Nazwa użytkownika"
+msgstr "(Nie zaznaczaj na komputerach z publicznym dostępem)"
msgid "Sign in"
-msgstr "Login"
+msgstr "Zaloguj się"
+
+msgid "favorites"
+msgstr "ulubione"
+
+msgid "estimated reading time :"
+msgstr "szacowany czas czytania :"
+
+msgid "Mark all the entries as read"
+msgstr "Zaznacz wszystkie wpisy jako przeczytane"
msgid "Return home"
-msgstr "Wróć do strony domowej"
+msgstr "Powrót na stronę domową"
msgid "Back to top"
-msgstr "Wróć na górę"
+msgstr "Powrót na górę"
msgid "Mark as read"
-msgstr "Zaznacz jako przeczytane"
+msgstr "Oznacz jako przeczytane"
msgid "Favorite"
msgstr "Ulubione"
msgid "Toggle favorite"
-msgstr "Zaznacz jako ulubione"
+msgstr "Przełącz ulubione"
msgid "Delete"
msgstr "Usuń"
@@ -426,13 +335,19 @@ msgid "Tweet"
msgstr "Tweet"
msgid "Email"
-msgstr "Wyślij email"
+msgstr "Email"
+
+msgid "shaarli"
+msgstr "shaarli"
+
+msgid "flattr"
+msgstr "flattr"
msgid "Does this article appear wrong?"
-msgstr "Czy ten artykuł wyświetla się nieprawidłowo?"
+msgstr "Czy ten artykuł jest wyświetlany niepoprawnie?"
msgid "tags:"
-msgstr "tegi:"
+msgstr "tagi:"
msgid "Edit tags"
msgstr "Edytuj tagi"
@@ -440,75 +355,160 @@ msgstr "Edytuj tagi"
msgid "save link!"
msgstr "zapisz link!"
-#, fuzzy
-msgid "estimated reading time :"
-msgstr "szacowany czas odczytu:"
+msgid "home"
+msgstr "strona domowa"
-msgid "Mark all the entries as read"
-msgstr "Oznacz wszystko jako przeczytane"
+msgid "tags"
+msgstr "tagi"
+
+msgid "logout"
+msgstr "wyloguj"
+
+msgid "powered by"
+msgstr "w oparciu o"
+
+msgid "debug mode is on so cache is off."
+msgstr "tryb debug jest włączony zatem cache jest wyłączony."
+
+msgid "your wallabag version:"
+msgstr "wersja twojego wallabag:"
+
+msgid "storage:"
+msgstr "storage:"
+
+msgid "save a link"
+msgstr "zapisz link"
+
+msgid "back to home"
+msgstr "powrót do strony domowej"
+
+msgid "toggle mark as read"
+msgstr "przełącz jako przeczytane"
+
+msgid "tweet"
+msgstr "tweet"
+
+msgid "email"
+msgstr "email"
+
+msgid "this article appears wrong?"
+msgstr "ten artykuł wygląda niepoprawnie?"
+
+msgid "No link available here!"
+msgstr "No link available here!"
+
+#, fuzzy
+msgid "Poching a link"
+msgstr "Poching a link"
+
+msgid "by filling this field"
+msgstr "przez wypełnienie tego pola"
+
+msgid "bookmarklet: drag & drop this link to your bookmarks bar"
+msgstr "skryptozakładka: przeciągnij i upuść ten link na twój pasek zakładek"
+
+msgid "your version"
+msgstr "twoja wersja"
+
+msgid "latest stable version"
+msgstr "najnowsza stabilna wersja"
+
+msgid "a more recent stable version is available."
+msgstr "nowsza wersja stabilna jest dostępna."
+
+msgid "you are up to date."
+msgstr "posiadasz najnowszą wersję."
+
+msgid "latest dev version"
+msgstr "najnowsza wersja developerska"
+
+msgid "a more recent development version is available."
+msgstr "nowsza wersja developerska jest dostępna."
+
+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."
+
+msgid "More infos in the official doc:"
+msgstr "More infos in the official doc:"
+
+msgid "import from Pocket"
+msgstr "import from Pocket"
+
+msgid "import from Readability"
+msgstr "import from Readability"
+
+msgid "import from Instapaper"
+msgstr "import from Instapaper"
+
+msgid "Tags"
+msgstr "Tagi"
msgid "Untitled"
-msgstr "Bez nazwy"
+msgstr "Untitled"
msgid "the link has been added successfully"
-msgstr "link został pomyślnie dodany"
+msgstr "link został dodany pomyślnie"
msgid "error during insertion : the link wasn't added"
-msgstr "błąd podczas wprowadzania: link nie został dodany"
+msgstr "błąd podczas dodawania : link nie został dodany"
msgid "the link has been deleted successfully"
-msgstr "link zostal pomyślnie usunięty"
+msgstr "link został usunięty pomyślnie"
msgid "the link wasn't deleted"
msgstr "link nie został usunięty"
msgid "Article not found!"
-msgstr "Nie znaleziono artykułu."
+msgstr "Artykuł nie znaleziony!"
msgid "previous"
-msgstr "poprzednia"
+msgstr "poprzedni"
msgid "next"
-msgstr "następna"
+msgstr "następny"
msgid "in demo mode, you can't update your password"
-msgstr "w trybie demo, nie można zmieniać hasła"
+msgstr "w trybie demo nie możesz zaktualizować swojego hasła"
msgid "your password has been updated"
-msgstr "twoje hasło zostało zmienione"
+msgstr "twoje hasło zostało zaktualizowane"
-msgid "the two fields have to be filled & the password must be the same in the two fields"
-msgstr "oba pola muszą być wypełnione i hasła muszę być takie same w obu polach"
+msgid ""
+"the two fields have to be filled & the password must be the same in the two "
+"fields"
+msgstr ""
+"oba pola muszą być wypełnione oraz hasło musi być takie same w obu polach"
msgid "still using the \""
-msgstr "nadal w użyciu \""
+msgstr "wciąż używam \""
msgid "that theme does not seem to be installed"
-msgstr "wydaje się że ten motyw nie jest zainstalowany"
+msgstr "ten motyw nie wygląda na zainstalowany"
msgid "you have changed your theme preferences"
-msgstr "ustawienia motywu zostały zmienione"
+msgstr "zmieniłeś swoje preferencje motywu"
msgid "that language does not seem to be installed"
-msgstr "wydaje się że ten język nie jest zainstalowany"
+msgstr "ten język nie wygląda na zainstalowany"
msgid "you have changed your language preferences"
-msgstr "ustawienia języka zostały zmienione"
+msgstr "zmieniłeś swoje preferencje językowe"
msgid "login failed: you have to fill all fields"
-msgstr "logowanie nie powiodlo się: musisz wypełnić wszystkie pola"
+msgstr "logowanie się nie powiodło: musisz wypełnić wszystkie pola"
msgid "welcome to your wallabag"
-msgstr "Witamy w wallabag"
+msgstr "witaj w twoim wallabag"
msgid "login failed: bad login or password"
-msgstr "logowanie nie powiodlo się: niepoprawny login lub hasło"
+msgstr "logowanie się nie powiodło: nieprawidłowy login lub hasło"
msgid "import from instapaper completed"
-msgstr "import z instapaper'a zakończony"
+msgstr "import z instapaper zakończony"
msgid "import from pocket completed"
-msgstr "import z pocket'a zakończony"
+msgstr "import z pocket zakończony"
msgid "import from Readability completed. "
msgstr "import z Readability zakończony. "
@@ -520,25 +520,34 @@ msgid "Unknown import provider."
msgstr "Nieznany dostawca importu."
msgid "Incomplete inc/poche/define.inc.php file, please define \""
-msgstr "Niekompletny plik inc/poche/define.inc.php, proszę zdefiniować \""
+msgstr "Niekompletny plik inc/poche/define.inc.php, proszę zdefiniuj \""
msgid "Could not find required \""
-msgstr "Nie znaleziono potrzebnego \""
+msgstr "Nie znaleziono wymaganego \""
msgid "Uh, there is a problem while generating feeds."
-msgstr "Uh, jest problem podczas generowania kanałów."
+msgstr "Ah, wystąpił problem podczas generowania kanałów."
msgid "Cache deleted."
-msgstr "Cache wyczyszczony."
+msgstr "Cache usunięty."
msgid "Oops, it seems you don't have PHP 5."
-msgstr "Oops, wygląda ze nie masz PHP 5."
+msgstr "Oops, wygląda na to że nie masz PHP 5."
-#~ msgid "Import from poche"
-#~ msgstr "Import z poche"
+#~ msgid "poche it!"
+#~ msgstr "poche it!"
-#~ msgid "welcome to your poche"
-#~ msgstr "witamy w poche"
+#~ msgid "Updating poche"
+#~ msgstr "Updating poche"
-#~ msgid "see you soon!"
-#~ msgstr "do zobaczenia wkrótce!"
+#~ msgid "create an issue"
+#~ msgstr "create an issue"
+
+#~ msgid "or"
+#~ msgstr "or"
+
+#~ msgid "contact us by mail"
+#~ msgstr "contact us by mail"
+
+#~ msgid "your poche version:"
+#~ msgstr "your poche version:"
diff --git a/themes/baggy/_pocheit-form.twig b/themes/baggy/_pocheit-form.twig
index 505ec368e..57a928c0b 100755
--- a/themes/baggy/_pocheit-form.twig
+++ b/themes/baggy/_pocheit-form.twig
@@ -4,7 +4,7 @@
{% trans "Save a link" %}
+
-
diff --git a/themes/baggy/config.twig b/themes/baggy/config.twig
index 46735f074..7bd229cbe 100755
--- a/themes/baggy/config.twig
+++ b/themes/baggy/config.twig
@@ -111,7 +111,7 @@