Changeset 42219 in spip-zone


Ignore:
Timestamp:
Nov 12, 2010, 10:24:25 AM (10 years ago)
Author:
zeraxp@…
Message:

Nombreuses corrections et debug dont notamment:

  • tout peut se passer avec l'interface fournie, pas besoin de toucher aux fichiers(je pense a action/editer_XXXX.php qu'il fallait dedoubler a chaque objet)
  • modif de l'icone du plugin
  • gestion logo et documents operationnelle( Merci Rastapopoulos et Guy Cesaro et la liste )

Todo :

  • gestion du statut ( sans l'utilisation des puces dynamiques, je n'ai pas reussi, en cour s de debug, en attendant d'avoir le même fonctionnement que sur les objets spip )
  • amelioration des traductions et libelles
  • a tester les différents types de critères
Location:
_plugins_/spip_objets
Files:
5 added
3 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip_objets/action/editer_objets.php

    r41936 r42219  
    55function action_editer_objets_dist() {
    66  //TODO : faire en sorte que les objets soient eux aussi sécurisés...
    7   //$securiser_action = charger_fonction('securiser_action', 'inc');
    8   //$arg = $securiser_action();
     7  $securiser_action = charger_fonction('securiser_action', 'inc');
     8 
     9  //TODO : le list ne marche que sur les index numérique ...
     10  //
     11  $secu_action = $securiser_action("editer_"._request('nom_objet')."-"._request('id_objet'),_request('arg'),_request('redirect'),-1);
     12  $arg=$secu_action['arg'];
     13 
     14  // le -1 concerne le mode , et donc sécuriser_action vas renvoyer un tableau et pas une url
    915  $id_objet=_request('id_objet');
    1016
    1117  // pas d'objet ? on en cree un nouveau, mais seulement si 'oui' en argument.
    12   if (!$id_objet = intval($arg)) {
     18  if ($id_objet != intval($arg)) {
    1319    if ($arg != 'oui') {
    1420      include_spip('inc/headers');
    1521      //TODO : le $arg ne peut pas contenir 'oui' car le securiser_action n'est pas en place...
    16       //redirige_url_ecrire();
     22      redirige_url_ecrire();
    1723    }
    1824    $id_objet = insert_objet();
  • _plugins_/spip_objets/exec/objet_edit.php

    r41981 r42219  
    1212  $id_rubrique=_request('id_rubrique');
    1313  $id_article=_request('id_article');
     14  $new=_request('new');
    1415  $objets_installes=liste_objets_meta();
    1516  $nom_objet=objets_nom_objet($objet);
     
    6263  echo pipeline('affiche_gauche',array('args'=>array('exec'=>'objet_edit','objet'=>$objet,'id_objet'=>$id_objet,'id_rubrique'=>$id_rubrique,'id_article'=>$id_article),'data'=>''));
    6364  echo creer_colonne_droite("",true);
     65 
    6466  echo pipeline('affiche_droite',array('args'=>array('exec'=>'objet_edit','objet'=>$objet,'id_objet'=>$id_objet),'data'=>''));
    6567  echo debut_droite("",true);
     
    7173                'nom_objet'=>$nom_objet,
    7274                'id_objet'=>$id_objet,
     75          'id_'.$nom_objet=>$id_objet,
    7376                'id_rubrique'=>$id_rubrique,
    74                 'id_article'=>$id_article,     
     77                'id_article'=>$id_article,
    7578                'retour'=>_request('retour'),
    7679                //'parents'=>objets_get_parents($id_objet,$objet),
    7780                //TODO : modifier le findinpath pour l'icone ici ...
    78                 'icone_retour'=>icone_inline(_T('icone_retour'), parametre_url(generer_url_ecrire('naviguer'),'id_rubrique',$id_rubrique), find_in_path("images/objet-24.png"), "rien.gif",$GLOBALS['spip_lang_left']),
    79        
     81                'icone_retour'=>icone_inline(_T('icone_retour'), parametre_url(generer_url_ecrire('naviguer'),'id_rubrique',$id_rubrique), objets_vignette_objet($objet,"24","gif"), "rien.gif",$GLOBALS['spip_lang_left'])
    8082        );
     83        if(intval($id_objet)==$id_objet && $id_objet!="new" && $new!="oui"){
     84                $contexte['titre']= sql_getfetsel("titre","spip_".$objet,"id_".$nom_objet."=".$id_objet);
     85        }
    8186               
    8287        //TODO : on va plutôt aller chercher le fichier spécifique  a l'objet s'il existe,
  • _plugins_/spip_objets/formulaires/editer_objets.html

    r41936 r42219  
    11<div class='formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id_actu,new}'>
    2        
     2
    33        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
    44        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     
    77        <form method='post' action='#ENV{action}'><div>
    88                #ACTION_FORMULAIRE{#ENV{action}}
    9                
     9
    1010        <input type='hidden' name='id_objet' value='#ENV{id_objet}' />
    1111        <input type='hidden' name='objet' value='#ENV{objet}' />
     12        <input type='hidden' name='id_#ENV{nom_objet}' value='#ENV{id_objet}' />
    1213        <input type='hidden' name='nom_objet' value='#ENV{nom_objet}' />
    1314        <input type='hidden' name='redirect' value='#ENV{redirect}' />
    14        
     15        <input type='hidden' name='id_secteur' value='#ENV{id_secteur}' />
     16        <input type='hidden' name='action' value='editer_objets' />
    1517                <ul>
    1618                [(#SAISIE{input, titre,
    1719                        label=<:objets:label_titre:>,
    1820                        obligatoire=oui})]
    19                        
     21    <li>
     22      <label>Statut</label>
     23      <select name="statut">
     24        <option value="prepa" [(#ENV{statut}|=={prepa}|oui) selected] >En cours de Rédaction</option>
     25        <option value="publie" [(#ENV{statut}|=={publie}|oui) selected]>Publié</option>
     26      </select>
     27    </li> 
    2028                <li>
    2129                        <label>Choisissez la rubrique associée</label>
    2230      <INCLURE{fond=formulaires/selecteur/rubriques}{selected=#ENV{parents}}{name=parents}{sortable=oui}{id_rubrique}{limite_branche}{tri}>
    2331                </li>
    24                 <li>
     32                <!-- <li>
    2533                        <label>Choisissez l'article associé</label>
    2634                        <INCLURE{fond=formulaires/selecteur/articles}{selected=#ENV{parents}}{name=parents}{sortable=oui}{id_rubrique}{limite_branche}{tri}>
    27                 </li>   
     35                </li>   -->
    2836                </ul>
    2937                [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
  • _plugins_/spip_objets/formulaires/editer_objets.php

    r41936 r42219  
    1515        $valeurs['id_objet']=$id_objet;
    1616        $valeurs['nom_objet']=$nom_objet;
     17        $valeurs['id_'.$nom_objet]=$id_objet;
    1718        $valeurs['redirect']=$retour;
     19       
    1820        // si on est dans le cas ou id_objet est new on récupére un tableau vide, c'est directement géré dans la fonction
    1921        $valeurs['parents']=objets_get_parents($id_objet,$objet);
     22       
     23        //on récupére id_secteur de la rubrique dans laquelle on est
     24        if($id_objet=="new") {
     25                if($id_article=_request('id_article')){
     26                        $valeurs['id_secteur']=sql_getfetsel("id_secteur","spip_articles","id_article=".(int)$id_article);
     27                }elseif($id_rubrique=_request('id_rubrique')){
     28                        $valeurs['id_secteur']=sql_getfetsel("id_secteur","spip_rubriques","id_rubrique=".(int)$id_rubrique);
     29                }
     30        }else{//ce n'est pas un objet en cours de création
     31                if($statut=_request('statut')){
     32                        $valeurs['statut']=$statut;
     33                }else {
     34                        $valeurs['statut']=sql_getfetsel("statut","spip_".$objet,'id_'.$nom_objet."=".(int)$id_objet);
     35                }
     36        }
     37       
    2038       
    2139        return $valeurs;
  • _plugins_/spip_objets/inc/objets_fonctions.php

    r41981 r42219  
    3838//permet de récupérer les liaisons d'un objet du plugin avec les autres objets 
    3939function objets_get_parents($id_objet,$objet,$serveur=''){
    40         if(!$id_objet) return array();
     40        if(!$id_objet || $id_objet=="new") return array();
    4141        $nom_objet=objets_nom_objet($objet);
    4242       
     
    4646               
    4747        //on reconstruit le format des tableaux de liaison 'rubrique|1' 'article|1'
     48        //ce tableau de liaison sera réutiliser avec le sélecteur générique
    4849        $retour=array();
    4950        foreach ($id_parents as $ligne) {
  • _plugins_/spip_objets/inc/objets_puce.php

    r41981 r42219  
    6262
    6363  if ($ajax){
    64     return  "<span class='puce_objet_fixe'>"
     64    //Pour le moment on est toujours dans ce cas la ... en attendant de bien le gérer
     65        return  "<span class='puce_objet_fixe'>"
    6566    . $inser_puce
    6667    . "</span>" ;
     68   
    6769    /*
    6870     * TODO : gestion du statut de l'objet ... a priori il faudrait aussi un fichier action/instituer_OBJET
    6971     *
    7072     *
    71     . "<span class='puce_article_popup' id='statutdecal$objet$id_objet' style='margin-left: -".$clip."px;'>" //TODO : la classe n'est super bonne mais ca marche
     73    . "<span class='puce_article_popup' id='statutdecal$objet$id_objet' style='margin-left: -".$clip."px;'>"
     74    //TODO : la classe n'est super bonne mais ca marche
    7275                . afficher_script_statut($id_objet, $nom_objet, -1, $puces[3], 'prepa', $titles['blanche'])
    7376    . afficher_script_statut($id_objet, $nom_objet, -10, $puces[1], 'publie', $titles['verte'])
  • _plugins_/spip_objets/lang/objets_fr.php

    r41981 r42219  
    3535        'icone_creer_objet' => 'Cr&eacute;er un nouveau',
    3636        'item_nouveau'=>'Nouvel objet',
     37        'info_modifier_objet'=>'Saisissez votre  @objet@',
    3738
    3839        // L
     
    4647        'label_texte' => 'Texte',
    4748        'liste_des_actus' => 'Liste des actualit&eacute;s',
     49        'logo'=>"Logo",
    4850
    4951        // N
     
    6062  //texte_objets_configuration
    6163  //titre_page_objet_edit
    62   'texte_nouvel_objet'=>'Saisissez votre '
     64  'texte_nouvel_objet'=>'Remplissez les différentes zones de saisie puis validez'
    6365
    6466       
  • _plugins_/spip_objets/objets_pipelines.php

    r41981 r42219  
    175175                $nom_objet=objets_nom_objet($objet);
    176176               
     177                // le titre du bloc logo est dans une globale
    177178                $GLOBALS['logo_libelles']['id_'.$nom_objet]= _T('objets:titre_logo');
    178179               
     
    182183               
    183184                // Gestion du logo
    184                 $flux['data'] .= $iconifier('id_'.$nom_objet, $flux['args']['id_objet'], 'objet_edit', $flag_editable);
    185                
     185                //$flux['data'] .= $iconifier('id_'.$nom_objet, $flux['args']['id_objet'], 'objet_edit', $flag_editable);
     186                $contexte = array(
     187                        'id_objet'=>$flux['args']['id_objet'],
     188                        'objet'=>$flux['args']['objet'],
     189                        'nom_objet'=>$nom_objet,
     190                        'retour'=>generer_url_ecrire("objet_edit","id_objet=".$flux['args']['id_objet']."&objet=".$flux['args']['objet']."&id_rubrique=".$flux['args']['id_rubrique']."&id_article=".$flux['args']['id_article'])
     191                );
     192    $flux['data'].= recuperer_fond("prive/navigation/logo_objets",$contexte);
     193               
     194                               
    186195                // Gestion des documents
    187196                // TODO : on ne peut pas gerer ca avec mediatheque car il se base sur le nom de l'objet déduit de l'exec et donc objet_edit, et donc il récupére "objet"
    188197                // Mais cela revient quasiment au même ppuisque c'est le code de mediatheque qui est reporté ici
    189                 $flux['data'].=recuperer_fond('prive/editer/colonne_document',array('objet'=>$objet,'id_objet'=>$flux['args']['id_objet']));           
     198                $flux['data'].="<div class='cadre'>".recuperer_fond('prive/editer/colonne_document',array('objet'=>$objet,'id_objet'=>$flux['args']['id_objet']))."</div>";             
    190199               
    191200               
  • _plugins_/spip_objets/plugin.xml

    r41981 r42219  
    1010        </description>
    1111       
    12         <icon>images/actu-128.gif</icon>
     12        <icon>images/objet-24.png</icon>
    1313        <prefix>objets</prefix>
    1414
     
    1818        <!--
    1919        <bouton id='objets' parent='naviguer'>
    20                 <icone>images/actu-24.gif</icone>
     20                <icone>images/objet-24.png</icone>
    2121                <titre>objets:actus</titre>
    2222        </bouton>
     
    2424        <!-- On gere les 2 cas bandeau ou pas -->
    2525        <bouton id='objets_configuration' parent='bando_configuration'>
    26                 <icone>images/objets-24.png</icone>
     26                <icone>images/objet-24.png</icone>
    2727                <titre>objets:gestion_objets</titre>
    2828        </bouton>
    2929        <onglet id='objets_configuration' parent='configuration'>
    30                 <icone>images/objets-24.png</icone>
     30                <icone>images/objet-24.png</icone>
    3131                <titre>objets:gestion_objets</titre>
    3232        </onglet>
     
    9090        <!-- filtre |icone et boucles CONDITIONS -->
    9191        <necessite id="spip_bonux" version="[1.8.4;]" />
    92         <necessite id="cextras" version="[1.7.1;]" />
     92        <necessite id="cextras" version="[1.6.1;]" />
    9393        <necessite id="gestdoc" version="[1.4.2;]" />
    9494        <categorie>outil</categorie>
  • _plugins_/spip_objets/prive/editer/objet_edit.html

    r41936 r42219  
    22<div class="entete-formulaire">
    33        #ENV**{icone_retour}
    4         [<:objets:info_modifier_objet:>
    5         <h1>(#ENV{titre,<:objets:texte_nouvel_objet:> [(#ENV{nom_objet})] })</h1>]
     4        <:objets:info_modifier_objet{objet=#ENV{nom_objet}}:>
     5        <h1>[(#ENV{titre,<:objets:texte_nouvel_objet:>})]</h1>
    66</div>
    77#SET{retour,(#URL_ECRIRE{naviguer}|parametre_url{id_rubrique,#ENV{id_rubrique,0}})}
Note: See TracChangeset for help on using the changeset viewer.