Skip to content
Extraits de code Groupes Projets
Valider 336dd1c9 rédigé par esj's avatar esj
Parcourir les fichiers

gros menage dans l'envoi de documents pour utiliser spip_action plus...

gros menage dans l'envoi de documents pour utiliser spip_action plus efficacement. il y a encore un peu de boulot a venir
parent 1d4eb3d4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -10,8 +10,6 @@ ...@@ -10,8 +10,6 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/ \***************************************************************************/
//
if (!defined("_ECRIRE_INC_VERSION")) return; if (!defined("_ECRIRE_INC_VERSION")) return;
include_ecrire ("inc_session"); // action_auteur include_ecrire ("inc_session"); // action_auteur
...@@ -540,7 +538,15 @@ function afficher_formulaire_taille($document, $type_inclus='AUTO') { ...@@ -540,7 +538,15 @@ function afficher_formulaire_taille($document, $type_inclus='AUTO') {
// Afficher un formulaire d'upload // Afficher un formulaire d'upload
// //
function afficher_upload($image_url, $redirect='', $intitule, $inclus = '', $envoi_multiple = true, $mode, $type="") { function afficher_upload(
$id_article,
$redirect='',
$intitule,
$inclus = '',
$mode,
$type="",
$ancre='',
$document=0) {
global $clean_link, $connect_statut, $connect_toutes_rubriques, $options, $spip_lang_right,$connect_id_auteur; global $clean_link, $connect_statut, $connect_toutes_rubriques, $options, $spip_lang_right,$connect_id_auteur;
static $num_form = 0; $num_form ++; static $num_form = 0; $num_form ++;
...@@ -591,24 +597,30 @@ function afficher_upload($image_url, $redirect='', $intitule, $inclus = '', $env ...@@ -591,24 +597,30 @@ function afficher_upload($image_url, $redirect='', $intitule, $inclus = '', $env
array( array(
'redirect' => $redirect, 'redirect' => $redirect,
'hash' => calculer_action_auteur("joindre $mode"), 'hash' => calculer_action_auteur("joindre $mode"),
'id' => $id_article,
'id_auteur' => $connect_id_auteur, 'id_auteur' => $connect_id_auteur,
'arg' => $mode, 'arg' => $mode,
'type' => $type), 'type' => $type,
$image_url, 'id_document' => $document,
'ancre' => $ancre),
'multipart/form-data'); 'multipart/form-data');
} }
function construire_upload($corps, $args, $action, $enc='') function construire_upload($corps, $args, $enctype='')
{ {
$res = ""; $res = "";
foreach($args as $k => $v) foreach($args as $k => $v)
$res .= "\n<input type='hidden' name='$k' value='$v' />"; if ($v)
$res .= "\n<input type='hidden' name='action' value='joindre' />"; $res .= "\n<input type='hidden' name='$k' value='$v' />";
$link = new Link ($action); # ici enlever $action pour uploader directemet dans l'espace prive (UPLOAD_DIRECT) # ici enlever $action pour uploader directemet dans l'espace prive (UPLOAD_DIRECT)
# $link = new Link (); return "\n<form method='post'' action='" .
generer_url_public('spip_action.php') .
return "\n" . $link->getForm('POST', '', $enc) . "<div>" . "'" .
(!$enctype ? '' : " enctype='$enctype'") .
" style='border: 0px; margin: 0px;'>\n" .
"<div>" .
"\n<input type='hidden' name='action' value='joindre' />" .
$res . $corps . "</div></form>"; $res . $corps . "</div></form>";
} }
...@@ -655,7 +667,6 @@ function afficher_portfolio( ...@@ -655,7 +667,6 @@ function afficher_portfolio(
$type = "article", # article ou rubrique ? $type = "article", # article ou rubrique ?
$album = 'portfolio', # album d'images ou de documents ? $album = 'portfolio', # album d'images ou de documents ?
$flag_modif = false, # a-t-on le droit de modifier ? $flag_modif = false, # a-t-on le droit de modifier ?
$image_url, # adresse du lien spip_action
$redirect_url, # adresse du retour apres spip_action $redirect_url, # adresse du retour apres spip_action
$couleur # couleur des cases du tableau $couleur # couleur des cases du tableau
) { ) {
...@@ -727,18 +738,18 @@ entites_html($document['fichier'])."\" />\n"; ...@@ -727,18 +738,18 @@ entites_html($document['fichier'])."\" />\n";
if ($process == 'imagick' OR $process == 'gd2' if ($process == 'imagick' OR $process == 'gd2'
OR $process == 'convert' OR $process == 'netpbm') { OR $process == 'convert' OR $process == 'netpbm') {
// tournerr a gauche // tournerr a gauche
echo http_href_img(bouton_tourner_document($image_url, $redirect_url, $id_document, $album, -90), 'tourner-gauche.gif', "style='border-width: 0px;'", _T('image_tourner_gauche'), '', 'bouton_rotation'); echo http_href_img(bouton_tourner_document($id_article, $redirect_url, $id_document, $album, -90), 'tourner-gauche.gif', "style='border-width: 0px;'", _T('image_tourner_gauche'), '', 'bouton_rotation');
echo "<br />"; echo "<br />";
// tourner a droite // tourner a droite
echo http_href_img(bouton_tourner_document($image_url, $redirect_url, $id_document, $album, 90), echo http_href_img(bouton_tourner_document($id_article, $redirect_url, $id_document, $album, 90),
'tourner-droite.gif', "style='border-width: 0px;'", 'tourner-droite.gif', "style='border-width: 0px;'",
_T('image_tourner_droite'), '', 'bouton_rotation'); _T('image_tourner_droite'), '', 'bouton_rotation');
echo "<br />"; echo "<br />";
// tourner 180 // tourner 180
echo http_href_img(bouton_tourner_document($image_url, $redirect_url, $id_document, $album, 180), echo http_href_img(bouton_tourner_document($id_article, $redirect_url, $id_document, $album, 180),
'tourner-180.gif', "style='border-width: 0px;'", 'tourner-180.gif', "style='border-width: 0px;'",
_T('image_tourner_180'), '', 'bouton_rotation'); _T('image_tourner_180'), '', 'bouton_rotation');
} }
...@@ -845,12 +856,12 @@ entites_html($document['fichier'])."\" />\n"; ...@@ -845,12 +856,12 @@ entites_html($document['fichier'])."\" />\n";
// bloc mettre a jour la vignette // bloc mettre a jour la vignette
echo "<hr />"; echo "<hr />";
bloc_gerer_vignette($document, $image_url, $redirect_url, $album); bloc_gerer_vignette($document, $id_article, $redirect_url, $album);
echo "</div>"; echo "</div>";
// bouton "supprimer le doc" // bouton "supprimer le doc"
icone_horizontale(_T('icone_supprimer_document'), bouton_supprime_document_et_vignette($image_url, $redirect_url, $id_document, $album), "image-24.gif", "supprimer.gif"); icone_horizontale(_T('icone_supprimer_document'), bouton_supprime_document_et_vignette($id_article, $redirect_url, $id_document, $album), "image-24.gif", "supprimer.gif");
} // fin block modifs } // fin block modifs
...@@ -876,37 +887,21 @@ entites_html($document['fichier'])."\" />\n"; ...@@ -876,37 +887,21 @@ entites_html($document['fichier'])."\" />\n";
} }
function bouton_tourner_document($url, $redirect, $id, $album, $rot) function bouton_tourner_document($id_article, $redirect, $id, $album, $rot)
{ {
global $connect_id_auteur; return generer_action_auteur('tourner', $id, $redirect) .
$link_rot = new Link ($url); ($id_article ? ('&amp;id_article=' .$id_article) : "") .
$action = 'tourner'; ("&amp;var_rot=$rot&amp;ancre=$album");
$link_rot->addVar('hash', calculer_action_auteur("$action $id"));
$link_rot->addVar('id_auteur', $connect_id_auteur);
$link_rot->addVar('action', $action);
$link_rot->addVar('arg', $id);
$link_rot->addVar('var_rot', $rot);
$link_rot->addVar('redirect', $redirect.'&show_docs='.$id);
$link_rot->addVar('ancre', $album);
return $link_rot->getUrl();
} }
function bouton_supprime_document_et_vignette($url, $redirect, $id, $album) function bouton_supprime_document_et_vignette($id_article, $redirect, $id, $album)
{ {
global $connect_id_auteur; return generer_action_auteur('supprimer', $id, $redirect) .
($id_article ? ('&amp;id_article=' .$id_article) : "") .
$action = 'supprimer'; ("&amp;ancre=$album");
$link_supp = new Link ($url);
$link_supp->addVar('hash', calculer_action_auteur($action ." ".$id));
$link_supp->addVar('id_auteur', $connect_id_auteur);
$link_supp->addVar('action', $action);
$link_supp->addVar('arg', $id);
$link_supp->addVar('redirect', $redirect);
$link_supp->addVar('ancre', $album);
return $link_supp->getUrl();
} }
function bloc_gerer_vignette($document, $image_url, $redirect_url, $album) { function bloc_gerer_vignette($document, $id_article, $redirect_url, $album) {
global $connect_id_auteur; global $connect_id_auteur;
$id_document = $document['id_document']; $id_document = $document['id_document'];
...@@ -915,23 +910,11 @@ function bloc_gerer_vignette($document, $image_url, $redirect_url, $album) { ...@@ -915,23 +910,11 @@ function bloc_gerer_vignette($document, $image_url, $redirect_url, $album) {
echo bouton_block_invisible("gerer_vignette$id_document"); echo bouton_block_invisible("gerer_vignette$id_document");
echo "<b>"._T('info_vignette_personnalisee')."</b>\n"; echo "<b>"._T('info_vignette_personnalisee')."</b>\n";
echo debut_block_invisible("gerer_vignette$id_document"); echo debut_block_invisible("gerer_vignette$id_document");
if ($id_vignette) { if ($id_vignette) {
icone_horizontale (_T('info_supprimer_vignette'), bouton_supprime_document_et_vignette($image_url, icone_horizontale (_T('info_supprimer_vignette'), bouton_supprime_document_et_vignette($id_article, $redirect_url .'&show_docs='.$id_document, $id_vignette, $album), "vignette-24.png", "supprimer.gif");
$redirect_url.'&show_docs='.$id_document,
$id_vignette,
$album),
"vignette-24.png", "supprimer.gif");
} else { } else {
// lien "upload vignette" echo afficher_upload($id_article, $redirect_url,'portfolio', false, 'vignette', '', $album, $id_document);
$image_url .= "&id_document=$id_document&ancre=$album";
echo afficher_upload($image_url,
$redirect_url.'&show_docs='.$id_document,
/* _T('info_remplacer_vignette') */'',
'portfolio',
false,
'vignette');
} }
echo fin_block(); echo fin_block();
} }
...@@ -942,9 +925,6 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod ...@@ -942,9 +925,6 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
global $options; global $options;
global $spip_lang_left, $spip_lang_right; global $spip_lang_left, $spip_lang_right;
$image_url = generer_url_public('spip_action.php',
(!$id_article ? "" : ('id_article='.$id_article)));
$redirect_url = new Link(); $redirect_url = new Link();
if ($type == "rubrique") if ($type == "rubrique")
$redirect_url->addVar('action', 'calculer_rubriques'); $redirect_url->addVar('action', 'calculer_rubriques');
...@@ -976,7 +956,7 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod ...@@ -976,7 +956,7 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
echo "<div style='background-color: $couleur_claire; padding: 4px; color: black; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;' class='verdana2'><b>".majuscules(_T('info_portfolio'))."</b></div>"; echo "<div style='background-color: $couleur_claire; padding: 4px; color: black; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;' class='verdana2'><b>".majuscules(_T('info_portfolio'))."</b></div>";
echo "<table width='100%' cellspacing='0' cellpadding='3'>"; echo "<table width='100%' cellspacing='0' cellpadding='3'>";
afficher_portfolio ($documents, $id_article, $type, 'portfolio', $flag_modif, $image_url, $redirect_url, $couleur_claire); afficher_portfolio ($documents, $id_article, $type, 'portfolio', $flag_modif, $redirect_url, $couleur_claire);
echo "</table>\n"; echo "</table>\n";
} }
...@@ -1005,24 +985,18 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod ...@@ -1005,24 +985,18 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
echo "<div style='background-color: #aaaaaa; padding: 4px; color: black; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;' class='verdana2'><b>". majuscules(_T('info_documents')) ."</b></div>"; echo "<div style='background-color: #aaaaaa; padding: 4px; color: black; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;' class='verdana2'><b>". majuscules(_T('info_documents')) ."</b></div>";
echo "<table width='100%' cellspacing='0' cellpadding='5'>"; echo "<table width='100%' cellspacing='0' cellpadding='5'>";
afficher_portfolio ($documents, $id_article, $type, 'documents', $flag_modif, $image_url, $redirect_url, '#aaaaaa'); afficher_portfolio ($documents, $id_article, $type, 'documents', $flag_modif, $redirect_url, '#aaaaaa');
echo "</table>"; echo "</table>";
} }
if ($GLOBALS['meta']["documents_$type"] != 'non' AND $flag_modif) { if ($GLOBALS['meta']["documents_$type"] != 'non' AND $flag_modif) {
/// Ajouter nouveau document/image /// Ajouter nouveau document/image
echo "<p>&nbsp;</p>"; echo "<p>&nbsp;</p>";
echo "<div align='right'>"; echo "<div align='right'>";
echo "<table width='50%' cellpadding=0 cellspacing=0 border=0><tr><td style='text-align: $spip_lang_left;'>"; echo "<table width='50%' cellpadding=0 cellspacing=0 border=0><tr><td style='text-align: $spip_lang_left;'>";
echo debut_cadre_relief("image-24.gif", false, "", _T('titre_joindre_document')); echo debut_cadre_relief("image-24.gif", false, "", _T('titre_joindre_document'));
echo afficher_upload($id_article, $redirect_url, _T('info_telecharger_ordinateur'), '', 'document', $type);
echo afficher_upload($image_url, $redirect_url, _T('info_telecharger_ordinateur'), '', true, 'document', $type);
echo fin_cadre_relief(); echo fin_cadre_relief();
...@@ -1043,21 +1017,17 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif = ...@@ -1043,21 +1017,17 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif =
global $clean_link; global $clean_link;
global $id_doc_actif; global $id_doc_actif;
$image_url = generer_url_public('spip_action.php',
(!$id_article ? "" : ('id_article='.$id_article)));
# HACK!!! simule une mise en page pour affecter les document_vu() # HACK!!! simule une mise en page pour affecter les document_vu()
# utilises dans afficher_case_document appelee plus loin : # utilises dans afficher_case_document appelee plus loin :
# utile pour un affichage differencie des image "libres" et des images # utile pour un affichage differencie des image "libres" et des images
# integrees via <imgXX|left> dans le texte # integrees via <imgXX|left> dans le texte
propre($GLOBALS['descriptif']." ".$GLOBALS['texte']." ".$GLOBALS['chapo']); propre($GLOBALS['descriptif']." ".$GLOBALS['texte']." ".$GLOBALS['chapo']);
/// Ajouter nouvelle image /// Ajouter nouvelle image
echo "<a name='images'></a>\n"; echo "<a name='images'></a>\n";
$titre_cadre = _T('bouton_ajouter_image').aide("ins_img"); $titre_cadre = _T('bouton_ajouter_image').aide("ins_img");
debut_cadre_relief("image-24.gif", false, "creer.gif", $titre_cadre); debut_cadre_relief("image-24.gif", false, "creer.gif", $titre_cadre);
echo afficher_upload($image_url, $redirect_url, _T('info_telecharger'),'',true,'vignette',$type); echo afficher_upload($id_article, $redirect_url, _T('info_telecharger'),'','vignette',$type);
fin_cadre_relief(); fin_cadre_relief();
...@@ -1078,33 +1048,24 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif = ...@@ -1078,33 +1048,24 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif =
$vignettes[]= $v['id_vignette']; $vignettes[]= $v['id_vignette'];
$docs_exclus = ereg_replace('^,','',join(',', $vignettes).','.join(',', $documents_lies)); $docs_exclus = ereg_replace('^,','',join(',', $vignettes).','.join(',', $documents_lies));
if ($docs_exclus) if ($docs_exclus) $docs_exclus = "AND l.id_document NOT IN ($docs_exclus) ";
$docs_exclus = "AND l.id_document NOT IN ($docs_exclus) ";
} }
//// Images sans documents //// Images sans documents
$query = "SELECT docs.id_document FROM spip_documents AS docs, spip_documents_".$type."s AS l ". $images_liees = spip_query("SELECT docs.id_document FROM spip_documents AS docs, spip_documents_".$type."s AS l "."WHERE l.id_".$type."=$id_article AND l.id_document=docs.id_document ".$docs_exclus."AND docs.mode='vignette' ORDER BY docs.id_document");
"WHERE l.id_".$type."=$id_article AND l.id_document=docs.id_document ".$docs_exclus.
"AND docs.mode='vignette' ORDER BY docs.id_document";
$images_liees = spip_query($query);
echo "\n<p />"; echo "\n<p />";
while ($document = spip_fetch_array($images_liees)) { while ($document = spip_fetch_array($images_liees)) {
$id_document = $document['id_document']; $id_document = $document['id_document'];
afficher_case_document($id_document, $image_url, $redirect_url, $id_doc_actif == $id_document); afficher_case_document($id_document, $id_article, $redirect_url, $id_doc_actif == $id_document);
} }
/// Ajouter nouveau document /// Ajouter nouveau document
echo "<p>&nbsp;</p>\n"; echo "<p>&nbsp;</p>\n<a name='documents'></a>\n<a name='portfolio'></a>\n";
echo "<a name='documents'></a>\n";
echo "<a name='portfolio'></a>\n";
if ($type == "article" AND $GLOBALS['meta']["documents_$type"] != 'non') { if ($type == "article" AND $GLOBALS['meta']["documents_$type"] != 'non') {
$titre_cadre = _T('bouton_ajouter_document').aide("ins_doc"); $titre_cadre = _T('bouton_ajouter_document').aide("ins_doc");
debut_cadre_enfonce("doc-24.gif", false, "creer.gif", $titre_cadre); debut_cadre_enfonce("doc-24.gif", false, "creer.gif", $titre_cadre);
echo afficher_upload($image_url, $redirect_url,_T('info_telecharger_ordinateur'), '',true,'document',$type); echo afficher_upload($id_article, $redirect_url,_T('info_telecharger_ordinateur'), '','document',$type);
fin_cadre_enfonce(); fin_cadre_enfonce();
} }
...@@ -1114,7 +1075,7 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif = ...@@ -1114,7 +1075,7 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif =
if ($documents_lies) { if ($documents_lies) {
reset($documents_lies); reset($documents_lies);
while (list(, $id_document) = each($documents_lies)) { while (list(, $id_document) = each($documents_lies)) {
afficher_case_document($id_document, $image_url, $redirect_url, $id_doc_actif == $id_document); afficher_case_document($id_document, $id_article, $redirect_url, $id_doc_actif == $id_document);
} }
} }
} }
...@@ -1140,7 +1101,7 @@ function affiche_raccourci_doc($doc, $id, $align) { ...@@ -1140,7 +1101,7 @@ function affiche_raccourci_doc($doc, $id, $align) {
// Afficher un document sous forme de ligne depliable // Afficher un document sous forme de ligne depliable
// //
function afficher_case_document($id_document, $image_url, $redirect_url = "", $deplier = false) { function afficher_case_document($id_document, $id_article, $redirect_url = "", $deplier = false) {
global $connect_id_auteur, $connect_statut; global $connect_id_auteur, $connect_statut;
global $clean_link; global $clean_link;
global $options; global $options;
...@@ -1295,7 +1256,7 @@ function afficher_case_document($id_document, $image_url, $redirect_url = "", $d ...@@ -1295,7 +1256,7 @@ function afficher_case_document($id_document, $image_url, $redirect_url = "", $d
// Fin edition des champs // Fin edition des champs
echo "<p /><div align='center'>"; echo "<p /><div align='center'>";
icone_horizontale(_T('icone_supprimer_document'), bouton_supprime_document_et_vignette($image_url, $redirect_url, $id_document, 'documents'), "doc-24.gif", "supprimer.gif"); icone_horizontale(_T('icone_supprimer_document'), bouton_supprime_document_et_vignette($id_article, $redirect_url, $id_document, 'documents'), "doc-24.gif", "supprimer.gif");
echo "</div>"; echo "</div>";
...@@ -1314,7 +1275,7 @@ function afficher_case_document($id_document, $image_url, $redirect_url = "", $d ...@@ -1314,7 +1275,7 @@ function afficher_case_document($id_document, $image_url, $redirect_url = "", $d
$document['extension'] = "gif"; $document['extension'] = "gif";
break; break;
} }
bloc_gerer_vignette($document, $image_url, $redirect_url, 'documents'); bloc_gerer_vignette($document, $id_article, $redirect_url, 'documents');
echo "</div>\n"; echo "</div>\n";
} }
...@@ -1406,7 +1367,7 @@ function afficher_case_document($id_document, $image_url, $redirect_url = "", $d ...@@ -1406,7 +1367,7 @@ function afficher_case_document($id_document, $image_url, $redirect_url = "", $d
echo "<center>"; echo "<center>";
icone_horizontale (_T('icone_supprimer_image'), bouton_supprime_document_et_vignette($image_url, $redirect_url, $id_document, 'images'), "image-24.gif", "supprimer.gif"); icone_horizontale (_T('icone_supprimer_image'), bouton_supprime_document_et_vignette($id_article, $redirect_url, $id_document, 'images'), "image-24.gif", "supprimer.gif");
echo "</center>\n"; echo "</center>\n";
......
...@@ -196,7 +196,7 @@ function ajouter_un_document ($source, $nom_envoye, $type_lien, $id_lien, $mode, ...@@ -196,7 +196,7 @@ function ajouter_un_document ($source, $nom_envoye, $type_lien, $id_lien, $mode,
// Documents distants : pas trop de verifications bloquantes, mais un test // Documents distants : pas trop de verifications bloquantes, mais un test
// via une requete HEAD pour savoir si la ressource existe (non 404), si le // via une requete HEAD pour savoir si la ressource existe (non 404), si le
// content-type est connu, et si possible recuperer la taille, voire plus. // content-type est connu, et si possible recuperer la taille, voire plus.
spip_log ("ajout du document $nom_envoye ($mode $type_lien $id_lien $id_document)"); spip_log ("ajout du document $nom_envoye (M '$mode' T '$type_lien' L '$id_lien' D '$id_document')");
if ($mode == 'distant') { if ($mode == 'distant') {
include_ecrire('inc_distant'); include_ecrire('inc_distant');
if ($a = recuperer_infos_distantes($source)) { if ($a = recuperer_infos_distantes($source)) {
...@@ -382,32 +382,13 @@ function ajouter_un_document ($source, $nom_envoye, $type_lien, $id_lien, $mode, ...@@ -382,32 +382,13 @@ function ajouter_un_document ($source, $nom_envoye, $type_lien, $id_lien, $mode,
return true; return true;
} }
function afficher_compactes($fichiers, $args, $action) { function afficher_compactes($action) {
// presenter une interface pour choisir si fichier joint ou decompacte
// passer ca en squelette un de ces jours.
include_ecrire('inc_documents');
install_debut_html(_T('upload_fichier_zip')); echo "<p>", install_debut_html(_T('upload_fichier_zip')); echo "<p>",
_T('upload_fichier_zip_texte'), _T('upload_fichier_zip_texte'),
"</p>", "</p>",
"<p>", "<p>",
_T('upload_fichier_zip_texte2'), _T('upload_fichier_zip_texte2'),
"</p>", "</p>",$action;
construire_upload(
"<div><input type='radio' checked='checked' name='sousaction5' value='5'>" .
_T('upload_zip_telquel').
"</div>".
"<div><input type='radio' name='sousaction5' value='6'>".
_T('upload_zip_decompacter').
"</div>".
"<ul><li>" .
join("</li>\n<li>",$fichiers) .
"</li></ul>".
"<div>&nbsp;</div>".
"<div style='text-align: right;'><input class='fondo' style='font-size: 9px;' type='submit' value='".
_T('bouton_valider').
"'></div>",
$args, $action);
install_fin_html(); install_fin_html();
} }
...@@ -437,16 +418,32 @@ function examiner_les_fichiers($files, $mode, $type, $id, $id_document, $hash, $ ...@@ -437,16 +418,32 @@ function examiner_les_fichiers($files, $mode, $type, $id, $id_document, $hash, $
include_ecrire('pclzip.lib'); include_ecrire('pclzip.lib');
$archive = new PclZip($zip); $archive = new PclZip($zip);
if ($archive) { if ($archive) {
// demander confirmation // presenter une interface pour choisir si fichier joint ou decompacte
afficher_compactes(verifier_compactes($archive), // passer ca en squelette un de ces jours.
array(
include_ecrire('inc_documents');
$texte =
"<div><input type='radio' checked='checked' name='sousaction5' value='5'>" .
_T('upload_zip_telquel').
"</div>".
"<div><input type='radio' name='sousaction5' value='6'>".
_T('upload_zip_decompacter').
"</div>".
"<ul><li>" .
join("</li>\n<li>",verifier_compactes($archive)) .
"</li></ul>".
"<div>&nbsp;</div>".
"<div style='text-align: right;'><input class='fondo' style='font-size: 9px;' type='submit' value='".
_T('bouton_valider').
"'></div>";
afficher_compactes(construire_upload($texte, array(
'redirect' => $redirect, 'redirect' => $redirect,
'hash' => $hash, 'hash' => $hash,
'id_auteur' => $id_auteur, 'id_auteur' => $id_auteur,
'id' => $id,
'chemin' => $zip, 'chemin' => $zip,
'arg' => $mode, 'arg' => $mode,
'type' => $type), 'type' => $type)));
generer_url_public('spip_action.php',"id_article=$id"));
// a tout de suite en joindre5 ou joindre6 // a tout de suite en joindre5 ou joindre6
exit; exit;
} }
......
...@@ -27,7 +27,7 @@ function spip_action_joindre_dist() ...@@ -27,7 +27,7 @@ function spip_action_joindre_dist()
$sousaction4, $sousaction4,
$sousaction5, $sousaction5,
$action, $hash, $id_auteur, $action, $hash, $id_auteur,
$url, $chemin, $ancre, $type, $id_article, $id_document, $redirect, $url, $chemin, $ancre, $type, $id, $id_document, $redirect,
$_FILES, $HTTP_POST_FILES; $_FILES, $HTTP_POST_FILES;
if (!verifier_action_auteur("$action $arg", $hash, $id_auteur)) if (!verifier_action_auteur("$action $arg", $hash, $id_auteur))
...@@ -48,18 +48,22 @@ function spip_action_joindre_dist() ...@@ -48,18 +48,22 @@ function spip_action_joindre_dist()
$documents_actifs = array(); $documents_actifs = array();
if (function_exists($action)) if (function_exists($action))
$action($path, $arg, $type, $id_article, $id_document, $action($path, $arg, $type, intval($id), $id_document,
$hash, $id_auteur, $redirect, $documents_actifs); $hash, $id_auteur, $redirect, $documents_actifs);
else spip_log("spip_action: sousaction inconnue $action"); else spip_log("spip_action: sousaction inconnue $action");
$link = new Link(_DIR_RESTREINT . $redirect);
if ($documents_actifs) { if ($documents_actifs) {
$link->addVar('show_docs',join('-',$documents_actifs)); $redirect .= '&show_docs=' . join('-',$documents_actifs);
} }
if ($ancre) {
$redirect .= '#' . $ancre;
}
$redirect = _DIR_RESTREINT . $redirect;
# spip_action fera la redirection.
## redirection a supprimer si on veut poster dans l'espace prive directement (UPLOAD_DIRECT) ## redirection a supprimer si on veut poster dans l'espace prive directement (UPLOAD_DIRECT)
redirige_par_entete($link->getUrl($ancre));
} }
......
...@@ -60,8 +60,8 @@ function spip_action_supprimer_dist() { ...@@ -60,8 +60,8 @@ function spip_action_supprimer_dist() {
WHERE id_document=$id_vignette"); WHERE id_document=$id_vignette");
} }
} }
$link = new Link(_DIR_RESTREINT_ABS . $GLOBALS['redirect']); $GLOBALS['redirect'] = _DIR_RESTREINT_ABS . $GLOBALS['redirect'];
redirige_par_entete($link->getUrl($GLOBALS['ancre'])); if ($GLOBALS['ancre']) $GLOBALS['redirect'] .= '#'. $GLOBALS['ancre'];
} }
?> ?>
...@@ -69,8 +69,9 @@ function spip_action_tourner_dist() { ...@@ -69,8 +69,9 @@ function spip_action_tourner_dist() {
spip_query("UPDATE spip_documents SET largeur=$largeur, hauteur=$hauteur WHERE id_document=$arg"); spip_query("UPDATE spip_documents SET largeur=$largeur, hauteur=$hauteur WHERE id_document=$arg");
} }
$link = new Link(_DIR_RESTREINT_ABS . $GLOBALS['redirect']); $GLOBALS['redirect'] = _DIR_RESTREINT_ABS . $GLOBALS['redirect'];
redirige_par_entete($link->getUrl($GLOBALS['ancre'])); $GLOBALS['redirect'] .= '&show_docs='.$arg;
if ($GLOBALS['ancre']) $GLOBALS['redirect'] .= '#'. $GLOBALS['ancre'];
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter