Fichier ecrire/inc/rubriques.php

Fichier gérant l'actualisation et le suivi des rubriques, et de leurs branches

Source

Proposer une amélioration

Liste des fonctions

Liste des id_rubrique contenues dans une rubrique donnée

string calcul_branche_in( string | integer | array $id )

Paramètres

  1. string | integer | array $id

    Identifiant de la, ou des rubriques noeuds

Retour

  • string

    Liste des identifiants séparés par des virgules, incluant les rubriques noeuds et toutes leurs descendances

Package

Proposer une amélioration

Liste des id_rubrique contenant une rubrique donnée

string calcul_hierarchie_in( string | integer | array $id , boolean $tout = true )

Paramètres

  1. string | integer | array $id

    Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies

  2. boolean $tout = true

    inclure la rubrique de depart dans la hierarchie ou non

Retour

  • string

    Liste des identifiants séparés par des virgules, incluant les rubriques transmises et toutes leurs parentées

Package

Proposer une amélioration

Redéfinit la langue du site sur les rubriques sans langue spécifiée (langue_choisie différent de 'oui')

Redéfinit les langues des articles sans langue spécifiée (langue_choisie différent de 'oui') en les rebasant sur la langue de la rubrique parente lorsque ce n'est pas le cas.

void calculer_langues_rubriques( )

Retour

  • void

Appelle le pipeline

Package

Proposer une amélioration

Cherche les langues incorrectes de sous rubriques, qui doivent hériter de la rubrique parente lorsque langue_choisie est différent de oui, et les corrige.

boolean calculer_langues_rubriques_etape( )

Retour

  • boolean

    true si un changement a eu lieu

Package

Proposer une amélioration

La recherche de langue est effectuée en recréant une boucle pour chaque objet éditorial gérant des langues de sorte que les éléments non publiés ne sont pas pris en compte.

string calculer_langues_utilisees( string $serveur = '' )

Paramètres

  1. string $serveur = ''

    Nom du connecteur à la base de données

Retour

  • string

    Liste des langues utilisées séparées par des virgules

Utilisé par

Package

Proposer une amélioration

Appelée lorsqu'un (ou plusieurs) article post-daté arrive à terme ou est redaté

void calculer_prochain_postdate( boolean $check = false )

Paramètres

  1. boolean $check = false

    true pour affecter le statut des rubriques concernées.

Retour

  • void

Appelle le pipeline

Package

Proposer une amélioration

Recalcule le statut des rubriques, les langues héritées et la date du prochain article post-daté

Cette fonction est appelée après importation: elle calcule les meta-donnes resultantes et remet de la coherence au cas où la base importée en manquait

Cette fonction doit etre invoquée sans processus concurrent potentiel.

void calculer_rubriques( )

Retour

  • void

Utilisé par

Package

Proposer une amélioration

Fonction à appeler lorsque le statut d'un objet change dans une rubrique ou que la rubrique est deplacée.

Si le statut passe a "publie", la rubrique et ses parents y passent aussi et les langues utilisees sont recalculées. Conséquences symétriques s'il est depublié.

S'il est deplacé alors qu'il était publiée, double conséquence.

Tout cela devrait passer en SQL, sous forme de Cascade SQL.

boolean calculer_rubriques_if( integer $id_rubrique , array $modifs , string $statut_ancien = '' , boolean $postdate = false )

Paramètres

  1. integer $id_rubrique

    Identifiant de la rubrique

  2. array $modifs

    Tableau de description des modifications. Peut avoir 2 index, 'statut' étant obligatoire :

    • statut : indique le nouveau statut de la rubrique
    • id_rubrique : indiquer la rubrique dans laquelle on déplace la rubrique (son nouveau parent donc)
  3. string $statut_ancien = ''

    Ancien statut de la rubrique

  4. boolean $postdate = false

    true pour recalculer aussi la date du prochain article post-daté

Retour

  • boolean

    true si le statut change effectivement

Package

Proposer une amélioration

Attention, faute de SQL transactionnel on travaille sur des champs temporaires afin de ne pas casser la base pendant la demi seconde de recalculs

