Changeset 93676 in spip-zone
- Timestamp:
- Dec 14, 2015, 9:06:50 AM (5 years ago)
- Location:
- _plugins_/grappes/trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/grappes/trunk/action/lier_objets.php
r77004 r93676 37 37 38 38 function lier_objets($source,$id_source,$cible,$id_cible){ 39 // si la source n'est pas une grappe un inverse le sens de la liaison pour matcher l'autorisation grappe_associer 40 if ($source != 'grappe') 41 objet_associer(array($cible=>$id_cible),array($source=>$id_source)); 42 else 43 objet_associer(array($source=>$id_source),array($cible=>$id_cible)); 39 //if ($liens = sql_allfetsel('objet, id_objet', 'spip_grappes_liens', 'id_grappe=' . intval($id_source)." AND objet = '$cible'")) 40 // $rang=count($liens)+1; 41 //else 42 // $rang =1; 43 44 // si la source n'est pas une grappe on inverse le sens de la liaison pour matcher l'autorisation grappe_associer 45 if ($source != 'grappe'){ 46 $rang = definir_rang($id_cible,$source); 47 objet_associer(array($cible=>$id_cible), array($source=>$id_source), array('rang'=>$rang) ); 48 }else{ 49 $rang = definir_rang($id_source,$cible); 50 objet_associer(array($source=>$id_source), array($cible=>$id_cible), array('rang'=>$rang) ); 51 } 44 52 } 45 53 … … 48 56 } 49 57 58 function definir_rang($id_source, $cible){ 59 if ($liens = sql_allfetsel('objet, id_objet', 'spip_grappes_liens', 'id_grappe=' . intval($id_source)." AND objet = '$cible'")) 60 $rang=count($liens)+1; 61 else 62 $rang =1; 63 64 return $rang; 65 } 66 67 50 68 ?> -
_plugins_/grappes/trunk/base/grappes.php
r91007 r93676 55 55 "id_grappe" => "bigint(21) NOT NULL", 56 56 "id_admin" => "bigint(21) NOT NULL DEFAULT '0'", 57 "identifiant" => "varchar(255) default '' not null", 57 58 "titre" => "varchar(255) NOT NULL DEFAULT ''", 58 59 "descriptif" => "text NOT NULL DEFAULT ''", … … 73 74 'url_edit' => 'grappe_edit', 74 75 'editable' => 'oui', 75 'champs_editables' => array(' titre','descriptif','liaisons','acces','type'),76 'champs_versionnes' => array('titre','descriptif' ,'liaisons','acces','type','id_admin','jointure_auteurs','jointure_articles','jointure_rubriques'),76 'champs_editables' => array('identifiant','titre','descriptif','liaisons','acces','type'), 77 'champs_versionnes' => array('titre','descriptif'), 77 78 'rechercher_champs' => array( 78 79 'titre' => 8, -
_plugins_/grappes/trunk/formulaires/editer_grappe.html
r91278 r93676 7 7 parametre : url d'action ] 8 8 #ACTION_FORMULAIRE{#ENV{action}} 9 <input type='hidden' name='id_grappe' value='#ENV{id_grappe}' /> 10 <ul class='editer-groupe'> 9 <input type='hidden' name='id_grappe' value='#ENV{id_grappe}' /> 10 <ul class='editer-groupe'> 11 <li class='editer_identifiant obligatoire[ (#ENV**{erreurs}|table_valeur{identifiant}|oui)erreur] editer_type_input'> 12 <label for='identifiant'>[(#ENV{id_grappe}|intval|?{<:grappes:info_changer_identifiant_grappe:>,<:grappes:info_identifiant_grappe:>})]</label>[ 13 <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{identifiant})</span> 14 ]<input type='text' class='text' name='identifiant' id='identifiant' value='[(#ENV**{identifiant,#VAL{grappes:identifiant_nouvelle_grappe}|_T|filtrer_entites})]' 15 [(#ENV{identifiant,''}|?{'',' '})onfocus="if(!antifocus){this.value='';antifocus=true;}"]/> 16 </li> 11 17 <li class='editer editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur] editer_type_input'> 12 18 <label for='titre'>[(#ENV{id_grappe}|intval|?{<:grappes:info_changer_nom_grappe:>,<:grappes:info_nom_grappe:>})]</label>[ -
_plugins_/grappes/trunk/formulaires/editer_grappe.php
r92336 r93676 40 40 function formulaires_editer_grappe_verifier_dist($id_grappe='new',$retour='', $config_fonc='grappes_edit_config', $row=array(), $hidden=''){ 41 41 // le id 0 est voulu, on ne souhaite pas controler le contenu des champs qui postent un array ! 42 return formulaires_editer_objet_verifier('grappe',0,array(' titre'));42 return formulaires_editer_objet_verifier('grappe',0,array('identifiant')); 43 43 } 44 44 -
_plugins_/grappes/trunk/grappes_administrations.php
r91008 r93676 32 32 $maj['0.2.3'] = array(array('sql_updateq',"spip_grappes_liens",array('objet'=>'site'),"objet='syndic'")); 33 33 $maj['0.2.4'] = array(array('sql_alter',"TABLE spip_grappes ADD date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'")); 34 34 $maj['0.2.5'] = array(array('maj_tables', 'spip_grappes')); 35 35 36 include_spip('base/upgrade'); 36 37 maj_plugin($nom_meta_base_version, $version_cible, $maj); … … 44 45 * - spip_grappes_liens 45 46 * 46 * On supprime les r évisions de grappes si besoin47 * On supprime les revisions de grappes si besoin 47 48 * 48 49 * Supprime la meta d'installation -
_plugins_/grappes/trunk/grappes_pipelines.php
r77026 r93676 31 31 return $flux; 32 32 } 33 34 35 /** 36 * Pipeline jqueryui_forcer pour demander au plugin l'insertion des scripts pour .sortable() 37 * 38 * @param array $plugins 39 * @return array 40 */ 41 function grappes_jqueryui_forcer($plugins){ 42 if(test_espace_prive()){ // On envoie que si on est dans l'espace prive 43 $plugins[] = "jquery.ui.core"; 44 $plugins[] = "jquery.ui.widget"; 45 $plugins[] = "jquery.ui.mouse"; 46 $plugins[] = "jquery.ui.sortable"; 47 $plugins[] = "jquery.ui.droppable"; 48 $plugins[] = "jquery.ui.draggable"; 49 } 50 return $plugins; 51 } 52 33 53 34 54 /** -
_plugins_/grappes/trunk/lang/grappes_fr.php
r84618 r93676 27 27 'icone_supprimer_grappe' => 'Supprimer cette grappe', 28 28 'icone_voir_toutes_grappes' => 'Voir toutes les grappes', 29 'identifiant_nouvelle_grappe'=>'Identifiant textuel unique pour la grappe', 29 30 'info_1_grappe' => '1 grappe', 30 31 'info_aucune_grappe' => 'Aucune grappe', 31 'info_changer_nom_grappe' => 'Changer le nom de la grappe', 32 'info_changer_identifiant_grappe'=>'Changer l\'identifiant de la grappe', 33 'info_changer_nom_grappe' => 'Changer le titre de la grappe', 32 34 'info_creation_grappes' => 'Créer ou modifier des grappes d’éléments', 33 35 'info_grappes_association' => 'Quels objets peut on lier à la grappe ?', 34 36 'info_grappes_miennes' => 'Mes grappes', 35 37 'info_grappes_toutes' => 'Toutes les grappes', 38 'info_identifiant_grappe'=>'Identifiant textuel', 36 39 'info_nb_grappes' => '@nb@ grappes', 37 'info_nom_grappe' => ' Nomde la grappe',40 'info_nom_grappe' => 'Titre de la grappe', 38 41 'info_qui_peut_lier' => 'Qui peut lier les objets à la grappe ?', 39 42 'info_rechercher' => 'Chercher', -
_plugins_/grappes/trunk/paquet.xml
r93557 r93676 6 6 compatibilite="[3.0.0;3.1.*]" 7 7 logo="prive/themes/spip/images/grappe-32.png" 8 schema="0.2. 4"8 schema="0.2.5" 9 9 documentation="http://contrib.spip.net/4282" 10 10 > … … 15 15 <auteur>Matthieu Marcillaud</auteur> 16 16 <auteur>b_b</auteur> 17 <auteur>Arnaud B. (Mist. GraphX)</auteur> 17 18 18 19 <pipeline nom="declarer_tables_interfaces" inclure="base/grappes.php" /> … … 25 26 <pipeline nom="grappes_objets_lies" inclure="grappes_pipelines.php" /> 26 27 28 <pipeline nom="jqueryui_plugins" inclure="grappes_pipelines.php" action="jqueryui_forcer" /> 29 27 30 <necessite nom="SelecteurGenerique" compatibilite="[0.8.3;[" /> 28 31 -
_plugins_/grappes/trunk/prive/objets/infos/grappe.html
r77001 r93676 2 2 <div class='infos'> 3 3 <div class='numero'><:grappes:titre_grappe:> <:numero:><p>#ID_GRAPPE</p></div> 4 4 <p><b><:grappes:info_identifiant_grappe:> :</b> #IDENTIFIANT</p> 5 5 [(#AUTORISER{modifier,grappe,#ID_GRAPPE}|oui) 6 6 [(#URL_ACTION_AUTEUR{supprimer_grappe,-#ID_GRAPPE,#URL_ECRIRE{grappes}}|icone_horizontale{<:grappes:icone_supprimer_grappe:>,grappe,del})] -
_plugins_/grappes/trunk/prive/objets/liste/grappes-articles_lies.html
r78040 r93676 3 3 #ANCRE_PAGINATION 4 4 <div class="liste-objets liste-objets-lies articles"> 5 <table class= 'spip liste'>6 7 8 <BOUCLE_liste(ARTICLES ){id_article IN #GET{selection}}{pagination 10}{recherche ?}{statut?}{tout}>9 <trclass="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">5 <table class="spip liste" id="sort-articles"> 6 [<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{info_1_article,info_nb_articles}})</strong></caption>] 7 <tbody> 8 <BOUCLE_liste(ARTICLES spip_grappes_liens){par rang}{id_grappe ?}{pagination 10}{recherche ?}{statut?}{tout}> 9 <tr id="#ID_ARTICLE" class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]"> 10 10 <td class='statut'>[(#STATUT|puce_statut{article,#ID_ARTICLE,#ID_RUBRIQUE})]</td> 11 <td><BOUCLE_affRang(spip_grappes_liens){objet=article}{id_objet=#ID_ARTICLE}{id_grappe}>#RANG</BOUCLE_affRang></td> 11 12 <td class='titre principale'>#TITRE</td> 12 13 <td class='id'><a href="[(#ID_ARTICLE|generer_url_entite{article})]"><:grappes:voir:></a></td> … … 22 23 <div class="liste-objets liste-objets-lies articles caption-wrap"><strong class="caption"><:info_aucun_article:></strong></div> 23 24 <//B_liste> 25 <script> 26 $(function(){ 27 $("#sort-articles").sortable({ 28 items:"tr", 29 cursor:"move" 30 }); 31 $("#sort-articles").disableSelection(); 32 $("#sort-articles").bind("sortupdate", function(event, ui){ 33 var ordre = $(this).sortable('toArray').toString(); 34 var request = $.ajax({ 35 type: "POST", 36 url: "?action=trier_objets&id_grappe=#ENV{id_grappe}&objet=article&sort="+ordre 37 }); 38 request.done(function() { 39 $('.formulaire_lier_objets').ajaxReload(); 40 }); 41 }); 42 }); 43 </script> -
_plugins_/grappes/trunk/prive/objets/liste/grappes-auteurs_lies.html
r78040 r93676 3 3 #ANCRE_PAGINATION 4 4 <div class="liste-objets liste-objets-lies auteurs"> 5 <table class='spip liste' >5 <table class='spip liste' id="sort-auteurs"> 6 6 [<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{info_1_auteur,info_nb_auteurs}})</strong></caption>] 7 7 <tbody> 8 <BOUCLE_liste(AUTEURS ){id_auteur IN #GET{selection}}{pagination 10}{recherche ?}{statut?}{tout}>9 <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">8 <BOUCLE_liste(AUTEURS spip_grappes_liens){par spip_grappes_liens.rang}{id_auteur IN #GET{selection}}{pagination 10}{recherche ?}{statut ?}{tout}> 9 <tr id="#ID_AUTEUR" class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]"> 10 10 <td class='statut'>[(#STATUT|puce_statut{auteur})]</td> 11 <td><BOUCLE_affRang(spip_grappes_liens){objet=auteur}{id_objet=#ID_AUTEUR}{id_grappe}>#RANG</BOUCLE_affRang></td> 11 12 <td class='nom'>#NOM[ <small>((#LOGIN))</small>]</td> 12 13 <td class='id'><a href="[(#ID_AUTEUR|generer_url_entite{auteur})]"><:grappes:voir:></a></td> … … 22 23 <div class="liste-objets liste-objets-lies auteurs caption-wrap"><strong class="caption"><:info_aucun_auteur:></strong></div> 23 24 <//B_liste> 25 <script> 26 $(function(){ 27 $("#sort-auteurs").sortable({ 28 items:"tr", 29 cursor:"move" 30 }); 31 $("#sort-auteurs").disableSelection(); 32 $("#sort-auteurs").bind("sortupdate", function(event, ui){ 33 var ordre = $(this).sortable('toArray').toString(); 34 var request = $.ajax({ 35 type: "POST", 36 url: "?action=trier_objets&id_grappe=#ENV{id_grappe}&objet=auteur&sort="+ordre 37 }); 38 request.done(function() { 39 $('.formulaire_lier_objets').ajaxReload(); 40 }); 41 }); 42 }); 43 </script> -
_plugins_/grappes/trunk/prive/objets/liste/grappes-documents_lies.html
r78040 r93676 3 3 #ANCRE_PAGINATION 4 4 <div class="liste-objets liste-objets-lies documents"> 5 <table class='spip liste'> 6 [<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{medias:un_document,medias:des_documents}})</strong></caption>] 7 <tbody> 8 <BOUCLE_liste(DOCUMENTS){id_document IN #GET{selection}}{pagination 10}{recherche ?}{statut?}{tout}> 9 <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]"> 10 <td class='picto'>[(#CHEMIN_IMAGE{document-16.png}|balise_img)]</td> 11 <td class='titre principale'>[(#LOGO_DOCUMENT|image_reduire{20,26})][(#TITRE|sinon{[(#FICHIER|basename)]})]</td> 12 <td class='id'><a href="[(#ID_DOCUMENT|generer_url_entite{document})]"><:grappes:voir:></a></td> 13 [(#ENV{editable}) 14 <td class='action'>[(#BOUTON_ACTION{<:grappes:delier:> [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{'X'})],#URL_ACTION_AUTEUR{lier_objets,delier/grappe/#ID_GRAPPE/document/#ID_DOCUMENT,#SELF},ajax})]</td> 15 ]</tr> 16 </BOUCLE_liste> 17 </tbody> 5 <table class='spip liste' id="sort-documents"> 6 [<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{medias:un_document,medias:des_documents}})</strong></caption>] 7 <tbody> 8 <BOUCLE_liste(DOCUMENTS spip_grappes_liens){par spip_grappes_liens.rang}{id_document IN #GET{selection}}{pagination 10}{recherche ?}{statut?}{tout}> 9 <tr id="#ID_DOCUMENT" class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]"> 10 <td class='picto'>[(#CHEMIN_IMAGE{document-16.png}|balise_img)]</td> 11 <td><BOUCLE_affRang(spip_grappes_liens){objet=document}{id_objet=#ID_DOCUMENT}{id_grappe}>#RANG</BOUCLE_affRang></td> 12 <td class='titre principale'>[(#LOGO_DOCUMENT|image_reduire{20,26})][(#TITRE|sinon{[(#FICHIER|basename)]})]</td> 13 <td class='id'><a href="[(#ID_DOCUMENT|generer_url_entite{document})]"><:grappes:voir:></a></td> 14 [(#ENV{editable}) 15 <td class='action'>[(#BOUTON_ACTION{<:grappes:delier:> [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{'X'})],#URL_ACTION_AUTEUR{lier_objets,delier/grappe/#ID_GRAPPE/document/#ID_DOCUMENT,#SELF},ajax})]</td> 16 ]</tr> 17 </BOUCLE_liste> 18 </tbody> 18 19 </table> 19 20 [<p class="pagination">(#PAGINATION{prive})</p>] … … 22 23 <div class="liste-objets liste-objets-lies documents caption-wrap"><strong class="caption"><:medias:aucun_document:></strong></div> 23 24 <//B_liste> 25 26 27 <script> 28 $(function() { 29 $("#sort-documents").sortable({ 30 items:"tr", 31 cursor:"move" 32 }); 33 $("#sort-documents").disableSelection(); 34 $("#sort-documents").bind("sortupdate", function(event, ui){ 35 var ordre = $(this).sortable('toArray').toString(); 36 var request = $.ajax({ 37 type: "POST", 38 url: "?action=trier_objets&id_grappe=#ENV{id_grappe}&objet=document&sort="+ordre 39 }); 40 request.done(function() { 41 $('.formulaire_lier_objets').ajaxReload(); 42 }); 43 }); 44 }); 45 </script> -
_plugins_/grappes/trunk/prive/objets/liste/grappes.html
r66878 r93676 1 1 [(#SET{defaut_tri,#ARRAY{ 2 titre,1, 2 titre,1, 3 identifiant,1, 3 4 date,-1, 4 5 id_grappe,1, … … 12 13 <tr class='first_row'> 13 14 <th class='picto' scope='col'></th> 15 <th class="identifiant" scope="col">[(#TRI{identifiant,<:grappes:info_identifiant_grappe:>,ajax})]</th> 14 16 <th class='titre' scope='col'>[(#TRI{titre,<:grappes:info_nom_grappe:>,ajax})]</th> 15 17 <th class='date' scope='col'>[(#TRI{date,<:date:>,ajax})]</th> … … 21 23 <tr class='[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]'> 22 24 <td class='picto'>[(#CHEMIN_IMAGE{grappe-16.png}|balise_img)]</td> 23 <td class='titre principale'>[(#LOGO_GRAPPE|image_reduire{20,26})]<a href="[(#ID_GRAPPE|generer_url_entite{grappe})]" title="<:info_numero_abbreviation|attribut_html:> #ID_GRAPPE">[(#RANG). ]#TITRE</a></td> 25 <td class="identifiant principale"><a href="[(#ID_GRAPPE|generer_url_entite{grappe})]">#IDENTIFIANT</a></td> 26 <td class='titre principale'>[(#LOGO_GRAPPE|image_reduire{20,26})]<a href="[(#ID_GRAPPE|generer_url_entite{grappe})]">[(#RANG). ]#TITRE</a></td> 24 27 <td class='date secondaire'>[(#DATE|affdate_jourcourt)]</td> 25 28 <td class='id'>[(#AUTORISER{modifier,grappe,#ID_GRAPPE}|?{
Note: See TracChangeset
for help on using the changeset viewer.