Le besoin
Je pense que le met, ça vous parle (surtout si vous vivez à Metz) mais cette acronyme vous en dire tellement de choses, y compris le nom d'un très joli musée à New York, dans notre cas le maître est une méthode permettant de mesurer l'intensité d'une activité physique ainsi que sa dépense énergétique associée. Sans vouloir recopier l'intégralité de l'article du site Wikipédia, que je vous conseille de lire afin de mieux comprendre le mien, cette information vous permet de calculer la notion d'intensité physique lors d'une activité physique.
Fonctionnement
Le fonctionnement est super simple, il suffit d'encadrer entre deux balises {calcul_MET] et {/calcul_MET} et le résultat de l'opération MET de l'activité x Poids x Durée de l'activité apparait.
Attention toutefois, le résultat affiché utilise la constante de la marche, puisque c'est cette activité que je vais pratiquer !
Et ce plugin peut être la base de n'importe quel autre calcul retourné via un plugin
Code
calculmet.php
<?php
defined('_JEXEC') or die('Access deny');
class plgContentcalculMet extends JPlugin
{
function onContentPrepare($content, $article, $params, $limit){
$document = JFactory::getDocument();
$document->addStyleSheet(JURI::base().'plugins/content/calculmet/style.css');
$re = '/{calcul_MET}(.*){\/calcul_MET}/mi';
preg_match_all($re, $article->text, $matches, PREG_SET_ORDER, 0);
$ch = explode(',',$matches[0][1]);
$r1 = (intval($ch[0]) * 4 * intval($ch[1]))/200;
$r2 = (intval($ch[0]) * 5.3 * intval($ch[1]))/200;
$rmoyenne = ($r1+$r2)/2;
$re = '/{calcul_MET}.*{\/calcul_MET}/mi';
$ch = '<div class="calcul-MET">';
$ch .= '<div><span class="libelle libelle-min">Valeur minimale</span><span class="libelle valeur-min">'.$r1.'</span></div>
<div><span class="libelle libelle-moyenne">Valeur moyenne</span><span class="libelle valeur-moyenne">'.$rmoyenne.'</span></div>
<div><span class="libelle libelle-max">Valeur maximale</span><span class="libelle valeur-max">'.$r2.'</span></div>';
$article->text = preg_replace($re, $ch, $article->text);
}
}
?>
calculmet.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="1.0" type="plugin" group="content" method="upgrade">
<name>calcul calories marche </name>
<author>Sébastien LHUILLIER</author>
<creationDate>Juillet 2024</creationDate>
<copyright></copyright>
<license></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>
Caclule le nombre de calories en retournant la valeur minimale et maximale de calories dépensées à partir d'une distance parcourue.
</description>
<files>
<filename>calculmet.xml</filename>
<filename plugin="calculmet">calculmet.php</filename>
</files>
</extension>
style.css
.calcul-MET div .libelle.libelle-min {
red: Acolor;
color: red;
font-weight: bold;
}
.calcul-MET div .libelle.libelle-min::after {
content: " : ";
}
.calcul-MET div .libelle.libelle-max {
red: Acolor;
color: red;
font-weight: bold;
width: 100%;
}
.calcul-MET div .libelle.libelle-max::after {
content: " : ";
}
.calcul-MET div .libelle.libelle-moyenne {
red: Acolor;
color: red;
font-weight: bold;
width: 100%;
}
.calcul-MET div .libelle.libelle-moyenne::after {
content: " : ";
}