Page 1 sur 1

lien sur notification éroné

Publié : 02 févr. 2025, 12:06
par cachou63
bonjour,

j'héberge chez moi un projet agora. cela me convient très bien. mais j'ai un soucis sur les liens envois par notification.
ses liens sont envoyés avec l'adresse IP mais il manque le port à l'adresse IP.
comment rajouter le port ?

merci de votre aide

Re: lien sur notification éroné

Publié : 02 févr. 2025, 19:06
par charlotteaubrry
Vérifie la config de ton projet Agora, tu dois sûrement spécifier le port dans les variables d'environnement ou le fichier de config qui génère les liens

Re: lien sur notification éroné

Publié : 06 févr. 2025, 16:41
par patrickgigi76
Bonjour,

Ton problème vient sûrement du fait qu’Agora génère les liens sans inclure le port. Pour corriger ça, essaie de vérifier la configuration :

Regarde si Agora permet de configurer une URL de base (souvent dans un fichier config.yml ou une variable d’environnement). Si oui, ajoute ton port :
BASE_URL=http://TON_IP:PORT

Si tu utilises un proxy (Nginx, Apache), assure-toi qu’il redirige bien les requêtes vers le bon port.

Si Agora ne permet pas de configurer ça directement, il faudra peut-être modifier la façon dont les liens sont générés dans le code.

Re: lien sur notification éroné

Publié : 12 févr. 2025, 21:51
par bololo
Bonjour,

J'ai réglé le problème en corrigeant Req.php avec ce patch :

Code : Tout sélectionner

--- Req.php.before	2024-06-14 20:15:18.718426267 +0200
+++ Req.php	2024-06-14 20:18:53.582633683 +0200
@@ -147,15 +147,21 @@
 	/**************************************************************************************************************************************************************
 	 * RECUPÈRE L'URL COURANTE DE BASE (exple  "https://www.mon-espace.net/agora/index.php?ctrl=file&typeId=file-55"  =>  "https://www.mon-espace.net/agora")
 	 **************************************************************************************************************************************************************/
-	public static function getCurUrl($urlProtocol=true)
-	{
-		//Spécifie le protocole dans l'url (vide si affichage simplifié de l'url)
-		if($urlProtocol==false)				{$urlProtocol=null;}
-		elseif(!empty($_SERVER['HTTPS']))	{$urlProtocol="https://";}
-		else								{$urlProtocol="http://";}
-		//Renvoie l'url sans les paramètres ni le dernier "/" (Note : toutes les requêtes passent par "index.php")
-		return $urlProtocol.$_SERVER['SERVER_NAME'].rtrim(dirname($_SERVER["PHP_SELF"]),'/');
-	}
+        public static function getCurUrl($urlProtocol=true)
+        {
+                //Spécifie le protocole dans l'url (vide si affichage simplifié de l'url)
+                if($urlProtocol==false)                                 {$urlProtocol=null;}
+                elseif(!empty($_SERVER['HTTP_X_FORWARDED_PROTO']))      {$urlProtocol=$_SERVER['HTTP_X_FORWARDED_PROTO']."://";}
+                elseif(!empty($_SERVER['HTTPS']))                       {$urlProtocol="https://";}
+                else                                                    {$urlProtocol="http://";}
+                //Spécifie le port dans l'url (vide is affichage simplifié de l'url)
+                if(is_null($urlProtocol))                               {$urlPort=null;}
+                elseif(!empty($_SERVER['HTTP_X_FORWARDED_PORT']))       {$urlPort=":".$_SERVER['HTTP_X_FORWARDED_PORT'];}
+                elseif(!empty($_SERVER['SERVER_PORT']))                 {$urlPort=":".$_SERVER['SERVER_PORT'];}
+                //Renvoie l'url sans les paramètres ni le dernier "/" (Note : toutes les requêtes passent par "index.php")
+                return $urlProtocol.$_SERVER['SERVER_NAME'].$urlPort.rtrim(dirname($_SERVER["PHP_SELF"]),'/');
+        }
+
 
 	/*******************************************************************************************
 	 * VÉRIF SI ON EST SUR UN HOST
@@ -253,4 +259,4 @@
 			exit;
 		}
 	}
-}
\ Pas de fin de ligne à la fin du fichier
+}
Ça s'utilise ou en faisant les modifications à la main (lignes 147 et suivantes) ou avec la commande patch :

Code : Tout sélectionner

$ patch -u /var/www/agora-project/app/Common/Req.php -i Req.patch
Il faut refaire l'opération après chaque mise à jour d'Agora, en espérant que le fichier d'origine n'ait pas changé.