Skip to content
Extraits de code Groupes Projets
Valider b357fa19 rédigé par Fil's avatar Fil
Parcourir les fichiers

debug complet du portfolio, ajax, pas ajax, et tout... ce genre de choses me tue. vivement jquery!

parent b9c5d240
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -14,13 +14,13 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -14,13 +14,13 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
function exec_documenter_dist() function exec_documenter_dist()
{ {
global $id_document, $script, $id, $type, $ancre; global $id_document, $id, $type, $ancre;
$id = intval($id); $id = intval($id);
$id_document = intval($id_document); $id_document = intval($id_document);
include_spip('inc/documents'); include_spip('inc/documents');
include_spip('inc/presentation'); include_spip('inc/presentation');
return formulaire_documenter($id_document, array(), $script, $type, $id, $ancre); return formulaire_documenter($id_document, array(), $type, $id, $ancre);
} }
?> ?>
...@@ -69,19 +69,22 @@ function generer_action_auteur($action, $arg, $redirect="", $mode=false, $att='' ...@@ -69,19 +69,22 @@ function generer_action_auteur($action, $arg, $redirect="", $mode=false, $att=''
"\n\t</div>\n</form>\n"; "\n\t</div>\n</form>\n";
} }
function redirige_action_auteur($action, $arg, $ret, $gra, $mode=false, $atts='') function redirige_action_auteur($action, $arg, $ret, $gra, $mode=false, $atts='') {
{ if (!$redirect = _request('redirect')) {
if (!$ret) $ret = _request('exec'); $gra = preg_replace(',^&,', '', $gra);
$gra = preg_replace(',^&,', '', $gra); $redirect = generer_url_ecrire($ret ? $ret : _request('exec'),
$gra, '&', _DIR_RESTREINT_ABS);
}
return generer_action_auteur( return generer_action_auteur(
$action, $action,
$arg, $arg,
generer_url_ecrire($ret, $gra, true, _DIR_RESTREINT_ABS), $redirect,
$mode, $mode,
$atts); $atts);
} }
// Retourne un formulaire d'execution de $action sur $id, // Retourne un formulaire d'execution de $action sur $id,
// revenant a l'envoyeur $script d'arguments $args. // revenant a l'envoyeur $script d'arguments $args.
// Utilise Ajax si dispo, en ecrivant le resultat dans le innerHTML du noeud // Utilise Ajax si dispo, en ecrivant le resultat dans le innerHTML du noeud
...@@ -89,6 +92,7 @@ function redirige_action_auteur($action, $arg, $ret, $gra, $mode=false, $atts='' ...@@ -89,6 +92,7 @@ function redirige_action_auteur($action, $arg, $ret, $gra, $mode=false, $atts=''
function ajax_action_auteur($action, $id, $corps, $script, $args_ajax, $args) function ajax_action_auteur($action, $id, $corps, $script, $args_ajax, $args)
{ {
// Methode traditionnelle // Methode traditionnelle
if ($_COOKIE['spip_accepte_ajax'] != 1) { if ($_COOKIE['spip_accepte_ajax'] != 1) {
if (is_string($corps)) { if (is_string($corps)) {
......
...@@ -547,14 +547,14 @@ function formulaire_taille($document) { ...@@ -547,14 +547,14 @@ function formulaire_taille($document) {
// Donnees sur le type de document // Donnees sur le type de document
$t = @spip_abstract_fetsel('inclus,extension', $t = @spip_abstract_fetsel('inclus,extension',
'spip_types_documents', "id_type=".$document['id_type']); 'spip_types_documents', "id_type=".$document['id_type']);
$type_inclus = $t['type_inclus']; $type_inclus = $t['inclus'];
$extension = $t['extension']; $extension = $t['extension'];
# TODO -- pour le MP3 "l x h pixels" ne va pas # TODO -- pour le MP3 "l x h pixels" ne va pas
if (($type_inclus == "embed" OR $type_inclus == "image") if (($type_inclus == "embed" OR $type_inclus == "image")
AND ( AND (
// documents dont la taille est definie // documents dont la taille est definie
$document['largeur'] * $document['hauteur'] ($document['largeur'] * $document['hauteur'])
// ou distants // ou distants
OR $document['distant'] == 'oui' OR $document['distant'] == 'oui'
// ou formats dont la taille ne peut etre lue par getimagesize // ou formats dont la taille ne peut etre lue par getimagesize
...@@ -564,7 +564,6 @@ function formulaire_taille($document) { ...@@ -564,7 +564,6 @@ function formulaire_taille($document) {
"<input type='text' name='largeur_document' class='fondl' style='font-size:9px;' value=\"".$document['largeur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" />" . "<input type='text' name='largeur_document' class='fondl' style='font-size:9px;' value=\"".$document['largeur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" />" .
" &#215; <input type='text' name='hauteur_document' class='fondl' style='font-size:9px;' value=\"".$document['hauteur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" /> "._T('info_pixels'); " &#215; <input type='text' name='hauteur_document' class='fondl' style='font-size:9px;' value=\"".$document['hauteur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" /> "._T('info_pixels');
} }
return '';
} }
// //
...@@ -575,27 +574,33 @@ function formulaire_upload($id, $intitule='', $inclus = '', $mode='', $type="", ...@@ -575,27 +574,33 @@ function formulaire_upload($id, $intitule='', $inclus = '', $mode='', $type="",
global $spip_lang_right; global $spip_lang_right;
static $num_form = 0; $num_form ++; static $num_form = 0; $num_form ++;
if (!_DIR_RESTREINT) { if (!_DIR_RESTREINT)
$dir_ftp = determine_upload(); $dir_ftp = determine_upload();
$debut = "\n" . bouton_block_invisible("ftp$num_form"); else $dir_ftp = '';
$milieu = "\n<div>" . debut_block_invisible("ftp$num_form");
$fin = "\n" . fin_block(); $res = "<input name='fichier' type='file' style='font-size: 10px;' class='forml' size='15' />" .
} else $dir_ftp = $debut = $fin = '';
$res = "\n$debut" .
(!$intitule ? '' : "\n\t<span>$intitule</span><br />") .
"\n\t\t<input name='fichier' type='file' style='font-size: 10px;' class='forml' size='15' />" .
"\n\t\t<div align='" . "\n\t\t<div align='" .
$GLOBALS['spip_lang_right'] . $GLOBALS['spip_lang_right'] .
"'><input name='sousaction1' type='submit' value='" . "'><input name='sousaction1' type='submit' value='" .
_T('bouton_telecharger') . _T('bouton_telecharger') .
"' class='fondo' /></div>"; "' class='fondo' />";
// Un menu depliant si on a une possibilite supplementaire // Un menu depliant si on a une possibilite supplementaire
$test_distant = ($mode == 'document' AND $type); $test_distant = ($mode == 'document' AND $type);
if ($dir_ftp OR $test_distant) if ($dir_ftp OR $test_distant OR ($mode == 'vignette')) {
$res .= $milieu; $debut = "<div style='float:".$GLOBALS['spip_lang_left'].";'>"
. bouton_block_invisible("ftp$num_form") ."</div>\n";
$milieu = debut_block_invisible("ftp$num_form");
$fin = fin_block();
if ($mode == 'vignette')
$res = $milieu . $res;
else
$res = $res . $milieu;
}
$res = $debut . ($intitule ? "<span>$intitule</span><br />" : '') .$res;
if ($dir_ftp) { if ($dir_ftp) {
$l = texte_upload_manuel($dir_ftp,$inclus, $mode); $l = texte_upload_manuel($dir_ftp,$inclus, $mode);
...@@ -619,9 +624,8 @@ function formulaire_upload($id, $intitule='', $inclus = '', $mode='', $type="", ...@@ -619,9 +624,8 @@ function formulaire_upload($id, $intitule='', $inclus = '', $mode='', $type="",
"\n</div>"; "\n</div>";
} }
if ($dir_ftp OR $test_distant) $res .= $fin;
$res .= $fin; // Fin eventuel menu depliant
// Fin menu depliant
$res .= "\n\t\t<input type='hidden' name='id' value='$id' />" . $res .= "\n\t\t<input type='hidden' name='id' value='$id' />" .
"\n\t\t<input type='hidden' name='id_document' value='$id_document' />" . "\n\t\t<input type='hidden' name='id_document' value='$id_document' />" .
...@@ -629,9 +633,16 @@ function formulaire_upload($id, $intitule='', $inclus = '', $mode='', $type="", ...@@ -629,9 +633,16 @@ function formulaire_upload($id, $intitule='', $inclus = '', $mode='', $type="",
"\n\t\t<input type='hidden' name='ancre' value='$ancre' />" . "\n\t\t<input type='hidden' name='ancre' value='$ancre' />" .
"\n\t$fin"; "\n\t$fin";
// a cause d'ajax, on ne peut pas faire confiance au script "documenter"
// pour reafficher la page apres upload de la vignette... donc il faut
// hacker
$script = $GLOBALS['exec'];
if ($script == 'documenter')
$script = ($type == 'rubriques') ? 'naviguer' : 'articles';
return generer_action_auteur('joindre', return generer_action_auteur('joindre',
$mode, $mode,
generer_url_ecrire($GLOBALS['exec'], "id_$type=$id"), generer_url_ecrire($script, "id_$type=$id"),
$res, $res,
" method='post' enctype='multipart/form-data' style='border: 0px; margin: 0px;'"); " method='post' enctype='multipart/form-data' style='border: 0px; margin: 0px;'");
} }
...@@ -704,10 +715,11 @@ function afficher_portfolio( ...@@ -704,10 +715,11 @@ function afficher_portfolio(
# script pour l'action des formulaires # script pour l'action des formulaires
if (isset($document['script'])) if (isset($document['script']))
$script = $document['script']; $script = $document['script']; # jamais utilise !?
elseif ($type == "rubrique") elseif ($type == "rubrique")
$script = 'naviguer'; $script = 'naviguer';
else $script = $GLOBALS['exec']; else
$script = 'articles';
$style = ""; $style = "";
if (!$case) if (!$case)
...@@ -719,7 +731,7 @@ function afficher_portfolio( ...@@ -719,7 +731,7 @@ function afficher_portfolio(
echo formulaire_tourner($id_document, $document, $script, $flag_modif, $type); echo formulaire_tourner($id_document, $document, $script, $flag_modif, $type);
if ($flag_modif) if ($flag_modif)
echo formulaire_documenter($id_document, $document, $script, $type, $document["id_$type"], $album); echo formulaire_documenter($id_document, $document, $type, $document["id_$type"], $album);
if (isset($document['info'])) if (isset($document['info']))
echo "<div class='verdana1'>".$document['info']."</div>"; echo "<div class='verdana1'>".$document['info']."</div>";
...@@ -1089,7 +1101,7 @@ function afficher_case_document($id_document, $id, $type, $deplier = false) { ...@@ -1089,7 +1101,7 @@ function afficher_case_document($id_document, $id, $type, $deplier = false) {
"</font></div>"; "</font></div>";
} }
echo formulaire_documenter($id_document, $document, '', $type, $id, "document$id_document"); echo formulaire_documenter($id_document, $document, $type, $id, "document$id_document");
fin_cadre_enfonce(); fin_cadre_enfonce();
} }
...@@ -1136,7 +1148,7 @@ function afficher_case_document($id_document, $id, $type, $deplier = false) { ...@@ -1136,7 +1148,7 @@ function afficher_case_document($id_document, $id, $type, $deplier = false) {
if (ereg(",$id_document,", $doublons)) if (ereg(",$id_document,", $doublons))
echo $raccourci_doc; echo $raccourci_doc;
echo formulaire_documenter($id_document, $document,'', $type, $id, "document$id_document"); echo formulaire_documenter($id_document, $document, $type, $id, "document$id_document");
fin_cadre_relief(); fin_cadre_relief();
} }
...@@ -1172,21 +1184,34 @@ function date_formulaire_documenter($date, $id_document) { ...@@ -1172,21 +1184,34 @@ function date_formulaire_documenter($date, $id_document) {
// En mode Ajax pour eviter de recharger toute la page ou il se trouve // En mode Ajax pour eviter de recharger toute la page ou il se trouve
// (surtout si c'est un portfolio) // (surtout si c'est un portfolio)
function formulaire_documenter($id_document, $document, $script, $type, $id, $ancre) function formulaire_documenter($id_document, $document, $type, $id, $ancre) {
{
// + securite (avec le script exec=documenter ca vient de dehors)
if (!preg_match('/^(article|rubrique)$/',$type, $r)) return;
if ($document) { if ($document) {
// premier appel // premier appel
$flag_deplie = teste_doc_deplie($id_document); $flag_deplie = teste_doc_deplie($id_document);
if (!$script) $script = $GLOBALS['exec']; } else if ($id_document) {
} else { // retour d'Ajax
// retour d'Ajax
$document = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = " . intval($id_document))); $document = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = " . intval($id_document)));
$flag_deplie = 'ajax'; $flag_deplie = 'ajax';
} else {
spip_log("erreur dans formulaire_documenter()");
return;
} }
$descriptif = $document['descriptif']; $descriptif = $document['descriptif'];
$titre = $document['titre']; $titre = $document['titre'];
$date = $document['date']; $date = $document['date'];
// vers ou rediriger
// a cause d'ajax, on ne peut pas faire confiance au script "documenter"
// pour reafficher la page apres upload de la vignette... donc il faut
// hacker
$script = $GLOBALS['exec'];
if ($script == 'documenter')
$script = ($type == 'rubrique') ? 'naviguer' : 'articles';
if ($document['mode'] == 'vignette') { if ($document['mode'] == 'vignette') {
...@@ -1198,10 +1223,11 @@ function formulaire_documenter($id_document, $document, $script, $type, $id, $an ...@@ -1198,10 +1223,11 @@ function formulaire_documenter($id_document, $document, $script, $type, $id, $an
$label = _T('entree_titre_document'); $label = _T('entree_titre_document');
$taille = formulaire_taille($document); $taille = formulaire_taille($document);
$supp = 'doc-24.gif'; $supp = 'doc-24.gif';
$id_vignette = $document['id_vignette']; $id_vignette = $document['id_vignette'];
$vignette = "<hr style='margin-left: -5px; margin-right: -5px; height: 1px; border: 0px; color: #eeeeee; background-color: white;' />" . $vignette = "<hr style='margin-left: -5px; margin-right: -5px; height: 1px; border: 0px; color: #eeeeee; background-color: white;' />" .
($id_vignette ? ($id_vignette ?
icone_horizontale (_T('info_supprimer_vignette'), redirige_action_auteur('supprimer', "document-$id_vignette", $script, "id_$type=$id#$ancre"), "vignette-24.png", "supprimer.gif", false) : icone_horizontale (_T('info_supprimer_vignette'), redirige_action_auteur('supprimer', "document-$id_vignette", $script, "id_$type=$id&show_docs=$id_document#$ancre"), "vignette-24.png", "supprimer.gif", false) :
formulaire_upload($id,_T('info_vignette_personnalisee'), false, 'vignette', $type, $ancre, $id_document)); formulaire_upload($id,_T('info_vignette_personnalisee'), false, 'vignette', $type, $ancre, $id_document));
} }
......
...@@ -17,7 +17,8 @@ $numero_block = array(); ...@@ -17,7 +17,8 @@ $numero_block = array();
$compteur_block = 0; $compteur_block = 0;
$compteur_block = rand(1,250)*200; // astuce idiote pour que les blocs ahah n'aient pas les memes numeros de triangle que la page principale (sinon le triangle d'un bloc importe par ahah agit sur un autre triangle... vivement jquery...). if (_request('var_ajax'))
$compteur_block = rand(1,2500)*500; // astuce idiote pour que les blocs ahah n'aient pas les memes numeros de triangle que la page principale (sinon le triangle d'un bloc importe par ahah agit sur un autre triangle... vivement jquery...).
function debut_block_visible($nom_block){ function debut_block_visible($nom_block){
......
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