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 %s', 'article_published_on_author' => 'This article originally appeared on %s 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' => 'AGPL 3', 'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like RSSLounge, TinyTinyRSS or Leed. 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 Bootstrap although FreshRSS doesn\'t use this framework. Icons come from GNOME project. Open Sans font police used has been created by Steve Matteson. Favicons are collected with getFavicon API. FreshRSS is based on Minz, a PHP framework.', + 'credits_content' => 'Some design elements come from Bootstrap although FreshRSS doesn’t use this framework. Icons come from GNOME project. Open Sans font police used has been created by Steve Matteson. Favicons are collected with getFavicon API. FreshRSS is based on Minz, 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 build.sh script or download it on Github and install in %s directory the content of its /lib directory.', + 'minz_is_nok' => 'You haven’t Minz framework. You should execute build.sh script or download it on Github and install in %s directory the content of its /lib 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 install.php file to access FreshRSS... or simply click on following button :)', + 'installation_is_ok' => 'Installation process is finished. You must delete install.php file to access FreshRSS… or simply click on following button :)', 'finish_installation' => 'Finish installation', 'install_not_deleted' => 'Something was going wrong, you muste delete %s 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 %s', 'article_published_on_author' => 'Article publié initialement sur %s 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é à %s', 'feed_added' => 'Le flux %s a bien été ajouté', - 'feed_not_added' => '%s 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 %s est invalide', + 'feed_not_added' => '%s 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 %s est invalide', 'feed_actualized' => '%s 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 %s.', + 'feeds_moved_category_deleted' => 'Lors de la suppression d’une catégorie, ses flux seront automatiquement classés dans %s.', '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' => '+ shift 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' => '+ shift 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' => '+ shift 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 Persona)', '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 %s', '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' => 'sur Github ou par mail', 'license' => 'Licence', 'agpl3' => 'AGPL 3', - 'freshrss_description' => 'FreshRSS est un agrégateur de flux RSS à auto-héberger à l\'image de RSSLounge, TinyTinyRSS ou Leed. 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 RSSLounge, TinyTinyRSS ou Leed. 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 projet Bootstrap bien que FreshRSS n\'utilise pas ce framework. Les icônes sont issues du projet GNOME. La police Open Sans utilisée a été créée par Steve Matteson. Les favicons sont récupérés grâce au site getFavicon. FreshRSS repose sur Minz, un framework PHP.', + 'credits_content' => 'Des éléments de design sont issus du projet Bootstrap bien que FreshRSS n’utilise pas ce framework. Les icônes sont issues du projet GNOME. La police Open Sans utilisée a été créée par Steve Matteson. Les favicons sont récupérés grâce au site getFavicon. FreshRSS repose sur Minz, 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 vous connecter pour accéder aux flux.', + 'forbidden_access_description' => 'L’accès est protégé par un mot de passe, veuillez vous connecter 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 %s. 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 %s. 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 install.php 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 %s à la main.', + 'installation_is_ok' => 'L’installation s’est bien passée. Il faut maintenant supprimer le fichier install.php 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 %s à 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 ()) { feed (true); ?>
  • name (); ?>
  • -
  • title (); ?>
  • +
  • title (); ?>
  • date (); ?>
  • 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('%]*?'.'>%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 ***/