Lorsque vous écrivez un article ou plutôt lorsque j'écris certains de mes articles, dans mon cadre professionnel toujours, je suis amené à pouvoir devoir masquer certaines informations de l'article en fonction du fait si l'utilisateur est connecté ou non. Dans la mesure où nous avons que des utilisateurs de type "administrateur", cela me gêne de créer à chaque fois un module pour appliquer des droits, module que je dois réappliquer dans mon article que je suis en train d'écrire. Ca marche mais ca me crée une prolifération de modules "inutiles".
isregistered.php
<?php
defined('_JEXEC') or die('Access deny');
use Joomla\CMS\Factory;
class plgContentIsRegistered extends JPlugin
{
function onContentPrepare($content, $article, $params, $limit){
On extrait ce qu'il y a dans la balise isRegistered if(JFactory::getUser()->guest){ $article->text = preg_replace('/{isRegistered}(.*?){\/isRegistered}/s', '', $article->text); } else { $article->text = preg_replace('/{isRegistered}(.*?){\/isRegistered}/s', $match[1], $article->text); } } }
isregistered.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.1" type="plugin" group="Content">
<name>IsRegistered</name>
<author>Sebastien LHUILLIER</author>
<creationDate>Septembre 2022</creationDate>
<copyright>Sébastien LHUILLIER</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.</authorEmail>
<authorUrl>www.sebastien-lhuillier.com</authorUrl>
<version>1.0</version>
<description>Ce plugin permet d'afficher du code seulent si l'utilisateur est un utilisateur conencté</description>
<files>
<filename plugin="isregistered">isregistered.php</filename>
<filename>isregistered.xml</filename>
</files>
</extension>
