function legender_corps($ancre, $flag, $id, $id_document, $script, $type, $document, $label, $taille) { include_spip('inc/editer'); $contenu = ''; $descriptif = $document['descriptif']; if ($descriptif) $contenu .= "<p>".PtoBR(lignes_longues(propre($descriptif),25)) . "</p>\n"; if ($document['largeur'] OR $document['hauteur']) $contenu .= _T('info_largeur_vignette', array('largeur_vignette' => $document['largeur'], 'hauteur_vignette' => $document['hauteur'])) . ' — '; $contenu .= taille_en_octets($document['taille']); $date = $document['date']; if ($date AND ($GLOBALS['meta']["documents_date"] == 'oui')) $contenu .= "<br />\n" . affdate($date); $corps = (!$contenu ? '' : "<div class='verdana1' style='text-align: center; margin-bottom: 10px;'>$contenu</div>") . "<div class='formulaire_spip formulaire_spip_compact'><ul><li class='editer_titre'><label for='titre_document$id_document'>$label</label>\n" . "<input type='text' name='titre_document' id='titre_document$id_document' class='text' value=\"".entites_html($document['titre']). "\" size='40' onfocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" /></li>\n" . (($GLOBALS['meta']["documents_date"] == 'oui') ? "<li class='editer_date'>".date_formulaire_legender($date, $id_document)."</li>" :'' ) . "<li class='editer_descriptif'><label for='descriptif_document$id_document'>". _T('info_description_2'). "</label>\n" . "<textarea name='descriptif_document' id='descriptif_document$id_document' rows='4' class='textarea' cols='*' onfocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\">" . entites_html($descriptif) . "</textarea></li></ul></div>\n" . $taille .controles_md5($document); $att_bouton = ""; $att_span = " id='valider_doc$id_document' " . ($flag == 'ajax' ? '' : "class='display_au_chargement'") . " style='text-align:" . $GLOBALS['spip_lang_right'] . ($flag == 'ajax' ? ';display:block' : "") . "'"; if (test_espace_prive()) return ajax_action_post("legender", $id_document, $script, "show_docs=$id_document&id_$type=$id#legender-$id_document", $corps, _T('bouton_enregistrer'), $att_bouton, $att_span, "&id_document=$id_document&id=$id&type=$type&ancre=$ancre") . "<div class='nettoyeur'></div>"; else { $corps = "<div class='boutons'>" . $corps . "<span" . $att_span . "><input type='submit' value='" . _T('bouton_enregistrer') ."' /></span></div>"; $redirect = parametre_url($script,'show_docs',$id_document,'&'); $redirect = parametre_url($redirect,"id_$type",$id,'&'); $redirect = parametre_url($redirect,"id_$type",$id,'&'); $redirect = ancre_url($redirect,"legender-$id_document"); return generer_action_auteur("legender", $id_document, $redirect, $corps, "\nmethod='post'"); } }
function formulaires_editer_objet_charger($type, $id='new', $id_parent=0, $lier_trad=0, $retour='', $config_fonc='articles_edit_config', $row=array(), $hidden=''){ $table_objet = table_objet($type); $table_objet_sql = table_objet_sql($type); $id_table_objet = id_table_objet($type); $new = !is_numeric($id); // Appel direct dans un squelette if (!$row) { if (!$new OR $lier_trad) { if ($select = charger_fonction($type."_select",'inc',true)) $row = $select($id, $id_parent, $lier_trad); else $row = sql_fetsel('*',$table_objet_sql,$id_table_objet."=".intval($id)); if (!$new) $md5 = controles_md5($row); } if (!$row) { $trouver_table = charger_fonction('trouver_table','base'); if ($desc = $trouver_table($table_objet)) foreach($desc['field'] as $k=>$v) $row[$k]=''; } } // Gaffe: sans ceci, on ecrase systematiquement l'article d'origine // (et donc: pas de lien de traduction) $id = ($new OR $lier_trad) ? 'oui' : $row[$id_table_objet]; $row[$id_table_objet] = $id; $contexte = $row; if ($id_parent && (!isset($contexte['id_parent']) OR $new)) $contexte['id_parent']=$id_parent; if ($config_fonc) $contexte['config'] = $config = $config_fonc($contexte); $att_text = " class='textarea' " . " rows='" . ($config['lignes'] +15) . "' cols='40'"; list($contexte['texte'],$contexte['_texte_trop_long']) = editer_texte_recolle($contexte['texte'],$att_text); // on veut conserver la langue de l'interface ; // on passe cette donnee sous un autre nom, au cas ou le squelette // voudrait l'exploiter if (isset($contexte['lang'])) { $contexte['langue'] = $contexte['lang']; unset($contexte['lang']); } $contexte['_hidden'] = "<input type='hidden' name='editer_$type' value='oui' />\n" . (!$lier_trad ? '' : ("\n<input type='hidden' name='lier_trad' value='" . $lier_trad . "' />" . "\n<input type='hidden' name='changer_lang' value='" . $config['langue'] . "' />")) . $hidden . $md5; if (isset($contexte['extra'])) $contexte['extra'] = unserialize($contexte['extra']); // preciser que le formulaire doit passer dans un pipeline $contexte['_pipeline'] = array('editer_contenu_objet',array('type'=>$type,'id'=>$id)); // preciser que le formulaire doit etre securise auteur/action // n'est plus utile lorsque l'action accepte l'id en argument direct // on le garde pour compat $contexte['_action'] = array("editer_$type",$id); return $contexte; }