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'); } }

 

Aux portes de l'été *

Catégorie
Autre manifestation
Date
vendredi 23 juin 19:00
Lieu
Salle des Fêtes de Pechbusque
Nombre de places
200
Places disponibles
132
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
Prix
15€
Porte Ouverte (PO)
Oui
Précisions
Buffet avec soirée dansante . Vous êtes invité(e)s à venir coiffé(e)s d'un chapeau fleuri
Informations
Réservé aux adhérents et leur conjoint
Animateur (Org.)
Janine B. 06 98 07 36 66
Animateur
Stéphane F. 06 64 91 75 26
Participant maxi
100
Déb inscription
2023-06-09
Fin inscription
2023-06-19
Vendredi. INSCRIPTION OBLIGATOIRE à partir du 09/06 à 19h jusqu'au 19/06 à 19h. (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