Randonnée - Marche nordique
Balisage - Écocitoyenneté

Programme en cours

 

 📚Comprendre les termes et définitions utilisés dans le programme 💡 

« Pas de chauffeur pas de rando, chacun à son tour prend son auto » 

$fileName, ), Log::ALL, array($loggerName) ); // Ajouter le message switch ( $level ) { case 'EMERGENCY': $level = Log::EMERGENCY; break; case 'ALERT': $level = Log::ALERT; break; case 'CRITICAL': $level = Log::CRITICAL; break; case 'ERROR': $level = Log::ERROR; break; case 'WARNING': $level = Log::WARNING; break; case 'NOTICE': $level = Log::NOTICE; break; case 'INFO': $level = Log::INFO; break; case 'DEBUG': $level = Log::DEBUG; break; default: $level = Log::INFO; } $appelant = CommunHelper::appelant(); Log::add( "[" . $appelant . "]-" . $message, $level, $loggerName); } #=================================================== # Contrôle la fréquence d'exécution d'un module Joomla via ses params. #=================================================== /** * @param string $nomModule Nom du module(sa position). * @param int $delai Durée entre deux exécutions. * @param string $unite uniteé de temps ('seconde', 'minute', 'heure', 'jour'). * * @return bool True si l'exécution est autorisée, False sinon. */ /**Exemple : use MonSite\Helpers\CommunHelper; $nbr=5;$delai=minute; if ( CommunHelper::peutExecuterModule('MOD-InscriptionAnimateur-moins-x-jours', $nbr, $delai) ) { echo "
Execution autorisée, cela fait plus de $nbr $delai (maj time) "; } else { echo "
Execution non autorisé , cela fait moins de $nbr $delai que le module s'est excuté "; } #Initialisation avec une heure pile exemple : 1747108800 ( Pour les nimateurs 1 fois par jour : 1747069200 12 mai à 19h GMT) GMT: Tuesday 13 May 2025 05:00:00 Your time zone: mardi 13 mai 2025 07:00:00 GMT+02:00 DST #site : https://www.epochconverter.com/ */ public static function peutExecuterModule($moduleNom, $delai = 1, $unite = 'heure') { // Conversion du délai en secondes $unites = [ 'minute' => 60, 'heure' => 3600, 'jour' => 86400, ]; if (!isset($unites[$unite])) { CommunHelper::ajoutLog("[CommunHelper::peutExecuterModule] Unité de temps invalide : $unite", "WARNING"); } $delaiEnSecondes = $delai * $unites[$unite]; $db = DatabaseHelper::getDb(); // Chercher le module dans la table modules $query = $db->getQuery(true) ->select('id, params') ->from('#__modules') ->where('position = ' . $db->quote($moduleNom)) ->where('published = 1') ->setLimit(1); $module = DatabaseHelper::selectOne($query); if (!$module) { CommunHelper::ajoutLog("[CommunHelper::peutExecuterModule] Erreur Position module $moduleNom introuvable", "WARNING"); } // Décoder les params $params = json_decode($module->params); $derniereExecution = isset($params->derniere_execution) ? (int) $params->derniere_execution : 0; #Heure actuelle en timestamp avec des secondes à 00 #$heureActuelle = time(); $date = new Date(); $date->setTime($date->format('H'), $date->format('i'), 0); $heureActuelle = $date->toUnix(); #Date stocker en timesatamp, conversion avec https://www.timestamp.fr/ ex: 1747048607 ==> 12/05/2025 13:16:47 if (($heureActuelle - $derniereExecution) < $delaiEnSecondes) { #Ce n'est pas le moment de l'executer return false; } else { // Mettre à jour la dernière exécution dans les params $params->derniere_execution = $heureActuelle; $paramsJson = json_encode($params); $query = $db->getQuery(true) ->update('#__modules') ->set('params = ' . $db->quote($paramsJson)) ->where('id = ' . (int) $module->id); $result = DatabaseHelper::execute($query, false); if ($result) { CommunHelper::ajoutLog("[CommunHelper::peutExecuterModule] Peut être executé $moduleNom : heureActuelle=$heureActuelle - derniereExecution=$derniereExecution) < delaiEnSecondes=$delaiEnSecondes", "INFO"); return true; } else { return false; } } } #=================================================== # Connaitre l'appelant #=================================================== /** * @return le chemin de l'appelant (peut-être ameliorer). */ /**Exemple : use MonSite\Helpers\CommunHelper; $appelant = CommunHelper::appelant() */ public static function appelant() { $db = DatabaseHelper::getDb(); $app = \Joomla\CMS\Factory::getApplication(); $option = $app->input->getCmd('option'); // com_content, com_users etc. $view = $app->input->getCmd('view'); // article, category etc. $id = $app->input->getInt('id'); // récupère l'id s'il existe $appelant = $app->getName() . "/" . $option . "/" . $view; // Si c'est un article, on récupère son titre if ($option === 'com_content' && $view === 'article' && $id) { $query = $db->getQuery(true) ->select($db->quoteName('title')) ->from($db->quoteName('#__content')) ->where($db->quoteName('id') . ' = ' . (int) $id); $title = DatabaseHelper::selectOne($query, false); if ($title) { $appelant .= " / Article: " . $title; } } return $appelant; } /** * Redirige vers l'URL Joomla demandée * * @param string $url L'URL interne Joomla (ex: 'index.php?option=com_acym&ctrl=campaigns&task=campaigns') * @param boolean $useSEF true pour convertir en SEF via JRoute */ public static function redirectVers($url, $useSEF = true) { $app = Factory::getApplication(); // Génération de l'URL via JRoute si demandé $redirectUrl = $useSEF ? Route::_($url) : $url; // Redirection $app->redirect($redirectUrl); // Important : stoppe l'exécution après redirection $app->close(); } public static function direBonjour($nom) { return "Bonjour, $nom !"; } #=================================================== # Suis-je sur le site de prod ? (false/true) #=================================================== public static function isProductionSite(): bool { $host = $_SERVER['HTTP_HOST']; return $host === 'rando-plaisirs.fr'; } #=================================================== # Retourne le mois en français et en majuscules à partir d'une date #=================================================== /** * @param string $date Date au format 'Y-m-d' ou 'Y-m-d H:i:s' (ex : '2018-07-01' ou '2018-08-31 15:31:35') * @return string Mois en lettres capitales (ex: 'JANVIER') */ public static function getMoisFrancais($moisNum) { $intVal = (int) $moisNum; $moisFrancais = [ 1 => 'janvier', 2 => 'février', 3 => 'mars', 4 => 'avril', 5 => 'mai', 6 => 'juin', 7 => 'juillet', 8 => 'août', 9 => 'septembre', 10 => 'octobre', 11 => 'novembre', 12 => 'décembre' ]; return mb_strtoupper($moisFrancais[$intVal], 'UTF-8'); } }

 

