diff options
| author | 2013-09-14 21:17:48 +0200 | |
|---|---|---|
| committer | 2013-09-14 21:17:48 +0200 | |
| commit | 9db14d1cd3e474622a42bee40cb62ba41f4cc4b1 (patch) | |
| tree | e5f1cd92b9e2cef2f85dbf04d23ab55bcafd270d | |
| parent | 597a62148a17949a030afed5c62525914de84e11 (diff) | |
| parent | 619671ec6613089c6338a4112a3f40e46c17086e (diff) | |
Merge branch 'dev' into Alkarex-NbUnread
| -rw-r--r-- | CHANGELOG | 59 | ||||
| -rw-r--r-- | README.md | 60 | ||||
| -rw-r--r-- | app/i18n/en.php | 20 | ||||
| -rw-r--r-- | app/i18n/fr.php | 80 | ||||
| -rw-r--r-- | app/models/Feed.php | 2 | ||||
| -rwxr-xr-x | app/views/entry/bookmark.phtml | 2 | ||||
| -rwxr-xr-x | app/views/entry/read.phtml | 2 | ||||
| -rw-r--r-- | app/views/helpers/view/normal_view.phtml | 2 | ||||
| -rw-r--r-- | lib/SimplePie/SimplePie/Sanitize.php | 1 | ||||
| -rw-r--r-- | public/themes/default/freshrss.css | 21 | ||||
| -rw-r--r-- | public/themes/flat-design/freshrss.css | 22 |
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 @@ -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=<votre_token>). 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=<votre_token>). 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 ('/&/', '&', $this->url); + $url = str_replace ('&', '&', $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 ('#&#i', '&', $url))); +echo json_encode (array ('url' => str_ireplace ('&', '&', $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 ('#&#i', '&', $url))); +echo json_encode (array ('url' => str_ireplace ('&', '&', $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 (); ?>"> </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 ***/ |
