Aller au contenu
Invision Board France

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 17/04/2023 dans toutes les zones

  1. Bonjour à tous, Je partage avec vous une petite astuce qui nous a été bien pratique et utile pour pouvoir passer en 4.5 depuis une 4.4 en ce qui concerne les applis tierces : malheureusement elles n'ont pas toutes été mises à jour par leurs créateurs. Elles sont cependant fonctionnelles dans la 4.5 mais si on essaie d'aller dans leur interface (après les avoir réactivées) on se retrouve face à un gros message d'erreur rouge qui fait peur vous disant que l'appli n'est pas compatible, honte à vous, vade rétro, allez donc payer pour la mise à jour dans la marketplace... Je précise que cela a fonctionné pour nos applis, testées par d'autres utilisateurs, mais faire cela peut aussi être dangereux pour vos communautés si l'appli n'est vraiment plus compatible avec Invision 4.5. Donc à pratiquer à vos risques et périls. Pensez au moins à sauvegarder avant d'essayer... Donc voilà, dans l'hébergement de votre communauté vous devez vous rendre dans le dossier "applications/<nom de votre appli>/modules/" : . à partir de là il s'agit de parcourir tous les sous-dossiers et de modifier tous les fichiers .php que vous rencontrez ; . vous devez ajouter le code suivant juste après la première déclaration d'une classe dans chacun de ces fichiers : /** * @brief Has been CSRF-protected */ public static $csrfProtected = TRUE; Par exemple, vous ouvrez un fichier qui ressemble à ceci : <?php namespace IPS\swiperslider\modules\admin\swiper; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * settings */ class _settings extends \IPS\Dispatcher\Controller { /** * Execute * * @return void */ public function execute() { \IPS\Dispatcher::i()->checkAcpPermission( 'settings_manage' ); parent::execute(); } Et donc vous ajoutez le code indiqué pour obtenir ceci : <?php namespace IPS\swiperslider\modules\admin\swiper; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * settings */ class _settings extends \IPS\Dispatcher\Controller { /** * @brief Has been CSRF-protected */ public static $csrfProtected = TRUE; /** * Execute * * @return void */ public function execute() { \IPS\Dispatcher::i()->checkAcpPermission( 'settings_manage' ); parent::execute(); } Voilà, vous faites ça dans tous les fichiers mentionnés, vous sauvegardez et puis lorsque vous revenez dans votre PCA : magie ! tout refonctionne ! (sous réserve d'incompatibilité un peu plus "profonde"). Cette astuce nous a été bien utile pour retrouver 2 applis qui nous sont très précieuses et dont une qui ne semble plus avoir de support de son créateur. En espérant que ceci puisse vous être utile, je vous souhaite bonne chance et bonne continuation !
    1 point
×
×
  • Créer...

Information importante

En utilisant ce site, vous êtes d’accords avec nos Conditions d’utilisation. Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookies, sinon nous supposerons que vous êtes d’accord pour continuer.