From 311baf86befde0557faea614ca4d13bb2bd2cc66 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 7 Dec 2014 23:36:35 +0100 Subject: 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 27d6f4a6..2a8037cc 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 1df82910..78d56612 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 dec848f2..eb554b11 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 b25373d6..a122dc54 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 6bc549e6..aa332600 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 00000000..70af6d0b Binary files /dev/null and b/themes/default/img/default/dice.png differ -- cgit v1.2.3 From 44b95cb81deae35f58e0058910afde2f2ffb9a60 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 13 Dec 2014 22:56:30 +0100 Subject: 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 27d6f4a6..f5262a8e 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 3eaee3a3..0d249c64 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 1df82910..96b681bf 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 9225d11b..41766bf2 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 4406d48f..666c4a28 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 00000000..4c0528e7 Binary files /dev/null and b/themes/default/img/default/reload.png differ diff --git a/themes/default/view.twig b/themes/default/view.twig index 181e1284..e14a165c 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 %} -- cgit v1.2.3 From e51487f93265521cf04d8752b0554bb1f05dd189 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 22 Dec 2014 16:19:29 +0100 Subject: 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 2a8037cc..3c7a2c5a 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 5068f755..27eea422 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 %} -- cgit v1.2.3 From 14d98f0611d195774eb4da011a56fe1ffac76ea4 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 21 Jan 2015 23:04:35 +0100 Subject: 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 a7acd84c..9f66b73f 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 bf2ae903..bc439134 100755 --- a/themes/baggy/_pocheit-form.twig +++ b/themes/baggy/_pocheit-form.twig @@ -4,6 +4,8 @@ × + Add tags + -- cgit v1.2.3 From 308fca6b78a30729bd0a2cf34bc7a67bd7b81362 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 21 Jan 2015 23:08:04 +0100 Subject: 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 8c982db0..f4518fce 100755 --- a/themes/default/_pocheit-form.twig +++ b/themes/default/_pocheit-form.twig @@ -2,6 +2,8 @@  
    + Add tags +
    -- cgit v1.2.3 From 444f14063920692163ee321a872debfc48feaada Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 25 Jan 2015 17:43:58 +0100 Subject: wow. Many changes to installation script. Much easier. --- install/index.php | 291 ++++++++++++++++++++++- install/wallabag_compatibility_test.php | 394 +------------------------------- 2 files changed, 297 insertions(+), 388 deletions(-) diff --git a/install/index.php b/install/index.php index ec504160..dbfe9539 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 61a8e99f..8a0656cf 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'); - -?> - - - -<?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 -- cgit v1.2.3 From c1e90b9e8f2fad19a2dc3b8631cf684fda14eab5 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 25 Jan 2015 22:42:31 +0100 Subject: some improvements --- install/index.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/install/index.php b/install/index.php index dbfe9539..3231a944 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(); }); + -- cgit v1.2.3 From 369e00e60baf47170e7438d4518b4b17f82968ab Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 25 Jan 2015 22:56:11 +0100 Subject: 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 3231a944..ec050b4b 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(); -- cgit v1.2.3 From 42ac69337f6538593e4375a38fb410b13c6cb660 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 26 Jan 2015 00:16:14 +0100 Subject: 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 d31939a1..afcf4dbf 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'); -- cgit v1.2.3 From 3829c54bc5ceff31cb72e686b3c020ea2ac2a5b2 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 26 Jan 2015 17:44:52 +0100 Subject: 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 afcf4dbf..55831571 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'); -- cgit v1.2.3 From 0bb1f5c5c2d2ab13a1750c80f097f5e95a986af5 Mon Sep 17 00:00:00 2001 From: Julian Oster Date: Mon, 26 Jan 2015 21:14:26 +0100 Subject: 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 | 741 ++++++++++++++-------------- 2 files changed, 359 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 bd18817f..091ae536 100644 Binary files a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo and b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo differ 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 8b82721d..47801007 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." -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." +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 "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 "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 "" +"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 "File:" -msgstr "Datei:" +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 "Upload" -msgstr "Hochladen" +msgid "More info in the official documentation:" +msgstr "Mehr Infos in der offiziellen Dokumentation:" -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" +msgstr "Aus wallabag importieren" -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 "Export your wallabag data" +msgstr "Deine wallabag-Daten exportieren" 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:" - -msgid "Export your wallabag data" -msgstr "Exportieren deine wallabag Daten" +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,444 +199,437 @@ 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" +msgstr "nach Titel, absteigend" -msgid "home" -msgstr "Start" +msgid "Tag" +msgstr "Schlagwort" -msgid "favorites" -msgstr "Favoriten" +msgid "No articles found." +msgstr "Keine Artikel gefunden." -msgid "archive" -msgstr "Archiv" +msgid "Toggle mark as read" +msgstr "Als gelesen/ungelesen markieren" -msgid "tags" -msgstr "Tags" +msgid "toggle favorite" +msgstr "favorisieren" -msgid "save a link" -msgstr "Speichere einen Link" +msgid "delete" +msgstr "löschen" -msgid "search" -msgstr "Suche" +msgid "original" +msgstr "original" -msgid "logout" -msgstr "Logout" +msgid "estimated reading time:" +msgstr "Geschätzte Lesezeit:" -msgid "return home" -msgstr "Zurück zum Start" +msgid "mark all the entries as read" +msgstr "Alle Einträge als gelesen markieren" -#, fuzzy -msgid "Search" -msgstr "Archiv" +msgid "results" +msgstr "Ergebnisse" -msgid "powered by" -msgstr "bereitgestellt von" +msgid "installation" +msgstr "installation" -msgid "debug mode is on so cache is off." -msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" +msgid "install your wallabag" +msgstr "deine wallabag installieren" -msgid "your wallabag version:" -msgstr "Deine wallabag Version" +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 "storage:" -msgstr "Speicher:" +msgid "Login" +msgstr "Anmelden" -msgid "Save a link" -msgstr "Speichere einen Link" +msgid "Repeat your password" +msgstr "Passwort wiederholen" -msgid "save link!" -msgstr "Link speichern!" +msgid "Install" +msgstr "Installieren" -msgid "unread" -msgstr "ungelesen" +msgid "login to your wallabag" +msgstr "Melde dich in deiner wallabag an" -msgid "Tag" -msgstr "Tag" +msgid "Login to wallabag" +msgstr "In wallabag anmelden" -msgid "No articles found." -msgstr "Keine Artikel gefunden." +msgid "you are in demo mode, some features may be disabled." +msgstr "Du bist im Demo-Modus, einige Features sind möglicherweise deaktiviert." -msgid "estimated reading time:" -msgstr "geschätzte Lesezeit:" +msgid "Username" +msgstr "Benutzername" -msgid "estimated reading time :" -msgstr "geschätzte Lesezeit:" +msgid "Stay signed in" +msgstr "Angemeldet bleiben" -msgid "Toggle mark as read" -msgstr "Als gelesen markieren" +msgid "(Do not check on public computers)" +msgstr "(nicht auf öffentlichen Computern ankreuzen)" -msgid "toggle favorite" -msgstr "Favorit" +msgid "Sign in" +msgstr "Anmelden" -msgid "delete" -msgstr "Löschen" +msgid "favorites" +msgstr "favoriten" -msgid "original" -msgstr "Original" +msgid "estimated reading time :" +msgstr "Geschätzte Lesezeit:" msgid "Mark all the entries as read" -msgstr "Markiere alle als gelesen" +msgstr "Alle Einträge als gelesen markieren" -msgid "results" -msgstr "Ergebnisse" +msgid "Return home" +msgstr "Zur Startseite zurückkehren" -msgid "Uh, there is a problem with the cron." -msgstr "Oh, es gab ein Problem mit dem cron." +msgid "Back to top" +msgstr "Nach oben scrollen" -msgid "Untitled" -msgstr "Ohne Titel" - -msgid "the link has been added successfully" -msgstr "Speichern des Links erfolgreich" - -msgid "error during insertion : the link wasn't added" -msgstr "Fehler beim Einfügen: Der Link wurde nicht hinzugefügt" - -msgid "the link has been deleted successfully" -msgstr "Löschen des Links erfolgreich" - -msgid "the link wasn't deleted" -msgstr "Der Link wurde nicht entfernt" +msgid "Mark as read" +msgstr "Als gelesen markieren" -msgid "Article not found!" -msgstr "Artikel nicht gefunden!" +msgid "Favorite" +msgstr "Favorisieren" -msgid "previous" -msgstr "vorherige" +msgid "Toggle favorite" +msgstr "favorisieren" -msgid "next" -msgstr "nächste" +msgid "Delete" +msgstr "Löschen" -msgid "in demo mode, you can't update your password" -msgstr "im Demo-Modus kann das Passwort nicht geändert werden" +msgid "Tweet" +msgstr "Twittern" -msgid "your password has been updated" -msgstr "Dein Passwort wurde geändert" +msgid "Email" +msgstr "Email" -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 "shaarli" +msgstr "shaarli" -msgid "still using the \"" -msgstr "nutze immernoch die \"" +msgid "flattr" +msgstr "flattr" -msgid "that theme does not seem to be installed" -msgstr "dieses Theme scheint nicht installiert zu sein" +msgid "Does this article appear wrong?" +msgstr "Erscheint dieser Artikel nicht richtig?" -msgid "you have changed your theme preferences" -msgstr "Du hast deine Theme Einstellungen geändert" +msgid "tags:" +msgstr "schlagworte:" -msgid "that language does not seem to be installed" -msgstr "Diese Sprache scheint nicht installiert zu sein" +msgid "Edit tags" +msgstr "Schlagworte bearbeiten" -msgid "you have changed your language preferences" -msgstr "Du hast deine Spracheinstellungen geändert" +msgid "save link!" +msgstr "link speichern!" -msgid "login failed: you have to fill all fields" -msgstr "Anmeldung fehlgeschlagen: Alle Felder müssen ausgefüllt werden" +msgid "home" +msgstr "start" -msgid "welcome to your wallabag" -msgstr "Willkommen bei deiner wallabag" +msgid "tags" +msgstr "schlagworte" -msgid "login failed: bad login or password" -msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder Passwort" +msgid "logout" +msgstr "abmelden" -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 "powered by" +msgstr "Angetrieben von" -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 "debug mode is on so cache is off." +msgstr "Der Debug-Modus ist aktiviert, also ist der Cache deaktiviert." -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 "your wallabag version:" +msgstr "Deine wallabag-Version:" -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 "storage:" +msgstr "speicher:" -msgid "Unknown import provider." -msgstr "Unbekannter Import Anbieter." +msgid "save a link" +msgstr "einen link speichern" -msgid "Could not find required \"" -msgstr "Nicht gefunden: \"" +msgid "back to home" +msgstr "zurück zur startseite" -msgid "File uploaded. You can now execute import." -msgstr "Datei hochgeladen. Du kannst nun importieren." +msgid "toggle mark as read" +msgstr "als gelesen/ungelesen markieren" -msgid "Error while importing file. Do you have access to upload it?" -msgstr "Fehler beim Importieren. Hast du das Recht zum Hochladen?" +msgid "tweet" +msgstr "tweet" -msgid "User with this id (" -msgstr "Nutzer mit dieser id (" +msgid "email" +msgstr "email" -msgid "Uh, there is a problem while generating feeds." -msgstr "Oh, es gab ein Problem beim Erstellen des Feeds." +msgid "this article appears wrong?" +msgstr "dieser artikel erscheint falsch?" -msgid "Cache deleted." -msgstr "Cache gelöscht" +msgid "No link available here!" +msgstr "Kein Link verfügbar!" -msgid "Oops, it seems you don't have PHP 5." -msgstr "Oops, es scheint als würde PHP 5 fehlen." +msgid "Poching a link" +msgstr "Link speichern" -msgid "wallabag, a read it later open source system" -msgstr "wallabag, ein Später-Lesen Open Source System" +msgid "by filling this field" +msgstr "mit dem Ausfüllen dieses Feldes" -msgid "login failed: user doesn't exist" -msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" +msgid "bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "Bookmarklet: Drag & drop diesen Link in deine Lesezeichen" -#~ msgid "You can enter multiple tags, separated by commas." -#~ msgstr "Du kannst mehrere Tags, durch Kommata getrennt, eingeben." +msgid "Drag & drop this link to your bookmarks bar:" +msgstr "Drag & drop diesen Link in deine Lesezeichen:" -#~ msgid "return to article" -#~ msgstr "zurück zum Artikel" +msgid "your version" +msgstr "deine Version" -#, fuzzy -#~ msgid "favoris" -#~ msgstr "Favoriten" +msgid "latest stable version" +msgstr "letzte stabile Version" -#~ msgid "mark all the entries as read" -#~ msgstr "Markiere alle als gelesen" +msgid "a more recent stable version is available." +msgstr "Eine aktuellere Version ist verfügbar." -#~ msgid "Back to top" -#~ msgstr "Nach Oben" +msgid "you are up to date." +msgstr "Du bist auf dem aktuellsten Stand." -#~ msgid "Mark as read" -#~ msgstr "Als gelesen markieren" +msgid "latest dev version" +msgstr "Letzte Entwickler-Version" -#~ msgid "Favorite" -#~ msgstr "Favoriten" +msgid "a more recent development version is available." +msgstr "Eine neuere Entwickler-Version ist verfügbar." -#~ msgid "Toggle favorite" -#~ msgstr "Favorit" +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 "Delete" -#~ msgstr "Löschen" +msgid "More infos in the official doc:" +msgstr "Mehr Informationen in der offiziellen Dokumentation:" -#~ msgid "Tweet" -#~ msgstr "Twittern" +msgid "import from Pocket" +msgstr "Aus Pocket importieren" -#~ msgid "Email" -#~ msgstr "per E-Mail senden" +msgid "import from Readability" +msgstr "Aus Readability importieren" -#~ msgid "shaarli" -#~ msgstr "Shaarli" +msgid "import from Instapaper" +msgstr "Aus Instapaper importieren" -#~ msgid "flattr" -#~ msgstr "flattr" +msgid "Tags" +msgstr "Schlagworte" -#~ msgid "Does this article appear wrong?" -#~ msgstr "Erscheint dieser Artikel falsch?" +msgid "Untitled" +msgstr "Untitled" -#~ msgid "Edit tags" -#~ msgstr "Tags bearbeiten" +msgid "the link has been added successfully" +msgstr "Der Link wurde erfolgreich hinzugefügt" -#~ msgid "Start typing for auto complete." -#~ msgstr "Beginne zu tippen für die Autovervollständigung." +msgid "error during insertion : the link wasn't added" +msgstr "Fehler während des Imports: Der Link wurde nicht hinzugefügt." -#~ msgid "Return home" -#~ msgstr "Zurück zum Start" +msgid "the link has been deleted successfully" +msgstr "Der Link wurde erfolgreich gelöscht" -#~ msgid "tags:" -#~ msgstr "Tags:" +msgid "the link wasn't deleted" +msgstr "Der Link wurde nicht gelöscht." -#~ msgid "login to your wallabag" -#~ msgstr "Bei wallabag anmelden" +msgid "Article not found!" +msgstr "Artikel nicht gefunden!" -#~ msgid "you are in demo mode, some features may be disabled." -#~ msgstr "" -#~ "Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert " -#~ "sein." +msgid "previous" +msgstr "vorherige" -#~ msgid "Login" -#~ msgstr "Benutzername" +msgid "next" +msgstr "nächste" -#~ msgid "Stay signed in" -#~ msgstr "Angemeldet bleiben" +msgid "in demo mode, you can't update your password" +msgstr "Im Demo-Modus kannst du as Kennwort nicht aktualisieren." -#~ msgid "(Do not check on public computers)" -#~ msgstr "(nicht auf einem öffentlichen Computer anhaken)" +msgid "your password has been updated" +msgstr "Dein Passwort wurde aktualisiert" -#~ msgid "plop" -#~ msgstr "plop" +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 "Login to wallabag" -#~ msgstr "Bei wallabag anmelden" +msgid "still using the \"" +msgstr "nutze immernoch die \"" -#~ msgid "Username" -#~ msgstr "Benutzername" +msgid "that theme does not seem to be installed" +msgstr "Dieses Theme scheint nicht installiert zu sein." -#~ msgid "Sign in" -#~ msgstr "Einloggen" +msgid "you have changed your theme preferences" +msgstr "Du hast deine Theme-Einstellungen geändert" -#~ msgid "Enter your search here" -#~ msgstr "Gib hier deine Suchanfrage ein" +msgid "that language does not seem to be installed" +msgstr "Diese Sprache scheint nicht installiert zu sein" -#~ msgid "installation" -#~ msgstr "Installieren" +msgid "you have changed your language preferences" +msgstr "Du hast deine Spracheinstellungen geändert" -#~ msgid "install your wallabag" -#~ msgstr "Installiere deine wallabag" +msgid "login failed: you have to fill all fields" +msgstr "Anmeldung fehlgeschlagen: Du musst alle Felder ausfüllen" -#~ 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 "welcome to your wallabag" +msgstr "Willkommen in deiner wallabag" -#~ msgid "Repeat your password" -#~ msgstr "Wiederhole dein Passwort" +msgid "login failed: bad login or password" +msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder falsches Passwort" -#~ msgid "Install" -#~ msgstr "Installieren" +msgid "import from instapaper completed" +msgstr "Import aus Instapaper abgeschlossen" -#~ msgid "No link available here!" -#~ msgstr "Kein Link verfügbar!" +msgid "import from pocket completed" +msgstr "Import aus Pocket abgeschlossen" -#~ msgid "toggle mark as read" -#~ msgstr "Als gelesen markieren" +msgid "import from Readability completed. " +msgstr "Import aus Readability abgeschlossen." -#~ msgid "" -#~ "You can check your " -#~ "configuration here." -#~ msgstr "" -#~ "Du kannst deine Konfiguration hier testen." +msgid "import from Poche completed. " +msgstr "Import aus wallabag abgeschlossen." -#~ msgid "back to home" -#~ msgstr "züruck zur Hauptseite" +msgid "Unknown import provider." +msgstr "Unbekannter Import-Provider." -#~ msgid "tweet" -#~ msgstr "Twittern" +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Die Datei /inc/poche/define.inc.php ist unvollständig, bitte definiere \"" -#~ msgid "email" -#~ msgstr "senden per E-Mail" +msgid "Could not find required \"" +msgstr "Nicht gefunden: \"" -#~ msgid "this article appears wrong?" -#~ msgstr "dieser Artikel erscheint falsch?" +msgid "Uh, there is a problem while generating feeds." +msgstr "Oh, es gibt ein Problem bei dem Generieren der Feeds." -#~ msgid "Poching a link" -#~ msgstr "Poche einen Link" +msgid "Cache deleted." +msgstr "Cache geleert." -#~ msgid "by filling this field" -#~ msgstr "durch das ausfüllen dieses Feldes:" +msgid "Oops, it seems you don't have PHP 5." +msgstr "Ups, es sieht so aus, als ob du nicht PHP 5 hast." -#~ msgid "bookmarklet: drag & drop this link to your bookmarks bar" -#~ msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" +msgid "Add user" +msgstr "Benutzer hinzufügen" -#~ msgid "your version" -#~ msgstr "Deine Version" +msgid "Add a new user :" +msgstr "Neuen Benutzer hinzufügen:" -#~ msgid "latest stable version" -#~ msgstr "Neuste stabile Version" +msgid "Login for new user" +msgstr "Benutzername des neuen Benutzers" -#~ msgid "a more recent stable version is available." -#~ msgstr "Eine neuere stabile Version ist verfügbar." +msgid "Password for new user" +msgstr "Passwort des neuen Benutzers" -#~ msgid "you are up to date." -#~ msgstr "Du bist auf den neuesten Stand." +msgid "Email for new user (not required)" +msgstr "E-Mail-Adresse des neuen Benutzers (nicht erforderlich)" -#~ msgid "latest dev version" -#~ msgstr "Neuste Entwicklungsversion" +msgid "Send" +msgstr "Senden" -#~ msgid "a more recent development version is available." -#~ msgstr "Eine neuere Entwicklungsversion ist verfügbar." +msgid "Delete account" +msgstr "Account löschen" -#~ 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 "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 "More infos in the official doc:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" +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 "import from Pocket" -#~ msgstr "Import aus Pocket" +msgid "Type here your password" +msgstr "Kennwort hier eintippen" -#~ msgid "(you must have a %s file on your server)" -#~ msgstr "(du brauchst eine %s Datei auf deinem Server)" +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 "import from Readability" -#~ msgstr "Import aus Readability" +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 "import from Instapaper" -#~ msgstr "Import aus Instapaper" +msgid "Enter your search here" +msgstr "Suchbegriff hier eintippen" -#~ msgid "You can also create a cron task:" -#~ msgstr "Du kannst auch einen cronjob anlegen:" +msgid "Tag these results as" +msgstr "Diese Ergebnisse verschlagworten mit" -#~ 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." +# ebook +msgid "Fancy an E-Book ?" +msgstr "Willst du ein E-Book?" -#~ msgid "More info in the official documentation:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" +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 "import from instapaper completed" -#~ msgstr "Import aus Instapaper erfolgreich" +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 "import from pocket completed" -#~ msgstr "Import aus Pocket erfolgreich" +msgid "Download the articles from this tag in an epub" +msgstr "Die Artikel von diesem Schlagwort als EPUB herunterladen" -#~ msgid "import from Poche completed. " -#~ msgstr "Import aus Poche erfolgreich" +msgid "Download the articles from this search in an epub" +msgstr "Alle Artikel aus dieser Suche als EPUB herunterladen" -#~ 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:" -- cgit v1.2.3 From 40377add142cc47601e78541b98e320d59164b37 Mon Sep 17 00:00:00 2001 From: Julian Oster Date: Mon, 26 Jan 2015 21:33:29 +0100 Subject: 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 091ae536..3add116c 100644 Binary files a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo and b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo differ -- cgit v1.2.3 From ca056e7fd1e2bcc8390aabdc6b4fcb84aeb0d302 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 27 Jan 2015 00:41:25 +0100 Subject: changes for 1026 for PDO exceptions --- install/index.php | 236 +++++++++++++------------------- install/wallabag_compatibility_test.php | 32 +++++ 2 files changed, 129 insertions(+), 139 deletions(-) diff --git a/install/index.php b/install/index.php index ec050b4b..77b83c36 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,136 +47,109 @@ 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); + + // Database informations + $moreQueries = array(); - if ($continue) { - - // 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'); - - 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 + $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', + )); + + $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);"; - - $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 + $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 ('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)"; - - $sql_structure = file_get_contents('install/postgres.sql'); - } + $moreQueries[] = "INSERT INTO tags (value) VALUES ('opensource')"; + $moreQueries[] = "INSERT INTO tags_entries (entry_id, tag_id) VALUES (2, 1)"; - $content = str_replace("define ('STORAGE', 'sqlite');", "define ('STORAGE', '".$_POST['db_engine']."');", $content); - file_put_contents('inc/poche/config.inc.php', $content); + $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); - 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'); + $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, '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); + $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()); - } + foreach ($moreQueries as $query) { + executeQuery($handle, $query, array()); + } + $successes[] = 'wallabag is now installed. You can now access it !'; - $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 8a0656cf..1093b2a3 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 -- cgit v1.2.3 From a1d6e0340790be13209025dd7807563862838376 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 27 Jan 2015 00:59:38 +0100 Subject: 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 | 741 ++++++++++++++-------------- 2 files changed, 382 insertions(+), 359 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 3add116c..bd18817f 100644 Binary files a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo and b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo differ 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 47801007..8b82721d 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" - -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." +msgstr "Import" -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 "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 "(?)" -msgstr "(?)" +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,437 +215,444 @@ 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" -msgid "Tag" -msgstr "Schlagwort" +#, fuzzy +msgid "toggle view mode" +msgstr "Favorit" -msgid "No articles found." -msgstr "Keine Artikel gefunden." +msgid "home" +msgstr "Start" -msgid "Toggle mark as read" -msgstr "Als gelesen/ungelesen markieren" +msgid "favorites" +msgstr "Favoriten" -msgid "toggle favorite" -msgstr "favorisieren" +msgid "archive" +msgstr "Archiv" -msgid "delete" -msgstr "löschen" +msgid "tags" +msgstr "Tags" -msgid "original" -msgstr "original" +msgid "save a link" +msgstr "Speichere einen Link" -msgid "estimated reading time:" -msgstr "Geschätzte Lesezeit:" +msgid "search" +msgstr "Suche" -msgid "mark all the entries as read" -msgstr "Alle Einträge als gelesen markieren" +msgid "logout" +msgstr "Logout" -msgid "results" -msgstr "Ergebnisse" +msgid "return home" +msgstr "Zurück zum Start" -msgid "installation" -msgstr "installation" +#, fuzzy +msgid "Search" +msgstr "Archiv" -msgid "install your wallabag" -msgstr "deine wallabag installieren" +msgid "powered by" +msgstr "bereitgestellt von" -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 "debug mode is on so cache is off." +msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" -msgid "Login" -msgstr "Anmelden" +msgid "your wallabag version:" +msgstr "Deine wallabag Version" -msgid "Repeat your password" -msgstr "Passwort wiederholen" +msgid "storage:" +msgstr "Speicher:" -msgid "Install" -msgstr "Installieren" +msgid "Save a link" +msgstr "Speichere einen Link" -msgid "login to your wallabag" -msgstr "Melde dich in deiner wallabag an" +msgid "save link!" +msgstr "Link speichern!" -msgid "Login to wallabag" -msgstr "In wallabag anmelden" +msgid "unread" +msgstr "ungelesen" -msgid "you are in demo mode, some features may be disabled." -msgstr "Du bist im Demo-Modus, einige Features sind möglicherweise deaktiviert." +msgid "Tag" +msgstr "Tag" -msgid "Username" -msgstr "Benutzername" +msgid "No articles found." +msgstr "Keine Artikel gefunden." + +msgid "estimated reading time:" +msgstr "geschätzte Lesezeit:" -msgid "Stay signed in" -msgstr "Angemeldet bleiben" +msgid "estimated reading time :" +msgstr "geschätzte Lesezeit:" -msgid "(Do not check on public computers)" -msgstr "(nicht auf öffentlichen Computern ankreuzen)" +msgid "Toggle mark as read" +msgstr "Als gelesen markieren" -msgid "Sign in" -msgstr "Anmelden" +msgid "toggle favorite" +msgstr "Favorit" -msgid "favorites" -msgstr "favoriten" +msgid "delete" +msgstr "Löschen" -msgid "estimated reading time :" -msgstr "Geschätzte Lesezeit:" +msgid "original" +msgstr "Original" msgid "Mark all the entries as read" -msgstr "Alle Einträge als gelesen markieren" +msgstr "Markiere alle als gelesen" -msgid "Return home" -msgstr "Zur Startseite zurückkehren" +msgid "results" +msgstr "Ergebnisse" -msgid "Back to top" -msgstr "Nach oben scrollen" +msgid "Uh, there is a problem with the cron." +msgstr "Oh, es gab ein Problem mit dem cron." -msgid "Mark as read" -msgstr "Als gelesen markieren" +msgid "Untitled" +msgstr "Ohne Titel" -msgid "Favorite" -msgstr "Favorisieren" +msgid "the link has been added successfully" +msgstr "Speichern des Links erfolgreich" -msgid "Toggle favorite" -msgstr "favorisieren" +msgid "error during insertion : the link wasn't added" +msgstr "Fehler beim Einfügen: Der Link wurde nicht hinzugefügt" -msgid "Delete" -msgstr "Löschen" +msgid "the link has been deleted successfully" +msgstr "Löschen des Links erfolgreich" -msgid "Tweet" -msgstr "Twittern" +msgid "the link wasn't deleted" +msgstr "Der Link wurde nicht entfernt" -msgid "Email" -msgstr "Email" +msgid "Article not found!" +msgstr "Artikel nicht gefunden!" -msgid "shaarli" -msgstr "shaarli" +msgid "previous" +msgstr "vorherige" -msgid "flattr" -msgstr "flattr" +msgid "next" +msgstr "nächste" -msgid "Does this article appear wrong?" -msgstr "Erscheint dieser Artikel nicht richtig?" +msgid "in demo mode, you can't update your password" +msgstr "im Demo-Modus kann das Passwort nicht geändert werden" -msgid "tags:" -msgstr "schlagworte:" +msgid "your password has been updated" +msgstr "Dein Passwort wurde geändert" -msgid "Edit tags" -msgstr "Schlagworte bearbeiten" +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 "save link!" -msgstr "link speichern!" +msgid "still using the \"" +msgstr "nutze immernoch die \"" -msgid "home" -msgstr "start" +msgid "that theme does not seem to be installed" +msgstr "dieses Theme scheint nicht installiert zu sein" -msgid "tags" -msgstr "schlagworte" +msgid "you have changed your theme preferences" +msgstr "Du hast deine Theme Einstellungen geändert" -msgid "logout" -msgstr "abmelden" +msgid "that language does not seem to be installed" +msgstr "Diese Sprache scheint nicht installiert zu sein" -msgid "powered by" -msgstr "Angetrieben von" +msgid "you have changed your language preferences" +msgstr "Du hast deine Spracheinstellungen geändert" -msgid "debug mode is on so cache is off." -msgstr "Der Debug-Modus ist aktiviert, also ist der Cache deaktiviert." +msgid "login failed: you have to fill all fields" +msgstr "Anmeldung fehlgeschlagen: Alle Felder müssen ausgefüllt werden" -msgid "your wallabag version:" -msgstr "Deine wallabag-Version:" +msgid "welcome to your wallabag" +msgstr "Willkommen bei deiner wallabag" -msgid "storage:" -msgstr "speicher:" +msgid "login failed: bad login or password" +msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder Passwort" -msgid "save a link" -msgstr "einen link speichern" +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. 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. 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 "back to home" -msgstr "zurück zur startseite" +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 "toggle mark as read" -msgstr "als gelesen/ungelesen markieren" +msgid "Unknown import provider." +msgstr "Unbekannter Import Anbieter." -msgid "tweet" -msgstr "tweet" +msgid "Could not find required \"" +msgstr "Nicht gefunden: \"" -msgid "email" -msgstr "email" +msgid "File uploaded. You can now execute import." +msgstr "Datei hochgeladen. Du kannst nun importieren." -msgid "this article appears wrong?" -msgstr "dieser artikel erscheint falsch?" +msgid "Error while importing file. Do you have access to upload it?" +msgstr "Fehler beim Importieren. Hast du das Recht zum Hochladen?" -msgid "No link available here!" -msgstr "Kein Link verfügbar!" +msgid "User with this id (" +msgstr "Nutzer mit dieser id (" -msgid "Poching a link" -msgstr "Link speichern" +msgid "Uh, there is a problem while generating feeds." +msgstr "Oh, es gab ein Problem beim Erstellen des Feeds." -msgid "by filling this field" -msgstr "mit dem Ausfüllen dieses Feldes" +msgid "Cache deleted." +msgstr "Cache gelöscht" -msgid "bookmarklet: drag & drop this link to your bookmarks bar" -msgstr "Bookmarklet: Drag & drop diesen Link in deine Lesezeichen" +msgid "Oops, it seems you don't have PHP 5." +msgstr "Oops, es scheint als würde PHP 5 fehlen." -msgid "Drag & drop this link to your bookmarks bar:" -msgstr "Drag & drop diesen Link in deine Lesezeichen:" +msgid "wallabag, a read it later open source system" +msgstr "wallabag, ein Später-Lesen Open Source System" -msgid "your version" -msgstr "deine Version" +msgid "login failed: user doesn't exist" +msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" -msgid "latest stable version" -msgstr "letzte stabile Version" +#~ msgid "You can enter multiple tags, separated by commas." +#~ msgstr "Du kannst mehrere Tags, durch Kommata getrennt, eingeben." -msgid "a more recent stable version is available." -msgstr "Eine aktuellere Version ist verfügbar." +#~ msgid "return to article" +#~ msgstr "zurück zum Artikel" -msgid "you are up to date." -msgstr "Du bist auf dem aktuellsten Stand." +#, fuzzy +#~ msgid "favoris" +#~ msgstr "Favoriten" -msgid "latest dev version" -msgstr "Letzte Entwickler-Version" +#~ msgid "mark all the entries as read" +#~ msgstr "Markiere alle als gelesen" -msgid "a more recent development version is available." -msgstr "Eine neuere Entwickler-Version ist verfügbar." +#~ msgid "Back to top" +#~ msgstr "Nach Oben" -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 "Mark as read" +#~ msgstr "Als gelesen markieren" -msgid "More infos in the official doc:" -msgstr "Mehr Informationen in der offiziellen Dokumentation:" +#~ msgid "Favorite" +#~ msgstr "Favoriten" -msgid "import from Pocket" -msgstr "Aus Pocket importieren" +#~ msgid "Toggle favorite" +#~ msgstr "Favorit" -msgid "import from Readability" -msgstr "Aus Readability importieren" +#~ msgid "Delete" +#~ msgstr "Löschen" -msgid "import from Instapaper" -msgstr "Aus Instapaper importieren" +#~ msgid "Tweet" +#~ msgstr "Twittern" -msgid "Tags" -msgstr "Schlagworte" +#~ msgid "Email" +#~ msgstr "per E-Mail senden" -msgid "Untitled" -msgstr "Untitled" +#~ msgid "shaarli" +#~ msgstr "Shaarli" -msgid "the link has been added successfully" -msgstr "Der Link wurde erfolgreich hinzugefügt" +#~ msgid "flattr" +#~ msgstr "flattr" -msgid "error during insertion : the link wasn't added" -msgstr "Fehler während des Imports: Der Link wurde nicht hinzugefügt." +#~ msgid "Does this article appear wrong?" +#~ msgstr "Erscheint dieser Artikel falsch?" -msgid "the link has been deleted successfully" -msgstr "Der Link wurde erfolgreich gelöscht" +#~ msgid "Edit tags" +#~ msgstr "Tags bearbeiten" -msgid "the link wasn't deleted" -msgstr "Der Link wurde nicht gelöscht." +#~ msgid "Start typing for auto complete." +#~ msgstr "Beginne zu tippen für die Autovervollständigung." -msgid "Article not found!" -msgstr "Artikel nicht gefunden!" +#~ msgid "Return home" +#~ msgstr "Zurück zum Start" -msgid "previous" -msgstr "vorherige" +#~ msgid "tags:" +#~ msgstr "Tags:" -msgid "next" -msgstr "nächste" +#~ msgid "login to your wallabag" +#~ msgstr "Bei wallabag anmelden" -msgid "in demo mode, you can't update your password" -msgstr "Im Demo-Modus kannst du as Kennwort nicht aktualisieren." +#~ msgid "you are in demo mode, some features may be disabled." +#~ msgstr "" +#~ "Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert " +#~ "sein." -msgid "your password has been updated" -msgstr "Dein Passwort wurde aktualisiert" +#~ msgid "Login" +#~ msgstr "Benutzername" -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 "Stay signed in" +#~ msgstr "Angemeldet bleiben" -msgid "still using the \"" -msgstr "nutze immernoch die \"" +#~ msgid "(Do not check on public computers)" +#~ msgstr "(nicht auf einem öffentlichen Computer anhaken)" -msgid "that theme does not seem to be installed" -msgstr "Dieses Theme scheint nicht installiert zu sein." +#~ msgid "plop" +#~ msgstr "plop" -msgid "you have changed your theme preferences" -msgstr "Du hast deine Theme-Einstellungen geändert" +#~ msgid "Login to wallabag" +#~ msgstr "Bei wallabag anmelden" -msgid "that language does not seem to be installed" -msgstr "Diese Sprache scheint nicht installiert zu sein" +#~ msgid "Username" +#~ msgstr "Benutzername" -msgid "you have changed your language preferences" -msgstr "Du hast deine Spracheinstellungen geändert" +#~ msgid "Sign in" +#~ msgstr "Einloggen" -msgid "login failed: you have to fill all fields" -msgstr "Anmeldung fehlgeschlagen: Du musst alle Felder ausfüllen" +#~ msgid "Enter your search here" +#~ msgstr "Gib hier deine Suchanfrage ein" -msgid "welcome to your wallabag" -msgstr "Willkommen in deiner wallabag" +#~ msgid "installation" +#~ msgstr "Installieren" -msgid "login failed: bad login or password" -msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder falsches Passwort" +#~ msgid "install your wallabag" +#~ msgstr "Installiere deine wallabag" -msgid "import from instapaper completed" -msgstr "Import aus Instapaper abgeschlossen" +#~ 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 "import from pocket completed" -msgstr "Import aus Pocket abgeschlossen" +#~ msgid "Repeat your password" +#~ msgstr "Wiederhole dein Passwort" -msgid "import from Readability completed. " -msgstr "Import aus Readability abgeschlossen." +#~ msgid "Install" +#~ msgstr "Installieren" -msgid "import from Poche completed. " -msgstr "Import aus wallabag abgeschlossen." +#~ msgid "No link available here!" +#~ msgstr "Kein Link verfügbar!" -msgid "Unknown import provider." -msgstr "Unbekannter Import-Provider." +#~ msgid "toggle mark as read" +#~ msgstr "Als gelesen markieren" -msgid "Incomplete inc/poche/define.inc.php file, please define \"" -msgstr "Die Datei /inc/poche/define.inc.php ist unvollständig, bitte definiere \"" +#~ msgid "" +#~ "You can check your " +#~ "configuration here." +#~ msgstr "" +#~ "Du kannst deine Konfiguration hier testen." -msgid "Could not find required \"" -msgstr "Nicht gefunden: \"" +#~ msgid "back to home" +#~ msgstr "züruck zur Hauptseite" -msgid "Uh, there is a problem while generating feeds." -msgstr "Oh, es gibt ein Problem bei dem Generieren der Feeds." +#~ msgid "tweet" +#~ msgstr "Twittern" -msgid "Cache deleted." -msgstr "Cache geleert." +#~ msgid "email" +#~ msgstr "senden per E-Mail" -msgid "Oops, it seems you don't have PHP 5." -msgstr "Ups, es sieht so aus, als ob du nicht PHP 5 hast." +#~ 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 "Add user" -msgstr "Benutzer hinzufügen" +#~ msgid "bookmarklet: drag & drop this link to your bookmarks bar" +#~ msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" -msgid "Add a new user :" -msgstr "Neuen Benutzer hinzufügen:" +#~ msgid "your version" +#~ msgstr "Deine Version" -msgid "Login for new user" -msgstr "Benutzername des neuen Benutzers" +#~ msgid "latest stable version" +#~ msgstr "Neuste stabile Version" -msgid "Password for new user" -msgstr "Passwort des neuen Benutzers" +#~ msgid "a more recent stable version is available." +#~ msgstr "Eine neuere stabile Version ist verfügbar." -msgid "Email for new user (not required)" -msgstr "E-Mail-Adresse des neuen Benutzers (nicht erforderlich)" +#~ msgid "you are up to date." +#~ msgstr "Du bist auf den neuesten Stand." -msgid "Send" -msgstr "Senden" +#~ msgid "latest dev version" +#~ msgstr "Neuste Entwicklungsversion" -msgid "Delete account" -msgstr "Account löschen" +#~ msgid "a more recent development version is available." +#~ msgstr "Eine neuere Entwicklungsversion ist verfügbar." -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 "" +#~ "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 "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 "More infos in the official doc:" +#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" -msgid "Type here your password" -msgstr "Kennwort hier eintippen" +#~ msgid "import from Pocket" +#~ msgstr "Import aus Pocket" -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 "(you must have a %s file on your server)" +#~ msgstr "(du brauchst eine %s Datei auf deinem Server)" -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 "import from Readability" +#~ msgstr "Import aus Readability" -msgid "Enter your search here" -msgstr "Suchbegriff hier eintippen" +#~ msgid "import from Instapaper" +#~ msgstr "Import aus Instapaper" -msgid "Tag these results as" -msgstr "Diese Ergebnisse verschlagworten mit" +#~ msgid "You can also create a cron task:" +#~ msgstr "Du kannst auch einen cronjob anlegen:" -# ebook -msgid "Fancy an E-Book ?" -msgstr "Willst du ein E-Book?" +#~ 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 "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 "More info in the official documentation:" +#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" -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 "import from instapaper completed" +#~ msgstr "Import aus Instapaper erfolgreich" -msgid "Download the articles from this tag in an epub" -msgstr "Die Artikel von diesem Schlagwort als EPUB herunterladen" +#~ msgid "import from pocket completed" +#~ msgstr "Import aus Pocket erfolgreich" -msgid "Download the articles from this search in an epub" -msgstr "Alle Artikel aus dieser Suche als EPUB herunterladen" +#~ msgid "import from Poche completed. " +#~ msgstr "Import aus Poche erfolgreich" -msgid "Download the articles from this category in an epub" -msgstr "Alle Artikel aus dieser Kategorie als EPUB herunterladen" +#~ 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" -- cgit v1.2.3 From f8100e0d054ef454f299ee815de545b02ae5ca9d Mon Sep 17 00:00:00 2001 From: Julian Oster Date: Tue, 27 Jan 2015 18:05:44 +0100 Subject: 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 | 741 ++++++++++++++-------------- 2 files changed, 359 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 bd18817f..3add116c 100644 Binary files a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo and b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo differ 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 8b82721d..47801007 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." -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." +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 "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 "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 "" +"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 "File:" -msgstr "Datei:" +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 "Upload" -msgstr "Hochladen" +msgid "More info in the official documentation:" +msgstr "Mehr Infos in der offiziellen Dokumentation:" -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" +msgstr "Aus wallabag importieren" -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 "Export your wallabag data" +msgstr "Deine wallabag-Daten exportieren" 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:" - -msgid "Export your wallabag data" -msgstr "Exportieren deine wallabag Daten" +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,444 +199,437 @@ 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" +msgstr "nach Titel, absteigend" -msgid "home" -msgstr "Start" +msgid "Tag" +msgstr "Schlagwort" -msgid "favorites" -msgstr "Favoriten" +msgid "No articles found." +msgstr "Keine Artikel gefunden." -msgid "archive" -msgstr "Archiv" +msgid "Toggle mark as read" +msgstr "Als gelesen/ungelesen markieren" -msgid "tags" -msgstr "Tags" +msgid "toggle favorite" +msgstr "favorisieren" -msgid "save a link" -msgstr "Speichere einen Link" +msgid "delete" +msgstr "löschen" -msgid "search" -msgstr "Suche" +msgid "original" +msgstr "original" -msgid "logout" -msgstr "Logout" +msgid "estimated reading time:" +msgstr "Geschätzte Lesezeit:" -msgid "return home" -msgstr "Zurück zum Start" +msgid "mark all the entries as read" +msgstr "Alle Einträge als gelesen markieren" -#, fuzzy -msgid "Search" -msgstr "Archiv" +msgid "results" +msgstr "Ergebnisse" -msgid "powered by" -msgstr "bereitgestellt von" +msgid "installation" +msgstr "installation" -msgid "debug mode is on so cache is off." -msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" +msgid "install your wallabag" +msgstr "deine wallabag installieren" -msgid "your wallabag version:" -msgstr "Deine wallabag Version" +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 "storage:" -msgstr "Speicher:" +msgid "Login" +msgstr "Anmelden" -msgid "Save a link" -msgstr "Speichere einen Link" +msgid "Repeat your password" +msgstr "Passwort wiederholen" -msgid "save link!" -msgstr "Link speichern!" +msgid "Install" +msgstr "Installieren" -msgid "unread" -msgstr "ungelesen" +msgid "login to your wallabag" +msgstr "Melde dich in deiner wallabag an" -msgid "Tag" -msgstr "Tag" +msgid "Login to wallabag" +msgstr "In wallabag anmelden" -msgid "No articles found." -msgstr "Keine Artikel gefunden." +msgid "you are in demo mode, some features may be disabled." +msgstr "Du bist im Demo-Modus, einige Features sind möglicherweise deaktiviert." -msgid "estimated reading time:" -msgstr "geschätzte Lesezeit:" +msgid "Username" +msgstr "Benutzername" -msgid "estimated reading time :" -msgstr "geschätzte Lesezeit:" +msgid "Stay signed in" +msgstr "Angemeldet bleiben" -msgid "Toggle mark as read" -msgstr "Als gelesen markieren" +msgid "(Do not check on public computers)" +msgstr "(nicht auf öffentlichen Computern ankreuzen)" -msgid "toggle favorite" -msgstr "Favorit" +msgid "Sign in" +msgstr "Anmelden" -msgid "delete" -msgstr "Löschen" +msgid "favorites" +msgstr "favoriten" -msgid "original" -msgstr "Original" +msgid "estimated reading time :" +msgstr "Geschätzte Lesezeit:" msgid "Mark all the entries as read" -msgstr "Markiere alle als gelesen" +msgstr "Alle Einträge als gelesen markieren" -msgid "results" -msgstr "Ergebnisse" +msgid "Return home" +msgstr "Zur Startseite zurückkehren" -msgid "Uh, there is a problem with the cron." -msgstr "Oh, es gab ein Problem mit dem cron." +msgid "Back to top" +msgstr "Nach oben scrollen" -msgid "Untitled" -msgstr "Ohne Titel" - -msgid "the link has been added successfully" -msgstr "Speichern des Links erfolgreich" - -msgid "error during insertion : the link wasn't added" -msgstr "Fehler beim Einfügen: Der Link wurde nicht hinzugefügt" - -msgid "the link has been deleted successfully" -msgstr "Löschen des Links erfolgreich" - -msgid "the link wasn't deleted" -msgstr "Der Link wurde nicht entfernt" +msgid "Mark as read" +msgstr "Als gelesen markieren" -msgid "Article not found!" -msgstr "Artikel nicht gefunden!" +msgid "Favorite" +msgstr "Favorisieren" -msgid "previous" -msgstr "vorherige" +msgid "Toggle favorite" +msgstr "favorisieren" -msgid "next" -msgstr "nächste" +msgid "Delete" +msgstr "Löschen" -msgid "in demo mode, you can't update your password" -msgstr "im Demo-Modus kann das Passwort nicht geändert werden" +msgid "Tweet" +msgstr "Twittern" -msgid "your password has been updated" -msgstr "Dein Passwort wurde geändert" +msgid "Email" +msgstr "Email" -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 "shaarli" +msgstr "shaarli" -msgid "still using the \"" -msgstr "nutze immernoch die \"" +msgid "flattr" +msgstr "flattr" -msgid "that theme does not seem to be installed" -msgstr "dieses Theme scheint nicht installiert zu sein" +msgid "Does this article appear wrong?" +msgstr "Erscheint dieser Artikel nicht richtig?" -msgid "you have changed your theme preferences" -msgstr "Du hast deine Theme Einstellungen geändert" +msgid "tags:" +msgstr "schlagworte:" -msgid "that language does not seem to be installed" -msgstr "Diese Sprache scheint nicht installiert zu sein" +msgid "Edit tags" +msgstr "Schlagworte bearbeiten" -msgid "you have changed your language preferences" -msgstr "Du hast deine Spracheinstellungen geändert" +msgid "save link!" +msgstr "link speichern!" -msgid "login failed: you have to fill all fields" -msgstr "Anmeldung fehlgeschlagen: Alle Felder müssen ausgefüllt werden" +msgid "home" +msgstr "start" -msgid "welcome to your wallabag" -msgstr "Willkommen bei deiner wallabag" +msgid "tags" +msgstr "schlagworte" -msgid "login failed: bad login or password" -msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder Passwort" +msgid "logout" +msgstr "abmelden" -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 "powered by" +msgstr "Angetrieben von" -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 "debug mode is on so cache is off." +msgstr "Der Debug-Modus ist aktiviert, also ist der Cache deaktiviert." -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 "your wallabag version:" +msgstr "Deine wallabag-Version:" -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 "storage:" +msgstr "speicher:" -msgid "Unknown import provider." -msgstr "Unbekannter Import Anbieter." +msgid "save a link" +msgstr "einen link speichern" -msgid "Could not find required \"" -msgstr "Nicht gefunden: \"" +msgid "back to home" +msgstr "zurück zur startseite" -msgid "File uploaded. You can now execute import." -msgstr "Datei hochgeladen. Du kannst nun importieren." +msgid "toggle mark as read" +msgstr "als gelesen/ungelesen markieren" -msgid "Error while importing file. Do you have access to upload it?" -msgstr "Fehler beim Importieren. Hast du das Recht zum Hochladen?" +msgid "tweet" +msgstr "tweet" -msgid "User with this id (" -msgstr "Nutzer mit dieser id (" +msgid "email" +msgstr "email" -msgid "Uh, there is a problem while generating feeds." -msgstr "Oh, es gab ein Problem beim Erstellen des Feeds." +msgid "this article appears wrong?" +msgstr "dieser artikel erscheint falsch?" -msgid "Cache deleted." -msgstr "Cache gelöscht" +msgid "No link available here!" +msgstr "Kein Link verfügbar!" -msgid "Oops, it seems you don't have PHP 5." -msgstr "Oops, es scheint als würde PHP 5 fehlen." +msgid "Poching a link" +msgstr "Link speichern" -msgid "wallabag, a read it later open source system" -msgstr "wallabag, ein Später-Lesen Open Source System" +msgid "by filling this field" +msgstr "mit dem Ausfüllen dieses Feldes" -msgid "login failed: user doesn't exist" -msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" +msgid "bookmarklet: drag & drop this link to your bookmarks bar" +msgstr "Bookmarklet: Drag & drop diesen Link in deine Lesezeichen" -#~ msgid "You can enter multiple tags, separated by commas." -#~ msgstr "Du kannst mehrere Tags, durch Kommata getrennt, eingeben." +msgid "Drag & drop this link to your bookmarks bar:" +msgstr "Drag & drop diesen Link in deine Lesezeichen:" -#~ msgid "return to article" -#~ msgstr "zurück zum Artikel" +msgid "your version" +msgstr "deine Version" -#, fuzzy -#~ msgid "favoris" -#~ msgstr "Favoriten" +msgid "latest stable version" +msgstr "letzte stabile Version" -#~ msgid "mark all the entries as read" -#~ msgstr "Markiere alle als gelesen" +msgid "a more recent stable version is available." +msgstr "Eine aktuellere Version ist verfügbar." -#~ msgid "Back to top" -#~ msgstr "Nach Oben" +msgid "you are up to date." +msgstr "Du bist auf dem aktuellsten Stand." -#~ msgid "Mark as read" -#~ msgstr "Als gelesen markieren" +msgid "latest dev version" +msgstr "Letzte Entwickler-Version" -#~ msgid "Favorite" -#~ msgstr "Favoriten" +msgid "a more recent development version is available." +msgstr "Eine neuere Entwickler-Version ist verfügbar." -#~ msgid "Toggle favorite" -#~ msgstr "Favorit" +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 "Delete" -#~ msgstr "Löschen" +msgid "More infos in the official doc:" +msgstr "Mehr Informationen in der offiziellen Dokumentation:" -#~ msgid "Tweet" -#~ msgstr "Twittern" +msgid "import from Pocket" +msgstr "Aus Pocket importieren" -#~ msgid "Email" -#~ msgstr "per E-Mail senden" +msgid "import from Readability" +msgstr "Aus Readability importieren" -#~ msgid "shaarli" -#~ msgstr "Shaarli" +msgid "import from Instapaper" +msgstr "Aus Instapaper importieren" -#~ msgid "flattr" -#~ msgstr "flattr" +msgid "Tags" +msgstr "Schlagworte" -#~ msgid "Does this article appear wrong?" -#~ msgstr "Erscheint dieser Artikel falsch?" +msgid "Untitled" +msgstr "Untitled" -#~ msgid "Edit tags" -#~ msgstr "Tags bearbeiten" +msgid "the link has been added successfully" +msgstr "Der Link wurde erfolgreich hinzugefügt" -#~ msgid "Start typing for auto complete." -#~ msgstr "Beginne zu tippen für die Autovervollständigung." +msgid "error during insertion : the link wasn't added" +msgstr "Fehler während des Imports: Der Link wurde nicht hinzugefügt." -#~ msgid "Return home" -#~ msgstr "Zurück zum Start" +msgid "the link has been deleted successfully" +msgstr "Der Link wurde erfolgreich gelöscht" -#~ msgid "tags:" -#~ msgstr "Tags:" +msgid "the link wasn't deleted" +msgstr "Der Link wurde nicht gelöscht." -#~ msgid "login to your wallabag" -#~ msgstr "Bei wallabag anmelden" +msgid "Article not found!" +msgstr "Artikel nicht gefunden!" -#~ msgid "you are in demo mode, some features may be disabled." -#~ msgstr "" -#~ "Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert " -#~ "sein." +msgid "previous" +msgstr "vorherige" -#~ msgid "Login" -#~ msgstr "Benutzername" +msgid "next" +msgstr "nächste" -#~ msgid "Stay signed in" -#~ msgstr "Angemeldet bleiben" +msgid "in demo mode, you can't update your password" +msgstr "Im Demo-Modus kannst du as Kennwort nicht aktualisieren." -#~ msgid "(Do not check on public computers)" -#~ msgstr "(nicht auf einem öffentlichen Computer anhaken)" +msgid "your password has been updated" +msgstr "Dein Passwort wurde aktualisiert" -#~ msgid "plop" -#~ msgstr "plop" +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 "Login to wallabag" -#~ msgstr "Bei wallabag anmelden" +msgid "still using the \"" +msgstr "nutze immernoch die \"" -#~ msgid "Username" -#~ msgstr "Benutzername" +msgid "that theme does not seem to be installed" +msgstr "Dieses Theme scheint nicht installiert zu sein." -#~ msgid "Sign in" -#~ msgstr "Einloggen" +msgid "you have changed your theme preferences" +msgstr "Du hast deine Theme-Einstellungen geändert" -#~ msgid "Enter your search here" -#~ msgstr "Gib hier deine Suchanfrage ein" +msgid "that language does not seem to be installed" +msgstr "Diese Sprache scheint nicht installiert zu sein" -#~ msgid "installation" -#~ msgstr "Installieren" +msgid "you have changed your language preferences" +msgstr "Du hast deine Spracheinstellungen geändert" -#~ msgid "install your wallabag" -#~ msgstr "Installiere deine wallabag" +msgid "login failed: you have to fill all fields" +msgstr "Anmeldung fehlgeschlagen: Du musst alle Felder ausfüllen" -#~ 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 "welcome to your wallabag" +msgstr "Willkommen in deiner wallabag" -#~ msgid "Repeat your password" -#~ msgstr "Wiederhole dein Passwort" +msgid "login failed: bad login or password" +msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder falsches Passwort" -#~ msgid "Install" -#~ msgstr "Installieren" +msgid "import from instapaper completed" +msgstr "Import aus Instapaper abgeschlossen" -#~ msgid "No link available here!" -#~ msgstr "Kein Link verfügbar!" +msgid "import from pocket completed" +msgstr "Import aus Pocket abgeschlossen" -#~ msgid "toggle mark as read" -#~ msgstr "Als gelesen markieren" +msgid "import from Readability completed. " +msgstr "Import aus Readability abgeschlossen." -#~ msgid "" -#~ "You can check your " -#~ "configuration here." -#~ msgstr "" -#~ "Du kannst deine Konfiguration hier testen." +msgid "import from Poche completed. " +msgstr "Import aus wallabag abgeschlossen." -#~ msgid "back to home" -#~ msgstr "züruck zur Hauptseite" +msgid "Unknown import provider." +msgstr "Unbekannter Import-Provider." -#~ msgid "tweet" -#~ msgstr "Twittern" +msgid "Incomplete inc/poche/define.inc.php file, please define \"" +msgstr "Die Datei /inc/poche/define.inc.php ist unvollständig, bitte definiere \"" -#~ msgid "email" -#~ msgstr "senden per E-Mail" +msgid "Could not find required \"" +msgstr "Nicht gefunden: \"" -#~ msgid "this article appears wrong?" -#~ msgstr "dieser Artikel erscheint falsch?" +msgid "Uh, there is a problem while generating feeds." +msgstr "Oh, es gibt ein Problem bei dem Generieren der Feeds." -#~ msgid "Poching a link" -#~ msgstr "Poche einen Link" +msgid "Cache deleted." +msgstr "Cache geleert." -#~ msgid "by filling this field" -#~ msgstr "durch das ausfüllen dieses Feldes:" +msgid "Oops, it seems you don't have PHP 5." +msgstr "Ups, es sieht so aus, als ob du nicht PHP 5 hast." -#~ msgid "bookmarklet: drag & drop this link to your bookmarks bar" -#~ msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" +msgid "Add user" +msgstr "Benutzer hinzufügen" -#~ msgid "your version" -#~ msgstr "Deine Version" +msgid "Add a new user :" +msgstr "Neuen Benutzer hinzufügen:" -#~ msgid "latest stable version" -#~ msgstr "Neuste stabile Version" +msgid "Login for new user" +msgstr "Benutzername des neuen Benutzers" -#~ msgid "a more recent stable version is available." -#~ msgstr "Eine neuere stabile Version ist verfügbar." +msgid "Password for new user" +msgstr "Passwort des neuen Benutzers" -#~ msgid "you are up to date." -#~ msgstr "Du bist auf den neuesten Stand." +msgid "Email for new user (not required)" +msgstr "E-Mail-Adresse des neuen Benutzers (nicht erforderlich)" -#~ msgid "latest dev version" -#~ msgstr "Neuste Entwicklungsversion" +msgid "Send" +msgstr "Senden" -#~ msgid "a more recent development version is available." -#~ msgstr "Eine neuere Entwicklungsversion ist verfügbar." +msgid "Delete account" +msgstr "Account löschen" -#~ 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 "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 "More infos in the official doc:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" +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 "import from Pocket" -#~ msgstr "Import aus Pocket" +msgid "Type here your password" +msgstr "Kennwort hier eintippen" -#~ msgid "(you must have a %s file on your server)" -#~ msgstr "(du brauchst eine %s Datei auf deinem Server)" +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 "import from Readability" -#~ msgstr "Import aus Readability" +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 "import from Instapaper" -#~ msgstr "Import aus Instapaper" +msgid "Enter your search here" +msgstr "Suchbegriff hier eintippen" -#~ msgid "You can also create a cron task:" -#~ msgstr "Du kannst auch einen cronjob anlegen:" +msgid "Tag these results as" +msgstr "Diese Ergebnisse verschlagworten mit" -#~ 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." +# ebook +msgid "Fancy an E-Book ?" +msgstr "Willst du ein E-Book?" -#~ msgid "More info in the official documentation:" -#~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" +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 "import from instapaper completed" -#~ msgstr "Import aus Instapaper erfolgreich" +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 "import from pocket completed" -#~ msgstr "Import aus Pocket erfolgreich" +msgid "Download the articles from this tag in an epub" +msgstr "Die Artikel von diesem Schlagwort als EPUB herunterladen" -#~ msgid "import from Poche completed. " -#~ msgstr "Import aus Poche erfolgreich" +msgid "Download the articles from this search in an epub" +msgstr "Alle Artikel aus dieser Suche als EPUB herunterladen" -#~ 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:" -- cgit v1.2.3 From 22f19b23a6e9400b5776a9a7f0eedb9eb1b5362e Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 31 Jan 2015 23:35:45 +0100 Subject: 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 77b83c36..54f7f7f2 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 1093b2a3..3b465851 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; } -- cgit v1.2.3 From dd0d7ad9a18cce6424442ac37340ded039f5e0fb Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 31 Jan 2015 23:44:20 +0100 Subject: 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 77b83c36..73c594cd 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 -- cgit v1.2.3 From 522841c77e8ace6045cb10f9387d514179d05aeb Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 1 Feb 2015 12:01:04 +0100 Subject: 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 78d56612..9356deda 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 56323516..784ac198 100644 Binary files a/themes/baggy/fonts/icomoon.eot and b/themes/baggy/fonts/icomoon.eot differ diff --git a/themes/baggy/fonts/icomoon.svg b/themes/baggy/fonts/icomoon.svg index b4586136..2e2f16f7 100644 --- a/themes/baggy/fonts/icomoon.svg +++ b/themes/baggy/fonts/icomoon.svg @@ -1,41 +1,38 @@ - - -{ - "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 bb1f21f8..b4fb95bc 100644 Binary files a/themes/baggy/fonts/icomoon.ttf and b/themes/baggy/fonts/icomoon.ttf differ diff --git a/themes/baggy/fonts/icomoon.woff b/themes/baggy/fonts/icomoon.woff index bab13779..158108f1 100644 Binary files a/themes/baggy/fonts/icomoon.woff and b/themes/baggy/fonts/icomoon.woff differ diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig index d84c3f35..93d2815b 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 %} -- cgit v1.2.3 From 89637c2a1dcc114b17a8f7eef493b51315e1a6ac Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 1 Feb 2015 12:22:14 +0100 Subject: 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 fb74ab9a..f9928145 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 9356deda..90d546fc 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"; } -- cgit v1.2.3 From 23423f8d69722ae7135d3a78dfe97569dfc1776a Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 1 Feb 2015 12:27:34 +0100 Subject: 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 abc96af8..8fe56397 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 %} -- cgit v1.2.3 From 96a3707895d4bb08c282176c5303fe38885f7de0 Mon Sep 17 00:00:00 2001 From: Terence Eden Date: Mon, 2 Feb 2015 15:37:08 +0000 Subject: 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 00000000..c6678458 Binary files /dev/null and b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo differ 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 00000000..e6c558dc --- /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:" -- cgit v1.2.3 From 976d6935edcb60c645b92a44fa8c040891dd2fc4 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 4 Feb 2015 22:18:13 +0100 Subject: 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 892af241..8fdc998c 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')) { -- cgit v1.2.3 From 1c91178932cd5b48d793261c6631697186853a93 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 4 Feb 2015 23:37:37 +0100 Subject: 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 f9928145..a601f0a8 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 a8d00b89..709831d5 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 a5a61559..95e09734 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 bac563cf..87f964c9 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" %}

    -- cgit v1.2.3 From 571b99e8045ab45bfa04bbc2a90dc566dba59452 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 4 Feb 2015 23:50:33 +0100 Subject: 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 aaaf12a6..91b50c24 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 0a8380de..473e3695 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 be8bf99e..87371d13 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 %} -- cgit v1.2.3 From 5e26c9102450cdf4e635fc401b88e293402fca25 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 5 Feb 2015 00:05:43 +0100 Subject: renamed wallabag_compatibility_test since it doesn't do that anymore --- install/index.php | 2 +- install/install_functions.php | 88 +++++++++++++++++++++++++++++++++ install/wallabag_compatibility_test.php | 88 --------------------------------- 3 files changed, 89 insertions(+), 89 deletions(-) create mode 100644 install/install_functions.php delete mode 100644 install/wallabag_compatibility_test.php diff --git a/install/index.php b/install/index.php index 8fdc998c..30bc2f6b 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/install_functions.php b/install/install_functions.php new file mode 100644 index 00000000..3b465851 --- /dev/null +++ b/install/install_functions.php @@ -0,0 +1,88 @@ + + * @copyright 2013 + * @license http://opensource.org/licenses/MIT see COPYING file + */ + +function status() { +$app_name = 'wallabag'; + +$php_ok = (function_exists('version_compare') && version_compare(phpversion(), '5.3.3', '>=')); +$pdo_ok = class_exists('PDO'); +$pcre_ok = extension_loaded('pcre'); +$zlib_ok = extension_loaded('zlib'); +$mbstring_ok = extension_loaded('mbstring'); +$dom_ok = extension_loaded('DOM'); +$iconv_ok = extension_loaded('iconv'); +$tidy_ok = function_exists('tidy_parse_string'); +$curl_ok = function_exists('curl_exec'); +$parse_ini_ok = function_exists('parse_ini_file'); +$parallel_ok = ((extension_loaded('http') && class_exists('HttpRequestPool')) || ($curl_ok && function_exists('curl_multi_init'))); +$allow_url_fopen_ok = (bool)ini_get('allow_url_fopen'); +$filter_ok = extension_loaded('filter'); +$gettext_ok = function_exists("gettext"); +$gd_ok = extension_loaded('gd'); +$pdo_drivers_passing = extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql'); + +if (extension_loaded('xmlreader')) { + $xml_ok = true; +} elseif (extension_loaded('xml')) { + $parser_check = xml_parser_create(); + xml_parse_into_struct($parser_check, '&', $values); + xml_parser_free($parser_check); + $xml_ok = isset($values[0]['value']); +} else { + $xml_ok = false; +} + +$status = array('app_name' => $app_name, 'php' => $php_ok, 'pdo' => $pdo_ok, 'pdo_drivers_passing' => $pdo_drivers_passing, 'xml' => $xml_ok, 'pcre' => $pcre_ok, 'zlib' => $zlib_ok, 'mbstring' => $mbstring_ok, 'dom' => $dom_ok, 'iconv' => $iconv_ok, 'tidy' => $tidy_ok, 'curl' => $curl_ok, 'parse_ini' => $parse_ini_ok, 'parallel' => $parallel_ok, 'allow_url_fopen' => $allow_url_fopen_ok, 'filter' => $filter_ok, 'gettext' => $gettext_ok, 'gd' => $gd_ok); + +return $status; +} +function isOkay() { + return !in_array(false, status()); +} + +function isPassing() { + $status = status(); + unset($status['curl'], $status['parallel'], $status['tidy'], $status['gd'], $status['filter']); + 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 diff --git a/install/wallabag_compatibility_test.php b/install/wallabag_compatibility_test.php deleted file mode 100644 index 3b465851..00000000 --- a/install/wallabag_compatibility_test.php +++ /dev/null @@ -1,88 +0,0 @@ - - * @copyright 2013 - * @license http://opensource.org/licenses/MIT see COPYING file - */ - -function status() { -$app_name = 'wallabag'; - -$php_ok = (function_exists('version_compare') && version_compare(phpversion(), '5.3.3', '>=')); -$pdo_ok = class_exists('PDO'); -$pcre_ok = extension_loaded('pcre'); -$zlib_ok = extension_loaded('zlib'); -$mbstring_ok = extension_loaded('mbstring'); -$dom_ok = extension_loaded('DOM'); -$iconv_ok = extension_loaded('iconv'); -$tidy_ok = function_exists('tidy_parse_string'); -$curl_ok = function_exists('curl_exec'); -$parse_ini_ok = function_exists('parse_ini_file'); -$parallel_ok = ((extension_loaded('http') && class_exists('HttpRequestPool')) || ($curl_ok && function_exists('curl_multi_init'))); -$allow_url_fopen_ok = (bool)ini_get('allow_url_fopen'); -$filter_ok = extension_loaded('filter'); -$gettext_ok = function_exists("gettext"); -$gd_ok = extension_loaded('gd'); -$pdo_drivers_passing = extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql'); - -if (extension_loaded('xmlreader')) { - $xml_ok = true; -} elseif (extension_loaded('xml')) { - $parser_check = xml_parser_create(); - xml_parse_into_struct($parser_check, '&', $values); - xml_parser_free($parser_check); - $xml_ok = isset($values[0]['value']); -} else { - $xml_ok = false; -} - -$status = array('app_name' => $app_name, 'php' => $php_ok, 'pdo' => $pdo_ok, 'pdo_drivers_passing' => $pdo_drivers_passing, 'xml' => $xml_ok, 'pcre' => $pcre_ok, 'zlib' => $zlib_ok, 'mbstring' => $mbstring_ok, 'dom' => $dom_ok, 'iconv' => $iconv_ok, 'tidy' => $tidy_ok, 'curl' => $curl_ok, 'parse_ini' => $parse_ini_ok, 'parallel' => $parallel_ok, 'allow_url_fopen' => $allow_url_fopen_ok, 'filter' => $filter_ok, 'gettext' => $gettext_ok, 'gd' => $gd_ok); - -return $status; -} -function isOkay() { - return !in_array(false, status()); -} - -function isPassing() { - $status = status(); - unset($status['curl'], $status['parallel'], $status['tidy'], $status['gd'], $status['filter']); - 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 -- cgit v1.2.3 From fde4cf0616e68d7b94f0991c1fcb434de4567c17 Mon Sep 17 00:00:00 2001 From: Eric Priou aka erixtekila Date: Thu, 5 Feb 2015 14:19:03 +0100 Subject: Fix fetched entries when localized --- inc/poche/Database.class.php | 4 ++-- inc/poche/Poche.class.php | 28 +++++++++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index f6ba4708..6bac0f5d 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 a601f0a8..d096de91 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')); - - // 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.'); + 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 + + $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']); + } } } } -- cgit v1.2.3 From d0ea3544cad2ce4f1d0193d6d7bbda80eabadf91 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 5 Feb 2015 17:04:14 +0100 Subject: add evernote icon --- themes/_global/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 00000000..1336648c --- /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 90d546fc..54622cfc 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 784ac198..3d4d14ae 100644 Binary files a/themes/baggy/fonts/icomoon.eot and b/themes/baggy/fonts/icomoon.eot differ diff --git a/themes/baggy/fonts/icomoon.svg b/themes/baggy/fonts/icomoon.svg index 2e2f16f7..19fcfa1f 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 b4fb95bc..923f56d8 100644 Binary files a/themes/baggy/fonts/icomoon.ttf and b/themes/baggy/fonts/icomoon.ttf differ diff --git a/themes/baggy/fonts/icomoon.woff b/themes/baggy/fonts/icomoon.woff index 158108f1..a2e86d36 100644 Binary files a/themes/baggy/fonts/icomoon.woff and b/themes/baggy/fonts/icomoon.woff differ diff --git a/themes/baggy/view.twig b/themes/baggy/view.twig index 473e3695..0d0a4438 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 666c4a28..39a4df90 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; -- cgit v1.2.3 From 7f31a3ed243a9a681b946dfc245178d60d1ac123 Mon Sep 17 00:00:00 2001 From: Vincent Malley Date: Sun, 8 Feb 2015 15:58:24 -0500 Subject: 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 90207862..f11b7b42 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 -- cgit v1.2.3 From c76211de3f8ab9ecea85e1b7df9eec1b64446858 Mon Sep 17 00:00:00 2001 From: Vincent Malley Date: Sun, 8 Feb 2015 17:21:29 -0500 Subject: 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 00000000..3f1a8405 --- /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 -- cgit v1.2.3 From 3250b6a7a7e1852a7f16a7d9e5164a536472a8c7 Mon Sep 17 00:00:00 2001 From: Vincent Malley Date: Sun, 8 Feb 2015 18:46:49 -0500 Subject: 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 00000000..61e0087f --- /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 -- cgit v1.2.3 From 8d7ec54658cfe94cd7cab0f5979afcec962188f5 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 10 Feb 2015 00:32:38 +0100 Subject: 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 30bc2f6b..1f11413a 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 3b465851..4a18d7d8 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 -- cgit v1.2.3 From 11ef4de52d387ef2a93bd9bbaf00b745f2bbf3e4 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 10 Feb 2015 01:14:28 +0100 Subject: 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 1f11413a..bd9e502d 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.
    +