Browse Source

PHPDoc complet des brèves

svn/root/tags/plugins/breves/1.3.4 v1.3.4
marcimat@rezo.net 11 years ago
parent
commit
0fc6706511
  1. 93
      action/editer_breve.php
  2. 21
      base/breves.php
  3. 19
      breves_administrations.php
  4. 64
      breves_autoriser.php
  5. 19
      breves_ieconfig.php
  6. 96
      breves_pipelines.php
  7. 18
      formulaires/configurer_breves.php
  8. 105
      formulaires/editer_breve.php
  9. 2
      paquet.xml

93
action/editer_breve.php

@ -10,9 +10,26 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Gestion de l'action editer_breve
*
* @package SPIP\Breve\Actions
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
// http://doc.spip.org/@action_editer_breve_dist
/**
* Action d'édition d'une brève dans la base de données dont
* l'identifiant est donné en paramètre de cette fonction ou
* en argument de l'action sécurisée
*
* Si aucun identifiant n'est donné, on crée alors une nouvelle brève.
*
* @param null|int $arg
* Identifiant de la brève. En absence utilise l'argument
* de l'action sécurisée.
* @return array
* Liste : identifiant de la brève, texte d'erreur éventuel
**/
function action_editer_breve_dist($arg=null) {
if (is_null($arg)){
@ -33,12 +50,17 @@ function action_editer_breve_dist($arg=null) {
return array($id_breve,$err);
}
/**
* Inserer une breve en base
* http://doc.spip.org/@insert_breve
* Insertion d'une brève dans une rubrique
*
* @pipeline_appel pre_insertion
* @pipeline_appel post_insertion
*
* @param int $id_rubrique
* Identifiant de la rubrique
* @return int
* Identifiant de la nouvelle brève.
*/
function breve_inserer($id_rubrique) {
@ -85,15 +107,20 @@ function breve_inserer($id_rubrique) {
}
/**
* Modifier une breve en base
* $c est un contenu (par defaut on prend le contenu via _request())
*
* http://doc.spip.org/@revisions_breves
*
* Modifier une brève en base
*
* @param int $id_breve
* @param array $set
* @return string|bool
* Identifiant de la brève à modifier
* @param array|null $set
* Couples (colonne => valeur) de données à modifier.
* En leur absence, on cherche les données dans les champs éditables
* qui ont été postés (via _request())
* @return string|null
* Chaîne vide si aucune erreur,
* Null si aucun champ à modifier,
* Chaîne contenant un texte d'erreur sinon.
*/
function breve_modifier ($id_breve, $set=null) {
@ -128,12 +155,19 @@ function breve_modifier ($id_breve, $set=null) {
return $err;
}
/**
* Instituer une breve : modifier son statut ou son parent
* Instituer une brève : modifier son statut ou son parent
*
* @pipeline_appel pre_insertion
* @pipeline_appel post_insertion
*
* @param int $id_breve
* Identifiant de la brève
* @param array $c
* @return string
* Couples (colonne => valeur) des données à instituer
* @return string|null
* Null si aucun champ à modifier, chaîne vide sinon.
*/
function breve_instituer($id_breve, $c) {
$champs = array();
@ -226,10 +260,43 @@ function breve_instituer($id_breve, $c) {
return ''; // pas d'erreur
}
// Fonctions Dépréciées
// --------------------
/**
* Insertion d'une brève dans une rubrique
*
* @deprecated Utiliser breve_inserer()
* @see breve_inserer()
*
* @param int $id_rubrique
* Identifiant de la rubrique
* @return int
* Identifiant de la nouvelle brève.
*/
function insert_breve($id_rubrique) {
return breve_inserer($id_rubrique);
}
/**
* Créer une révision de brève
*
* @deprecated Utiliser breve_modifier()
* @see breve_modifier()
*
* @param int $id_breve
* Identifiant de la brève à modifier
* @param array|null $set
* Couples (colonne => valeur) de données à modifier.
* En leur absence, on cherche les données dans les champs éditables
* qui ont été postés (via _request())
* @return string|null
* Chaîne vide si aucune erreur,
* Null si aucun champ à modifier,
* Chaîne contenant un texte d'erreur sinon.
*/
function revisions_breves ($id_breve, $set=false) {
return breve_modifier($id_breve,$set);
}
?>
?>

21
base/breves.php

@ -10,13 +10,22 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Déclarations relatives à la base de données
*
* @package SPIP\Breves\Pipelines
**/
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Interfaces des tables breves pour le compilateur
* Déclare les alias de boucle et traitements automatiques de certaines balises
*
* @pipeline declarer_tables_interfaces
* @param array $interfaces
* Déclarations d'interface pour le compilateur
* @return array
* Déclarations d'interface pour le compilateur
*/
function breves_declarer_tables_interfaces($interfaces) {
$interfaces['table_des_tables']['breves'] = 'breves';
@ -32,7 +41,15 @@ function breves_declarer_tables_interfaces($interfaces) {
return $interfaces;
}
/**
* Déclarer l'objet éditorial de brèves
*
* @pipeline declarer_tables_objets_sql
* @param array $tables
* Description des tables
* @return array
* Description complétée des tables
*/
function breves_declarer_tables_objets_sql($tables){
$tables['spip_breves'] = array(
'texte_retour' => 'icone_retour',

19
breves_administrations.php

@ -10,13 +10,22 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Fichier gérant l'installation et désinstallation du plugin
*
* @package SPIP\Breves\Installation
**/
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Installation/maj des tables breves
* Installation/maj des tables de brèves
*
* Crée les tables SQL du plugin (spip_breves)
*
* @param string $nom_meta_base_version
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
* @param string $version_cible
* Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
*/
function breves_upgrade($nom_meta_base_version,$version_cible){
// cas particulier :
@ -41,11 +50,15 @@ function breves_upgrade($nom_meta_base_version,$version_cible){
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
/**
* Desinstallation/suppression des tables breves
* Désinstallation du plugin
*
* Supprime les tables SQL du plugin (spip_breves)
*
* @param string $nom_meta_base_version
*/
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
**/
function breves_vider_tables($nom_meta_base_version) {
sql_drop_table("spip_breves");

64
breves_autoriser.php

@ -10,24 +10,59 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Déclarations d'autorisations
*
* @package SPIP\Breves\Autorisations
**/
if (!defined('_ECRIRE_INC_VERSION')) return;
// pour le pipeline d'autorisation
/**
* Fonction du pipeline autoriser. N'a rien à faire
* @pipeline autoriser
*/
function breves_autoriser(){}
// bouton du bandeau
/**
* Autoriser les brèves dans le menu de navigation
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
function autoriser_breves_menu_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
return ($GLOBALS['meta']["activer_breves"] != "non");
}
/**
* Autoriser la création de brèves dans le menu de navigation
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
function autoriser_brevecreer_menu_dist($faire, $type, $id, $qui, $opt){
return ($GLOBALS['meta']["activer_breves"] != "non");
}
// Autoriser a creer une breve dans la rubrique $id
// http://doc.spip.org/@autoriser_rubrique_creerbrevedans_dist
/**
* Autoriser à créer une brève dans la rubrique $id
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
function autoriser_rubrique_creerbrevedans_dist($faire, $type, $id, $qui, $opt) {
$r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=".intval($id));
return
@ -38,10 +73,19 @@ function autoriser_rubrique_creerbrevedans_dist($faire, $type, $id, $qui, $opt)
}
// Autoriser a modifier la breve $id
// = admins & redac si la breve n'est pas publiee
// = admins de rubrique parente si publiee
// http://doc.spip.org/@autoriser_breve_modifier_dist
/**
* Autoriser à modifier la brève $id
*
* - admins & redac si la brève n'est pas publiée
* - admins de rubrique parente si publiée
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
function autoriser_breve_modifier_dist($faire, $type, $id, $qui, $opt) {
$r = sql_fetsel("id_rubrique,statut", "spip_breves", "id_breve=".intval($id));
return
@ -53,4 +97,4 @@ function autoriser_breve_modifier_dist($faire, $type, $id, $qui, $opt) {
}
?>
?>

19
breves_ieconfig.php

@ -1,8 +1,23 @@
<?php
/**
* Déclarations des configurations qui peuvent être sauvegardées
*
* @package SPIP\Breves\Pipelines
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
// On déclare ici la config du core
/**
* Ajoute les metas sauvegardables de Brèves pour le plugin IEConfig
*
* @pipeline ieconfig_metas
*
* @param array $table
* Déclaration des sauvegardes
* @return array
* Déclaration des sauvegardes complétées
**/
function breves_ieconfig_metas($table){
$table['breves']['titre'] = _T('breves:titre_breves');
$table['breves']['icone'] = 'breve-16.png';
@ -11,4 +26,4 @@ function breves_ieconfig_metas($table){
return $table;
}
?>
?>

96
breves_pipelines.php

@ -10,14 +10,21 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Utilisations de pipelines
*
* @package SPIP\Breves\Pipelines
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Definir les meta de configuration liee aux breves
* Définir les meta de configuration liées aux brèves
*
* @param array $metas
* Couples nom de la méta => valeur par défaut
* @return array
* Couples nom de la méta => valeur par défaut
*/
function breves_configurer_liste_metas($metas){
$metas['activer_breves'] = 'non';
@ -25,10 +32,12 @@ function breves_configurer_liste_metas($metas){
}
/**
* Ajouter les breves a valider sur les rubriques
* Ajouter les brèves à valider sur les rubriques
*
* @param array $flux
* @return array
* @pipeline rubrique_encours
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
**/
function breves_rubrique_encours($flux){
if ($flux['args']['type'] == 'rubrique') {
@ -52,10 +61,12 @@ function breves_rubrique_encours($flux){
/**
* Ajouter les breves references sur les vues de rubriques
* Ajouter les brèves référencées sur les vues de rubriques
*
* @param array $flux
* @return array
* @pipeline affiche_enfants
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
**/
function breves_affiche_enfants($flux) {
if ($e = trouver_objet_exec($flux['args']['exec'])
@ -83,10 +94,16 @@ function breves_affiche_enfants($flux) {
/**
* Bloc sur les informations generales concernant chaque type d'objet
*
* Ajoute le nombre de brèves sur l'accueil privé
*
* @pipeline accueil_informations
*
* @param string $texte
* HTML des informations générales concernant chaque type d'objet
* sur la page d'accueil privée
* @return string
* HTML des informations générales concernant chaque type d'objet
* sur la page d'accueil privée
*/
function breves_accueil_informations($texte){
include_spip('base/abstract_sql');
@ -129,10 +146,12 @@ function breves_accueil_informations($texte){
/**
* Compter les breves dans une rubrique
* Compter les brèves dans une rubrique
*
* @param array $flux
* @return array
* @pipeline objet_compte_enfants
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_objet_compte_enfants($flux){
if ($flux['args']['objet']=='rubrique'
@ -149,10 +168,12 @@ function breves_objet_compte_enfants($flux){
/**
* Changer la langue des breves si la rubrique change
* Changer la langue des brèves si la rubrique change
*
* @param array $flux
* @return array
* @pipeline trig_calculer_langues_rubriques
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_trig_calculer_langues_rubriques($flux){
@ -161,16 +182,18 @@ function breves_trig_calculer_langues_rubriques($flux){
$id_breve = $row['id_breve'];
sql_updateq('spip_breves', array("lang"=>$row['lang'], 'langue_choisie'=>'non'), "id_breve=$id_breve");
}
return $flux;
}
/**
* Publier et dater les rubriques qui ont une breve publie
* Publier et dater les rubriques qui ont une brève publiée
*
* @param array $flux
* @return array
* @pipeline calculer_rubriques
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_calculer_rubriques($flux){
@ -183,12 +206,13 @@ function breves_calculer_rubriques($flux){
/**
* Ajouter les breves a valider sur la page d'accueil
* Ajouter les brèves à valider sur la page d'accueil
*
* @param array $flux
* @return array
* @pipeline accueil_encours
*
* @param string $flux HTML du bloc encours sur la page d'accueil privée
* @return string HTML du bloc encours sur la page d'accueil privée
**/
function breves_accueil_encours($flux){
$lister_objets = charger_fonction('lister_objets','inc');
@ -205,10 +229,12 @@ function breves_accueil_encours($flux){
/**
* Optimiser la base de donnee en supprimant les liens orphelins
* Optimiser la base de données en supprimant les liens de brèves orphelins
*
* @param array $flux
* @return array
* @pipeline optimiser_base_disparus
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_optimiser_base_disparus($flux){
$n = &$flux['data'];
@ -237,10 +263,12 @@ function breves_optimiser_base_disparus($flux){
}
/**
* Afficher le nombre de breves dans chaque rubrique
* Afficher le nombre de brèves dans chaque rubrique
*
* @param array $flux
* @return array
* @pipeline boite_infos
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_boite_infos($flux){
if ($flux['args']['type']=='rubrique'
@ -255,9 +283,13 @@ function breves_boite_infos($flux){
}
/**
* Configuration des contenus
* @param array $flux
* @return array
* Ajoute le formulaire de configuration des brèves sur la page de
* configuration des contenus
*
* @pipeline affiche_milieu
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_affiche_milieu($flux){
if ($flux["args"]["exec"] == "configurer_contenu") {

18
formulaires/configurer_breves.php

@ -10,8 +10,19 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Gestion du formulaire de configuration des brèves
*
* @package SPIP\Breves\Formulaires
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Chargement du formulaire de configuration des brèves
*
* @return array
* Environnement du formulaire
**/
function formulaires_configurer_breves_charger_dist(){
foreach(array(
"activer_breves",
@ -21,7 +32,12 @@ function formulaires_configurer_breves_charger_dist(){
return $valeurs;
}
/**
* Traitement du formulaire de configuration des brèves
*
* @return array
* Retours du traitement
**/
function formulaires_configurer_breves_traiter_dist(){
$res = array('editable'=>true);
foreach(array(

105
formulaires/editer_breve.php

@ -10,11 +10,38 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Gestion du formulaire de d'édition d'une brève
*
* @package SPIP\Breves\Formulaires
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/actions');
include_spip('inc/editer');
/**
* Chargement du formulaire d'édition d'une brève
*
* @see formulaires_editer_objet_charger()
*
* @param int|string $id_breve
* Identifiant de la brève. 'new' pour une nouvelle brève.
* @param int $id_rubrique
* Identifiant de la rubrique parente (si connue)
* @param string $retour
* URL de redirection après le traitement
* @param int $lier_trad
* Identifiant de la brève que l'on cherche à traduire
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la brève, si connue
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return array
* Environnement du formulaire
**/
function formulaires_editer_breve_charger_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
$valeurs = formulaires_editer_objet_charger('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
// un bug a permis a un moment que des breves soient dans des sous rubriques
@ -24,16 +51,41 @@ function formulaires_editer_breve_charger_dist($id_breve='new', $id_rubrique=0,
return $valeurs;
}
/**
* Identifier le formulaire en faisant abstraction des parametres qui
* ne representent pas l'objet edite
*/
* Identifier le formulaire en faisant abstraction des paramètres qui
* ne representent pas l'objet édité
*
* @param int|string $id_breve
* Identifiant de la brève. 'new' pour une nouvelle brève.
* @param int $id_rubrique
* Identifiant de la rubrique parente (si connue)
* @param string $retour
* URL de redirection après le traitement
* @param int $lier_trad
* Identifiant de la brève que l'on cherche à traduire
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la brève, si connue
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return string
* Hash du formulaire
**/
function formulaires_editer_breve_identifier_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
return serialize(array(intval($id_breve),$lier_trad));
}
// Choix par defaut des options de presentation
/**
* Choix par défaut des options de présentation
*
* @param array $row
* Valeurs de la ligne SQL d'un mot, si connu
* return array
* Configuration pour le formulaire
*/
function breves_edit_config($row)
{
global $spip_lang;
@ -46,6 +98,28 @@ function breves_edit_config($row)
return $config;
}
/**
* Vérification du formulaire d'édition d'une brève
*
* @see formulaires_editer_objet_verifier()
*
* @param int|string $id_breve
* Identifiant de la brève. 'new' pour une nouvelle brève.
* @param int $id_rubrique
* Identifiant de la rubrique parente (si connue)
* @param string $retour
* URL de redirection après le traitement
* @param int $lier_trad
* Identifiant de la brève que l'on cherche à traduire
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la brève, si connue
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return array
* Tableau des erreurs
*/
function formulaires_editer_breve_verifier_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
// auto-renseigner le titre si il n'existe pas
titre_automatique('titre',array('texte'));
@ -54,7 +128,28 @@ function formulaires_editer_breve_verifier_dist($id_breve='new', $id_rubrique=0,
return $erreurs;
}
// http://doc.spip.org/@inc_editer_article_dist
/**
* Traitements du formulaire d'édition d'une brève
*
* @see formulaires_editer_objet_traiter()
*
* @param int|string $id_breve
* Identifiant de la brève. 'new' pour une nouvelle brève.
* @param int $id_rubrique
* Identifiant de la rubrique parente (si connue)
* @param string $retour
* URL de redirection après le traitement
* @param int $lier_trad
* Identifiant de la brève que l'on cherche à traduire
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la brève, si connue
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return array
* Tableau des erreurs
*/
function formulaires_editer_breve_traiter_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
return formulaires_editer_objet_traiter('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
}

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="breves"
categorie="edition"
version="1.3.3"
version="1.3.4"
etat="stable"
compatibilite="[3.0.0;3.1.*]"
logo="prive/themes/spip/images/breve-32.png"

Loading…
Cancel
Save