summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-09-14 21:17:48 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-09-14 21:17:48 +0200
commit9db14d1cd3e474622a42bee40cb62ba41f4cc4b1 (patch)
treee5f1cd92b9e2cef2f85dbf04d23ab55bcafd270d
parent597a62148a17949a030afed5c62525914de84e11 (diff)
parent619671ec6613089c6338a4112a3f40e46c17086e (diff)
Merge branch 'dev' into Alkarex-NbUnread
-rw-r--r--CHANGELOG59
-rw-r--r--README.md60
-rw-r--r--app/i18n/en.php20
-rw-r--r--app/i18n/fr.php80
-rw-r--r--app/models/Feed.php2
-rwxr-xr-xapp/views/entry/bookmark.phtml2
-rwxr-xr-xapp/views/entry/read.phtml2
-rw-r--r--app/views/helpers/view/normal_view.phtml2
-rw-r--r--lib/SimplePie/SimplePie/Sanitize.php1
-rw-r--r--public/themes/default/freshrss.css21
-rw-r--r--public/themes/flat-design/freshrss.css22
11 files changed, 141 insertions, 130 deletions
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 000000000..692636285
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,59 @@
+# Changelog
+## 2013-07-02 changes with FreshRSS 0.4.0
+
+* Correction bug et ajout notification lors de la phase d'installation
+* Affichage d'erreur si fichier OPML invalide
+* Les tags sont maintenant cliquables pour filtrer dessus
+* Amélioration vue mobile (boutons plus gros et ajout d'une barre de navigation)
+* Possibilité d'ajouter directement un flux dans une catégorie dès son ajout
+* Affichage des flux en erreur (injoignable par exemple) en rouge pour les différencier
+* Possiblité de changer les noms des flux
+* Ajout d'une option (désactivable donc) pour charger les images en lazyload permettant de ne pas charger toutes les images d'un coup
+* Le framework Minz est maintenant directement inclus dans l'archive (plus besoin de passer par ./build.sh)
+* Amélioration des performances pour la récupération des flux tronqués
+* Possibilité d'importer des flux sans catégorie lors de l'import OPML
+* Suppression de "l'API" (qui était de toutes façons très basique) et de la fonctionnalité de "notes"
+* Amélioration de la recherche (garde en mémoire si l'on a sélectionné une catégorie) par exemple
+* Modification apparence des balises hr et pre
+* Meilleure vérification des champs de formulaire
+* Remise en place du mode "endless" (permettant de simplement charger les articles qui suivent plutôt que de charger une nouvelle page)
+* Ajout d'une page de visualisation des logs
+* Ajout d'une option pour optimiser la BDD (diminue sa taille)
+* Ajout des vues lecture et globale (assez basique)
+* Les vidéos Youtube ne débordent plus du cadre sur les petits écrans
+* Ajout d'une option pour marquer les articles comme lus lors du défilement (et suppression de celle au chargement de la page)
+
+## 2013-05-05 changes with FreshRSS 0.3.0
+
+* Fallback pour les icônes SVG (utilisation de PNG à la place)
+* Fallback pour les propriétés CSS3 (utilisation de préfixes)
+* Affichage des tags associés aux articles
+* Internationalisation de l'application (gestion des langues anglaise et française)
+* Gestion des flux protégés par authentification HTTP
+* Mise en cache des favicons
+* Création d'un logo *temporaire*
+* Affichage des vidéos dans les articles
+* Gestion de la recherche et filtre par tags pleinement fonctionnels
+* Création d'un vrai script CRON permettant de mettre tous les flux à jour
+* Correction bugs divers
+
+## 2013-04-17 changes with FreshRSS 0.2.0
+
+* Création d'un installateur
+* Actualisation des flux en Ajax
+* Partage par mail et Shaarli ajouté
+* Export par flux RSS
+* Possibilité de vider une catégorie
+* Possibilité de sélectionner les catégories en vue mobile
+* Les flux peuvent être sortis du flux principal (système de priorité)
+* Amélioration ajout / import / export des flux
+* Amélioration actualisation (meilleure gestion des erreurs)
+* Améliorations CSS
+* Changements dans la base de données
+* Màj de la librairie SimplePie
+* Flux sans auteurs gérés normalement
+* Correction bugs divers
+
+## 2013-04-08 changes with FreshRSS 0.1.0
+
+* "Première" version
diff --git a/README.md b/README.md
index 67513aaa5..ef78e58e8 100644
--- a/README.md
+++ b/README.md
@@ -40,63 +40,3 @@ Privilégiez pour cela des demandes sur GitHub
```
0 * * * * php /chemin/vers/freshrss/actualize_script.php >/dev/null 2>&1
```
-
-# Changelog
-## 2013-07-02 changes with FreshRSS 0.4.0
-
-* Correction bug et ajout notification lors de la phase d'installation
-* Affichage d'erreur si fichier OPML invalide
-* Les tags sont maintenant cliquables pour filtrer dessus
-* Amélioration vue mobile (boutons plus gros et ajout d'une barre de navigation)
-* Possibilité d'ajouter directement un flux dans une catégorie dès son ajout
-* Affichage des flux en erreur (injoignable par exemple) en rouge pour les différencier
-* Possiblité de changer les noms des flux
-* Ajout d'une option (désactivable donc) pour charger les images en lazyload permettant de ne pas charger toutes les images d'un coup
-* Le framework Minz est maintenant directement inclus dans l'archive (plus besoin de passer par ./build.sh)
-* Amélioration des performances pour la récupération des flux tronqués
-* Possibilité d'importer des flux sans catégorie lors de l'import OPML
-* Suppression de "l'API" (qui était de toutes façons très basique) et de la fonctionnalité de "notes"
-* Amélioration de la recherche (garde en mémoire si l'on a sélectionné une catégorie) par exemple
-* Modification apparence des balises hr et pre
-* Meilleure vérification des champs de formulaire
-* Remise en place du mode "endless" (permettant de simplement charger les articles qui suivent plutôt que de charger une nouvelle page)
-* Ajout d'une page de visualisation des logs
-* Ajout d'une option pour optimiser la BDD (diminue sa taille)
-* Ajout des vues lecture et globale (assez basique)
-* Les vidéos Youtube ne débordent plus du cadre sur les petits écrans
-* Ajout d'une option pour marquer les articles comme lus lors du défilement (et suppression de celle au chargement de la page)
-
-## 2013-05-05 changes with FreshRSS 0.3.0
-
-* Fallback pour les icônes SVG (utilisation de PNG à la place)
-* Fallback pour les propriétés CSS3 (utilisation de préfixes)
-* Affichage des tags associés aux articles
-* Internationalisation de l'application (gestion des langues anglaise et française)
-* Gestion des flux protégés par authentification HTTP
-* Mise en cache des favicons
-* Création d'un logo *temporaire*
-* Affichage des vidéos dans les articles
-* Gestion de la recherche et filtre par tags pleinement fonctionnels
-* Création d'un vrai script CRON permettant de mettre tous les flux à jour
-* Correction bugs divers
-
-## 2013-04-17 changes with FreshRSS 0.2.0
-
-* Création d'un installateur
-* Actualisation des flux en Ajax
-* Partage par mail et Shaarli ajouté
-* Export par flux RSS
-* Possibilité de vider une catégorie
-* Possibilité de sélectionner les catégories en vue mobile
-* Les flux peuvent être sortis du flux principal (système de priorité)
-* Amélioration ajout / import / export des flux
-* Amélioration actualisation (meilleure gestion des erreurs)
-* Améliorations CSS
-* Changements dans la base de données
-* Màj de la librairie SimplePie
-* Flux sans auteurs gérés normalement
-* Correction bugs divers
-
-## 2013-04-08 changes with FreshRSS 0.1.0
-
-* "Première" version
diff --git a/app/i18n/en.php b/app/i18n/en.php
index cd512d1e5..4ce947346 100644
--- a/app/i18n/en.php
+++ b/app/i18n/en.php
@@ -55,8 +55,8 @@ return array (
'article_published_on' => 'This article originally appeared on <a href="%s">%s</a>',
'article_published_on_author' => 'This article originally appeared on <a href="%s">%s</a> by %s',
- 'access_denied' => 'You don\'t have permission to access this page',
- 'page_not_found' => 'You are looking for a page which doesn\'t exist',
+ 'access_denied' => 'You don’t have permission to access this page',
+ 'page_not_found' => 'You are looking for a page which doesn’t exist',
'error_occurred' => 'An error occured',
'error_occurred_update' => 'An error occured during update',
@@ -206,7 +206,7 @@ return array (
'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>',
'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like <a href="http://rsslounge.aditu.de/">RSSLounge</a>, <a href="http://tt-rss.org/redmine/projects/tt-rss/wiki">TinyTinyRSS</a> or <a href="http://projet.idleman.fr/leed/">Leed</a>. It is light and easy to take in hand while being powerful and configurable tool. Objective is to provide a serious alternative to Google Reader.',
'credits' => 'Credits',
- 'credits_content' => 'Some design elements come from <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> although FreshRSS doesn\'t use this framework. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> come from <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> font police used has been created by <a href="https://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a>. Favicons are collected with <a href="https://getfavicon.appspot.com/">getFavicon API</a>. FreshRSS is based on <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, a PHP framework.',
+ 'credits_content' => 'Some design elements come from <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> although FreshRSS doesn’t use this framework. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> come from <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> font police used has been created by <a href="https://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a>. Favicons are collected with <a href="https://getfavicon.appspot.com/">getFavicon API</a>. FreshRSS is based on <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, a PHP framework.',
'logs' => 'Logs',
'logs_empty' => 'Log file is empty',
@@ -264,16 +264,16 @@ return array (
'choose_language' => 'Choose a language for FreshRSS',
'javascript_is_better' => 'FreshRSS is more pleasant with Javascript enabled',
- 'php_is_ok' => 'Your PHP version is %s and it\'s compatible with FreshRSS',
+ 'php_is_ok' => 'Your PHP version is %s and it’s compatible with FreshRSS',
'php_is_nok' => 'Your PHP version is %s. You must have at least version %s',
'minz_is_ok' => 'You have Minz framework',
- 'minz_is_nok' => 'You haven\'t Minz framework. You should execute <em>build.sh</em> script or <a href="https://github.com/marienfressinaud/MINZ">download it on Github</a> and install in <em>%s</em> directory the content of its <em>/lib</em> directory.',
+ 'minz_is_nok' => 'You haven’t Minz framework. You should execute <em>build.sh</em> script or <a href="https://github.com/marienfressinaud/MINZ">download it on Github</a> and install in <em>%s</em> directory the content of its <em>/lib</em> directory.',
'curl_is_ok' => 'You have version %s of cURL',
- 'curl_is_nok' => 'You haven\'t cURL',
+ 'curl_is_nok' => 'You haven’t cURL',
'pdomysql_is_ok' => 'You have PDO and its driver for MySQL',
- 'pdomysql_is_nok' => 'You haven\'t PDO or its driver for MySQL',
+ 'pdomysql_is_nok' => 'You haven’t PDO or its driver for MySQL',
'dom_is_ok' => 'You have the necessary to browse the DOM',
- 'dom_is_nok' => 'You haven\'t the necessary to browse the DOM (php-xml package can be useful)',
+ 'dom_is_nok' => 'You haven’t the necessary to browse the DOM (php-xml package can be useful)',
'cache_is_ok' => 'Permissions on cache directory are good',
'log_is_ok' => 'Permissions on logs directory are good',
'conf_is_ok' => 'Permissions on configuration directory are good',
@@ -285,7 +285,7 @@ return array (
'random_string' => 'Random string',
'change_value' => 'You should change this value by any other',
'base_url' => 'Base URL',
- 'do_not_change_if_doubt' => 'Don\'t change if you doubt about it',
+ 'do_not_change_if_doubt' => 'Don’t change if you doubt about it',
'bdd_conf_is_ok' => 'Database configuration has been saved.',
'bdd_conf_is_ko' => 'Verify your database information.',
@@ -295,7 +295,7 @@ return array (
'bdd' => 'Database',
'prefix' => 'Table prefix',
- 'installation_is_ok' => 'Installation process is finished. You must delete <em>install.php</em> file to access FreshRSS... or simply click on following button :)',
+ 'installation_is_ok' => 'Installation process is finished. You must delete <em>install.php</em> file to access FreshRSS… or simply click on following button :)',
'finish_installation' => 'Finish installation',
'install_not_deleted' => 'Something was going wrong, you muste delete <em>%s</em> file manually.',
);
diff --git a/app/i18n/fr.php b/app/i18n/fr.php
index 8756ea490..84dec0fa4 100644
--- a/app/i18n/fr.php
+++ b/app/i18n/fr.php
@@ -55,8 +55,8 @@ return array (
'article_published_on' => 'Article publié initialement sur <a href="%s">%s</a>',
'article_published_on_author' => 'Article publié initialement sur <a href="%s">%s</a> par %s',
- 'access_denied' => 'Vous n\'avez pas le droit d\'accéder à cette page',
- 'page_not_found' => 'La page que vous cherchez n\'existe pas',
+ 'access_denied' => 'Vous n’avez pas le droit d’accéder à cette page',
+ 'page_not_found' => 'La page que vous cherchez n’existe pas',
'error_occurred' => 'Une erreur est survenue',
'error_occurred_update' => 'Une erreur est survenue lors de la mise à jour',
@@ -67,7 +67,7 @@ return array (
'rss_feed_management' => 'Gestion des flux RSS',
'configuration_updated' => 'La configuration a été mise à jour',
'general_and_reading_management'=> 'Gestion générale et affichage',
- 'bad_opml_file' => 'Votre fichier OPML n\'est pas valide',
+ 'bad_opml_file' => 'Votre fichier OPML n’est pas valide',
'shortcuts_updated' => 'Les raccourcis ont été mis à jour',
'shortcuts_management' => 'Gestion des raccourcis',
'feeds_marked_read' => 'Les flux ont été marqués comme lu',
@@ -75,13 +75,13 @@ return array (
'already_subscribed' => 'Vous êtes déjà abonné à <em>%s</em>',
'feed_added' => 'Le flux <em>%s</em> a bien été ajouté',
- 'feed_not_added' => '<em>%s</em> n\' a pas pu être ajouté',
- 'internal_problem_feed' => 'Un problème interne a été rencontré, le flux n\'a pas pu être ajouté',
- 'invalid_url' => 'L\'url <em>%s</em> est invalide',
+ 'feed_not_added' => '<em>%s</em> n’ a pas pu être ajouté',
+ 'internal_problem_feed' => 'Un problème interne a été rencontré, le flux n’a pas pu être ajouté',
+ 'invalid_url' => 'L’url <em>%s</em> est invalide',
'feed_actualized' => '<em>%s</em> a été mis à jour',
'n_feeds_actualized' => '%d flux ont été mis à jour',
'feeds_actualized' => 'Les flux ont été mis à jour',
- 'no_feed_actualized' => 'Aucun flux n\'a pu être mis à jour',
+ 'no_feed_actualized' => 'Aucun flux n’a pu être mis à jour',
'feeds_imported_with_errors' => 'Les flux ont été importés mais des erreurs sont survenues',
'feeds_imported' => 'Les flux ont été importés',
'category_emptied' => 'La catégorie a été vidée',
@@ -92,7 +92,7 @@ return array (
'your_rss_feeds' => 'Vos flux RSS',
'your_favorites' => 'Vos favoris',
'public' => 'Public',
- 'invalid_login' => 'L\'identifiant est invalide',
+ 'invalid_login' => 'L’identifiant est invalide',
// VIEWS
'save' => 'Enregistrer',
@@ -100,7 +100,7 @@ return array (
'cancel' => 'Annuler',
'back_to_rss_feeds' => '← Retour à vos flux RSS',
- 'feeds_moved_category_deleted' => 'Lors de la suppression d\'une catégorie, ses flux seront automatiquement classés dans <em>%s</em>.',
+ 'feeds_moved_category_deleted' => 'Lors de la suppression d’une catégorie, ses flux seront automatiquement classés dans <em>%s</em>.',
'category_number' => 'Catégorie n°%d',
'ask_empty' => 'Vider ?',
'number_feeds' => '%d flux',
@@ -111,10 +111,10 @@ return array (
'javascript_for_shortcuts' => 'Le javascript doit être activé pour pouvoir profiter des raccourcis',
'javascript_should_be_activated'=> 'Le javascript doit être activé',
'shift_for_all_read' => '+ <code>shift</code> pour marquer tous les articles comme lus',
- 'see_on_website' => 'Voir l\'article sur le site d\'origine',
- 'next_article' => 'Passer à l\'article suivant',
+ 'see_on_website' => 'Voir l’article sur le site d’origine',
+ 'next_article' => 'Passer à l’article suivant',
'shift_for_last' => '+ <code>shift</code> pour passer au dernier article de la page',
- 'previous_article' => 'Passer à l\'article précédent',
+ 'previous_article' => 'Passer à l’article précédent',
'shift_for_first' => '+ <code>shift</code> pour passer au premier article de la page',
'next_page' => 'Passer à la page suivante',
'previous_page' => 'Passer à la page précédente',
@@ -125,24 +125,24 @@ return array (
'or' => 'ou',
'informations' => 'Informations',
- 'feed_in_error' => 'Ce flux a rencontré un problème. Veuillez vérifier qu\'il est toujours accessible puis actualisez-le.',
+ 'feed_in_error' => 'Ce flux a rencontré un problème. Veuillez vérifier qu’il est toujours accessible puis actualisez-le.',
'website_url' => 'URL du site',
'feed_url' => 'URL du flux',
- 'number_articles' => 'Nombre d\'articles',
- 'keep_history' => 'Garder l\'historique ?',
+ 'number_articles' => 'Nombre d’articles',
+ 'keep_history' => 'Garder l’historique ?',
'categorize' => 'Ranger dans une catégorie',
'advanced' => 'Avancé',
'show_in_all_flux' => 'Afficher dans le flux principal',
'yes' => 'Oui',
'no' => 'Non',
- 'css_path_on_website' => 'Chemin CSS des articles sur le site d\'origine',
+ 'css_path_on_website' => 'Chemin CSS des articles sur le site d’origine',
'retrieve_truncated_feeds' => 'Permet de récupérer les flux tronqués (attention, demande plus de temps !)',
'http_authentication' => 'Authentification HTTP',
'http_username' => 'Identifiant HTTP',
'http_password' => 'Mot de passe HTTP',
'blank_to_disable' => 'Laissez vide pour désactiver',
'not_yet_implemented' => 'Pas encore implémenté',
- 'access_protected_feeds' => 'La connexion permet d\'accéder aux flux protégés par une authentification HTTP',
+ 'access_protected_feeds' => 'La connexion permet d’accéder aux flux protégés par une authentification HTTP',
'no_selected_feed' => 'Aucun flux sélectionné.',
'think_to_add' => 'Pensez à en ajouter !',
@@ -152,10 +152,10 @@ return array (
'month' => 'mois',
'persona_connection_email' => 'Adresse mail de connexion (utilise <a href="https://persona.org/">Persona</a>)',
'allow_anonymous' => 'Autoriser la lecture anonyme',
- 'auth_token' => 'Jeton d\'identification',
- 'explain_token' => 'Ce jeton permet de s\'affranchir d\'authentification en l\'ajoutant à l\'URL (ex. %s?token=&lt;votre_token&gt;). Seul la sortie RSS est concernée.',
+ 'auth_token' => 'Jeton d’identification',
+ 'explain_token' => 'Ce jeton permet de s’affranchir d’authentification en l’ajoutant à l’URL (ex. %s?token=&lt;votre_token&gt;). Seul la sortie RSS est concernée.',
'reading_configuration' => 'Configuration de lecture',
- 'articles_per_page' => 'Nombre d\'articles par page',
+ 'articles_per_page' => 'Nombre d’articles par page',
'default_view' => 'Vue par défaut',
'sort_order' => 'Ordre de tri',
'auto_load_more' => 'Charger les articles suivants en bas de page',
@@ -164,8 +164,8 @@ return array (
'jump_next' => 'sauter au prochain voisin non lu',
'img_with_lazyload' => 'Utiliser le mode "lazy load" pour charger les images',
'auto_read_when' => 'Marquer comme lu lorsque',
- 'article_selected' => 'l\'article est sélectionné',
- 'article_open_on_website' => 'l\'article est ouvert sur le site d\'origine',
+ 'article_selected' => 'l’article est sélectionné',
+ 'article_open_on_website' => 'l’article est ouvert sur le site d’origine',
'scroll' => 'au défilement de la page',
'your_shaarli' => 'Votre Shaarli',
'sharing' => 'Partage',
@@ -182,19 +182,19 @@ return array (
'publication_date' => 'Date de publication',
'by' => 'par',
- 'load_more' => 'Charger plus d\'articles',
- 'nothing_to_load' => 'Il n\'y a pas plus d\'article',
+ 'load_more' => 'Charger plus d’articles',
+ 'nothing_to_load' => 'Il n’y a pas plus d’article',
'rss_feeds_of' => 'Flux RSS de %s',
'refresh' => 'Actualisation',
- 'today' => 'Aujourd\'hui',
+ 'today' => 'Aujourd’hui',
'yesterday' => 'Hier',
- 'before_yesterday' => 'À partir d\'avant-hier',
+ 'before_yesterday' => 'À partir d’avant-hier',
'by_author' => 'Par <em>%s</em>',
'related_tags' => 'Tags associés',
- 'no_feed_to_display' => 'Il n\'y a aucun flux à afficher.',
+ 'no_feed_to_display' => 'Il n’y a aucun flux à afficher.',
'about_freshrss' => 'À propos de FreshRSS',
'project_website' => 'Site du projet',
@@ -204,15 +204,15 @@ return array (
'github_or_email' => '<a href="https://github.com/marienfressinaud/FreshRSS/issues">sur Github</a> ou <a href="mailto:dev@marienfressinaud.fr">par mail</a>',
'license' => 'Licence',
'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>',
- 'freshrss_description' => 'FreshRSS est un agrégateur de flux RSS à auto-héberger à l\'image de <a href="http://rsslounge.aditu.de/">RSSLounge</a>, <a href="http://tt-rss.org/redmine/projects/tt-rss/wiki">TinyTinyRSS</a> ou <a href="http://projet.idleman.fr/leed/">Leed</a>. Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable. L\'objectif étant d\'offrir une alternative sérieuse au futur feu-Google Reader.',
+ 'freshrss_description' => 'FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de <a href="http://rsslounge.aditu.de/">RSSLounge</a>, <a href="http://tt-rss.org/redmine/projects/tt-rss/wiki">TinyTinyRSS</a> ou <a href="http://projet.idleman.fr/leed/">Leed</a>. Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable. L’objectif étant d’offrir une alternative sérieuse au futur feu-Google Reader.',
'credits' => 'Crédits',
- 'credits_content' => 'Des éléments de design sont issus du <a href="http://twitter.github.io/bootstrap/">projet Bootstrap</a> bien que FreshRSS n\'utilise pas ce framework. Les <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">icônes</a> sont issues du <a href="https://www.gnome.org/">projet GNOME</a>. La police <em>Open Sans</em> utilisée a été créée par <a href="https://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a>. Les favicons sont récupérés grâce au site <a href="https://getfavicon.appspot.com/">getFavicon</a>. FreshRSS repose sur <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, un framework PHP.',
+ 'credits_content' => 'Des éléments de design sont issus du <a href="http://twitter.github.io/bootstrap/">projet Bootstrap</a> bien que FreshRSS n’utilise pas ce framework. Les <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">icônes</a> sont issues du <a href="https://www.gnome.org/">projet GNOME</a>. La police <em>Open Sans</em> utilisée a été créée par <a href="https://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a>. Les favicons sont récupérés grâce au site <a href="https://getfavicon.appspot.com/">getFavicon</a>. FreshRSS repose sur <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, un framework PHP.',
'logs' => 'Logs',
'logs_empty' => 'Les logs sont vides',
'forbidden_access' => 'Accès interdit',
- 'forbidden_access_description' => 'L\'accès est protégé par un mot de passe, veuillez <a class="signin" href="#">vous connecter</a> pour accéder aux flux.',
+ 'forbidden_access_description' => 'L’accès est protégé par un mot de passe, veuillez <a class="signin" href="#">vous connecter</a> pour accéder aux flux.',
// DATE
'january' => 'janvier',
@@ -258,12 +258,12 @@ return array (
'attention' => 'Attention !',
'damn' => 'Arf !',
'oops' => 'Oups !',
- 'next_step' => 'Passer à l\'étape suivante',
+ 'next_step' => 'Passer à l’étape suivante',
'language_defined' => 'La langue a bien été définie.',
'choose_language' => 'Choisissez la langue pour FreshRSS',
- 'javascript_is_better' => 'FreshRSS est plus agréable à utiliser avec le Javascript d\'activé',
+ 'javascript_is_better' => 'FreshRSS est plus agréable à utiliser avec le Javascript d’activé',
'php_is_ok' => 'Votre version de PHP est la %s et est compatible avec FreshRSS',
'php_is_nok' => 'Votre version de PHP est la %s. Vous devriez avoir au moins la version %s',
'minz_is_ok' => 'Vous disposez du framework Minz',
@@ -278,24 +278,24 @@ return array (
'log_is_ok' => 'Les droits sur le répertoire des logs sont bons',
'conf_is_ok' => 'Les droits sur le répertoire de configuration sont bons',
'data_is_ok' => 'Les droits sur le répertoire de data sont bons',
- 'file_is_nok' => 'Veuillez vérifier les droits sur le répertoire <em>%s</em>. Le serveur HTTP doit être capable d\'écrire dedans',
- 'fix_errors_before' => 'Veuillez corriger les erreurs avant de passer à l\'étape suivante.',
+ 'file_is_nok' => 'Veuillez vérifier les droits sur le répertoire <em>%s</em>. Le serveur HTTP doit être capable d’écrire dedans',
+ 'fix_errors_before' => 'Veuillez corriger les erreurs avant de passer à l’étape suivante.',
'general_conf_is_ok' => 'La configuration générale a été enregistrée.',
'random_string' => 'Chaîne aléatoire',
- 'change_value' => 'Vous devriez changer cette valeur par n\'importe quelle autre',
- 'base_url' => 'Base de l\'url',
+ 'change_value' => 'Vous devriez changer cette valeur par n’importe quelle autre',
+ 'base_url' => 'Base de l’url',
'do_not_change_if_doubt' => 'Laissez tel quel dans le doute',
'bdd_conf_is_ok' => 'La configuration de la base de données a été enregistrée.',
- 'bdd_conf_is_ko' => 'Vérifiez les informations d\'accès à la base de données.',
+ 'bdd_conf_is_ko' => 'Vérifiez les informations d’accès à la base de données.',
'host' => 'Hôte',
'username' => 'Nom utilisateur',
'password' => 'Mot de passe',
'bdd' => 'Base de données',
'prefix' => 'Préfixe des tables',
- 'installation_is_ok' => 'L\'installation s\'est bien passée. Il faut maintenant supprimer le fichier <em>install.php</em> pour pouvoir accéder à FreshRSS... ou simplement cliquer sur le bouton ci-dessous :)',
- 'finish_installation' => 'Terminer l\'installation',
- 'install_not_deleted' => 'Quelque chose s\'est mal passé, vous devez supprimer le fichier <em>%s</em> à la main.',
+ 'installation_is_ok' => 'L’installation s’est bien passée. Il faut maintenant supprimer le fichier <em>install.php</em> pour pouvoir accéder à FreshRSS… ou simplement cliquer sur le bouton ci-dessous :)',
+ 'finish_installation' => 'Terminer l’installation',
+ 'install_not_deleted' => 'Quelque chose s’est mal passé, vous devez supprimer le fichier <em>%s</em> à la main.',
);
diff --git a/app/models/Feed.php b/app/models/Feed.php
index e53df16a1..b3c23d4e8 100644
--- a/app/models/Feed.php
+++ b/app/models/Feed.php
@@ -172,7 +172,7 @@ class Feed extends Model {
);
} else {
$feed = new SimplePie ();
- $url = preg_replace ('/&amp;/', '&', $this->url);
+ $url = str_replace ('&amp;', '&', $this->url);
if ($this->httpAuth != '') {
$url = preg_replace ('#((.+)://)(.+)#', '${1}' . $this->httpAuth . '@${3}', $url);
}
diff --git a/app/views/entry/bookmark.phtml b/app/views/entry/bookmark.phtml
index fe64bb2d8..1ff1c220c 100755
--- a/app/views/entry/bookmark.phtml
+++ b/app/views/entry/bookmark.phtml
@@ -12,4 +12,4 @@ $url = Url::display (array (
'params' => Request::params (),
));
-echo json_encode (array ('url' => preg_replace ('#&amp;#i', '&', $url)));
+echo json_encode (array ('url' => str_ireplace ('&amp;', '&', $url)));
diff --git a/app/views/entry/read.phtml b/app/views/entry/read.phtml
index 4d0a84f45..6d3313a89 100755
--- a/app/views/entry/read.phtml
+++ b/app/views/entry/read.phtml
@@ -12,4 +12,4 @@ $url = Url::display (array (
'params' => Request::params (),
));
-echo json_encode (array ('url' => preg_replace ('#&amp;#i', '&', $url)));
+echo json_encode (array ('url' => str_ireplace ('&amp;', '&', $url)));
diff --git a/app/views/helpers/view/normal_view.phtml b/app/views/helpers/view/normal_view.phtml
index e5d03776c..4299b5fdb 100644
--- a/app/views/helpers/view/normal_view.phtml
+++ b/app/views/helpers/view/normal_view.phtml
@@ -44,7 +44,7 @@ if (isset ($this->entryPaginator) && !$this->entryPaginator->isEmpty ()) {
<?php } ?>
<?php $feed = $item->feed (true); ?>
<li class="item website"><a href="<?php echo _url ('index', 'index', 'get', 'f_' . $feed->id ()); ?>"><img class="favicon" src="<?php echo $feed->favicon (); ?>" alt="" /> <span><?php echo $feed->name (); ?></span></a></li>
- <li class="item title"><?php echo $item->title (); ?></li>
+ <li class="item title"><a target="_blank" href="<?php echo $item->link (); ?>"><?php echo $item->title (); ?></a></li>
<li class="item date"><?php echo $item->date (); ?></li>
<li class="item link"><a target="_blank" href="<?php echo $item->link (); ?>">&nbsp;</a></li>
</ul>
diff --git a/lib/SimplePie/SimplePie/Sanitize.php b/lib/SimplePie/SimplePie/Sanitize.php
index 6810cc49f..83a274ced 100644
--- a/lib/SimplePie/SimplePie/Sanitize.php
+++ b/lib/SimplePie/SimplePie/Sanitize.php
@@ -379,6 +379,7 @@ class SimplePie_Sanitize
protected function preprocess($html, $type)
{
$ret = '';
+ $html = preg_replace('%</?(?:html|body)[^>]*?'.'>%is', '', $html);
if ($type & ~SIMPLEPIE_CONSTRUCT_XHTML)
{
// Atom XHTML constructs are wrapped with a div by default
diff --git a/public/themes/default/freshrss.css b/public/themes/default/freshrss.css
index 353c4a1bc..23838c016 100644
--- a/public/themes/default/freshrss.css
+++ b/public/themes/default/freshrss.css
@@ -275,6 +275,12 @@
text-overflow: ellipsis;
cursor: pointer;
}
+ .flux_header .item.title a {
+ color: #000;
+ }
+ .flux_header .item.title a:hover {
+ text-decoration: none
+ }
.flux.not_read .flux_header .item.title {
font-weight: bold;
}
@@ -504,18 +510,17 @@
}
.bigMarkAsRead {
- background:#CCC;
- color:#FFF;
- cursor:pointer;
- height:32em;
- text-shadow: 0 -1px 0 #AAA;
+ cursor: pointer;
+ height: 300px;
+ text-shadow: 0 -1px 0 #aaa;
}
.bigMarkAsRead:hover {
- background:#06C;
+ background: #333;
+ color: #fff;
}
.bigTick {
- font-size:72pt;
- margin:32px 0 8px 0;
+ font-size: 72pt;
+ margin: 75px 0 10px 0;
}
/*** NOTIFICATION ***/
diff --git a/public/themes/flat-design/freshrss.css b/public/themes/flat-design/freshrss.css
index 559d1c374..b72751e3b 100644
--- a/public/themes/flat-design/freshrss.css
+++ b/public/themes/flat-design/freshrss.css
@@ -269,6 +269,12 @@ body {
text-overflow: ellipsis;
cursor: pointer;
}
+ .flux_header .item.title a {
+ color: #333;
+ }
+ .flux_header .item.title a:hover {
+ text-decoration: none
+ }
.flux.not_read .flux_header .item.title {
font-weight: bold;
}
@@ -507,18 +513,18 @@ body {
}
.bigMarkAsRead {
- background:#34495E;
- color:#FFF;
- cursor:pointer;
- height:32em;
- text-shadow: 0 -1px 0 #AAA;
+ background: #ecf0f1;
+ cursor: pointer;
+ height: 300px;
+ text-shadow: 0 -1px 0 #aaa;
}
.bigMarkAsRead:hover {
- background:#3498db;
+ background: #34495e;
+ color: #fff;
}
.bigTick {
- font-size:72pt;
- margin:32px 0 8px 0;
+ font-size: 72pt;
+ margin: 75px 0 10px 0;
}
/*** NOTIFICATION ***/