Les berges de l'Amadou par le chemin d'En Causse (ANNULEE)

randonnee02
Catégorie
Randonnée 1/2j
Date
mardi 21 novembre 13:30
Lieu
Ayguesvives
Email
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Dépt/Pays
31
1/ Longueur
8km
1/ Dénivelé
70m
1/ Niveau d'effort
IBP=21
Dist. de Rville
16km
Départ de
Place Jean Jaurès à Rville
Transport
Covoiturage
Prix
3€ pour PO
Porte Ouverte (PO)
Oui
Rando pour tous
Oui
Informations
En raison d'une mauvaise météo, cette randonnée est annulée. Elle sera proposée le plus tôt possible en dernière minute.
Animateur (Org.)
Marie-France D. 06 81 36 18 14
Animateur
Jos B. 06 88 30 36 21
Mardi. Rando de 8km dén 70m . 16km de Rville. (PO)
 
 

  RP ADMIN LOGO

© 2024 Rando-Plaisirs

Qui sommes-nous? | Mentions légales | Connexion | Nous contacter

logo Ramonville   logo Toulouse   logo Pechbusque   logo Sicoval  logo helloasso logo CD31    logo Ministere sport   logo ffrp31

Nous utilisons des cookies

Ce site utilise des cookies pour assurer son bon fonctionnement et ne peuvent pas être désactivés de nos systèmes.
Nous ne les utilisons pas à des fins publicitaires.

Ok