void calculer_rubriques_publiees( )

Retour

  • void

Utilisé par

Appelle le pipeline

Package

Proposer une amélioration

creer_rubrique_nommee('truc/machin/chose') va créer une rubrique truc, une sous-rubrique machin, et une sous-sous-rubrique chose, sans créer de rubrique si elle existe déjà à partir de $id_parent (par défaut, à partir de la racine)

NB: cette fonction est très pratique, mais pas utilisée dans le core pour rester légère elle n'appelle pas calculer_rubriques()

integer creer_rubrique_nommee( string $titre , integer $id_parent , string $serveur = '' )

Paramètres

  1. string $titre

    Titre des rubriques, séparés par des /

  2. integer $id_parent

    Identifiant de la rubrique parente

  3. string $serveur = ''

    Nom du connecteur à la base de données

Retour

  • integer

    Identifiant de la rubrique la plus profonde.

Package

Proposer une amélioration

Fonction à appeler lorsqu'on dépublie ou supprime quelque chose dans une rubrique.

boolean depublier_branche_rubrique_if( integer $id_rubrique )

Paramètres

  1. integer $id_rubrique

    Identifiant de la rubrique

Retour

  • boolean

    true si le statut change effectivement

Package

Todo

  • Le nom de la fonction est trompeur, vu que la fonction remonte dans la hierarchie !
Proposer une amélioration
boolean depublier_rubrique_if( integer $id_rubrique , string | null $date = null )

Paramètres

  1. integer $id_rubrique

    Identifiant de la rubrique à tester

  2. string | null $date = null

    Date pour le calcul des éléments post-datés. null = date actuelle.

Retour

  • boolean

    true si la rubrique a été dépubliée

Appelle le pipeline

Package

Proposer une amélioration

Liste des id_rubrique contenues dans une rubrique donnée pour le critere {branche}

Fonction surchargeable pour optimisation

string inc_calcul_branche_in_dist( string | integer | array $id )

Paramètres

  1. string | integer | array $id

    Identifiant de la, ou des rubriques noeuds

Retour

  • string

    Liste des identifiants séparés par des virgules, incluant les rubriques noeuds et toutes leurs descendances

Package

Proposer une amélioration

Liste des id_rubrique contenant une rubrique donnée, contrairement à la fonction calcul_branche_in() qui calcule les rubriques contenues

string inc_calcul_hierarchie_in_dist( string | integer | array $id , boolean $tout = true )

Paramètres

  1. string | integer | array $id

    Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies

  2. boolean $tout = true

    inclure la rubrique de depart dans la hierarchie ou non

Retour

  • string

    Liste des identifiants séparés par des virgules, incluant les rubriques transmises et toutes leurs parentées

Package

Proposer une amélioration

Cherche les rubriques ayant des id_secteur ou profondeurs ne correspondant pas avec leur parent, et les met à jour. De même avec les articles et leur id_secteur On procede en iterant la profondeur de 1 en 1 pour ne pas risquer une boucle infinie sur reference circulaire

void propager_les_secteurs( )

Retour

  • void

Appelle le pipeline

Package

Proposer une amélioration

Fonction à appeler lorsqu'on dépublie ou supprime quelque chose dans une rubrique.

boolean publier_branche_rubrique( integer $id_rubrique )

Paramètres

  1. integer $id_rubrique

    Identifiant de la rubrique

Retour

  • boolean

    true si le statut change effectivement

Package

Todo

  • Le nom de la fonction est trompeur, vu que la fonction remonte dans la hierarchie !
Proposer une amélioration

Dépréciées

Dépréciée, pour compatibilité

string calcul_branche( string | integer | array $generation )

Paramètres

  1. string | integer | array $generation

Retour

  • string

Voir également

Package

Deprecated

Proposer une amélioration

Liste des marqueurs

Type Ligne Description
TODO 104 Le nom de la fonction est trompeur, vu que la fonction remonte dans la hierarchie !
TODO 134 Le nom de la fonction est trompeur, vu que la fonction remonte dans la hierarchie !