Dotclear

Ticket #1001 (closed enhancement: fixed)

Opened 15 years ago

Last modified 15 years ago

Revoir $core->meta->getMeta

Reported by: bruno Owned by: xave
Priority: normal Milestone: 2.3
Component: module:core Version: dev
Severity: normal Keywords:
Cc:

Description

La signature de la méthode getMeta de la classe Meta est la suivante :

	public function getMeta($type=null,$limit=null,$meta_id=null,$post_id=null)

Il y a certainement plus "élégant" comme approche, et surtout plus extensible sans casser la compatibilité.

Je propose une harmonisation comme c'est fait pour les billets, ie.

	public function getMeta($params=array(), $count_only=false) {

A noter : l'ajout de $count_only, qui manque actuellement. Dans un but transitoire, on peut bien sûr ajouter une nouvelle méthode plutôt que de renommer l'ancienne...

Change History

comment:1 follow-up: ↓ 3 Changed 15 years ago by bruno

Accessoirement, le code situé sous l'appel $this->con->select (appel à toStatic compris) me semble bien spécifique aux tags, il faudrait peut-être envisager de le déplacer dans le plugin tags...

comment:2 Changed 15 years ago by bruno

(In [3140]) Proposal for $core->meta->getMeta enhancement, see #1001. Compatibility is kept with older getMeta method, now defines a new method "getMetas".

comment:3 in reply to: ↑ 1 ; follow-up: ↓ 4 Changed 15 years ago by xave

Replying to bruno:

Accessoirement, le code situé sous l'appel $this->con->select (appel à toStatic compris) me semble bien spécifique aux tags, il faudrait peut-être envisager de le déplacer dans le plugin tags...

Pas d'accord. Si tu parles bien des lignes vers 200~210, je n'y vois rien de spécifique au tags. C'est un traitement qui n'est utilisé que par le plugin tag, mais qui peut éventuellement servir ailleurs.

comment:4 in reply to: ↑ 3 Changed 15 years ago by bruno

Replying to xave:

Pas d'accord. Si tu parles bien des lignes vers 200~210, je n'y vois rien de spécifique au tags. C'est un traitement qui n'est utilisé que par le plugin tag, mais qui peut éventuellement servir ailleurs.

Je ne suis pas contre le laisser dans la classe Meta, mais il faudrait bien distinguer ce traitement du reste (c'est le sens de ma proposition de patch), il reste quand même réservé à certains cas bien spécifiques.

comment:5 Changed 15 years ago by xave

Oui. Moi, ce qui m'emmerde, c'est d'avoir deux fonctions avec un nom aussi proche. C'est vrai que dans l'absolu, getMetas devrait prendre la place de getMeta quitte à ajouter un getMetaPercents ou un truc du genre, mais jusqu'où on peut aller dans cette direction là sans casser l'existant ? (je pense surtout à l'appel à getMeta(s), le calcul des pourcentages, je ne suis pas persuadé qu'il soit utilisé ailleurs que dans le plugin Tags, on peut sans doute sans trop de risques ajouter un appel dans celui-ci.)

comment:6 Changed 15 years ago by bruno

J'ai choisi getMetas comme nom, mais on peut opter pour getMetadata, en précisant que getMeta sera deprecated...

J'ai cherché sur le lab, aucun plugin n'exploite les percent...

comment:7 Changed 15 years ago by xave

Oui mais il y en a qui exploitent les roundpercent.

comment:8 Changed 15 years ago by xave

Sinon, getMetadata, j'aime mieux. Tu me fais un getMetaStats pour qu'on puisse vraiment passer getMeta en deprecated sans perdre de fonctionnalité ? :)

comment:9 Changed 15 years ago by bruno

(In [3146]) Introduced computeMetaStats method, renamed getMetas to getMetadata, documented the code... see #1001

comment:10 Changed 15 years ago by bruno

(In [3147]) Updated services.php and tags plugins according to [3146], see #1001

comment:11 Changed 15 years ago by xave

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

(In [3148]) Cleanup in Metadata class, updates here & there to acknowledge the changes. by DSLS. Closes #1001.

Note: See TracTickets for help on using tickets.

Sites map