Parcourir la source

Ajout options partage Poche et Diaspora

Le partage n'est pas encore possible mais on peut préciser les urls dans
la configuration
Voir #175
Marien Fressinaud il y a 12 ans
Parent
commit
d6a685b0d0

+ 7 - 1
app/controllers/configureController.php

@@ -270,11 +270,17 @@ class configureController extends ActionController {
 	public function sharingAction () {
 	public function sharingAction () {
 		if (Request::isPost ()) {
 		if (Request::isPost ()) {
 			$urlShaarli = Request::param ('shaarli', '');
 			$urlShaarli = Request::param ('shaarli', '');
+			$urlPoche = Request::param ('poche', '');
+			$urlDiaspora = Request::param ('diaspora', '');
 
 
 			$this->view->conf->_urlShaarli ($urlShaarli);
 			$this->view->conf->_urlShaarli ($urlShaarli);
+			$this->view->conf->_urlPoche ($urlPoche);
+			$this->view->conf->_urlDiaspora ($urlDiaspora);
 
 
 			$values = array (
 			$values = array (
-				'url_shaarli' => $this->view->conf->urlShaarli ()
+				'url_shaarli' => $this->view->conf->urlShaarli (),
+				'url_poche' => $this->view->conf->urlPoche (),
+				'url_diaspora' => $this->view->conf->urlDiaspora ()
 			);
 			);
 
 
 			$confDAO = new RSSConfigurationDAO ();
 			$confDAO = new RSSConfigurationDAO ();

+ 8 - 5
app/i18n/en.php

@@ -167,15 +167,17 @@ return array (
 	'display_articles_unfolded'	=> 'Show articles unfolded by default',
 	'display_articles_unfolded'	=> 'Show articles unfolded by default',
 	'after_onread'			=> 'After marked as read,',
 	'after_onread'			=> 'After marked as read,',
 	'jump_next'			=> 'jump to next unread sibling',
 	'jump_next'			=> 'jump to next unread sibling',
-	'reading_icons'		=> 'Reading icons',
-	'top_line'		=> 'Top line',
-	'bottom_line'		=> 'Bottom line',
+	'reading_icons'			=> 'Reading icons',
+	'top_line'			=> 'Top line',
+	'bottom_line'			=> 'Bottom line',
 	'img_with_lazyload'		=> 'Use "lazy load" mode to load pictures',
 	'img_with_lazyload'		=> 'Use "lazy load" mode to load pictures',
 	'auto_read_when'		=> 'Mark as read when',
 	'auto_read_when'		=> 'Mark as read when',
 	'article_selected'		=> 'article is selected',
 	'article_selected'		=> 'article is selected',
 	'article_open_on_website'	=> 'article is opened on its original website',
 	'article_open_on_website'	=> 'article is opened on its original website',
 	'scroll'			=> 'page scrolls',
 	'scroll'			=> 'page scrolls',
 	'your_shaarli'			=> 'Your Shaarli',
 	'your_shaarli'			=> 'Your Shaarli',
+	'your_poche'			=> 'Your Poche',
+	'your_diaspora_pod'		=> 'Your Diaspora* pod',
 	'sharing'			=> 'Sharing',
 	'sharing'			=> 'Sharing',
 	'share'				=> 'Share',
 	'share'				=> 'Share',
 	'by_email'			=> 'By mail',
 	'by_email'			=> 'By mail',
@@ -183,6 +185,7 @@ return array (
 	'optimize_bdd'			=> 'Optimize database',
 	'optimize_bdd'			=> 'Optimize database',
 	'optimize_todo_sometimes'	=> 'To do occasionally to reduce size of database',
 	'optimize_todo_sometimes'	=> 'To do occasionally to reduce size of database',
 	'theme'				=> 'Theme',
 	'theme'				=> 'Theme',
+	'more_information'		=> 'More information',
 
 
 	'article'			=> 'Article',
 	'article'			=> 'Article',
 	'title'				=> 'Title',
 	'title'				=> 'Title',
@@ -218,7 +221,7 @@ return array (
 
 
 	'logs'				=> 'Logs',
 	'logs'				=> 'Logs',
 	'logs_empty'			=> 'Log file is empty',
 	'logs_empty'			=> 'Log file is empty',
-	'clear_logs'	=> 'Clear the logs',
+	'clear_logs'			=> 'Clear the logs',
 
 
 	'forbidden_access'		=> 'Forbidden access',
 	'forbidden_access'		=> 'Forbidden access',
 	'forbidden_access_description'	=> 'Access is password protected, please <a class="signin" href="#">sign in</a> to read your feeds.',
 	'forbidden_access_description'	=> 'Access is password protected, please <a class="signin" href="#">sign in</a> to read your feeds.',
@@ -287,7 +290,7 @@ return array (
 	'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',
 	'cache_is_ok'			=> 'Permissions on cache directory are good',
 	'log_is_ok'			=> 'Permissions on logs directory are good',
 	'log_is_ok'			=> 'Permissions on logs directory are good',
-	'favicons_is_ok'			=> 'Permissions on favicons directory are good',
+	'favicons_is_ok'		=> 'Permissions on favicons directory are good',
 	'data_is_ok'			=> 'Permissions on data directory are good',
 	'data_is_ok'			=> 'Permissions on data directory are good',
 	'file_is_nok'			=> 'Check permissions on <em>%s</em> directory. HTTP server must have rights to write into',
 	'file_is_nok'			=> 'Check permissions on <em>%s</em> directory. HTTP server must have rights to write into',
 	'fix_errors_before'		=> 'Fix errors before skip to the next step.',
 	'fix_errors_before'		=> 'Fix errors before skip to the next step.',

+ 8 - 5
app/i18n/fr.php

@@ -167,15 +167,17 @@ return array (
 	'display_articles_unfolded'	=> 'Afficher les articles dépliés par défaut',
 	'display_articles_unfolded'	=> 'Afficher les articles dépliés par défaut',
 	'after_onread'			=> 'Après marqué comme lu,',
 	'after_onread'			=> 'Après marqué comme lu,',
 	'jump_next'			=> 'sauter au prochain voisin non lu',
 	'jump_next'			=> 'sauter au prochain voisin non lu',
-	'reading_icons'		=> 'Icônes de lecture',
-	'top_line'		=> 'Ligne du haut',
-	'bottom_line'		=> 'Ligne du bas',
+	'reading_icons'			=> 'Icônes de lecture',
+	'top_line'			=> 'Ligne du haut',
+	'bottom_line'			=> 'Ligne du bas',
 	'img_with_lazyload'		=> 'Utiliser le mode “chargement différé” pour les images',
 	'img_with_lazyload'		=> 'Utiliser le mode “chargement différé” pour les images',
 	'auto_read_when'		=> 'Marquer comme lu lorsque',
 	'auto_read_when'		=> 'Marquer comme lu lorsque',
 	'article_selected'		=> 'l’article est sélectionné',
 	'article_selected'		=> 'l’article est sélectionné',
 	'article_open_on_website'	=> 'l’article est ouvert sur le site d’origine',
 	'article_open_on_website'	=> 'l’article est ouvert sur le site d’origine',
 	'scroll'			=> 'au défilement de la page',
 	'scroll'			=> 'au défilement de la page',
 	'your_shaarli'			=> 'Votre Shaarli',
 	'your_shaarli'			=> 'Votre Shaarli',
+	'your_poche'			=> 'Votre Poche',
+	'your_diaspora_pod'		=> 'Votre pod Diaspora*',
 	'sharing'			=> 'Partage',
 	'sharing'			=> 'Partage',
 	'share'				=> 'Partager',
 	'share'				=> 'Partager',
 	'by_email'			=> 'Par mail',
 	'by_email'			=> 'Par mail',
@@ -183,6 +185,7 @@ return array (
 	'optimize_bdd'			=> 'Optimiser la base de données',
 	'optimize_bdd'			=> 'Optimiser la base de données',
 	'optimize_todo_sometimes'	=> 'À faire de temps en temps pour réduire la taille de la BDD',
 	'optimize_todo_sometimes'	=> 'À faire de temps en temps pour réduire la taille de la BDD',
 	'theme'				=> 'Thème',
 	'theme'				=> 'Thème',
+	'more_information'		=> 'Plus d’informations',
 
 
 	'article'			=> 'Article',
 	'article'			=> 'Article',
 	'title'				=> 'Titre',
 	'title'				=> 'Titre',
@@ -218,7 +221,7 @@ return array (
 
 
 	'logs'				=> 'Logs',
 	'logs'				=> 'Logs',
 	'logs_empty'			=> 'Les logs sont vides',
 	'logs_empty'			=> 'Les logs sont vides',
-	'clear_logs'	=> 'Effacer les logs',
+	'clear_logs'			=> 'Effacer les logs',
 
 
 	'forbidden_access'		=> 'Accès interdit',
 	'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.',
@@ -287,7 +290,7 @@ return array (
 	'dom_is_nok'			=> 'Vous ne disposez pas du nécessaire pour parcourir le DOM (voir du côté du paquet php-xml ?)',
 	'dom_is_nok'			=> 'Vous ne disposez pas du nécessaire pour parcourir le DOM (voir du côté du paquet php-xml ?)',
 	'cache_is_ok'			=> 'Les droits sur le répertoire de cache sont bons',
 	'cache_is_ok'			=> 'Les droits sur le répertoire de cache sont bons',
 	'log_is_ok'			=> 'Les droits sur le répertoire des logs sont bons',
 	'log_is_ok'			=> 'Les droits sur le répertoire des logs sont bons',
-	'favicons_is_ok'			=> 'Les droits sur le répertoire des favicons sont bons',
+	'favicons_is_ok'		=> 'Les droits sur le répertoire des favicons sont bons',
 	'data_is_ok'			=> 'Les droits sur le répertoire de data 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',
 	'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.',
 	'fix_errors_before'		=> 'Veuillez corriger les erreurs avant de passer à l’étape suivante.',

+ 36 - 0
app/models/RSSConfiguration.php

@@ -18,6 +18,8 @@ class RSSConfiguration extends Model {
 	private $mail_login = '';
 	private $mail_login = '';
 	private $mark_when = array ();
 	private $mark_when = array ();
 	private $url_shaarli = '';
 	private $url_shaarli = '';
+	private $url_poche = '';
+	private $url_diaspora = '';
 	private $theme;
 	private $theme;
 	private $anon_access;
 	private $anon_access;
 	private $token;
 	private $token;
@@ -48,6 +50,8 @@ class RSSConfiguration extends Model {
 		$this->_mailLogin ($confDAO->mail_login);
 		$this->_mailLogin ($confDAO->mail_login);
 		$this->_markWhen ($confDAO->mark_when);
 		$this->_markWhen ($confDAO->mark_when);
 		$this->_urlShaarli ($confDAO->url_shaarli);
 		$this->_urlShaarli ($confDAO->url_shaarli);
+		$this->_urlPoche ($confDAO->url_poche);
+		$this->_urlDiaspora ($confDAO->url_diaspora);
 		$this->_theme ($confDAO->theme);
 		$this->_theme ($confDAO->theme);
 		RSSThemes::setThemeId ($confDAO->theme);
 		RSSThemes::setThemeId ($confDAO->theme);
 		$this->_anonAccess ($confDAO->anon_access);
 		$this->_anonAccess ($confDAO->anon_access);
@@ -116,6 +120,12 @@ class RSSConfiguration extends Model {
 	public function urlShaarli () {
 	public function urlShaarli () {
 		return $this->url_shaarli;
 		return $this->url_shaarli;
 	}
 	}
+	public function urlPoche () {
+		return $this->url_poche;
+	}
+	public function urlDiaspora () {
+		return $this->url_diaspora;
+	}
 	public function theme () {
 	public function theme () {
 		return $this->theme;
 		return $this->theme;
 	}
 	}
@@ -257,6 +267,24 @@ class RSSConfiguration extends Model {
 			$this->url_shaarli = '';
 			$this->url_shaarli = '';
 		}
 		}
 	}
 	}
+	public function _urlPoche ($value) {
+		if (filter_var ($value, FILTER_VALIDATE_URL)) {
+			$this->url_poche = $value;
+		} elseif (version_compare(PHP_VERSION, '5.3.3', '<') && (strpos($value, '-') > 0) && ($value === filter_var($value, FILTER_SANITIZE_URL))) {	//PHP bug #51192
+			$this->url_poche = $value;
+		} else {
+			$this->url_poche = '';
+		}
+	}
+	public function _urlDiaspora ($value) {
+		if (filter_var ($value, FILTER_VALIDATE_URL)) {
+			$this->url_diaspora = $value;
+		} elseif (version_compare(PHP_VERSION, '5.3.3', '<') && (strpos($value, '-') > 0) && ($value === filter_var($value, FILTER_SANITIZE_URL))) {	//PHP bug #51192
+			$this->url_diaspora = $value;
+		} else {
+			$this->url_diaspora = '';
+		}
+	}
 	public function _theme ($value) {
 	public function _theme ($value) {
 		$this->theme = $value;
 		$this->theme = $value;
 	}
 	}
@@ -334,6 +362,8 @@ class RSSConfigurationDAO extends Model_array {
 		'scroll' => 'no'
 		'scroll' => 'no'
 	);
 	);
 	public $url_shaarli = '';
 	public $url_shaarli = '';
+	public $url_poche = '';
+	public $url_diaspora = '';
 	public $theme = 'default';
 	public $theme = 'default';
 	public $anon_access = 'no';
 	public $anon_access = 'no';
 	public $token = '';
 	public $token = '';
@@ -392,6 +422,12 @@ class RSSConfigurationDAO extends Model_array {
 		if (isset ($this->array['url_shaarli'])) {
 		if (isset ($this->array['url_shaarli'])) {
 			$this->url_shaarli = $this->array['url_shaarli'];
 			$this->url_shaarli = $this->array['url_shaarli'];
 		}
 		}
+		if (isset ($this->array['url_poche'])) {
+			$this->url_poche = $this->array['url_poche'];
+		}
+		if (isset ($this->array['url_diaspora'])) {
+			$this->url_diaspora = $this->array['url_diaspora'];
+		}
 		if (isset ($this->array['theme'])) {
 		if (isset ($this->array['theme'])) {
 			$this->theme = $this->array['theme'];
 			$this->theme = $this->array['theme'];
 		}
 		}

+ 27 - 1
app/views/configure/sharing.phtml

@@ -6,9 +6,35 @@
 	<form method="post" action="<?php echo _url ('configure', 'sharing'); ?>">
 	<form method="post" action="<?php echo _url ('configure', 'sharing'); ?>">
 		<legend><?php echo Translate::t ('sharing'); ?></legend>
 		<legend><?php echo Translate::t ('sharing'); ?></legend>
 		<div class="form-group">
 		<div class="form-group">
-			<label class="group-name" for="shaarli"><?php echo Translate::t ('your_shaarli'); ?></label>
+			<label class="group-name" for="shaarli">
+				<?php echo Translate::t ('your_shaarli'); ?>
+			</label>
 			<div class="group-controls">
 			<div class="group-controls">
 				<input type="url" id="shaarli" name="shaarli" value="<?php echo $this->conf->urlShaarli (); ?>" placeholder="<?php echo Translate::t ('blank_to_disable'); ?>" size="64" />
 				<input type="url" id="shaarli" name="shaarli" value="<?php echo $this->conf->urlShaarli (); ?>" placeholder="<?php echo Translate::t ('blank_to_disable'); ?>" size="64" />
+
+				<?php echo RSSThemes::icon('help'); ?> <a target="_blank" href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli"><?php echo Translate::t ('more_information'); ?></a>
+			</div>
+		</div>
+
+		<div class="form-group">
+			<label class="group-name" for="poche">
+				<?php echo Translate::t ('your_poche'); ?>
+			</label>
+			<div class="group-controls">
+				<input type="url" id="poche" name="poche" value="<?php echo $this->conf->urlPoche (); ?>" placeholder="<?php echo Translate::t ('blank_to_disable'); ?>" size="64" />
+
+				<?php echo RSSThemes::icon('help'); ?> <a target="_blank" href="http://www.inthepoche.com/"><?php echo Translate::t ('more_information'); ?></a>
+			</div>
+		</div>
+
+		<div class="form-group">
+			<label class="group-name" for="diaspora">
+				<?php echo Translate::t ('your_diaspora_pod'); ?>
+			</label>
+			<div class="group-controls">
+				<input type="url" id="diaspora" name="diaspora" value="<?php echo $this->conf->urlDiaspora (); ?>" placeholder="<?php echo Translate::t ('blank_to_disable'); ?>" size="64" />
+
+				<?php echo RSSThemes::icon('help'); ?> <a target="_blank" href="https://diasporafoundation.org/"><?php echo Translate::t ('more_information'); ?></a>
 			</div>
 			</div>
 		</div>
 		</div>