Browse Source

- permettre d'associer les partenaires à un objet au choix (cfg)

- gérer les statuts de l'objet partenaire
svn/root/trunk
abelass@gmail.com 9 years ago
parent
commit
e0ba917d37
  1. 8
      .gitattributes
  2. 46
      base/partenaires.php
  3. 30
      formulaires/configurer_partenaires.html
  4. 122
      formulaires/editer_partenaire.php
  5. 8
      lang/partenaires_fr.php
  6. 4
      paquet.xml
  7. 7
      partenaires_administrations.php
  8. 11
      partenaires_pipelines.php
  9. 7
      prive/objets/infos/partenaire.html
  10. 71
      prive/objets/liste/partenaires_associer.html
  11. 18
      prive/objets/liste/partenaires_associer_fonctions.php
  12. 62
      prive/objets/liste/partenaires_lies.html
  13. 17
      prive/objets/liste/partenaires_lies_fonctions.php
  14. 7
      prive/squelettes/contenu/configurer_partenaires.html
  15. 2
      prive/squelettes/contenu/partenaire.html
  16. 30
      prive/squelettes/contenu/partenaire_edit.html

8
.gitattributes vendored

@ -1,6 +1,7 @@
* text=auto !eol
base/importer_spip_partenaires_types.php -text
base/partenaires.php -text
formulaires/configurer_partenaires.html -text svneol=unset#text/plain
formulaires/editer_partenaire.html -text
formulaires/editer_partenaire.php -text
formulaires/editer_partenaires_type.html -text
@ -17,15 +18,20 @@ lang/partenaires_type_fr.php -text
/partenaires_pipelines.php -text
prive/objets/contenu/partenaire.html -text
prive/objets/contenu/partenaires_type.html -text
prive/objets/infos/partenaire.html -text
prive/objets/infos/partenaires_type.html -text
prive/objets/liste/partenaires.html -text
prive/objets/liste/partenaires_associer.html -text svneol=unset#text/plain
prive/objets/liste/partenaires_associer_fonctions.php -text
prive/objets/liste/partenaires_lies.html -text svneol=unset#text/plain
prive/objets/liste/partenaires_lies_fonctions.php -text
prive/objets/liste/partenaires_types.html -text
prive/objets/liste/partenaires_types_associer.html -text
prive/objets/liste/partenaires_types_associer_fonctions.php -text
prive/objets/liste/partenaires_types_lies.html -text
prive/objets/liste/partenaires_types_lies_fonctions.php -text
prive/squelettes/contenu/configurer_partenaires.html -text svneol=unset#text/plain
prive/squelettes/contenu/partenaire.html -text
prive/squelettes/contenu/partenaire_edit.html -text svneol=unset#text/plain
prive/squelettes/contenu/partenaires.html -text
prive/squelettes/contenu/partenaires_type.html -text
prive/squelettes/contenu/partenaires_type_edit.html -text

46
base/partenaires.php

@ -16,8 +16,8 @@ function partenaires_declarer_tables_interfaces($interfaces) {
$interfaces['table_des_tables']['partenaires'] = 'partenaires';
$interfaces['table_des_tables']['partenaires_types'] = 'partenaires_types';
$interfaces['exceptions_des_jointures']['partenaires']['titre_type'] = array('spip_partenaires_types', 'titre');
$interfaces['exceptions_des_jointures']['partenaires']['id_type'] = array('spip_partenaires_types', 'id_type');
$interfaces['exceptions_des_jointures']['partenaires']['titre_type'] = array('spip_partenaires_types', 'titre');
$interfaces['exceptions_des_jointures']['partenaires']['id_type'] = array('spip_partenaires_types', 'id_type');
return $interfaces;
}
@ -34,19 +34,36 @@ function partenaires_declarer_tables_objets_sql($tables) {
'field'=> array(
"id_partenaire" => "bigint(21) NOT NULL",
"nom" => "varchar(255) NOT NULL DEFAULT ''",
"descriptif" => "text NOT NULL DEFAULT ''",
"descriptif" => "text NOT NULL",
"url_site" => "varchar(255) NOT NULL DEFAULT ''",
"statut" => "varchar(20) DEFAULT '0' NOT NULL",
"maj" => "TIMESTAMP"
),
'key' => array(
"PRIMARY KEY" => "id_partenaire",
"KEY statut" => "statut",
),
'titre' => "nom AS titre, '' AS lang",
#'date' => "",
'champs_editables' => array('nom', 'descriptif', 'url_site'),
'champs_versionnes' => array('descriptif'),
'rechercher_champs' => array(),
'tables_jointures' => array(),
'champs_versionnes' => array('nom', 'descriptif', 'url_site'),
'rechercher_champs' => array("nom" => 8, "descriptif" => 6),
'tables_jointures' => array('spip_partenaires_liens'),
'statut_textes_instituer' => array(
'prop' => 'texte_statut_propose_evaluation',
'publie' => 'texte_statut_publie',
'poubelle' => 'texte_statut_poubelle',
),
'statut'=> array(
array(
'champ' => 'statut',
'publie' => 'publie',
'previsu' => 'publie,prop',
'post_date' => 'date',
'exception' => array('statut','tout')
)
),
'texte_changer_statut' => 'partenaire:texte_changer_statut_partenaire',
);
@ -82,17 +99,30 @@ function partenaires_declarer_tables_objets_sql($tables) {
* Déclaration des tables secondaires (liaisons)
*/
function partenaires_declarer_tables_auxiliaires($tables) {
$tables['spip_partenaires_liens'] = array(
'field' => array(
"id_partenaire" => "bigint(21) DEFAULT '0' NOT NULL",
"id_objet" => "bigint(21) DEFAULT '0' NOT NULL",
"objet" => "VARCHAR(25) DEFAULT '' NOT NULL",
"vu" => "VARCHAR(6) DEFAULT 'non' NOT NULL"
),
'key' => array(
"PRIMARY KEY" => "id_partenaire,id_objet,objet",
"KEY id_partenaire" => "id_partenaire"
)
);
$tables['spip_partenaires_types_liens'] = array(
'field' => array(
"id_type" => "bigint(21) DEFAULT '0' NOT NULL",
"id_type" => "bigint(21) DEFAULT '0' NOT NULL",
"id_objet" => "bigint(21) DEFAULT '0' NOT NULL",
"objet" => "VARCHAR(25) DEFAULT '' NOT NULL",
"vu" => "VARCHAR(6) DEFAULT 'non' NOT NULL"
),
'key' => array(
"PRIMARY KEY" => "id_type,id_objet,objet",
"KEY id_type" => "id_type"
"KEY id_type" => "id_type"
)
);

30
formulaires/configurer_partenaires.html

@ -0,0 +1,30 @@
#SET{objets,#ARRAY}
<BOUCLE_objets_liste(DATA){source tableau,#VAL|lister_tables_objets_sql}{par cle}{editable = oui}>
[(#VALEUR{page}|is_string|oui)
[(#SET{objets,#GET{objets}|array_merge{#ARRAY{#VALEUR{page},#VALEUR{texte_objets}|_T}}})]
]
</BOUCLE_objets_liste>
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
<h3 class="titrem"><:partenaires:cfg_titre_parametrages:></h3>
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}">
<div>
#ACTION_FORMULAIRE{#ENV{action}}
<ul>
[(#SAISIE{checkbox,objets,
datas=#GET{objets},
label=<:partenaires:label_selection_partenaires_objets:>}
)]
</ul>
<input type="hidden" name="_meta_casier" value="partenaires" />
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>

122
formulaires/editer_partenaire.php

@ -11,32 +11,134 @@ include_spip('inc/actions');
include_spip('inc/editer');
/**
* 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 représentent pas l'objet edité
*
* @param int|string $id_partenaire
* Identifiant du partenaire. 'new' pour un nouveau partenaire.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Éventuel `objet|x` indiquant de lier le partenaire créé à cet objet,
* tel que `article|3`
* @param int $lier_trad
* Identifiant éventuel d'un partenaire source d'une traduction
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL du partenaire, si connu
* @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_partenaire_identifier_dist($id_partenaire='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
return serialize(array(intval($id_partenaire)));
function formulaires_editer_partenaire_identifier_dist($id_partenaire='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
return serialize(array(intval($id_partenaire), $associer_objet));
}
/**
* Declarer les champs postes et y integrer les valeurs par defaut
* Chargement du formulaire d'édition de partenaire
*
* Déclarer les champs postés et y intégrer les valeurs par défaut
*
* @uses formulaires_editer_objet_charger()
*
* @param int|string $id_partenaire
* Identifiant du partenaire. 'new' pour un nouveau partenaire.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Éventuel `objet|x` indiquant de lier le partenaire créé à cet objet,
* tel que `article|3`
* @param int $lier_trad
* Identifiant éventuel d'un partenaire source d'une traduction
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL du partenaire, si connu
* @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_partenaire_charger_dist($id_partenaire='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
function formulaires_editer_partenaire_charger_dist($id_partenaire='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
$valeurs = formulaires_editer_objet_charger('partenaire',$id_partenaire,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
$valeurs['_hidden'].='<input type="hidden" name="statut" value="publie"/>';
return $valeurs;
}
/**
* Verifier les champs postes et signaler d'eventuelles erreurs
* Vérifications du formulaire d'édition de partenaire
*
* Vérifier les champs postés et signaler d'éventuelles erreurs
*
* @uses formulaires_editer_objet_verifier()
*
* @param int|string $id_partenaire
* Identifiant du partenaire. 'new' pour un nouveau partenaire.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Éventuel `objet|x` indiquant de lier le partenaire créé à cet objet,
* tel que `article|3`
* @param int $lier_trad
* Identifiant éventuel d'un partenaire source d'une traduction
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL du partenaire, si connu
* @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_partenaire_verifier_dist($id_partenaire='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
function formulaires_editer_partenaire_verifier_dist($id_partenaire='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
return formulaires_editer_objet_verifier('partenaire',$id_partenaire, array('nom'));
}
/**
* Traiter les champs postes
* Traitement du formulaire d'édition de partenaire
*
* Traiter les champs postés
*
* @uses formulaires_editer_objet_traiter()
*
* @param int|string $id_partenaire
* Identifiant du partenaire. 'new' pour un nouveau partenaire.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Éventuel `objet|x` indiquant de lier le partenaire créé à cet objet,
* tel que `article|3`
* @param int $lier_trad
* Identifiant éventuel d'un partenaire source d'une traduction
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL du partenaire, si connu
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return array
* Retours des traitements
*/
function formulaires_editer_partenaire_traiter_dist($id_partenaire='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
return formulaires_editer_objet_traiter('partenaire',$id_partenaire,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
function formulaires_editer_partenaire_traiter_dist($id_partenaire='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
$res = formulaires_editer_objet_traiter('partenaire',$id_partenaire,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
// Un lien a prendre en compte ?
if ($associer_objet AND $id_partenaire = $res['id_partenaire']) {
list($objet, $id_objet) = explode('|', $associer_objet);
if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) {
include_spip('action/editer_liens');
objet_associer(array('partenaire' => $id_partenaire), array($objet => $id_objet));
if (isset($res['redirect'])) {
$res['redirect'] = parametre_url ($res['redirect'], "id_lien_ajoute", $id_partenaire, '&');
}
}
}
return $res;
}

8
lang/partenaires_fr.php

@ -4,9 +4,17 @@
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
//C
'cfg_titre_parametrages' => 'Paramétrages',
//L
'label_selection_partenaires_objets'=>'Sélectionnez les objets auxquelles les partenaires peuvent être associés.',
// P
'partenaires_titre' => 'Partenaires',
// T
'titre_page_configurer_partenaires' => 'Paramêtres Plugin Partenaires',
);
?>

4
paquet.xml

@ -1,12 +1,12 @@
<paquet
prefix="partenaires"
categorie="divers"
version="1.4.0"
version="1.5.0"
etat="dev"
compatibilite="[3.0.5;3.0.*]"
logo="prive/themes/spip/images/partenaires-64.png"
documentation=""
schema="1.4.0"
schema="1.5.0"
>
<!--
Paquet généré le 2013-02-17 17:08:48

7
partenaires_administrations.php

@ -14,10 +14,10 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
function partenaires_upgrade($nom_meta_base_version, $version_cible) {
$maj = array();
$maj['create'] = array(array('maj_tables', array('spip_partenaires', 'spip_partenaires_types', 'spip_partenaires_types_liens')));
$maj['create'] = array(array('maj_tables', array('spip_partenaires', 'spip_partenaires_types', 'spip_partenaires_liens', 'spip_partenaires_types_liens')));
include_spip('base/importer_spip_partenaires_types');
$maj['create'][] = array('importer_spip_partenaires_types');
$maj['1.5.0'] = array(array('maj_tables', array('spip_partenaires','spip_partenaires_liens')));
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
@ -29,7 +29,8 @@ function partenaires_upgrade($nom_meta_base_version, $version_cible) {
function partenaires_vider_tables($nom_meta_base_version) {
sql_drop_table("spip_partenaires");
sql_drop_table("spip_partenaires_types");
sql_drop_table("spip_partenaires_types");
sql_drop_table("spip_partenaires_liens");
sql_drop_table("spip_partenaires_types_liens");
# Nettoyer les versionnages et forums

11
partenaires_pipelines.php

@ -16,6 +16,17 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
function partenaires_affiche_milieu($flux) {
$texte = "";
$e = trouver_objet_exec($flux['args']['exec']);
// partenaires sur les objets sélectionnées
$config=lire_config('partenaires',array());
$objets_partenaires=isset($config['objets'])?$config['objets']:array();
if (!$e['edition'] AND in_array($e['type'], $objets_partenaires)) {
$texte .= recuperer_fond('prive/objets/editer/liens', array(
'table_source' => 'partenaires',
'objet' => $e['type'],
'id_objet' => $flux['args'][$e['id_table_objet']]
));
}

7
prive/objets/infos/partenaire.html

@ -1,7 +0,0 @@
<BOUCLE_partenaire(PARTENAIRES){id_partenaire=#ENV{id}}>
<div class='infos'>
[(#SET{texte_objet,<:partenaire:titre_partenaire:>})]
<div class='numero'><:titre_cadre_numero_objet{objet=#GET{texte_objet}}:><p>#ID_PARTENAIRE</p></div>
</div>
</BOUCLE_partenaire>

71
prive/objets/liste/partenaires_associer.html

@ -0,0 +1,71 @@
[(#SET{defaut_tri,#ARRAY{
multi nom,1,
id_partenaire,1
}})
]
#SET{exclus,#ENV**{exclus,#ENV{objet_source}|lister_objets_lies{#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}}}
#SET{debut,#ENV{debutpara,#EVAL{_request("debutpara");}}}
<B_liste_partenaires>
[(#REM) En cas de pagination indirecte @32, il faut refaire le set car la boucle
a mis a jour la valeur avec la page reelle]
#SET{debut,#ENV{debutpara,#EVAL{_request("debutpara");}}}
#SET{afficher_lettres,#TRI|=={'multi nom'}|oui}
#ANCRE_PAGINATION
<div class="liste-objets liste-objets-associer partenaires">
<table class='spip liste'>
[<caption><span class="caption"><strong>(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{partenaire:info_1_partenaire,partenaire:info_nb_partenaires}})</strong>
<span class="recherche">
<label for="recherche-#ENV{id}"><:info_rechercher_02:></label>
<input type="text" class="recherche" name="recherche" id="recherche-#ENV{id}" value="#ENV{recherche}" />
<input type="submit" class="tout_voir" name="tout_voir" value="<:info_tout_afficher:>" />
</span>
</span>
</caption>]
<thead>
#SET{p,''}
<BOUCLE_lettre(PARTENAIRES){tout}{!id_partenaire IN #GET{exclus}}{where?}{recherche?}{statut?}
{tri #ENV{par,multi nom},#GET{defaut_tri}}{id_partenaire==#GET{afficher_lettres}|?{'.*','A'}}>[
(#NOM**|extraire_multi|initiale|unique|oui)
[(#SET{p,#GET{p}|concat{
#SELF|parametre_url{debutpara,@#ID_PARTENAIRE}|ancre_url{paginationpara}|afficher_initiale{#NOM**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
}})]
]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
(#SET{p,
#GET{p}|concat{
#REM|afficher_initiale{#REM,#TOTAL_BOUCLE,#GET{debut},#ENV{nb,10}}
}
})]</B_lettre>
[<tr><td colspan="3"><p class='pagination'>(#GET{p})</p></td></tr>]
<tr class='first_row'>
<th class='statut' scope='col'>[(#TRI{statut,<span title="<:lien_trier_statut|attribut_html:>">#</span>,ajax})]</th>
<th class='nom' scope='col'>[(#TRI{multi nom,<:partenaire:label_nom:>,ajax})]</th>
<th class='action' scope='col'></th>
</tr>
</thead>
<tbody>
<BOUCLE_liste_partenaires(PARTENAIRES){!id_partenaire IN #GET{exclus}}{where?}{recherche?}{statut?}
{tri #ENV{par,multi nom},#GET{defaut_tri}}{pagination #ENV{nb,10} para}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)]">
<td class='statut'>[(#STATUT|puce_statut{partenaire})]</td>
<td class='nom'>[(#LOGO_PARTENAIRE|image_reduire{20,20})]<a href="[(#ID_PARTENAIRE|generer_url_entite{partenaire})]">#NOM</a></td>
<td class='action'>
<button class="button link add" name="ajouter_lien\[partenaire-#ID_PARTENAIRE-#OBJET-#ID_OBJET\]" value="+"><:partenaire:ajouter_lien_partenaire:> [(#CHEMIN_IMAGE{ajouter-12.png}|balise_img{'+'})]</button>
</td>
</tr>
</BOUCLE_liste_partenaires>
</tbody>
</table>
[<p class='pagination'>(#PAGINATION{prive})</p>]
</div>
</B_liste_partenaires>[(#ENV{recherche}|oui)
<div class="liste-objets liste-objets-associer partenaires caption-wrap">
<span class="caption"><strong>[(#VAL{info_recherche_auteur_zero}|_T{#ARRAY{cherche_auteur,#ENV{recherche}}})]</strong>
<span class="recherche">
<label for="recherche-#ENV{id}"><:info_rechercher_02:></label>
<input type="text" class="recherche" name="recherche" id="recherche-#ENV{id}" value="#ENV{recherche}" />
<input type="submit" class="tout_voir" name="tout_voir" value="<:info_tout_afficher:>" />
</span>
</span>
</div>
]<//B_liste_partenaires>

18
prive/objets/liste/partenaires_associer_fonctions.php

@ -0,0 +1,18 @@
<?php
/**
* Fonctions du squelette associé
*
* @plugin Partenaires
* @copyright 2014
* @author Rainer
* @licence GNU/GPL
* @package SPIP\Partenaires\Fonctions
*/
if (!defined('_ECRIRE_INC_VERSION')) return;
// pour initiale et afficher_initiale
include_spip('prive/objets/liste/auteurs_fonctions');
?>

62
prive/objets/liste/partenaires_lies.html

@ -0,0 +1,62 @@
[(#SET{defaut_tri,#ARRAY{
nom,1,
id_partenaire,1
}})
]
#SET{selection,#ENV**{selection,#ENV{objet_source}|lister_objets_lies{#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}}}
#SET{debut,#ENV{debutparl,#EVAL{_request("debutparl");}}}
<B_liste_partenaires>
[(#REM) En cas de pagination indirecte @32, il faut refaire le set car la boucle
a mis a jour la valeur avec la page reelle]
#SET{debut,#ENV{debutparl,#EVAL{_request("debutparl");}}}
#SET{afficher_lettres,#TRI|=={'multi nom'}|oui}
#ANCRE_PAGINATION
<div class="liste-objets liste-objets-lies partenaires">
<table class='spip liste'>
[<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{partenaire:info_1_partenaire,partenaire:info_nb_partenaires}})</strong></caption>]
<thead>
#SET{p,''}
<BOUCLE_lettre(PARTENAIRES){tout}{id_partenaire IN #GET{selection}}{where?}{statut?}
{tri #ENV{par,nom},#GET{defaut_tri}}{id_partenaire==#GET{afficher_lettres}|?{'.*','A'}}>[
(#NOM**|extraire_multi|initiale|unique|oui)
[(#SET{p,#GET{p}|concat{
#SELF|parametre_url{debutparl,@#ID_PARTENAIRE}|ancre_url{paginationparl}|afficher_initiale{#NOM**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
}})]
]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
(#SET{p,
#GET{p}|concat{
#REM|afficher_initiale{#REM,#TOTAL_BOUCLE,#GET{debut},#ENV{nb,10}}
}
})]</B_lettre>
[<tr><td colspan="4"><p class='pagination'>(#GET{p})</p></td></tr>]
<tr class='first_row'>
<th class='statut' scope='col'>[(#TRI{statut,<span title="<:lien_trier_statut|attribut_html:>">#</span>,ajax})]</th>
<th class='nom' scope='col'>[(#TRI{multi nom,<:partenaire:label_nom:>,ajax})]</th>
<th class='action' scope='col'></th>
</tr>
</thead>
<tbody>
<BOUCLE_liste_partenaires(PARTENAIRES){id_partenaire IN #GET{selection}}{statut?}
{tri #ENV{par,nom},#GET{defaut_tri}}{pagination #ENV{nb,10} parl}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)][(#ID_PARTENAIRE|=={#ENV{id_lien_ajoute}}|oui)append]">
<td class='statut'>[(#STATUT|puce_statut{partenaire})]</td>
<td class='nom'>[(#LOGO_PARTENAIRE|image_reduire{20,20})]<a href="[(#ID_PARTENAIRE|generer_url_entite{partenaire})]">#NOM</a></td>
<td class='action'>
[(#ENV{editable}|oui)
<button class="button link delete" name="supprimer_lien\[partenaire-#ID_PARTENAIRE-#OBJET-#ID_OBJET\]" value="X"><:partenaire:retirer_lien_partenaire:> [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{'X'})]</button>
]
</td>
</tr>
</BOUCLE_liste_partenaires>
</tbody>
</table>
[<p class='pagination'>(#PAGINATION{prive})</p>]
[(#GRAND_TOTAL|>{3}|oui)<div class="action"><button class="button link" name="supprimer_lien\[partenaire-*-#OBJET-#ID_OBJET\]" value="X"><:partenaire:retirer_tous_liens_partenaires:> [(#CHEMIN_IMAGE{supprimer-8.png}|balise_img{'X'})]</button></div>]
</div>
</B_liste_partenaires>
<div class="liste-objets liste-objets-lies partenaires caption-wrap">
<strong class="caption">[(#ENV*{titre,<:partenaire:info_aucun_partenaire:>})]</strong>
</div>
<//B_liste_partenaires>

17
prive/objets/liste/partenaires_lies_fonctions.php

@ -0,0 +1,17 @@
<?php
/**
* Fonctions du squelette associé
*
* @plugin Partenaires
* @copyright 2014
* @author Rainer
* @licence GNU/GPL
* @package SPIP\Partenaires\Fonctions
*/
if (!defined('_ECRIRE_INC_VERSION')) return;
// pour initiale et afficher_initiale
include_spip('prive/objets/liste/auteurs_fonctions');
?>

7
prive/squelettes/contenu/configurer_partenaires.html

@ -0,0 +1,7 @@
[(#AUTORISER{configurer,_partenaires}|sinon_interdire_acces)]
<h1 class="grostitre"><:partenaires:titre_page_configurer_partenaires:></h1>
<div class="ajax">
#FORMULAIRE_CONFIGURER_PARTENAIRES
</div>

2
prive/squelettes/contenu/partenaire.html

@ -1,5 +1,5 @@
[(#AUTORISER{voir,partenaire,#ID_PARTENAIRE}|sinon_interdire_acces)]
<BOUCLE_partenaire(PARTENAIRES){id_partenaire}{si #ENV{exec}|=={partenaire}}>
<BOUCLE_partenaire(PARTENAIRES){id_partenaire}{si #ENV{exec}|=={partenaire}}{statut?}>
[(#BOITE_OUVRIR{[
[(#AUTORISER{modifier,partenaire,#ID_PARTENAIRE})
[(#ID_PARTENAIRE|afficher_qui_edite{partenaire}|non)

30
prive/squelettes/contenu/partenaire_edit.html

@ -0,0 +1,30 @@
[(#ID_OBJET|oui)
[(#AUTORISER{modifier,partenaire,#ID_PARTENAIRE}|sinon_interdire_acces)]
][(#ID_OBJET|non)
[(#AUTORISER{creer,partenaire}|sinon_interdire_acces)]
]
#SET{redirect,#ENV{redirect}|sinon{#ENV{lier_trad,#ID_PARTENAIRE}|?{#ENV{lier_trad,#ID_PARTENAIRE}|generer_url_entite{partenaire},#URL_ECRIRE{partenaires}}}}
<div class='cadre-formulaire-editer'>
<div class="entete-formulaire">
[(#ID_PARTENAIRE|oui)
[(#GET{redirect}|icone_verticale{Retour,partenaire,'',left retour[(#ENV{retourajax,''}|oui)ajax preload]})]
]
[
[(#ID_PARTENAIRE|?{<:partenaire:icone_modifier_partenaire:>,<:partenaire:icone_creer_partenaire:>})]
<h1>(#ENV{titre,#INFO_NOM{partenaire,#ID_PARTENAIRE}|sinon{<:info_sans_titre:>}})</h1>
]
</div>
#SET{redirect,#ENV{redirect,#ID_PARTENAIRE|generer_url_entite{partenaire}}}
[(#ENV{retourajax,''}|oui)
#SET{redirect,'javascript:if (window.jQuery) jQuery(".entete-formulaire .retour a").followLink();'}
<div class="ajax">
]
[(#FORMULAIRE_EDITER_PARTENAIRE{#ENV{id_partenaire,oui}, #GET{redirect}, #ENV{associer_objet}, #ENV{lier_trad}})]
[(#ENV{retourajax,''}|oui)
</div>
<script type="text/javascript">/*<!\[CDATA\[*/reloadExecPage('#ENV{exec}');/*\]\]>*/</script>
]
</div>
Loading…
Cancel
Save