From 06fef4318047ed8594ba0533ab228ee5838cd86f Mon Sep 17 00:00:00 2001 From: NumEricR Date: Sat, 5 Oct 2013 10:51:25 +0200 Subject: [PATCH 01/24] Fix #255 : increase article toolbar height if necessary --- themes/default/css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/default/css/style.css b/themes/default/css/style.css index eb04f0c48..3ef9c8236 100644 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css @@ -188,7 +188,7 @@ a:visited { bottom: 0; left: 0; width: 100%; - height: 50px; + min-height: 50px; padding-top: 17px; text-align: center; color: #fff; From 89812ec81cf77af32942d151372a8667c716fe30 Mon Sep 17 00:00:00 2001 From: NumEricR Date: Sat, 5 Oct 2013 10:52:08 +0200 Subject: [PATCH 02/24] Remove useless filter on .git folder --- inc/poche/Poche.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 1ba8e7c14..1a6553866 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -258,7 +258,7 @@ class Poche while (($theme = readdir($handle)) !== false) { # Themes are stored in a directory, so all directory names are themes # @todo move theme installation data to database - if (! is_dir(THEME . '/' . $theme) || in_array($theme, array('..', '.', '.git'))) { + if (! is_dir(THEME . '/' . $theme) || in_array($theme, array('..', '.'))) { continue; } From 2287bf06f533e1dc03979d3945af098601963712 Mon Sep 17 00:00:00 2001 From: NumEricR Date: Sat, 5 Oct 2013 11:03:41 +0200 Subject: [PATCH 03/24] Sort themes alphabetically in config list --- inc/poche/Poche.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 1a6553866..6325adcf2 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -271,6 +271,7 @@ class Poche $themes[] = array('name' => $theme, 'current' => $current); } + sort($themes); return $themes; } From 125f9ee83842cd6ad6cfcbcbfcaa951ec0396733 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Saad-Dupuy Date: Mon, 7 Oct 2013 12:30:40 +0200 Subject: [PATCH 04/24] Added support for custom ssl port --- inc/poche/Tools.class.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php index 8eb988f46..6f2bc6e72 100644 --- a/inc/poche/Tools.class.php +++ b/inc/poche/Tools.class.php @@ -41,10 +41,14 @@ class Tools $https = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) == 'on')) || (isset($_SERVER["SERVER_PORT"]) - && $_SERVER["SERVER_PORT"] == '443'); // HTTPS detection. + && $_SERVER["SERVER_PORT"] == '443') // HTTPS detection. + || (isset($_SERVER["SERVER_PORT"]) && isset($SSL_PORT) //Custom HTTPS port detection + && $_SERVER["SERVER_PORT"] == $SSL_PORT); + $serverport = (!isset($_SERVER["SERVER_PORT"]) || $_SERVER["SERVER_PORT"] == '80' || ($https && $_SERVER["SERVER_PORT"] == '443') + || ($https && $_SERVER["SERVER_PORT"]==$SSL_PORT) //Custom HTTPS port detection ? '' : ':' . $_SERVER["SERVER_PORT"]); $scriptname = str_replace('/index.php', '/', $_SERVER["SCRIPT_NAME"]); @@ -243,4 +247,4 @@ class Tools $lang = explode('.', $userlanguage); return str_replace('_', '-', $lang[0]); } -} \ No newline at end of file +} From 93eed125058574ef407e2edede6740629f7f0a43 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Saad-Dupuy Date: Mon, 7 Oct 2013 12:31:46 +0200 Subject: [PATCH 05/24] Fixed typo --- themes/default/_head.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/default/_head.twig b/themes/default/_head.twig index dfebd91d6..9745459c4 100644 --- a/themes/default/_head.twig +++ b/themes/default/_head.twig @@ -8,4 +8,4 @@ - + From 2621569200cfc85f2dd6fb77481c9531942c0642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 7 Oct 2013 12:39:11 +0200 Subject: [PATCH 06/24] missing } --- themes/default/_head.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/default/_head.twig b/themes/default/_head.twig index dfebd91d6..9745459c4 100644 --- a/themes/default/_head.twig +++ b/themes/default/_head.twig @@ -8,4 +8,4 @@ - + From 2916d24b209e1e36cf22cb902d7e6dc34113c7e5 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Saad-Dupuy Date: Mon, 7 Oct 2013 12:47:13 +0200 Subject: [PATCH 07/24] Added support for custom SSL port --- inc/poche/Tools.class.php | 6 +++--- inc/poche/config.inc.php.new | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php index 6f2bc6e72..1d092823f 100644 --- a/inc/poche/Tools.class.php +++ b/inc/poche/Tools.class.php @@ -42,13 +42,13 @@ class Tools && (strtolower($_SERVER['HTTPS']) == 'on')) || (isset($_SERVER["SERVER_PORT"]) && $_SERVER["SERVER_PORT"] == '443') // HTTPS detection. - || (isset($_SERVER["SERVER_PORT"]) && isset($SSL_PORT) //Custom HTTPS port detection - && $_SERVER["SERVER_PORT"] == $SSL_PORT); + || (isset($_SERVER["SERVER_PORT"]) //Custom HTTPS port detection + && $_SERVER["SERVER_PORT"] == SSL_PORT); $serverport = (!isset($_SERVER["SERVER_PORT"]) || $_SERVER["SERVER_PORT"] == '80' || ($https && $_SERVER["SERVER_PORT"] == '443') - || ($https && $_SERVER["SERVER_PORT"]==$SSL_PORT) //Custom HTTPS port detection + || ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection ? '' : ':' . $_SERVER["SERVER_PORT"]); $scriptname = str_replace('/index.php', '/', $_SERVER["SCRIPT_NAME"]); diff --git a/inc/poche/config.inc.php.new b/inc/poche/config.inc.php.new index 255b97e6c..902509e3d 100755 --- a/inc/poche/config.inc.php.new +++ b/inc/poche/config.inc.php.new @@ -25,6 +25,9 @@ define ('STORAGE_PASSWORD', 'poche'); # Do not trespass unless you know what you are doing ################################################################################# +// Change this if not using the standart port for SSL - i.e you server is behind sslh +define ('SSL_PORT', 443); + define ('MODE_DEMO', FALSE); define ('DEBUG_POCHE', FALSE); define ('DOWNLOAD_PICTURES', FALSE); @@ -57,4 +60,4 @@ define ('INSTAPAPER_FILE', '/instapaper-export.html'); define ('IMPORT_POCKET_FILE', ROOT . POCKET_FILE); define ('IMPORT_READABILITY_FILE', ROOT . READABILITY_FILE); -define ('IMPORT_INSTAPAPER_FILE', ROOT . INSTAPAPER_FILE); \ No newline at end of file +define ('IMPORT_INSTAPAPER_FILE', ROOT . INSTAPAPER_FILE); From 5eebe4e50dd5da7e87e98c366205ed3266348603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 7 Oct 2013 13:06:10 +0200 Subject: [PATCH 08/24] delete href --- themes/default/_head.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/default/_head.twig b/themes/default/_head.twig index 9745459c4..247b929eb 100644 --- a/themes/default/_head.twig +++ b/themes/default/_head.twig @@ -8,4 +8,4 @@ - + From 9d3b88b3796496b68e762d50904a7ab609edc9c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 7 Oct 2013 13:12:28 +0200 Subject: [PATCH 09/24] bug fix #266: make installation steps easier --- inc/poche/Poche.class.php | 85 ++++++++++++++++++++------------------- index.php | 7 +++- themes/default/error.twig | 9 ++++- 3 files changed, 57 insertions(+), 44 deletions(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 1ba8e7c14..899d73567 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -20,7 +20,7 @@ class Poche public $pagination; private $currentTheme = ''; - private $notInstalledMessage = ''; + private $notInstalledMessage = array(); # @todo make this dynamic (actually install themes and save them in the database including author information et cetera) private $installedThemes = array( @@ -33,28 +33,21 @@ class Poche public function __construct() { - if (! $this->configFileIsAvailable()) { - return; + if ($this->configFileIsAvailable()) { + $this->init(); } - $this->init(); - - if (! $this->themeIsInstalled()) { - return; + if ($this->themeIsInstalled()) { + $this->initTpl(); } - $this->initTpl(); - - if (! $this->systemIsInstalled()) { - return; - } - - $this->store = new Database(); - $this->messages = new Messages(); - - # installation - if (! $this->store->isInstalled()) { - $this->install(); + if ($this->systemIsInstalled()) { + $this->store = new Database(); + $this->messages = new Messages(); + # installation + if (! $this->store->isInstalled()) { + $this->install(); + } } } @@ -94,7 +87,7 @@ class Poche public function configFileIsAvailable() { if (! self::$configFileAvailable) { - $this->notInstalledMessage = 'You have to rename inc/poche/config.inc.php.new to inc/poche/config.inc.php.'; + $this->notInstalledMessage[] = 'You have to rename inc/poche/config.inc.php.new to inc/poche/config.inc.php.'; return false; } @@ -103,39 +96,44 @@ class Poche } public function themeIsInstalled() { + $passTheme = TRUE; # Twig is an absolute requirement for Poche to function. Abort immediately if the Composer installer hasn't been run yet if (! self::$canRenderTemplates) { - $this->notInstalledMessage = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. Have a look at the documentation.'; - - return false; + $this->notInstalledMessage[] = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. Have a look at the documentation.'; + $passTheme = FALSE; } if (! is_writable(CACHE)) { - $this->notInstalledMessage = '

error

You don\'t have write access on cache directory.

'; + $this->notInstalledMessage[] = 'You don\'t have write access on cache directory.'; self::$canRenderTemplates = false; - return false; + $passTheme = FALSE; } # Check if the selected theme and its requirements are present - if (! is_dir(THEME . '/' . $this->getTheme())) { - $this->notInstalledMessage = 'The currently selected theme (' . $this->getTheme() . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $this->getTheme() . ')'; + if ($this->getTheme() != '' && ! is_dir(THEME . '/' . $this->getTheme())) { + $this->notInstalledMessage[] = 'The currently selected theme (' . $this->getTheme() . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $this->getTheme() . ')'; self::$canRenderTemplates = false; - return false; + $passTheme = FALSE; } foreach ($this->installedThemes[$this->getTheme()]['requires'] as $requiredTheme) { if (! is_dir(THEME . '/' . $requiredTheme)) { - $this->notInstalledMessage = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $this->getTheme() . ')'; + $this->notInstalledMessage[] = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $this->getTheme() . ')'; self::$canRenderTemplates = false; - return false; + $passTheme = FALSE; } } + + if (!$passTheme) { + return FALSE; + } + return true; } @@ -147,25 +145,30 @@ class Poche */ public function systemIsInstalled() { - $msg = ''; + $msg = TRUE; $configSalt = defined('SALT') ? constant('SALT') : ''; if (empty($configSalt)) { - $msg = '

