Browse Source

fix #1, déclarer un champ extra 'source'

svn/root/tags/v2.3.0
Maïeul 11 months ago
parent
commit
35ad642d29
8 changed files with 63 additions and 7 deletions
  1. +12
    -0
      base/ressourcotheque.php
  2. +4
    -2
      content/article.html
  3. +1
    -1
      extra/rubrique.html
  4. +3
    -3
      inclure/documents.html
  5. +11
    -0
      lang/ressourcotheque_fr.php
  6. +2
    -1
      paquet.xml
  7. +1
    -0
      ressourcotheque_administrations.php
  8. +29
    -0
      ressourcotheque_pipelines.php

+ 12
- 0
base/ressourcotheque.php View File

@ -28,6 +28,18 @@ function ressourcotheque_declarer_champs_extras($champs = array()) {
'rechercher' => true,
'traitements' => '_TRAITEMENT_RACCOURCIS',
),
);
$champs['spip_documents']['source'] = array(
'saisie' => 'case',//Type du champ (voir plugin Saisies)
'options' => array(
'nom' => 'source',
'label_case' => _T('ressourcotheque:source'),
'conteneur_class'=>'pleine_largeur',
'explication' => _T('ressourcotheque:source_explication'),
'sql' => "varchar(3) DEFAULT '' NOT NULL",
'versionner' => true,
'defaut' => '',// Valeur par défaut
),
);
return $champs;
}

+ 4
- 2
content/article.html View File

