Dotclear

Ticket #1713 (closed defect: fixed)

Opened 11 years ago

Last modified 11 years ago

Distinguer les thèmes des plugins

Reported by: bruno Owned by: JcDenis
Priority: high Milestone: 2.6
Component: module:core Version: 2.5
Severity: normal Keywords:
Cc:

Description

Gloups ...

Actuellement, si dans "installer ou mettre à jour un thème", je dépose un fichier de plugin, le "thème" est bien installé.

Respectivement, si dans "installer ou mettre à jour un plugin", je dépose un fichier de thème, le "plugin" est bien installé...

Il faudrait trouver un moyen infaillible de distinguer un thème d'un plugin dans une archive et mettre les garde-fous qui vont bien dans le core, pour éviter les fausses manips.

Change History

comment:1 Changed 11 years ago by JcDenis

Je propose de rajouter un propriété "type" de registerModule. Par défaut pour garder la compatibilité avec l'ancien, si elle n'existe pas, on ne cherche pas la petit bête, si elle existe on check. On ajoute également dans dcModules une variable "type" pour qu'on puisse comparer à quelque chose. Par défault dans dcModules on met "type = plugin" et on met "type = theme" dans dcThemes.

z'en pensez ?

comment:2 Changed 11 years ago by franck

Ça me va

comment:3 Changed 11 years ago by bruno

Ça me semble pas mal :)

Ce serait possible dans packman (ou tout autre packager) de mettre un warning à la génération d'un livrable de thème/plugin préconisant d'ajouter cet attribut, pour encourager cette adoption ?

comment:4 Changed 11 years ago by franck

  • Owner changed from team to JcDenis
  • Milestone changed from A definir to 2.6

comment:5 Changed 11 years ago by JcDenis

J'aurais bien fait une option qui fait ça tout seul dans packman mais je le sens pas ! Je vais voir quand j'y passerais un coup de peinture si je peux ajouter une broutille. Sinon il est sur le lab, si t'as une idée ;)

comment:6 Changed 11 years ago by Denis Jean-Chirstian <contact@…>

  • Status changed from new to closed
  • Resolution set to fixed

(In [cd7100fa57db]) Prevent install theme as plugin and vice versa by adding property "type" to modules definition, fixes #1713

comment:7 Changed 11 years ago by JcDenis

Une nouvelle propiété 'type' est ajouté à la définition des plugins et thèmes, à ajouter dans le paramètre "Properties" de registerModule.

$this->registerModule(
	/* Name */		"xxx",
	/* Description*/	"xxx",
	/* Author */		"xxx",
	/* Version */		'0.0',
	/* Properties */	array(
						'standalone_config' => true,
						'type' => plugin'
					)
);

A noter:

  • La vérification ne se fait pas sur les plugins et thèmes n'ayant pas ce paramètre,
  • Lors de l'installation d'un paquetage si le type ne correspond pas, l'installation s'arrête, tout est nettoyé et un message d'erreur est affiché,
  • Un plugin ou thème de mauvais type installé par ftp affichera une erreur sur le tableau de bord d'un super admin et ne sera pas chargé. (Et donc impossible à effacer depuis Dotclear)

PS: j'en ai profité pour ajouter 'standalone_config' pour les plugins en vue du futur merge de la branche dcRepo.

comment:8 Changed 11 years ago by franck

il sert à quoi le standalone_config pour les plugins ? Exactement pareil que pour les thèmes ? Si oui, ok, si non il vaudrait mieux utiliser un autre nom, non ?

comment:9 Changed 11 years ago by JcDenis

Exactement la même fonction qui pour les thèmes, pour l'instant la gestion du _config.php est la même sur les deux types de modules, en attendant la suite des discussions sur ce sujet...

comment:10 Changed 11 years ago by franck

Ok, l'avenir nous dira si c'est utile ou pas.

comment:11 Changed 11 years ago by Dsls

(In [f9dcd2921221]) Let's be exemplary, see #1713

Note: See TracTickets for help on using tickets.

Sites map