error

You have not yet filled in the SALT value in the config.inc.php file.

'; - } else if (STORAGE == 'sqlite' && ! file_exists(STORAGE_SQLITE)) { + $this->notInstalledMessage[] = 'You have not yet filled in the SALT value in the config.inc.php file.'; + $msg = FALSE; + } + if (STORAGE == 'sqlite' && ! file_exists(STORAGE_SQLITE)) { Tools::logm('sqlite file doesn\'t exist'); - $msg = '

error

sqlite file doesn\'t exist, you can find it in install folder. Copy it in /db folder.

'; - } else if (is_dir(ROOT . '/install') && ! DEBUG_POCHE) { - $msg = '

install folder

you have to delete the /install folder before using poche.

'; - } else if (STORAGE == 'sqlite' && ! is_writable(STORAGE_SQLITE)) { + $this->notInstalledMessage[] = 'sqlite file doesn\'t exist, you can find it in install folder. Copy it in /db folder.'; + $msg = FALSE; + } + if (is_dir(ROOT . '/install') && ! DEBUG_POCHE) { + $this->notInstalledMessage[] = 'you have to delete the /install folder before using poche.'; + $msg = FALSE; + } + if (STORAGE == 'sqlite' && ! is_writable(STORAGE_SQLITE)) { Tools::logm('you don\'t have write access on sqlite file'); - $msg = '

error

You don\'t have write access on sqlite file.

'; + $this->notInstalledMessage[] = 'You don\'t have write access on sqlite file.'; + $msg = FALSE; } - if (! empty($msg)) { - $this->notInstalledMessage = $msg; - + if (! $msg) { return false; } diff --git a/index.php b/index.php index 4aebfe10a..f1953c2cc 100644 --- a/index.php +++ b/index.php @@ -35,7 +35,12 @@ $tpl_vars = array( if (! empty($notInstalledMessage)) { if (! Poche::$canRenderTemplates || ! Poche::$configFileAvailable) { # We cannot use Twig to display the error message - die($notInstalledMessage); + echo '

Errors

    '; + foreach ($notInstalledMessage as $message) { + echo '
  1. ' . $message . '
  2. '; + } + echo '
'; + die(); } else { # Twig is installed, put the error message in the template $tpl_file = Tools::getTplFile('error'); diff --git a/themes/default/error.twig b/themes/default/error.twig index c829d12bb..99eb1ed65 100644 --- a/themes/default/error.twig +++ b/themes/default/error.twig @@ -1,6 +1,11 @@ {% extends "layout.twig" %} {% block title %}{% trans "plop" %}{% endblock %} {% block content %} - {{ msg|raw }} -

Don't forget the documentation.

+

Errors

+
    + {% for message in msg %} +
  1. {{message}}
  2. + {% endfor %} +
+

Don't forget the documentation.

{% endblock %} \ No newline at end of file From 031df528b611a5c6639c0d86636633da098d8aa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 7 Oct 2013 13:19:34 +0200 Subject: [PATCH 10/24] bug fix #268: move POCHE_VERSION in index.php and change the name to avoid conflicts when updating --- inc/poche/Poche.class.php | 4 +- inc/poche/config.inc.php.new | 2 - index.php | 1 + install/update_sqlite_from_0_to_1.php | 72 ------------------------ install/update_to_1beta3.php | 79 --------------------------- themes/default/_footer.twig | 2 +- themes/default/config.twig | 4 +- 7 files changed, 6 insertions(+), 158 deletions(-) delete mode 100644 install/update_sqlite_from_0_to_1.php delete mode 100644 install/update_to_1beta3.php diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 899d73567..245f6a138 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -366,8 +366,8 @@ class Poche case 'config': $dev = $this->getPocheVersion('dev'); $prod = $this->getPocheVersion('prod'); - $compare_dev = version_compare(POCHE_VERSION, $dev); - $compare_prod = version_compare(POCHE_VERSION, $prod); + $compare_dev = version_compare(POCHE, $dev); + $compare_prod = version_compare(POCHE, $prod); $themes = $this->getInstalledThemes(); $tpl_vars = array( 'themes' => $themes, diff --git a/inc/poche/config.inc.php.new b/inc/poche/config.inc.php.new index 255b97e6c..99223c785 100755 --- a/inc/poche/config.inc.php.new +++ b/inc/poche/config.inc.php.new @@ -49,8 +49,6 @@ define ('CACHE', ROOT . '/cache'); define ('PAGINATION', '10'); -define ('POCHE_VERSION', '1.0.0'); - define ('POCKET_FILE', '/ril_export.html'); define ('READABILITY_FILE', '/readability'); define ('INSTAPAPER_FILE', '/instapaper-export.html'); diff --git a/index.php b/index.php index f1953c2cc..22696c6fd 100644 --- a/index.php +++ b/index.php @@ -8,6 +8,7 @@ * @license http://www.wtfpl.net/ see COPYING file */ +define ('POCHE', '1.0.0'); require_once 'inc/poche/global.inc.php'; # Start Poche diff --git a/install/update_sqlite_from_0_to_1.php b/install/update_sqlite_from_0_to_1.php deleted file mode 100644 index 299abf48d..000000000 --- a/install/update_sqlite_from_0_to_1.php +++ /dev/null @@ -1,72 +0,0 @@ -setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - -# Requêtes à exécuter pour mettre à jour poche.sqlite en 1.x - -# ajout d'un champ user_id sur la table entries -$sql = 'ALTER TABLE entries RENAME TO tempEntries;'; -$query = $handle->prepare($sql); -$query->execute(); - -$sql = 'CREATE TABLE entries (id INTEGER PRIMARY KEY, title TEXT, url TEXT, is_read NUMERIC DEFAULT 0, is_fav NUMERIC DEFAULT 0, content BLOB, user_id NUMERIC);'; -$query = $handle->prepare($sql); -$query->execute(); - -$sql = 'INSERT INTO entries (id, title, url, is_read, is_fav, content) SELECT id, title, url, is_read, is_fav, content FROM tempEntries;'; -$query = $handle->prepare($sql); -$query->execute(); - -# Update tout pour mettre user_id = 1 -$sql = 'UPDATE entries SET user_id = 1;'; -$query = $handle->prepare($sql); -$query->execute(); - -# Changement des flags pour les lus / favoris -$sql = 'UPDATE entries SET is_read = 1 WHERE is_read = -1;'; -$query = $handle->prepare($sql); -$query->execute(); - -$sql = 'UPDATE entries SET is_fav = 1 WHERE is_fav = -1;'; -$query = $handle->prepare($sql); -$query->execute(); - -# Création de la table users -$sql = 'CREATE TABLE users (id INTEGER PRIMARY KEY, username TEXT, password TEXT, name TEXT, email TEXT);'; -$query = $handle->prepare($sql); -$query->execute(); - -$sql = 'INSERT INTO users (username) SELECT value FROM config WHERE name = "login";'; -$query = $handle->prepare($sql); -$query->execute(); - -$sql = "UPDATE users SET password = (SELECT value FROM config WHERE name = 'password')"; -$query = $handle->prepare($sql); -$query->execute(); - -# Création de la table users_config -$sql = 'CREATE TABLE users_config (id INTEGER PRIMARY KEY, user_id NUMERIC, name TEXT, value TEXT);'; -$query = $handle->prepare($sql); -$query->execute(); - -$sql = 'INSERT INTO users_config (user_id, name, value) VALUES (1, "pager", "10");'; -$query = $handle->prepare($sql); -$query->execute(); - -$sql = 'INSERT INTO users_config (user_id, name, value) VALUES (1, "language", "en_EN.UTF8");'; -$query = $handle->prepare($sql); -$query->execute(); - -# Suppression de la table temporaire -$sql = 'DROP TABLE tempEntries;'; -$query = $handle->prepare($sql); -$query->execute(); - -# Vidage de la table de config -$sql = 'DELETE FROM config;'; -$query = $handle->prepare($sql); -$query->execute(); - -echo 'welcome to poche 1.0 !'; \ No newline at end of file diff --git a/install/update_to_1beta3.php b/install/update_to_1beta3.php deleted file mode 100644 index e0da1590d..000000000 --- a/install/update_to_1beta3.php +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - updating poche - - -

update poche to 1.0-beta3

- -

Changelog

-

-

    -
  • this awesome updating step
  • -
  • error message when install folder exists
  • -
  • more tests before installation (write access, etc.)
  • -
  • updated README to make installation easier
  • -
  • german language thanks to HLFH
  • -
  • spanish language thanks to Nitche
  • -
  • new file ./inc/poche/myconfig.inc.php created to store language and salt
  • -
  • #119: salt is now created when installing poche
  • -
  • #130: robots.txt added
  • -
  • #136: error during readability import
  • -
  • #137: mixed content alert in https
  • -
  • #138: change pattern to parse url with #
  • -
-

-

To update your poche, please fill the following fields.

-

-

-
-
-
-
-

-login($_POST['login'], sha1($_POST['password'] . $_POST['login'] . $old_salt)); - if ($user != array()) { - $new_salt = md5(time() . $_SERVER['SCRIPT_FILENAME'] . rand()); - $myconfig_file = '../inc/poche/myconfig.inc.php'; - if (!is_writable('../inc/poche/')) { - die('You don\'t have write access to create ./inc/poche/myconfig.inc.php.'); - } - - if (!file_exists($myconfig_file)) - { - $fp = fopen($myconfig_file, 'w'); - - fwrite($fp, 'updatePassword($user['id'], sha1($_POST['password'] . $_POST['login'] . $new_salt)); -?> -

your poche is up to date!

-

don't forget to delete ./install/ folder after the update.

-

go back to your poche

- - - \ No newline at end of file diff --git a/themes/default/_footer.twig b/themes/default/_footer.twig index 2b8958549..06148a57c 100644 --- a/themes/default/_footer.twig +++ b/themes/default/_footer.twig @@ -1,4 +1,4 @@

{% trans "powered by" %} poche

- {% if constant('DEBUG_POCHE') == 1 %}

{% trans "debug mode is on so cache is off." %} {% trans "your poche version:" %}{{constant('POCHE_VERSION')}}. {% trans "storage:" %} {{constant('STORAGE')}}

{% endif %} + {% if constant('DEBUG_POCHE') == 1 %}

{% trans "debug mode is on so cache is off." %} {% trans "your poche version:" %}{{constant('POCHE')}}. {% trans "storage:" %} {{constant('STORAGE')}}

{% endif %}
\ No newline at end of file diff --git a/themes/default/config.twig b/themes/default/config.twig index 0f1aea80b..af8ff8ca7 100644 --- a/themes/default/config.twig +++ b/themes/default/config.twig @@ -5,7 +5,7 @@ {% include '_menu.twig' %} {% endblock %} {% block content %} -

{% trans "Poching a link" %}

+

{% trans "Poching a link" %}

F

{% trans "You can poche a link by several methods:" %} (?)

  • firefox: {% trans "download the extension" %}
  • @@ -23,7 +23,7 @@

    {% trans "Updating poche" %}

    From 894c36ea32d38d425e27dae43a29dcd9e669040e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 7 Oct 2013 14:00:45 +0200 Subject: [PATCH 11/24] what this f* F? --- themes/default/config.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/default/config.twig b/themes/default/config.twig index af8ff8ca7..13bdaafd9 100644 --- a/themes/default/config.twig +++ b/themes/default/config.twig @@ -5,7 +5,7 @@ {% include '_menu.twig' %} {% endblock %} {% block content %} -

    {% trans "Poching a link" %}

    F +

    {% trans "Poching a link" %}

    {% trans "You can poche a link by several methods:" %} (?)

    • firefox: {% trans "download the extension" %}
    • @@ -77,4 +77,4 @@

      {% trans "Export your poche datas" %}

      {% trans "Click here" %} {% trans "to export your poche datas." %}

      -{% endblock %} \ No newline at end of file +{% endblock %} From 5011388f39432f810e397a60d9b200faba6c868b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 7 Oct 2013 14:26:25 +0200 Subject: [PATCH 12/24] bug fix #215: change language from config screen --- inc/poche/Poche.class.php | 77 ++++++++++++++++++++++++++++++++++++++ index.php | 3 ++ themes/default/config.twig | 19 ++++++++++ 3 files changed, 99 insertions(+) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 245f6a138..5299e374b 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -20,6 +20,7 @@ class Poche public $pagination; private $currentTheme = ''; + private $currentLanguage = ''; private $notInstalledMessage = array(); # @todo make this dynamic (actually install themes and save them in the database including author information et cetera) @@ -83,6 +84,15 @@ class Poche } $this->currentTheme = $themeDirectory; + + # Set up language + $languageDirectory = $this->user->getConfigValue('language'); + + if ($languageDirectory === false) { + $languageDirectory = DEFAULT_THEME; + } + + $this->currentLanguage = $languageDirectory; } public function configFileIsAvailable() { @@ -253,6 +263,10 @@ class Poche public function getTheme() { return $this->currentTheme; } + + public function getLanguage() { + return $this->currentLanguage; + } public function getInstalledThemes() { $handle = opendir(THEME); @@ -277,6 +291,29 @@ class Poche return $themes; } + public function getInstalledLanguages() { + $handle = opendir(LOCALE); + $languages = array(); + + while (($language = readdir($handle)) !== false) { + # Languages are stored in a directory, so all directory names are languages + # @todo move language installation data to database + if (! is_dir(LOCALE . '/' . $language) || in_array($language, array('..', '.'))) { + continue; + } + + $current = false; + + if ($language === $this->getLanguage()) { + $current = true; + } + + $languages[] = array('name' => $language, 'current' => $current); + } + + return $languages; + } + public function getDefaultConfig() { return array( @@ -369,8 +406,10 @@ class Poche $compare_dev = version_compare(POCHE, $dev); $compare_prod = version_compare(POCHE, $prod); $themes = $this->getInstalledThemes(); + $languages = $this->getInstalledLanguages(); $tpl_vars = array( 'themes' => $themes, + 'languages' => $languages, 'dev' => $dev, 'prod' => $prod, 'compare_dev' => $compare_dev, @@ -495,6 +534,44 @@ class Poche Tools::redirect('?view=config'); } + public function updateLanguage() + { + # no data + if (empty($_POST['language'])) { + } + + # we are not going to change it to the current language... + if ($_POST['language'] == $this->getLanguage()) { + $this->messages->add('w', _('still using the "' . $this->getLanguage() . '" language!')); + Tools::redirect('?view=config'); + } + + $languages = $this->getInstalledLanguages(); + $actualLanguage = false; + + foreach ($languages as $language) { + if ($language['name'] == $_POST['language']) { + $actualLanguage = true; + break; + } + } + + if (! $actualLanguage) { + $this->messages->add('e', _('that language does not seem to be installed')); + Tools::redirect('?view=config'); + } + + $this->store->updateUserConfig($this->user->getId(), 'language', $_POST['language']); + $this->messages->add('s', _('you have changed your language preferences')); + + $currentConfig = $_SESSION['poche_user']->config; + $currentConfig['language'] = $_POST['language']; + + $_SESSION['poche_user']->setConfig($currentConfig); + + Tools::redirect('?view=config'); + } + /** * checks if login & password are correct and save the user in session. * it redirects the user to the $referer link diff --git a/index.php b/index.php index 22696c6fd..a64592702 100644 --- a/index.php +++ b/index.php @@ -67,7 +67,10 @@ if (isset($_GET['login'])) { $poche->export(); } elseif (isset($_GET['updatetheme'])) { $poche->updateTheme(); +} elseif (isset($_GET['updatelanguage'])) { + $poche->updateLanguage(); } + elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) { $plain_url = new Url(base64_encode($_GET['plainurl'])); $poche->action('add', $plain_url); diff --git a/themes/default/config.twig b/themes/default/config.twig index 13bdaafd9..23860ebda 100644 --- a/themes/default/config.twig +++ b/themes/default/config.twig @@ -47,6 +47,25 @@ +

      {% trans "Change your language" %}

      +
      +
      +
      + + +
      +
      + +
      +
      + + +
      +

      {% trans "Change your password" %}

      From 1e98ee1de08d319facfa4c74d87c51506c662b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 7 Oct 2013 14:56:21 +0200 Subject: [PATCH 13/24] bug fix: changing password was buggy --- inc/poche/Database.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index 0662581b9..5c40b026a 100644 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php @@ -108,8 +108,8 @@ class Database { public function updatePassword($userId, $password) { $sql_update = "UPDATE users SET password=? WHERE id=?"; - $params_update = array($password, $id); - $this->updateUserConfig($userId, 'password', $password); + $params_update = array($password, $userId); + $query = $this->executeQuery($sql_update, $params_update); } public function updateUserConfig($userId, $key, $value) { From 1745ebc832ce9a1be4cb23e7a10e65fae3d96411 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Saad-Dupuy Date: Tue, 8 Oct 2013 12:56:32 +0200 Subject: [PATCH 14/24] Added Roboto font from https://themes.googleusercontent.com/static/fonts/roboto/v9/2UX7WLTfW3W8TclTUvlFyQ.woff --- themes/default/fonts/Roboto.woff | Bin 0 -> 22172 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 themes/default/fonts/Roboto.woff diff --git a/themes/default/fonts/Roboto.woff b/themes/default/fonts/Roboto.woff new file mode 100644 index 0000000000000000000000000000000000000000..1440b1be64111bc184959ad9669fc0497a80f827 GIT binary patch literal 22172 zcmYgXb8v6J)Be=9ZR^&yZQHtadu!XaZQItZ+gsbV{r3C&>&?tF**s@=lSxiy_9SOr z<;BDRK!Bg3mIXlkug*dJY5$M;ul4_nn3#$z008v+hr|63W*HRP^2!WMKU~;PTm1(H z?IXnB#x{obKitj_Jbv)E1DrG2_>VIo005%%qx0)O;O_vdnAw}#{BTh}Iy^t~Fb(SiLRAOR@mzunD#xPJfu`y>Eh)E2{qPHbUnXaWH6yM80Q?*P0AdjUKyeUW94GtR z&iKbxe&c5xE&styQeVi%(Cud|ib+4d2>%1{Baor3p^fPe*YxAh_-9P}?7qq*_I6Ir z0DubSk6ri=4=;`ZieT?(`eUp5;~((&!)Mh4H7fkb|C`rI-h!DQ889i{#{6GBjXJ5} zmSt>UHfNaC*Y~%tk1KL9&EH=UUx-=XM8ep}zyM$f>DJfxz~?7OggvGLxZS+JU%+3Tb?f|NaK>`@^z@-5G^J`#W=4XHfE(VUs0erw1 z@Jb6yhl{x zWd=s2*Uu0{K^IXayDlIo09GNJOlb4F_M70F|KWS*8|oY8>+Ajf?Ya^|8~?Xg-ERLH z!~($sZ=EGpc=r5D7qTkA9y)>TYNn}A0R;@LnK8;2PjD@ zODs)JcQ8>hQ#4gp7dTlu8$4ZJZxCS;V-#g(Cm3lOYaDHEPY7`ea}0HMR|I(mI|6S2ogP|CM%DSjlL*1$aC@pS{V| z#L_>%a1Gj=4+li^WQI?jV5c@^d9%GgQ9MdzOw)Kgr>g?RV}ML!)PSJ?IWhq>KMP9@ z@Bm~2N&u69pLZO9_GJJ-1LXpsg4O-h(EvmcA^;3HD}W4w7=ZTk{AaCnOMB*e^m0N?=wfAa8VL49f_1U}e)g>b?Zht<-n{8KOfAqw`IqZ#plJo=S(6DAS#h zQylBuIoS3+AYM+YW%Vjg@o(RFC^ZLmYJ=1i%alUBboZx#U(*B%OaKLJ?W~EBW;>@E zQ$XCE8b;MEml4R|W=q#?$bE7)Kr@Cf!-T%UZ}53Feoh?Im&W0O#%pIKR*B z@^aQE!rr$3w|~=-=#or?M7Szqxx{No5@yrmuh#O~GOuCYXgRC8+PO!^yh>(0snm7% zNuei=Rt?SurzNPA8B#>|HrjKNmT@(0e5)Z-y4C3F4q7CqCAbu*bcTAwui&1VIXvhP$ch+iJt!djKxgFl}~aXw6z> zoh`Q2k`Zd!+BVj8R?SVHR?i*(=$D>`*IFZmLcS+ANDqjg&hL3=n_t~{pO>}H>qD1z94lj&um>`OleOcQu%~lbOm;Fs zQ6|~72;c}J`}k56P`=ah%!sem&9BBjz}}s!#oGG)@IVw;Q8DaXKhJ6>v$YjnmaTMT zD0cURc&t#iq(|#!$UW-fIz16ZZGCcajd4%BfOjLpc5=;hIOp3kwgx zDnP}v=9eU)bKq$U4bWC=!K8zUrq*^p&R-3h)6-6+v%BtIRhlkKx#E3mk=msm(60wz zz%p1YegzhW{uSfr-YjlUScz|<~CIYOH13yF~wEcTUmqBsw4pUx_{G0Xg#%`IsmPv+o;5baB^u4 zjHqs3wiBzS!}2r~$lX|*r>2Dt9VTHO!<__~6;F|)lpogMUkJkupur^5XhGwM+E7`> z=wh{M<@yr*Sso8Lsw)D?=JP_+BDe59-g* zEjsO;<$?}++hlFh4LSD`>pvSeOPAuu#61K|q9pM9ULs~Xpp=*`1`(0&5;ms@E6;q^ ztqCopod-}7qixX!E#N}R-RQ;G^)k-+YX)hmxbxLRcyeP7=QTQd1QfY>*9ksuyq597 z$1r!!S;w=IyIRavIrL3y(Ym)wK1W+s_`Rsj6K|FwT}d< z7jx^=S5zeHAnU;;Yi~zy+h{(!$ZYpoXAnlo=VG@t9p*cf+W5NM*zkoArac@uynlh? zoNm(c`RJ>Vl1G;MoiB+C@T(1}>pdC40(%NOTQp4iu3AF( z7>zPC)+bO7Tb|(bb*DJlUu+pm(itbKN_hI%x{4!rhvaerE@ep*KogYmjtoFIRzg&> zAoRq5Eiu2+MbK%iI}suzPneqQ@@Bb#MF{h(aBfqW=41wB969J4`PRXsRQxi>T~w1CM;JbceAJ)>VD9GGod(qn`itYZ*ll zA!*?JwnVFnRCf!AaSB6Kd|x)t<@Ip;Yz&QYnMkeG?e%)aPLQ~spRosq9~|6Gl;AJs zr|5FI+R%2s(Z0^|)lUD$0qh{9MFwfn#7P384niiQVJnN8Bk<`d5z)+?m857n_wtq< zg5C5t{$<2+qnnuHPI4l{DU2-kD|D>wuMu}?fQ1Y6QC|ShQ*8_#od?6_knJD)DCcJD6(yzpvfsTL@#=_*YqXZQIT{=^vt^)4 znlXClw(%L}%AfV1%wsEkN8F|DL~25N=TuXvv*M$fRL}@) zVvEKY6C~vPTm9I)Bv#dw-sK}ih^$I8kuuAShr#{tmjfj*it~h!MSR%p-+dZ0dcBuP z@U+cA>D23)tac;v>MqB4HK~Es=*X1cS{+Yq2AYhn<9Do_cliYTog90tPJ5?ak*<8) zbo`BfE-P5UvdEPUy}|oB-t!6n!D!aMI+$InbyjIulj!vY?gd~a8ZhycD-I-dqG$I>#mqVF^|;D77LRC74B+-R$EJHoc^H8sFI zh2k497VM6l6$%9G9saMMO+bc(31dbvX+A-*5{}tYaY9FIUV(Eo&KOgdhbY=Uc#WyU?$7@jTA+3a*%cu zG|O-2E&AQ%C79DY@Frwv`HT;nN(1zzB6ogU){BAR5J&)=j7ZO_3Tjk~F#w5gW?p#> z<{KvE2P~x>jKxAHfcaNZ;GyoG^8<1PFb}emf2A1*f~B2^tR;7SyVo8Q+OYk8T5G+0 zD&IEMAD(Fxi%zT4DC#&QauxQAufxP5QI5dNEz>7ddtbr;cGoS*>B+C=p5EKt<=Dxt z&*Nd&b2$PyPBT54U#9PyvEfGjT4BhIix`-4DL&1z)Cl+UT}HWDIP+#_zalq?p-4eX z?0g~B^>ScPLRdx$(SBCauT!Eg8z_Cp1|{h^cz{M|^Ln3UoK4?pTOp+8$m~6I${~e) z`a!#>Pl`-?!64QS(eP+zIaQIdRot zn21OW+O0Opu#9?3-K&emN~~_!AWmb9?gv#fT*yS&Dp>}$16EO43Bt@wFpviH+K%iu75=(8WwfS zQh;M%oZO(4A$a2QZzd)gu_xnz_*OiGJ1_L6=ukC{wERTHII#A0N1`(;80QxjZ0bo2 zTmK^v4`>;kCn1OwRzG;NsbK6Pg*b@(w$YvbAstnEQY5Fks$M53hP9a7ZqS#la92ou zXnluwCivBOF$ojxxy(e1Cbs&Pl0Frb-HD3U;OPsJB7El@-mzUR82e41WT5bJyNa9b?k3g*_B(fuOHeTYLjJWYEw#H$ppo(+!DWcarFv2o zVN$H6tE=-ShG7y}-CN&ku*i%}$thKP1JcDn zjbe7_G^F4ja(T7q(UlwpKfi@=gVzgcRabj+JzI3pVvY*uY^Zh^m-;w%@h~;Gp7iO} z?E|*W+|Y9F;j`XxrMOY@ifSpqIn~ODx5&sb80j^p@ks|=0F*i{w4|H@JvNgv(-;8=TNHD#>UHe8}V3b<;VET|)Di`&^ z`H=buqJ3B4pEPl30#s14)%ylZPj8+xAWa}8*pG7}etYSU+@ErdzfmT#5ON!sCjrm! z_uBx2SPeP1+;AP#Y1=fa2L*PZ)HH*YyI@zVqlq-nWio3z&s7g$SAz>DPi$!{_s$i+ zRC1@$=CnCNxcErN?)F#a>NjNB4xBbF*)bIHORI$%U%=GE(bxKXqc~1#)}O5g6zl~v zA5Ez~tho0nZwGaw9xm18QZ_#52}EdV7fG>T4#Y{f0N=w7Y_JLnjKUvrJz){g&-i{v z>J60peg@-29#qc2(&`uY?#yu@mXRQuFNErkF|3^C!fUz5e_49QUz3IG zd-@sc*Wu_WEQRZZaPza8eOl)?AOQy=i^6ctLagnZ7*P)&+Y9pq^oZE;dpN&dZB8U4 zUlsD}gQD#Cp=z~5zbET=gnV+;VB*dI<9=D7K3lo3JQ%~bLi?8NGz`Fk4dN>q%NJu< zbxS7B<;JADeUOB3P(Zg;WZ#r5#3sdoO!r2RSwq>J`J3~NPH4q`9oLI@vxo3*LkPUa zp@|X9_U313drTh-6C_y6Kli&otyYy8@Lw8=@;`Y7%Qqv8H{=?0H)tA$1XzYQmk=)p zY#s#Y9B1tzZaE=0Bvv`on<=~lO~UwX@d0^Q2Zek!ikibwoBz?RTdTQm@r()}Sl7w2*gYt?A^Ud(h&p zf|q0RjQe7M-qlbAn{nrp-4E`CK&|z!2_7z|(ULqIWKk_M#`Bb?1T;UU7nk6hF1~e% zF1=l^LCxoR>p531ez|I`V@&i|iDcS1l|;Dbb@Bt}M-l7)DRxx9U0GaNTLLgNd2vnSvl*n_9c! zW>_texN9)ZNex}dgmj{VdR%mAPCw0!8m$Rqt~+3*q!Hu}gbm^X3bFCx6Bs~Jm`5oK zD*;0&pl?w365!VaAbz+dq+s=U0iW;G897vqK@4Zp6htBI20?eMYJ(6l6;BAKF^|lw zyJtOi7vtRWv;cbR{Y|KWPeavejtGv6Y9N;=Y65a20cfY=F<`!>YHba{n`5l2oFUAG z;&bv+d;5JK-*^$|m7Wy~KDMg0r(&w_9B*jcMaDfOS#&4r_bEyoXjPM!Q6|2bVk*lUx1Ae{}AuZ<9_lfNB4~th0QOBSm8n6VipD}hphl5qtUqSbG zg=2wx2wN0{!8z{8l`)?X$90ctJ)*_7m|GIz*mB(Cdtg{U@|jkrZ9BNuo(k@!SbWa* zQ^#dxf63Pd&brPR!wZM0tw}3WFqrvj@u*}Kg^}HGNZWO z%tiyN!4;ZY!}H@=;*Gb%>P**JWs@GKZ09{+`s1#DOkYC{F1qGJL8Da{Jyu&zWUmt# z)&AbYAHbr1p0VPhhZzw8Qm7znh{Lh?uvXU7>X+it^J_+`eH5d^qyDGcZDOPMxcu(# z>p_(>x$p5@^}FlPI{L)su@_q%=O^t1R|}c^-jX&qJ8RRIwR@{5OHC5pJ>MsIZzpK& z2G13ztFMway}TCPU()G18cnE2$ROwS;pd-6Ty8<;%Rq%GU1%qct=PZ?J}5Rvc~iq! zN+*S$N*3Y7jV-`2Jx5+mE_hxlWHK8UB`JUfDmlbBkO;s+xc&kS!u5hYo_XZ6eo~cc z{dc+J7qyovn&-(%y|97M{c}ja7rvu+wKbljz@r|Ya?O0oI*ze{p&zaMb86J{9zDeVzV%Bk31Ou%KO${-w6)TvoxotEb zWi4#g+8|A8vhJ3~vJD{s^~7SJp+mIt%|w10w?EgL=J6EC-vm#~*cHu-9k zT*+m!3uYEz;EhPkX+Vy=fjnD9hBx~&=M%Rp->SGPA~A0Rg3p?#)e@WmJ~qYg3_HE@ zyUW1~s=QlX${e4R%5HT=qN==nt-#ditP z$Af{9j>rLWbh=*9hcU{o>F$8qm6Iirpitr6rculsGtT|+eQk6*Ah^wz%UYA{+6&@} zem%=k%3)}!e5v0!8SR=mIK;OVm=p?aXP&-`&|viWM4S6i{JAJ{pVUz(FQJ9>$AS^@ ze4?EiohZ5{pr@P53aQ_#RENyoFc%%FS}T#H!@3>n6&&dz(j@R1*uIqC9>sa>#JO*T z?Ej6jSdusLKJ0N+3=B3xz)&i^?IBJ7(kUL^g*##?--9@y+ft&1umnJU*kB|CtbRSa zWVK;aWO+%_SdU{IFqnj71y6|3En9#O0-vnomD-OO|n zK=Jpz6jZ&GmiTXdb*^As)QPZY`!fOOMcq_R`Kf$G0yqQ0qXAB*?S2U9^qBbxm``zG zfG2MI0}FyHf%A`YaM(rTEu zXUw7FPAoT{0$g~W?Jy>!U!mCdeYGtDxAw+tri}!ItvO5R6-z1DWxV?vk0pj7K>Sv- zR0E2I)?@NzLqpmzr=5v|&z!W}bf2`g=)h3r+s-=FDQ*ekw`xK|t7h3vfY zG}~?LJb~n9F_cc1`WmGWb#jVja20dgpH_n9YbJtuLW_4cr5dn?g!Pb=*m=ys?ZNEI z0%HsNE$d+-*`vPhD(=^p+ag8`S$YjthZVtt2LlZDcbh>34u7XW?q1;7pD4N>;06yl z{7z%Bb*#Du1UCHK<#JRgkj$pOW2AYxi{Y37oNKSV|ET z$(znqTO7Xybv6e2GnWwcX?J5bJLCKje6> zsR62(1*`SSM>cN|OSzwCC5?@Q7dq^Q;#RqT>e-UWa&GVS?9>#OSBH-p$r8$i{G%|D!XrraG49#tu`=+I|u6;0Bnqt6cjf?2Bl*N0Qv3~`?t6nX09Q|Uw$y2n&W%}+(E0}SWn|h?t5QDb zU!{DL+BixyVdXxHvsd#iD8xtjrTqz6k9oy*2^I&!2z&t6)6;y)XBQfV23Kb94xLT4 zRxAhgY`~BeD0RLpLxqb)t&7y$?Ltb|J_9D5;^P_FIoBiS=uTPI>z$#L1u7E>HJdN6?f9`}HYRTcx zzTA|8!H+6!9AI=n^?smyWrP3SRfV}x#NKOia!6o zZ$b4LfIM<7_$LAi0CT_IR2~S?{%Q1$$y0QE+)qfg3M5|LHc+q8FAu zndPMK@7$kLdf-T{IEJX;o3IaDWgeAM#PFdEQ?Ie2&r0;nCoD8)b%wYj<;&lVp{bd_yPR(6KKGGho* z=Pga+o&H?I^W9|_45lDA6hlh?&G_xdS`LiAyQ@g;vBT6Mm)W-ut|)CcTc_)%u~8}` zFdzgmu~pu}G+KnEyqu2P(k(2$T|+3H4OUA_u%QlFMhn8B1*q);v4834{!6V_z9y^p zl^63Bcmv7*VXU7h%dz%bW!>3n3GwbjX9UPZg#g;;n5DXBmBtkAUQ zo5;C=P_%{@OXQd23VR_19uH*#uPNDr#3}6n*RMQ9I0ZU|J0&&6c7%ew%BeTn7nK(; zxDbdAW&=qLmB9P!TsIEpRxpjAoq%Nwj&J)jSTTmn!$0NnwX8kM%?5$4({H&}L$GRk zvVhpAnwCUcet$Wed36XC_Y1-6Q5@tvk9D!@YYw7mbN{QJ!AM+Sm}zqI;gNhnY8X z_9N?7gPMirs>P9yZ#n1$r>@iR2<*t5Un4um=Hf8Iw;f-84r%Kd;pwTDb{#54EryVu zPW45zb4T<={CZ&sZAtnnl^Hq=2+D%Q7K+nrpK{ypLvC*9<(IMXk7szf95$P~{^yKI zY*x%Kv8jS}rE7xjj7F35f(`3YYNg{0xtcCE7rT4(cXEB*S1seiO^OqcjpOj!k;&(v z_lqrAg0Y&kEd@Up{7}{`@e39f?ZHX5K=!=87fwIuE*W=IfR<1@9bCk}$vG0S!Effw z9#4zCC@d6&?sxP3Wi`F*9`^dvt@LHJ9F{5BYK}j2u5(Ldoa(V#^1(j`=5%}B{XxVE z)WA!|aFyZcPkX*vs{fFULxB!&X0a8gX&p9zP>6a#DC*uvDK)iUPOl{V7rcrtL3d*e3~uiSps_ZZA>}cxVH-o(GL64P#E=8SJTlq^0|pT z^l*NuhqQ3XxRfEU2{`Elu3?>=b-ZOr_7P%Mz2s>~1y**y)Q~mcr!+8yC2ZiP07b~v z;d1rPeN?x8yn=Mek9E0v$0RDK{!M#( zeK3iwsXHD78=og_JPda4)Ngs9OAbWibNNoCPc+LIPkfv{^Q%4U?5M>p*Ry7xyD;7}GPuuL*HbuS z1&t337oJaW7sB61*7LJy+GrtW)GVmr%8<(0Ba3`Bbr7e)BHYlB#%n5ZTV)WkkT2AA z4BcEQBJ}1CN7!m>XYRbuPI$H;<}i<>T6N!b!7?Mtw)1msaJnJ)r%VvKqelG#i!&W` zB5`=rYGl?@C+ZyNUqs6*K5M`q=3zAaGeggbDl{4*^BxptCoU+bVN@!h@KWr)AhW&XFPFW0eM5dngu~X=p zmdcamWPkd>6^#f{BOHeVb^W=Z+8$(IkMGatb_idM zN8VHJQ{V_8Sw-lK!TlZ)=KX)L_ftUkQ=2Rn{t;jnbxE&Vk}109(4X_3U^WeXoEKBe ztJoS%Ef%$*Q_U@Iss8 zTPIe9*^lVbv^h*RsNXO)L(C2ItNIsC?jMNc2Gueo@g9ILBQIf(VI<1)jvaKvE$CzC zp?)oAQG?cnQIx1<8;Ft&-y4Y@788JPKoYh;odM86hJj_96mFD*vCFLypu+5PsolWF z8kB>zxQ6yiq0MxT%YoBR_9;Y;pVE6j#(Lo7o6qN+_)}t0YkU~<@O7=zvAXz-4Y==Y zEtHDd2OAg6=p^K>*E&q|cx+!w7MrRT>xRhW)6HCL=Xk=0O=E@cgH8w3Y;dW+@3pJJ zllN;Dw}G$!j@}2m24j-edr{B*CZXnyaYEbOWIBe@vxX7 zpeq|G5NF*InExF$q6^bJgeZx|FdV>`Obt$&)e#VNc098kMb zJd=~1E%t=d8sL>*!uo;wnP_|5bONIF0{;f>t%_M^WEna)GG>Wolko?7G2}_!Vzcnv zF>9;D9QzmoY=E-?)FN@0u~n!<8sm|%_;Bvi0X1%_^Tz1(u%@9&FsFZZ82Jv5Cp_vBXmxeD`e@hr^?RU|W{t#QXrDXj z%MJA?d&+`ikZbt-*Ugx9Q2dV|`3Nmi@abx|uH6EokO*zMTy^jaJ%5+`o4tZ~PX2Zj{C%urrN30ziKws1M$+xn z6yB25qjDjF*rMzHkwNpNf(E~j=38NGyJBJzz7+o<=vs~fDDldR@9nuj8ce=7769S(_R&I@DbYpes4+O1>6Hxp9YpZvpBj5L#uDCFoifrpAn|c zQmC@Qk+%@Hsm;n8@`$-cx#}x$l-89_r%gU=xm0)CI1bZ>xTGOOXKhaJHu5Zo+zh?d z7hs7N38OzXIyDYsa&Hw_uuV%?3l(1DHZCZ?;0o_>(JM+aE_6++5CQy+4-mU@oyawNN6l3i$xlT-Fl{-ZD!}^ zWcuY`i5w1>>+Hj6U{Y48rbTI;5C_!VUEwd#yE~Gs!Q5Oii4Hp5*^xqqS^EZ*uTRWS z5`t`ST?$&=3Pn730{k_T(BvA%uN`BrDC788Pg=}XPx_cC|QFQp>#{f6fIlT5g)S&e~*eMGkf{ou4byRqZ5Z$F2GNoT{P^ z`Fo|1r~xv9`u1BMY*`t5T&qd*e_)`F==MR_t>%!8c}RzaiB7dwYXS+F*Zk5#z8iDK0IjhDFw$B>LWk{fnMEPi{E;Pw$5K&<{ls;jE zGV1$US6)v_bJ~zq^Ncp300ETu07WP9?WqC$-5`58L{8tC!>lhAej@EOI>`3sdEpDR z-<@}PsQinPSc$Wb|4M1}=AfVE`hVRRQKs!xGqf@+33s#8+&%u2L6JN7z$_%0MMPjbz}6*GfH z#*=Yneu_^gm4$HQr6jhZHCec+k%Lqvifi=lL)4@8$#Z5)hVEshZ{U;gD{j&gMn&iHq<`#ny6_{KMQ7TKpe1)T zSBDw=RSRp?zr}dJtzc69JY#a@qZ=F&eB;&}l1qeiRvT1JdN3Ml4c4D)E;GZ(3KEw; z%<|QJSduOSe`6qtH~YzRK>Ddr7u^2Y;=Wel z-*zt$ZxhT8vJGU606OG;7m{#&_}yzo{xtXe=i&06wBpv6fYm1!-bPf{QF(^qQis^$ z2Uu?q^ZlN-Yo#~rtHz|Ya&M|D+0`kc_QiKH;!kLjQQ#4Xe@L&_w}LGS+^xo4$UxXF zVTKS)P>gh#zA`)NM64!9Wif$)sLaBz4vY(S{i5R^>Gm-lvAowjgDs4{+y_I$l{N8+M(R-fP7HS|gDT z6vbrIV&{U+Eh_E{3cBT@{DW&K2!w4g|F~4|&#hML^<3mlb>jU~WV<^pC`5Ij`|+5^ z>;X4nYvm$}`kn(;V}#sPfFB8KO)}##+l#QULK(FJ6;>5OYj)VXPTTWa&&0&dSnNgM z@A@g^)Ye?aaQron^7|y<`pszZQT?1}mvx|r>5$Y|Hk-CmL8U+2f-4$Hud>%wSPa)H z53=~7G@GDVt}f%fHhuoyai2QOS?5~v#Z${UY)%gPCV`HT_S2K-d zksLMYS|7~*exjoHjQim4pQV~INEi>+31yCi7=lUtNapF5ztft!Etgo>WUz6_FMY6a zLOyv$7Gtl0fSN0NC>YS+3((8x&Z6|nND?x(KOZ$HbIv5jgI-Ma$(=0QPfNnP$3c%Y zI-b4J4r7D0ARJ36m4XGerX~yRns3gB*2)JJ_j6A0R0o1o3@h|{lrCa4(7qd6x|}j` zJY#cSch9dWVlzK3G>N@^>90j9V<^b=zUR`#ZfX+7E8qS|a%wMDK1+vh(`hgZVkUQP z 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 Ld?m Date: Tue, 8 Oct 2013 12:57:33 +0200 Subject: [PATCH 15/24] Removed google font link --- themes/default/_head.twig | 1 - 1 file changed, 1 deletion(-) diff --git a/themes/default/_head.twig b/themes/default/_head.twig index 247b929eb..d0cbd320b 100644 --- a/themes/default/_head.twig +++ b/themes/default/_head.twig @@ -7,5 +7,4 @@ - From 2f3425dff699dee249bd223ad564395e254552f4 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Saad-Dupuy Date: Tue, 8 Oct 2013 13:00:43 +0200 Subject: [PATCH 16/24] Added font-face linked to local font --- themes/default/css/style.css | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/themes/default/css/style.css b/themes/default/css/style.css index 3ef9c8236..670eb50f4 100644 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css @@ -1,3 +1,12 @@ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: local('Roboto Regular'), local('Roboto-Regular'), url(../fonts/Roboto.woff) format('woff'); +} + + + body { margin: 10px; font-family: 'Roboto',Verdana,Geneva,sans-serif; @@ -318,4 +327,4 @@ a.link span, a.bad-display span, a.reading-time span { background-repeat: no-repeat; -} \ No newline at end of file +} From e231f3f023e41cd6694ed01e95e22d2d4b9fc441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Tue, 8 Oct 2013 13:37:46 +0200 Subject: [PATCH 17/24] add czech locale, thanks to @dstancl --- locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo | Bin 0 -> 4826 bytes locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po | 233 ++++++++++++++++++++ 2 files changed, 233 insertions(+) create mode 100644 locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo create mode 100644 locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po diff --git a/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo b/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo new file mode 100644 index 0000000000000000000000000000000000000000..bdf19250c1ce050c5a82af809b1cb1d2719aac75 GIT binary patch literal 4826 zcma)8{!Bou00y zyL#3;;&I>rmmnboQnW&7i9kw%$pN8=5Sz#BhzrUE1##gaMTi4PIU!C6zQ3ktA5J3C zn(D9X{n!7h-9O)W-FFnvDawZ_XWpcgfnU0gmppG#>SN#<_&#_$oPzhlTi^-EPd(1- ztuTUbhF$nk_(k|m_$?^ozYnj6&%+1cui(4j^-TT%yamcWbC91p#Y_6nLWZi(*Yz0A zP%q(~@F~boy~OJs@DK3q@Rhp#)w=%gy8l{)xQYH7pvbeEm&}`iBJU9>`#lJ6grA1* zhB4d)eck_EDChkiWNGyjd>eeW?*ADSRlW#shQEfg-XEdp;~#bXS|-W~{c)To2Yf2W8#`_#qh8{3?|5twGuE zSt#fFC6s+f@NW3Ky8jxKE8}j0BKKbS<7CL%^BNR6F2f^m2;T$6DMU{pTv{pAsnRe+AwNpMj#6 zmmxp(CtkANKcUF^Unu&SV)2i_-7u^R5kWl;-w&7T_OC&iw+3auA3<5~7qAImf^yFP zKsnEKH;l(m)w~HxzlPGk2g-g8D0)5#Wxvlt*{6VF?=Qm-!mmS#pC3T6`-@P{|9dF@ z_g5(6{|2wXSE2a9Pf(_;_dFDNe*v9C)l0Up>g2`T6~69wETm)OO{q@zq+OlPN^jCsopFmvrXF&I z)k)TIC2#E+>^hw!N=&L_7q!$`yRx|nHK)@g>uS?CNov}u4Lj~q3llLGQfo@9?L`|Q zZCEb}+v+kZlHBXmMQpyhPbZwwu%qc(ZFJujtMp}y+9y5RR13(RP%~jabZ3V|uw%&LxhO{&-4h)YHnN%5vF+Q` zNx604=2hd-rKsTzh8CQnZ&ll18}Iaz>upuM%T;?-Y(v|a+LY1ecWlR%PLiT?6tjdJ zoy4ZG4DpFi!@Te@nK-V5nUTvn$)W<@L|#{=W>ycgsi;7gC|wR#R#wHfT`i)77)L0@ zNso3xMI`(3x!*@k#C%i8;^}+wly9 zanAM=3GKRR|Loj>#@uXU_K==C(At0SuGzWS*{L(8^o{d{$x2+#6)k->iCoH2&y2oZ z;Sbj9BiXpAnL0aex^Gc}MC^N%1+v8ooj1-~(`)JD0~;;r>Dn1qR#uu`7Ee0%V(^E2 ze2Q`=p9zPZN$dGDQ8}}B>Y>vQo!mO!Tyu8nII)e#G|sQ)oXgvbekM;%k{#yuz^K;G zKYIRDp&lF*&8B5497&DQ8PZ<J3i z?ZAxIyM-UF_w6#Fl1cs_J!zM-jWuqa(pPylyo|1LxADaAk~i{>miDR(y^Xbul?bxb zsZXUzml-TDh&OLNJf^G5uI6H0$qd^L9iX6VtC;d+du+QnTn*rh%h#CjyJ%Fz#zYMk?AQrWHV zzOL-Dv9?e5M$e6|gd`ECu3B>17l_+b56eoL8?@@CEIwRU7c$qc$V%HJx!`istweKU zMJ$Y-OqLipO2;sy=rf#j4ty;D_&c~)3 zYs;f`QPS{o-z_7=x&+;TpnT)8l7^F@%zCKd8XR8gt3i&n#M;9b`Yzt84#dFg-gZfA zF)0Qcnr)w`S7&yaWebrdT6%5YmZbFdS94J^ikBR{kWSz@6$v&LWu_L2!*c75Ytp;&kXR{@ipt(>F`pU?VeWKKI^MCb~sRdg9a%Euf1&R zb_~6B+tzL8$kjWqTj{8;Srdt>O0u!I?$w6h)^(Mg)x_V%Zipv^EQVgT`DSL@uD*H+ z1s0P(GnUbUC-k!rVHp{WrBiXX%y9!3lY7<>b7I`lHza8cFG&PdeH%0Fa=4N!f?)Jy zQ%i=)xo5(_|K}Di6Nwfpc}D)U*vbKN?~2EkzCaqnSF%#!77Np>nyN~%b;5Pr-dH0U zTw=^6mIBD{szkI_V(OWasqUYZYvHt=wg7&wZkGs qmw!G;hMg+wl0TPAF86_vaR|E_(t%`>aTZk}@HrU5hQEymR{ak@3{4>b literal 0 HcmV?d00001 diff --git a/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po b/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po new file mode 100644 index 000000000..a99d39032 --- /dev/null +++ b/locale/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po @@ -0,0 +1,233 @@ +# +# Translators: +# David Štancl , 2013 +msgid "" +msgstr "" +"Project-Id-Version: poche\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2013-10-08 13:25+0100\n" +"Last-Translator: Nicolas Lœuillet \n" +"Language-Team: Czech (http://www.transifex.com/projects/p/poche/language/" +"cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Poedit 1.5.4\n" + +msgid "config" +msgstr "nastavení" + +msgid "Poching a link" +msgstr "Odkaz se ukládá" + +msgid "read the documentation" +msgstr "číst dokumentaci" + +msgid "by filling this field" +msgstr "vyplněním tohoto pole" + +msgid "poche it!" +msgstr "uložit!" + +msgid "Updating poche" +msgstr "Poche se aktualizuje" + +msgid "your version" +msgstr "vaše verze" + +msgid "latest stable version" +msgstr "poslední stabilní verze" + +msgid "a more recent stable version is available." +msgstr "je k dispozici novější stabilní verze." + +msgid "you are up to date." +msgstr "je aktuální" + +msgid "latest dev version" +msgstr "poslední vývojová verze" + +msgid "a more recent development version is available." +msgstr "je k dispozici novější vývojová verze." + +msgid "Change your password" +msgstr "Změnit heslo" + +msgid "New password:" +msgstr "Nové heslo:" + +msgid "Password" +msgstr "Heslo" + +msgid "Repeat your new password:" +msgstr "Znovu nové heslo:" + +msgid "Update" +msgstr "Aktualizovat" + +msgid "Import" +msgstr "Importovat" + +msgid "Please execute the import script locally, it can take a very long time." +msgstr "Spusťte importní skript lokálně, může to dlouho trvat." + +msgid "More infos in the official doc:" +msgstr "Více informací v oficiální dokumentaci:" + +msgid "import from Pocket" +msgstr "importovat z Pocket" + +msgid "import from Readability" +msgstr "importovat z Readability" + +msgid "import from Instapaper" +msgstr "importovat z Instapaper" + +msgid "Export your poche datas" +msgstr "Export dat" + +msgid "Click here" +msgstr "Klikněte zde" + +msgid "to export your poche datas." +msgstr "pro export vašich dat." + +msgid "back to home" +msgstr "zpět na úvod" + +msgid "installation" +msgstr "instalace" + +msgid "install your poche" +msgstr "instalovat" + +msgid "" +"poche is still not installed. Please fill the below form to install it. " +"Don't hesitate to read the documentation " +"on poche website." +msgstr "" +"poche ještě není nainstalováno. Pro instalaci vyplňte níže uvedený formulář. " +"Nezapomeňte si přečíst dokumentaci " +"na stránkách programu." + +msgid "Login" +msgstr "Jméno" + +msgid "Repeat your password" +msgstr "Zopakujte heslo" + +msgid "Install" +msgstr "Instalovat" + +msgid "back to top" +msgstr "zpět na začátek" + +msgid "favoris" +msgstr "oblíbené" + +msgid "archive" +msgstr "archív" + +msgid "unread" +msgstr "nepřečtené" + +msgid "by date asc" +msgstr "podle data od nejstarších" + +msgid "by date" +msgstr "podle data" + +msgid "by date desc" +msgstr "podle data od nejnovějších" + +msgid "by title asc" +msgstr "podle nadpisu vzestupně" + +msgid "by title" +msgstr "podle nadpisu" + +msgid "by title desc" +msgstr "podle nadpisu sestupně" + +msgid "No link available here!" +msgstr "Není k dispozici žádný odkaz!" + +msgid "toggle mark as read" +msgstr "označit jako přečtené" + +msgid "toggle favorite" +msgstr "označit jako oblíbené" + +msgid "delete" +msgstr "smazat" + +msgid "original" +msgstr "originál" + +msgid "results" +msgstr "výsledky" + +msgid "tweet" +msgstr "tweetnout" + +msgid "email" +msgstr "email" + +msgid "shaarli" +msgstr "shaarli" + +msgid "flattr" +msgstr "flattr" + +msgid "this article appears wrong?" +msgstr "vypadá tento článek špatně?" + +msgid "create an issue" +msgstr "odeslat požadavek" + +msgid "or" +msgstr "nebo" + +msgid "contact us by mail" +msgstr "kontaktovat e-mailem" + +msgid "plop" +msgstr "" + +msgid "home" +msgstr "domů" + +msgid "favorites" +msgstr "oblíbené" + +msgid "logout" +msgstr "odhlásit se" + +msgid "powered by" +msgstr "běží na" + +msgid "debug mode is on so cache is off." +msgstr "je zapnut ladicí mód, proto je keš vypnuta." + +msgid "your poche version:" +msgstr "verze:" + +msgid "storage:" +msgstr "úložiště:" + +msgid "login to your poche" +msgstr "přihlásit se k poche" + +msgid "you are in demo mode, some features may be disabled." +msgstr "používáte ukázkový mód, některé funkce jsou zakázány." + +msgid "Stay signed in" +msgstr "Zůstat přihlášen(a)" + +msgid "(Do not check on public computers)" +msgstr "(Nezaškrtávejte na veřejně dostupných počítačích)" + +msgid "Sign in" +msgstr "Přihlásit se" From 18889e230a80b7c45b30036c86896e6a2f9cacf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Thu, 10 Oct 2013 14:06:53 +0200 Subject: [PATCH 18/24] remove empty file --- inc/3rdparty/site_config/custom/palkeo.com.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 inc/3rdparty/site_config/custom/palkeo.com.txt diff --git a/inc/3rdparty/site_config/custom/palkeo.com.txt b/inc/3rdparty/site_config/custom/palkeo.com.txt deleted file mode 100644 index e69de29bb..000000000 From a84f77d6ba15a64ff00453f5d5190c021ce460ed Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 13 Oct 2013 20:39:12 +0200 Subject: [PATCH 19/24] Updated Screenshots URLs From the poche-themes repository to the poche repository, folder themes. --- themes/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/README.md b/themes/README.md index 76ac8ab07..9e5d65605 100644 --- a/themes/README.md +++ b/themes/README.md @@ -4,10 +4,10 @@ themes created by poche users ## list of themes -* dark ([preview](https://raw.github.com/inthepoche/poche-themes/master/dark/screenshot.jpg)) -* dmagenta ([preview](https://raw.github.com/inthepoche/poche-themes/master/dmagenta/screenshot.jpg)) -* solarized ([preview](https://raw.github.com/inthepoche/poche-themes/master/solarized/screenshot.jpg)) -* solarized-dark ([preview](https://raw.github.com/inthepoche/poche-themes/master/solarized-dark/screenshot.jpg)) +* dark ([preview](https://raw.github.com/inthepoche/poche/master/themes/dark/screenshot.jpg)) +* dmagenta ([preview](https://raw.github.com/inthepoche/poche/master/themes/dmagenta/screenshot.jpg)) +* solarized ([preview](https://raw.github.com/inthepoche/poche/master/themes/solarized/screenshot.jpg)) +* solarized-dark ([preview](https://raw.github.com/inthepoche/poche/master/themes/solarized-dark/screenshot.jpg)) ## installation From 36b92198425618a098941494000e21935208cb90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Thu, 17 Oct 2013 17:03:55 +0200 Subject: [PATCH 20/24] bug fix #251: login failure --- index.php | 1 + 1 file changed, 1 insertion(+) diff --git a/index.php b/index.php index a64592702..fdcfc3286 100644 --- a/index.php +++ b/index.php @@ -10,6 +10,7 @@ define ('POCHE', '1.0.0'); require_once 'inc/poche/global.inc.php'; +session_start(); # Start Poche $poche = new Poche(); From df6afaf0909506a334ef2b8c6f69770cd9890e0d Mon Sep 17 00:00:00 2001 From: Denis Sacchet Date: Sun, 20 Oct 2013 16:53:54 +0200 Subject: [PATCH 21/24] Added support for http_auth --- inc/poche/Poche.class.php | 35 +++++++++++++++++++++++++++-------- index.php | 4 +++- themes/default/config.twig | 2 ++ 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 806da54b6..0766cd51e 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -408,6 +408,7 @@ class Poche $compare_prod = version_compare(POCHE, $prod); $themes = $this->getInstalledThemes(); $languages = $this->getInstalledLanguages(); + $http_auth = (isset($_SERVER['PHP_AUTH_USER']))?true:false; $tpl_vars = array( 'themes' => $themes, 'languages' => $languages, @@ -415,6 +416,7 @@ class Poche 'prod' => $prod, 'compare_dev' => $compare_dev, 'compare_prod' => $compare_prod, + 'http_auth' => $http_auth, ); Tools::logm('config view'); break; @@ -573,6 +575,21 @@ class Poche Tools::redirect('?view=config'); } + /** + * get credentials from differents sources + * it redirects the user to the $referer link + * @return array + */ + private function credentials() { + if(isset($_SERVER['PHP_AUTH_USER'])) { + return array($_SERVER['PHP_AUTH_USER'],'php_auth'); + } + if(!empty($_POST['login']) && !empty($_POST['password'])) { + return array($_POST['login'],$_POST['password']); + } + return array(false,false); + } + /** * checks if login & password are correct and save the user in session. * it redirects the user to the $referer link @@ -582,11 +599,17 @@ class Poche */ public function login($referer) { - if (!empty($_POST['login']) && !empty($_POST['password'])) { - $user = $this->store->login($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login'])); + list($login,$password)=$this->credentials(); + if($login === false || $password === false) { + $this->messages->add('e', _('login failed: you have to fill all fields')); + Tools::logm('login failed'); + Tools::redirect(); + } + if (!empty($login) && !empty($password)) { + $user = $this->store->login($login, Tools::encodeString($password . $login)); if ($user != array()) { # Save login into Session - Session::login($user['username'], $user['password'], $_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login']), array('poche_user' => new User($user))); + Session::login($user['username'], $user['password'], $login, Tools::encodeString($password . $login), array('poche_user' => new User($user))); $this->messages->add('s', _('welcome to your poche')); Tools::logm('login successful'); Tools::redirect($referer); @@ -594,10 +617,6 @@ class Poche $this->messages->add('e', _('login failed: bad login or password')); Tools::logm('login failed'); Tools::redirect(); - } else { - $this->messages->add('e', _('login failed: you have to fill all fields')); - Tools::logm('login failed'); - Tools::redirect(); } } @@ -814,4 +833,4 @@ class Poche } return $version; } -} \ No newline at end of file +} diff --git a/index.php b/index.php index fdcfc3286..d79f3f958 100644 --- a/index.php +++ b/index.php @@ -81,6 +81,8 @@ if (Session::isLogged()) { $poche->action($action, $url, $id); $tpl_file = Tools::getTplFile($view); $tpl_vars = array_merge($tpl_vars, $poche->displayView($view, $id)); +} elseif(isset($_SERVER['PHP_AUTH_USER'])) { + $poche->login($referer); } else { $tpl_file = Tools::getTplFile('login'); } @@ -90,4 +92,4 @@ $messages = $poche->messages->display('all', FALSE); $tpl_vars = array_merge($tpl_vars, array('messages' => $messages)); # display poche -echo $poche->tpl->render($tpl_file, $tpl_vars); \ No newline at end of file +echo $poche->tpl->render($tpl_file, $tpl_vars); diff --git a/themes/default/config.twig b/themes/default/config.twig index 23860ebda..72671702f 100644 --- a/themes/default/config.twig +++ b/themes/default/config.twig @@ -66,6 +66,7 @@ + {% if http_auth == 0 %}

      {% trans "Change your password" %}

      @@ -84,6 +85,7 @@ + {% endif %}

      {% trans "Import" %}

      {% trans "Please execute the import script locally, it can take a very long time." %}

      From 027b4e156853b4d5e358e19e83506ec4446de7ab Mon Sep 17 00:00:00 2001 From: Denis Sacchet Date: Sun, 20 Oct 2013 23:28:45 +0200 Subject: [PATCH 22/24] Adding support for http_auth --- inc/poche/Database.class.php | 11 +++++++++++ index.php | 10 +++++++++- themes/default/login.twig | 4 +++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index 5c40b026a..1d3ff0c29 100644 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php @@ -87,6 +87,17 @@ class Database { return $user_config; } + public function userExists($username) { + $sql = "SELECT * FROM users WHERE username=?"; + $query = $this->executeQuery($sql, array($username)); + $login = $query->fetchAll(); + if (isset($login[0])) { + return true; + } else { + return false; + } + } + public function login($username, $password) { $sql = "SELECT * FROM users WHERE username=? AND password=?"; $query = $this->executeQuery($sql, array($username, $password)); diff --git a/index.php b/index.php index d79f3f958..d400354d2 100644 --- a/index.php +++ b/index.php @@ -82,9 +82,17 @@ if (Session::isLogged()) { $tpl_file = Tools::getTplFile($view); $tpl_vars = array_merge($tpl_vars, $poche->displayView($view, $id)); } elseif(isset($_SERVER['PHP_AUTH_USER'])) { - $poche->login($referer); + if($poche->store->userExists($_SERVER['PHP_AUTH_USER'])) { + $poche->login($referer); + } else { + $poche->messages->add('e', _('login failed: user doesn\'t exist')); + Tools::logm('user doesn\'t exist'); + $tpl_file = Tools::getTplFile('login'); + $tpl_vars['http_auth'] = 1; + } } else { $tpl_file = Tools::getTplFile('login'); + $tpl_vars['http_auth'] = 0; } # because messages can be added in $poche->action(), we have to add this entry now (we can add it before) diff --git a/themes/default/login.twig b/themes/default/login.twig index 0ae130bc0..2e48052ba 100644 --- a/themes/default/login.twig +++ b/themes/default/login.twig @@ -2,6 +2,7 @@ {% block title %}{% trans "login to your poche" %}{% endblock %} {% block content %} + {% if http_auth == 0 %}

      {% trans "login to your poche" %}

      @@ -29,4 +30,5 @@ -{% endblock %} \ No newline at end of file + {% endif %} +{% endblock %} From 1a0d776394d7e10b5e017f00d3626e3de6ba3688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Tue, 22 Oct 2013 08:51:22 +0200 Subject: [PATCH 23/24] fix #286: german translation updated --- locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo | Bin 4216 -> 4779 bytes locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po | 106 ++++++++++---------- 2 files changed, 53 insertions(+), 53 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 54626a5542b65e265b72a2fb0429e49844ce2636..cf8ae292b35603638072e1c447844b3f97a85f84 100644 GIT binary patch literal 4779 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 Y7m)-kK^l{Zc;I?4o)Q){Zmy{MH&ex72mk;8 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 2de43b41a..14aeb0f51 100644 --- a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po +++ b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po @@ -3,51 +3,51 @@ msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" -"Last-Translator: Nicolas Lœuillet \n" +"Last-Translator: Square252\n" "Language-Team: \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-Generator: Poedit 1.5.7\n" msgid "config" -msgstr "Konfig" +msgstr "Konfiguration" msgid "Poching a link" -msgstr "" +msgstr "Poche einen Link" msgid "read the documentation" -msgstr "" +msgstr "Die Dokumentation lesen" msgid "by filling this field" -msgstr "" +msgstr "durch das ausfüllen dieses Feldes:" msgid "poche it!" -msgstr "Pochert es!" +msgstr "Poche es!" msgid "Updating poche" msgstr "Poche aktualisieren" msgid "your version" -msgstr "Ihre Version" +msgstr "Deine Version" msgid "latest stable version" -msgstr "letzte stabile Version" +msgstr "Neuste stabile Version" msgid "a more recent stable version is available." -msgstr "eine neuere stabile Version ist verfügbar." +msgstr "Eine neuere stabile Version ist verfügbar." msgid "you are up to date." -msgstr "Sie sind auf den neuesten Stand." +msgstr "Du bist auf den neuesten Stand." msgid "latest dev version" -msgstr "letzte Entwicklungsversion" +msgstr "Neuste Entwicklungsversion" msgid "a more recent development version is available." -msgstr "eine neuere Entwicklungsversion ist verfügbar." +msgstr "Eine neuere Entwicklungsversion ist verfügbar." msgid "Change your password" -msgstr "Ihr Passwort ändern" +msgstr "Passwort ändern" msgid "New password:" msgstr "Neues Passwort:" @@ -56,7 +56,7 @@ msgid "Password" msgstr "Passwort" msgid "Repeat your new password:" -msgstr "neues Passwort wiederholen:" +msgstr "Neues Passwort wiederholen:" msgid "Update" msgstr "Aktualisieren" @@ -65,114 +65,113 @@ msgid "Import" msgstr "Import" msgid "Please execute the import script locally, it can take a very long time." -msgstr "" -"Wir danken Ihnen, den Import in lokal zu ausführen, kann es einige Zeit " -"dauern." +msgstr "Bitte führe das Import Script lokal aus, dies kann eine Weile dauern." msgid "More infos in the official doc:" -msgstr "Mehr Informationen auf der offiziellen Dokumentation:" +msgstr "Mehr Informationen in der offiziellen Dokumentation:" msgid "import from Pocket" -msgstr "import aus Pocket" +msgstr "Import aus Pocket" msgid "import from Readability" -msgstr "import aus Readability" +msgstr "Import aus Readability" msgid "import from Instapaper" -msgstr "import aus Instapaper" +msgstr "Import aus Instapaper" msgid "Export your poche datas" -msgstr "Exportieren Sie Ihre Daten aus Poche." +msgstr "Exportieren Sie Ihre Poche Daten." msgid "Click here" -msgstr "klicken Sie hier" +msgstr "Klicke hier" msgid "to export your poche datas." -msgstr "um Ihre Daten aus Poche zu exportieren." +msgstr "um deine Daten aus Poche zu exportieren." msgid "back to home" msgstr "züruck zur Hauptseite" msgid "installation" -msgstr "Installierung" +msgstr "Installieren" msgid "install your poche" -msgstr "installieren Sie Poche" +msgstr "Installiere dein Poche" msgid "" "poche is still not installed. Please fill the below form to install it. " "Don't hesitate to read the documentation " "on poche website." msgstr "" -"Poche ist noch nicht installiert. Wir danken Ihnen, die Felder unten zu " -"befüllen, um es zu machen. Zögern sie nicht, die Dokumentation auf der Website von Poche zu lesen." +"Poche 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 Poche zu lesen falls du Probleme " +"haben solltest." msgid "Login" msgstr "Benutzername" msgid "Repeat your password" -msgstr "Wiederholen Sie Ihr Passwort" +msgstr "Wiederhole dein Passwort" msgid "Install" msgstr "Installieren" msgid "back to top" -msgstr "zurück nach oben" +msgstr "Nach Oben" msgid "favoris" msgstr "" msgid "archive" -msgstr "Archive" +msgstr "Archiv" msgid "unread" -msgstr "" +msgstr "ungelesen" msgid "by date asc" -msgstr "nach Datum asc" +msgstr "nach Datum aufsteigend" msgid "by date" msgstr "nach Datum" msgid "by date desc" -msgstr "nach Datum desc" +msgstr "nach Datum absteigend" msgid "by title asc" -msgstr "nach Titel asc" +msgstr "nach Titel aufsteigend" msgid "by title" msgstr "nach Titel" msgid "by title desc" -msgstr "nach Titel desc" +msgstr "nach Titel absteigend" msgid "No link available here!" -msgstr "" +msgstr "Kein Link verfügbar!" msgid "toggle mark as read" -msgstr "als gelesen markieren" +msgstr "Als gelesen markieren" msgid "toggle favorite" msgstr "Favorit" msgid "delete" -msgstr "löschen" +msgstr "Löschen" msgid "original" msgstr "Original" msgid "results" -msgstr "" +msgstr "Ergebnisse" msgid "tweet" -msgstr "twittern" +msgstr "Twittern" msgid "email" msgstr "senden per E-Mail" msgid "shaarli" -msgstr "shaarli" +msgstr "Shaarli" msgid "flattr" msgstr "flattr" @@ -193,37 +192,38 @@ msgid "plop" msgstr "plop" msgid "home" -msgstr "Hause" +msgstr "Start" msgid "favorites" msgstr "Favoriten" msgid "logout" -msgstr "Trennung" +msgstr "Logout" msgid "powered by" msgstr "bereitgestellt von" msgid "debug mode is on so cache is off." -msgstr "" +msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" msgid "your poche version:" -msgstr "" +msgstr "Deine Poche Version" msgid "storage:" -msgstr "" +msgstr "Speicher:" msgid "login to your poche" -msgstr "Verbinden zu Poche" +msgstr "Bei Poche anmelden" msgid "you are in demo mode, some features may be disabled." -msgstr "Sie sind im Demomodus, können einige Funktionen deaktiviert werden." +msgstr "" +"Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert sein." msgid "Stay signed in" -msgstr "bleiben Sie verbunden" +msgstr "Angemeldet bleiben" msgid "(Do not check on public computers)" -msgstr "(nicht auf einem öffentlichen Computer überprüfen)" +msgstr "(nicht auf einem öffentlichen Computer anhaken)" msgid "Sign in" msgstr "Einloggen" From 6ae804853f6f2e10d394b6abfb977b7a251ee7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 25 Oct 2013 08:45:28 +0200 Subject: [PATCH 24/24] on the road to 1.1.0 --- index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.php b/index.php index d400354d2..66a2e816a 100644 --- a/index.php +++ b/index.php @@ -8,7 +8,7 @@ * @license http://www.wtfpl.net/ see COPYING file */ -define ('POCHE', '1.0.0'); +define ('POCHE', '1.1.0'); require_once 'inc/poche/global.inc.php'; session_start();