From 311baf86befde0557faea614ca4d13bb2bd2cc66 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 7 Dec 2014 23:36:35 +0100 Subject: [PATCH 01/37] implemented random button --- inc/poche/Poche.class.php | 3 ++- themes/baggy/css/main.css | 3 +++ themes/baggy/home.twig | 2 +- themes/default/css/style.css | 10 ++++++++++ themes/default/home.twig | 3 ++- themes/default/img/default/dice.png | Bin 0 -> 243 bytes 6 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 themes/default/img/default/dice.png diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 27d6f4a65..2a8037cc2 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -445,6 +445,7 @@ class Poche $tpl_vars['entries'] = $this->store->getEntriesByView($view, $this->user->getId(), $this->pagination->get_limit(), $id); $tpl_vars['page_links'] = $page_links; $tpl_vars['nb_results'] = $count; + $tpl_vars['random'] = rand(1,$count); } Tools::logm('display ' . $view . ' view'); break; @@ -812,4 +813,4 @@ class Poche } -} \ No newline at end of file +} diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 1df829101..78d566124 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css @@ -736,6 +736,9 @@ a.add-to-wallabag-link-after:after { .icon-print:before { content: "\e80d"; } +.icon-random:before { + // RANDOM ICON TO ADD +} /* .icon-image class, for image-based icons diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig index dec848f23..eb554b11e 100755 --- a/themes/baggy/home.twig +++ b/themes/baggy/home.twig @@ -25,7 +25,7 @@ {% block pager %} {% if nb_results > 1 %}
-
{{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %}
+
{{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %} {% trans "random" %}
{{ page_links | raw }}
{% elseif nb_results == 1 %} diff --git a/themes/default/css/style.css b/themes/default/css/style.css index b25373d6c..a122dc546 100755 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css @@ -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 ***/ diff --git a/themes/default/home.twig b/themes/default/home.twig index 6bc549e6c..aa3326008 100755 --- a/themes/default/home.twig +++ b/themes/default/home.twig @@ -31,7 +31,8 @@ {% block pager %} {% if nb_results > 1 %}
-
{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}
+
{{ page_links | raw }}
{% elseif nb_results == 1 %} diff --git a/themes/default/img/default/dice.png b/themes/default/img/default/dice.png new file mode 100644 index 0000000000000000000000000000000000000000..70af6d0bbed15155931af252473bfd3df099c74c GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`yF6VSLoEE0QxXyc7#{s}kYPB| za)5C`lZ!$fL+}ZXlm?c!oG)D_v9Bz5F?(P?C7EN1{)7a92+b3$2FwmQL3=hcK9Mb9 z_V{|vt%NyYT_(${dkjavdfYoCa6Fa4LxwG(?a-bcrM}Y)6W$u!o)Fuh2xLAvap0-! znvD%_VxFux_DpsWFOa)~al;DdZ+xB`7ciJ)F$!2OP}N$L%xHNaA<-d7M?u;l%*(}$ pVT!oJy^ro Date: Sat, 13 Dec 2014 22:56:30 +0100 Subject: [PATCH 02/37] added reload function --- inc/poche/Poche.class.php | 11 ++++++++++- inc/poche/config.inc.default.php | 1 + themes/baggy/css/main.css | 3 +++ themes/baggy/view.twig | 1 + themes/default/css/style-default.css | 3 +++ themes/default/img/default/reload.png | Bin 0 -> 343 bytes themes/default/view.twig | 1 + 7 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 themes/default/img/default/reload.png diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 27d6f4a65..f5262a8e8 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -303,6 +303,15 @@ 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; + default: break; } @@ -812,4 +821,4 @@ class Poche } -} \ No newline at end of file +} diff --git a/inc/poche/config.inc.default.php b/inc/poche/config.inc.default.php index 3eaee3a3e..0d249c64a 100755 --- a/inc/poche/config.inc.default.php +++ b/inc/poche/config.inc.default.php @@ -56,6 +56,7 @@ @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'); diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 1df829101..96b681bf0 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css @@ -736,6 +736,9 @@ a.add-to-wallabag-link-after:after { .icon-print:before { content: "\e80d"; } +.icon-reload:before { +/* TODO */ +} /* .icon-image class, for image-based icons diff --git a/themes/baggy/view.twig b/themes/baggy/view.twig index 9225d11b7..41766bf2e 100755 --- a/themes/baggy/view.twig +++ b/themes/baggy/view.twig @@ -20,6 +20,7 @@ {% if constant('CARROT') == 1 %}
  • Carrot
  • {% endif %} {% if constant('SHOW_PRINTLINK') == 1 %}
  • {% trans "Print" %}
  • {% endif %}
  • EPUB
  • + {% if constant('RELOAD_ARTICLE') == 1 %}
  • {% trans "Reload article" %}
  • {% endif %}
  • {% trans "Does this article appear wrong?" %}
  • diff --git a/themes/default/css/style-default.css b/themes/default/css/style-default.css index 4406d48f4..666c4a28c 100755 --- a/themes/default/css/style-default.css +++ b/themes/default/css/style-default.css @@ -67,3 +67,6 @@ a.bad-display span { a.print span { background-image: url('../img/default/print.png'); } +a.reload span { + background-image: url('../img/default/reload.png'); +} diff --git a/themes/default/img/default/reload.png b/themes/default/img/default/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..4c0528e73aebb8ec66077c785488479d4c0f341e GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHi$Muc*9a!ZOuoK%pm|E{-7*eey!1`eQM|SIM z?zKnfYnb;=?N4>+Xl)V;6mVo!v}D z0@>;1BA;#?RVYlg>KfYR0#GOR6qg$t{O>DbGIjpGokOvPgfCSUT%KAoEVqPMwW2 zxpw ivP558(#)t#fBRFy(T7^h&q)CN%i!ti=d#Wzp$P!AXot}N literal 0 HcmV?d00001 diff --git a/themes/default/view.twig b/themes/default/view.twig index 181e12843..e14a165c3 100755 --- a/themes/default/view.twig +++ b/themes/default/view.twig @@ -19,6 +19,7 @@ {% if constant('CARROT') == 1 %}
  • {% trans "carrot" %}
  • {% endif %} {% if constant('SHOW_PRINTLINK') == 1 %}
  • {% trans "Print" %}
  • {% endif %}
  • EPUB
  • + {% if constant('RELOAD_ARTICLE') == 1 %}
  • {% trans "Reload article" %}
  • {% endif %}}
  • {% trans "Does this article appear wrong?" %}
  • {% if constant('SHOW_READPERCENT') == 1 %}
  • 0%
  • {% endif %} From e51487f93265521cf04d8752b0554bb1f05dd189 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 22 Dec 2014 16:19:29 +0100 Subject: [PATCH 03/37] implemented ?random url --- inc/poche/Poche.class.php | 9 ++++++++- themes/baggy/home.twig | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 2a8037cc2..3c7a2c5a0 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -303,6 +303,14 @@ class Poche $this->messages->add('s', _('The tag has been successfully deleted')); Tools::redirect(); 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 = rand(1,$count); + Tools::logm('get a random article'); + Tools::redirect('?view=view&id=' . $id); + //$this->displayView('view', $id); + break; default: break; } @@ -445,7 +453,6 @@ class Poche $tpl_vars['entries'] = $this->store->getEntriesByView($view, $this->user->getId(), $this->pagination->get_limit(), $id); $tpl_vars['page_links'] = $page_links; $tpl_vars['nb_results'] = $count; - $tpl_vars['random'] = rand(1,$count); } Tools::logm('display ' . $view . ' view'); break; diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig index 5068f755a..27eea422f 100755 --- a/themes/baggy/home.twig +++ b/themes/baggy/home.twig @@ -25,7 +25,7 @@ {% block pager %} {% if nb_results > 1 %}
    -
    {{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %} {% trans "random" %}
    + {{ page_links | raw }}
    {% elseif nb_results == 1 %} From 14d98f0611d195774eb4da011a56fe1ffac76ea4 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 21 Jan 2015 23:04:35 +0100 Subject: [PATCH 04/37] can add tags from the saving link popup --- themes/_global/js/saveLink.js | 7 +++++++ themes/baggy/_pocheit-form.twig | 2 ++ 2 files changed, 9 insertions(+) diff --git a/themes/_global/js/saveLink.js b/themes/_global/js/saveLink.js index a7acd84c3..9f66b73f1 100755 --- a/themes/_global/js/saveLink.js +++ b/themes/_global/js/saveLink.js @@ -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,11 @@ $.fn.ready(function() { event.preventDefault(); }); +$('#showtaginput').click(function(){ + $('#tags2add').toggle(); +}); + + /* ========================================================================== Keyboard gestion ========================================================================== */ diff --git a/themes/baggy/_pocheit-form.twig b/themes/baggy/_pocheit-form.twig index bf2ae9037..bc4391347 100755 --- a/themes/baggy/_pocheit-form.twig +++ b/themes/baggy/_pocheit-form.twig @@ -4,6 +4,8 @@ × + Add tags + From 308fca6b78a30729bd0a2cf34bc7a67bd7b81362 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 21 Jan 2015 23:08:04 +0100 Subject: [PATCH 05/37] forgotted default theme --- themes/default/_pocheit-form.twig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/themes/default/_pocheit-form.twig b/themes/default/_pocheit-form.twig index 8c982db09..f4518fceb 100755 --- a/themes/default/_pocheit-form.twig +++ b/themes/default/_pocheit-form.twig @@ -2,6 +2,8 @@  
    + Add tags +
    From 444f14063920692163ee321a872debfc48feaada Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 25 Jan 2015 17:43:58 +0100 Subject: [PATCH 06/37] wow. Many changes to installation script. Much easier. --- install/index.php | 291 ++++++++++++++++- install/wallabag_compatibility_test.php | 396 +----------------------- 2 files changed, 298 insertions(+), 389 deletions(-) diff --git a/install/index.php b/install/index.php index ec5041608..dbfe95391 100755 --- a/install/index.php +++ b/install/index.php @@ -11,6 +11,8 @@ $errors = array(); $successes = array(); +require_once('wallabag_compatibility_test.php'); + /* Function taken from at http://php.net/manual/en/function.rmdir.php#110489 * Idea : nbari at dalmp dot com * Rights unknown @@ -210,6 +212,117 @@ else if (isset($_POST['install'])) { + + + +
    @@ -259,11 +372,8 @@ else if (isset($_POST['install'])) {

    To install wallabag, you just have to fill the following fields. That's all.

    If you need help, you can read the doc: offline documentation and online one (already up-to-date).

    -

    Don't forget to check your server compatibility here.

    -
    -
    - Technical settings - + +
    wallabag needs twig, a template engine (?). Two ways to install it:
    • automatically download and extract vendor.zip into your wallabag folder. @@ -277,6 +387,159 @@ php composer.phar install
    + +

    Server compatibility test (click to view details) : + All good + + Some problems, but it's OK ! + + Bad news : you can't run wallabag +

    + + +
    +
    +

    : Compatibility Test

    + + + + + + + + + + + + + + + + + + + + Enabled' : ' + + + + + + Enabled, and sane' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + + + + Enabled' : ' + + + +
    TestShould BeWhat You HaveWhat it means
    PHP5.3.3 or higherPHP: You are running a supported version of PHP.' : 'PHP: You are running an unsupported version of PHP. ' . $status['app_name'] . ' will not work here.' ;?>
    PDOEnabledDisabled'; ?>PDO: You have PDO support enabled.' : 'PDO: Your PHP installation doesn\'t support PHP PDO. ' . $status['app_name'] . ' will not work here.' ?>
    XMLEnabledDisabled, or broken'; ?>XML: You have XMLReader support or a version of XML support that isn\'t broken installed.' : 'XML: Your PHP installation doesn\'t support XML parsing. ' . $status['app_name'] . ' will not work here.' ?>
    PCREEnabledDisabled'; ?>PCRE: You have PCRE support installed.' : 'PCRE: Your PHP installation doesn\'t support Perl-Compatible Regular Expressions. ' . $status['app_name'] .' will not work here.' ?>
    ZlibEnabledDisabled'; ?>Zlib: You have Zlib enabled. This allows SimplePie to support GZIP-encoded pages.' : 'Zlib: The Zlib extension is not available. SimplePie will ignore any GZIP-encoding, and instead handle pages as uncompressed text.' ?>
    mbstringEnabledDisabled'; ?>mbstring and iconv: You have both mbstring and iconv installed! This will allow to handle the greatest number of languages. + mbstring: mbstring is installed, but iconv is not. + iconv: iconv is installed, but mbstring is not. + mbstring and iconv: You do not have either of the extensions installed. This will significantly impair your ability to read non-English pages, as well as even some English ones. + +
    iconvEnabledDisabled'; ?>
    DOM / XML extensionEnabledDisabled'; ?>DOM/XML: You can parse ini files.' : 'DOM/XML: Your PHP configuration isn\'t standard, you\'re missing PHP-DOM. You may try to install a package or recompile PHP. ' . $status['app_name'] . ' will not work here.'; ?>
    Data filteringEnabledDisabled'; ?>Data filtering: You can use the PHP build-in DOM to operate on XML documents.' : 'Data filtering: Your PHP configuration has the filter extension disabled. ' . $status['app_name'] . ' will not work here.' ?>
    GDEnabledDisabled'; ?>GD: You have GD support installed.' : 'GD: The GD extension is not available. ' . $status['app_name'] . ' will not be able to download pictures locally on your server.' ?>
    TidyEnabledDisabled'; ?>Tidy: You have Tidy support installed.' : 'Tidy: The Tidy extension is not available.' . $status['app_name'] . ' should still work with most pages, but you may experience problems with some. You can install it with sudo apt-get install php5-tidy and then reload Apache sudo service apache2 reload.' ; ?>
    cURLEnabledDisabled'; ?>cURL: You have cURL support installed.' : 'cURL: The cURL extension is not available. SimplePie will use fsockopen() instead.' ?>
    Parse ini fileEnabledDisabled'; ?>Parse ini: You can parse ini files.' : 'Parse ini files function : Bad luck : your webhost has decided to block the use of the parse_ini_file function. ' . $status['app_name'] . ' will not work here.' ?>
    Parallel URL fetchingEnabledDisabled'; ?>Parallel URL fetching: You have HttpRequestPool or curl_multi support installed.' : 'Parallel URL fetching: HttpRequestPool or curl_multi support is not available. ' . $status['app_name'] . ' will use file_get_contents() instead to fetch URLs sequentially rather than in parallel.' ?>
    allow_url_fopenEnabledDisabled'; ?>allow_url_fopen: You have allow_url_fopen enabled.' : 'allow_url_fopen: Your PHP configuration has allow_url_fopen disabled. ' . $status['app_name'] . ' will not work here.' ?>
    gettextEnabledDisabled'; ?>Gettext: You have gettext enabled.' : 'GetText: The gettext extension is not available. The system we use to display wallabag in various languages is not available. ' . $status['app_name'] .' will not work here.' ?>
    +
    + +
    + + +

    Bottom Line: Yes, you can run !

    +

    Your webhost has its act together!

    +

    Note: Passing this test does not guarantee that will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.

    + + +

    Bottom Line: Yes, you can run !

    +

    For most pages, it'll run with no problems. There are certain languages that you might have a hard time with though.

    +

    Note: Passing this test does not guarantee that will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.

    + +

    Bottom Line: We're sorry…

    +

    Your webhost does not support the minimum requirements for . 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.

    + +
    + +
    +

    This compatibility test has been borrowed (and slightly adapted by fivefilters.org) from the one supplied by SimplePie.org.

    +
    + +
    + + +
    + Technical settings

    Database engine:

      @@ -331,6 +594,19 @@ php composer.phar install $("#mysql_infos").hide(); $("#pg_infos").hide(); + $(".details").hide(); + + + $('.technical').hide(); + + $('.technical').show(); + + $("#install_button").hide(); @@ -370,6 +646,11 @@ php composer.phar install } } }); + + $(".detail").click(function() + { + $('.details').toggle(); + }); diff --git a/install/wallabag_compatibility_test.php b/install/wallabag_compatibility_test.php index 61a8e99f0..8a0656cf8 100644 --- a/install/wallabag_compatibility_test.php +++ b/install/wallabag_compatibility_test.php @@ -8,9 +8,11 @@ * @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'); @@ -25,7 +27,6 @@ $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')) { @@ -37,391 +38,18 @@ if (extension_loaded('xmlreader')) { $xml_ok = false; } -header('Content-type: text/html; charset=UTF-8'); +$status = array('app_name' => $app_name, 'php' => $php_ok, 'pdo' => $pdo_ok, '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); -?> - - - -<?php echo $app_name; ?>: Server Compatibility Test - - - - - - - -
      -
      - -
      -

      : Compatibility Test

      - - - - - - - - - - - - - - - - - - Enabled, and sane' : ' - - - - - Enabled' : ' - - - - - - - - Enabled' : ' - - - - - Enabled' : ' - - - - - Enabled' : ' - - - - - Enabled' : ' - - - - - Enabled' : ' - - - - - Enabled' : ' - - - - - Enabled' : ' - - - - - Enabled' : ' - - - - - Enabled' : ' - - -
      TestShould BeWhat You Have
      PHP5.3.3 or higher
      XMLEnabledDisabled, or broken'; ?>
      PCREEnabledDisabled'; ?>
      DOM / XML extensionEnabledDisabled'; ?>
      Data filteringEnabledDisabled'; ?>
      GDEnabledDisabled'; ?>
      TidyEnabledDisabled'; ?>
      cURLEnabledDisabled'; ?>
      Parse ini fileEnabledDisabled'; ?>
      Parallel URL fetchingEnabledDisabled'; ?>
      allow_url_fopenEnabledDisabled'; ?>
      gettextEnabledDisabled'; ?>
      -
      - -
      -

      What does this mean?

      -
        - - -
      1. You have everything you need to run properly! Congratulations!
      2. - - -
      3. PHP: You are running a supported version of PHP. No problems here.
      4. - -
      5. XML: You have XMLReader support or a version of XML support that isn't broken installed. No problems here.
      6. - -
      7. PCRE: You have PCRE support installed. No problems here.
      8. - - -
      9. allow_url_fopen: You have allow_url_fopen enabled. No problems here.
      10. - - -
      11. Gettext: You have gettext enabled. No problems here.
      12. - - -
      13. Parse ini: You can parse ini files. No problems here.
      14. - - -
      15. DOM/XML: You can parse ini files. No problems here.
      16. - - -
      17. Data filtering: You can use the PHP build-in DOM to operate on XML documents. No problems here.
      18. - - -
      19. Zlib: You have Zlib enabled. This allows SimplePie to support GZIP-encoded feeds. No problems here.
      20. - -
      21. Zlib: The Zlib extension is not available. SimplePie will ignore any GZIP-encoding, and instead handle feeds as uncompressed text.
      22. - - - -
      23. mbstring and iconv: You have both mbstring and iconv installed! This will allow to handle the greatest number of languages. No problems here.
      24. - -
      25. mbstring: mbstring is installed, but iconv is not.
      26. - -
      27. iconv: iconv is installed, but mbstring is not.
      28. - -
      29. mbstring and iconv: You do not have either of the extensions installed. This will significantly impair your ability to read non-English feeds, as well as even some English ones.
      30. - - - -
      31. GD: You have GD support installed. No problems here.
      32. - -
      33. GD: The GD extension is not available. will not be able to download pictures locally on your server.
      34. - - - -
      35. Tidy: You have Tidy support installed. No problems here.
      36. - -
      37. Tidy: The Tidy extension is not available. should still work with most feeds, but you may experience problems with some. You can install it with sudo apt-get install php5-tidy and then reload Apache sudo service apache2 reload.
      38. - - - -
      39. cURL: You have cURL support installed. No problems here.
      40. - -
      41. cURL: The cURL extension is not available. SimplePie will use fsockopen() instead.
      42. - - - -
      43. Parallel URL fetching: You have HttpRequestPool or curl_multi support installed. No problems here.
      44. - -
      45. Parallel URL fetching: HttpRequestPool or curl_multi support is not available. will use file_get_contents() instead to fetch URLs sequentially rather than in parallel.
      46. - - - -
      47. Data filtering: Your PHP configuration has the filter extension disabled. will not work here.
      48. - - - -
      49. DOM/XML: Your PHP configuration isn't standard, you're missing PHP-DOM. You may try to install a package or recompile PHP. will not work here.
      50. - - - -
      51. Parse ini files function : Bad luck : your webhost has decided to block the use of the parse_ini_file function. will not work here. - - - -
      52. GetText: The gettext extension is not available. The system we use to display wallabag in various languages is not available. will not work here.
      53. - - - -
      54. allow_url_fopen: Your PHP configuration has allow_url_fopen disabled. will not work here.
      55. - - - -
      56. PCRE: Your PHP installation doesn't support Perl-Compatible Regular Expressions. will not work here.
      57. - - -
      58. XML: Your PHP installation doesn't support XML parsing. will not work here.
      59. - - -
      60. PHP: You are running an unsupported version of PHP. will not work here.
      61. - - -
      -
      - -
      - - -

      Bottom Line: Yes, you can!

      -

      Your webhost has its act together!

      - -

      You can download the latest version of from wallabag.org.

      -

      If you already have done that, you should access the index.php file of your installation to configure and/or start using wallabag

      - -

      You can now return to the installation section.

      - -

      Note: Passing this test does not guarantee that will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.

      - - -

      Bottom Line: Yes, you can!

      -

      For most feeds, it'll run with no problems. There are certain languages that you might have a hard time with though.

      - -

      You can download the latest version of from wallabag.org.

      -

      If you already have done that, you should access the index.php file of your installation to configure and/or start using wallabag

      - -

      You can now return to the installation section.

      - -

      Note: Passing this test does not guarantee that will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.

      - -

      Bottom Line: We're sorry…

      -

      Your webhost does not support the minimum requirements for . 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.

      - -
      - -
      -

      This compatibility test has been borrowed (and slightly adapted by fivefilters.org) from the one supplied by SimplePie.org.

      -
      - -
      - -
      - - - +?> \ No newline at end of file From c1e90b9e8f2fad19a2dc3b8631cf684fda14eab5 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 25 Jan 2015 22:42:31 +0100 Subject: [PATCH 07/37] some improvements --- install/index.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/install/index.php b/install/index.php index dbfe95391..3231a9449 100755 --- a/install/index.php +++ b/install/index.php @@ -312,13 +312,8 @@ font-weight: bold; .pass{ background-color:#FF9500; } -#detail { -background-color: #000; -font-size:1.2em; -line-height: 1.6; -width: 1.6em; -height: 1.6em; -color:white; +.detail { +cursor: pointer; } @@ -399,6 +394,7 @@ php composer.phar install
      +

      : Compatibility Test

      @@ -513,7 +509,7 @@ php composer.phar install
      - +
      @@ -538,6 +534,7 @@ php composer.phar install
      +
      Technical settings

      @@ -569,7 +566,7 @@ php composer.phar install

    - +
    User settings

    @@ -624,7 +621,7 @@ php composer.phar install $("#mysql_infos").show(); $("#pg_infos").hide(); $("#pdo_sqlite").hide(); - $("#install_button").show(); + $("#install_button").show(); } else { if ( $("#postgres").prop('checked')) { @@ -651,6 +648,7 @@ php composer.phar install { $('.details').toggle(); }); + From 369e00e60baf47170e7438d4518b4b17f82968ab Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 25 Jan 2015 22:56:11 +0100 Subject: [PATCH 08/37] add a information message to fill all the fields --- install/index.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/install/index.php b/install/index.php index 3231a9449..ec050b4b7 100755 --- a/install/index.php +++ b/install/index.php @@ -547,6 +547,9 @@ php composer.phar install

  • +
    +

    All fields have to be filled.

    +
    • @@ -556,6 +559,9 @@ php composer.phar install
    • +
      +

      All fields have to be filled.

      +
      • @@ -593,6 +599,9 @@ php composer.phar install $(".details").hide(); + $("#pdo_postgres").hide(); + $("#pdo_mysql").hide(); + $('.technical').hide(); @@ -619,20 +628,26 @@ php composer.phar install { if ( $("#mysql").prop('checked')) { $("#mysql_infos").show(); + $("#pdo_mysql").show(); $("#pg_infos").hide(); + $("#pdo_postgres").hide(); $("#pdo_sqlite").hide(); $("#install_button").show(); } else { if ( $("#postgres").prop('checked')) { $("#mysql_infos").hide(); + $("#pdo_mysql").hide(); $("#pg_infos").show(); + $("#pdo_postgres").show(); $("#pdo_sqlite").hide(); $("#install_button").show(); } else { $("#mysql_infos").hide(); $("#pg_infos").hide(); + $("#pdo_postgres").hide(); + $("#pdo_mysql").hide(); $("#pdo_sqlite").show(); From 42ac69337f6538593e4375a38fb410b13c6cb660 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 26 Jan 2015 00:16:14 +0100 Subject: [PATCH 09/37] fix for spaces in .mobi filenames --- inc/poche/WallabagEBooks.class.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/poche/WallabagEBooks.class.php b/inc/poche/WallabagEBooks.class.php index d31939a1b..afcf4dbf5 100644 --- a/inc/poche/WallabagEBooks.class.php +++ b/inc/poche/WallabagEBooks.class.php @@ -202,6 +202,9 @@ class WallabagMobi extends WallabagEBooks } $mobi->setContentProvider($content); + // we strip spaces because the browser inside Kindle Devices doesn't likes spaces + $this->bookFileName = str_replace(' ', '_', $this->bookFileName); + // we offer file to download $mobi->download($this->bookFileName.'.mobi'); Tools::logm('Mobi file produced'); From 3829c54bc5ceff31cb72e686b3c020ea2ac2a5b2 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 26 Jan 2015 17:44:52 +0100 Subject: [PATCH 10/37] fix for special caracters in .mobi filenames --- inc/poche/WallabagEBooks.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/poche/WallabagEBooks.class.php b/inc/poche/WallabagEBooks.class.php index afcf4dbf5..558315719 100644 --- a/inc/poche/WallabagEBooks.class.php +++ b/inc/poche/WallabagEBooks.class.php @@ -202,8 +202,8 @@ class WallabagMobi extends WallabagEBooks } $mobi->setContentProvider($content); - // we strip spaces because the browser inside Kindle Devices doesn't likes spaces - $this->bookFileName = str_replace(' ', '_', $this->bookFileName); + // 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'); From 0bb1f5c5c2d2ab13a1750c80f097f5e95a986af5 Mon Sep 17 00:00:00 2001 From: Julian Oster Date: Mon, 26 Jan 2015 21:14:26 +0100 Subject: [PATCH 11/37] Update german localisation. --- locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo | Bin 10620 -> 16991 bytes locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po | 789 ++++++++++---------- 2 files changed, 383 insertions(+), 406 deletions(-) diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo index bd18817fbc80bb572c1e7e0808680b94eaac6af7..091ae53619b268acd27f34bbde9c4505c726465b 100644 GIT binary patch literal 16991 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 diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po index 8b82721d9..478010074 100644 --- a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po +++ b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po @@ -1,18 +1,26 @@ msgid "" msgstr "" -"Project-Id-Version: Wallabag\n" +"Project-Id-Version: wallabag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-03-27 13:41+0100\n" +"POT-Creation-Date: 2014-02-25 15:17+0300\n" "PO-Revision-Date: \n" -"Last-Translator: Kevin Meyer \n" +"Last-Translator: Julian Oster \n" "Language-Team: \n" -"Language: de\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.6.4\n" +"X-Generator: Poedit 1.7.3\n" "X-Poedit-Basepath: .\n" -"X-Poedit-SearchPath-0: /Users/kevinmeyer/Dropbox/dev_web/wallabag-dev\n" + +msgid "wallabag, a read it later open source system" +msgstr "wallabag, ein \"Read-it-later\"-Open-Source-System" + +msgid "login failed: user doesn't exist" +msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" + +msgid "return home" +msgstr "Auf Startseite zurückkehren" msgid "config" msgstr "Konfiguration" @@ -21,13 +29,19 @@ msgid "Saving articles" msgstr "Artikel speichern" msgid "There are several ways to save an article:" -msgstr "Es gibt viele Methoden um Artikel zu speichern:" +msgstr "Es gibt mehrere Wege, um einen Artikel zu speichern:" msgid "read the documentation" -msgstr "Die Dokumentation lesen" +msgstr "Dokumentation lesen" msgid "download the extension" -msgstr "installiere die Erweiterung" +msgstr "Erweiterung herunterladen" + +msgid "Firefox Add-On" +msgstr "Firefox-Addon" + +msgid "Chrome Extension" +msgstr "Chrome-Erweiterung" msgid "via F-Droid" msgstr "via F-Droid" @@ -39,16 +53,16 @@ msgid "via Google Play" msgstr "via Google Play" msgid "download the application" -msgstr "lade die App" +msgstr "App herunterladen" msgid "By filling this field" -msgstr "Durch Ausfüllen dieses Feldes" +msgstr "Durch das Ausfüllen dieses Feldes" msgid "bag it!" msgstr "bag it!" msgid "Bookmarklet: drag & drop this link to your bookmarks bar" -msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" +msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen" msgid "Upgrading wallabag" msgstr "wallabag aktualisieren" @@ -57,58 +71,46 @@ msgid "Installed version" msgstr "Installierte Version" msgid "Latest stable version" -msgstr "Neuste stabile Version" +msgstr "Letzte stabile Version" msgid "A more recent stable version is available." -msgstr "Eine neuere stabile Version ist verfügbar." +msgstr "Eine neuere Version ist verfügbar." msgid "You are up to date." -msgstr "Du bist auf den neuesten Stand." - -msgid "Last check:" -msgstr "Zuletzt geprüft:" +msgstr "Du bist auf dem aktuellsten Stand." msgid "Latest dev version" -msgstr "Neuste Entwicklungsversion" +msgstr "Letzte Entwickler-Version" msgid "A more recent development version is available." -msgstr "Eine neuere Entwicklungsversion ist verfügbar." +msgstr "Eine neuere Entwickler-Version ist verfügbar." msgid "You can clear cache to check the latest release." -msgstr "Leere den Cache um die neueste Version zu prüfen." +msgstr "Du kannst den Cache leeren, um nach neueren Versionen zu suchen." msgid "Feeds" msgstr "Feeds" -msgid "" -"Your feed token is currently empty and must first be generated to enable " -"feeds. Click here to generate it." -msgstr "" -"Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert werden, " -"um deine Feeds zu aktivieren. Klicke hier um ihn zu generieren." +msgid "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it." +msgstr "Dein Feed-Token ist momentan leer und muss generiert werden, um die Feeds zu aktivieren. Klicke hier, um ihn zu erstellen." msgid "Unread feed" -msgstr "Ungelesen Feed" +msgstr "Feed für Ungelesenes" msgid "Favorites feed" -msgstr "Favoriten Feed" +msgstr "Feed für Favoriten" msgid "Archive feed" -msgstr "Archiv Feed" +msgstr "Archiv-Feed" msgid "Your token:" msgstr "Dein Token:" msgid "Your user id:" -msgstr "Deine User ID:" +msgstr "Deine Benutzer-ID:" -msgid "" -"You can regenerate your token: generate!" -"." -msgstr "" -"Hier kannst du dein Token erzeugen: Generieren!." +msgid "You can regenerate your token: generate!." +msgstr "Du kannst deinen Token regenerieren: generieren!." msgid "Change your theme" msgstr "Theme ändern" @@ -138,76 +140,58 @@ msgid "Repeat your new password:" msgstr "Neues Passwort wiederholen:" msgid "Import" -msgstr "Import" +msgstr "Importieren" -msgid "" -"Importing from other services can be quite long, and webservers default " -"configuration often prevents long scripts execution time, so it must be done " -"in multiple parts." +msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." +msgstr "Du kannst aus Pocket, Readability, Instapaper, wallabag oder einer beliebigen Datei in angebrachtem JSON- oder HTML-Format importieren." + +msgid "Please execute the import script locally as it can take a very long time." +msgstr "Führe das Import-Skript lokal aus, da der Import sehr lange dauern kann." + +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 "" -"Der Import von anderen Diensten kann sehr lange dauern. Deswegen bricht der " -"Webserver diesen in vielen Konfigurationen ab. Daher muss der Import in " -"mehrere Teile aufgeteilt werden." +"Wähle die Export-Datei auf deinem Computer aus und drücke den \"Import\"-Button unten. Wallabag wird deine Datei durchsuchen, alle URLs in der Datenbank speichern und die Artikel " +"herunterladen, sofern dies erforderlich ist." -msgid "First, select the export file on your computer and upload it." -msgstr "Wähle eine Datei von deinem Computer aus und lade sie hoch." +msgid "You can click here to fetch content for articles with no content." +msgstr "Du kannst hier klicken, um den Inhalt für Artikel ohne Inhalt herunterzuladen." -msgid "File:" -msgstr "Datei:" +msgid "More info in the official documentation:" +msgstr "Mehr Infos in der offiziellen Dokumentation:" -msgid "Upload" -msgstr "Hochladen" - -msgid "Then, click on the right link below." -msgstr "Klicke dann unten auf den entsprechenden Link." +msgid "(?)" +msgstr "(?)" msgid "Import from Pocket" -msgstr "Import aus Pocket" +msgstr "Aus Pocket importieren" #, php-format -msgid "(after uploaded %s file)" -msgstr "(nach Upload der Datei %s)" +msgid "(you must have a %s file on your server)" +msgstr "(du solltest eine %s Datei auf deinem Server haben)" msgid "Import from Readability" -msgstr "Import aus Readability" +msgstr "Aus Readability importieren" msgid "Import from Instapaper" -msgstr "Import aus Instapaper" +msgstr "Aus Instapaper importieren" msgid "Import from wallabag" -msgstr "Import aus Readability" - -msgid "" -"3. Your feed token is currently empty and must first be generated to fetch " -"content. Click here to generate it." -msgstr "" -"3. Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert " -"werden, um Inhalt abrufen zu können. Klicke hier um ihn zu generieren." - -msgid "Finally, you have to fetch content for imported items." -msgstr "Jetzt musst du den Inhalt der importierten Artikel abrufen." - -msgid "Click here" -msgstr "Klicke hier" - -msgid "to fetch content for 10 articles" -msgstr "um den Inhalt von 10 Artikeln abzurufen" - -msgid "" -"If you have console access to your server, you can also create a cron task:" -msgstr "" -"Wenn du Konsolenzugang zu deinem Server hast kannst du auch einen cron " -"erstellen:" +msgstr "Aus wallabag importieren" msgid "Export your wallabag data" -msgstr "Exportieren deine wallabag Daten" +msgstr "Deine wallabag-Daten exportieren" + +msgid "Click here" +msgstr "Hier klicken, " msgid "to download your database." -msgstr "um deine Datenbank herunterzuladen" +msgstr "um die Datenbank herunterzuladen." msgid "to export your wallabag data." -msgstr "um deine Daten aus wallabag zu exportieren." +msgstr "um die wallabag-Daten zu exportieren." + +msgid "Export JSON" +msgstr "JSON exportieren" msgid "Cache" msgstr "Cache" @@ -215,127 +199,289 @@ msgstr "Cache" msgid "to delete cache." msgstr "um den Cache zu löschen." -msgid "Tags" -msgstr "Tags" +msgid "Delete Cache" +msgstr "Cache löschen, " + +msgid "You can enter multiple tags, separated by commas." +msgstr "Du kannst mehrere Schlagworte, getrennt von einem Komma, hinzufügen." + +msgid "Add tags:" +msgstr "Schlagworte hinzufügen:" + +msgid "no tags" +msgstr "keine schlagworte" + +msgid "The tag has been applied successfully" +msgstr "Das Schlagwort wurde erfolgreich übernommen." + +msgid "interview" +msgstr "interview" + +msgid "editorial" +msgstr "editorial" + +msgid "video" +msgstr "video" + +msgid "return to article" +msgstr "zum artikel zurückkehren" + +msgid "plop" +msgstr "plop" + +msgid "You can check your configuration here." +msgstr "Du kannst deine Konfiguration hier überprüfen." + +msgid "favoris" +msgstr "Favoriten" + +msgid "archive" +msgstr "archiv" + +msgid "unread" +msgstr "ungelesen" msgid "by date asc" -msgstr "nach Datum aufsteigend" +msgstr "nach Datum, aufsteigend" msgid "by date" msgstr "nach Datum" msgid "by date desc" -msgstr "nach Datum absteigend" +msgstr "nach Datum, absteigend" msgid "by title asc" -msgstr "nach Titel aufsteigend" +msgstr "nach Titel, aufsteigend" msgid "by title" msgstr "nach Titel" msgid "by title desc" -msgstr "nach Titel absteigend" - -#, fuzzy -msgid "toggle view mode" -msgstr "Favorit" - -msgid "home" -msgstr "Start" - -msgid "favorites" -msgstr "Favoriten" - -msgid "archive" -msgstr "Archiv" - -msgid "tags" -msgstr "Tags" - -msgid "save a link" -msgstr "Speichere einen Link" - -msgid "search" -msgstr "Suche" - -msgid "logout" -msgstr "Logout" - -msgid "return home" -msgstr "Zurück zum Start" - -#, fuzzy -msgid "Search" -msgstr "Archiv" - -msgid "powered by" -msgstr "bereitgestellt von" - -msgid "debug mode is on so cache is off." -msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" - -msgid "your wallabag version:" -msgstr "Deine wallabag Version" - -msgid "storage:" -msgstr "Speicher:" - -msgid "Save a link" -msgstr "Speichere einen Link" - -msgid "save link!" -msgstr "Link speichern!" - -msgid "unread" -msgstr "ungelesen" +msgstr "nach Titel, absteigend" msgid "Tag" -msgstr "Tag" +msgstr "Schlagwort" msgid "No articles found." msgstr "Keine Artikel gefunden." -msgid "estimated reading time:" -msgstr "geschätzte Lesezeit:" - -msgid "estimated reading time :" -msgstr "geschätzte Lesezeit:" - msgid "Toggle mark as read" -msgstr "Als gelesen markieren" +msgstr "Als gelesen/ungelesen markieren" msgid "toggle favorite" -msgstr "Favorit" +msgstr "favorisieren" msgid "delete" -msgstr "Löschen" +msgstr "löschen" msgid "original" -msgstr "Original" +msgstr "original" -msgid "Mark all the entries as read" -msgstr "Markiere alle als gelesen" +msgid "estimated reading time:" +msgstr "Geschätzte Lesezeit:" + +msgid "mark all the entries as read" +msgstr "Alle Einträge als gelesen markieren" msgid "results" msgstr "Ergebnisse" -msgid "Uh, there is a problem with the cron." -msgstr "Oh, es gab ein Problem mit dem cron." +msgid "installation" +msgstr "installation" + +msgid "install your wallabag" +msgstr "deine wallabag installieren" + +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 ist noch nicht installiert. Fülle das untenstehende Formular aus, um wallabag zu installieren. Scheue dich nicht davor, die Dokumentation " +"auf der wallabag-Webseite zur Hilfe zu ziehen." + +msgid "Login" +msgstr "Anmelden" + +msgid "Repeat your password" +msgstr "Passwort wiederholen" + +msgid "Install" +msgstr "Installieren" + +msgid "login to your wallabag" +msgstr "Melde dich in deiner wallabag an" + +msgid "Login to wallabag" +msgstr "In wallabag anmelden" + +msgid "you are in demo mode, some features may be disabled." +msgstr "Du bist im Demo-Modus, einige Features sind möglicherweise deaktiviert." + +msgid "Username" +msgstr "Benutzername" + +msgid "Stay signed in" +msgstr "Angemeldet bleiben" + +msgid "(Do not check on public computers)" +msgstr "(nicht auf öffentlichen Computern ankreuzen)" + +msgid "Sign in" +msgstr "Anmelden" + +msgid "favorites" +msgstr "favoriten" + +msgid "estimated reading time :" +msgstr "Geschätzte Lesezeit:" + +msgid "Mark all the entries as read" +msgstr "Alle Einträge als gelesen markieren" + +msgid "Return home" +msgstr "Zur Startseite zurückkehren" + +msgid "Back to top" +msgstr "Nach oben scrollen" + +msgid "Mark as read" +msgstr "Als gelesen markieren" + +msgid "Favorite" +msgstr "Favorisieren" + +msgid "Toggle favorite" +msgstr "favorisieren" + +msgid "Delete" +msgstr "Löschen" + +msgid "Tweet" +msgstr "Twittern" + +msgid "Email" +msgstr "Email" + +msgid "shaarli" +msgstr "shaarli" + +msgid "flattr" +msgstr "flattr" + +msgid "Does this article appear wrong?" +msgstr "Erscheint dieser Artikel nicht richtig?" + +msgid "tags:" +msgstr "schlagworte:" + +msgid "Edit tags" +msgstr "Schlagworte bearbeiten" + +msgid "save link!" +msgstr "link speichern!" + +msgid "home" +msgstr "start" + +msgid "tags" +msgstr "schlagworte" + +msgid "logout" +msgstr "abmelden" + +msgid "powered by" +msgstr "Angetrieben von" + +msgid "debug mode is on so cache is off." +msgstr "Der Debug-Modus ist aktiviert, also ist der Cache deaktiviert." + +msgid "your wallabag version:" +msgstr "Deine wallabag-Version:" + +msgid "storage:" +msgstr "speicher:" + +msgid "save a link" +msgstr "einen link speichern" + +msgid "back to home" +msgstr "zurück zur startseite" + +msgid "toggle mark as read" +msgstr "als gelesen/ungelesen markieren" + +msgid "tweet" +msgstr "tweet" + +msgid "email" +msgstr "email" + +msgid "this article appears wrong?" +msgstr "dieser artikel erscheint falsch?" + +msgid "No link available here!" +msgstr "Kein Link verfügbar!" + +msgid "Poching a link" +msgstr "Link speichern" + +msgid "by filling this field" +msgstr "mit dem Ausfüllen dieses Feldes" + +msgid "bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "Bookmarklet: Drag & drop diesen Link in deine Lesezeichen" + +msgid "Drag & drop this link to your bookmarks bar:" +msgstr "Drag & drop diesen Link in deine Lesezeichen:" + +msgid "your version" +msgstr "deine Version" + +msgid "latest stable version" +msgstr "letzte stabile Version" + +msgid "a more recent stable version is available." +msgstr "Eine aktuellere Version ist verfügbar." + +msgid "you are up to date." +msgstr "Du bist auf dem aktuellsten Stand." + +msgid "latest dev version" +msgstr "Letzte Entwickler-Version" + +msgid "a more recent development version is available." +msgstr "Eine neuere Entwickler-Version ist verfügbar." + +msgid "Please execute the import script locally, it can take a very long time." +msgstr "Führe das Import-Skript lokal aus, da der Import sehr lange dauern kann." + +msgid "More infos in the official doc:" +msgstr "Mehr Informationen in der offiziellen Dokumentation:" + +msgid "import from Pocket" +msgstr "Aus Pocket importieren" + +msgid "import from Readability" +msgstr "Aus Readability importieren" + +msgid "import from Instapaper" +msgstr "Aus Instapaper importieren" + +msgid "Tags" +msgstr "Schlagworte" msgid "Untitled" -msgstr "Ohne Titel" +msgstr "Untitled" msgid "the link has been added successfully" -msgstr "Speichern des Links erfolgreich" +msgstr "Der Link wurde erfolgreich hinzugefügt" msgid "error during insertion : the link wasn't added" -msgstr "Fehler beim Einfügen: Der Link wurde nicht hinzugefügt" +msgstr "Fehler während des Imports: Der Link wurde nicht hinzugefügt." msgid "the link has been deleted successfully" -msgstr "Löschen des Links erfolgreich" +msgstr "Der Link wurde erfolgreich gelöscht" msgid "the link wasn't deleted" -msgstr "Der Link wurde nicht entfernt" +msgstr "Der Link wurde nicht gelöscht." msgid "Article not found!" msgstr "Artikel nicht gefunden!" @@ -347,24 +493,22 @@ msgid "next" msgstr "nächste" msgid "in demo mode, you can't update your password" -msgstr "im Demo-Modus kann das Passwort nicht geändert werden" +msgstr "Im Demo-Modus kannst du as Kennwort nicht aktualisieren." msgid "your password has been updated" -msgstr "Dein Passwort wurde geändert" +msgstr "Dein Passwort wurde aktualisiert" -msgid "" -"the two fields have to be filled & the password must be the same in the two " -"fields" -msgstr "Beide Felder müssen mit selbem Inhalt ausgefüllt sein" +msgid "the two fields have to be filled & the password must be the same in the two fields" +msgstr "Beide Felder müssen ausgefüllt sein und das gleiche Passwort beinhalten" msgid "still using the \"" msgstr "nutze immernoch die \"" msgid "that theme does not seem to be installed" -msgstr "dieses Theme scheint nicht installiert zu sein" +msgstr "Dieses Theme scheint nicht installiert zu sein." msgid "you have changed your theme preferences" -msgstr "Du hast deine Theme Einstellungen geändert" +msgstr "Du hast deine Theme-Einstellungen geändert" msgid "that language does not seem to be installed" msgstr "Diese Sprache scheint nicht installiert zu sein" @@ -373,286 +517,119 @@ msgid "you have changed your language preferences" msgstr "Du hast deine Spracheinstellungen geändert" msgid "login failed: you have to fill all fields" -msgstr "Anmeldung fehlgeschlagen: Alle Felder müssen ausgefüllt werden" +msgstr "Anmeldung fehlgeschlagen: Du musst alle Felder ausfüllen" msgid "welcome to your wallabag" -msgstr "Willkommen bei deiner wallabag" +msgstr "Willkommen in deiner wallabag" msgid "login failed: bad login or password" -msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder Passwort" +msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder falsches Passwort" -msgid "" -"import from instapaper completed. You have to execute the cron to fetch " -"content." -msgstr "" -"Import aus Instapaper vollständig. Führe den cronjob aus um den Inhalt " -"abzurufen." +msgid "import from instapaper completed" +msgstr "Import aus Instapaper abgeschlossen" -msgid "" -"import from pocket completed. You have to execute the cron to fetch content." -msgstr "" -"Import aus Pocket vollständig. Führe den cronjob aus um den Inhalt abzurufen." +msgid "import from pocket completed" +msgstr "Import aus Pocket abgeschlossen" -msgid "" -"import from Readability completed. You have to execute the cron to fetch " -"content." -msgstr "" -"Import aus Readability vollständig. Führe den cronjob aus um den Inhalt " -"abzurufen." +msgid "import from Readability completed. " +msgstr "Import aus Readability abgeschlossen." -msgid "" -"import from Poche completed. You have to execute the cron to fetch content." -msgstr "" -"Import aus Poche vollständig. Führe den cronjob aus um den Inhalt abzurufen." +msgid "import from Poche completed. " +msgstr "Import aus wallabag abgeschlossen." msgid "Unknown import provider." -msgstr "Unbekannter Import Anbieter." +msgstr "Unbekannter Import-Provider." + +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Die Datei /inc/poche/define.inc.php ist unvollständig, bitte definiere \"" msgid "Could not find required \"" msgstr "Nicht gefunden: \"" -msgid "File uploaded. You can now execute import." -msgstr "Datei hochgeladen. Du kannst nun importieren." - -msgid "Error while importing file. Do you have access to upload it?" -msgstr "Fehler beim Importieren. Hast du das Recht zum Hochladen?" - -msgid "User with this id (" -msgstr "Nutzer mit dieser id (" - msgid "Uh, there is a problem while generating feeds." -msgstr "Oh, es gab ein Problem beim Erstellen des Feeds." +msgstr "Oh, es gibt ein Problem bei dem Generieren der Feeds." msgid "Cache deleted." -msgstr "Cache gelöscht" +msgstr "Cache geleert." msgid "Oops, it seems you don't have PHP 5." -msgstr "Oops, es scheint als würde PHP 5 fehlen." +msgstr "Ups, es sieht so aus, als ob du nicht PHP 5 hast." -msgid "wallabag, a read it later open source system" -msgstr "wallabag, ein Später-Lesen Open Source System" +msgid "Add user" +msgstr "Benutzer hinzufügen" -msgid "login failed: user doesn't exist" -msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" +msgid "Add a new user :" +msgstr "Neuen Benutzer hinzufügen:" -#~ msgid "You can enter multiple tags, separated by commas." -#~ msgstr "Du kannst mehrere Tags, durch Kommata getrennt, eingeben." +msgid "Login for new user" +msgstr "Benutzername des neuen Benutzers" -#~ msgid "return to article" -#~ msgstr "zurück zum Artikel" +msgid "Password for new user" +msgstr "Passwort des neuen Benutzers" -#, fuzzy -#~ msgid "favoris" -#~ msgstr "Favoriten" +msgid "Email for new user (not required)" +msgstr "E-Mail-Adresse des neuen Benutzers (nicht erforderlich)" -#~ msgid "mark all the entries as read" -#~ msgstr "Markiere alle als gelesen" +msgid "Send" +msgstr "Senden" -#~ msgid "Back to top" -#~ msgstr "Nach Oben" +msgid "Delete account" +msgstr "Account löschen" -#~ msgid "Mark as read" -#~ msgstr "Als gelesen markieren" +msgid "You can delete your account by entering your password and validating." +msgstr "Du kannst deinen Account löschen, indem du dein Kennwort eintippst und validierst." -#~ msgid "Favorite" -#~ msgstr "Favoriten" +msgid "Be careful, data will be erased forever (that is a very long time)." +msgstr "Pass auf, die Daten werden für immer gelöscht werden (eine sehr lange Zeit)." -#~ msgid "Toggle favorite" -#~ msgstr "Favorit" +msgid "Type here your password" +msgstr "Kennwort hier eintippen" -#~ msgid "Delete" -#~ msgstr "Löschen" +msgid "You are the only user, you cannot delete your own account." +msgstr "Du kannst deinen Account nicht löschen, weil du der einzige Benutzer bist." -#~ msgid "Tweet" -#~ msgstr "Twittern" +msgid "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." +msgstr "Um wallabag komplett zu entfernen, lösche den wallabag-Ordner und die Datenbank(en) von deinem Webserver." -#~ msgid "Email" -#~ msgstr "per E-Mail senden" +msgid "Enter your search here" +msgstr "Suchbegriff hier eintippen" -#~ msgid "shaarli" -#~ msgstr "Shaarli" +msgid "Tag these results as" +msgstr "Diese Ergebnisse verschlagworten mit" -#~ msgid "flattr" -#~ msgstr "flattr" +# ebook +msgid "Fancy an E-Book ?" +msgstr "Willst du ein E-Book?" -#~ msgid "Does this article appear wrong?" -#~ msgstr "Erscheint dieser Artikel falsch?" +msgid "Click on this link to get all your articles in one ebook (ePub 3 format)." +msgstr "Klicke auf diesen Link, um alle Artikel in ein E-Book (EPUB 3-Format) zu exportieren." -#~ msgid "Edit tags" -#~ msgstr "Tags bearbeiten" +msgid "This can take a while and can even fail if you have too many articles, depending on your server configuration." +msgstr "Dies kann eine Weile dauern oder sogar fehlschlagen, wenn du zu viele Artikel hast, abhängig von deiner Server-Konfiguration." -#~ msgid "Start typing for auto complete." -#~ msgstr "Beginne zu tippen für die Autovervollständigung." +msgid "Download the articles from this tag in an epub" +msgstr "Die Artikel von diesem Schlagwort als EPUB herunterladen" -#~ msgid "Return home" -#~ msgstr "Zurück zum Start" +msgid "Download the articles from this search in an epub" +msgstr "Alle Artikel aus dieser Suche als EPUB herunterladen" -#~ msgid "tags:" -#~ msgstr "Tags:" - -#~ msgid "login to your wallabag" -#~ msgstr "Bei wallabag anmelden" - -#~ msgid "you are in demo mode, some features may be disabled." -#~ msgstr "" -#~ "Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert " -#~ "sein." - -#~ msgid "Login" -#~ msgstr "Benutzername" - -#~ msgid "Stay signed in" -#~ msgstr "Angemeldet bleiben" - -#~ msgid "(Do not check on public computers)" -#~ msgstr "(nicht auf einem öffentlichen Computer anhaken)" - -#~ msgid "plop" -#~ msgstr "plop" - -#~ msgid "Login to wallabag" -#~ msgstr "Bei wallabag anmelden" - -#~ msgid "Username" -#~ msgstr "Benutzername" - -#~ msgid "Sign in" -#~ msgstr "Einloggen" - -#~ msgid "Enter your search here" -#~ msgstr "Gib hier deine Suchanfrage ein" - -#~ msgid "installation" -#~ msgstr "Installieren" - -#~ msgid "install your wallabag" -#~ msgstr "Installiere deine 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 ist noch nicht installiert. Bitte fülle die Felder unten aus, um " -#~ "die Installation durchzuführen. Zögere nicht, die Dokumentation auf der Website von wallabag zu lesen, " -#~ "falls du Probleme haben solltest." - -#~ msgid "Repeat your password" -#~ msgstr "Wiederhole dein Passwort" - -#~ msgid "Install" -#~ msgstr "Installieren" - -#~ msgid "No link available here!" -#~ msgstr "Kein Link verfügbar!" - -#~ msgid "toggle mark as read" -#~ msgstr "Als gelesen markieren" - -#~ msgid "" -#~ "You can check your " -#~ "configuration here." -#~ msgstr "" -#~ "Du kannst deine Konfiguration hier testen." - -#~ msgid "back to home" -#~ msgstr "züruck zur Hauptseite" - -#~ msgid "tweet" -#~ msgstr "Twittern" - -#~ msgid "email" -#~ msgstr "senden per E-Mail" - -#~ msgid "this article appears wrong?" -#~ msgstr "dieser Artikel erscheint falsch?" - -#~ msgid "Poching a link" -#~ msgstr "Poche einen Link" - -#~ msgid "by filling this field" -#~ msgstr "durch das ausfüllen dieses Feldes:" - -#~ msgid "bookmarklet: drag & drop this link to your bookmarks bar" -#~ msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" - -#~ msgid "your version" -#~ msgstr "Deine Version" - -#~ msgid "latest stable version" -#~ msgstr "Neuste stabile Version" - -#~ msgid "a more recent stable version is available." -#~ msgstr "Eine neuere stabile Version ist verfügbar." - -#~ msgid "you are up to date." -#~ msgstr "Du bist auf den neuesten Stand." - -#~ msgid "latest dev version" -#~ msgstr "Neuste Entwicklungsversion" - -#~ msgid "a more recent development version is available." -#~ msgstr "Eine neuere Entwicklungsversion ist verfügbar." - -#~ msgid "" -#~ "Please execute the import script locally, it can take a very long time." -#~ msgstr "" -#~ "Bitte führe das Import Script lokal aus, dies kann eine Weile dauern." - -#~ msgid "More infos in the official doc:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" - -#~ msgid "import from Pocket" -#~ msgstr "Import aus Pocket" - -#~ msgid "(you must have a %s file on your server)" -#~ msgstr "(du brauchst eine %s Datei auf deinem Server)" - -#~ msgid "import from Readability" -#~ msgstr "Import aus Readability" - -#~ msgid "import from Instapaper" -#~ msgstr "Import aus Instapaper" - -#~ msgid "You can also create a cron task:" -#~ msgstr "Du kannst auch einen cronjob anlegen:" - -#~ msgid "" -#~ "Please execute the import script locally as it can take a very long time." -#~ msgstr "" -#~ "Bitte führe das Import Script lokal aus, da dies eine Weile dauern kann." - -#~ msgid "More info in the official documentation:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" - -#~ msgid "import from instapaper completed" -#~ msgstr "Import aus Instapaper erfolgreich" - -#~ msgid "import from pocket completed" -#~ msgstr "Import aus Pocket erfolgreich" - -#~ msgid "import from Poche completed. " -#~ msgstr "Import aus Poche erfolgreich" - -#~ msgid "Incomplete inc/poche/define.inc.php file, please define \"" -#~ msgstr "Unvollständige inc/poche/define.inc.php Datei, bitte setze \"" +msgid "Download the articles from this category in an epub" +msgstr "Alle Artikel aus dieser Kategorie als EPUB herunterladen" #~ msgid "poche it!" -#~ msgstr "Poche es!" +#~ msgstr "poche it!" #~ msgid "Updating poche" -#~ msgstr "Poche aktualisieren" +#~ msgstr "Updating poche" #~ msgid "create an issue" -#~ msgstr "ein Ticket erstellen" +#~ msgstr "create an issue" #~ msgid "or" -#~ msgstr "oder" +#~ msgstr "or" #~ msgid "contact us by mail" -#~ msgstr "kontaktieren Sie uns per E-Mail" +#~ msgstr "contact us by mail" #~ msgid "your poche version:" -#~ msgstr "Deine Poche Version" +#~ msgstr "your poche version:" From 40377add142cc47601e78541b98e320d59164b37 Mon Sep 17 00:00:00 2001 From: Julian Oster Date: Mon, 26 Jan 2015 21:33:29 +0100 Subject: [PATCH 12/37] Forgot to update the .mo file. Fixed. --- locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo | Bin 16991 -> 16993 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo index 091ae53619b268acd27f34bbde9c4505c726465b..3add116cc30a5f98dc4dff0aa1eabc1c451c9c56 100644 GIT binary patch delta 1638 zcmXZcYfQ~?9LMo*n^fxH&_SovA*53x_oR}|CAZwNZnK4<%WRA>va=;3Y?4tfW6U&b zW<0Z=(0X7q)@J2F(>#!cIcv)UxAOk%{2#r3zyJUD|Ng$;@9%d`e|^}e`mm?vV*{JR z%x=#y8*64?Q_N1_5YEG@xn_&71vBssCgUHB$D~xVX_$?%xD%tX5~t!ZoP?Kg3*JM; z3*t;n_FKTh8Lai2jmJ$m0n2bAR-+4RQGps!>+WC^wxb(!)661qE9$!v$10>2JB7>f z0WQWqXYNi9m}T-{L%P`%tVJc%jLWbUz1WQk{2hJx4?UPjn__S=PR4xH_eJQ!GK|Jb zRGed|eXgK7_$a_YE$qYs>_Y{dL%-G1MX1WwV;pWn1*mqO*P)O3Mb!FsoP{q@2@W8+ z+Fw-Vsq;e}-iKrKk`0p)#+=OLz~fa2_{Fooc}(e2Chh z3su=$T!I6rgc1m%LbFio3em;>R?I*x-H!@*8aHAi>X!E4Zv2HsSWMJHe1bc01lQp9 zrDhG-f+gtV0zJT!s5_9z4V;92ixgeaLmN14s>a6Mgs|Rq0RE-5PP`$vL6Q(^2npbLjsV2J3h*0XLyGEXT>XAJy8E zn1E+diQLCn>_C0jjXJVVsE!Sy;*6rsK8pUUAP@3GvYC$C0}S*JRfo#-F{&f)umFST z!z|828<*k?Jc?@NbyVOEOv2ZwqZmXb5JV;L3zca2D(8st8}ovA2K^k)sz+LDXIL>Xf>B7Yh) z&6U#f7nEGKMo77yf1Q{_Om&UeELUJ-_Gqe!tK6oOi8JBdt;WyJJEd zqs*?)H;XZ|PXV)L{Dup$Hr*^2yD%G{;9UHTGjY}evt%s5X}AUBum)#fBTmJ$SdKlY z{lYj0Q!^}N;~A{WFpI}BOu#Cff_3P^7Su-VsCCz{1N$%$gPCR%upIT>4#!#~7dwi} z@fPOcYiFL26*61GgOV(>>DYn_r~~uyGJ5ejYU9u7$G@0_KFTy1bI^^eP~TUg3#%{= zYf$?%qRu&ws^Fav1C{U*mf~yFhH2DWC0&BbY(09g0<}S%^ZYpanV&(e@53~FfC_LF ziPip~G7l_@RCqV)ib4$xw6GObiL0mspP~<6q5}Kw7+h>N!u&MG;{iTWCQYaSI#A#B zVj>Qqdg~=>-#4hM{D6}<-+nPr#L+pCQl%qBusqa<`%sbB;W_NVdd#GgRH-hUjki$; z452c6ic4`66_A%rlxRL`-6nK#zHMiql2)TOJcb*w9o417xCejYHr&px6?hLTaSV%b z^D?tG?7}Kcp@D8=GpYxCbl_A>M{dIkF~Ip&&p?@Wq5|p0SnS6FypNR1zN0exhgz4! zOFw3z-fu#^--&vE7+u(gEAbL4^I=THw;1v;_{Lx&PFxY`UN^2{?!hFiay*1ucgpbs zD)4Sp*WW}h_M$5H2o=aEsz?6fJe*M&`5!4Nr2e|Qy*wZ(JAqm_h`Nebr~}`l0u7@! zj1BUOz!an%Y(J8NT|qy-KxO&^)mvlEJhdp2c?Rlzu!#DPV^GY41S~@xxC`A_jVf(3 z`tT$wkefIS2T|WWM_t(ns$w5e`}{-QeJu4?LT==TWPZoZAqM(~I*y9;E~+BWuoT1S z$9(QX2k*pGJc26aMbyTFI2#|MuHqvqfG{e6pQu2iS36gXUznGA81PfJ@oV@$$7NW8 rTTyp-12gfV<5%=EPhJ~ot^!okZ5ZgD-06*}Z)&L9dvG8(kUjH1&oH?F From ca056e7fd1e2bcc8390aabdc6b4fcb84aeb0d302 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 27 Jan 2015 00:41:25 +0100 Subject: [PATCH 13/37] changes for 1026 for PDO exceptions --- install/index.php | 238 ++++++++++-------------- install/wallabag_compatibility_test.php | 32 ++++ 2 files changed, 130 insertions(+), 140 deletions(-) diff --git a/install/index.php b/install/index.php index ec050b4b7..77b83c36a 100755 --- a/install/index.php +++ b/install/index.php @@ -13,19 +13,6 @@ $successes = array(); require_once('wallabag_compatibility_test.php'); -/* 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) { - $files = array_diff(scandir($dir), array('.','..')); - foreach ($files as $file) { - (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); - } - return rmdir($dir); - } - if (isset($_GET['clean'])) { if (is_dir('install')){ delTree('install'); @@ -60,135 +47,108 @@ if (isset($_POST['download'])) { else if (isset($_POST['install'])) { if (!is_dir('vendor')) { $errors[] = 'You must install twig before.'; - } - else { + } else { $continue = true; - // Create config.inc.php - if (!copy('inc/poche/config.inc.default.php', 'inc/poche/config.inc.php')) { - $errors[] = 'Installation aborted, impossible to create inc/poche/config.inc.php file. Maybe you don\'t have write access to create it.'; - $continue = false; - } - else { - function generate_salt() { - mt_srand(microtime(true)*100000 + memory_get_usage(true)); - return md5(uniqid(mt_rand(), true)); - } + $salt = generate_salt(); + $content = file_get_contents('inc/poche/config.inc.default.php'); - $content = file_get_contents('inc/poche/config.inc.php'); - $salt = generate_salt(); - $content = str_replace("define ('SALT', '');", "define ('SALT', '".$salt."');", $content); - file_put_contents('inc/poche/config.inc.php', $content); - } + // User informations + $username = trim($_POST['username']); + $password = trim($_POST['password']); + $salted_password = sha1($password . $username . $salt); - if ($continue) { + // Database informations + $moreQueries = array(); - // User informations - $username = trim($_POST['username']); - $password = trim($_POST['password']); - $salted_password = sha1($password . $username . $salt); - - // Database informations - $moreQueries = array(); - if ($_POST['db_engine'] == 'sqlite') { - if (!copy('install/poche.sqlite', 'db/poche.sqlite')) { - $errors[] = 'Impossible to create inc/poche/config.inc.php file.'; - $continue = false; - } - else { - $db_path = 'sqlite:' . realpath('') . '/db/poche.sqlite'; - $handle = new PDO($db_path); - $sql_structure = ""; - } + if ($_POST['db_engine'] == 'sqlite') { + if (!copy('install/poche.sqlite', 'db/poche.sqlite')) { + $errors[] = 'Impossible to create the SQLite database file.'; } else { - $content = file_get_contents('inc/poche/config.inc.php'); + $db_path = 'sqlite:' . realpath('') . '/db/poche.sqlite'; + $handle = new PDO($db_path); + $handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $sql_structure = ""; + } + } else { + // MySQL and Postgre + try { - if ($_POST['db_engine'] == 'mysql') { - $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'] . ';charset=utf8mb4'; - $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['mysql_server']."');", $content); - $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['mysql_database']."');", $content); - $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['mysql_user']."');", $content); - $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); - $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array( - PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', - )); + if ($_POST['db_engine'] == 'mysql') { + $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'] . ';charset=utf8mb4'; + $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['mysql_server']."');", $content); + $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['mysql_database']."');", $content); + $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['mysql_user']."');", $content); + $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); + $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array( + PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', + )); - $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES + $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES (1, 'Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', 0, 0, 0x0a3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a, 1), (2, 'wallabag/wallabag', 'https://github.com/wallabag/wallabag', 0, 0, 0x3c7370616e20636c6173733d226e616d65223e524541444d452e6d643c2f7370616e3e3c703e77616c6c6162616720697320612073656c6620686f737461626c65206170706c69636174696f6e20616c6c6f77696e6720796f7520746f206e6f74206d69737320616e7920636f6e74656e7420616e796d6f72652e20436c69636b2c20736176652c2072656164206974207768656e20796f752063616e2e20497420657874726163747320636f6e74656e7420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c703e4d6f726520696e666f726d6174696f6e73206f6e206f757220776562736974653a203c6120687265663d22687474703a2f2f77616c6c616261672e6f7267223e77616c6c616261672e6f72673c2f613e3c2f703e0a3c68323e3c6120636c6173733d22616e63686f722220687265663d2268747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c61626167236c6963656e7365223e3c2f613e4c6963656e73653c2f68323e0a3c703e436f7079726967687420c2a920323031302d32303134204e69636f6c6173204cc59375696c6c6574203c6120687265663d226d61696c746f3a6e69636f6c6173406c6f6575696c6c65742e6f7267223e6e69636f6c6173406c6f6575696c6c65742e6f72673c2f613e205468697320776f726b20697320667265652e20596f752063616e2072656469737472696275746520697420616e642f6f72206d6f6469667920697420756e64657220746865207465726d73206f662074686520446f205768617420546865204675636b20596f752057616e7420546f205075626c6963204c6963656e73652c2056657273696f6e20322c206173207075626c69736865642062792053616d20486f63657661722e205365652074686520434f5059494e472066696c6520666f72206d6f72652064657461696c732e3c2f703e0a, 1), (3, 'a self hostable application for saving web pages | wallabag', 'https://www.wallabag.org/', 0, 1, 0x0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e77616c6c616261672028666f726d65726c7920706f636865292069732061203c7374726f6e673e73656c6620686f737461626c65206170706c69636174696f6e20666f7220736176696e67207765622070616765733c2f7374726f6e673e2e20556e6c696b65206f746865722073657276696365732cc2a077616c6c6162616720697320667265652028617320696e2066726565646f6d2920616e64206f70656e20736f757263652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e576974682074686973206170706c69636174696f6e20796f752077696c6c206e6f74206d69737320636f6e74656e7420616e796d6f72652e203c7374726f6e673e436c69636b2c20736176652c2072656164206974207768656e20796f752077616e743c2f7374726f6e673e2e2049742073617665732074686520636f6e74656e7420796f752073656c65637420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3620636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c68323e486f7720697420776f726b733c2f68323e0a3c703e5468616e6b7320746f2074686520626f6f6b6d61726b6c6574206f72203c61207469746c653d22446f776e6c6f6164732220687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f646f776e6c6f6164732f223e74686972642d7061727479206170706c69636174696f6e733c2f613e2c20796f75207361766520616e2061727469636c6520696e20796f7572c2a077616c6c6162616720746f2072656164206974206c617465722e205468656e2c207768656e20796f75206f70656e20796f75722077616c6c616261672c203c7374726f6e673e796f752063616e20636f6d666f727461626c79207265616420796f75722061727469636c65733c2f7374726f6e673e2e3c2f703e0a3c68323e486f7720746f207573652077616c6c616261673c2f68323e0a3c703e5468657265206172652074776f207761797320746f207573652077616c6c616261673a20796f752063616e203c6120687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f6672657175656e746c792d61736b65642d7175657374696f6e732f23486f775f63616e5f495f696e7374616c6c5f77616c6c616261675f616e645f776861745f6172655f7468655f726571756972656d656e7473223e696e7374616c6c2069743c2f613ec2a06f6e20796f75722077656220736572766572206f7220796f752063616ec2a03c6120687265663d22687474703a2f2f6170702e696e746865706f6368652e636f6d223e63726561746520616e206163636f756e743c2f613ec2a06174204672616d616261672028776520696e7374616c6c20616e642075706772616465c2a077616c6c6162616720666f7220796f75292e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a, 1);"; - $moreQueries[] = "INSERT INTO `tags` (`id`, `value`) VALUES (1, 'opensource');"; - $moreQueries[] = "INSERT INTO `tags_entries` (`id`, `entry_id`, `tag_id`) VALUES (1, 2, 1);"; + $moreQueries[] = "INSERT INTO `tags` (`id`, `value`) VALUES (1, 'opensource');"; + $moreQueries[] = "INSERT INTO `tags_entries` (`id`, `entry_id`, `tag_id`) VALUES (1, 2, 1);"; - $sql_structure = file_get_contents('install/mysql.sql'); - } - else if ($_POST['db_engine'] == 'postgres') { - $db_path = 'pgsql:host=' . $_POST['pg_server'] . ';dbname=' . $_POST['pg_database']; - $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['pg_server']."');", $content); - $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['pg_database']."');", $content); - $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['pg_user']."');", $content); - $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['pg_password']."');", $content); - $handle = new PDO($db_path, $_POST['pg_user'], $_POST['pg_password']); - - $moreQueries[] = "INSERT INTO entries (title, url, is_read, is_fav, content, user_id) VALUES + $sql_structure = file_get_contents('install/mysql.sql'); + } + else if ($_POST['db_engine'] == 'postgres') { + $db_path = 'pgsql:host=' . $_POST['pg_server'] . ';dbname=' . $_POST['pg_database']; + $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['pg_server']."');", $content); + $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['pg_database']."');", $content); + $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['pg_user']."');", $content); + $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['pg_password']."');", $content); + $handle = new PDO($db_path, $_POST['pg_user'], $_POST['pg_password']); + + $moreQueries[] = "INSERT INTO entries (title, url, is_read, is_fav, content, user_id) VALUES ('Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', false, false, convert_from(decode('3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a', 'hex'), 'UTF8'), 1), ('wallabag/wallabag', 'https://github.com/wallabag/wallabag', false, false, convert_from(decode('3c7370616e20636c6173733d226e616d65223e524541444d452e6d643c2f7370616e3e3c703e77616c6c6162616720697320612073656c6620686f737461626c65206170706c69636174696f6e20616c6c6f77696e6720796f7520746f206e6f74206d69737320616e7920636f6e74656e7420616e796d6f72652e20436c69636b2c20736176652c2072656164206974207768656e20796f752063616e2e20497420657874726163747320636f6e74656e7420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c703e4d6f726520696e666f726d6174696f6e73206f6e206f757220776562736974653a203c6120687265663d22687474703a2f2f77616c6c616261672e6f7267223e77616c6c616261672e6f72673c2f613e3c2f703e0a3c68323e3c6120636c6173733d22616e63686f722220687265663d2268747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c61626167236c6963656e7365223e3c2f613e4c6963656e73653c2f68323e0a3c703e436f7079726967687420c2a920323031302d32303134204e69636f6c6173204cc59375696c6c6574203c6120687265663d226d61696c746f3a6e69636f6c6173406c6f6575696c6c65742e6f7267223e6e69636f6c6173406c6f6575696c6c65742e6f72673c2f613e205468697320776f726b20697320667265652e20596f752063616e2072656469737472696275746520697420616e642f6f72206d6f6469667920697420756e64657220746865207465726d73206f662074686520446f205768617420546865204675636b20596f752057616e7420546f205075626c6963204c6963656e73652c2056657273696f6e20322c206173207075626c69736865642062792053616d20486f63657661722e205365652074686520434f5059494e472066696c6520666f72206d6f72652064657461696c732e3c2f703e0a', 'hex'), 'UTF8'), 1), ('a self hostable application for saving web pages | wallabag', 'https://www.wallabag.org/', false, true, convert_from(decode('3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e77616c6c616261672028666f726d65726c7920706f636865292069732061203c7374726f6e673e73656c6620686f737461626c65206170706c69636174696f6e20666f7220736176696e67207765622070616765733c2f7374726f6e673e2e20556e6c696b65206f746865722073657276696365732cc2a077616c6c6162616720697320667265652028617320696e2066726565646f6d2920616e64206f70656e20736f757263652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e576974682074686973206170706c69636174696f6e20796f752077696c6c206e6f74206d69737320636f6e74656e7420616e796d6f72652e203c7374726f6e673e436c69636b2c20736176652c2072656164206974207768656e20796f752077616e743c2f7374726f6e673e2e2049742073617665732074686520636f6e74656e7420796f752073656c65637420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3620636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c68323e486f7720697420776f726b733c2f68323e0a3c703e5468616e6b7320746f2074686520626f6f6b6d61726b6c6574206f72203c61207469746c653d22446f776e6c6f6164732220687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f646f776e6c6f6164732f223e74686972642d7061727479206170706c69636174696f6e733c2f613e2c20796f75207361766520616e2061727469636c6520696e20796f7572c2a077616c6c6162616720746f2072656164206974206c617465722e205468656e2c207768656e20796f75206f70656e20796f75722077616c6c616261672c203c7374726f6e673e796f752063616e20636f6d666f727461626c79207265616420796f75722061727469636c65733c2f7374726f6e673e2e3c2f703e0a3c68323e486f7720746f207573652077616c6c616261673c2f68323e0a3c703e5468657265206172652074776f207761797320746f207573652077616c6c616261673a20796f752063616e203c6120687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f6672657175656e746c792d61736b65642d7175657374696f6e732f23486f775f63616e5f495f696e7374616c6c5f77616c6c616261675f616e645f776861745f6172655f7468655f726571756972656d656e7473223e696e7374616c6c2069743c2f613ec2a06f6e20796f75722077656220736572766572206f7220796f752063616ec2a03c6120687265663d22687474703a2f2f6170702e696e746865706f6368652e636f6d223e63726561746520616e206163636f756e743c2f613ec2a06174204672616d616261672028776520696e7374616c6c20616e642075706772616465c2a077616c6c6162616720666f7220796f75292e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a', 'hex'), 'UTF8'), 1)"; - $moreQueries[] = "INSERT INTO tags (value) VALUES ('opensource')"; - $moreQueries[] = "INSERT INTO tags_entries (entry_id, tag_id) VALUES (2, 1)"; + $moreQueries[] = "INSERT INTO tags (value) VALUES ('opensource')"; + $moreQueries[] = "INSERT INTO tags_entries (entry_id, tag_id) VALUES (2, 1)"; - $sql_structure = file_get_contents('install/postgres.sql'); - } - - $content = str_replace("define ('STORAGE', 'sqlite');", "define ('STORAGE', '".$_POST['db_engine']."');", $content); - file_put_contents('inc/poche/config.inc.php', $content); - } - - if ($continue) { - - function executeQuery($handle, $sql, $params) { - try - { - $query = $handle->prepare($sql); - $query->execute($params); - return $query->fetchAll(); - } - catch (Exception $e) - { - return FALSE; - } - } - - if ($_POST['db_engine'] != "sqlite") { - // create database structure - $query = $handle->exec($sql_structure); - } - - // Create user - $handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - - $sql = "INSERT INTO users (username, password, name, email) VALUES (?, ?, ?, '')"; - $params = array($username, $salted_password, $username); - $query = executeQuery($handle, $sql, $params); - - $id_user = (int)$handle->lastInsertId('users_id_seq'); - - $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; - $params = array($id_user, 'pager', '10'); - $query = executeQuery($handle, $sql, $params); - - $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; - $params = array($id_user, 'language', 'en_EN.UTF8'); - $query = executeQuery($handle, $sql, $params); - - foreach ($moreQueries as $query) { - executeQuery($handle, $query, array()); - } - - $successes[] = 'wallabag is now installed. You can now access it !'; + $sql_structure = file_get_contents('install/postgres.sql'); } + // create database structure + $query = $handle->exec($sql_structure); + } catch (PDOException $e) { + $errors[] = $e->getMessage(); + $continue = false; + } } } + if ($continue) { + $sql = "INSERT INTO users (username, password, name, email) VALUES (?, ?, ?, '')"; + $params = array($username, $salted_password, $username); + $query = executeQuery($handle, $sql, $params); + + $id_user = (int)$handle->lastInsertId('users_id_seq'); + + $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; + $params = array($id_user, 'pager', '10'); + $query = executeQuery($handle, $sql, $params); + + $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; + $params = array($id_user, 'language', 'en_EN.UTF8'); + $query = executeQuery($handle, $sql, $params); + + foreach ($moreQueries as $query) { + executeQuery($handle, $query, array()); + } + $successes[] = 'wallabag is now installed. You can now access it !'; + + if (!copy('inc/poche/config.inc.default.php', 'inc/poche/config.inc.php')) { + $errors[] = 'Installation aborted, impossible to create inc/poche/config.inc.php file. Maybe you don\'t have write access to create it.'; + } else { + if ($_POST['db_engine'] != 'sqlite') { + $content = str_replace("define ('STORAGE', 'sqlite');", "define ('STORAGE', '".$_POST['db_engine']."');", $content); + file_put_contents('inc/poche/config.inc.php', $content); + } + $content = str_replace("define ('SALT', '');", "define ('SALT', '".$salt."');", $content); + file_put_contents('inc/poche/config.inc.php', $content); + } +} } ?> @@ -368,21 +328,6 @@ cursor: pointer;

        To install wallabag, you just have to fill the following fields. That's all.

        If you need help, you can read the doc: offline documentation and online one (already up-to-date).

        - -
        wallabag needs twig, a template engine (?). Two ways to install it:
        -
          -
        • automatically download and extract vendor.zip into your wallabag folder. -

          - - Be careful, zip extension is not enabled in your PHP configuration. You'll have to unzip vendor.zip manually. - - This method is mainly recommended if you don't have a dedicated server.
        • -
        • use Composer :
          curl -s http://getcomposer.org/installer | php
          -php composer.phar install
        • -
        -
        - -

        Server compatibility test (click to view details) : All good @@ -532,9 +477,22 @@ php composer.phar install - +


        -
        + +
        wallabag needs twig, a template engine (?). Two ways to install it:
        +
          +
        • automatically download and extract vendor.zip into your wallabag folder. +

          + + Be careful, zip extension is not enabled in your PHP configuration. You'll have to unzip vendor.zip manually. + + This method is mainly recommended if you don't have a dedicated server.
        • +
        • use Composer :
          curl -s http://getcomposer.org/installer | php
          +php composer.phar install
        • +
        +
        +
        Technical settings

        diff --git a/install/wallabag_compatibility_test.php b/install/wallabag_compatibility_test.php index 8a0656cf8..1093b2a33 100644 --- a/install/wallabag_compatibility_test.php +++ b/install/wallabag_compatibility_test.php @@ -52,4 +52,36 @@ function isPassing() { return !in_array(false, $status); } +/* 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) { + $files = array_diff(scandir($dir), array('.','..')); + foreach ($files as $file) { + (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); + } + return rmdir($dir); + } + +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; + } +} + ?> \ No newline at end of file From a1d6e0340790be13209025dd7807563862838376 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 27 Jan 2015 00:59:38 +0100 Subject: [PATCH 14/37] Revert "Update german localisation." --- locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo | Bin 16993 -> 10620 bytes locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po | 787 ++++++++++---------- 2 files changed, 405 insertions(+), 382 deletions(-) diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo index 3add116cc30a5f98dc4dff0aa1eabc1c451c9c56..bd18817fbc80bb572c1e7e0808680b94eaac6af7 100644 GIT binary patch literal 10620 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 literal 16993 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 J9-8OP{{f7&ZIJ)~ diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po index 478010074..8b82721d9 100644 --- a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po +++ b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po @@ -1,26 +1,18 @@ msgid "" msgstr "" -"Project-Id-Version: wallabag\n" +"Project-Id-Version: Wallabag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-02-25 15:17+0300\n" +"POT-Creation-Date: 2014-03-27 13:41+0100\n" "PO-Revision-Date: \n" -"Last-Translator: Julian Oster \n" +"Last-Translator: Kevin Meyer \n" "Language-Team: \n" -"Language: de_DE\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.7.3\n" +"X-Generator: Poedit 1.6.4\n" "X-Poedit-Basepath: .\n" - -msgid "wallabag, a read it later open source system" -msgstr "wallabag, ein \"Read-it-later\"-Open-Source-System" - -msgid "login failed: user doesn't exist" -msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" - -msgid "return home" -msgstr "Auf Startseite zurückkehren" +"X-Poedit-SearchPath-0: /Users/kevinmeyer/Dropbox/dev_web/wallabag-dev\n" msgid "config" msgstr "Konfiguration" @@ -29,19 +21,13 @@ msgid "Saving articles" msgstr "Artikel speichern" msgid "There are several ways to save an article:" -msgstr "Es gibt mehrere Wege, um einen Artikel zu speichern:" +msgstr "Es gibt viele Methoden um Artikel zu speichern:" msgid "read the documentation" -msgstr "Dokumentation lesen" +msgstr "Die Dokumentation lesen" msgid "download the extension" -msgstr "Erweiterung herunterladen" - -msgid "Firefox Add-On" -msgstr "Firefox-Addon" - -msgid "Chrome Extension" -msgstr "Chrome-Erweiterung" +msgstr "installiere die Erweiterung" msgid "via F-Droid" msgstr "via F-Droid" @@ -53,16 +39,16 @@ msgid "via Google Play" msgstr "via Google Play" msgid "download the application" -msgstr "App herunterladen" +msgstr "lade die App" msgid "By filling this field" -msgstr "Durch das Ausfüllen dieses Feldes" +msgstr "Durch Ausfüllen dieses Feldes" msgid "bag it!" msgstr "bag it!" msgid "Bookmarklet: drag & drop this link to your bookmarks bar" -msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen" +msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" msgid "Upgrading wallabag" msgstr "wallabag aktualisieren" @@ -71,46 +57,58 @@ msgid "Installed version" msgstr "Installierte Version" msgid "Latest stable version" -msgstr "Letzte stabile Version" +msgstr "Neuste stabile Version" msgid "A more recent stable version is available." -msgstr "Eine neuere Version ist verfügbar." +msgstr "Eine neuere stabile Version ist verfügbar." msgid "You are up to date." -msgstr "Du bist auf dem aktuellsten Stand." +msgstr "Du bist auf den neuesten Stand." + +msgid "Last check:" +msgstr "Zuletzt geprüft:" msgid "Latest dev version" -msgstr "Letzte Entwickler-Version" +msgstr "Neuste Entwicklungsversion" msgid "A more recent development version is available." -msgstr "Eine neuere Entwickler-Version ist verfügbar." +msgstr "Eine neuere Entwicklungsversion ist verfügbar." msgid "You can clear cache to check the latest release." -msgstr "Du kannst den Cache leeren, um nach neueren Versionen zu suchen." +msgstr "Leere den Cache um die neueste Version zu prüfen." msgid "Feeds" msgstr "Feeds" -msgid "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it." -msgstr "Dein Feed-Token ist momentan leer und muss generiert werden, um die Feeds zu aktivieren. Klicke hier, um ihn zu erstellen." +msgid "" +"Your feed token is currently empty and must first be generated to enable " +"feeds. Click here to generate it." +msgstr "" +"Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert werden, " +"um deine Feeds zu aktivieren. Klicke hier um ihn zu generieren." msgid "Unread feed" -msgstr "Feed für Ungelesenes" +msgstr "Ungelesen Feed" msgid "Favorites feed" -msgstr "Feed für Favoriten" +msgstr "Favoriten Feed" msgid "Archive feed" -msgstr "Archiv-Feed" +msgstr "Archiv Feed" msgid "Your token:" msgstr "Dein Token:" msgid "Your user id:" -msgstr "Deine Benutzer-ID:" +msgstr "Deine User ID:" -msgid "You can regenerate your token: generate!." -msgstr "Du kannst deinen Token regenerieren: generieren!." +msgid "" +"You can regenerate your token: generate!" +"." +msgstr "" +"Hier kannst du dein Token erzeugen: Generieren!." msgid "Change your theme" msgstr "Theme ändern" @@ -140,58 +138,76 @@ msgid "Repeat your new password:" msgstr "Neues Passwort wiederholen:" msgid "Import" -msgstr "Importieren" +msgstr "Import" -msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." -msgstr "Du kannst aus Pocket, Readability, Instapaper, wallabag oder einer beliebigen Datei in angebrachtem JSON- oder HTML-Format importieren." - -msgid "Please execute the import script locally as it can take a very long time." -msgstr "Führe das Import-Skript lokal aus, da der Import sehr lange dauern kann." - -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." +msgid "" +"Importing from other services can be quite long, and webservers default " +"configuration often prevents long scripts execution time, so it must be done " +"in multiple parts." msgstr "" -"Wähle die Export-Datei auf deinem Computer aus und drücke den \"Import\"-Button unten. Wallabag wird deine Datei durchsuchen, alle URLs in der Datenbank speichern und die Artikel " -"herunterladen, sofern dies erforderlich ist." +"Der Import von anderen Diensten kann sehr lange dauern. Deswegen bricht der " +"Webserver diesen in vielen Konfigurationen ab. Daher muss der Import in " +"mehrere Teile aufgeteilt werden." -msgid "You can click here to fetch content for articles with no content." -msgstr "Du kannst hier klicken, um den Inhalt für Artikel ohne Inhalt herunterzuladen." +msgid "First, select the export file on your computer and upload it." +msgstr "Wähle eine Datei von deinem Computer aus und lade sie hoch." -msgid "More info in the official documentation:" -msgstr "Mehr Infos in der offiziellen Dokumentation:" +msgid "File:" +msgstr "Datei:" -msgid "(?)" -msgstr "(?)" +msgid "Upload" +msgstr "Hochladen" + +msgid "Then, click on the right link below." +msgstr "Klicke dann unten auf den entsprechenden Link." msgid "Import from Pocket" -msgstr "Aus Pocket importieren" +msgstr "Import aus Pocket" #, php-format -msgid "(you must have a %s file on your server)" -msgstr "(du solltest eine %s Datei auf deinem Server haben)" +msgid "(after uploaded %s file)" +msgstr "(nach Upload der Datei %s)" msgid "Import from Readability" -msgstr "Aus Readability importieren" +msgstr "Import aus Readability" msgid "Import from Instapaper" -msgstr "Aus Instapaper importieren" +msgstr "Import aus Instapaper" msgid "Import from wallabag" -msgstr "Aus wallabag importieren" +msgstr "Import aus Readability" -msgid "Export your wallabag data" -msgstr "Deine wallabag-Daten exportieren" +msgid "" +"3. Your feed token is currently empty and must first be generated to fetch " +"content. Click here to generate it." +msgstr "" +"3. Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert " +"werden, um Inhalt abrufen zu können. Klicke hier um ihn zu generieren." + +msgid "Finally, you have to fetch content for imported items." +msgstr "Jetzt musst du den Inhalt der importierten Artikel abrufen." msgid "Click here" -msgstr "Hier klicken, " +msgstr "Klicke hier" + +msgid "to fetch content for 10 articles" +msgstr "um den Inhalt von 10 Artikeln abzurufen" + +msgid "" +"If you have console access to your server, you can also create a cron task:" +msgstr "" +"Wenn du Konsolenzugang zu deinem Server hast kannst du auch einen cron " +"erstellen:" + +msgid "Export your wallabag data" +msgstr "Exportieren deine wallabag Daten" msgid "to download your database." -msgstr "um die Datenbank herunterzuladen." +msgstr "um deine Datenbank herunterzuladen" msgid "to export your wallabag data." -msgstr "um die wallabag-Daten zu exportieren." - -msgid "Export JSON" -msgstr "JSON exportieren" +msgstr "um deine Daten aus wallabag zu exportieren." msgid "Cache" msgstr "Cache" @@ -199,289 +215,127 @@ msgstr "Cache" msgid "to delete cache." msgstr "um den Cache zu löschen." -msgid "Delete Cache" -msgstr "Cache löschen, " - -msgid "You can enter multiple tags, separated by commas." -msgstr "Du kannst mehrere Schlagworte, getrennt von einem Komma, hinzufügen." - -msgid "Add tags:" -msgstr "Schlagworte hinzufügen:" - -msgid "no tags" -msgstr "keine schlagworte" - -msgid "The tag has been applied successfully" -msgstr "Das Schlagwort wurde erfolgreich übernommen." - -msgid "interview" -msgstr "interview" - -msgid "editorial" -msgstr "editorial" - -msgid "video" -msgstr "video" - -msgid "return to article" -msgstr "zum artikel zurückkehren" - -msgid "plop" -msgstr "plop" - -msgid "You can check your configuration here." -msgstr "Du kannst deine Konfiguration hier überprüfen." - -msgid "favoris" -msgstr "Favoriten" - -msgid "archive" -msgstr "archiv" - -msgid "unread" -msgstr "ungelesen" +msgid "Tags" +msgstr "Tags" msgid "by date asc" -msgstr "nach Datum, aufsteigend" +msgstr "nach Datum aufsteigend" msgid "by date" msgstr "nach Datum" msgid "by date desc" -msgstr "nach Datum, absteigend" +msgstr "nach Datum absteigend" msgid "by title asc" -msgstr "nach Titel, aufsteigend" +msgstr "nach Titel aufsteigend" msgid "by title" msgstr "nach Titel" msgid "by title desc" -msgstr "nach Titel, absteigend" +msgstr "nach Titel absteigend" + +#, fuzzy +msgid "toggle view mode" +msgstr "Favorit" + +msgid "home" +msgstr "Start" + +msgid "favorites" +msgstr "Favoriten" + +msgid "archive" +msgstr "Archiv" + +msgid "tags" +msgstr "Tags" + +msgid "save a link" +msgstr "Speichere einen Link" + +msgid "search" +msgstr "Suche" + +msgid "logout" +msgstr "Logout" + +msgid "return home" +msgstr "Zurück zum Start" + +#, fuzzy +msgid "Search" +msgstr "Archiv" + +msgid "powered by" +msgstr "bereitgestellt von" + +msgid "debug mode is on so cache is off." +msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" + +msgid "your wallabag version:" +msgstr "Deine wallabag Version" + +msgid "storage:" +msgstr "Speicher:" + +msgid "Save a link" +msgstr "Speichere einen Link" + +msgid "save link!" +msgstr "Link speichern!" + +msgid "unread" +msgstr "ungelesen" msgid "Tag" -msgstr "Schlagwort" +msgstr "Tag" msgid "No articles found." msgstr "Keine Artikel gefunden." +msgid "estimated reading time:" +msgstr "geschätzte Lesezeit:" + +msgid "estimated reading time :" +msgstr "geschätzte Lesezeit:" + msgid "Toggle mark as read" -msgstr "Als gelesen/ungelesen markieren" +msgstr "Als gelesen markieren" msgid "toggle favorite" -msgstr "favorisieren" +msgstr "Favorit" msgid "delete" -msgstr "löschen" +msgstr "Löschen" msgid "original" -msgstr "original" +msgstr "Original" -msgid "estimated reading time:" -msgstr "Geschätzte Lesezeit:" - -msgid "mark all the entries as read" -msgstr "Alle Einträge als gelesen markieren" +msgid "Mark all the entries as read" +msgstr "Markiere alle als gelesen" msgid "results" msgstr "Ergebnisse" -msgid "installation" -msgstr "installation" - -msgid "install your wallabag" -msgstr "deine wallabag installieren" - -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 ist noch nicht installiert. Fülle das untenstehende Formular aus, um wallabag zu installieren. Scheue dich nicht davor, die Dokumentation " -"auf der wallabag-Webseite zur Hilfe zu ziehen." - -msgid "Login" -msgstr "Anmelden" - -msgid "Repeat your password" -msgstr "Passwort wiederholen" - -msgid "Install" -msgstr "Installieren" - -msgid "login to your wallabag" -msgstr "Melde dich in deiner wallabag an" - -msgid "Login to wallabag" -msgstr "In wallabag anmelden" - -msgid "you are in demo mode, some features may be disabled." -msgstr "Du bist im Demo-Modus, einige Features sind möglicherweise deaktiviert." - -msgid "Username" -msgstr "Benutzername" - -msgid "Stay signed in" -msgstr "Angemeldet bleiben" - -msgid "(Do not check on public computers)" -msgstr "(nicht auf öffentlichen Computern ankreuzen)" - -msgid "Sign in" -msgstr "Anmelden" - -msgid "favorites" -msgstr "favoriten" - -msgid "estimated reading time :" -msgstr "Geschätzte Lesezeit:" - -msgid "Mark all the entries as read" -msgstr "Alle Einträge als gelesen markieren" - -msgid "Return home" -msgstr "Zur Startseite zurückkehren" - -msgid "Back to top" -msgstr "Nach oben scrollen" - -msgid "Mark as read" -msgstr "Als gelesen markieren" - -msgid "Favorite" -msgstr "Favorisieren" - -msgid "Toggle favorite" -msgstr "favorisieren" - -msgid "Delete" -msgstr "Löschen" - -msgid "Tweet" -msgstr "Twittern" - -msgid "Email" -msgstr "Email" - -msgid "shaarli" -msgstr "shaarli" - -msgid "flattr" -msgstr "flattr" - -msgid "Does this article appear wrong?" -msgstr "Erscheint dieser Artikel nicht richtig?" - -msgid "tags:" -msgstr "schlagworte:" - -msgid "Edit tags" -msgstr "Schlagworte bearbeiten" - -msgid "save link!" -msgstr "link speichern!" - -msgid "home" -msgstr "start" - -msgid "tags" -msgstr "schlagworte" - -msgid "logout" -msgstr "abmelden" - -msgid "powered by" -msgstr "Angetrieben von" - -msgid "debug mode is on so cache is off." -msgstr "Der Debug-Modus ist aktiviert, also ist der Cache deaktiviert." - -msgid "your wallabag version:" -msgstr "Deine wallabag-Version:" - -msgid "storage:" -msgstr "speicher:" - -msgid "save a link" -msgstr "einen link speichern" - -msgid "back to home" -msgstr "zurück zur startseite" - -msgid "toggle mark as read" -msgstr "als gelesen/ungelesen markieren" - -msgid "tweet" -msgstr "tweet" - -msgid "email" -msgstr "email" - -msgid "this article appears wrong?" -msgstr "dieser artikel erscheint falsch?" - -msgid "No link available here!" -msgstr "Kein Link verfügbar!" - -msgid "Poching a link" -msgstr "Link speichern" - -msgid "by filling this field" -msgstr "mit dem Ausfüllen dieses Feldes" - -msgid "bookmarklet: drag & drop this link to your bookmarks bar" -msgstr "Bookmarklet: Drag & drop diesen Link in deine Lesezeichen" - -msgid "Drag & drop this link to your bookmarks bar:" -msgstr "Drag & drop diesen Link in deine Lesezeichen:" - -msgid "your version" -msgstr "deine Version" - -msgid "latest stable version" -msgstr "letzte stabile Version" - -msgid "a more recent stable version is available." -msgstr "Eine aktuellere Version ist verfügbar." - -msgid "you are up to date." -msgstr "Du bist auf dem aktuellsten Stand." - -msgid "latest dev version" -msgstr "Letzte Entwickler-Version" - -msgid "a more recent development version is available." -msgstr "Eine neuere Entwickler-Version ist verfügbar." - -msgid "Please execute the import script locally, it can take a very long time." -msgstr "Führe das Import-Skript lokal aus, da der Import sehr lange dauern kann." - -msgid "More infos in the official doc:" -msgstr "Mehr Informationen in der offiziellen Dokumentation:" - -msgid "import from Pocket" -msgstr "Aus Pocket importieren" - -msgid "import from Readability" -msgstr "Aus Readability importieren" - -msgid "import from Instapaper" -msgstr "Aus Instapaper importieren" - -msgid "Tags" -msgstr "Schlagworte" +msgid "Uh, there is a problem with the cron." +msgstr "Oh, es gab ein Problem mit dem cron." msgid "Untitled" -msgstr "Untitled" +msgstr "Ohne Titel" msgid "the link has been added successfully" -msgstr "Der Link wurde erfolgreich hinzugefügt" +msgstr "Speichern des Links erfolgreich" msgid "error during insertion : the link wasn't added" -msgstr "Fehler während des Imports: Der Link wurde nicht hinzugefügt." +msgstr "Fehler beim Einfügen: Der Link wurde nicht hinzugefügt" msgid "the link has been deleted successfully" -msgstr "Der Link wurde erfolgreich gelöscht" +msgstr "Löschen des Links erfolgreich" msgid "the link wasn't deleted" -msgstr "Der Link wurde nicht gelöscht." +msgstr "Der Link wurde nicht entfernt" msgid "Article not found!" msgstr "Artikel nicht gefunden!" @@ -493,22 +347,24 @@ msgid "next" msgstr "nächste" msgid "in demo mode, you can't update your password" -msgstr "Im Demo-Modus kannst du as Kennwort nicht aktualisieren." +msgstr "im Demo-Modus kann das Passwort nicht geändert werden" msgid "your password has been updated" -msgstr "Dein Passwort wurde aktualisiert" +msgstr "Dein Passwort wurde geändert" -msgid "the two fields have to be filled & the password must be the same in the two fields" -msgstr "Beide Felder müssen ausgefüllt sein und das gleiche Passwort beinhalten" +msgid "" +"the two fields have to be filled & the password must be the same in the two " +"fields" +msgstr "Beide Felder müssen mit selbem Inhalt ausgefüllt sein" msgid "still using the \"" msgstr "nutze immernoch die \"" msgid "that theme does not seem to be installed" -msgstr "Dieses Theme scheint nicht installiert zu sein." +msgstr "dieses Theme scheint nicht installiert zu sein" msgid "you have changed your theme preferences" -msgstr "Du hast deine Theme-Einstellungen geändert" +msgstr "Du hast deine Theme Einstellungen geändert" msgid "that language does not seem to be installed" msgstr "Diese Sprache scheint nicht installiert zu sein" @@ -517,119 +373,286 @@ msgid "you have changed your language preferences" msgstr "Du hast deine Spracheinstellungen geändert" msgid "login failed: you have to fill all fields" -msgstr "Anmeldung fehlgeschlagen: Du musst alle Felder ausfüllen" +msgstr "Anmeldung fehlgeschlagen: Alle Felder müssen ausgefüllt werden" msgid "welcome to your wallabag" -msgstr "Willkommen in deiner wallabag" +msgstr "Willkommen bei deiner wallabag" msgid "login failed: bad login or password" -msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder falsches Passwort" +msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder Passwort" -msgid "import from instapaper completed" -msgstr "Import aus Instapaper abgeschlossen" +msgid "" +"import from instapaper completed. You have to execute the cron to fetch " +"content." +msgstr "" +"Import aus Instapaper vollständig. Führe den cronjob aus um den Inhalt " +"abzurufen." -msgid "import from pocket completed" -msgstr "Import aus Pocket abgeschlossen" +msgid "" +"import from pocket completed. You have to execute the cron to fetch content." +msgstr "" +"Import aus Pocket vollständig. Führe den cronjob aus um den Inhalt abzurufen." -msgid "import from Readability completed. " -msgstr "Import aus Readability abgeschlossen." +msgid "" +"import from Readability completed. You have to execute the cron to fetch " +"content." +msgstr "" +"Import aus Readability vollständig. Führe den cronjob aus um den Inhalt " +"abzurufen." -msgid "import from Poche completed. " -msgstr "Import aus wallabag abgeschlossen." +msgid "" +"import from Poche completed. You have to execute the cron to fetch content." +msgstr "" +"Import aus Poche vollständig. Führe den cronjob aus um den Inhalt abzurufen." msgid "Unknown import provider." -msgstr "Unbekannter Import-Provider." - -msgid "Incomplete inc/poche/define.inc.php file, please define \"" -msgstr "Die Datei /inc/poche/define.inc.php ist unvollständig, bitte definiere \"" +msgstr "Unbekannter Import Anbieter." msgid "Could not find required \"" msgstr "Nicht gefunden: \"" +msgid "File uploaded. You can now execute import." +msgstr "Datei hochgeladen. Du kannst nun importieren." + +msgid "Error while importing file. Do you have access to upload it?" +msgstr "Fehler beim Importieren. Hast du das Recht zum Hochladen?" + +msgid "User with this id (" +msgstr "Nutzer mit dieser id (" + msgid "Uh, there is a problem while generating feeds." -msgstr "Oh, es gibt ein Problem bei dem Generieren der Feeds." +msgstr "Oh, es gab ein Problem beim Erstellen des Feeds." msgid "Cache deleted." -msgstr "Cache geleert." +msgstr "Cache gelöscht" msgid "Oops, it seems you don't have PHP 5." -msgstr "Ups, es sieht so aus, als ob du nicht PHP 5 hast." +msgstr "Oops, es scheint als würde PHP 5 fehlen." -msgid "Add user" -msgstr "Benutzer hinzufügen" +msgid "wallabag, a read it later open source system" +msgstr "wallabag, ein Später-Lesen Open Source System" -msgid "Add a new user :" -msgstr "Neuen Benutzer hinzufügen:" +msgid "login failed: user doesn't exist" +msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" -msgid "Login for new user" -msgstr "Benutzername des neuen Benutzers" +#~ msgid "You can enter multiple tags, separated by commas." +#~ msgstr "Du kannst mehrere Tags, durch Kommata getrennt, eingeben." -msgid "Password for new user" -msgstr "Passwort des neuen Benutzers" +#~ msgid "return to article" +#~ msgstr "zurück zum Artikel" -msgid "Email for new user (not required)" -msgstr "E-Mail-Adresse des neuen Benutzers (nicht erforderlich)" +#, fuzzy +#~ msgid "favoris" +#~ msgstr "Favoriten" -msgid "Send" -msgstr "Senden" +#~ msgid "mark all the entries as read" +#~ msgstr "Markiere alle als gelesen" -msgid "Delete account" -msgstr "Account löschen" +#~ msgid "Back to top" +#~ msgstr "Nach Oben" -msgid "You can delete your account by entering your password and validating." -msgstr "Du kannst deinen Account löschen, indem du dein Kennwort eintippst und validierst." +#~ msgid "Mark as read" +#~ msgstr "Als gelesen markieren" -msgid "Be careful, data will be erased forever (that is a very long time)." -msgstr "Pass auf, die Daten werden für immer gelöscht werden (eine sehr lange Zeit)." +#~ msgid "Favorite" +#~ msgstr "Favoriten" -msgid "Type here your password" -msgstr "Kennwort hier eintippen" +#~ msgid "Toggle favorite" +#~ msgstr "Favorit" -msgid "You are the only user, you cannot delete your own account." -msgstr "Du kannst deinen Account nicht löschen, weil du der einzige Benutzer bist." +#~ msgid "Delete" +#~ msgstr "Löschen" -msgid "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." -msgstr "Um wallabag komplett zu entfernen, lösche den wallabag-Ordner und die Datenbank(en) von deinem Webserver." +#~ msgid "Tweet" +#~ msgstr "Twittern" -msgid "Enter your search here" -msgstr "Suchbegriff hier eintippen" +#~ msgid "Email" +#~ msgstr "per E-Mail senden" -msgid "Tag these results as" -msgstr "Diese Ergebnisse verschlagworten mit" +#~ msgid "shaarli" +#~ msgstr "Shaarli" -# ebook -msgid "Fancy an E-Book ?" -msgstr "Willst du ein E-Book?" +#~ msgid "flattr" +#~ msgstr "flattr" -msgid "Click on this link to get all your articles in one ebook (ePub 3 format)." -msgstr "Klicke auf diesen Link, um alle Artikel in ein E-Book (EPUB 3-Format) zu exportieren." +#~ msgid "Does this article appear wrong?" +#~ msgstr "Erscheint dieser Artikel falsch?" -msgid "This can take a while and can even fail if you have too many articles, depending on your server configuration." -msgstr "Dies kann eine Weile dauern oder sogar fehlschlagen, wenn du zu viele Artikel hast, abhängig von deiner Server-Konfiguration." +#~ msgid "Edit tags" +#~ msgstr "Tags bearbeiten" -msgid "Download the articles from this tag in an epub" -msgstr "Die Artikel von diesem Schlagwort als EPUB herunterladen" +#~ msgid "Start typing for auto complete." +#~ msgstr "Beginne zu tippen für die Autovervollständigung." -msgid "Download the articles from this search in an epub" -msgstr "Alle Artikel aus dieser Suche als EPUB herunterladen" +#~ msgid "Return home" +#~ msgstr "Zurück zum Start" -msgid "Download the articles from this category in an epub" -msgstr "Alle Artikel aus dieser Kategorie als EPUB herunterladen" +#~ msgid "tags:" +#~ msgstr "Tags:" + +#~ msgid "login to your wallabag" +#~ msgstr "Bei wallabag anmelden" + +#~ msgid "you are in demo mode, some features may be disabled." +#~ msgstr "" +#~ "Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert " +#~ "sein." + +#~ msgid "Login" +#~ msgstr "Benutzername" + +#~ msgid "Stay signed in" +#~ msgstr "Angemeldet bleiben" + +#~ msgid "(Do not check on public computers)" +#~ msgstr "(nicht auf einem öffentlichen Computer anhaken)" + +#~ msgid "plop" +#~ msgstr "plop" + +#~ msgid "Login to wallabag" +#~ msgstr "Bei wallabag anmelden" + +#~ msgid "Username" +#~ msgstr "Benutzername" + +#~ msgid "Sign in" +#~ msgstr "Einloggen" + +#~ msgid "Enter your search here" +#~ msgstr "Gib hier deine Suchanfrage ein" + +#~ msgid "installation" +#~ msgstr "Installieren" + +#~ msgid "install your wallabag" +#~ msgstr "Installiere deine 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 ist noch nicht installiert. Bitte fülle die Felder unten aus, um " +#~ "die Installation durchzuführen. Zögere nicht, die Dokumentation auf der Website von wallabag zu lesen, " +#~ "falls du Probleme haben solltest." + +#~ msgid "Repeat your password" +#~ msgstr "Wiederhole dein Passwort" + +#~ msgid "Install" +#~ msgstr "Installieren" + +#~ msgid "No link available here!" +#~ msgstr "Kein Link verfügbar!" + +#~ msgid "toggle mark as read" +#~ msgstr "Als gelesen markieren" + +#~ msgid "" +#~ "You can check your " +#~ "configuration here." +#~ msgstr "" +#~ "Du kannst deine Konfiguration hier testen." + +#~ msgid "back to home" +#~ msgstr "züruck zur Hauptseite" + +#~ msgid "tweet" +#~ msgstr "Twittern" + +#~ msgid "email" +#~ msgstr "senden per E-Mail" + +#~ msgid "this article appears wrong?" +#~ msgstr "dieser Artikel erscheint falsch?" + +#~ msgid "Poching a link" +#~ msgstr "Poche einen Link" + +#~ msgid "by filling this field" +#~ msgstr "durch das ausfüllen dieses Feldes:" + +#~ msgid "bookmarklet: drag & drop this link to your bookmarks bar" +#~ msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" + +#~ msgid "your version" +#~ msgstr "Deine Version" + +#~ msgid "latest stable version" +#~ msgstr "Neuste stabile Version" + +#~ msgid "a more recent stable version is available." +#~ msgstr "Eine neuere stabile Version ist verfügbar." + +#~ msgid "you are up to date." +#~ msgstr "Du bist auf den neuesten Stand." + +#~ msgid "latest dev version" +#~ msgstr "Neuste Entwicklungsversion" + +#~ msgid "a more recent development version is available." +#~ msgstr "Eine neuere Entwicklungsversion ist verfügbar." + +#~ msgid "" +#~ "Please execute the import script locally, it can take a very long time." +#~ msgstr "" +#~ "Bitte führe das Import Script lokal aus, dies kann eine Weile dauern." + +#~ msgid "More infos in the official doc:" +#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" + +#~ msgid "import from Pocket" +#~ msgstr "Import aus Pocket" + +#~ msgid "(you must have a %s file on your server)" +#~ msgstr "(du brauchst eine %s Datei auf deinem Server)" + +#~ msgid "import from Readability" +#~ msgstr "Import aus Readability" + +#~ msgid "import from Instapaper" +#~ msgstr "Import aus Instapaper" + +#~ msgid "You can also create a cron task:" +#~ msgstr "Du kannst auch einen cronjob anlegen:" + +#~ msgid "" +#~ "Please execute the import script locally as it can take a very long time." +#~ msgstr "" +#~ "Bitte führe das Import Script lokal aus, da dies eine Weile dauern kann." + +#~ msgid "More info in the official documentation:" +#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" + +#~ msgid "import from instapaper completed" +#~ msgstr "Import aus Instapaper erfolgreich" + +#~ msgid "import from pocket completed" +#~ msgstr "Import aus Pocket erfolgreich" + +#~ msgid "import from Poche completed. " +#~ msgstr "Import aus Poche erfolgreich" + +#~ msgid "Incomplete inc/poche/define.inc.php file, please define \"" +#~ msgstr "Unvollständige inc/poche/define.inc.php Datei, bitte setze \"" #~ msgid "poche it!" -#~ msgstr "poche it!" +#~ msgstr "Poche es!" #~ msgid "Updating poche" -#~ msgstr "Updating poche" +#~ msgstr "Poche aktualisieren" #~ msgid "create an issue" -#~ msgstr "create an issue" +#~ msgstr "ein Ticket erstellen" #~ msgid "or" -#~ msgstr "or" +#~ msgstr "oder" #~ msgid "contact us by mail" -#~ msgstr "contact us by mail" +#~ msgstr "kontaktieren Sie uns per E-Mail" #~ msgid "your poche version:" -#~ msgstr "your poche version:" +#~ msgstr "Deine Poche Version" From f8100e0d054ef454f299ee815de545b02ae5ca9d Mon Sep 17 00:00:00 2001 From: Julian Oster Date: Tue, 27 Jan 2015 18:05:44 +0100 Subject: [PATCH 15/37] Update german localisation. --- locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo | Bin 10620 -> 16993 bytes locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po | 789 ++++++++++---------- 2 files changed, 383 insertions(+), 406 deletions(-) diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo index bd18817fbc80bb572c1e7e0808680b94eaac6af7..3add116cc30a5f98dc4dff0aa1eabc1c451c9c56 100644 GIT binary patch literal 16993 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 J9-8OP{{f7&ZIJ)~ literal 10620 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 diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po index 8b82721d9..478010074 100644 --- a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po +++ b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po @@ -1,18 +1,26 @@ msgid "" msgstr "" -"Project-Id-Version: Wallabag\n" +"Project-Id-Version: wallabag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-03-27 13:41+0100\n" +"POT-Creation-Date: 2014-02-25 15:17+0300\n" "PO-Revision-Date: \n" -"Last-Translator: Kevin Meyer \n" +"Last-Translator: Julian Oster \n" "Language-Team: \n" -"Language: de\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.6.4\n" +"X-Generator: Poedit 1.7.3\n" "X-Poedit-Basepath: .\n" -"X-Poedit-SearchPath-0: /Users/kevinmeyer/Dropbox/dev_web/wallabag-dev\n" + +msgid "wallabag, a read it later open source system" +msgstr "wallabag, ein \"Read-it-later\"-Open-Source-System" + +msgid "login failed: user doesn't exist" +msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" + +msgid "return home" +msgstr "Auf Startseite zurückkehren" msgid "config" msgstr "Konfiguration" @@ -21,13 +29,19 @@ msgid "Saving articles" msgstr "Artikel speichern" msgid "There are several ways to save an article:" -msgstr "Es gibt viele Methoden um Artikel zu speichern:" +msgstr "Es gibt mehrere Wege, um einen Artikel zu speichern:" msgid "read the documentation" -msgstr "Die Dokumentation lesen" +msgstr "Dokumentation lesen" msgid "download the extension" -msgstr "installiere die Erweiterung" +msgstr "Erweiterung herunterladen" + +msgid "Firefox Add-On" +msgstr "Firefox-Addon" + +msgid "Chrome Extension" +msgstr "Chrome-Erweiterung" msgid "via F-Droid" msgstr "via F-Droid" @@ -39,16 +53,16 @@ msgid "via Google Play" msgstr "via Google Play" msgid "download the application" -msgstr "lade die App" +msgstr "App herunterladen" msgid "By filling this field" -msgstr "Durch Ausfüllen dieses Feldes" +msgstr "Durch das Ausfüllen dieses Feldes" msgid "bag it!" msgstr "bag it!" msgid "Bookmarklet: drag & drop this link to your bookmarks bar" -msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" +msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen" msgid "Upgrading wallabag" msgstr "wallabag aktualisieren" @@ -57,58 +71,46 @@ msgid "Installed version" msgstr "Installierte Version" msgid "Latest stable version" -msgstr "Neuste stabile Version" +msgstr "Letzte stabile Version" msgid "A more recent stable version is available." -msgstr "Eine neuere stabile Version ist verfügbar." +msgstr "Eine neuere Version ist verfügbar." msgid "You are up to date." -msgstr "Du bist auf den neuesten Stand." - -msgid "Last check:" -msgstr "Zuletzt geprüft:" +msgstr "Du bist auf dem aktuellsten Stand." msgid "Latest dev version" -msgstr "Neuste Entwicklungsversion" +msgstr "Letzte Entwickler-Version" msgid "A more recent development version is available." -msgstr "Eine neuere Entwicklungsversion ist verfügbar." +msgstr "Eine neuere Entwickler-Version ist verfügbar." msgid "You can clear cache to check the latest release." -msgstr "Leere den Cache um die neueste Version zu prüfen." +msgstr "Du kannst den Cache leeren, um nach neueren Versionen zu suchen." msgid "Feeds" msgstr "Feeds" -msgid "" -"Your feed token is currently empty and must first be generated to enable " -"feeds. Click here to generate it." -msgstr "" -"Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert werden, " -"um deine Feeds zu aktivieren. Klicke hier um ihn zu generieren." +msgid "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it." +msgstr "Dein Feed-Token ist momentan leer und muss generiert werden, um die Feeds zu aktivieren. Klicke hier, um ihn zu erstellen." msgid "Unread feed" -msgstr "Ungelesen Feed" +msgstr "Feed für Ungelesenes" msgid "Favorites feed" -msgstr "Favoriten Feed" +msgstr "Feed für Favoriten" msgid "Archive feed" -msgstr "Archiv Feed" +msgstr "Archiv-Feed" msgid "Your token:" msgstr "Dein Token:" msgid "Your user id:" -msgstr "Deine User ID:" +msgstr "Deine Benutzer-ID:" -msgid "" -"You can regenerate your token: generate!" -"." -msgstr "" -"Hier kannst du dein Token erzeugen: Generieren!." +msgid "You can regenerate your token: generate!." +msgstr "Du kannst deinen Token regenerieren: generieren!." msgid "Change your theme" msgstr "Theme ändern" @@ -138,76 +140,58 @@ msgid "Repeat your new password:" msgstr "Neues Passwort wiederholen:" msgid "Import" -msgstr "Import" +msgstr "Importieren" -msgid "" -"Importing from other services can be quite long, and webservers default " -"configuration often prevents long scripts execution time, so it must be done " -"in multiple parts." +msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." +msgstr "Du kannst aus Pocket, Readability, Instapaper, wallabag oder einer beliebigen Datei in angebrachtem JSON- oder HTML-Format importieren." + +msgid "Please execute the import script locally as it can take a very long time." +msgstr "Führe das Import-Skript lokal aus, da der Import sehr lange dauern kann." + +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 "" -"Der Import von anderen Diensten kann sehr lange dauern. Deswegen bricht der " -"Webserver diesen in vielen Konfigurationen ab. Daher muss der Import in " -"mehrere Teile aufgeteilt werden." +"Wähle die Export-Datei auf deinem Computer aus und drücke den \"Import\"-Button unten. Wallabag wird deine Datei durchsuchen, alle URLs in der Datenbank speichern und die Artikel " +"herunterladen, sofern dies erforderlich ist." -msgid "First, select the export file on your computer and upload it." -msgstr "Wähle eine Datei von deinem Computer aus und lade sie hoch." +msgid "You can click here to fetch content for articles with no content." +msgstr "Du kannst hier klicken, um den Inhalt für Artikel ohne Inhalt herunterzuladen." -msgid "File:" -msgstr "Datei:" +msgid "More info in the official documentation:" +msgstr "Mehr Infos in der offiziellen Dokumentation:" -msgid "Upload" -msgstr "Hochladen" - -msgid "Then, click on the right link below." -msgstr "Klicke dann unten auf den entsprechenden Link." +msgid "(?)" +msgstr "(?)" msgid "Import from Pocket" -msgstr "Import aus Pocket" +msgstr "Aus Pocket importieren" #, php-format -msgid "(after uploaded %s file)" -msgstr "(nach Upload der Datei %s)" +msgid "(you must have a %s file on your server)" +msgstr "(du solltest eine %s Datei auf deinem Server haben)" msgid "Import from Readability" -msgstr "Import aus Readability" +msgstr "Aus Readability importieren" msgid "Import from Instapaper" -msgstr "Import aus Instapaper" +msgstr "Aus Instapaper importieren" msgid "Import from wallabag" -msgstr "Import aus Readability" - -msgid "" -"3. Your feed token is currently empty and must first be generated to fetch " -"content. Click here to generate it." -msgstr "" -"3. Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert " -"werden, um Inhalt abrufen zu können. Klicke hier um ihn zu generieren." - -msgid "Finally, you have to fetch content for imported items." -msgstr "Jetzt musst du den Inhalt der importierten Artikel abrufen." - -msgid "Click here" -msgstr "Klicke hier" - -msgid "to fetch content for 10 articles" -msgstr "um den Inhalt von 10 Artikeln abzurufen" - -msgid "" -"If you have console access to your server, you can also create a cron task:" -msgstr "" -"Wenn du Konsolenzugang zu deinem Server hast kannst du auch einen cron " -"erstellen:" +msgstr "Aus wallabag importieren" msgid "Export your wallabag data" -msgstr "Exportieren deine wallabag Daten" +msgstr "Deine wallabag-Daten exportieren" + +msgid "Click here" +msgstr "Hier klicken, " msgid "to download your database." -msgstr "um deine Datenbank herunterzuladen" +msgstr "um die Datenbank herunterzuladen." msgid "to export your wallabag data." -msgstr "um deine Daten aus wallabag zu exportieren." +msgstr "um die wallabag-Daten zu exportieren." + +msgid "Export JSON" +msgstr "JSON exportieren" msgid "Cache" msgstr "Cache" @@ -215,127 +199,289 @@ msgstr "Cache" msgid "to delete cache." msgstr "um den Cache zu löschen." -msgid "Tags" -msgstr "Tags" +msgid "Delete Cache" +msgstr "Cache löschen, " + +msgid "You can enter multiple tags, separated by commas." +msgstr "Du kannst mehrere Schlagworte, getrennt von einem Komma, hinzufügen." + +msgid "Add tags:" +msgstr "Schlagworte hinzufügen:" + +msgid "no tags" +msgstr "keine schlagworte" + +msgid "The tag has been applied successfully" +msgstr "Das Schlagwort wurde erfolgreich übernommen." + +msgid "interview" +msgstr "interview" + +msgid "editorial" +msgstr "editorial" + +msgid "video" +msgstr "video" + +msgid "return to article" +msgstr "zum artikel zurückkehren" + +msgid "plop" +msgstr "plop" + +msgid "You can check your configuration here." +msgstr "Du kannst deine Konfiguration hier überprüfen." + +msgid "favoris" +msgstr "Favoriten" + +msgid "archive" +msgstr "archiv" + +msgid "unread" +msgstr "ungelesen" msgid "by date asc" -msgstr "nach Datum aufsteigend" +msgstr "nach Datum, aufsteigend" msgid "by date" msgstr "nach Datum" msgid "by date desc" -msgstr "nach Datum absteigend" +msgstr "nach Datum, absteigend" msgid "by title asc" -msgstr "nach Titel aufsteigend" +msgstr "nach Titel, aufsteigend" msgid "by title" msgstr "nach Titel" msgid "by title desc" -msgstr "nach Titel absteigend" - -#, fuzzy -msgid "toggle view mode" -msgstr "Favorit" - -msgid "home" -msgstr "Start" - -msgid "favorites" -msgstr "Favoriten" - -msgid "archive" -msgstr "Archiv" - -msgid "tags" -msgstr "Tags" - -msgid "save a link" -msgstr "Speichere einen Link" - -msgid "search" -msgstr "Suche" - -msgid "logout" -msgstr "Logout" - -msgid "return home" -msgstr "Zurück zum Start" - -#, fuzzy -msgid "Search" -msgstr "Archiv" - -msgid "powered by" -msgstr "bereitgestellt von" - -msgid "debug mode is on so cache is off." -msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" - -msgid "your wallabag version:" -msgstr "Deine wallabag Version" - -msgid "storage:" -msgstr "Speicher:" - -msgid "Save a link" -msgstr "Speichere einen Link" - -msgid "save link!" -msgstr "Link speichern!" - -msgid "unread" -msgstr "ungelesen" +msgstr "nach Titel, absteigend" msgid "Tag" -msgstr "Tag" +msgstr "Schlagwort" msgid "No articles found." msgstr "Keine Artikel gefunden." -msgid "estimated reading time:" -msgstr "geschätzte Lesezeit:" - -msgid "estimated reading time :" -msgstr "geschätzte Lesezeit:" - msgid "Toggle mark as read" -msgstr "Als gelesen markieren" +msgstr "Als gelesen/ungelesen markieren" msgid "toggle favorite" -msgstr "Favorit" +msgstr "favorisieren" msgid "delete" -msgstr "Löschen" +msgstr "löschen" msgid "original" -msgstr "Original" +msgstr "original" -msgid "Mark all the entries as read" -msgstr "Markiere alle als gelesen" +msgid "estimated reading time:" +msgstr "Geschätzte Lesezeit:" + +msgid "mark all the entries as read" +msgstr "Alle Einträge als gelesen markieren" msgid "results" msgstr "Ergebnisse" -msgid "Uh, there is a problem with the cron." -msgstr "Oh, es gab ein Problem mit dem cron." +msgid "installation" +msgstr "installation" + +msgid "install your wallabag" +msgstr "deine wallabag installieren" + +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 ist noch nicht installiert. Fülle das untenstehende Formular aus, um wallabag zu installieren. Scheue dich nicht davor, die Dokumentation " +"auf der wallabag-Webseite zur Hilfe zu ziehen." + +msgid "Login" +msgstr "Anmelden" + +msgid "Repeat your password" +msgstr "Passwort wiederholen" + +msgid "Install" +msgstr "Installieren" + +msgid "login to your wallabag" +msgstr "Melde dich in deiner wallabag an" + +msgid "Login to wallabag" +msgstr "In wallabag anmelden" + +msgid "you are in demo mode, some features may be disabled." +msgstr "Du bist im Demo-Modus, einige Features sind möglicherweise deaktiviert." + +msgid "Username" +msgstr "Benutzername" + +msgid "Stay signed in" +msgstr "Angemeldet bleiben" + +msgid "(Do not check on public computers)" +msgstr "(nicht auf öffentlichen Computern ankreuzen)" + +msgid "Sign in" +msgstr "Anmelden" + +msgid "favorites" +msgstr "favoriten" + +msgid "estimated reading time :" +msgstr "Geschätzte Lesezeit:" + +msgid "Mark all the entries as read" +msgstr "Alle Einträge als gelesen markieren" + +msgid "Return home" +msgstr "Zur Startseite zurückkehren" + +msgid "Back to top" +msgstr "Nach oben scrollen" + +msgid "Mark as read" +msgstr "Als gelesen markieren" + +msgid "Favorite" +msgstr "Favorisieren" + +msgid "Toggle favorite" +msgstr "favorisieren" + +msgid "Delete" +msgstr "Löschen" + +msgid "Tweet" +msgstr "Twittern" + +msgid "Email" +msgstr "Email" + +msgid "shaarli" +msgstr "shaarli" + +msgid "flattr" +msgstr "flattr" + +msgid "Does this article appear wrong?" +msgstr "Erscheint dieser Artikel nicht richtig?" + +msgid "tags:" +msgstr "schlagworte:" + +msgid "Edit tags" +msgstr "Schlagworte bearbeiten" + +msgid "save link!" +msgstr "link speichern!" + +msgid "home" +msgstr "start" + +msgid "tags" +msgstr "schlagworte" + +msgid "logout" +msgstr "abmelden" + +msgid "powered by" +msgstr "Angetrieben von" + +msgid "debug mode is on so cache is off." +msgstr "Der Debug-Modus ist aktiviert, also ist der Cache deaktiviert." + +msgid "your wallabag version:" +msgstr "Deine wallabag-Version:" + +msgid "storage:" +msgstr "speicher:" + +msgid "save a link" +msgstr "einen link speichern" + +msgid "back to home" +msgstr "zurück zur startseite" + +msgid "toggle mark as read" +msgstr "als gelesen/ungelesen markieren" + +msgid "tweet" +msgstr "tweet" + +msgid "email" +msgstr "email" + +msgid "this article appears wrong?" +msgstr "dieser artikel erscheint falsch?" + +msgid "No link available here!" +msgstr "Kein Link verfügbar!" + +msgid "Poching a link" +msgstr "Link speichern" + +msgid "by filling this field" +msgstr "mit dem Ausfüllen dieses Feldes" + +msgid "bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "Bookmarklet: Drag & drop diesen Link in deine Lesezeichen" + +msgid "Drag & drop this link to your bookmarks bar:" +msgstr "Drag & drop diesen Link in deine Lesezeichen:" + +msgid "your version" +msgstr "deine Version" + +msgid "latest stable version" +msgstr "letzte stabile Version" + +msgid "a more recent stable version is available." +msgstr "Eine aktuellere Version ist verfügbar." + +msgid "you are up to date." +msgstr "Du bist auf dem aktuellsten Stand." + +msgid "latest dev version" +msgstr "Letzte Entwickler-Version" + +msgid "a more recent development version is available." +msgstr "Eine neuere Entwickler-Version ist verfügbar." + +msgid "Please execute the import script locally, it can take a very long time." +msgstr "Führe das Import-Skript lokal aus, da der Import sehr lange dauern kann." + +msgid "More infos in the official doc:" +msgstr "Mehr Informationen in der offiziellen Dokumentation:" + +msgid "import from Pocket" +msgstr "Aus Pocket importieren" + +msgid "import from Readability" +msgstr "Aus Readability importieren" + +msgid "import from Instapaper" +msgstr "Aus Instapaper importieren" + +msgid "Tags" +msgstr "Schlagworte" msgid "Untitled" -msgstr "Ohne Titel" +msgstr "Untitled" msgid "the link has been added successfully" -msgstr "Speichern des Links erfolgreich" +msgstr "Der Link wurde erfolgreich hinzugefügt" msgid "error during insertion : the link wasn't added" -msgstr "Fehler beim Einfügen: Der Link wurde nicht hinzugefügt" +msgstr "Fehler während des Imports: Der Link wurde nicht hinzugefügt." msgid "the link has been deleted successfully" -msgstr "Löschen des Links erfolgreich" +msgstr "Der Link wurde erfolgreich gelöscht" msgid "the link wasn't deleted" -msgstr "Der Link wurde nicht entfernt" +msgstr "Der Link wurde nicht gelöscht." msgid "Article not found!" msgstr "Artikel nicht gefunden!" @@ -347,24 +493,22 @@ msgid "next" msgstr "nächste" msgid "in demo mode, you can't update your password" -msgstr "im Demo-Modus kann das Passwort nicht geändert werden" +msgstr "Im Demo-Modus kannst du as Kennwort nicht aktualisieren." msgid "your password has been updated" -msgstr "Dein Passwort wurde geändert" +msgstr "Dein Passwort wurde aktualisiert" -msgid "" -"the two fields have to be filled & the password must be the same in the two " -"fields" -msgstr "Beide Felder müssen mit selbem Inhalt ausgefüllt sein" +msgid "the two fields have to be filled & the password must be the same in the two fields" +msgstr "Beide Felder müssen ausgefüllt sein und das gleiche Passwort beinhalten" msgid "still using the \"" msgstr "nutze immernoch die \"" msgid "that theme does not seem to be installed" -msgstr "dieses Theme scheint nicht installiert zu sein" +msgstr "Dieses Theme scheint nicht installiert zu sein." msgid "you have changed your theme preferences" -msgstr "Du hast deine Theme Einstellungen geändert" +msgstr "Du hast deine Theme-Einstellungen geändert" msgid "that language does not seem to be installed" msgstr "Diese Sprache scheint nicht installiert zu sein" @@ -373,286 +517,119 @@ msgid "you have changed your language preferences" msgstr "Du hast deine Spracheinstellungen geändert" msgid "login failed: you have to fill all fields" -msgstr "Anmeldung fehlgeschlagen: Alle Felder müssen ausgefüllt werden" +msgstr "Anmeldung fehlgeschlagen: Du musst alle Felder ausfüllen" msgid "welcome to your wallabag" -msgstr "Willkommen bei deiner wallabag" +msgstr "Willkommen in deiner wallabag" msgid "login failed: bad login or password" -msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder Passwort" +msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder falsches Passwort" -msgid "" -"import from instapaper completed. You have to execute the cron to fetch " -"content." -msgstr "" -"Import aus Instapaper vollständig. Führe den cronjob aus um den Inhalt " -"abzurufen." +msgid "import from instapaper completed" +msgstr "Import aus Instapaper abgeschlossen" -msgid "" -"import from pocket completed. You have to execute the cron to fetch content." -msgstr "" -"Import aus Pocket vollständig. Führe den cronjob aus um den Inhalt abzurufen." +msgid "import from pocket completed" +msgstr "Import aus Pocket abgeschlossen" -msgid "" -"import from Readability completed. You have to execute the cron to fetch " -"content." -msgstr "" -"Import aus Readability vollständig. Führe den cronjob aus um den Inhalt " -"abzurufen." +msgid "import from Readability completed. " +msgstr "Import aus Readability abgeschlossen." -msgid "" -"import from Poche completed. You have to execute the cron to fetch content." -msgstr "" -"Import aus Poche vollständig. Führe den cronjob aus um den Inhalt abzurufen." +msgid "import from Poche completed. " +msgstr "Import aus wallabag abgeschlossen." msgid "Unknown import provider." -msgstr "Unbekannter Import Anbieter." +msgstr "Unbekannter Import-Provider." + +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Die Datei /inc/poche/define.inc.php ist unvollständig, bitte definiere \"" msgid "Could not find required \"" msgstr "Nicht gefunden: \"" -msgid "File uploaded. You can now execute import." -msgstr "Datei hochgeladen. Du kannst nun importieren." - -msgid "Error while importing file. Do you have access to upload it?" -msgstr "Fehler beim Importieren. Hast du das Recht zum Hochladen?" - -msgid "User with this id (" -msgstr "Nutzer mit dieser id (" - msgid "Uh, there is a problem while generating feeds." -msgstr "Oh, es gab ein Problem beim Erstellen des Feeds." +msgstr "Oh, es gibt ein Problem bei dem Generieren der Feeds." msgid "Cache deleted." -msgstr "Cache gelöscht" +msgstr "Cache geleert." msgid "Oops, it seems you don't have PHP 5." -msgstr "Oops, es scheint als würde PHP 5 fehlen." +msgstr "Ups, es sieht so aus, als ob du nicht PHP 5 hast." -msgid "wallabag, a read it later open source system" -msgstr "wallabag, ein Später-Lesen Open Source System" +msgid "Add user" +msgstr "Benutzer hinzufügen" -msgid "login failed: user doesn't exist" -msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" +msgid "Add a new user :" +msgstr "Neuen Benutzer hinzufügen:" -#~ msgid "You can enter multiple tags, separated by commas." -#~ msgstr "Du kannst mehrere Tags, durch Kommata getrennt, eingeben." +msgid "Login for new user" +msgstr "Benutzername des neuen Benutzers" -#~ msgid "return to article" -#~ msgstr "zurück zum Artikel" +msgid "Password for new user" +msgstr "Passwort des neuen Benutzers" -#, fuzzy -#~ msgid "favoris" -#~ msgstr "Favoriten" +msgid "Email for new user (not required)" +msgstr "E-Mail-Adresse des neuen Benutzers (nicht erforderlich)" -#~ msgid "mark all the entries as read" -#~ msgstr "Markiere alle als gelesen" +msgid "Send" +msgstr "Senden" -#~ msgid "Back to top" -#~ msgstr "Nach Oben" +msgid "Delete account" +msgstr "Account löschen" -#~ msgid "Mark as read" -#~ msgstr "Als gelesen markieren" +msgid "You can delete your account by entering your password and validating." +msgstr "Du kannst deinen Account löschen, indem du dein Kennwort eintippst und validierst." -#~ msgid "Favorite" -#~ msgstr "Favoriten" +msgid "Be careful, data will be erased forever (that is a very long time)." +msgstr "Pass auf, die Daten werden für immer gelöscht werden (eine sehr lange Zeit)." -#~ msgid "Toggle favorite" -#~ msgstr "Favorit" +msgid "Type here your password" +msgstr "Kennwort hier eintippen" -#~ msgid "Delete" -#~ msgstr "Löschen" +msgid "You are the only user, you cannot delete your own account." +msgstr "Du kannst deinen Account nicht löschen, weil du der einzige Benutzer bist." -#~ msgid "Tweet" -#~ msgstr "Twittern" +msgid "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." +msgstr "Um wallabag komplett zu entfernen, lösche den wallabag-Ordner und die Datenbank(en) von deinem Webserver." -#~ msgid "Email" -#~ msgstr "per E-Mail senden" +msgid "Enter your search here" +msgstr "Suchbegriff hier eintippen" -#~ msgid "shaarli" -#~ msgstr "Shaarli" +msgid "Tag these results as" +msgstr "Diese Ergebnisse verschlagworten mit" -#~ msgid "flattr" -#~ msgstr "flattr" +# ebook +msgid "Fancy an E-Book ?" +msgstr "Willst du ein E-Book?" -#~ msgid "Does this article appear wrong?" -#~ msgstr "Erscheint dieser Artikel falsch?" +msgid "Click on this link to get all your articles in one ebook (ePub 3 format)." +msgstr "Klicke auf diesen Link, um alle Artikel in ein E-Book (EPUB 3-Format) zu exportieren." -#~ msgid "Edit tags" -#~ msgstr "Tags bearbeiten" +msgid "This can take a while and can even fail if you have too many articles, depending on your server configuration." +msgstr "Dies kann eine Weile dauern oder sogar fehlschlagen, wenn du zu viele Artikel hast, abhängig von deiner Server-Konfiguration." -#~ msgid "Start typing for auto complete." -#~ msgstr "Beginne zu tippen für die Autovervollständigung." +msgid "Download the articles from this tag in an epub" +msgstr "Die Artikel von diesem Schlagwort als EPUB herunterladen" -#~ msgid "Return home" -#~ msgstr "Zurück zum Start" +msgid "Download the articles from this search in an epub" +msgstr "Alle Artikel aus dieser Suche als EPUB herunterladen" -#~ msgid "tags:" -#~ msgstr "Tags:" - -#~ msgid "login to your wallabag" -#~ msgstr "Bei wallabag anmelden" - -#~ msgid "you are in demo mode, some features may be disabled." -#~ msgstr "" -#~ "Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert " -#~ "sein." - -#~ msgid "Login" -#~ msgstr "Benutzername" - -#~ msgid "Stay signed in" -#~ msgstr "Angemeldet bleiben" - -#~ msgid "(Do not check on public computers)" -#~ msgstr "(nicht auf einem öffentlichen Computer anhaken)" - -#~ msgid "plop" -#~ msgstr "plop" - -#~ msgid "Login to wallabag" -#~ msgstr "Bei wallabag anmelden" - -#~ msgid "Username" -#~ msgstr "Benutzername" - -#~ msgid "Sign in" -#~ msgstr "Einloggen" - -#~ msgid "Enter your search here" -#~ msgstr "Gib hier deine Suchanfrage ein" - -#~ msgid "installation" -#~ msgstr "Installieren" - -#~ msgid "install your wallabag" -#~ msgstr "Installiere deine 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 ist noch nicht installiert. Bitte fülle die Felder unten aus, um " -#~ "die Installation durchzuführen. Zögere nicht, die Dokumentation auf der Website von wallabag zu lesen, " -#~ "falls du Probleme haben solltest." - -#~ msgid "Repeat your password" -#~ msgstr "Wiederhole dein Passwort" - -#~ msgid "Install" -#~ msgstr "Installieren" - -#~ msgid "No link available here!" -#~ msgstr "Kein Link verfügbar!" - -#~ msgid "toggle mark as read" -#~ msgstr "Als gelesen markieren" - -#~ msgid "" -#~ "You can check your " -#~ "configuration here." -#~ msgstr "" -#~ "Du kannst deine Konfiguration hier testen." - -#~ msgid "back to home" -#~ msgstr "züruck zur Hauptseite" - -#~ msgid "tweet" -#~ msgstr "Twittern" - -#~ msgid "email" -#~ msgstr "senden per E-Mail" - -#~ msgid "this article appears wrong?" -#~ msgstr "dieser Artikel erscheint falsch?" - -#~ msgid "Poching a link" -#~ msgstr "Poche einen Link" - -#~ msgid "by filling this field" -#~ msgstr "durch das ausfüllen dieses Feldes:" - -#~ msgid "bookmarklet: drag & drop this link to your bookmarks bar" -#~ msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" - -#~ msgid "your version" -#~ msgstr "Deine Version" - -#~ msgid "latest stable version" -#~ msgstr "Neuste stabile Version" - -#~ msgid "a more recent stable version is available." -#~ msgstr "Eine neuere stabile Version ist verfügbar." - -#~ msgid "you are up to date." -#~ msgstr "Du bist auf den neuesten Stand." - -#~ msgid "latest dev version" -#~ msgstr "Neuste Entwicklungsversion" - -#~ msgid "a more recent development version is available." -#~ msgstr "Eine neuere Entwicklungsversion ist verfügbar." - -#~ msgid "" -#~ "Please execute the import script locally, it can take a very long time." -#~ msgstr "" -#~ "Bitte führe das Import Script lokal aus, dies kann eine Weile dauern." - -#~ msgid "More infos in the official doc:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" - -#~ msgid "import from Pocket" -#~ msgstr "Import aus Pocket" - -#~ msgid "(you must have a %s file on your server)" -#~ msgstr "(du brauchst eine %s Datei auf deinem Server)" - -#~ msgid "import from Readability" -#~ msgstr "Import aus Readability" - -#~ msgid "import from Instapaper" -#~ msgstr "Import aus Instapaper" - -#~ msgid "You can also create a cron task:" -#~ msgstr "Du kannst auch einen cronjob anlegen:" - -#~ msgid "" -#~ "Please execute the import script locally as it can take a very long time." -#~ msgstr "" -#~ "Bitte führe das Import Script lokal aus, da dies eine Weile dauern kann." - -#~ msgid "More info in the official documentation:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" - -#~ msgid "import from instapaper completed" -#~ msgstr "Import aus Instapaper erfolgreich" - -#~ msgid "import from pocket completed" -#~ msgstr "Import aus Pocket erfolgreich" - -#~ msgid "import from Poche completed. " -#~ msgstr "Import aus Poche erfolgreich" - -#~ msgid "Incomplete inc/poche/define.inc.php file, please define \"" -#~ msgstr "Unvollständige inc/poche/define.inc.php Datei, bitte setze \"" +msgid "Download the articles from this category in an epub" +msgstr "Alle Artikel aus dieser Kategorie als EPUB herunterladen" #~ msgid "poche it!" -#~ msgstr "Poche es!" +#~ msgstr "poche it!" #~ msgid "Updating poche" -#~ msgstr "Poche aktualisieren" +#~ msgstr "Updating poche" #~ msgid "create an issue" -#~ msgstr "ein Ticket erstellen" +#~ msgstr "create an issue" #~ msgid "or" -#~ msgstr "oder" +#~ msgstr "or" #~ msgid "contact us by mail" -#~ msgstr "kontaktieren Sie uns per E-Mail" +#~ msgstr "contact us by mail" #~ msgid "your poche version:" -#~ msgstr "Deine Poche Version" +#~ msgstr "your poche version:" From 22f19b23a6e9400b5776a9a7f0eedb9eb1b5362e Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 31 Jan 2015 23:35:45 +0100 Subject: [PATCH 16/37] view improvements & check if at least one pdo driver is available --- install/index.php | 60 ++++++++++++++++++------- install/wallabag_compatibility_test.php | 3 +- 2 files changed, 46 insertions(+), 17 deletions(-) diff --git a/install/index.php b/install/index.php index 77b83c36a..54f7f7f2a 100755 --- a/install/index.php +++ b/install/index.php @@ -275,6 +275,27 @@ background-color:#FF9500; .detail { cursor: pointer; } +.compatibity_result { + margin: auto; + max-width: 300px; + min-height: 50px; + line-height: 50px; + text-align: center; +} + +h2, legend { + font-size: 30px; + text-transform: uppercase; + font-family: "PT Sans",sans-serif; +} + +legend:after { + content: ""; + height: 4px; + width: 70px; + background-color: #000; + display: block; +} @@ -328,14 +349,16 @@ cursor: pointer;

        To install wallabag, you just have to fill the following fields. That's all.

        If you need help, you can read the doc: offline documentation and online one (already up-to-date).

        -

        Server compatibility test (click to view details) : - All good - - Some problems, but it's OK ! - - Bad news : you can't run wallabag -

        - +
        +

        Server compatibility test

        + +
        All good
        + +
        Some problems, but it's OK !
        + +
        Bad news : you can't run wallabag
        + +
        @@ -363,6 +386,12 @@ cursor: pointer; Enabled' : 'Disabled'; ?> PDO: You have PDO support enabled.' : 'PDO: Your PHP installation doesn\'t support PHP PDO. ' . $status['app_name'] . ' will not work here.' ?> + + PDO Drivers + One of the PDO drivers must be installed + One driver is enabled' : 'No driver available'; ?> + PDO: You have at least one PDO driver installed.' : 'PDO Drivers: Your PHP installation doesn\'t have any PDO driver installed. ' . $status['app_name'] . ' will not work here.' ?> + XML Enabled @@ -453,8 +482,8 @@ cursor: pointer; +
        -
        @@ -472,12 +501,11 @@ cursor: pointer;
        -
        -

        This compatibility test has been borrowed (and slightly adapted by fivefilters.org) from the one supplied by SimplePie.org.

        +
        +

        This compatibility test has been borrowed (and slightly adapted by fivefilters.org) from the one supplied by SimplePie.org.

        +
        +
        - -
        -
        wallabag needs twig, a template engine (?). Two ways to install it:
        @@ -488,13 +516,13 @@ cursor: pointer; Be careful, zip extension is not enabled in your PHP configuration. You'll have to unzip vendor.zip manually. This method is mainly recommended if you don't have a dedicated server. -
      • use Composer :
        curl -s http://getcomposer.org/installer | php
        +                        
      • use Composer in your wallabag folder :
        curl -s http://getcomposer.org/installer | php
         php composer.phar install
      - Technical settings + Database settings

      Database engine:

        diff --git a/install/wallabag_compatibility_test.php b/install/wallabag_compatibility_test.php index 1093b2a33..3b465851a 100644 --- a/install/wallabag_compatibility_test.php +++ b/install/wallabag_compatibility_test.php @@ -26,6 +26,7 @@ $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_passing = extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql'); if (extension_loaded('xmlreader')) { $xml_ok = true; @@ -38,7 +39,7 @@ if (extension_loaded('xmlreader')) { $xml_ok = false; } -$status = array('app_name' => $app_name, 'php' => $php_ok, 'pdo' => $pdo_ok, '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); +$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); return $status; } From dd0d7ad9a18cce6424442ac37340ded039f5e0fb Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 31 Jan 2015 23:44:20 +0100 Subject: [PATCH 17/37] add informations on databases systems --- install/index.php | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/install/index.php b/install/index.php index 77b83c36a..73c594cdc 100755 --- a/install/index.php +++ b/install/index.php @@ -275,6 +275,19 @@ background-color:#FF9500; .detail { cursor: pointer; } +.descriptions { + margin-left: 10%; + position: relative; + top: 50%; +} +.database_inputs { + float: left; + width: 50% +} +.database_info { + width: 100%; + overflow: auto; +} @@ -453,6 +466,7 @@ cursor: pointer; + Close details
        @@ -493,7 +507,8 @@ php composer.phar install
      -
      +
      +
      Technical settings

      Database engine: @@ -530,8 +545,20 @@ php composer.phar install

  • +
    +
    + SQLite is the most simple database system of all three. It is therefore recommended for people who don't want or know how to configure other database systems. +
    +
    + MySQL is one of the most popular database systems. It comes with most shared hosting plans. +
    +
    + PostgreSQL. If you want it, you already know why you want it. +
    +
    +
    -
    +
    User settings

    @@ -553,7 +580,10 @@ php composer.phar install From 522841c77e8ace6045cb10f9387d514179d05aeb Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 1 Feb 2015 12:01:04 +0100 Subject: [PATCH 19/37] added some icomoon fonts (lots \!) and integrated random button for now --- themes/baggy/css/main.css | 2 +- themes/baggy/fonts/icomoon.eot | Bin 3896 -> 6040 bytes themes/baggy/fonts/icomoon.svg | 69 +++++++++++++++----------------- themes/baggy/fonts/icomoon.ttf | Bin 3732 -> 5876 bytes themes/baggy/fonts/icomoon.woff | Bin 3664 -> 5952 bytes themes/baggy/home.twig | 2 +- 6 files changed, 35 insertions(+), 38 deletions(-) diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 78d566124..9356deda9 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css @@ -737,7 +737,7 @@ a.add-to-wallabag-link-after:after { content: "\e80d"; } .icon-random:before { - // RANDOM ICON TO ADD + content: "\e915"; } diff --git a/themes/baggy/fonts/icomoon.eot b/themes/baggy/fonts/icomoon.eot index 563235166982e94bcbb1275d5f7fe0122b742aa8..784ac198a1a04b4c545ffea0eafa3b0918fd573a 100644 GIT binary patch literal 6040 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 - - -{ - "fontFamily": "icomoon", - "majorVersion": 1, - "minorVersion": 0, - "version": "Version 1.0", - "fontId": "icomoon", - "psName": "icomoon", - "subFamily": "Regular", - "fullName": "icomoon", - "description": "Generated by IcoMoon" -} - - +Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/baggy/fonts/icomoon.ttf b/themes/baggy/fonts/icomoon.ttf index bb1f21f888d3786dd6db4bc0d75ab322b1eaac75..b4fb95bc2c0a0e6ffb51b6bd03465c827abdf83c 100644 GIT binary patch literal 5876 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 literal 3732 zcmai1U2GKB6~1Tw?#%4&?9R^aj`wH0-d)?{wZX=_-W@P_Aq0{l>=;^-s1<5iegc7j zQJ@NGRn-rHmh@Nd1BjQRHjyf&%>zY>Qssd(eW}IgC|a( zzfk^=HUqy3{J=8{N4oi)#U`hX9d>7G8etMBHYfnyGBIlFM~ zJnTfXguVeLON@TZRPbi$DNr8mji0bQdqK#pYXq|&Y&#gcm!S7n@T2#j4Qkd22%Iqq zpI9-2UT`x^VLLF!nGT);+Q0|Wy~N7DS5`n}z}P(&VzlzNg3`x(^Fn6W5hKVZ*R6#$ zf-T|F_t*d5G>JXVHqk3|5%$c(?5ZVYGyPJt(UDqH<5JD-r;NrexmF#QCa4Ga<22RY zPT>%AsF5pEIE2DUa*5Tpj~9#M+iR=iyo^SQqDT@tnw-233(n-E=w)5k1t*3P0o|)v}rhYiicW-r0M1hmQ~E>U{_52nb3P`b%78NdHNiy(`8y>bs*fLOb$_O zAiAq*Fhgq&k%lLT*kw($l%3S7Jf1X+WSmzNP1jY~;JUFj8qKU zP8ruKiXuyrtSDO2PHC6JxUiKw^by@<9>d8D?5UvLtZ2OVt5s*HR_$R~-VS=dX2YXq zBWU}rz|L^3R$&{)zD#+!udi72yiA7lzOtQ8TAE7xH17 z(rQ(IxHYw%V4IuE!W@4X)NIDh!9)j?HJNA%BwJJda403_0(W!n6>gfkZD&1yq~v*f z2Zx7Cy6)J8(Y=x;K$=;+93zp6`46hYDEA;Lx$pN@wDhBwNsGJNc4C{n(?ZQgwQb zuAnB=S%Y=ks-91+_{2XKyX-vreO8WySQipm&{ZjQ@Z?b~+jpdm}KSTbpByQ(9waaqxSZKgL` z&&QLNVMtPZ{vUDF2fahu%rdEhtSpLzMajUT)?aq;K$<}Z)l zIC=8M(df=;&^z=)#ElIhziL@O$ifF}KYC}w_Rgu-UmqVCDVB1%M8YuT#$&E~_LY|p zTUIVtEEEg5oCRNs`=bh9{**Ol6)jE-(3WH(5iAgI^#c?E^G zj{H{2{q5GS-Fu_BOyjL`iD}4(zztmT+3d}mvny2(aq;heEs5+OoZcZkw!Gz^3 zA9PT&0MJX0m1w+c8q zbWKrZU6aN)#&Q|kT>b-UA5kJ{)8@35fJ8EmgR|bpcn<~!ai53h8{WM{4355eQ{>;u zM|6>HGnE7^)#!9x$m^-EhRTWN{+4lKlb4{w`h z))5aHJaNSHNW5^ei(=b!Xn6;Z87SQ`eu&tiRe15%t?!^DG<`A$MH}EiSHs z%eSsyr<92Ds-zfuK1a=&-*dI_wdA%>SWH~DjQ#POzsGBBbzHfFo!kW~Ud&O$9P#ds zF6XcZ<$;!6j|nEGK927czUSy8%)f^3HGH@6J;8|H!uU=P$3F_O)ar+K^4ikOM4jzt zOVm$arJK@-^n&zT>F=^4kILVWKUGZS7s_u`OFbOc(kwd>#p3?-b#__o)ldqHveoJ< z7P8o*J-Q5dum>xEAMe2`%K?k_tTB#i9l<83pr$cOjO|o&+;|FA(KC*CnVd2b!MD|5YJkGw( qo?%@mcwhoHeGICF;x0Rn@hBT$huQP!_k@ej^%f6zwa$&72mb>IIni+d diff --git a/themes/baggy/fonts/icomoon.woff b/themes/baggy/fonts/icomoon.woff index bab137795473159c2c2c0c176cfea5d3dce56ec7..158108f139447ec57f6029599214e1db9e9f5a09 100644 GIT binary patch literal 5952 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 literal 3664 zcmZ`+eQ*=U6<--2ECfVoEGB`{x}AjdBOgF11(E@p40 zamUX4R}pfH5AD?^(eHnC=|FQ$E84E0US-nNt)KD@H63W1zZ!K~qFWp5Y7V09LDbh2 zXz_c{h(@$^qJF1Ivp%tW+1T9aKwAp+0^WE3W?9=@<1q35fwtKNvOP&!YMSfN_BkPz zbtXM>`|v8VLP(iKB)1Wp`6%UN4!+9;Bxt$SvZrj(togI9lvkIZEB~0OWZs

    O>&<<^hj;u519A(FVj>BjoizP7%<1ogK zIkV_1t*XUo6K&~6sE2xYV{2PmTVr26P|(-de86hZPvJ`jl8HnT`XRxBk3uB_Ue@mg zYKCCB%~)nEV|rcCn&};MO+aRlo;VK1eGGKu9HTG_xg3ll-hC&YXHzx7Xtd za$yW=C<+RN%N@YaQ2zUw)i~@5Sj>HC1nSOOFdr#W)6D3| zSZXXf799@eoC+W1APB(_$8#Q^7ko+AU?*p{(@mQgzn}Mk2RsU^1u%Ae3g1Ce(KM)q`a+5@=sGNqj?q6~ zW)hlgzS5MCWO3uLicj)Mtl;<4wswZ+gQB@8PU00Gj!LHJ_!yJT4P!*c!ozH?hgu)X zZ@XrL1_pSM4}}Cl2y%_IYgB+GI%iVe^_4p2Y|%R*F;1T*0J z@)C+*f(RlPxrq`%lqjOaW}wK35}t_?LKN;BC?Q0FnJ6>YqI`2Lq8uu$g`?J5-IuSn zy$zQ-&hIuCu?>}-qi8{R!xm zlenFX4f<`bnt7)LHG03kfZDfJP2D5Koiu5Z-0>+9f$%u8^TANNoAhrQXpTwkVlz?pXS zJ2kBF-k3YyCwnD7#xLKLpKbFxdtE(!6ub=VXREtwdup2+tL@eHJ?@>b3-+YC}md?uaAa+uz&o&2U3h4l7{|G*Ba|)TKC*?yNf-7=jTB5hlf@`Apb8)HeYq zAfsfo%p2R@J#<+VW8pZch2+X+b0gXjI07U7Y!5vw55*5BgI#WCwGXXV_D&Dc4ljvDS&!iKgND!Mee^ zL@g!&rjmTq;hCaC)1!nABfz{Kdd>T4&-tFy_Q{6H#v`>u&mG>Ed{){+t$?S<^t8U! z*s5cl-e_oswsD%V=38IK`+72Wy*}+t@&W!y}3h2rTat{2@P35tsn5QJ>5z z0hv=cB@koP=J5l^o;ej%f^ja6o2ZomF%pu(k{At3nE$xhq98>iDH4f9BNArruWg_* z0O1Ho5QPX}2}iI>XbFcw#QF3(P78q;7V&3RXiB#p>6&VJx%qTc1muvy$9PQR5FQty zn4k!XD2uq6%&?guj{*iig7JtJsvMQ@IFij8jY^Tz$6kJM>S#jMl3H3zD=A3O$t33H z+xVRme10rG!GmWTuEB$;$!dNLzhd}d)Nw>gPHL*AC2?Be;Zl&~aX>)EgWC-75}U4> z6$87`46}h16Mf;he#~~J<2T;-;eEK&|H>$}8xj*1IL;UF1zmy8U}vyHz>hd|$X)Ty zxJ&iLy($+A%T#aA-)%e2O|XZ(!=9uUycBo_dK|rV?mG9r;M166&&3a>>(Y)43{g-R zJiq&gQ^WleiDNN(c$87KekB9+SHNVUpO5(|x88OZn5HS$uz-Q&Bs@HyF<&h&hB#Wa z?JOKW{tBKEdPTkpp9Wx?p#h_R-ekL81&kBiZgAq8Ud@0r?al(d24GZ}|d=T$BFt2Uyl`L?^IAn-v%&nr zb$b?G*c8Ixt@Ia`dc0F^DYajaJ4g`qnZm z9B;j(0=d~+f%n5r*v`kBcp1tTQu%4w)de^Hed7jN32NjjDQK1(e_c|3`<&9eLT7IL2fZ!5%S00w;KN2-uMeX;U}n@-iih1m}|y6Ye7dobJeEJ zR_G`(vlGYcLTW 1 %}

    -
    {{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %} {% trans "random" %}
    + {{ page_links | raw }}
    {% elseif nb_results == 1 %} From 89637c2a1dcc114b17a8f7eef493b51315e1a6ac Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 1 Feb 2015 12:22:14 +0100 Subject: [PATCH 20/37] added reload icon and fixed a bug where random could redirect to deleted articles --- inc/poche/Poche.class.php | 7 +++++-- themes/baggy/css/main.css | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index fb74ab9a0..f99281458 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -349,8 +349,11 @@ class Poche /* 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 = rand(1,$count); + $id = 0; + while ($this->store->retrieveOneById($id,$this->user->getId()) == null) { + $count = $this->store->getEntriesByViewCount($view, $this->user->getId()); + $id = rand(1,$count); + } Tools::logm('get a random article'); Tools::redirect('?view=view&id=' . $id); //$this->displayView('view', $id); diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 9356deda9..90d546fcd 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css @@ -737,7 +737,10 @@ a.add-to-wallabag-link-after:after { content: "\e80d"; } .icon-random:before { - content: "\e915"; + content: "\e915"; +} +.icon-reload:before { + content: "\ea2e"; } From 23423f8d69722ae7135d3a78dfe97569dfc1776a Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 1 Feb 2015 12:27:34 +0100 Subject: [PATCH 21/37] fixed random on default theme --- themes/default/home.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/default/home.twig b/themes/default/home.twig index abc96af84..8fe563972 100755 --- a/themes/default/home.twig +++ b/themes/default/home.twig @@ -32,7 +32,7 @@ {% if nb_results > 1 %}
    {{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %} - {% trans "random" %}
    + {% trans "random" %}
    {{ page_links | raw }} {% elseif nb_results == 1 %} From 96a3707895d4bb08c282176c5303fe38885f7de0 Mon Sep 17 00:00:00 2001 From: Terence Eden Date: Mon, 2 Feb 2015 15:37:08 +0000 Subject: [PATCH 22/37] 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 ;-) --- locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo | Bin 0 -> 15936 bytes locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po | 681 ++++++++++++++++++++ 2 files changed, 681 insertions(+) create mode 100644 locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo create mode 100644 locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po diff --git a/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo new file mode 100644 index 0000000000000000000000000000000000000000..c667845812a97a18c93a2e480d5f57b45e337cc7 GIT binary patch literal 15936 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 literal 0 HcmV?d00001 diff --git a/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po new file mode 100644 index 000000000..e6c558dc7 --- /dev/null +++ b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po @@ -0,0 +1,681 @@ +msgid "" +msgstr "" +"Project-Id-Version: wallabag\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-25 15:17+0300\n" +"PO-Revision-Date: \n" +"Last-Translator: tcit \n" +"Language-Team: \n" +"Language: en-GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-Basepath: .\n" + +msgid "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" + +msgid "return home" +msgstr "Return Home" + +msgid "config" +msgstr "Config" + +msgid "Saving articles" +msgstr "Saving articles" + +msgid "There are several ways to save an article:" +msgstr "There are several ways to save an article:" + +msgid "read the documentation" +msgstr "Read the documentation" + +msgid "download the extension" +msgstr "Download the extension" + +msgid "Firefox Add-On" +msgstr "Firefox Add-On" + +msgid "Chrome Extension" +msgstr "Chrome Extension" + +msgid "via F-Droid" +msgstr "via F-Droid" + +msgid " or " +msgstr " or " + +msgid "via Google Play" +msgstr "via Google Play" + +msgid "download the application" +msgstr "Download the application" + +msgid "By filling this field" +msgstr "By filling in this field" + +msgid "bag it!" +msgstr "bag it!" + +msgid "Bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" + +msgid "Upgrading wallabag" +msgstr "Upgrading wallabag" + +msgid "Installed version" +msgstr "Installed version" + +msgid "Latest stable version" +msgstr "Latest stable version" + +msgid "A more recent stable version is available." +msgstr "A more recent stable version is available." + +msgid "You are up to date." +msgstr "You are up to date." + +msgid "Latest dev version" +msgstr "Latest dev version" + +msgid "A more recent development version is available." +msgstr "A more recent development version is available." + +msgid "Feeds" +msgstr "Feeds" + +msgid "" +"Your feed token is currently empty and must first be generated to enable " +"feeds. Click here to generate it." +msgstr "" +"Your feed token is currently empty. You must generated it to enable feeds. " +"Generate Feed Token." + +msgid "Unread feed" +msgstr "Unread feed" + +msgid "Favorites feed" +msgstr "Favourites feed" + +msgid "Archive feed" +msgstr "Archive feed" + +msgid "Your token:" +msgstr "Your token:" + +msgid "Your user id:" +msgstr "Your user ID:" + +msgid "" +"You can regenerate your token: generate!" +"." +msgstr "Regenerate Token" + +msgid "Change your theme" +msgstr "Change Your Theme" + +msgid "Theme:" +msgstr "Theme:" + +msgid "Update" +msgstr "Update" + +msgid "Change your language" +msgstr "Change Your Language" + +msgid "Language:" +msgstr "Language:" + +msgid "Change your password" +msgstr "Change Your Password" + +msgid "New password:" +msgstr "New password:" + +msgid "Password" +msgstr "Password" + +msgid "Repeat your new password:" +msgstr "Repeat your new password:" + +msgid "Import" +msgstr "Import" + +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 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 the “" +"Import” 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 "More info in the official documentation:" +msgstr "More info in the official documentation:" + +msgid "" +"(?)" +msgstr "" +"(?)" + +msgid "Import from Pocket" +msgstr "Import from Pocket" + +#, php-format +msgid "(you must have a %s file on your server)" +msgstr "(you must have a %s file on your server)" + +msgid "Import from Readability" +msgstr "Import from Readability" + +msgid "Import from Instapaper" +msgstr "Import from Instapaper" + +msgid "Import from wallabag" +msgstr "Import from wallabag" + +msgid "Export your wallabag data" +msgstr "Export your wallabag data" + +msgid "Click here" +msgstr "Click here" + +msgid "to download your database." +msgstr "to download your database." + +msgid "to export your wallabag data." +msgstr "to export your wallabag data." + +msgid "Export JSON" +msgstr "Export JSON" + +msgid "Cache" +msgstr "Cache" + +msgid "to delete cache." +msgstr "to delete cache." + +msgid "Delete Cache" +msgstr "Delete Cache" + +msgid "You can enter multiple tags, separated by commas." +msgstr "You can enter multiple tags, separated by commas." + +msgid "Add tags:" +msgstr "Add tags:" + +msgid "no tags" +msgstr "no tags" + +msgid "The tag has been applied successfully" +msgstr "The tag has been applied successfully" + +msgid "interview" +msgstr "interview" + +msgid "editorial" +msgstr "editorial" + +msgid "video" +msgstr "video" + +msgid "return to article" +msgstr "Return to article" + +msgid "plop" +msgstr "plop" + +msgid "" +"You can check your configuration " +"here." +msgstr "" +"You can check your configuration " +"here." + +msgid "favoris" +msgstr "Favourites" + +msgid "archive" +msgstr "Archive" + +msgid "unread" +msgstr "Unread" + +msgid "by date asc" +msgstr "by date ascending" + +msgid "by date" +msgstr "by date" + +msgid "by date desc" +msgstr "by date descending" + +msgid "by title asc" +msgstr "by title ascending" + +msgid "by title" +msgstr "by title" + +msgid "by title desc" +msgstr "by title descending" + +msgid "Tag" +msgstr "Tag" + +msgid "No articles found." +msgstr "No articles found." + +msgid "Toggle mark as read" +msgstr "Toggle mark as read" + +msgid "toggle favorite" +msgstr "Toggle favourite" + +msgid "delete" +msgstr "Delete" + +msgid "original" +msgstr "Original" + +msgid "estimated reading time:" +msgstr "Estimated reading time:" + +msgid "mark all the entries as read" +msgstr "Mark all the entries as read" + +msgid "results" +msgstr "Results" + +msgid "installation" +msgstr "Installation" + +msgid "install your wallabag" +msgstr "Install your 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 is still not installed. Please fill in the form to install it. If " +"you need help, please read the " +"documentation on wallabag website." + +msgid "Login" +msgstr "Login" + +msgid "Repeat your password" +msgstr "Repeat your password" + +msgid "Install" +msgstr "Install" + +msgid "login to your wallabag" +msgstr "Login to your wallabag" + +msgid "Login to wallabag" +msgstr "Login to wallabag" + +msgid "you are in demo mode, some features may be disabled." +msgstr "You are in demo mode; some features may be disabled." + +msgid "Username" +msgstr "Username" + +msgid "Stay signed in" +msgstr "Stay signed in" + +msgid "(Do not check on public computers)" +msgstr "(Do not check on public computers)" + +msgid "Sign in" +msgstr "Sign in" + +msgid "favorites" +msgstr "Favourites" + +msgid "estimated reading time :" +msgstr "Estimated reading time:" + +msgid "Mark all the entries as read" +msgstr "Mark all the entries as read" + +msgid "Return home" +msgstr "Return home" + +msgid "Back to top" +msgstr "Back to top" + +msgid "Mark as read" +msgstr "Mark as read" + +msgid "Favorite" +msgstr "Favourite" + +msgid "Toggle favorite" +msgstr "Toggle favourite" + +msgid "Delete" +msgstr "Delete" + +msgid "Tweet" +msgstr "Tweet" + +msgid "Email" +msgstr "Email" + +msgid "shaarli" +msgstr "shaarli" + +msgid "flattr" +msgstr "flattr" + +msgid "Does this article appear wrong?" +msgstr "Does this article display incorrectly?" + +msgid "tags:" +msgstr "tags:" + +msgid "Edit tags" +msgstr "Edit Tags" + +msgid "save link!" +msgstr "Save Link" + +msgid "home" +msgstr "Home" + +msgid "tags" +msgstr "Tags" + +msgid "logout" +msgstr "Logout" + +msgid "powered by" +msgstr "Powered by" + +msgid "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:" + +msgid "storage:" +msgstr "Storage:" + +msgid "save a link" +msgstr "Save a Link" + +msgid "back to home" +msgstr "Back to Home" + +msgid "toggle mark as read" +msgstr "Toggle mark as read" + +msgid "tweet" +msgstr "Tweet" + +msgid "email" +msgstr "Email" + +msgid "this article appears wrong?" +msgstr "This article displays incorrectly?" + +msgid "No link available here!" +msgstr "No link available here" + +msgid "Poching a link" +msgstr "bagging a link" + +msgid "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" + +msgid "Drag & drop this link to your bookmarks bar:" +msgstr "Drag & drop this link to your bookmarks bar:" + +msgid "your version" +msgstr "your version" + +msgid "latest stable version" +msgstr "latest stable version" + +msgid "a more recent stable version is available." +msgstr "A more recent stable version is available." + +msgid "you are up to date." +msgstr "You are up to date." + +msgid "latest dev version" +msgstr "latest development version" + +msgid "a more recent development version is available." +msgstr "A more recent development version is available." + +msgid "You can clear cache to check the latest release." +msgstr "" +"You can clear the cache to check for the latest " +"release." + +msgid "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:" + +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 "Tags" + +msgid "Untitled" +msgstr "Untitled" + +msgid "the link has been added successfully" +msgstr "The link has been added successfully." + +msgid "error during insertion : the link wasn't added" +msgstr "Error during insertion: the link wasn't added." + +msgid "the link has been deleted successfully" +msgstr "The link has been deleted successfully." + +msgid "the link wasn't deleted" +msgstr "The link wasn't deleted." + +msgid "Article not found!" +msgstr "Article not found." + +msgid "previous" +msgstr "Previous" + +msgid "next" +msgstr "Next" + +msgid "in demo mode, you can't update your password" +msgstr "In demo mode, you can't update your password." + +msgid "your password has been updated" +msgstr "Your password has been updated." + +msgid "" +"the two fields have to be filled & the password must be the same in the two " +"fields" +msgstr "" +"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 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 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 in all the fields." + +msgid "welcome to your wallabag" +msgstr "Welcome to your wallabag." + +msgid "login failed: bad login or password" +msgstr "Login failed: bad login or password." + +msgid "import from instapaper completed" +msgstr "Import from Instapaper completed." + +msgid "import from pocket completed" +msgstr "Import from Pocket completed." + +msgid "import from Readability completed. " +msgstr "Import from Readability completed." + +msgid "import from Poche completed. " +msgstr "Import from Poche completed. " + +msgid "Unknown import provider." +msgstr "Unknown import provider." + +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Incomplete inc/poche/define.inc.php file, please define \"" + +msgid "Could not find required \"" +msgstr "Could not find required \"" + +msgid "Uh, there is a problem while generating feeds." +msgstr "There is a problem generating feeds." + +msgid "Cache deleted." +msgstr "Cache deleted." + +msgid "Oops, it seems you don't have PHP 5." +msgstr "Oops, it seems you don't have PHP 5." + +msgid "Add user" +msgstr "Add User" + +msgid "Add a new user :" +msgstr "Add a new user:" + +msgid "Login for new user" +msgstr "Login for new user:" + +msgid "Password for new user" +msgstr "Password for new user:" + +msgid "Email for new user (not required)" +msgstr "Email for new user (not required):" + +msgid "Send" +msgstr "Send" + +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 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)." + +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." + +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. Then delete any any databases you have created for wallabag." + +msgid "Enter your search here" +msgstr "Enter your search here" + +msgid "Tag these results as" +msgstr "Tag these results as" + +# ebook +msgid "Fancy an E-Book ?" +msgstr "Fancy an E-Book?" + +msgid "" +"Click on this " +"link to get all your articles in one ebook (ePub 3 format)." +msgstr "" +"You can Generate " +"an EPUB to get all your articles in one ebook (EPUB 3 format)." + +msgid "" +"This can take a while and can even fail if you have too many " +"articles, depending on your server configuration." +msgstr "" +"This can take a while and can even fail if you have too many " +"articles, depending on your server configuration." + +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 search in an epub" +msgstr "Download the articles from this search as an EPUB" + +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!" + +#~ msgid "Updating poche" +#~ msgstr "Updating poche" + +#~ 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:" From 976d6935edcb60c645b92a44fa8c040891dd2fc4 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 4 Feb 2015 22:18:13 +0100 Subject: [PATCH 23/37] fix UTF8MB4 problems, make an option, add info and also change documentation links --- install/index.php | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/install/index.php b/install/index.php index 892af2416..8fdc998c9 100755 --- a/install/index.php +++ b/install/index.php @@ -75,14 +75,20 @@ else if (isset($_POST['install'])) { try { if ($_POST['db_engine'] == 'mysql') { - $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'] . ';charset=utf8mb4'; + if (isset($_POST['mysql_utf8_mb4'])) { + //with UTF8-MB4 + $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'] . ';charset=utf8mb4'; + $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array( + PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', + )); + } else { // regular UTF8 + $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database']; + $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password']); + } $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['mysql_server']."');", $content); $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['mysql_database']."');", $content); $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['mysql_user']."');", $content); $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); - $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array( - PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', - )); $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES (1, 'Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', 0, 0, 0x0a3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a, 1), @@ -336,10 +342,10 @@ border: 1px solid #000;
    @@ -374,8 +380,7 @@ border: 1px solid #000;

    To install wallabag, you just have to fill the following fields. That's all.

    -

    If you need help, you can read the doc: offline documentation and online one (already up-to-date).

    - +

    Server compatibility test

    @@ -416,7 +421,7 @@ border: 1px solid #000; PDO Drivers One of the PDO drivers must be installed - One driver is enabled' : 'No driver available'; ?> + At least one driver is enabled' : 'No driver available'; ?> PDO: You have at least one PDO driver installed.' : 'PDO Drivers: Your PHP installation doesn\'t have any PDO driver installed. ' . $status['app_name'] . ' will not work here.' ?> @@ -579,6 +584,9 @@ php composer.phar install
  • +
  • +
    Warning : UTF-8 MB4 is used to fully support unicode characters. It is available only with MySQL starting with version 5.5.3. + Install will failed if you check this while using an older MySQL server.
  • @@ -601,10 +609,10 @@ php composer.phar install SQLite is the most simple database system of all three. It is therefore recommended for people who don't want or know how to configure other database systems.
  • - MySQL is one of the most popular database systems. It comes with most shared hosting plans. + MySQL (also called MariaDB) is one of the most popular database systems. It comes with most shared hosting plans.
    - PostgreSQL. Because some people prefer it to MySQL. + PostgreSQL. Because some people prefer it to MySQL. With reasons.
    @@ -651,6 +659,7 @@ php composer.phar install */ $(".details").hide(); + $("#utf8_mb4_infos").hide(); @@ -674,6 +683,10 @@ php composer.phar install endif; ?> + $("#mysql_utf8_mb4").click(function() { + $("#utf8_mb4_infos").toggle(); + }); + $("input[name=db_engine]").click(function() { if ( $("#mysql").prop('checked')) { From 1c91178932cd5b48d793261c6631697186853a93 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 4 Feb 2015 23:37:37 +0100 Subject: [PATCH 24/37] fix autoclose (#984) and bookmarklet mode --- inc/poche/Poche.class.php | 4 ++-- inc/poche/Routing.class.php | 3 ++- themes/baggy/config.twig | 2 +- themes/default/config.twig | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index f99281458..a601f0a86 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -195,9 +195,9 @@ 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; diff --git a/inc/poche/Routing.class.php b/inc/poche/Routing.class.php index a8d00b898..709831d50 100755 --- a/inc/poche/Routing.class.php +++ b/inc/poche/Routing.class.php @@ -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,7 +65,7 @@ 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(isset($_SERVER['PHP_AUTH_USER'])) { diff --git a/themes/baggy/config.twig b/themes/baggy/config.twig index a5a615597..95e097348 100755 --- a/themes/baggy/config.twig +++ b/themes/baggy/config.twig @@ -27,7 +27,7 @@

    {% trans "Bookmarklet" %}

    - {% trans "Drag & drop this link to your bookmarks bar:" %} {% trans "bag it!" %} + {% trans "Drag & drop this link to your bookmarks bar:" %} {% trans "bag it!" %}

    {% trans "Feeds" %}

    diff --git a/themes/default/config.twig b/themes/default/config.twig index bac563cf2..87f964c95 100755 --- a/themes/default/config.twig +++ b/themes/default/config.twig @@ -27,7 +27,7 @@

    {% trans "Bookmarklet" %}

    - {% trans "Drag & drop this link to your bookmarks bar:" %} {% trans "bag it!" %} + {% trans "Drag & drop this link to your bookmarks bar:" %} {% trans "bag it!" %}

    {% trans "Feeds" %}

    From 571b99e8045ab45bfa04bbc2a90dc566dba59452 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 4 Feb 2015 23:50:33 +0100 Subject: [PATCH 25/37] added evernote support --- inc/poche/config.inc.default.php | 1 + themes/baggy/view.twig | 1 + themes/default/view.twig | 1 + 3 files changed, 3 insertions(+) diff --git a/inc/poche/config.inc.default.php b/inc/poche/config.inc.default.php index aaaf12a66..91b50c244 100755 --- a/inc/poche/config.inc.default.php +++ b/inc/poche/config.inc.default.php @@ -44,6 +44,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); diff --git a/themes/baggy/view.twig b/themes/baggy/view.twig index 0a8380ded..473e36958 100755 --- a/themes/baggy/view.twig +++ b/themes/baggy/view.twig @@ -15,6 +15,7 @@ {% if constant('SHARE_TWITTER') == 1 %}
  • {% endif %} {% if constant('SHARE_MAIL') == 1 %}
  • {% endif %} {% if constant('SHARE_SHAARLI') == 1 %}
  • {% trans "shaarli" %}
  • {% endif %} + {% if constant('SHARE_EVERNOTE') == 1 %}
  • {% trans "evernote" %}
  • {% endif %} {% if constant('SHARE_DIASPORA') == 1 %}
  • {% trans "diaspora" %}
  • {% endif %} {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}
  • {% trans "flattr" %}
  • {% elseif flattr.status == constant('FLATTRED') %}
  • {% trans "flattr" %} ({{ flattr.numFlattrs }})
  • {% endif %}{% endif %} {% if constant('CARROT') == 1 %}
  • Carrot
  • {% endif %} diff --git a/themes/default/view.twig b/themes/default/view.twig index be8bf99e6..87371d131 100755 --- a/themes/default/view.twig +++ b/themes/default/view.twig @@ -14,6 +14,7 @@ {% if constant('SHARE_TWITTER') == 1 %}
  • {% endif %} {% if constant('SHARE_MAIL') == 1 %}
  • {% endif %} {% if constant('SHARE_SHAARLI') == 1 %}
  • {% trans "shaarli" %}
  • {% endif %} + {% if constant('SHARE_EVERNOTE') == 1 %}
  • {% trans "evernote" %}
  • {% endif %} {% if constant('SHARE_DIASPORA') == 1 %}
  • {% trans "diaspora" %}
  • {% endif %} {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}
  • {% trans "flattr" %}
  • {% elseif flattr.status == constant('FLATTRED') %}
  • {% trans "flattr" %}{{ flattr.numFlattrs }}
  • {% endif %}{% endif %} {% if constant('CARROT') == 1 %}
  • {% trans "carrot" %}
  • {% endif %} From 5e26c9102450cdf4e635fc401b88e293402fca25 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 5 Feb 2015 00:05:43 +0100 Subject: [PATCH 26/37] renamed wallabag_compatibility_test since it doesn't do that anymore --- install/index.php | 2 +- .../{wallabag_compatibility_test.php => install_functions.php} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename install/{wallabag_compatibility_test.php => install_functions.php} (100%) diff --git a/install/index.php b/install/index.php index 8fdc998c9..30bc2f6bc 100755 --- a/install/index.php +++ b/install/index.php @@ -11,7 +11,7 @@ $errors = array(); $successes = array(); -require_once('wallabag_compatibility_test.php'); +require_once('install_functions.php'); if (isset($_GET['clean'])) { if (is_dir('install')){ diff --git a/install/wallabag_compatibility_test.php b/install/install_functions.php similarity index 100% rename from install/wallabag_compatibility_test.php rename to install/install_functions.php From fde4cf0616e68d7b94f0991c1fcb434de4567c17 Mon Sep 17 00:00:00 2001 From: Eric Priou aka erixtekila Date: Thu, 5 Feb 2015 14:19:03 +0100 Subject: [PATCH 27/37] Fix fetched entries when localized --- inc/poche/Database.class.php | 4 ++-- inc/poche/Poche.class.php | 24 +++++++++++++++--------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index f6ba47089..6bac0f5d0 100755 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php @@ -293,7 +293,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 +302,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(); diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index a601f0a86..d096de914 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -740,17 +740,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']); + } } } } From d0ea3544cad2ce4f1d0193d6d7bbda80eabadf91 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 5 Feb 2015 17:04:14 +0100 Subject: [PATCH 28/37] add evernote icon --- .../img/icons/evernote-icon--black.svg | 8 ++++++++ themes/baggy/css/main.css | 3 +++ themes/baggy/fonts/icomoon.eot | Bin 6040 -> 6304 bytes themes/baggy/fonts/icomoon.svg | 1 + themes/baggy/fonts/icomoon.ttf | Bin 5876 -> 6140 bytes themes/baggy/fonts/icomoon.woff | Bin 5952 -> 6216 bytes themes/baggy/view.twig | 2 +- themes/default/css/style-default.css | 5 +++++ 8 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 themes/_global/img/icons/evernote-icon--black.svg diff --git a/themes/_global/img/icons/evernote-icon--black.svg b/themes/_global/img/icons/evernote-icon--black.svg new file mode 100644 index 000000000..1336648c5 --- /dev/null +++ b/themes/_global/img/icons/evernote-icon--black.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 90d546fcd..54622cfce 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css @@ -742,6 +742,9 @@ a.add-to-wallabag-link-after:after { .icon-reload:before { content: "\ea2e"; } +.icon-evernote:before { + content: "\e603"; +} /* .icon-image class, for image-based icons diff --git a/themes/baggy/fonts/icomoon.eot b/themes/baggy/fonts/icomoon.eot index 784ac198a1a04b4c545ffea0eafa3b0918fd573a..3d4d14ae8a3c0b3f97cd8a3c0868a152944a0c3f 100644 GIT binary patch delta 609 zcmXw$-%FEG7{{OUW9OXd+`G2-J@1C|&CPlT>2yDILKs<7Q>ZX9N-AsVWI;=%C9{Zy zNJK;^Z-|#(M0nA~VE;hiO+*)?TfGSiqKgnAL zYb--&*AKRwh}7367Km{nvGyrkSuK8#0H8WR;CUgRn_<4sa{$IT0AvcPAhzi@#V-|~ zC=^TOh07$Y_=Dn=2XoW8?B*B)kO{>@#awwFI-#Jrq`3WIu9&|bdjDJTTQy^Ne(q5T zh%#XAHarmOOrsS-ezrJX-0HaSsa9e7%_ftZ%yh{gaz|F>D|yY>S8d3-g2T>T%xgvL z!xaKc0HjPdAPeJgQ|0&C$ymaU*^Eb-p-V$&oyb-%3!4^6r|fh}nieu8(~zA>r!vX@ z1mmnxQ{cDz2(vq)EY@(6quxxCCsNAvk@93+Yd?N26gq}Zb}ojZ-cUrZc*Z6!X%-T0 zt0yr-DQUYA7kWUauPOBjaker!;?Z+F9t_4AYm0Yx@gqN}E&KgVc&|&goY6FddM#^E z#yYS^Z@QYltv3g}VsXUd@kG0BslY56<->!6j0bj*wkMCi@Ssn<}ei1;utFqmZk1vn0~JOJ`rfP9sV+>(l1Kc>Y%{t6(!AtygM(eZ}OGzJDy4Itks zH?g9CL5m>+$j<@t74i~uQ^O^fy#w-lfOfbR6#IAtk8JJlnCo{G%Gri!Q z%*P}>nUzUPnq6E_oKu`loK>7f?1|VdvGrn|Vj-d*f!Y`+2QtY_PGDl+oXaG@w7HSB zT0rKZhvJ=hew(ih+$DohR#lbKu~R%#i=c#cVrDUWFm(+;Kw z%zDggm=Cc;u@tZzW94BDV4cN!hfRrX4LbvSANvoE431Bnc0h9&fmmU)oOlx>0PR*% AN&o-= diff --git a/themes/baggy/fonts/icomoon.svg b/themes/baggy/fonts/icomoon.svg index 2e2f16f70..19fcfa1f3 100644 --- a/themes/baggy/fonts/icomoon.svg +++ b/themes/baggy/fonts/icomoon.svg @@ -10,6 +10,7 @@ + diff --git a/themes/baggy/fonts/icomoon.ttf b/themes/baggy/fonts/icomoon.ttf index b4fb95bc2c0a0e6ffb51b6bd03465c827abdf83c..923f56d81c16584c4f1c6d79514e98c751761d56 100644 GIT binary patch delta 606 zcmXw$QAkr!7{|YJ&)KNf$#q$k_vLA03!f8rg@oKy;;p?S0i{A= z9)OnVbI8IdoWtH8yDOfw<2F}g+|Z?=^EP7R%~DK@cBky_lr$}3O0E$*-JMEz^(DE= zcRhrF-AlRM8sqWZOsb?O-K8c|nDo-}*qYX|_eeOrhwN{g3&$G6QN7|DIdxpKi11pS z$qB}2^Vx*ZgF1W2m|uv)m9Zh8?x=}SD8YGiqN82i3DDX?AW)}lw#$Y?nnp;EWo2Z% zRq^R{Cvz9{`e37&8}j*lvG(&=m?gvNU?#)W;5yMZ<<3Vn)F{OG6+!yNVwGuLfZAtz z%O6?#^K9~>*8dyo+3rqZZTslvpfLuTY!9(jNFonTtBA8K>i9Kzab|-InnWk%`^rEQ4Jv9 zDL1jAfI*8P1IW(-@)hzDb5kY4C6~Pe3iJRiaV^L%E@5B>N->CCnYg2yndt@Z^$wd7+ZuKT_CEF>92p#+IPHMuFaoi{<|?r!MgV^yRagK3 diff --git a/themes/baggy/fonts/icomoon.woff b/themes/baggy/fonts/icomoon.woff index 158108f139447ec57f6029599214e1db9e9f5a09..a2e86d3616c36afbe141308cda65ad8a388f60e7 100644 GIT binary patch delta 647 zcmXw%O=uHA6o6-TCbN?^X4hnQHi2|)Qo9lIW16-pO2uf}v^}T=6)kEd+MfuGjkMNO zlt>W|B9ami4<0;-2wnoYiUhofcqpQ$_Mo5_4cBT|-uE7lVVFkzeL}l+ zDw{t60*iszg_#-DQ0wF`HW`A|z>0|f9lc}D81e2NVAn{oJgjro77Pf0b#(k+CIgx})KPgSDDV_U{`TcuwcVx*Qa{Gf? z*)?|NgkoauG!G`GC?y@|V_frU^bw^h=SRyES(lcRV?JMuv5r_gDsOv8eZ}KxlUh-+ z=ZK>CR31*Jne1K1N=s~ilznc_C$Dil z$SXCfI1#FM(YtEk)$b=WmzBX^sGY+5BDA)3eCvO#zR?DP!5zK3Nf4p$HSh&!0?SoZ zzj^2Z-jK$nn$#jDIZUpQ8jaH-xoD@Oi5?jGlZz)SOXa@()p&$r56v&QXl#nDm(PnC39; zV0yr;$GnF55K9zG0n0H~9@YTXS*&;1l-Sm=GqCru|KP~r_{3=kGzS!#3JhrsoFFq9 On1JpQ-uzfBl@S0~YgS|c diff --git a/themes/baggy/view.twig b/themes/baggy/view.twig index 473e36958..0d0a4438e 100755 --- a/themes/baggy/view.twig +++ b/themes/baggy/view.twig @@ -15,7 +15,7 @@ {% if constant('SHARE_TWITTER') == 1 %}
  • {% endif %} {% if constant('SHARE_MAIL') == 1 %}
  • {% endif %} {% if constant('SHARE_SHAARLI') == 1 %}
  • {% trans "shaarli" %}
  • {% endif %} - {% if constant('SHARE_EVERNOTE') == 1 %}
  • {% trans "evernote" %}
  • {% endif %} + {% if constant('SHARE_EVERNOTE') == 1 %}
  • {% trans "evernote" %}
  • {% endif %} {% if constant('SHARE_DIASPORA') == 1 %}
  • {% trans "diaspora" %}
  • {% endif %} {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}
  • {% trans "flattr" %}
  • {% elseif flattr.status == constant('FLATTRED') %}
  • {% trans "flattr" %} ({{ flattr.numFlattrs }})
  • {% endif %}{% endif %} {% if constant('CARROT') == 1 %}
  • Carrot
  • {% endif %} diff --git a/themes/default/css/style-default.css b/themes/default/css/style-default.css index 666c4a28c..39a4df900 100755 --- a/themes/default/css/style-default.css +++ b/themes/default/css/style-default.css @@ -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; From 7f31a3ed243a9a681b946dfc245178d60d1ac123 Mon Sep 17 00:00:00 2001 From: Vincent Malley Date: Sun, 8 Feb 2015 15:58:24 -0500 Subject: [PATCH 29/37] fixing gist parsing --- inc/3rdparty/site_config/standard/gist.github.com.txt | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/inc/3rdparty/site_config/standard/gist.github.com.txt b/inc/3rdparty/site_config/standard/gist.github.com.txt index 902078627..f11b7b426 100755 --- a/inc/3rdparty/site_config/standard/gist.github.com.txt +++ b/inc/3rdparty/site_config/standard/gist.github.com.txt @@ -1,6 +1,4 @@ -body: //div[@class="highlight"]/pre -prune: no -tidy: no - -test_url: https://gist.github.com/1258908 \ No newline at end of file +title: //div[contains(@class,'gist-description')] +body: //div[contains(@class,'blob-wrapper')] +test_url: https://gist.github.com/staltz/868e7e9bc2a7b8c1f754 From c76211de3f8ab9ecea85e1b7df9eec1b64446858 Mon Sep 17 00:00:00 2001 From: Vincent Malley Date: Sun, 8 Feb 2015 17:21:29 -0500 Subject: [PATCH 30/37] adding site config for toolinux.com --- inc/3rdparty/site_config/standard/toolinux.com.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 inc/3rdparty/site_config/standard/toolinux.com.txt diff --git a/inc/3rdparty/site_config/standard/toolinux.com.txt b/inc/3rdparty/site_config/standard/toolinux.com.txt new file mode 100755 index 000000000..3f1a84056 --- /dev/null +++ b/inc/3rdparty/site_config/standard/toolinux.com.txt @@ -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 From 3250b6a7a7e1852a7f16a7d9e5164a536472a8c7 Mon Sep 17 00:00:00 2001 From: Vincent Malley Date: Sun, 8 Feb 2015 18:46:49 -0500 Subject: [PATCH 31/37] fixing display of jungle-world article (issue # 1034) --- inc/3rdparty/site_config/standard/jungle-world.com.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 inc/3rdparty/site_config/standard/jungle-world.com.txt diff --git a/inc/3rdparty/site_config/standard/jungle-world.com.txt b/inc/3rdparty/site_config/standard/jungle-world.com.txt new file mode 100644 index 000000000..61e0087f5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/jungle-world.com.txt @@ -0,0 +1,3 @@ +title: //h1 +body: //div[contains(@class,'story')] +test_url: http://jungle-world.com/artikel/2015/02/51207.html From 8d7ec54658cfe94cd7cab0f5979afcec962188f5 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 10 Feb 2015 00:32:38 +0100 Subject: [PATCH 32/37] improvements for the installer --- install/index.php | 92 +++++++++++++++++------------------ install/install_functions.php | 22 ++++++++- 2 files changed, 65 insertions(+), 49 deletions(-) diff --git a/install/index.php b/install/index.php index 30bc2f6bc..1f11413a3 100755 --- a/install/index.php +++ b/install/index.php @@ -296,7 +296,7 @@ cursor: pointer; } .compatibity_result { margin: auto; - max-width: 300px; + max-width: 350px; min-height: 50px; line-height: 50px; text-align: center; @@ -386,10 +386,10 @@ border: 1px solid #000;
    All good
    -
    Some problems, but it's OK !
    +
    Some warnings, but the minimum is here !
    Bad news : you can't run wallabag
    - +
    @@ -569,38 +569,54 @@ php composer.phar install

    Database engine:

      -
    • -
      -

      You have to enable pdo_sqlite extension.

      -
      -
    • -
    • - -
      -

      All fields have to be filled.

      -
      -
        -
      • -
      • -
      • -
      • -
      • -
        Warning : UTF-8 MB4 is used to fully support unicode characters. It is available only with MySQL starting with version 5.5.3. +
      • + + + +
        +

        You have to enable pdo_sqlite extension to use SQLite.

        +
        + +
      • +
      • + + +
        +

        All fields have to be filled.

        +
        +
          +
        • +
        • +
        • +
        • +
        • +
          Warning : UTF-8 MB4 is used to fully support unicode characters. It is available only with MySQL starting with version 5.5.3. Install will failed if you check this while using an older MySQL server.
        • -
        -
      • -
      • - -
        +
      + +
      +

      You have to enable pdo_mysql extension to use MySQL.

      +
      + +
    • +
    • + + +

      All fields have to be filled.

      -
      -
        +
    +
    • -
    - + + +
    +

    You have to enable pdo_pgsql extension to use PostgreSQL.

    +
    + +

    @@ -672,17 +688,6 @@ php composer.phar install endif; ?> - - $("#install_button").hide(); - - $("#pdo_sqlite").hide(); - - $("#mysql_utf8_mb4").click(function() { $("#utf8_mb4_infos").toggle(); }); @@ -720,13 +725,6 @@ php composer.phar install $("#sqlite_description").show(); $("#mysql_description").hide(); $("#postgres_description").hide(); - - $("#pdo_sqlite").show(); - $("#install_button").hide(); - } } }); diff --git a/install/install_functions.php b/install/install_functions.php index 3b465851a..4a18d7d86 100644 --- a/install/install_functions.php +++ b/install/install_functions.php @@ -26,7 +26,10 @@ $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_passing = extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql'); +$pdo_drivers = pdoDrivers(); +$pdo_drivers_passing = $pdo_drivers['sqlite'] || $pdo_drivers['mysql'] || $pdo_drivers['postgres']; + + if (extension_loaded('xmlreader')) { $xml_ok = true; @@ -39,7 +42,11 @@ if (extension_loaded('xmlreader')) { $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); +$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); return $status; } @@ -53,6 +60,17 @@ function isPassing() { 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 From 11ef4de52d387ef2a93bd9bbaf00b745f2bbf3e4 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 10 Feb 2015 01:14:28 +0100 Subject: [PATCH 33/37] added a final screen --- install/index.php | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/install/index.php b/install/index.php index 1f11413a3..bd9e502d9 100755 --- a/install/index.php +++ b/install/index.php @@ -49,6 +49,7 @@ else if (isset($_POST['install'])) { $errors[] = 'You must install twig before.'; } else { $continue = true; + $final = false; $salt = generate_salt(); $content = file_get_contents('inc/poche/config.inc.default.php'); @@ -142,7 +143,7 @@ else if (isset($_POST['install'])) { foreach ($moreQueries as $query) { executeQuery($handle, $query, array()); } - $successes[] = 'wallabag is now installed. You can now access it !'; + if (!copy('inc/poche/config.inc.default.php', 'inc/poche/config.inc.php')) { $errors[] = 'Installation aborted, impossible to create inc/poche/config.inc.php file. Maybe you don\'t have write access to create it.'; @@ -153,6 +154,7 @@ else if (isset($_POST['install'])) { } $content = str_replace("define ('SALT', '');", "define ('SALT', '".$salt."');", $content); file_put_contents('inc/poche/config.inc.php', $content); + $final = true; } } } @@ -300,8 +302,8 @@ cursor: pointer; min-height: 50px; line-height: 50px; text-align: center; - margin-bottom: 30px; - border-radius: 3px; + margin-bottom: 30px; + border-radius: 3px; } h2, legend { @@ -329,6 +331,21 @@ border: 1px solid #000; background-color: #FFF; color: #000; } +.final { + margin-top: 10%; + margin-left: 30%; + max-width: 400px; + text-align: center; + border-radius: 6px; +} +.final h1 { + line-height: 50px; +} + +.final em { + margin-top: 40px; + font-size: 12px; +} @@ -346,7 +363,8 @@ border: 1px solid #000;
  • Online doc
  • help
  • wallabag.org
  • - + +

    Errors during installation:

    @@ -654,6 +672,12 @@ php composer.phar install
    + +
    +

    wallabag is now installed ! :-)

    + Click here to access the login form
    + The installation will now try to delete the install directory. If this fails, delete it manually.
    +