Aller au contenu
Invision Board France

Rendre compatible une appli 4.4 dans 4.5


Zorro_X

Messages recommandés

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 !

  • J’aime 1
  • Merci 1
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • 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.