Browse Source

portfolio suite et fin

1.8
Fil 18 years ago
parent
commit
3c0abbab06
  1. 1
      .gitattributes
  2. 6
      ecrire/config-fonctions.php3
  3. BIN
      ecrire/img_pack/vignette-24.png
  4. 460
      ecrire/inc_documents.php3
  5. 52
      ecrire/inc_getdocument.php3
  6. 15
      ecrire/inc_logos.php3
  7. 2
      formulaire_admin-dist.html
  8. 9
      inc-formulaire_admin.php3

1
.gitattributes vendored

@ -232,6 +232,7 @@ ecrire/img_pack/triangle-droite.gif -text
ecrire/img_pack/triangle-droite_rtl.gif -text
ecrire/img_pack/triangle.gif -text
ecrire/img_pack/triangle_rtl.gif -text
ecrire/img_pack/vignette-24.png -text
ecrire/img_pack/visit-12.gif -text
ecrire/img_pack/visiter-48.png -text
ecrire/img_pack/visiter-48_rtl.png -text

6
ecrire/config-fonctions.php3

@ -46,6 +46,12 @@ function afficher_choix_vignette($process) {
else
$border=0;
// Ici on va tester les capacites de GD independamment des tests realises
// dans les images spip_image -- qui servent neanmoins pour la qualite
/* if (function_exists('imageformats')) {
} */
echo "<td width='".($taille_preview+4)."'><div align='center' valign='bottom' width='".($taille_preview+4)."'><a href='config-fonctions.php3?image_process=$process'><img src='../spip_image.php3?test_vignette=$process' border='$border' /></a><br />";
if ($border) echo "<b>$process</b>";
else echo "$process";

BIN
ecrire/img_pack/vignette-24.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

460
ecrire/inc_documents.php3

@ -468,66 +468,46 @@ function afficher_upload($link, $redirect='', $intitule, $inclus = '', $envoi_mu
// Afficher les documents non inclus
// (page des articles)
function afficher_documents_non_inclus($id_article, $type = "article", $flag_modif) {
function afficher_portfolio (
$documents = array(), # liste des documents, avec toutes les donnees
$id_article, # numero de l'article ou de la rubrique
$type = "article", # article ou rubrique ?
$album = 'portfolio', # album d'images ou de documents ?
$flag_modif = false, # a-t-on le droit de modifier ?
$image_url, # adresse du lien spip_image
$redirect_url, # adresse du retour apres spip-image
$couleur # couleur des cases du tableau
) {
global $connect_id_auteur, $connect_statut;
global $couleur_foncee, $couleur_claire;
global $clean_link;
global $id_doublons, $options;
global $spip_lang_left, $spip_lang_right;
$image_url = '../spip_image.php3?';
if ($id_article) $image_url .= '&id_article='.$id_article;
if ($type == "rubrique") $image_url .= '&modifier_rubrique=oui';
$redirect_url = $clean_link->getUrl();
// Afficher portfolio
/////////
$query = "SELECT docs.* FROM spip_documents AS docs, spip_documents_".$type."s AS l, spip_types_documents AS lestypes ".
"WHERE l.id_$type=$id_article AND l.id_document=docs.id_document ".
"AND docs.mode='document'".
" AND docs.id_type=lestypes.id_type AND lestypes.extension IN ('gif', 'jpg', 'png')";
// la derniere case d'une rangee
$bord_droit = ($album == 'portfolio' ? 2 : 1);
if ($id_doublons['documents']) $query .= " AND docs.id_document NOT IN (0".$id_doublons['documents'].") ";
$query .= " ORDER BY docs.id_document";
$images_liees = @spip_query($query);
if (spip_num_rows($images_liees) > 0) {
$case = "0";
echo "<a name='portfolio'></a>";
echo "<div>&nbsp;</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'>";
while ($document = spip_fetch_array($images_liees)) {
$id_document = $document['id_document'];
$id_vignette = $document['id_vignette'];
$id_type = $document['id_type'];
$titre = $document['titre'];
$descriptif = $document['descriptif'];
$url = generer_url_document($id_document);
$fichier = $document['fichier'];
$largeur = $document['largeur'];
$hauteur = $document['hauteur'];
$taille = $document['taille'];
$date = $document['date'];
$mode = $document['mode'];
$flag_deplie = teste_doc_deplie($id_document);
if ($case == 0) {
echo "<tr style='border-top: 1px solid black;'>";
}
$style = "border-left: 1px solid $couleur_claire; border-bottom: 1px solid $couleur_claire;";
if ($case == 2) $style .= " border-right: 1px solid $couleur_claire;";
echo "<td width='33%' style='text-align: $spip_lang_left; $style' valign='top'>";
foreach ($documents as $document) {
$id_document = $document['id_document'];
$id_vignette = $document['id_vignette'];
$id_type = $document['id_type'];
$titre = $document['titre'];
$descriptif = $document['descriptif'];
$url = generer_url_document($id_document);
$fichier = $document['fichier'];
$largeur = $document['largeur'];
$hauteur = $document['hauteur'];
$taille = $document['taille'];
$date = $document['date'];
$mode = $document['mode'];
$flag_deplie = teste_doc_deplie($id_document);
if ($case == 0) {
echo "<tr style='border-top: 1px solid black;'>";
}
$style = "border-left: 1px solid $couleur; border-bottom: 1px solid $couleur;";
if ($case == $bord_droit) $style .= " border-right: 1px solid $couleur;";
echo "<td width='33%' style='text-align: $spip_lang_left; $style' valign='top'>";
// bloc vignette + rotation
echo "<div style='text-align:center;'>";
@ -544,52 +524,50 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
}
// bloc rotation de l'image
if ($flag_modif) {
if ($flag_modif
AND strstr(lire_meta('formats_graphiques'), $format)) {
echo "<div class='verdana1' style='float: $spip_lang_right; text-align: $spip_lang_right;'>";
if (ereg($format, lire_meta('formats_graphiques'))) {
$process = lire_meta('image_process');
if ($process == 'imagick' OR $process == 'gd2'
OR $process == 'convert') {
// tourner a gauche
$link_rot = new Link ($image_url);
$link_rot->addVar('redirect',
$redirect_url.'&show_docs='.$id_document);
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('var_rot', -90);
$link_rot->addVar('ancre', 'portfolio');
echo http_href_img($link_rot->getUrl(), 'tourner-gauche.gif', "border='0'", _T('image_tourner_gauche'), '', 'bouton_rotation');
echo "<br />";
// tourner a droite
$link_rot = new Link ($image_url);;
$link_rot->addVar('redirect',
$redirect_url.'&show_docs='.$id_document);
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('var_rot', 90);
$link_rot->addVar('ancre', 'portfolio');
echo http_href_img($link_rot->getUrl(),
'tourner-droite.gif', "border='0'",
_T('image_tourner_droite'), '', 'bouton_rotation');
echo "<br />";
// tourner 180
$link_rot = new Link ($image_url);;
$link_rot->addVar('redirect',
$redirect_url.'&show_docs='.$id_document);
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('show_docs', $id_document);
$link_rot->addVar('var_rot', 180);
$link_rot->addVar('ancre', 'portfolio');
echo http_href_img($link_rot->getUrl(),
'tourner-180.gif', "border='0'",
_T('image_tourner_180'), '', 'bouton_rotation');
}
$process = lire_meta('image_process');
if ($process == 'imagick' OR $process == 'gd2'
OR $process == 'convert') {
// tourner a gauche
$link_rot = new Link ($image_url);
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('var_rot', -90);
$link_rot->addVar('redirect',
$redirect_url.'&show_docs='.$id_document);
$link_rot->addVar('ancre', 'portfolio');
echo http_href_img($link_rot->getUrl(), 'tourner-gauche.gif', "border='0'", _T('image_tourner_gauche'), '', 'bouton_rotation');
echo "<br />";
// tourner a droite
$link_rot = new Link ($image_url);;
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('var_rot', 90);
$link_rot->addVar('redirect',
$redirect_url.'&show_docs='.$id_document);
$link_rot->addVar('ancre', 'portfolio');
echo http_href_img($link_rot->getUrl(),
'tourner-droite.gif', "border='0'",
_T('image_tourner_droite'), '', 'bouton_rotation');
echo "<br />";
// tourner 180
$link_rot = new Link ($image_url);;
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('var_rot', 180);
$link_rot->addVar('redirect',
$redirect_url.'&show_docs='.$id_document);
$link_rot->addVar('ancre', 'portfolio');
echo http_href_img($link_rot->getUrl(),
'tourner-180.gif', "border='0'",
_T('image_tourner_180'), '', 'bouton_rotation');
}
echo "</div>\n";
} // fin bloc rotation
@ -622,7 +600,7 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
$triangle = bouton_block_invisible("port$id_document");
}
if (strlen($titre) > 0) {
echo "<div class='verdana2'><b>$triangle".propre($titre)."</b></div>";
echo "<div class='verdana2'><b>$triangle".typo($titre)."</b></div>";
} else {
$nom_fichier = basename($fichier);
@ -637,8 +615,15 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
echo "<div class='verdana1'>".propre($descriptif)."</div>";
}
echo "<div class='verdana1' style='text-align: center;'>"
._T('info_largeur_vignette', array('largeur_vignette' => $largeur, 'hauteur_vignette' => $hauteur))."</div>";
// Taille de l'image ou poids du document
echo "<div class='verdana1' style='text-align: center;'>";
if ($largeur * $hauteur)
echo _T('info_largeur_vignette',
array('largeur_vignette' => $largeur,
'hauteur_vignette' => $hauteur));
else
echo taille_en_octets($taille);
echo "</div>";
if ($flag_modif) {
@ -658,7 +643,7 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
echo "<b>"._T('titre_titre_document')."</b><br />\n";
echo "<input type='text' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" name='titre_document' class='formo' style='font-size:11px;' value=\"".entites_html($titre)."\" size='40'><br />";
// modifier la date
// modifier la date (seulement dans les rubriques - et encore)
if ($type == 'rubrique' AND $options == "avancees") {
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) {
$mois = $regs[2];
@ -676,14 +661,15 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
afficher_annee($annee);
echo "</SELECT><br />";
}
// bloc descriptif (affiche ou hidden)
if ($options == "avancees") {
echo "<b>"._T('info_description')."</b><br />\n";
echo "<textarea name='descriptif_document' rows='4' class='forml' style='font-size:10px;' cols='*' wrap='soft' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\">";
echo entites_html($descriptif);
echo "</textarea>\n";
} else {
echo "<input type='hidden' name='descriptif_document' value='".entites_html($descriptif)."' />\n";
echo "<input type='hidden' name='descriptif_document' value=\"".entites_html($descriptif)."\" />\n";
}
echo "<div class='display_au_chargement' id='valider_doc$id_document' align='".$GLOBALS['spip_lang_right']."'>";
@ -707,7 +693,7 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
// bloc mettre a jour la vignette
echo "<hr />";
echo bouton_block_invisible("gerer_vignette$id_document");
echo _T('info_vignette_personnalisee');
echo "<b>"._T('info_vignette_personnalisee')."</b>\n";
echo debut_block_invisible("gerer_vignette$id_document");
if ($id_vignette) {
@ -720,7 +706,7 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
$link->addVar('doc_supp', $id_vignette);
$link->addVar('ancre', 'portfolio');
icone_horizontale (_T('info_supprimer_vignette'),
$link->getUrl(), "cadenas-24.gif", "supprimer.gif");
$link->getUrl(), "vignette-24.png", "supprimer.gif");
}
else {
// lien "creation automatique"
@ -735,7 +721,8 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('id_document', $id_document);
$link->addVar('ancre', 'portfolio');
echo "<a href='".$link->getUrl()."'>"._T('info_creer_vignette')."</a>\n<br />\n";
icone_horizontale(_T('info_creer_vignette'),
$link->getUrl(), "vignette-24.png", "creer.gif");
}
// lien "upload vignette"
@ -761,233 +748,91 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
echo "</td>\n";
$case ++;
if ($case == 3) {
if ($case > $bord_droit) {
$case = 0;
echo "</tr>\n";
}
$id_doublons['documents'] .= ",$id_document";
}
// fermer la derniere ligne
if ($case > 0) {
echo "<td style='border-left: 1px solid $couleur_claire;'>&nbsp;</td>";
echo "<td style='border-left: 1px solid $couleur;'>&nbsp;</td>";
echo "</tr>";
}
echo "</table>";
}
}
//// Documents associes
$query = "SELECT * FROM spip_documents AS docs, spip_documents_".$type."s AS l ".
function afficher_documents_non_inclus($id_article, $type = "article", $flag_modif) {
global $clean_link;
global $couleur_foncee, $couleur_claire;
global $connect_id_auteur, $connect_statut;
global $id_doublons, $options;
global $spip_lang_left, $spip_lang_right;
$image_url = '../spip_image.php3?';
if ($id_article) $image_url .= '&id_article='.$id_article;
if ($type == "rubrique") $image_url .= '&modifier_rubrique=oui';
$redirect_url = $clean_link->getUrl();
// Afficher portfolio
/////////
$query = "SELECT docs.* FROM spip_documents AS docs, spip_documents_".$type."s AS l, spip_types_documents AS lestypes ".
"WHERE l.id_$type=$id_article AND l.id_document=docs.id_document ".
"AND docs.mode='document'";
"AND docs.mode='document'".
" AND docs.id_type=lestypes.id_type AND lestypes.extension IN ('gif', 'jpg', 'png')";
if ($id_doublons['documents']) $query .= " AND docs.id_document NOT IN (0".$id_doublons['documents'].") ";
$query .= " ORDER BY docs.id_document";
$documents_lies = spip_query($query);
if (spip_num_rows($documents_lies) > 0) {
//
// recuperer tout le tableau des images du portfolio
//
$images_liees = spip_query($query);
$documents = array();
while ($document = spip_fetch_array($images_liees))
$documents[] = $document;
$case = "0";
echo "<a name='docs'></a>";
if (count($documents)) {
echo "<a name='portfolio'></a>";
echo "<div>&nbsp;</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'>";
while ($document = spip_fetch_array($documents_lies)) {
$id_document = $document['id_document'];
$id_vignette = $document['id_vignette'];
$id_type = $document['id_type'];
$titre = $document['titre'];
$descriptif = $document['descriptif'];
$url = generer_url_document($id_document);
$fichier = $document['fichier'];
$largeur = $document['largeur'];
$hauteur = $document['hauteur'];
$taille = $document['taille'];
$date = $document['date'];
$mode = $document['mode'];
$flag_deplie = teste_doc_deplie($id_document);
if ($case == 0)
echo "<tr style='border-top: 1px solid black;'>";
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'>";
$style = "border-left: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa;";
afficher_portfolio ($documents, $id_article, $type, 'portfolio', $flag_modif, $image_url, $redirect_url, $couleur_claire);
if ($case == 1)
$style .= " border-right: 1px solid #aaaaaa;";
echo "</table>\n";
}
echo "<td width='50%' style='text-align: $spip_lang_left; $style' valign='top'>";
$result = spip_query("SELECT * FROM spip_types_documents WHERE id_type=$id_type");
if ($type_doc = @spip_fetch_array($result)) {
$type_extension = $type_doc['extension'];
$type_inclus = $type_doc['inclus'];
$type_titre = $type_doc['titre'];
}
//
// Recuperer la vignette
//
$vignette = "";
$fichier_vignette = "";
if ($id_vignette > 0) {
$link = new Link ($image_url);
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("supp_doc ".$id_vignette));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('doc_supp', $id_vignette);
$link->addVar('ancre', 'docs');
//// Documents associes
$query = "SELECT * FROM spip_documents AS docs, spip_documents_".$type."s AS l ".
"WHERE l.id_$type=$id_article AND l.id_document=docs.id_document ".
"AND docs.mode='document'";
echo "<div style='float: $spip_lang_left'>";
echo "<a href='".$link->getUrl()."' title=\""._T('info_supprimer_vignette')."\" class='bouton_rotation'>" . http_img_pack('croix-rouge.gif', "", "border='0'") ."</a>";
echo "</div>";
if ($id_doublons['documents']) $query .= " AND docs.id_document NOT IN (0".$id_doublons['documents'].") ";
$query .= " ORDER BY docs.id_document";
$vignette = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = $id_vignette"));;
if ($vignette) {
$fichier_vignette = generer_url_document($id_vignette);
$largeur_vignette = $vignette['largeur'];
$hauteur_vignette = $vignette['hauteur'];
$taille_vignette = $vignette['taille'];
}
echo "<div style='text-align:center;'>";
echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, $url);
echo "</div>";
}
$documents_lies = spip_query($query);
if (!$id_vignette) {
echo "<div style='float: $spip_lang_left;'>"
.bouton_block_invisible("gerer_vignette$id_document",
'plus.gif')."</div>";
echo "<div style='text-align: center;'>",
document_et_vignette($url, $fichier),
"</div>";
if ($flag_modif) {
echo debut_block_invisible("gerer_vignette$id_document");
echo "<div class='verdana1' style='color: $couleur_foncee; border: 1px solid $couleur_foncee; padding: 5px; margin-top: 3px; text-align: left; background-color: white;'>";
$link = new Link ($image_url);
$link->addVar('hash', calculer_action_auteur("ajout_doc"));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('ajout_doc', 'oui');
$link->addVar('id_document', $id_document);
$link->addVar('mode', 'vignette');
afficher_upload($link, $redirect_url, _T('info_remplacer_vignette'), 'image', false);
echo "</div>";
echo fin_block();
}
}
$documents = array();
while ($document = spip_fetch_array($documents_lies))
$documents[] = $document;
if ($flag_modif) {
if ($flag_deplie)
$triangle = bouton_block_visible("port$id_document");
else
$triangle = bouton_block_invisible("port$id_document");
}
if (strlen($titre) > 0) {
echo "<div class='verdana2'><b>$triangle".propre($titre)."</b></div>";
} else {
$nom_fichier = basename($fichier);
echo "<div class='verdana1'>$triangle$nom_fichier</div>";
}
if (strlen($descriptif) > 0) {
echo "<div class='verdana1'>".propre($descriptif)."</div>";
}
echo "<div class='verdana1' style='text-align: center;'>".taille_en_octets($taille)."</div>";
if ($largeur > 0 AND $hauteur > 0) echo "<div class='verdana1' style='text-align: center;'>"._T('info_largeur_vignette', array('largeur_vignette' => $largeur, 'hauteur_vignette' => $hauteur))."</div>";
if ($flag_modif) {
if ($flag_deplie) echo debut_block_visible("port$id_document");
else echo debut_block_invisible("port$id_document");
echo "<div class='verdana1' style='color: #999999; border: 1px solid #999999; padding: 5px; margin-top: 3px;'>";
$link = new Link($redirect_url);
$link->addVar('modif_document', 'oui');
$link->addVar('id_document', $id_document);
$link->addVar('show_docs', $id_document);
$ancre = "docs";
if ($flag_modif) {
echo $link->getForm('POST', $ancre);
echo "<b>"._T('titre_titre_document')."</b><br />\n";
echo "<input type='text' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" name='titre_document' class='formo' style='font-size:11px;' value=\"".entites_html($titre)."\" size='40'><br />";
if ($type == 'rubrique' AND $options == "avancees") {
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) {
$mois = $regs[2];
$jour = $regs[3];
$annee = $regs[1];
}
echo "<b>"._T('info_mise_en_ligne')."</b><br />\n";
echo "<SELECT NAME='jour_doc' SIZE=1 CLASS='fondl' style='font-size:9px;' onChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\">";
afficher_jour($jour);
echo "</SELECT>";
echo "<SELECT NAME='mois_doc' SIZE=1 CLASS='fondl' style='font-size:9px;' onChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\">";
afficher_mois($mois);
echo "</SELECT>";
echo "<SELECT NAME='annee_doc' SIZE=1 CLASS='fondl' style='font-size:9px;' onChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\">";
afficher_annee($annee);
echo "</SELECT><br />";
}
if ($options == "avancees") {
echo "<b>"._T('info_description')."</b><br />\n";
echo "<textarea onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" name='descriptif_document' rows='4' class='forml' style='font-size:10px;' cols='*' wrap='soft'>";
echo entites_html($descriptif);
echo "</textarea><br />\n";
} else {
echo "<input type='hidden' name='descriptif_document' value='".entites_html($descriptif)."' /><br />\n";
}
if (count($documents)) {
echo "<a name='docs'></a>";
echo "<div>&nbsp;</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'>";
if ($type_inclus == "embed" OR $type_inclus == "image") {
echo "<b>"._T('info_dimension')."</b><br />\n";
echo "<input type='text' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" name='largeur_document' class='fondl' style='font-size:9px;' value=\"$largeur\" size='5'>";
echo " &#215; <input type='text' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" name='hauteur_document' class='fondl' style='font-size:9px;' value=\"$hauteur\" size='5'> "._T('info_pixels');
} else {
echo "<input type='hidden' name='largeur_document' value=\"$largeur\" />\n";
echo "<input type='hidden' name='hauteur_document' value=\"$hauteur\" /><br >\n";
}
echo "<div class='display_au_chargement' id='valider_doc$id_document' align='".$GLOBALS['spip_lang_right']."'>";
echo "<input TYPE='submit' class='fondo' NAME='Valider' VALUE='"._T('bouton_valider')."'>";
echo "</div>";
echo "</form>";
}
echo "</div>";
$link_supp = new Link ($image_url);
$link_supp->addVar('redirect', $redirect_url);
$link_supp->addVar('hash', calculer_action_auteur("supp_doc ".$id_document));
$link_supp->addVar('hash_id_auteur', $connect_id_auteur);
$link_supp->addVar('doc_supp', $id_document);
$link_supp->addVar('ancre', 'docs');
icone_horizontale(_T('icone_supprimer_document'), $link_supp->getUrl(), "doc-24.gif", "supprimer.gif");
echo fin_block();
}
echo "</td>\n";
$case ++;
if ($case == 2) {
$case = 0;
echo "</tr>\n";
}
$id_doublons['documents'] .= ",$id_document";
}
if ($case > 0) {
echo "<td style='border-left: 1px solid #aaaaaa;'>&nbsp;</td>";
echo "</tr>";
}
afficher_portfolio ($documents, $id_article, $type, 'documents', $flag_modif, $image_url, $redirect_url, '#aaaaaa');
echo "</table>";
}
@ -996,6 +841,8 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
if (lire_meta("documents_$type") != 'non' AND $flag_modif) {
/// Ajouter nouveau document/image
echo "<p>&nbsp;</p>";
echo "<div align='right'>";
echo "<table width='50%' cellpadding=0 cellspacing=0 border=0><tr><td style='text-align:left;'>";
@ -1019,7 +866,6 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
}
//
// Afficher un document sous forme de ligne horizontale
//

52
ecrire/inc_getdocument.php3

@ -428,26 +428,42 @@ function tester_vignette ($test_vignette) {
global $djpeg_command, $cjpeg_command, $pnmscale_command;
// verifier les formats acceptes par GD
if ($test_vignette == "gd1") {
$gd_formats = Array();
if (function_exists('ImageCreateFromJPEG')) {
$srcImage = @ImageCreateFromJPEG(_DIR_IMG . "test.jpg");
if ($srcImage) {
// Si GD est installe et php >= 4.0.2
if (function_exists('imagetypes')) {
if (imagetypes() & IMG_GIF)
$gd_formats[] = "gif";
if (imagetypes() & IMG_JPG)
$gd_formats[] = "jpg";
ImageDestroy( $srcImage );
}
if (imagetypes() & IMG_PNG)
$gd_formats[] = "png";
}
if (function_exists('ImageCreateFromGIF')) {
$srcImage = @ImageCreateFromGIF(_DIR_IMG . "test.gif");
if ($srcImage) {
$gd_formats[] = "gif";
ImageDestroy( $srcImage );
else { # ancienne methode de detection des formats, qui en plus
# est bugguee car elle teste les formats en lecture
# alors que la valeur deduite sert a identifier
# les formats disponibles en ecriture... (cf. inc_logos.php3)
$gd_formats = Array();
if (function_exists('ImageCreateFromJPEG')) {
$srcImage = @ImageCreateFromJPEG(_DIR_IMG . "test.jpg");
if ($srcImage) {
$gd_formats[] = "jpg";
ImageDestroy( $srcImage );
}
}
}
if (function_exists('ImageCreateFromPNG')) {
$srcImage = @ImageCreateFromPNG(_DIR_IMG . "test.png");
if ($srcImage) {
$gd_formats[] = "png";
ImageDestroy( $srcImage );
if (function_exists('ImageCreateFromGIF')) {
$srcImage = @ImageCreateFromGIF(_DIR_IMG . "test.gif");
if ($srcImage) {
$gd_formats[] = "gif";
ImageDestroy( $srcImage );
}
}
if (function_exists('ImageCreateFromPNG')) {
$srcImage = @ImageCreateFromPNG(_DIR_IMG . "test.png");
if ($srcImage) {
$gd_formats[] = "png";
ImageDestroy( $srcImage );
}
}
}
@ -503,7 +519,7 @@ function tester_vignette ($test_vignette) {
if (ereg("^(gd1|gd2|imagick|convert|netpbm)$", $test_vignette)) {
include_ecrire('inc_logos.php3');
//$taille_preview = lire_meta("taille_preview");
if ($taille_preview < 10) $taille_preview = 120;
if ($taille_preview < 10) $taille_preview = 150;
if ($preview = creer_vignette(_DIR_IMG . 'test_image.jpg', $taille_preview, $taille_preview, 'jpg', '', "test_$test_vignette", $test_vignette, true))
return ($preview['fichier']);

15
ecrire/inc_logos.php3

@ -330,6 +330,8 @@ function creer_vignette($image, $maxWidth, $maxHeight, $format, $destdir, $destf
// Choisir le format destination
// - on sauve de preference en JPEG (meilleure compression)
// - pour le GIF : les GD recentes peuvent le lire mais pas l'ecrire
# bug : gd_formats contient la liste des fichiers qu'on sait *lire*,
# pas *ecrire*
$gd_formats = lire_meta("gd_formats");
foreach ($formats_sortie as $fmt) {
if (ereg($fmt, $gd_formats)) {
@ -392,7 +394,7 @@ function inserer_vignette_base($image, $vignette) {
$hauteur = $size[1];
$type = $size[2];
if ($type == "2") $format = 1;
if ($type == "2") $format = 1; # spip_types_documents
else if ($type == "3") $format = 2;
else if ($type == "1") $format = 3;
else return;
@ -401,14 +403,15 @@ function inserer_vignette_base($image, $vignette) {
spip_log("creation vignette($image) -> $vignette");
if ($t = spip_query("SELECT id_document FROM spip_documents WHERE fichier='".addslashes($image)."'"))
{
if ($t = spip_query("SELECT id_document FROM spip_documents
WHERE fichier='".addslashes($image)."'")) {
if ($row = spip_fetch_array($t)) {
$id_document = $row['id_document'];
$id_vignette = spip_abstract_insert("spip_documents",
"(mode)",
"('vignette')");
spip_query("UPDATE spip_documents SET id_vignette=$id_vignette WHERE id_document=$id_document");
"(mode)",
"('vignette')");
spip_query("UPDATE spip_documents
SET id_vignette=$id_vignette WHERE id_document=$id_document");
spip_query("UPDATE spip_documents SET
id_type = '$format',
largeur = '$largeur',

2
formulaire_admin-dist.html

@ -8,7 +8,7 @@
<li><a href='ecrire/mots_edit.php3?id_mot=(#ENV{id_mot})' class='spip-admin-boutons'><:admin_modifier_mot:> ([(#ENV{id_mot})])</a></li>][
<li><a href='ecrire/auteurs_edit.php3?id_auteur=(#ENV{id_auteur})' class='spip-admin-boutons'><:admin_modifier_auteur:> ([(#ENV{id_auteur})])</a></li>]
<li><a href='[(#ENV{action})]var_mode=recalcul' class='spip-admin-boutons'><:admin_recalculer:>[(#ENV{use_cache})]</a></li>[
<li><a href='ecrire/(#ENV{statistiques})[id_article=(#ENV{id_article})]' class='spip-admin-boutons'><:info_visites:>&nbsp;[(#ENV{visites})];&nbsp;<:info_popularite_5:>&nbsp;[(#ENV{popularite})]</a></li>][
<li><a href='ecrire/(#ENV{statistiques})[id_article=(#ENV{id_article})]' class='spip-admin-boutons'>[<:info_visites:>&nbsp;(#ENV{visites})][;&nbsp;<:info_popularite_5:>&nbsp;(#ENV{popularite})]</a></li>][
<li><a href='[(#ENV{action})]var_mode=(#ENV{debug})' class='spip-admin-boutons'><:admin_debug:></a></li>]
</ul>
</div>

9
inc-formulaire_admin.php3

@ -51,14 +51,15 @@ function balise_FORMULAIRE_ADMIN_dyn($id_article, $id_breve, $id_rubrique, $id_m
AND $id_article
AND !$var_preview
AND ($GLOBALS['auteur_session']['statut'] == '0minirezo')) {
if (spip_fetch_array(spip_query("SELECT id_article
if ($s = spip_query("SELECT id_article
FROM spip_articles WHERE statut='publie'
AND id_article =".intval($id_article)))) {
AND id_article =".intval($id_article))
AND spip_fetch_array($s)) {
include_local ("inc-stats.php3");
$r = afficher_raccourci_stats($id_article);
$visites = $r['visites'];
$popularite = $r['popularite'];
$statistiques = 'statistiques_visites.php3?';
$statistiques = 'statistiques_visites.php3?'; # lien si connecte
}
}
@ -85,7 +86,7 @@ function balise_FORMULAIRE_ADMIN_dyn($id_article, $id_breve, $id_rubrique, $id_m
'id_mot' => $id_mot,
'action' => $action,
'debug' => $debug,
'popularite' => intval($popularite),
'popularite' => ceil($popularite),
'statistiques' => $statistiques,
'visites' => intval($visites),
'use_cache' => ($use_cache ? ' *' : ''),

Loading…
Cancel
Save