[spip-dev] documents pour tous !

From : sl@... , the 31st January 2005 19:38
  • 2005-01-31 19:38:36 — sl@... - [spip-dev] documents pour tous !

Salut, juste une question : ligne 270 dans inc_getdocument.php3 :   if ($id_lien   AND ($type_lien == 'article' OR $type_lien == 'rubrique'))    spip_query("INSERT INTO spip_documents_".$type_lien."s     (id_document, id_".$type_lien.")     VALUES ($id_document, $id_lien)"); pourquoi ce test sur type_lien ? Et les breves ? Et les autres structures qui voudraient utiliser les documents ? C'est pas gentil de faire de la discrimination comme ca ! ;-) Au passage, ne peut on pas generaliser la mise à jour du titre et de la description ? j'ai fait un petit essai avec dans inc_documents.php3 que voici : function maj_document($id_objet, $type){  if ($id_objet && $_POST['id_document'] && $_POST['modif_document'] == 'oui') {   $query_doc = "SELECT * FROM spip_documents_".$type."s ";   $query_doc .= " WHERE id_document=".$_POST['id_document'];   $query_doc .= " AND id_".$type."=".$id_objet;   $result_doc = spip_query($query_doc);   if (spip_num_rows($result_doc) > 0) {    $titre_document = addslashes(corriger_caracteres($_POST['titre_document']));    $descriptif_document = addslashes(corriger_caracteres($_POST['descriptif_document']));    $query = "UPDATE spip_documents SET titre='$titre_document', descriptif='$descriptif_document'";    //if ($largeur_document AND $hauteur_document)     //    $query .= ", largeur='$largeur_document', hauteur='$hauteur_document'";    $query .= " WHERE id_document=".$_POST['id_document'];    spip_query($query);   }  } } Bon, pour la securité des documents, j'ai fait comme dans article_edit ... c'est limité (c'est pas mal deja de verifier qu'on est bien sur l'objet auquel il est attaché, ce qui n'etait pas fait ailleurs), mais de cette facon, ca centralise le probleme. Je ne suis pas sur de voir ou il faut le faire (j'ai placé les appels au debut de afficher_documents_non_inclus et *afficher_documents_colonne mais c'est peut etre mieux d'appeler la fonction directement ... ). dans inc_document, lignes 787 et 895 :  maj_document($id_article, $type); Du coup, on peut eliminer : article_edit : lignes 138 à 153 articles : lignes 77 à 85 naviguer : lignes 278 à 285 (il faut quand meme laisser la mise à jour de la date et calculer_rubriques ...) breve_edit : lignes 73 à 78 J'en profite pour rappeler que, dans rubrique_edit, il manque toujours ligne 133 : if ($new!="oui") afficher_documents_colonne($id_rubrique, 'rubrique', true); Je ne pense pas qu'une couche de securité supplementaire soit necessaire (si le gars a accès à la rubrique en modification, normalement, tout baigne ...) Voila, sinon, je n'ai pas compris à quel moment la heuteur et la largeur pouvaient etre mis à jour ni d'ou venaient ces données, du coup, j'ai laissé en commentaire. @++