Browse Source

Indentation et regles de codage selon http://www.spip.net/fr_article3497.html#regles_codage

svn/root/tags/plugins/breves/1.3.14
cedric@yterium.com 6 years ago
parent
commit
94e792ce70
  1. 86
      action/editer_breve.php
  2. 67
      base/breves.php
  3. 31
      breves_administrations.php
  4. 87
      breves_autoriser.php
  5. 16
      breves_ieconfig.php
  6. 220
      breves_pipelines.php
  7. 36
      formulaires/configurer_breves.php
  8. 82
      formulaires/editer_breve.php

86
action/editer_breve.php

@ -15,7 +15,9 @@
*
* @package SPIP\Breves\Actions
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
/**
* Action d'édition d'une brève dans la base de données dont
@ -29,10 +31,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
* 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)){
if (is_null($arg)) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
@ -42,12 +44,13 @@ function action_editer_breve_dist($arg = null) {
$id_breve = breve_inserer(_request('id_parent'));
}
if (!$id_breve)
return array(0,''); // erreur
if (!$id_breve) {
return array(0, '');
} // erreur
$err = breve_modifier($id_breve);
return array($id_breve,$err);
return array($id_breve, $err);
}
@ -56,7 +59,7 @@ function action_editer_breve_dist($arg = null) {
*
* @pipeline_appel pre_insertion
* @pipeline_appel post_insertion
*
*
* @param int $id_rubrique
* Identifiant de la rubrique
* @param array|null $set
@ -70,7 +73,7 @@ function breve_inserer($id_rubrique, $set = null) {
// Si id_rubrique vaut 0 ou n'est pas definie, creer la breve
// dans la premiere rubrique racine
if (!$id_rubrique = intval($id_rubrique)) {
$id_rubrique = sql_getfetsel("id_rubrique", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
$id_rubrique = sql_getfetsel("id_rubrique", "spip_rubriques", "id_parent=0", '', '0+titre,titre', "1");
}
// La langue a la creation : c'est la langue de la rubrique
@ -83,10 +86,12 @@ function breve_inserer($id_rubrique, $set = null) {
'statut' => 'prop',
'date_heure' => date('Y-m-d H:i:s'),
'lang' => $lang,
'langue_choisie' => 'non');
if ($set)
'langue_choisie' => 'non'
);
if ($set) {
$champs = array_merge($champs, $set);
}
// Envoyer aux plugins
$champs = pipeline('pre_insertion',
@ -107,14 +112,14 @@ function breve_inserer($id_rubrique, $set = null) {
'data' => $champs
)
);
return $id_breve;
}
/**
* Modifier une brève en base
*
*
* @param int $id_breve
* Identifiant de la brève à modifier
* @param array|null $set
@ -126,11 +131,11 @@ function breve_inserer($id_rubrique, $set = null) {
* Null si aucun champ à modifier,
* Chaîne contenant un texte d'erreur sinon.
*/
function breve_modifier ($id_breve, $set = null) {
function breve_modifier($id_breve, $set = null) {
include_spip('inc/modifier');
$c = collecter_requests(
// white list
// white list
array('titre', 'texte', 'lien_titre', 'lien_url'),
// black list
array('id_parent', 'statut'),
@ -151,15 +156,18 @@ function breve_modifier ($id_breve, $set = null) {
if ($err = objet_modifier_champs('breve', $id_breve,
array(
'data' => $set,
'nonvide' => array('titre' => _T('breves:titre_nouvelle_breve')." "._T('info_numero_abbreviation').$id_breve),
'nonvide' => array('titre' => _T('breves:titre_nouvelle_breve') . " " . _T('info_numero_abbreviation') . $id_breve),
'invalideur' => $invalideur,
'indexation' => $indexation
),
$c))
$c)
) {
return $err;
}
$c = collecter_requests(array('id_parent', 'statut'),array(),$set);
$c = collecter_requests(array('id_parent', 'statut'), array(), $set);
$err = breve_instituer($id_breve, $c);
return $err;
}
@ -169,7 +177,7 @@ function breve_modifier ($id_breve, $set = null) {
*
* @pipeline_appel pre_insertion
* @pipeline_appel post_insertion
*
*
* @param int $id_breve
* Identifiant de la brève
* @param array $c
@ -181,7 +189,7 @@ function breve_instituer($id_breve, $c) {
$champs = array();
// Changer le statut de la breve ?
$row = sql_fetsel("statut, id_rubrique,lang, langue_choisie", "spip_breves", "id_breve=".intval($id_breve));
$row = sql_fetsel("statut, id_rubrique,lang, langue_choisie", "spip_breves", "id_breve=" . intval($id_breve));
$id_rubrique = $row['id_rubrique'];
$statut_ancien = $statut = $row['statut'];
@ -189,9 +197,10 @@ function breve_instituer($id_breve, $c) {
$langue_choisie_old = $row['langue_choisie'];
if (isset($c['statut'])
AND $c['statut']
AND $c['statut'] != $statut
AND autoriser('publierdans', 'rubrique', $id_rubrique)) {
AND $c['statut']
AND $c['statut'] != $statut
AND autoriser('publierdans', 'rubrique', $id_rubrique)
) {
$statut = $champs['statut'] = $c['statut'];
}
@ -199,20 +208,24 @@ function breve_instituer($id_breve, $c) {
// Verifier que la rubrique demandee est a la racine et differente
// de la rubrique actuelle
if ($id_parent = intval($c['id_parent'])
AND $id_parent != $id_rubrique
AND (NULL !== ($lang=sql_getfetsel('lang', 'spip_rubriques', "id_parent=0 AND id_rubrique=".intval($id_parent))))) {
AND $id_parent != $id_rubrique
AND (null !== ($lang = sql_getfetsel('lang', 'spip_rubriques',
"id_parent=0 AND id_rubrique=" . intval($id_parent))))
) {
$champs['id_rubrique'] = $id_parent;
// - changer sa langue (si heritee)
if ($langue_choisie_old != "oui") {
if ($lang != $langue_old)
if ($lang != $langue_old) {
$champs['lang'] = $lang;
}
}
// si la breve est publiee
// et que le demandeur n'est pas admin de la rubrique
// repasser la breve en statut 'prop'.
if ($statut == 'publie') {
if (!autoriser('publierdans','rubrique',$id_parent))
if (!autoriser('publierdans', 'rubrique', $id_parent)) {
$champs['statut'] = $statut = 'prop';
}
}
}
@ -222,16 +235,18 @@ function breve_instituer($id_breve, $c) {
'args' => array(
'table' => 'spip_breves',
'id_objet' => $id_breve,
'action'=>'instituer',
'action' => 'instituer',
'statut_ancien' => $statut_ancien,
),
'data' => $champs
)
);
if (!$champs) return;
if (!$champs) {
return;
}
sql_updateq('spip_breves', $champs, "id_breve=".intval($id_breve));
sql_updateq('spip_breves', $champs, "id_breve=" . intval($id_breve));
//
// Post-modifications
@ -251,7 +266,7 @@ function breve_instituer($id_breve, $c) {
'args' => array(
'table' => 'spip_breves',
'id_objet' => $id_breve,
'action'=>'instituer',
'action' => 'instituer',
'statut_ancien' => $statut_ancien,
),
'data' => $champs
@ -278,7 +293,7 @@ function breve_instituer($id_breve, $c) {
*
* @deprecated Utiliser breve_inserer()
* @see breve_inserer()
*
*
* @param int $id_rubrique
* Identifiant de la rubrique
* @return int
@ -293,7 +308,7 @@ function insert_breve($id_rubrique) {
*
* @deprecated Utiliser breve_modifier()
* @see breve_modifier()
*
*
* @param int $id_breve
* Identifiant de la brève à modifier
* @param array|null $set
@ -305,7 +320,8 @@ function insert_breve($id_rubrique) {
* 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);
function revisions_breves($id_breve, $set = false) {
return breve_modifier($id_breve, $set);
}
?>

67
base/breves.php

@ -12,11 +12,13 @@
/**
* Déclarations relatives à la base de données
*
*
* @package SPIP\Breves\Pipelines
**/
**/
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Déclare les alias de boucle et traitements automatiques de certaines balises
@ -35,9 +37,9 @@ function breves_declarer_tables_interfaces($interfaces) {
$interfaces['exceptions_des_tables']['breves']['nom_site'] = 'lien_titre';
$interfaces['exceptions_des_tables']['breves']['url_site'] = 'lien_url';
$interfaces['table_des_traitements']['LIEN_TITRE'][]= _TRAITEMENT_TYPO;
$interfaces['table_des_traitements']['LIEN_URL'][]= 'vider_url(%s)';
$interfaces['table_des_traitements']['LIEN_TITRE'][] = _TRAITEMENT_TYPO;
$interfaces['table_des_traitements']['LIEN_URL'][] = 'vider_url(%s)';
return $interfaces;
}
@ -50,14 +52,14 @@ function breves_declarer_tables_interfaces($interfaces) {
* @return array
* Description complétée des tables
*/
function breves_declarer_tables_objets_sql($tables){
function breves_declarer_tables_objets_sql($tables) {
$tables['spip_breves'] = array(
'texte_retour' => 'icone_retour',
'texte_objets' => 'breves:breves',
'texte_objet' => 'breves:breve',
'texte_modifier' => 'breves:icone_modifier_breve',
'texte_creer' => 'breves:icone_nouvelle_breve',
'info_aucun_objet'=> 'breves:info_aucun_breve',
'info_aucun_objet' => 'breves:info_aucun_breve',
'info_1_objet' => 'breves:info_1_breve',
'info_nb_objets' => 'breves:info_nb_breves',
'texte_logo_objet' => 'breves:logo_breve',
@ -66,33 +68,33 @@ function breves_declarer_tables_objets_sql($tables){
'date' => 'date_heure',
'principale' => 'oui',
'introduction_longueur' => '300',
'field'=> array(
"id_breve" => "bigint(21) NOT NULL",
"date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"titre" => "text DEFAULT '' NOT NULL",
"texte" => "longtext DEFAULT '' NOT NULL",
"lien_titre" => "text DEFAULT '' NOT NULL",
"lien_url" => "text DEFAULT '' NOT NULL",
"statut" => "varchar(6) DEFAULT '0' NOT NULL",
"id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
"lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
"langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
"maj" => "TIMESTAMP"
'field' => array(
"id_breve" => "bigint(21) NOT NULL",
"date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"titre" => "text DEFAULT '' NOT NULL",
"texte" => "longtext DEFAULT '' NOT NULL",
"lien_titre" => "text DEFAULT '' NOT NULL",
"lien_url" => "text DEFAULT '' NOT NULL",
"statut" => "varchar(6) DEFAULT '0' NOT NULL",
"id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
"lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
"langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
"maj" => "TIMESTAMP"
),
'key' => array(
"PRIMARY KEY" => "id_breve",
"KEY id_rubrique" => "id_rubrique",
"PRIMARY KEY" => "id_breve",
"KEY id_rubrique" => "id_rubrique",
),
'join' => array(
"id_breve"=>"id_breve",
"id_rubrique"=>"id_rubrique"
"id_breve" => "id_breve",
"id_rubrique" => "id_rubrique"
),
'statut' => array(
'statut' => array(
array(
'champ'=>'statut',
'publie'=>'publie',
'previsu'=>'publie,prop',
'exception'=>'statut'
'champ' => 'statut',
'publie' => 'publie',
'previsu' => 'publie,prop',
'exception' => 'statut'
)
),
'texte_changer_statut' => 'breves:entree_breve_publiee',
@ -102,14 +104,17 @@ function breves_declarer_tables_objets_sql($tables){
'publie' => 'breves:titre_breve_publiee',
'refuse' => 'breves:titre_breve_refusee',
),
'statut_textes_instituer' => array(
'statut_textes_instituer' => array(
'prop' => 'breves:item_breve_proposee', //_T('texte_statut_propose_evaluation')
'publie' => 'breves:item_breve_validee', //_T('texte_statut_publie')
'refuse' => 'breves:item_breve_refusee', //_T('texte_statut_refuse')
),
'rechercher_champs' => array(
'titre' => 8, 'texte' => 2, 'lien_titre' => 1, 'lien_url' => 1
'titre' => 8,
'texte' => 2,
'lien_titre' => 1,
'lien_url' => 1
),
'rechercher_jointures' => array(
'document' => array('titre' => 2, 'descriptif' => 1)

31
breves_administrations.php

@ -14,36 +14,39 @@
* Fichier gérant l'installation et désinstallation du plugin
*
* @package SPIP\Breves\Installation
**/
if (!defined('_ECRIRE_INC_VERSION')) return;
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* 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){
function breves_upgrade($nom_meta_base_version, $version_cible) {
// cas particulier :
// si plugin pas installe mais que la table existe
// considerer que c'est un upgrade depuis v 1.0.0
// pour gerer l'historique des installations SPIP <=2.1
if (!isset($GLOBALS['meta'][$nom_meta_base_version])){
$trouver_table = charger_fonction('trouver_table','base');
if (!isset($GLOBALS['meta'][$nom_meta_base_version])) {
$trouver_table = charger_fonction('trouver_table', 'base');
if ($desc = $trouver_table('spip_breves')
AND isset($desc['exist']) AND $desc['exist']){
ecrire_meta($nom_meta_base_version,'1.0.0');
AND isset($desc['exist']) AND $desc['exist']
) {
ecrire_meta($nom_meta_base_version, '1.0.0');
}
// si pas de table en base, on fera une simple creation de base
}
$maj = array();
$maj['create'] = array(
array('maj_tables',array('spip_breves')),
array('maj_tables', array('spip_breves')),
);
include_spip('base/upgrade');
@ -55,15 +58,15 @@ function breves_upgrade($nom_meta_base_version, $version_cible){
* 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");
effacer_meta("activer_breves");
effacer_meta($nom_meta_base_version);
}

87
breves_autoriser.php

@ -12,82 +12,86 @@
/**
* Déclarations d'autorisations
*
*
* @package SPIP\Breves\Autorisations
**/
if (!defined('_ECRIRE_INC_VERSION')) return;
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Fonction du pipeline autoriser. N'a rien à faire
*
* @pipeline autoriser
*/
function breves_autoriser(){}
function breves_autoriser() { }
/**
* 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
* @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");
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
* @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")
AND verifier_table_non_vide();
function autoriser_brevecreer_menu_dist($faire, $type, $id, $qui, $opt) {
return ($GLOBALS['meta']["activer_breves"] != "non")
AND verifier_table_non_vide();
}
/**
/**
* Autorisation de créer une brève
*
* Il faut que les brèves soient activées qu'une rubrique existe
*
*
* @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
* @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_creer_dist($faire, $type, $id, $qui, $opt){
**/
function autoriser_breve_creer_dist($faire, $type, $id, $qui, $opt) {
return
($GLOBALS['meta']["activer_breves"] != "non")
AND (sql_countsel('spip_rubriques')>0);
AND (sql_countsel('spip_rubriques') > 0);
}
/**
* 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
* @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));
$r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=" . intval($id));
return
$id
AND ($r['id_parent']==0)
AND ($GLOBALS['meta']["activer_breves"]!="non")
AND autoriser('voir','rubrique',$id);
AND ($r['id_parent'] == 0)
AND ($GLOBALS['meta']["activer_breves"] != "non")
AND autoriser('voir', 'rubrique', $id);
}
@ -96,19 +100,20 @@ function autoriser_rubrique_creerbrevedans_dist($faire, $type, $id, $qui, $opt)
*
* - 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
* @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));
$r = sql_fetsel("id_rubrique,statut", "spip_breves", "id_breve=" . intval($id));
return
$r AND (
($r['statut'] == 'publie' OR (isset($opt['statut']) AND $opt['statut']=='publie'))
($r['statut'] == 'publie' OR (isset($opt['statut']) AND $opt['statut'] == 'publie'))
? autoriser('publierdans', 'rubrique', $r['id_rubrique'], $qui, $opt)
: in_array($qui['statut'], array('0minirezo', '1comite'))
);

16
breves_ieconfig.php

@ -2,11 +2,13 @@
/**
* Déclarations des configurations qui peuvent être sauvegardées
*
*
* @package SPIP\Breves\Pipelines
**/
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
/**
* Ajoute les metas sauvegardables de Brèves pour le plugin IEConfig
@ -15,14 +17,14 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
*
* @param array $table
* Déclaration des sauvegardes
* @return array
* @return array
* Déclaration des sauvegardes complétées
**/
function breves_ieconfig_metas($table){
**/
function breves_ieconfig_metas($table) {
$table['breves']['titre'] = _T('breves:titre_breves');
$table['breves']['icone'] = 'breve-16.png';
$table['breves']['metas_brutes'] = 'activer_breves';
return $table;
}

220
breves_pipelines.php

@ -11,11 +11,13 @@
\***************************************************************************/
/**
* Utilisations de pipelines
* Utilisations de pipelines
*
* @package SPIP\Breves\Pipelines
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
**/
if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
/**
@ -27,22 +29,23 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
* @return array
* Couples nom de la méta => valeur par défaut
*/
function breves_configurer_liste_metas($metas){
$metas['activer_breves'] = 'non';
function breves_configurer_liste_metas($metas) {
$metas['activer_breves'] = 'non';
return $metas;
}
/**
* Ajouter les brèves à valider sur les rubriques
* Ajouter les brèves à valider sur les rubriques
*
* @pipeline rubrique_encours
*
* @param array $flux Données du pipeline
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
**/
function breves_rubrique_encours($flux){
**/
function breves_rubrique_encours($flux) {
if ($flux['args']['type'] == 'rubrique') {
$lister_objets = charger_fonction('lister_objets','inc');
$lister_objets = charger_fonction('lister_objets', 'inc');
$id_rubrique = $flux['args']['id_objet'];
@ -50,56 +53,62 @@ function breves_rubrique_encours($flux){
// Les breves a valider
//
$flux['data'] .= $lister_objets('breves', array(
'titre'=>_T('breves:info_breves_valider'),
'statut'=>array('prepa','prop'),
'id_rubrique'=>$id_rubrique,
'par'=>'date_heure'));
'titre' => _T('breves:info_breves_valider'),
'statut' => array('prepa', 'prop'),
'id_rubrique' => $id_rubrique,
'par' => 'date_heure'
));
}
return $flux;
}
/**
* Ajouter les brèves référencées sur les vues de rubriques
*
* @pipeline affiche_enfants
*
* @param array $flux Données du pipeline
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
**/
**/
function breves_affiche_enfants($flux) {
if (isset($flux['args']['exec'])
AND $e = trouver_objet_exec($flux['args']['exec'])
AND $e['type'] == 'rubrique'
AND $e['edition'] == false) {
AND $e = trouver_objet_exec($flux['args']['exec'])
AND $e['type'] == 'rubrique'
AND $e['edition'] == false
) {
$id_rubrique = $flux['args']['id_rubrique'];
if ($GLOBALS['meta']["activer_breves"] == 'oui') {
$lister_objets = charger_fonction('lister_objets','inc');
$lister_objets = charger_fonction('lister_objets', 'inc');
$bouton_breves = '';
$id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique='.$id_rubrique);
if (autoriser('creerbrevedans','rubrique',$id_rubrique,NULL,array('id_parent'=>$id_parent))) {
$bouton_breves .= icone_verticale(_T('breves:icone_nouvelle_breve'), generer_url_ecrire("breve_edit","id_rubrique=$id_rubrique&new=oui"), "breve-24.png","new", 'right')
. "<br class='nettoyeur' />";
$id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . $id_rubrique);
if (autoriser('creerbrevedans', 'rubrique', $id_rubrique, null, array('id_parent' => $id_parent))) {
$bouton_breves .= icone_verticale(_T('breves:icone_nouvelle_breve'),
generer_url_ecrire("breve_edit", "id_rubrique=$id_rubrique&new=oui"), "breve-24.png", "new", 'right')
. "<br class='nettoyeur' />";
}
$flux['data'] .= $lister_objets('breves', array('titre'=>_T('breves:icone_ecrire_nouvel_article'), 'where'=>"statut != 'prop' AND statut != 'prepa'", 'id_rubrique'=>$id_rubrique, 'par'=>'date_heure'));
$flux['data'] .= $lister_objets('breves', array(
'titre' => _T('breves:icone_ecrire_nouvel_article'),
'where' => "statut != 'prop' AND statut != 'prepa'",
'id_rubrique' => $id_rubrique,
'par' => 'date_heure'
));
$flux['data'] .= $bouton_breves;
}
}
return $flux;
}
/**
* 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
@ -107,30 +116,31 @@ function breves_affiche_enfants($flux) {
* HTML des informations générales concernant chaque type d'objet
* sur la page d'accueil privée
*/
function breves_accueil_informations($texte){
function breves_accueil_informations($texte) {
include_spip('base/abstract_sql');
$q = sql_select("COUNT(*) AS cnt, statut", 'spip_breves', '', 'statut', '','', "COUNT(*)<>0");
$q = sql_select("COUNT(*) AS cnt, statut", 'spip_breves', '', 'statut', '', '', "COUNT(*)<>0");
$cpt = array();
$cpt2 = array();
$where = false;
if ($GLOBALS['visiteur_session']['statut']=='0minirezo'){
$where = sql_allfetsel('id_objet','spip_auteurs_liens',"objet='rubrique' AND id_auteur=".intval($GLOBALS['visiteur_session']['id_auteur']));
if ($where){
$where = sql_in('id_rubrique',array_map('reset',$where));
if ($GLOBALS['visiteur_session']['statut'] == '0minirezo') {
$where = sql_allfetsel('id_objet', 'spip_auteurs_liens',
"objet='rubrique' AND id_auteur=" . intval($GLOBALS['visiteur_session']['id_auteur']));
if ($where) {
$where = sql_in('id_rubrique', array_map('reset', $where));
}
}
$defaut = $where ? '0/' : '';
while($row = sql_fetch($q)) {
$cpt[$row['statut']] = $row['cnt'];
$cpt2[$row['statut']] = $defaut;
while ($row = sql_fetch($q)) {
$cpt[$row['statut']] = $row['cnt'];
$cpt2[$row['statut']] = $defaut;
}
if ($cpt) {
if ($where) {
$q = sql_select("COUNT(*) AS cnt, statut", 'spip_breves', $where, "statut");
while($row = sql_fetch($q)) {
while ($row = sql_fetch($q)) {
$r = $row['statut'];
$cpt2[$r] = intval($row['cnt']) . '/';
}
@ -138,51 +148,61 @@ function breves_accueil_informations($texte){
$texte .= "<div class='accueil_informations breves liste'>";
$texte .= "<h4>" . afficher_plus_info(generer_url_ecrire("breves"), "", _T('breves:info_breves_02')) . "</h4>";
$texte .= "<ul class='liste-items'>";
if (isset($cpt['prop'])) $texte .= "<li class='item'>"._T("texte_statut_attente_validation").": ".$cpt2['prop'].$cpt['prop'] . '</li>';
if (isset($cpt['publie'])) $texte .= "<li class='item on'>"._T("texte_statut_publies").": ".$cpt2['publie'] .$cpt['publie'] . '</li>';
if (isset($cpt['prop'])) {
$texte .= "<li class='item'>" . _T("texte_statut_attente_validation") . ": " . $cpt2['prop'] . $cpt['prop'] . '</li>';
}
if (isset($cpt['publie'])) {
$texte .= "<li class='item on'>" . _T("texte_statut_publies") . ": " . $cpt2['publie'] . $cpt['publie'] . '</li>';
}
$texte .= "</ul>";
$texte .= "</div>";
}
return $texte;
}
/**
* Compter les brèves dans une rubrique
*
*
* @pipeline objet_compte_enfants
*
* @param array $flux Données du pipeline
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_objet_compte_enfants($flux){
if ($flux['args']['objet']=='rubrique'
AND $id_rubrique=intval($flux['args']['id_objet'])) {
function breves_objet_compte_enfants($flux) {
if ($flux['args']['objet'] == 'rubrique'
AND $id_rubrique = intval($flux['args']['id_objet'])
) {
// juste les publies ?
if (array_key_exists('statut', $flux['args']) and ($flux['args']['statut'] == 'publie')) {
$flux['data']['breve'] = sql_countsel('spip_breves', "id_rubrique=".intval($id_rubrique)." AND (statut='publie')");
$flux['data']['breve'] = sql_countsel('spip_breves',
"id_rubrique=" . intval($id_rubrique) . " AND (statut='publie')");
} else {
$flux['data']['breve'] = sql_countsel('spip_breves', "id_rubrique=".intval($id_rubrique)." AND (statut='publie' OR statut='prop')");
$flux['data']['breve'] = sql_countsel('spip_breves',
"id_rubrique=" . intval($id_rubrique) . " AND (statut='publie' OR statut='prop')");
}
}
return $flux;
}
/**
* Changer la langue des brèves si la rubrique change
*
*
* @pipeline trig_calculer_langues_rubriques
*
* @param array $flux Données du pipeline
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_trig_calculer_langues_rubriques($flux){
function breves_trig_calculer_langues_rubriques($flux) {
$s = sql_select("A.id_breve AS id_breve, R.lang AS lang", "spip_breves AS A, spip_rubriques AS R", "A.id_rubrique = R.id_rubrique AND A.langue_choisie != 'oui' AND (A.lang='' OR R.lang<>'') AND R.lang<>A.lang");
$s = sql_select("A.id_breve AS id_breve, R.lang AS lang", "spip_breves AS A, spip_rubriques AS R",
"A.id_rubrique = R.id_rubrique AND A.langue_choisie != 'oui' AND (A.lang='' OR R.lang<>'') AND R.lang<>A.lang");
while ($row = sql_fetch($s)) {
$id_breve = $row['id_breve'];
sql_updateq('spip_breves', array("lang"=>$row['lang'], 'langue_choisie'=>'non'), "id_breve=$id_breve");
sql_updateq('spip_breves', array("lang" => $row['lang'], 'langue_choisie' => 'non'), "id_breve=$id_breve");
}
return $flux;
@ -191,70 +211,71 @@ function breves_trig_calculer_langues_rubriques($flux){
/**
* Publier et dater les rubriques qui ont une brève publiée
*
*
* @pipeline calculer_rubriques
*
* @param array $flux Données du pipeline
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_calculer_rubriques($flux){
function breves_calculer_rubriques($flux) {
$r = sql_select(
"R.id_rubrique AS id, max(A.date_heure) AS date_h",
"spip_rubriques AS R JOIN spip_breves AS A ON R.id_rubrique = A.id_rubrique",
"A.date_heure>R.date_tmp AND A.statut='publie' ", "R.id_rubrique");
while ($row = sql_fetch($r))
sql_updateq('spip_rubriques', array('statut_tmp'=>'publie', 'date_tmp'=>$row['date_h']), "id_rubrique=".$row['id']);
while ($row = sql_fetch($r)) {
sql_updateq('spip_rubriques', array('statut_tmp' => 'publie', 'date_tmp' => $row['date_h']),
"id_rubrique=" . $row['id']);
}
return $flux;
}
/**
* Ajouter les brèves à valider sur la page d'accueil
* Ajouter les brèves à valider sur la page d'accueil
*
* @pipeline accueil_encours
*
* @param string $flux HTML du bloc encours sur la page d'accueil privée
*
* @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');
**/
function breves_accueil_encours($flux) {
$lister_objets = charger_fonction('lister_objets', 'inc');
$flux .= $lister_objets('breves', array(
'titre'=>afficher_plus_info(generer_url_ecrire('breves'))._T('breves:info_breves_valider'),
'statut'=>array('prepa','prop'),
'par'=>'date_heure'));
'titre' => afficher_plus_info(generer_url_ecrire('breves')) . _T('breves:info_breves_valider'),
'statut' => array('prepa', 'prop'),
'par' => 'date_heure'
));
return $flux;
}
/**
* Optimiser la base de données en supprimant les liens de brèves orphelins
*
* @pipeline optimiser_base_disparus
*
* @param array $flux Données du pipeline
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_optimiser_base_disparus($flux){
function breves_optimiser_base_disparus($flux) {
$n = &$flux['data'];
$mydate = $flux['args']['date'];
# les breves qui sont dans une id_rubrique inexistante
$res = sql_select("B.id_breve AS id",
"spip_breves AS B
"spip_breves AS B
LEFT JOIN spip_rubriques AS R
ON B.id_rubrique=R.id_rubrique",
"R.id_rubrique IS NULL
AND B.maj < ".sql_quote($mydate));
"R.id_rubrique IS NULL
AND B.maj < " . sql_quote($mydate));
$n+= optimiser_sansref('spip_breves', 'id_breve', $res);
$n += optimiser_sansref('spip_breves', 'id_breve', $res);
//
@ -271,37 +292,40 @@ function breves_optimiser_base_disparus($flux){
* Afficher le nombre de brèves dans chaque rubrique
*
* @pipeline boite_infos
*
* @param array $flux Données du pipeline
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_boite_infos($flux){
function breves_boite_infos($flux) {
if (
isset($flux['args']['type']) and $flux['args']['type'] == 'rubrique'
and isset($flux['args']['id']) and $id_rubrique = $flux['args']['id']
){
if ($nb = sql_countsel('spip_breves',"statut='publie' AND id_rubrique=".intval($id_rubrique))){
$nb = "<div>". singulier_ou_pluriel($nb, "breves:info_1_breve", "breves:info_nb_breves") . "</div>";
if ($p = strpos($flux['data'],"<!--nb_elements-->"))
$flux['data'] = substr_replace($flux['data'],$nb,$p,0);
and isset($flux['args']['id']) and $id_rubrique = $flux['args']['id']
) {
if ($nb = sql_countsel('spip_breves', "statut='publie' AND id_rubrique=" . intval($id_rubrique))) {
$nb = "<div>" . singulier_ou_pluriel($nb, "breves:info_1_breve", "breves:info_nb_breves") . "</div>";
if ($p = strpos($flux['data'], "<!--nb_elements-->")) {
$flux['data'] = substr_replace($flux['data'], $nb, $p, 0);
}
}
}
return $flux;
}
/**
* 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
*
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function breves_affiche_milieu($flux){
function breves_affiche_milieu($flux) {
if ($flux["args"]["exec"] == "configurer_contenu") {
$flux["data"] .= recuperer_fond('prive/squelettes/inclure/configurer',array('configurer'=>'configurer_breves'));
$flux["data"] .= recuperer_fond('prive/squelettes/inclure/configurer', array('configurer' => 'configurer_breves'));
}
return $flux;
}

36
formulaires/configurer_breves.php

@ -14,20 +14,23 @@
* Gestion du formulaire de configuration des brèves
*
* @package SPIP\Breves\Formulaires
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
**/
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",
) as $m)
**/
function formulaires_configurer_breves_charger_dist() {
foreach (array(
"activer_breves",
) as $m) {
$valeurs[$m] = $GLOBALS['meta'][$m];
}
return $valeurs;
}
@ -37,16 +40,19 @@ function formulaires_configurer_breves_charger_dist(){
*
* @return array
* Retours du traitement
**/
function formulaires_configurer_breves_traiter_dist(){
$res = array('editable'=>true);
foreach(array(
"activer_breves",
) as $m)
if (!is_null($v=_request($m)))
ecrire_meta($m, $v=='oui'?'oui':'non');
**/
function formulaires_configurer_breves_traiter_dist() {
$res = array('editable' => true);
foreach (array(
"activer_breves",
) as $m) {
if (!is_null($v = _request($m))) {
ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
}
}
$res['message_ok'] = _T('config_info_enregistree');
return $res;
}

82
formulaires/editer_breve.php

@ -14,17 +14,19 @@
* Gestion du formulaire de d'édition d'une brève
*
* @package SPIP\Breves\Formulaires
**/
if (!defined("_ECRIRE_INC_VERSION")) return;
**/
if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
include_spip('inc/actions');
include_spip('inc/editer');
/**
* Chargement du formulaire d'édition d'une brève
* 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
@ -41,13 +43,25 @@ include_spip('inc/editer');
* 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);
**/
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
// lorsque ce cas se presente, il faut relocaliser la breve dans son secteur, plutot que n'importe ou
if ($valeurs['id_parent'])
$valeurs['id_parent'] = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($valeurs['id_parent']));
if ($valeurs['id_parent']) {
$valeurs['id_parent'] = sql_getfetsel('id_secteur', 'spip_rubriques',
'id_rubrique=' . intval($valeurs['id_parent']));
}
return $valeurs;
}
@ -72,9 +86,17 @@ function formulaires_editer_breve_charger_dist($id_breve = 'new', $id_rubrique =
* 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));
**/
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));
}
@ -86,8 +108,7 @@ function formulaires_editer_breve_identifier_dist($id_breve = 'new', $id_rubriqu
* return array
* Configuration pour le formulaire
*/
function breves_edit_config($row)
{
function breves_edit_config($row) {
global $spip_lang;
$config = $GLOBALS['meta'];
@ -95,6 +116,7 @@ function breves_edit_config($row)
$config['langue'] = $spip_lang;
$config['restreint'] = ($row['statut'] == 'publie');
return $config;
}
@ -102,7 +124,7 @@ function breves_edit_config($row)
* 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
@ -120,11 +142,20 @@ function breves_edit_config($row)
* @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 = ''){
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'));
titre_automatique('titre', array('texte'));
// on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_article si vide
$erreurs = formulaires_editer_objet_verifier('breve',$id_breve,array('id_parent'));
$erreurs = formulaires_editer_objet_verifier('breve', $id_breve, array('id_parent'));
return $erreurs;
}
@ -132,7 +163,7 @@ function formulaires_editer_breve_verifier_dist($id_breve = 'new', $id_rubrique
* 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
@ -150,8 +181,17 @@ function formulaires_editer_breve_verifier_dist($id_breve = 'new', $id_rubrique
* @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);
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);
}
?>
Loading…
Cancel
Save