@ -38,8 +38,10 @@
<aside>
[(#REM) Gestion du portfolio et des documents ]
[(#INCLURE{fond=inclure/documents,id_article})]
[(#INCLURE{fond=inclure/documents,id_article,singulier=<:ressourcotheque:document:>,pluriel=<:ressourcotheque:documents:>,source=''})]
#_AUTORISER_SI{modifier,article,#ID_ARTICLE}
<INCLURE{fond=inclure/documents,id_article,singulier=<:ressourcotheque:source_document:>,pluriel=<:ressourcotheque:sources_documents:>,source='on'} />
#_AUTORISER_FIN
<INCLURE{fond=inclure/connexe,id_article,env,} />
[(#REM) Forum de l'article
NB : pour desactiver les forums de l'article, supprimez simplement la ligne ci-dessous ]


+ 1
- 1
extra/rubrique.html View File

@ -5,6 +5,6 @@
<div class="#EDIT{guide_redaction}">(#GUIDE_REDACTION)
[(#INCLURE{fond=inclure/documents,id_rubrique})]
[(#INCLURE{fond=inclure/documents,id_rubrique,singulier=<:ressourcotheque:document:>,pluriel=<:ressourcotheque:documents:>,source='')]
</div>]
</BOUCLE_rubrique>

+ 3
- 3
inclure/documents.html View File

@ -1,6 +1,6 @@
#SET{doc,#ARRAY}
[(#REM) préparer un zip de tous les documents joints]
<BOUCLE_zipper(DOCUMENTS) {id_article?}{id_rubrique?}{objet?}{id_objet?}{!par maj}>
<BOUCLE_zipper(DOCUMENTS) {id_article?}{id_rubrique?}{objet?}{id_objet?}{!par maj}{source=#ENV{source,''}}>
[(#COMPTEUR_BOUCLE|=={1}|oui)#SET{date,#MAJ}]
[(#REM)
Liste des autres documents joints,
@ -13,7 +13,7 @@
#SET{urlzip,#GET{doc}|zippeur{#GET{date},#CONFIG{zippeur/zippeur_cmd},#ID_ARTICLE}}
<B_documents_joints>
<div class="liste documents documents_joints">
<h2 class="h2"><:medias:titre_documents_joints:></h2>
<h2 class="h2">[(#TOTAL_BOUCLE|singulier_ou_pluriel{#ENV{singulier},#ENV{pluriel}})]</h2>
<ul class="liste-items">
[(#TOTAL_BOUCLE|>{1}|oui)
[(#GET{urlzip}|file_exists|oui)
@ -33,7 +33,7 @@
</li>
]
]
<BOUCLE_documents_joints(DOCUMENTS) {id_article?}{id_rubrique?}{objet?}{id_objet?}{par num titre, date}>
<BOUCLE_documents_joints(DOCUMENTS) {id_article?}{id_rubrique?}{objet?}{id_objet?}{par num titre, date}{source=#ENV{source,''}}>
<li class="item">#INCLURE{fond=inclure/resume/document,id_document}</li>
</BOUCLE_documents_joints>
</ul>


+ 11
- 0
lang/ressourcotheque_fr.php View File

@ -18,6 +18,10 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'contenu_documents_explication' => 'Mettez ici le contenu des documents liés si votre serveur ne dispose pas de la fonction d’indexation des documents.
Ce contenu apparaîtra dans les recherches, mais pas sur la fiche.',
// D
'documents' => 'Documents',
'document' => 'Document',
// E
'explication_recherche' => 'Commençez par une recherche libre à travers le formulaire.
@ -51,6 +55,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// S
'supprimer_filtre' => 'Supprimer le filtre @txt@',
'source' => 'Source',
'source_explication' => 'Les documents marqués comme source ne sont pas visibles côté public, sauf pour les personnes ayant accès à l\'espace privé.',
'document_source' => 'Ce document est une source',
'document_non_source' => 'Ce document n\'est pas une source',
'source_document' => 'Source du document',
'sources_documents' => 'Sources des documents',
// T
'types_ressources' => 'Types de ressources disponibles',


+ 2
- 1
paquet.xml View File

@ -4,7 +4,7 @@
version="2.2.0"
etat="stable"
compatibilite="[3.2.0;3.2.*]"
schema="0.5.0"
schema="0.6.0"
documentation="https://contrib.spip.net/article5049"
>
@ -36,5 +36,6 @@
<pipeline nom="declarer_champs_extras" inclure="base/ressourcotheque.php" />
<pipeline nom="linkcheck_champs_a_traiter" inclure="ressourcotheque_pipelines.php" />
<pipeline nom="afficher_metas_document" inclure="ressourcotheque_pipelines.php" />
<pipeline nom="autoriser" inclure="ressourcotheque_autoriser.php" />
</paquet>

+ 1
- 0
ressourcotheque_administrations.php View File

@ -10,6 +10,7 @@ function ressourcotheque_upgrade($nom_meta_base_version,$version_cible) {
$maj['create'] = array(array('ressourcotheque_create'));
cextras_api_upgrade(ressourcotheque_declarer_champs_extras(), $maj['create']);
cextras_api_upgrade(ressourcotheque_declarer_champs_extras(), $maj['0.5.0']);
cextras_api_upgrade(ressourcotheque_declarer_champs_extras(), $maj['0.6.0']);
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);


+ 29
- 0
ressourcotheque_pipelines.php View File

@ -14,3 +14,32 @@ function ressourcotheque_linkcheck_champs_a_traiter($flux) {
}
return $flux;
}
/**
* Pipeline pour afficher si le document est une source dans l'espace privé
* @param array $flux
* @return array $flux modifié
**/
function ressourcotheque_afficher_metas_document($flux) {
if ($flux['args']['quoi'] !== 'document_desc') {
return $flux;
}
$source = sql_getfetsel('source', 'spip_documents', 'id_document='.$flux['args']['id_document']);
if ($source) {
$td = _T('ressourcotheque:document_source');
} else {
$td = _T('ressourcotheque:document_non_source');
}
$th = _T('ressourcotheque:source');
$flux['data'] = str_replace('</table>',"<tr><th>$th</th><td>$td</td></tr></table>", $flux['data']);
static $toggle;
if (!$toggle) {
$flux['data'] .= '<script type="text/javascript">$().ready(function() {
$(".detaillees").toggle();
});
</script>';
$toggle = true;
}
;
return $flux;
}

Loading…
Cancel
Save