Commit 7e96aee5 authored by Adrien Dorsaz's avatar Adrien Dorsaz

Merge branch 'master' of adorsaz.ch:leed-market

parents 46453cbd 547e9813
leed-API
========
Plugin permettant de faire une API pour l'agrégateur [leed](https://github.com/ldleman/Leed).
Le but de cette API est de pouvoir suivre ses flux Leed via une application externe comme [LeedReader](http://www.barbogogo.fr/?page_id=4) pour Android.
Installation
============
Mettre le répertoire api dans le répertoire /plugins/ de l'agrégateur Leed.
Utilisation
===========
Pour plus de détails quant à l'utilisation de l'API, veuillez vous rendre sur la page du projet : [Leed-API](http://www.barbogogo.fr/?page_id=6).
<?php
/*
@name api
@author Barbogogo <barbogogo@barbogogo.fr>
@link http://www.barbogogo.fr/projets/applications-leed/leed-api/
@licence CC by nc sa <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">http://creativecommons.org/licenses/by-nc-sa/2.0/fr/</a>
// @version 0.11
@description Le plugin API permet de gérer ses flux Leed via une application externe
*/
require_once('constantAPI.php');
function api_plugin_setting_link(&$myUser){
echo '<li><a class="toggle" href="#leedAPIBloc">'._t('P_LEEDAPI_TITLE').'</a></li>';
}
function api_plugin_setting_bloc(&$myUser)
{
echo '
<section id="leedAPIBloc" class="leedAPIBloc" style="display:none;">
<h2>'._t('P_LEEDAPI_TITLE').'</h2>
<section class="preferenceBloc">
<h3>'._t('P_LEEDAPI_SUBTITLE').'</h3>';
// La clé n'est affichée que si le plugin est activé
if(PLUGIN_ENABLED == 1)
{
echo '<p>'._t('P_LEEDAPI_DESCRIPTION_KEY').'</p>';
echo '<p>'._t('P_LEEDAPI_TEXT_KEY').' <b>'.KEY.'</b>.</p>';
}
echo '
</section>
</section>
';
}
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser!=false)
{
Plugin::addHook('setting_post_link', 'api_plugin_setting_link');
Plugin::addHook('setting_post_section', 'api_plugin_setting_bloc');
}
?>
<?php
function auth_check($realm) {
$_SESSION = array();
session_unset();
session_destroy();
session_start();
if(isset($_REQUEST['login']) && $_REQUEST['login'] != "" ||
isset($_REQUEST['password']) && $_REQUEST['password'] != "")
{
$userMngr = new User();
$user = $userMngr->load(array('login'=>$_REQUEST['login']));
if(!$user) {
$GLOBALS["authError"] = "Utilisateur inconnu";
return false;
}
if(sha1(KEY) == $_REQUEST['password']) {
return $user;
}
else {
$GLOBALS["authError"] = "Echec de l'authentification";
return false;
}
}
else
{
if(isset($_SERVER['PHP_AUTH_DIGEST'])) {
$digest = $_SERVER['PHP_AUTH_DIGEST'];
} else if(isset($_SERVER['HTTP_AUTHENTICATION']) &&
strpos(strtolower($_SERVER['HTTP_AUTHENTICATION']), "digest") == 0) {
$digest = substr($_SERVER['HTTP_AUTHORIZATION'], 7);
}
if(!isset($digest)) {
$GLOBALS["authError"] = "Digest vide";
return false;
}
// check digest string
$needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1,'uri'=>1, 'response'=>1);
$data = array();
$keys = implode('|', array_keys($needed_parts));
preg_match_all('@('.$keys.')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $digest, $matches, PREG_SET_ORDER);
foreach ($matches as $m) {
$data[$m[1]] = $m[3] ? $m[3] : $m[4];
unset($needed_parts[$m[1]]);
}
// digest string is not valid
if(count($needed_parts) > 0) {
$GLOBALS["authError"] = "Digest invalide";
return false;
}
// user found ?
$userMngr = new User();
$user = $userMngr->load(array('login'=>$data['username']));
if(!$user) {
$GLOBALS["authError"] = "Utilisateur inconnu";
return false;
}
// check credentials
$A1 = md5($data['username'] . ':' . $realm . ':' . sha1(KEY));
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$resp = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);
if($data['response'] != $resp) {
$GLOBALS["authError"] = "Echec de l'authentification";
return false;
}
}
return $user;
}
function auth_request($realm) {
header("WWW-Authenticate: Digest realm=\"$realm\",qop=\"auth\",nonce=\"".uniqid()."\",opaque=\"".session_id()."\"");
header("HTTP/1.0 401 Unauthorized");
echo "{\"error\":{\"id\":\"2\",\"message\":\"<h1>login failed</h1><p>".$GLOBALS["authError"]."</p>\"}}\n";
$_SESSION = array();
session_unset();
session_destroy();
die();
}
?>
<?php
$rep = "../../";
session_start();
require_once($rep.'RainTPL.php');
require_once($rep.'i18n.php');
class_exists('Plugin') or require_once($rep.'Plugin.class.php');
class_exists('MysqlEntity') or require_once($rep.'MysqlEntity.class.php');
class_exists('Update') or require_once($rep.'Update.class.php');
$resultUpdate = Update::ExecutePatch();
class_exists('Feed') or require_once($rep.'Feed.class.php');
class_exists('Event') or require_once($rep.'Event.class.php');
class_exists('Functions') or require_once($rep.'Functions.class.php');
class_exists('User') or require_once($rep.'User.class.php');
class_exists('Folder') or require_once($rep.'Folder.class.php');
class_exists('Configuration') or require_once($rep.'Configuration.class.php');
$feedManager = new Feed();
$eventManager = new Event();
$folderManager = new Folder();
$configurationManager = new Configuration();
$conf = $configurationManager->getAll();
$userManager = new User();
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
?>
<?php
define('PLUGIN_ENABLED','0');
?>
\ No newline at end of file
<?php
$key = genererKeyAPI();
$constant = "<?php
define('PLUGIN_ENABLED','1');
define('KEY','".$key."');
?>";
file_put_contents(Plugin::path().'constantAPI.php', $constant);
function genererKeyAPI()
{
$j = 0;
$passwd = "";
while($j!=8)
{
$i=rand(48,122);
if($i>47 && $i<58 || $i>96 && $i<123 || $i>65 && $i<90)
{
$i = chr($i);
$passwd .= $i;
$j++;
}
}
return $passwd;
}
?>
\ No newline at end of file
This diff is collapsed.
{
"P_LEEDAPI_TITLE":"Leed API Plugin",
"P_LEEDAPI_SUBTITLE":"Informations",
"P_LEEDAPI_DESCRIPTION_KEY":"In order to connect to the API, the following key shall be used in the application (LeedReader) as a password. The Leed password used to connect to the Leed account is not needed for the API. This key is generated automatically when you activate the API plugin. However, you can change it manually in the file leed/plugings/api/constantAPI.php (KEY field).",
"P_LEEDAPI_TEXT_KEY":"The key to connect to Leed through the API is:"
}
{
"P_LEEDAPI_TITLE":"Plugin Leed API",
"P_LEEDAPI_SUBTITLE":"Informations",
"P_LEEDAPI_DESCRIPTION_KEY":"Afin de vous connecter à l'API, la clé ci-dessous doit être renseignée dans l'application (LeedReader) en tant que mot de passe. Le mot de passe utiliser pour vous connecter à Leed ne fonctionne pas pour utiliser l'API. Cette clé est générée de façon aléatoire à chaque fois que vous activez le plugin API. Vous pouvez toutefois la modifier manuellement dans leed/plugings/api/constantAPI.php (variable KEY).",
"P_LEEDAPI_TEXT_KEY":"La clé vous permettant de vous connecter via l'API est :"
}
<?php
require_once('./commonAPI.php');
require_once('./constantAPI.php');
require_once('./auth.php');
require_once('./phpError.php');
$realm = $_SERVER['SERVER_NAME'];
$authError = "";
if(!$myUser && !($myUser = auth_check($realm)))
{
auth_request($realm);
}
else
{
header('Cache-Control: no-cache, must-revalidate');
header('Expires:'.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600));
header('Content-type: application/json');
$jsonOutput = "{\"error\":{\"id\":\"0\",\"message\":\"no error\"}}\n";
}
$_SESSION['currentUser'] = serialize($myUser);
if($isErrorPHP == true)
{
echo $msgErrorPHP;
$_SESSION = array();
session_unset();
session_destroy();
}
else
{
echo $jsonOutput;
}
?>
<?php
require_once('../../common.php');
require_once('./auth.php');
$_SESSION = array();
session_unset();
session_destroy();
// force to "unregister" on client side
auth_request($_SERVER['SERVER_NAME']);
?>
<?php
$isErrorPHP = false;
$msgErrorPHP = "";
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
$errortype = array(1=>"Erreur",
2=>"Alerte",
4=>"Erreur d'analyse",
8=>"Note",
16=>"Code Error",
32=>"Code Warning",
64=>"Zend Scripting Engine Error",
128=>"Zend Scripting Engine Warning",
256=>"Erreur spcifique",
512=>"Alerte spcifique",
1024=>"Note spcifique",
2048=>"Note inconnue"
);
$phpVersion = phpversion();
$jsonVersion = phpversion('json');
$mysqlVersion = phpversion('mysql');
$erreur = "<h1>PHP Error</h1>";
$erreur .= "<p>".$errortype[$errno]."[".$errno."]".$errmsg. "- ".$filename."(l.".$linenum.")</p>";
$erreur .= "<p>Your server configuration:</p>";
$erreur .= "<ul>";
$erreur .= "<li>PHP Version: ".$phpVersion."</li>";
$erreur .= "<li>JSON Version: ".$jsonVersion."</li>";
$erreur .= "<li>MySQL Version: ".$mysqlVersion."</li>";
$erreur .= "</ul>";
$GLOBALS["msgErrorPHP"] = "{\"error\":{\"id\":\"3\",\"message\":\"".$erreur."\"}}\n";
$GLOBALS["isErrorPHP"] = true;
}
unset($old_error_handler);
$old_error_handler = set_error_handler("userErrorHandler");
?>
\ No newline at end of file
<?php
$constant = "<?php
define('PLUGIN_ENABLED','0');
?>";
file_put_contents(Plugin::path().'constantAPI.php', $constant);
?>
\ No newline at end of file
......@@ -4,7 +4,7 @@
@author qwerty <qwerty@legtux.org>
@link http://etudiant-libre.fr.nf
@licence Tea Licence
@version 1.0.0
@version 1.0.1
@description Vide le cache
*/
......@@ -47,26 +47,25 @@ function clear_folder($folder, $skip_files=array()){
function delcache_plugin_setting_link(&$feed){
echo '<a class="pointer" href="action.php?action=delcache" alt="Synchroniser" title="Vider le cache">Vider le cache</a> ';
echo '<a class="pointer" href="action.php?action=delcache" alt="Vider le cache de Leed" title="Vider le cache">Vider le cache</a>';
}
function delcache_plugin_action(&$_){
if ($_['action']=='delcache'){
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser==false) exit('Vous devez vous connecter pour cette action.');
clear_folder("cache/");
header('location: ./index.php');
echo "<script>alert('le cache a �t� vid�');</script>";
}
if ($_['action']=='delcache'){
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser==false) exit('Vous devez vous connecter pour cette action.');
clear_folder("cache/");
echo "<script type='text/javascript'>
if (window.confirm('Le cache a été vidé')) {
window.location.href='index.php';
}
</script>";
}
}
// Ajout du css du squelette en en t�te de leed
//Plugin::addCss("/css/style.css");
// Ajout du javascript du squelette au bas de page de leed
//Plugin::addJs("/js/main.js");
// Ajout de la fonction squelette_plugin_action � la page action de leed qui contient tous les traitements qui n'ont pas besoin d'affichage (ex :supprimer un flux, faire un appel ajax etc...)
Plugin::addHook('setting_post_link', 'delcache_plugin_setting_link');
Plugin::addHook('setting_post_link', 'delcache_plugin_setting_link');
Plugin::addHook("action_post_case", "delcache_plugin_action");
?>
ToggleEventContent
==================
**ToggleEventContent** est un _Plugin_ pour [Leed](http://projet.idleman.fr/leed), un agrégateur libre de flux RSS, compatible avec le format OPML. Il ajoute un bouton à côté du titre de chaque événement pour permettre d'en **cacher** / **afficher** le contenu.
**ToggleEventContent** est un _Plugin_ pour [Leed](http://projet.idleman.fr/leed), un agrégateur libre de flux RSS, compatible avec le format OPML. Il ajoute un bouton à chaque article pour permettre d'en **cacher** / **afficher** le contenu.
Instructions
============
......@@ -14,3 +14,8 @@ Compatibilité
**ToggleEventContent** est compatible avec les thèmes suivants :
* [Marigolds](http://projet.idleman.fr/leed/data/themes/marigolds.zip) proposé par Idleman
Traduction
==========
**ToggleEventContent** est disponible en _français_ et en _anglais_ au travers du plugin _**i18n**_, à télécharger sur [Leed-market](https://github.com/ldleman/Leed-market).
.FS_toggleEventContent_Button {
background-color: #BB46BB;
/*background-color: #BB46BB;*/
border: 0 none;
border-radius: 30px 30px 30px 30px;
color: #FFFFFF;
......@@ -13,10 +13,9 @@
}
.FS_toggleEventContent_Button:hover {
background-color: #d44dd4;
/*background-color: #d44dd4;*/
}
.pointer {
cursor: pointer;
}
.FS_toggleEventContent_Button {
background-color: #BB46BB;
/*background-color: #BB46BB;*/
border: 0 none;
border-radius: 30px 30px 30px 30px;
color: #FFFFFF;
......@@ -13,10 +13,9 @@
}
.FS_toggleEventContent_Button:hover {
background-color: #d44dd4;
/*background-color: #d44dd4;*/
}
.pointer {
cursor: pointer;
}
......@@ -3,14 +3,14 @@
@author Forty-Six <Forty-Six>
@link https://github.com/Forty-Six
@licence CC by nc sa http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
@version 0.4
@description Ce plugin ajoute un bouton à coté du titre de chaque événement pour en afficher ou non le contenu
@version 0.5
@description Ce plugin ajoute un bouton à chaque article pour en afficher ou non le contenu
*/
function FS_toggleEventContent(element) {
// Affiche / Cache le contenu de l'événement désigné
// Affiche / Cache les détails de l'événement entier désigné
// Affiche / Cache le contenu de l'article désigné
// Affiche / Cache les détails de l'article entier désigné
eventBloc = $(element).parent().parent();
eventContent = $('div.articleContent', eventBloc);
......@@ -19,10 +19,11 @@ function FS_toggleEventContent(element) {
if (eventContent.css('display') == 'none') {
if (eventDetails) eventDetails.css('display', 'block');
eventButtons.html('Toggle off');
eventButtons.html( _t('P_TOGGLEEVENTCONTENT_BUTTON_OFF') );
} else {
eventButtons.html('Toggle on');
eventButtons.html( _t('P_TOGGLEEVENTCONTENT_BUTTON_ON') );
if (eventDetails) eventDetails.css('display', 'none');
}
eventContent.slideToggle(200);
}
{
"P_TOGGLEEVENTCONTENT_BUTTON_OFF":"Toggle off",
"P_TOGGLEEVENTCONTENT_BUTTON_ON":"Toggle on",
"P_TOGGLEEVENTCONTENT_DEFAULT_LEGEND":"Default display of content items",
"P_TOGGLEEVENTCONTENT_DEFAULT_OFF":"Closed",
"P_TOGGLEEVENTCONTENT_DEFAULT_ON":"Opened",
"P_TOGGLEEVENTCONTENT_RECORD_BUTTON":"Save",
"P_TOGGLEEVENTCONTENT_TITLE":"Toggle Event Content plugin"
}
\ No newline at end of file
{
"P_TOGGLEEVENTCONTENT_BUTTON_OFF":"Toggle off",
"P_TOGGLEEVENTCONTENT_BUTTON_ON":"Toggle on",
"P_TOGGLEEVENTCONTENT_DEFAULT_LEGEND":"Affichage par défaut du contenu des articles",
"P_TOGGLEEVENTCONTENT_DEFAULT_OFF":"Fermé",
"P_TOGGLEEVENTCONTENT_DEFAULT_ON":"Ouvert",
"P_TOGGLEEVENTCONTENT_RECORD_BUTTON":"Enregistrer",
"P_TOGGLEEVENTCONTENT_TITLE":"Plugin Toggle Event Content"
}
\ No newline at end of file
<?php
/*
@name ToggleEventContent
@name Toggle Event Content
@author Forty-Six <Forty-Six>
@link https://github.com/Forty-Six
@licence CC by nc sa http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
@version 0.4
@description Ce plugin ajoute un bouton à coté du titre de chaque événement pour en afficher ou non le contenu
@version 0.5.3
@description Ce plugin ajoute un bouton à chaque article pour en afficher ou non le contenu
*/
// Fonction d'ajout du bouton
......@@ -13,13 +13,13 @@ function FS_toggleEventContent_AddButton(&$event) {
$toggle = FS_toggleEventContent_getDefault();
echo '<div onClick="FS_toggleEventContent(this);" class="pointer FS_toggleEventContent_Button" alt="Toggle the content" title="Toggle the content">Toggle '.(($toggle == 1) ? 'on' : 'off').'</div>';
echo '<div onClick="FS_toggleEventContent(this);" class="pointer FS_toggleEventContent_Button button" alt="Toggle the content" title="Toggle the content">'.(($toggle == 1) ? _t('P_TOGGLEEVENTCONTENT_BUTTON_ON') : _t('P_TOGGLEEVENTCONTENT_BUTTON_OFF')).'</div>';
}
// Fonction d'ajout d'un lien dans le menu de gestion
function FS_toggleEventContent_SettingLink(&$myUser) {
echo '<li><a class="toggle" href="#toggleEventContent">Plugin ToggleEventContent</a></li>';
echo '<li><a class="toggle" href="#toggleEventContent">'._t('P_TOGGLEEVENTCONTENT_TITLE').'</a></li>';
}
// Fonction d'affichage du formulaire de gestion
......@@ -28,15 +28,15 @@ function FS_toggleEventContent_SettingForm(&$myUser) {
$toggle = FS_toggleEventContent_getDefault();
?>
<section class="toggleEventContent" id="toggleEventContent" name="toggleEventContent">
<h2>ToggleEventContent</h2>
<h2><?php echo _t('P_TOGGLEEVENTCONTENT_TITLE') ?></h2>
<form action="action.php?action=toggleEventContent_update" method="post">
<fieldset>
<legend>Affichage par défaut du contenu des événements</legend>
<input type="radio" <?php if ($toggle == 0) echo 'checked="checked"'; ?> value="0" id="toggleEventContent_default_on" name="toggleEventContent_default"><label for="toggleEventContent_default_on">Ouvert</label>
<input type="radio" <?php if ($toggle == 1) echo 'checked="checked"'; ?> value="1" id="toggleEventContent_default_off" name="toggleEventContent_default"><label for="toggleEventContent_default_off">Fermé</label>
<legend><?php echo _t('P_TOGGLEEVENTCONTENT_DEFAULT_LEGEND') ?></legend>
<input type="radio" <?php if ($toggle == 0) echo 'checked="checked"'; ?> value="0" id="toggleEventContent_default_on" name="toggleEventContent_default"><label for="toggleEventContent_default_on"><?php echo _t('P_TOGGLEEVENTCONTENT_DEFAULT_ON') ?></label>
<input type="radio" <?php if ($toggle == 1) echo 'checked="checked"'; ?> value="1" id="toggleEventContent_default_off" name="toggleEventContent_default"><label for="toggleEventContent_default_off"><?php echo _t('P_TOGGLEEVENTCONTENT_DEFAULT_OFF') ?></label>
</fieldset>
<button class="button" type="submit">Enregistrer</button>
<button class="button" type="submit"><?php echo _t('P_TOGGLEEVENTCONTENT_RECORD_BUTTON') ?></button>
</form>
</section>
<?php
......@@ -45,11 +45,11 @@ function FS_toggleEventContent_SettingForm(&$myUser) {
// Fonction de mise à jour de la table de configuration
function toggleEventContent_Update($_) {
$config = new Configuration();
$config->getAll();
if($_['action'] == 'toggleEventContent_update') {
$config->put('toggleEventContent_default',$_['toggleEventContent_default']);
$config = new Configuration();
$config->getAll();
$config->put('toggleEventContent_default',$_['toggleEventContent_default']);
$_SESSION['configuration'] = null;
// header('location: settings.php#toggleEventContent');
......@@ -79,25 +79,31 @@ $FS_config->getAll();
// Insertion du bouton 'Haut'
// si l'affichage du contenu de l'article est demandé
if ($FS_config->get('articleDisplayContent') == '1') {
if ($FS_config->get('articleDisplayContent') == '1' or $FS_config->get('articleDisplayMode') != '') {
Plugin::addHook("event_pre_top_options", "FS_toggleEventContent_AddButton");
}
// Insertion du bouton 'Bas'
// si l'affichage du contenu de l'article * entier * est demandé
if ( ($FS_config->get('articleDisplayContent') == '1') and ($FS_config->get('articleView') != 'partial') ) {
if ( ($FS_config->get('articleDisplayContent') == '1' or $FS_config->get('articleDisplayMode') != '') and ($FS_config->get('articleView') != 'partial') ) {
Plugin::addHook("event_pre_bottom_options", "FS_toggleEventContent_AddButton");
}
// Insertion du lien dans le menu de gestion
Plugin::addHook("setting_post_link","FS_toggleEventContent_SettingLink");
// Affichage du menu de gestion
Plugin::addHook("setting_post_section","FS_toggleEventContent_SettingForm");
// Mise à jour du choix de l'affichage
Plugin::addHook("action_post_case", "toggleEventContent_Update");
// Restriction sur la configuration des plugins
// Issue: https://github.com/ldleman/Leed-market/issues/79
$myUser = ( isset($_SESSION['currentUser']) ? unserialize($_SESSION['currentUser']) : false );
if ($myUser != false) {
// Insertion du lien dans le menu de gestion
Plugin::addHook("setting_post_link","FS_toggleEventContent_SettingLink");
// Affichage du menu de gestion
Plugin::addHook("setting_post_section","FS_toggleEventContent_SettingForm");
// Mise à jour du choix de l'affichage
Plugin::addHook("action_post_case", "toggleEventContent_Update");
// Execution du choix : insertion ou non du CSS
Plugin::addHook("index_pre_treatment","FS_toggleEventContent_PreTest");
// Execution du choix : insertion ou non du CSS
Plugin::addHook("index_pre_treatment","FS_toggleEventContent_PreTest");
}
// Insertion du javascript
Plugin::addJs("/js/main.js");
......
......@@ -4,7 +4,7 @@
@author Phyks <phyks@phyks.me>
@link http://www.phyks.me
@licence BEERWARE (See README.md file)
@version 2.2.0
@version 2.2.1
@description The adblock plugin for leed allows to block embedded flash contents and / or images in feeds. You can set it fine-grained for each feed. You can also disable images only for mobile devices.
*/
......@@ -69,7 +69,7 @@ function adblock_plugin_treat_events(&$events) {
$filter_img = false;
}
$img_except_list = explode(',', trim($adblock_params["img_list"], "\t\n\r\0\x0B,"));
$img_except_list = adblock_trim_list($flash_except_list);
$img_except_list = adblock_trim_list($img_except_list);
$elegant_degradation = (isset($adblock_params["elegant_degradation"]) && $adblock_params["elegant_degradation"] == "1") ? true : false;
......@@ -244,10 +244,10 @@ function adblock_plugin_setting_bloc(&$myUser) {
}
function adblock_plugin_setting_update($_) {
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser!=false) {
if($_['action'] == 'adblock_update') {
$flash_enabled = (int) $_['flash_adblock_enable'];
if($_['action'] == 'adblock_update') {
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser!=false) { $flash_enabled = (int) $_['flash_adblock_enable'];
$flash_block = (int) $_['flash_adblock_default_behavior'];
$flash_list = str_replace("\r\n", ",", trim($_["flash_adblock_list"]));
$flash_list = str_replace("\n", ",", trim($flash_list));
......
......@@ -14,6 +14,7 @@ Instructions
Version
=======
* v2.1.2 - les utilisateurs déconnectés ne chargent pas les préférences de l'utilisateur
* v2.1.1 - Utilise la CSS dynamique pour choisir la largeur de l'affichage des articles quand le menu est affiché
* v2.1.0 - ajout d'un controle (suite à une erreur dans la console js)
* v2.0.1 - i18n + modif intégration sur Marigolds
......
<?php
/*
@name cacheListFeed
@author Cobalt74 <cobalt74@gmail.com>
@author Cobalt74 <http://www.cobestran.com>
@link http://www.cobestran.com
@licence CC by nc sa http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
@version 2.1.1
@version 2.1.2
@description Le plugin cacheListFeed permet de cacher la liste des feed afin de lire les news en plein écran.
*/
......@@ -22,7 +22,10 @@ function cacheListFeed_plugin_action (&$_) {
}
if ($_['action']=='getCacheListFeed'){
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser==false) exit();
if($myUser==false) {
echo 1;
exit();
}
$configurationManager = new Configuration();
$configurationManager->getAll();
echo $configurationManager->get('cacheListFeed');
......
......@@ -5,7 +5,7 @@
@link https://redmine.adorsaz.ch/projects/leed-market_
@link git://adorsaz.ch/leed-market.git
@licence LGPLv3
@version 1.1.2
@version 1.1.3
@description Ce plugin permet de télécharger vos articles au format epub pour une lecture hors-ligne.
*/
......@@ -136,12 +136,13 @@ function epub_plugin_settings(){
/* Mise à jour des options */
function epub_plugin_update_settings(&$_){
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser===false) exit('Vous devez vous connecter pour mettre à jour les options du plugin Epub.');
$configManager = new Configuration();
$configManager->getAll();
if($_['action']=='epub_plugin_update'){
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser===false) exit('Vous devez vous connecter pour mettre à jour les options du plugin Epub.');