diff --git a/.gitattributes b/.gitattributes index ee976b851d6131520b046080f1a86989aa6d5cc2..c0d19800dad3632343ebf8ffa12352651361b3d0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -83,6 +83,7 @@ ecrire/img_pack/documents-48.gif -text ecrire/img_pack/edit.gif -text ecrire/img_pack/effacer-cache-24.gif -text ecrire/img_pack/fiche-perso-24.gif -text +ecrire/img_pack/fiche-perso-48.gif -text ecrire/img_pack/fond-stats.gif -text ecrire/img_pack/forum-admin-24.gif -text ecrire/img_pack/forum-droite.gif -text diff --git a/ecrire/aide_gauche.php3 b/ecrire/aide_gauche.php3 index e273d4833e8ccab14b338bb936246fcad079ba1f..4b4f457cf504fad78553bd1786ca4ef14c7b7852 100644 --- a/ecrire/aide_gauche.php3 +++ b/ecrire/aide_gauche.php3 @@ -112,7 +112,6 @@ article("Descriptif rapide","artdesc"); article("Chapeau","artchap"); article("Redirection d'article","artvirt","admin"); article("Texte","arttexte"); -article("Insérer des images","artimg"); article("Date","artdate"); article("Date de publication antérieure","artdate_redac"); article("Les auteurs","artauteurs"); @@ -133,6 +132,11 @@ article("Le lien hypertexte","breveslien"); article("Le statut de la brève","brevesstatut","admin"); article("Le logo de la brève","breveslogo","admin"); +rubrique("Images et documents"); +article("Insérer des images","ins_img"); +article("Joindre des documents","ins_doc"); +article("Joindre des documents","ins_upload","admin"); + rubrique("Les mots-clés"); article("Principe des mots-clés","mots"); article("Les mots-clés","artmots"); diff --git a/ecrire/articles_edit.php3 b/ecrire/articles_edit.php3 index ac81b654b85f540b793ce66fd4e01bf0ee5a0537..3d6088f3ef38e01479dd49281f82647e8daefa24 100644 --- a/ecrire/articles_edit.php3 +++ b/ecrire/articles_edit.php3 @@ -148,7 +148,7 @@ debut_gauche(); // if ($new != 'oui'){ - afficher_documents_colonne($id_article,"articles_edit.php3?id_article=$id_article"); + afficher_documents_colonne($id_article, 'article', $flag_editable); } debut_droite(); diff --git a/ecrire/articles_page.php3 b/ecrire/articles_page.php3 index ac90e52604f3cf5bebb326ce895047d05f7a2e70..261ab80d5bd4e354bce2108b2b02b92830303c38 100644 --- a/ecrire/articles_page.php3 +++ b/ecrire/articles_page.php3 @@ -58,7 +58,7 @@ if ($options == 'avancees') { // echo "<p>"; - afficher_articles("Vos derniers articles publiés en ligne", + afficher_articles("Vos articles publiés en ligne", "SELECT articles.id_article, surtitre, titre, soustitre, descriptif, chapo, date, visites, id_rubrique, statut ". "FROM spip_articles AS articles, spip_auteurs_articles AS lien ". "WHERE articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut=\"publie\" ORDER BY articles.date DESC", true); diff --git a/ecrire/auteur_infos.php3 b/ecrire/auteur_infos.php3 index 4976972b4c6d6ef00b714d21e0feb84159a799d3..cc0910bb05e4264a967c784371e5afb148504cd2 100644 --- a/ecrire/auteur_infos.php3 +++ b/ecrire/auteur_infos.php3 @@ -305,7 +305,7 @@ function mySel($varaut,$variable) { debut_cadre_enfonce(); echo '<img src="img_pack/warning.gif" alt="warning.gif" width="48" height="48" align="right">'; echo "<b>Attention ! Ceci est le login sous lequel vous êtes connecté actuellement. - <font color=\"red\">Utilisez ce formulaire avec précaution : si vous oubliez votre mot de passe, il sera impossible de le retrouver (seul un responsable éditorial pourra vous en attribuer un nouveau).</font></b>\n"; + <font color=\"red\">Utilisez ce formulaire avec précaution : si vous oubliez votre mot de passe, il sera impossible de le retrouver (seul un administrateur pourra vous en attribuer un nouveau).</font></b>\n"; fin_cadre_enfonce(); echo "<p>"; } @@ -337,7 +337,7 @@ function mySel($varaut,$variable) { echo "<center><B>Statut de cet auteur : </B> "; echo " <SELECT NAME='statut' SIZE=1 CLASS='fondl'>"; if ($connect_statut == "0minirezo" AND $connect_toutes_rubriques) - echo "<OPTION".mySel("0minirezo",$statut).">responsable éditorial"; + echo "<OPTION".mySel("0minirezo",$statut).">administrateur"; echo "<OPTION".mySel("1comite",$statut).">rédacteur"; echo "<OPTION".mySel("5poubelle",$statut).">à la poubelle"; if ($statut=="6forum") echo "<OPTION".mySel("6forum",$statut).">participant au forum"; @@ -358,10 +358,10 @@ function mySel($varaut,$variable) { $result_admin = spip_query($query_admin); if (mysql_num_rows($result_admin) == 0) { - echo "Ce responsable éditorial gère <b>toutes les rubriques</b>."; + echo "Cet administrateur gère <b>toutes les rubriques</b>."; } else { - echo "Ce responsable éditorial gère les rubriques suivantes :\n"; + echo "Cet administrateur gère les rubriques suivantes :\n"; echo "<ul style='list-style-image: url(img_pack/rubrique-12.png)'>"; while ($row_admin = mysql_fetch_array($result_admin)) { $id_rubrique = $row_admin["id_rubrique"]; diff --git a/ecrire/breves_edit.php3 b/ecrire/breves_edit.php3 index fa7007d08a402f2882ec5b2cb038d2a52a83f39b..7cfd2e4e0ef274dd424bd2f24553ae40bc5cee66 100644 --- a/ecrire/breves_edit.php3 +++ b/ecrire/breves_edit.php3 @@ -1,7 +1,7 @@ <?php include ("inc.php3"); - +include_local ("inc_documents.php3"); if ($new=="oui") { @@ -56,9 +56,28 @@ while($row=mysql_fetch_array($result)){ $statut=$row['statut']; $id_rubrique=$row['id_rubrique']; if ($new == "oui") $statut = "prop"; + + $pour_doublons = propre ("$titre.$texte"); +} + +if ($id_document) { + $query_doc = "SELECT * FROM spip_documents_breves WHERE id_document=$id_document AND id_breve=$id_breve"; + $result_doc = spip_query($query_doc); + $flag_document_editable = (mysql_num_rows($result_doc) > 0); +} else { + $flag_document_editable = false; } +$modif_document = $GLOBALS['modif_document']; +if ($modif_document == 'oui' AND $flag_document_editable) { + $titre = addslashes(corriger_caracteres($titre)); + $descriptif = addslashes(corriger_caracteres($descriptif)); + spip_query("UPDATE spip_documents SET titre=\"$titre_document\", descriptif=\"$descriptif_document\" WHERE id_document=$id_document"); + } + + + debut_page("Modifier la brève : « $titre »", "documents", "breves"); @@ -75,6 +94,9 @@ echo "$parents"; fin_grand_cadre(); debut_gauche(); +if ($new != 'oui' AND ($connect_statut=="0minirezo" OR $statut=="prop")){ + afficher_documents_colonne($id_breve, "breve", true); +} debut_droite(); debut_cadre_formulaire(); diff --git a/ecrire/documents_liste.php3 b/ecrire/documents_liste.php3 new file mode 100644 index 0000000000000000000000000000000000000000..87e3448a8aa29e5eecd6bd5efc4195573f193e67 --- /dev/null +++ b/ecrire/documents_liste.php3 @@ -0,0 +1,59 @@ +<?php + +include ("inc.php3"); +include_local ("inc_index.php3"); +include_local ("inc_logos.php3"); + + + + +// +// Recupere les donnees +// + +debut_page("Les documents des rubriques", "documents", "documents"); +debut_gauche(); + + +////////////////////////////////////////////////////// +// Boite "voir en ligne" +// + +debut_boite_info(); + +echo propre("Cette page récapitule la liste des documents que vous avez placé dans les rubriques. Pour modifier les informations de chaque document, suivez le lien vers la page de sa rubrique."); + +fin_boite_info(); + + + +debut_droite(); + + $query = "SELECT docs.id_document AS id_doc, docs.date AS date, docs.titre AS titre, docs.descriptif AS descriptif, lien.id_rubrique AS id_rub, rubrique.titre AS titre_rub FROM spip_documents AS docs, spip_documents_rubriques AS lien, spip_rubriques AS rubrique WHERE docs.id_document = lien.id_document AND rubrique.id_rubrique = lien.id_rubrique AND docs.mode = 'document' ORDER BY docs.date DESC"; + $result = spip_query($query); + + while($row=mysql_fetch_array($result)){ + $titre=$row['titre']; + $descriptif=$row['descriptif']; + $date=$row['date']; + $id_document=$row['id_doc']; + $id_rubrique=$row['id_rub']; + $titre_rub=$row['titre_rub']; + + if (strlen($titre) == 0) $titre = "Document $id_document"; + // echo "<li>$date : $titre / $descriptif / <a href='naviguer.php3?coll=$id_rubrique'>$titre_rub</a>"; + + debut_cadre_relief("doc-24.gif"); + echo "<b>$titre</b><br>"; + echo affdate($date); + if (strlen($descriptif)>0) echo "<p>".propre($descriptif); + + echo "<p>Dans la rubrique : <a href='naviguer.php3?coll=$id_rubrique'>$titre_rub</a>"; + + fin_cadre_relief(); + } + + +fin_page(); + +?> diff --git a/ecrire/img_pack/fiche-perso-48.gif b/ecrire/img_pack/fiche-perso-48.gif new file mode 100644 index 0000000000000000000000000000000000000000..efc83f63950f917f5350d1b0894a4ece0b161479 Binary files /dev/null and b/ecrire/img_pack/fiche-perso-48.gif differ diff --git a/ecrire/inc_base.php3 b/ecrire/inc_base.php3 index da52e732f6dc04d7da12214aed902685f565d878..45f80f166ad31650c7ac73e0c7b1640dbe591058 100644 --- a/ecrire/inc_base.php3 +++ b/ecrire/inc_base.php3 @@ -137,6 +137,7 @@ function creer_base() { id_vignette bigint(21) DEFAULT '0' NOT NULL, id_type bigint(21) DEFAULT '0' NOT NULL, titre text NOT NULL, + date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, descriptif text NOT NULL, fichier varchar(255) NOT NULL, taille integer NOT NULL, @@ -313,6 +314,10 @@ function creer_base() { KEY id_document (id_document), KEY id_rubrique (id_rubrique))"; $result = spip_query($query); + $query = "CREATE TABLE spip_documents_breves ( + id_document bigint(21) DEFAULT '0' NOT NULL, id_breve bigint(21) DEFAULT '0' NOT NULL, + KEY id_document (id_document), KEY id_breve (id_breve))"; + $result = spip_query($query); $query = "CREATE TABLE spip_mots_articles ( id_mot bigint(21) DEFAULT '0' NOT NULL, id_article bigint(21) DEFAULT '0' NOT NULL, @@ -847,6 +852,11 @@ function maj_base() { spip_query($query); } + if ($version_installee < 1.436) { + $query = "ALTER TABLE spip_documents ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"; + spip_query($query); + } + // // Mettre a jour le numero de version installee diff --git a/ecrire/inc_documents.php3 b/ecrire/inc_documents.php3 index 8406ba4d1b013ed548af61cc53d071a1bf0f1137..c0227104f260a31da6b946f4d23bc55d3675ca8d 100644 --- a/ecrire/inc_documents.php3 +++ b/ecrire/inc_documents.php3 @@ -123,7 +123,6 @@ function afficher_upload($link, $intitule, $inclus = '', $afficher_texte_ftp = t if (tester_upload()) { echo "<b>$intitule</b>"; - echo aide ("artimg"); echo "<br><small><input name='image' type='File' class='fondl' style='font-size: 9px; width: 100%;'>\n"; echo "<div align='right'><input name='ok' type='Submit' VALUE='Télécharger' CLASS='fondo' style='font-size: 9px;'></div></small>\n"; } @@ -151,7 +150,7 @@ function afficher_upload($link, $intitule, $inclus = '', $afficher_texte_ftp = t } else if ($afficher_texte_ftp) { - echo "En tant qu'administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier ecrire/upload pour ensuite les sélectionner directement ici."; + echo "En tant qu'administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier ecrire/upload pour ensuite les sélectionner directement ici.".aide("ins_upload"); } } echo "</form>\n"; @@ -159,6 +158,8 @@ function afficher_upload($link, $intitule, $inclus = '', $afficher_texte_ftp = t } + +/* // // Afficher un document sous forme de ligne depliable // @@ -388,7 +389,7 @@ function afficher_document($id_document, $image_link, $redirect_url = "", $depli echo fin_boite_info(); echo fin_block($block); } - +*/ // @@ -399,7 +400,7 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod global $connect_id_auteur, $connect_statut; global $couleur_foncee, $couleur_claire; global $this_link; - global $id_doublons; + global $id_doublons, $options; if ($flag_modif){ $image_link = new Link('../spip_image.php3'); @@ -444,75 +445,76 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod } } - if ($case == "gauche") echo "<td width=50%> </td></tr>"; + if ($case == "droite") echo "<td width=50%> </td></tr>"; else echo "</tr>"; echo "<tr><td><img src='img_pack/rien.gif' height=5></td></tr>"; echo "</table>"; } - - /// Ajouter nouveau document/image - - echo debut_cadre_enfonce("doc-24.gif",false,"creer.gif"); - echo "<div style='padding: 2px; background-color: $couleur_claire; text-align: left; color: black;'>"; - echo bouton_block_invisible("ajouter_document"); - echo "<b><font size=1>AJOUTER UN DOCUMENT</font></b>"; - echo "</div>\n"; - echo debut_block_invisible("ajouter_document"); - - echo "<p><table width='100%' cellpadding=0 cellspacing=0 border=0>"; - echo "<tr>"; - echo "<td width='200' valign='top'>"; - echo "<font face='verdana,arial,helvetica,sans-serif' size=2>"; - - if ($type == "article") echo "<font size=1><b>Vous pouvez joindre à votre article des documents de type :</b>"; - else if ($type == "rubrique") echo "<font size=1><b>Vous pouvez installer dans cette rubrique des documents de type :</b>"; - $query_types_docs = "SELECT extension FROM spip_types_documents ORDER BY extension"; - $result_types_docs = spip_query($query_types_docs); - - while($row=mysql_fetch_array($result_types_docs)){ - $extension=$row['extension']; - echo "$extension, "; - } - if ($type == "article") echo "<b> ces documents pourront être par la suite insérés <i>à l'intérieur</i> du texte si vous le désirez («Modifier cet article» pour accéder à cette option), ou affichés hors du texte de l'article.</b>"; - - if (function_exists("imagejpeg") AND function_exists("ImageCreateFromJPEG")){ - $creer_preview=lire_meta("creer_preview"); - $taille_preview=lire_meta("taille_preview"); - $gd_formats=lire_meta("gd_formats"); - if ($taille_preview < 15) $taille_preview = 120; + if ($options == "avancees"){ + /// Ajouter nouveau document/image + + echo debut_cadre_enfonce("doc-24.gif",false,"creer.gif"); + echo "<div style='padding: 2px; background-color: $couleur_claire; text-align: left; color: black;'>"; + echo bouton_block_invisible("ajouter_document"); + if ($type == "rubrique") echo "<b><font size=1>PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE</font></b>".aide("ins_doc"); + else echo "<b><font size=1>JOINDRE UN DOCUMENT</font></b>".aide("ins_doc"); + echo "</div>\n"; + echo debut_block_invisible("ajouter_document"); - if ($creer_preview == 'oui'){ - echo "<p>La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à partir de ce formulaire des images au(x) format(s) $gd_formats, elles seront accompagnées d'une vignette d'une taille maximale de $taille_preview pixels. "; + echo "<p><table width='100%' cellpadding=0 cellspacing=0 border=0>"; + echo "<tr>"; + echo "<td width='200' valign='top'>"; + echo "<font face='verdana,arial,helvetica,sans-serif' size=2>"; + + if ($type == "article") echo "<font size=1><b>Vous pouvez joindre à votre article des documents de type :</b>"; + else if ($type == "rubrique") echo "<font size=1><b>Vous pouvez installer dans cette rubrique des documents de type :</b>"; + $query_types_docs = "SELECT extension FROM spip_types_documents ORDER BY extension"; + $result_types_docs = spip_query($query_types_docs); + + while($row=mysql_fetch_array($result_types_docs)){ + $extension=$row['extension']; + echo "$extension, "; } - else { - if ($connect_statut == "0minirezo"){ - echo "<p>La création automatique de vignettes de prévisualisation est désactivée sur ce site (réglage sur la page «Configuration précise»). Cette fonction facilite la mise en ligne d'un portfolio (collection de photographies présentées sous forme de vignettes cliquables)."; + if ($type == "article") echo "<b> ces documents pourront être par la suite insérés <i>à l'intérieur</i> du texte si vous le désirez («Modifier cet article» pour accéder à cette option), ou affichés hors du texte de l'article.</b>"; + + if (function_exists("imagejpeg") AND function_exists("ImageCreateFromJPEG")){ + $creer_preview=lire_meta("creer_preview"); + $taille_preview=lire_meta("taille_preview"); + $gd_formats=lire_meta("gd_formats"); + if ($taille_preview < 15) $taille_preview = 120; + + if ($creer_preview == 'oui'){ + echo "<p>La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à partir de ce formulaire des images au(x) format(s) $gd_formats, elles seront accompagnées d'une vignette d'une taille maximale de $taille_preview pixels. "; + } + else { + if ($connect_statut == "0minirezo"){ + echo "<p>La création automatique de vignettes de prévisualisation est désactivée sur ce site (réglage sur la page «Configuration précise»). Cette fonction facilite la mise en ligne d'un portfolio (collection de photographies présentées sous forme de vignettes cliquables)."; + } } } + echo "</font>"; + echo "</td><td width=20> </td>"; + echo "<td valign='top'><font face='verdana,arial,helvetica,sans-serif' size=2>"; + $link = $image_link; + $link->addVar('redirect', $redirect_url); + $link->addVar('hash', calculer_action_auteur("ajout_doc")); + $link->addVar('hash_id_auteur', $connect_id_auteur); + $link->addVar('ajout_doc', 'oui'); + $link->addVar('type', $type); + + afficher_upload($link, 'Télécharger depuis votre ordinateur :', '', true, true, true); + + + + + echo "</font>\n"; + echo "</td></tr></table>"; + echo fin_block(); + fin_cadre_enfonce(); } - echo "</font>"; - echo "</td><td width=20> </td>"; - echo "<td valign='top'><font face='verdana,arial,helvetica,sans-serif' size=2>"; - $link = $image_link; - $link->addVar('redirect', $redirect_url); - $link->addVar('hash', calculer_action_auteur("ajout_doc")); - $link->addVar('hash_id_auteur', $connect_id_auteur); - $link->addVar('ajout_doc', 'oui'); - $link->addVar('type', $type); - afficher_upload($link, 'Télécharger depuis votre ordinateur :', '', true, true, true); - - - - - echo "</font>\n"; - echo "</td></tr></table>"; - echo fin_block(); - fin_cadre_enfonce(); - - //fin_cadre_enfonce(); } @@ -545,9 +547,12 @@ function afficher_horizontal_document($id_document, $image_link, $redirect_url = $largeur = $document->get('largeur'); $hauteur = $document->get('hauteur'); $taille = $document->get('taille'); + $date = $document->get('date'); $mode = $document->get('mode'); if (!$titre) { - $titre = "fichier : ".ereg_replace("^[^\/]*\/[^\/]*\/","",$fichier); + $titre_aff = "fichier : ".ereg_replace("^[^\/]*\/[^\/]*\/","",$fichier); + } else { + $titre_aff = $titre; } $result = spip_query("SELECT * FROM spip_types_documents WHERE id_type=$id_type"); @@ -563,7 +568,7 @@ function afficher_horizontal_document($id_document, $image_link, $redirect_url = //echo "<div style='border: 1px dashed #aaaaaa; padding: 0px; background-color: #e4e4e4;'>\n"; echo "<div style='padding: 2px; background-color: #aaaaaa; text-align: left; color: black;'>"; echo bouton_block_invisible("doc_vignette $id_document,document $id_document"); - echo "<font size=1 face='arial,helvetica,sans-serif'>Document : </font> <b><font size=2>".propre($titre)."</font></b>"; + echo "<font size=1 face='arial,helvetica,sans-serif'>Document : </font> <b><font size=2>".propre($titre_aff)."</font></b>"; echo "</div>\n"; @@ -659,6 +664,25 @@ function afficher_horizontal_document($id_document, $image_link, $redirect_url = echo "<b>Titre du document :</b><br>\n"; echo "<input type='text' name='titre_document' class='formo' style='font-size:9px;' value=\"".htmlspecialchars($titre)."\" size='40'><br>"; + + if ($GLOBALS['coll'] > 0){ + if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) { + $mois = $regs[2]; + $jour = $regs[3]; + $annee = $regs[1]; + } + echo "<b>Date de mise en ligne :</b><br>\n"; + echo "<SELECT NAME='jour_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>"; + afficher_jour($jour); + echo "</SELECT> "; + echo "<SELECT NAME='mois_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>"; + afficher_mois($mois); + echo "</SELECT> "; + echo "<SELECT NAME='annee_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>"; + afficher_annee($annee); + echo "</SELECT><br>"; + + } echo "<b>Description :</b><br>\n"; echo "<textarea name='descriptif_document' rows='4' class='formo' style='font-size:9px;' cols='*' wrap='soft'>"; @@ -708,7 +732,7 @@ function afficher_horizontal_document($id_document, $image_link, $redirect_url = function afficher_documents_colonne($id_article, $type="article", $flag_modif = true) { global $connect_id_auteur, $connect_statut; - global $couleur_foncee, $couleur_claire; + global $couleur_foncee, $couleur_claire, $options; global $this_link; if ($flag_modif){ @@ -742,7 +766,7 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif = $query = "SELECT * FROM #table 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"; - + $images_liees = fetch_document($query); /// Ajouter nouvelle image @@ -750,7 +774,6 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif = //debut_cadre_relief("image-24.gif"); if ($images_liees) { reset($images_liees); - while (list(, $id_document) = each($images_liees)) { afficher_case_document($id_document, $image_link, $redirect_url, $id_doc_actif == $id_document); //echo "<p>\n"; @@ -762,7 +785,7 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif = echo "<div style='padding: 2px; background-color: $couleur_claire; text-align: center; color: black;'>"; echo bouton_block_invisible("ajouter_image"); - echo "<b><font size=1>AJOUTER UNE IMAGE</font></b>"; + echo "<b><font size=1>AJOUTER UNE IMAGE".aide("ins_img")."</font></b>"; echo "</div>\n"; echo debut_block_invisible("ajouter_image"); @@ -786,56 +809,55 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif = //fin_cadre_relief(); - - echo "\n<p>"; - //debut_cadre_enfonce("doc-24.gif"); - if ($documents_lies) { - - reset($documents_lies); - while (list(, $id_document) = each($documents_lies)) { - afficher_case_document($id_document, $image_link, $redirect_url, $id_doc_actif == $id_document); - echo "<p>\n"; + if ($type == "article") { + echo "\n<p>"; + if ($documents_lies) { + + reset($documents_lies); + while (list(, $id_document) = each($documents_lies)) { + afficher_case_document($id_document, $image_link, $redirect_url, $id_doc_actif == $id_document); + echo "<p>\n"; + } } - } - - - /// Ajouter nouveau document - - debut_cadre_enfonce("doc-24.gif", false, "creer.gif"); - echo "<div style='padding: 2px;background-color: $couleur_claire; text-align: center; color: black;'>"; - echo bouton_block_invisible("ajouter_document"); - echo "<b><font size=1>JOINDRE UN DOCUMENT</font></b>"; - echo "</div>\n"; - echo debut_block_invisible("ajouter_document"); - echo "<font size=1>"; - echo "<b>Vous pouvez joindre à votre article des documents de type :</b>"; - $query_types_docs = "SELECT extension FROM spip_types_documents ORDER BY extension"; - $result_types_docs = spip_query($query_types_docs); - - while($row=mysql_fetch_array($result_types_docs)){ - $extension=$row['extension']; - echo "$extension, "; - } - echo "<b>ou installer des images à insérer dans le texte.</b>"; - echo "</font>"; + if ($options == "avancees"){ + /// Ajouter nouveau document + + debut_cadre_enfonce("doc-24.gif", false, "creer.gif"); + echo "<div style='padding: 2px;background-color: $couleur_claire; text-align: center; color: black;'>"; + echo bouton_block_invisible("ajouter_document"); + echo "<b><font size=1>JOINDRE UN DOCUMENT</font></b>".aide("ins_doc"); + echo "</div>\n"; - $link = $image_link; - $link->addVar('redirect', $redirect_url); - $link->addVar('hash', calculer_action_auteur("ajout_doc")); - $link->addVar('hash_id_auteur', $connect_id_auteur); - $link->addVar('ajout_doc', 'oui'); - $link->addVar('mode', 'document'); - $link->addVar('type', $type); - - afficher_upload($link, 'Télécharger depuis votre ordinateur :'); - echo fin_block(); - - echo "</font>\n"; - fin_cadre_enfonce(); - - //fin_cadre_enfonce(); + echo debut_block_invisible("ajouter_document"); + echo "<font size=1>"; + echo "<b>Vous pouvez joindre à votre article des documents de type :</b>"; + $query_types_docs = "SELECT extension FROM spip_types_documents ORDER BY extension"; + $result_types_docs = spip_query($query_types_docs); + + while($row=mysql_fetch_array($result_types_docs)){ + $extension=$row['extension']; + echo "$extension, "; + } + echo "<b>ou installer des images à insérer dans le texte.</b>"; + echo "</font>"; + + $link = $image_link; + $link->addVar('redirect', $redirect_url); + $link->addVar('hash', calculer_action_auteur("ajout_doc")); + $link->addVar('hash_id_auteur', $connect_id_auteur); + $link->addVar('ajout_doc', 'oui'); + $link->addVar('mode', 'document'); + $link->addVar('type', $type); + + afficher_upload($link, 'Télécharger depuis votre ordinateur :'); + echo fin_block(); + + echo "</font>\n"; + fin_cadre_enfonce(); + } + } } } diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3 index b9370611b0d32c9463f5a85a3c4229bdc0219b9f..9a370334aae42618a1cede7abc7354c4dca4982a 100644 --- a/ecrire/inc_filtres.php3 +++ b/ecrire/inc_filtres.php3 @@ -54,8 +54,8 @@ function liens_ouvrants ($texte) { // Corrige les caracteres degoutants utilises par les Windozeries function corriger_caracteres($texte) { - // 145,146,180 = simple quote ; 147,148 = double quote ; 150 = tiret long - return strtr($texte, chr(145).chr(146).chr(180).chr(147).chr(148).chr(150), "'''".'""-'); + // 145,146,180 = simple quote ; 147,148 = double quote ; 150,151 = tiret long + return strtr($texte, chr(145).chr(146).chr(180).chr(147).chr(148).chr(150).chr(151), "'''".'""--'); } // Transformer les sauts de paragraphe en simples passages a la ligne diff --git a/ecrire/inc_objet.php3 b/ecrire/inc_objet.php3 index cff79e5de4248d74c54ef06d4bda8a90e83684fd..aa63a05db42df13a8ef07a73ff1f75a76eb76ff7 100644 --- a/ecrire/inc_objet.php3 +++ b/ecrire/inc_objet.php3 @@ -106,7 +106,7 @@ class DocumentFactory extends _ObjectFactory { // Initialiser les variables de classe function DocumentFactory() { $this->fast_vars_list = array('id_document', 'id_vignette', 'id_type', - 'titre', 'descriptif', 'fichier', 'largeur', 'hauteur', 'taille', 'mode'); + 'titre', 'descriptif', 'fichier', 'largeur', 'hauteur', 'taille', 'mode', 'date'); $this->slow_vars_list = ''; $this->sql_table = 'spip_documents'; $this->object_class = 'Document'; diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index bd80b4851f8414c358eb0fab7a26dfed290c2cac..18b3b65f0080e6bcbd301a83bc8d937578b9f81f 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -14,7 +14,8 @@ define("_ECRIRE_INC_PRESENTATION", "1"); // Aide // function aide ($aide) { - return " <font size='1'>[<b><script><!--\n". + global $couleur_foncee; + return " <script><!--\n". 'document.write("<a href=\"javascript:window.open(\'aide_index.php3?aide='. $aide. "', 'aide_spip', 'scrollbars=yes,resizable=yes,width=700'); ". @@ -22,7 +23,7 @@ function aide ($aide) { "\n// --></script><noscript>". '<a href="aide_index.php3?aide='. $aide. - '"></noscript>AIDE</a></b>]</font>'; + '"></noscript><font size=\'1\' face=\'verdana, arial, helvetica, sans-serif\' style=\'background-color: white;\' color=\''.$couleur_foncee.'\'><b> AIDE </b></font></a>'; } @@ -888,7 +889,7 @@ afficher_script_layer(); //--> </script> </head> -<body bgcolor="#E4E4E4" background="img_pack/degrade.jpg" text="#000000" link="#E86519" vlink="#6E003A" alink="#FF9900" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> +<body text="#000000" bgcolor="#e4e4e4" background="img_pack/degrade.jpg" link="#E86519" vlink="#6E003A" alink="#FF9900" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> <?php @@ -1221,6 +1222,7 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr global $REQUEST_URI; global $requete_fichier; global $auth_can_disconnect, $connect_login; + global $options; $activer_messagerie = lire_meta("activer_messagerie"); if (!$requete_fichier) { @@ -1269,10 +1271,16 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr echo "<td background=''>"; echo "</td>"; echo "<td background=''>"; - icone_bandeau_principal ("Les rédacteurs", "auteurs.php3?aff_art[]=1comite", "redacteurs-48.gif", "redacteurs", $rubrique); + if ($options == "avancees") { + icone_bandeau_principal ("Rédacteurs", "auteurs.php3?aff_art[]=1comite", "redacteurs-48.gif", "redacteurs", $rubrique); + } else { + icone_bandeau_principal ("Informations personnelles", "auteurs_edit.php3?id_auteur=$connect_id_auteur", "fiche-perso-48.gif", "redacteurs", $rubrique); + } echo "</td>"; echo "<td background=''>"; - icone_bandeau_principal ("Forums et messagerie", "forum.php3", "messagerie-48.gif", "messagerie", $rubrique); + if ($options == "avancees" OR $rubrique == "messagerie") { + icone_bandeau_principal ("Forums et messagerie", "forum.php3", "messagerie-48.gif", "messagerie", $rubrique); + } echo "</td>"; if ($connect_statut == '0minirezo' and $connect_toutes_rubriques){ bandeau_barre_verticale(); @@ -1316,26 +1324,39 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr } else if ($rubrique == "documents"){ icone_bandeau_secondaire ("Rubriques", "naviguer.php3", "rubrique-24.gif", "rubriques", $sous_rubrique); - icone_bandeau_secondaire ("Articles", "articles_page.php3", "article-24.gif", "articles", $sous_rubrique); + + $nombre_articles = mysql_num_rows(spip_query("SELECT art.id_article FROM spip_articles AS art, spip_auteurs_articles AS lien WHERE lien.id_auteur = '$connect_id_auteur' AND art.id_article = lien.id_article")); + if ($nombre_articles > 0) { + icone_bandeau_secondaire ("$nombre_articles articles personnels", "articles_page.php3", "article-24.gif", "articles", $sous_rubrique); + } + $activer_breves=lire_meta("activer_breves"); if ($activer_breves != "non"){ icone_bandeau_secondaire ("Brèves", "breves.php3", "breve-24.gif", "breves", $sous_rubrique); } - $articles_mots = lire_meta('articles_mots'); - if ($articles_mots != "non") { - icone_bandeau_secondaire ("Mots-clés", "mots_tous.php3", "mot-cle-24.gif", "mots", $sous_rubrique); + + if ($options == "avancees"){ + $articles_mots = lire_meta('articles_mots'); + if ($articles_mots != "non") { + icone_bandeau_secondaire ("Mots-clés", "mots_tous.php3", "mot-cle-24.gif", "mots", $sous_rubrique); + } + icone_bandeau_secondaire ("Sites référencés", "sites_tous.php3", "site-24.gif", "sites", $sous_rubrique); + if (@mysql_num_rows(spip_query("SELECT * FROM spip_documents_rubriques LIMIT 0,1")) > 0) { + icone_bandeau_secondaire ("Documents", "documents_liste.php3", "doc-24.gif", "documents", $sous_rubrique); + } } - icone_bandeau_secondaire ("Sites référencés", "sites_tous.php3", "site-24.gif", "sites", $sous_rubrique); } else if ($rubrique == "redacteurs"){ - icone_bandeau_secondaire ("Rédacteurs", "auteurs.php3?aff_art[]=1comite", "redacteurs-24.gif", "redacteurs", $sous_rubrique); - icone_bandeau_secondaire ("Auteurs sans accès au site", "auteurs.php3?aff_art[]=1comite&sans_acces=oui", "redacteurs-24.gif", "redacteurs_sans", $sous_rubrique); - icone_bandeau_secondaire ("Responsables éditoriaux", "auteurs.php3?aff_art[]=0minirezo", "redacteurs-admin-24.gif", "administrateurs", $sous_rubrique); - if ($connect_statut == "0minirezo"){ + if ($options == "avancees") { + icone_bandeau_secondaire ("Rédacteurs", "auteurs.php3?aff_art[]=1comite", "redacteurs-24.gif", "redacteurs", $sous_rubrique); + icone_bandeau_secondaire ("Auteurs sans accès au site", "auteurs.php3?aff_art[]=1comite&sans_acces=oui", "redacteurs-24.gif", "redacteurs_sans", $sous_rubrique); + icone_bandeau_secondaire ("Administrateurs", "auteurs.php3?aff_art[]=0minirezo", "redacteurs-admin-24.gif", "administrateurs", $sous_rubrique); + if ($connect_statut == "0minirezo"){ + bandeau_barre_verticale(); + icone_bandeau_secondaire ("À la poubelle", "auteurs.php3?aff_art[]=5poubelle", "redacteurs-poubelle-24.gif", "redac-poubelle", $sous_rubrique); + } bandeau_barre_verticale(); - icone_bandeau_secondaire ("À la poubelle", "auteurs.php3?aff_art[]=5poubelle", "redacteurs-poubelle-24.gif", "redac-poubelle", $sous_rubrique); } - bandeau_barre_verticale(); icone_bandeau_secondaire ("Informations personnelles", "auteurs_edit.php3?id_auteur=$connect_id_auteur", "fiche-perso-24.gif", "perso", $sous_rubrique); } else if ($rubrique == "messagerie"){ @@ -1352,9 +1373,11 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr } } else if ($rubrique == "administration"){ - icone_bandeau_secondaire ("Statistiques des visites", "statistiques_visites.php3", "statistiques-24.gif", "statistiques", $sous_rubrique); if ($connect_toutes_rubriques) { icone_bandeau_secondaire ("Configuration du site", "configuration.php3", "administration-24.gif", "configuration", $sous_rubrique); + } + icone_bandeau_secondaire ("Statistiques des visites", "statistiques_visites.php3", "statistiques-24.gif", "statistiques", $sous_rubrique); + if ($connect_toutes_rubriques) { icone_bandeau_secondaire ("Gestion de la base", "admin_tech.php3", "base-24.gif", "base", $sous_rubrique); } } @@ -1415,9 +1438,8 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr echo "<td> </td>"; echo "<td>"; echo "<font size=1 face='verdana,arial,helvetica,sans-serif'>"; - global $options; if ($options == "avancees") echo "<span class='fondgris' onMouseOver=\"changeclass(this,'fondgrison2')\" onMouseOut=\"changeclass(this,'fondgris')\"><a href='$lien&set_options=basiques'><font color='black'>Interface simplifiée</font></a></span> <font color='white'><b>interface complète</b></font>"; - else echo "<b><font color='white'>Interface simplifiée</font></b> <span class='fondgris' onMouseOver=\"changeclass(this,'fondgrison2')\" onMouseOut=\"changeclass(this,'fondgris')\"><a href='$lien&set_options=avancees'><font color='black'>interface complète</font></a></span>"; + else echo "<b><span class='fondgrison2'>Interface simplifiée</span></b> <span class='fondgris' onMouseOver=\"changeclass(this,'fondgrison2')\" onMouseOut=\"changeclass(this,'fondgris')\"><a href='$lien&set_options=avancees'><font color='black'>interface complète</font></a></span>"; echo "</font>"; echo "</td>"; echo "<td align='right'>"; @@ -1510,6 +1532,7 @@ function debut_gauche() { global $activer_imessage; global $connect_activer_messagerie; global $connect_activer_imessage; + global $options; if ($changer_config!="oui"){ $activer_messagerie=lire_meta("activer_messagerie"); @@ -1518,18 +1541,21 @@ function debut_gauche() { if ($activer_messagerie!="non" AND $connect_activer_messagerie!="non"){ - debut_cadre_relief("messagerie-24.gif"); - - echo "<a href='message_edit.php3?new=oui&type=normal'><img src='img_pack/m_envoi.gif' alt='M>' width='14' height='7' border='0'>"; - echo "<font color='#169249' face='verdana,arial,helvetica,sans-serif' size=1><b> NOUVEAU MESSAGE</b></font></a>"; - echo "\n<br><a href='message_edit.php3?new=oui&type=pb'><img src='img_pack/m_envoi_bleu.gif' alt='M>' width='14' height='7' border='0'>"; - echo "<font color='#044476' face='verdana,arial,helvetica,sans-serif' size=1><b> NOUVEAU PENSE-BÊTE</b></font></a>"; - if ($activer_imessage != "non" AND ($connect_activer_imessage != "non" OR $connect_statut == "0minirezo")) { $query2 = "SELECT * FROM spip_auteurs WHERE id_auteur!=$connect_id_auteur AND imessage!='non' AND messagerie!='non' AND en_ligne>DATE_SUB(NOW(),INTERVAL 5 MINUTE)"; $result_auteurs = spip_query($query2); + $nb_connectes = mysql_num_rows($result_auteurs); + } - if (mysql_num_rows($result_auteurs) > 0) { + if ($options == "avancees" OR $nb_connectes > 0) debut_cadre_relief("messagerie-24.gif"); + if ($options == "avancees") { + echo "<a href='message_edit.php3?new=oui&type=normal'><img src='img_pack/m_envoi.gif' alt='M>' width='14' height='7' border='0'>"; + echo "<font color='#169249' face='verdana,arial,helvetica,sans-serif' size=1><b> NOUVEAU MESSAGE</b></font></a>"; + echo "\n<br><a href='message_edit.php3?new=oui&type=pb'><img src='img_pack/m_envoi_bleu.gif' alt='M>' width='14' height='7' border='0'>"; + echo "<font color='#044476' face='verdana,arial,helvetica,sans-serif' size=1><b> NOUVEAU PENSE-BÊTE</b></font></a>"; + } + + if ($nb_connectes > 0) { echo "<font face='verdana,arial,helvetica,sans-serif' size=2>"; echo "<p><b>Actuellement en ligne :</b>"; @@ -1540,8 +1566,7 @@ function debut_gauche() { } echo "</font>"; } - } - fin_cadre_relief(); + if ($options == "avancees" OR $nb_connectes > 0) fin_cadre_relief(); } } diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index 539a0910d22a2545b62dfa7ee245ee6445e68f5b..b6625436c1df9e819e2e6bba81e92056a14a55ef 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -13,11 +13,11 @@ define("_ECRIRE_INC_VERSION", "1"); // // version de la base -$spip_version = 1.432; +$spip_version = 1.436; // version de spip // (mettre a jour a la main et conserver la mention "CVS") -$spip_version_affichee = "1.4d2 CVS"; +$spip_version_affichee = "1.4d4 CVS"; // version de spip / tag if (ereg('Name: v(.*) ','$Name$', $regs)) $spip_version_affichee = $regs[1]; diff --git a/ecrire/index.php3 b/ecrire/index.php3 index bf4024b83d057be18b37973ee7b9d11c92d21362..f1ae0255bfa791484e8b8071fa27b27894430b59 100644 --- a/ecrire/index.php3 +++ b/ecrire/index.php3 @@ -11,7 +11,7 @@ debut_gauche(); if($options != 'avancees') { debut_boite_info(); echo "<P align=center><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=1><B>À SUIVRE</B></FONT>"; - echo "<P align=left><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>".propre("Cette page recense l'actualité du site et vous permet de suivre vos contributions. Vous y retrouverez vos articles en cours de rédaction, les articles et les brèves pour lesquelles vous êtes invité à donner votre avis, puis un rappel de vos précédentes contributions.<p>Quand vous serez familiarisé(e) avec SPIP, cliquez sur «interface complète» pour ouvrir plus de possibilités.")."</FONT>"; + echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>".propre("Cette page recense l'actualité du site et vous permet de suivre vos contributions. Vous y retrouverez vos articles en cours de rédaction, les articles et les brèves pour lesquelles vous êtes invité à donner votre avis, puis un rappel de vos précédentes contributions.<p><hr><p>Quand vous serez familiarisé(e) avec l'interface, cliquez sur «<a href='index.php3?&set_options=avancees'>interface complète</a>» pour ouvrir plus de possibilités.")."</FONT>"; fin_boite_info(); } @@ -203,6 +203,7 @@ if ($connect_statut == "0minirezo") { echo "<p>"; icone_horizontale("Statistiques du site", "statistiques_visites.php3", "statistiques-24.gif","rien.gif"); icone_horizontale("Suivi des forums", "controle_forum.php3", "suivi-forum-24.gif","rien.gif"); + icone_horizontale("Vider le cache", "admin_vider.php3", "cache-24.gif","rien.gif"); } echo "</font>"; @@ -335,7 +336,7 @@ if (!$relief AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { if ($relief) { echo "<p>"; debut_cadre_enfonce(); - + echo "<font color='red'><b>Les articles et brèves suivants sont proposés pour la publication. N'hésitez pas à donner votre avis grâce aux forums qui leurs sont attachés.</b></font><p>"; // // Les articles a valider // diff --git a/ecrire/naviguer.php3 b/ecrire/naviguer.php3 index 87a02799e399dc4bf4fa8c983655194267f8f443..5934f66426189a2cc768777073e1b85483251dc0 100644 --- a/ecrire/naviguer.php3 +++ b/ecrire/naviguer.php3 @@ -69,6 +69,51 @@ function sous_enfant($collection2){ } +function my_sel($num,$tex,$comp){ + if ($num==$comp){ + echo "<OPTION VALUE='$num' SELECTED>$tex\n"; + }else{ + echo "<OPTION VALUE='$num'>$tex\n"; + } + +} + +function afficher_mois($mois){ + my_sel("00","non connu",$mois); + my_sel("01","janvier",$mois); + my_sel("02","février",$mois); + my_sel("03","mars",$mois); + my_sel("04","avril",$mois); + my_sel("05","mai",$mois); + my_sel("06","juin",$mois); + my_sel("07","juillet",$mois); + my_sel("08","août",$mois); + my_sel("09","septembre",$mois); + my_sel("10","octobre",$mois); + my_sel("11","novembre",$mois); + my_sel("12","décembre",$mois); +} + +function afficher_annee($annee){ + // Cette ligne permettrait de faire des articles sans date de publication + // my_sel("0000","n.c.",$annee); + + if($annee<1996 AND $annee <> 0){ + echo "<OPTION VALUE='$annee' SELECTED>$annee\n"; + } + for($i=1996;$i<date(Y)+2;$i++){ + my_sel($i,$i,$annee); + } +} + +function afficher_jour($jour){ + my_sel("00","n.c.",$jour); + for($i=1;$i<32;$i++){ + if ($i<10){$aff=" ".$i;}else{$aff=$i;} + my_sel($i,$aff,$jour); + } +} + // // Gerer les modifications... @@ -140,6 +185,34 @@ else $titre_page = "Naviguer dans le site..."; +if ($id_document) { + $query_doc = "SELECT * FROM spip_documents_rubriques WHERE id_document=$id_document AND id_rubrique=$coll"; + $result_doc = spip_query($query_doc); + $flag_document_editable = (mysql_num_rows($result_doc) > 0); +} else { + $flag_document_editable = false; +} + + +$modif_document = $GLOBALS['modif_document']; +if ($modif_document == 'oui' AND $flag_document_editable) { + $titre = addslashes(corriger_caracteres($titre)); + $descriptif = addslashes(corriger_caracteres($descriptif)); + spip_query("UPDATE spip_documents SET titre=\"$titre_document\", descriptif=\"$descriptif_document\" WHERE id_document=$id_document"); + + + if ($jour_doc AND $connect_statut == '0minirezo') { + if ($annee_doc == "0000") $mois_doc = "00"; + if ($mois_doc == "00") $jour_doc = "00"; + $query = "UPDATE spip_documents SET date='$annee_doc-$mois_doc-$jour_doc' WHERE id_document=$id_document"; + $result = spip_query($query); + calculer_dates_rubriques(); + } + +} + + + ///// debut de la page @@ -408,23 +481,21 @@ if ($id_parent == "0" AND $activer_breves!="non"){ afficher_sites("Les sites référencés dans cette rubrique", "SELECT * FROM spip_syndic WHERE id_rubrique='$coll' AND statut!='refuse' ORDER BY nom_site"); - -$proposer_sites=lire_meta("proposer_sites"); -if ($coll > 0 AND ($connect_statut == '0minirezo' OR $proposer_sites > 0)) { - $link = new Link('sites_edit.php3'); - $link->addVar('id_rubrique', $coll); - $link->addVar('target', 'sites.php3'); - $link->addVar('redirect', $this_link->getUrl()); - - echo "<div align='right'>"; - icone("Référencer un site", $link->getUrl(), "site-24.gif", "creer.gif"); - echo "</div><p>"; - - +if ($options == "avancees"){ + $proposer_sites=lire_meta("proposer_sites"); + if ($coll > 0 AND ($connect_statut == '0minirezo' OR $proposer_sites > 0)) { + $link = new Link('sites_edit.php3'); + $link->addVar('id_rubrique', $coll); + $link->addVar('target', 'sites.php3'); + $link->addVar('redirect', $this_link->getUrl()); + + echo "<div align='right'>"; + icone("Référencer un site", $link->getUrl(), "site-24.gif", "creer.gif"); + echo "</div><p>"; + } } - /// Documents associes a la rubrique if ($coll>0){ diff --git a/ecrire/statistiques_visites.php3 b/ecrire/statistiques_visites.php3 index cffd1deeebd64613f1e4ba8fb5252f048495462e..613ecd8e8ac497bc22a87704517e0636930b8c04 100644 --- a/ecrire/statistiques_visites.php3 +++ b/ecrire/statistiques_visites.php3 @@ -32,9 +32,27 @@ else { debut_gauche(); + + +// +// Afficher les boutons de creation d'article et de breve +// +if ($connect_statut == '0minirezo') { + debut_cadre_enfonce(); + echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=1>"; + echo "<b>RACCOURCIS :</b><p>"; + if ($id_article > 0){ icone_horizontale("Retour à l'article", "articles.php3?id_article=$id_article", "article-24.gif","rien.gif"); } + icone_horizontale("Suivi des forums", "controle_forum.php3", "suivi-forum-24.gif", "rien.gif"); + + + echo "</font>"; + fin_cadre_enfonce(); +} + + echo "<p>"; echo "<div class='iconeoff' style='padding: 5px;'>"; @@ -43,16 +61,22 @@ debut_gauche(); echo "<ul>"; if ($id_article>0) { echo "<li><b><a href='statistiques_visites.php3'>Tout le site</a></b>"; + } else { + echo "<li><b>Tout le site</b>"; } echo "<font size=1>"; - $query = "SELECT id_article, titre FROM spip_articles WHERE statut='publie' AND id_article !='$id_article' AND visites > 0 ORDER BY date DESC LIMIT 0,20"; + $query = "SELECT id_article, titre FROM spip_articles WHERE statut='publie' AND visites > 0 ORDER BY date DESC LIMIT 0,20"; $result = spip_query($query); while ($row = mysql_fetch_array($result)) { $titre = propre($row['titre']); $l_article = $row['id_article']; - echo "\n<li><a href='statistiques_visites.php3?id_article=$l_article'>$titre</a>"; + if ($l_article == $id_article){ + echo "\n<li><b>$titre</b>"; + } else { + echo "\n<li><a href='statistiques_visites.php3?id_article=$l_article'>$titre</a>"; + } } echo "</font>"; echo "</ul>"; @@ -76,7 +100,7 @@ if ($id_article) $page = "article$id_article"; else $page = "tout"; -$query="SELECT UNIX_TIMESTAMP(date) AS date_unix, visites FROM spip_visites WHERE type = '$page' AND date > DATE_SUB(NOW(),INTERVAL 365 DAY) ORDER BY date"; +$query="SELECT UNIX_TIMESTAMP(date) AS date_unix, visites FROM spip_visites WHERE type = '$page' AND date > DATE_SUB(NOW(),INTERVAL 420 DAY) ORDER BY date"; $result=spip_query($query); while ($row = mysql_fetch_array($result)) { @@ -106,15 +130,18 @@ if (count($log)>0){ $nb_jours = floor(($date_today-$date_debut)/(3600*24)); - if ($max>10) $maxgraph = substr(ceil(substr($max,0,2) / 10)."000000000000", 0, strlen($max)); - else $maxgraph = 10; + $maxgraph = substr(ceil(substr($max,0,2) / 10)."000000000000", 0, strlen($max)); + if ($maxgraph < 10) $maxgraph = 10; + if ($maxgraph < $max) $maxgraph.="0"; + + if (0.8*$maxgraph > $max) $maxgraph = 0.8 * $maxgraph; $rapport = 200 / $maxgraph; - if (count($log) < 365) $largeur = floor(365 / ($nb_jours+1)); + if (count($log) < 420) $largeur = floor(420 / ($nb_jours+1)); if ($largeur < 1) $largeur = 1; - debut_cadre_relief(); + debut_cadre_relief("statistiques-24.gif"); echo "<table cellpadding=0 cellspacing=0 border=0><tr><td background='img_pack/fond-stats.gif'>"; echo "<table cellpadding=0 cellspacing=0 border=0><tr>"; @@ -122,25 +149,70 @@ if (count($log)>0){ // Presentation graphique while (list($key, $value) = each($log)) { + $n++; //inserer des jours vides si pas d'entrees if ($jour_prec > 0) { $ecart = floor(($key-$jour_prec)/(3600*24)-1); for ($i=0; $i < $ecart; $i++){ + $moyenne = $total_loc / $n; + $hauteur_moyenne = round(($moyenne) * $rapport) - 1; echo "<td valign='bottom' width=$largeur>"; + $difference = ($hauteur_moyenne) -1; + if ($difference > 0) { + echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:#333333;'>"; + echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur_moyenne>"; + } echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:black;'>"; echo "</td>"; + $n++; } } + $total_loc = $total_loc + $value; + $moyenne = $total_loc / $n; + $hauteur_moyenne = round($moyenne * $rapport) - 1; $hauteur = round($value * $rapport) - 1; echo "<td valign='bottom' width=$largeur>"; + if ($hauteur > 0){ - echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:$couleur_foncee;'>"; - echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur style='background-color:$couleur_claire;'>"; + if ($hauteur_moyenne > $hauteur) { + $difference = ($hauteur_moyenne - $hauteur) -1; + echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:#333333;'>"; + echo "<img src='img_pack/rien.gif' width=$largeur height=$difference>"; + echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:$couleur_foncee;'>"; + if (date("w",$key) == "0"){ // Dimanche en couleur foncee + echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur style='background-color:$couleur_foncee;'>"; + } + else { + echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur style='background-color:$couleur_claire;'>"; + } + } + else if ($hauteur_moyenne < $hauteur) { + $difference = ($hauteur - $hauteur_moyenne) -1; + echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:$couleur_foncee;'>"; + if (date("w",$key) == "0"){ // Dimanche en couleur foncee + $couleur = $couleur_foncee; + } + else { + $couleur = $couleur_claire; + } + echo "<img src='img_pack/rien.gif' width=$largeur height=$difference style='background-color:$couleur;'>"; + echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:#333333;'>"; + echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur_moyenne style='background-color:$couleur;'>"; + } + else { + echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:$couleur_foncee;'>"; + if (date("w",$key) == "0"){ // Dimanche en couleur foncee + echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur style='background-color:$couleur_foncee;'>"; + } + else { + echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur style='background-color:$couleur_claire;'>"; + } + } } echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:black;'>"; - echo "</td>"; + echo "</td>\n"; $jour_prec = $key; } @@ -150,7 +222,7 @@ if (count($log)>0){ echo "<td valign='bottom' width=$largeur>"; if ($hauteur > 0){ echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:$couleur_foncee;'>"; - echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur style='background-color:#e4e4e4;'>"; + echo "<img src='img_pack/rien.gif' width=$largeur height=$hauteur style='background-color:#eeeeee;'>"; } echo "<img src='img_pack/rien.gif' width=$largeur height=1 style='background-color:black;'>"; echo "</td>"; @@ -159,14 +231,41 @@ if (count($log)>0){ echo "<td bgcolor='black'><img src='img_pack/rien.gif' width=1 height=1></td>"; echo "</tr></table>"; echo "</td>"; + echo "<td background='img_pack/fond-stats.gif' valign='bottom'><img src='img_pack/rien.gif' style='background-color:black;' width=3 height=1></td>"; echo "<td><img src='img_pack/rien.gif' width=5 height=1></td>"; echo "<td valign='top'><font face='verdana,arial,helvetica,sans-serif' size=2>"; - echo "<font face='arial,helvetica,sans-serif' size=1>$maxgraph</font>"; - echo "<p>max : $max"; - echo "<br>aujourd'hui : $visites_today"; - echo "<br>total : $total_absolu"; + echo "<table cellpadding=0 cellspacing=0 border=0>"; + echo "<tr><td height=25 valign='top'>"; + echo "<font face='arial,helvetica,sans-serif' size=1>".round($maxgraph)."</font>"; + echo "</td></tr>"; + echo "<tr><td height=50 valign='middle'>"; + echo "<font face='arial,helvetica,sans-serif' size=1>".round(3*($maxgraph/4))."</font>"; + echo "</td></tr>"; + echo "<tr><td height=50 valign='middle'>"; + echo "<font face='arial,helvetica,sans-serif' size=1>".round($maxgraph/2)."</font>"; + echo "</td></tr>"; + echo "<tr><td height=50 valign='middle'>"; + echo "<font face='arial,helvetica,sans-serif' size=1>".round($maxgraph/4)."</font>"; + echo "</td></tr>"; + echo "<tr><td height=25 valign='bottom'>"; + echo "<font face='arial,helvetica,sans-serif' size=1>0</font>"; + echo "</td>"; + + + echo "</table>"; echo "</font></td>"; echo "</td></tr></table>"; + echo "<font face='arial,helvetica,sans-serif' size=1>(barres foncées : dimanche / courbe foncée : évolution de la moyenne)</font>"; + + echo "<p><table cellpadding=0 cellspacing=0 border=0 width='100%'><tr width='100%'>"; + echo "<td valign='top' width='50%'><font face='verdana,arial,helvetica'>"; + echo "maximum : $max"; + echo "<br>moyenne : ".round($moyenne); + echo "</td>"; + echo "<td valign='top' width='50%'><font face='verdana,arial,helvetica'>"; + echo "aujourd'hui : $visites_today"; + echo "<br>total : $total_absolu"; + echo "</td></tr></table>"; fin_cadre_relief(); diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3 index 392b75d2c5eb09c4c7042f2e6b6546911d46c0ad..55c98d416d2504e4a2ee934987b422623f7c368b 100644 --- a/inc-calcul-squel.php3 +++ b/inc-calcul-squel.php3 @@ -215,6 +215,7 @@ function parser_boucle($texte, $id_parent) { $req_from[] = "spip_syndic AS source"; $req_where[] = "$table.id_syndic=source.id_syndic"; $req_where[] = "$table.statut='publie'"; + $req_where[] = "source.statut='publie'"; $id_objet = "id_syndic_article"; break; } diff --git a/inc-forum.php3 b/inc-forum.php3 index df07f0feb81d2726add8aab021b8226f8b5bcc40..38a4bec785ebd685a49ae84a383ca348557b94ba 100644 --- a/inc-forum.php3 +++ b/inc-forum.php3 @@ -405,10 +405,6 @@ function ajout_forum() { die ("<h4>Votre message est trop long. La taille maximale est de 20000 caractères.</h4> Cliquez <a href='$retour_forum'>ici</a> pour continuer.<p>"); } - /* if (strlen($confirmer) > 0 AND (strlen($texte) < 10 OR strlen($titre) < 3)) { - die ("<h4>Le texte ou le titre de votre message est trop court. </h4> - Cliquez <a href='$retour_forum'>ici</a> pour continuer.<p>"); - }*/ unset($where); if ($forum_id_article) $where[] = "id_article=$forum_id_article"; @@ -445,6 +441,21 @@ function ajout_forum() { } + + if (!$id_auteur) $id_auteur = $GLOBALS['auteur_session']['id_auteur']; + $auteur_session = $GLOBALS['auteur_session']['email']; + + if ($new == "oui"){ + $nouveau_document = true; + if ($HTTP_GET_VARS['titre']){ + $titre = "> ".rawurldecode($HTTP_GET_VARS['titre']); + } + $query_forum = "INSERT spip_forum (date_heure, titre, ip, statut) + VALUES (NOW(), \"".addslashes($titre)."\", \"$REMOTE_ADDR\", \"redac\")"; + $result_forum = spip_query($query_forum); + $id_message = mysql_insert_id(); + } + // Ajouter les mots-cles $query_mots = "DELETE FROM spip_mots_forum WHERE id_forum='$id_message'"; $result_mots = spip_query($query_mots); @@ -463,20 +474,6 @@ function ajout_forum() { } - - if (!$id_auteur) $id_auteur = $GLOBALS['auteur_session']['id_auteur']; - $auteur_session = $GLOBALS['auteur_session']['email']; - - if ($new == "oui"){ - $nouveau_document = true; - if ($HTTP_GET_VARS['titre']){ - $titre = "> ".rawurldecode($HTTP_GET_VARS['titre']); - } - $query_forum = "INSERT spip_forum (date_heure, titre, ip, statut) - VALUES (NOW(), \"".addslashes($titre)."\", \"$REMOTE_ADDR\", \"redac\")"; - $result_forum = spip_query($query_forum); - $id_message = mysql_insert_id(); - } $query_forum = "UPDATE spip_forum @@ -581,8 +578,6 @@ function ajout_forum() { } } - - @header("Location: $retour_forum"); exit; } diff --git a/rubrique-dist.html b/rubrique-dist.html index ea038cfd6553a96d20e561d5bc0ae8c15ecd81ba..a50b8a9bb1de8fba1c1253dae9a2178e2d828ce8 100644 --- a/rubrique-dist.html +++ b/rubrique-dist.html @@ -257,15 +257,16 @@ <center>Documents liés</center> <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0> - <BOUCLE_documents(DOCUMENTS){id_rubrique}{par titre}{mode=document}{doublons}> + <BOUCLE_documents(DOCUMENTS){id_rubrique}{par titre}{mode=document}{doublons}{par date}{inverse}> <tr> <td align='center'> [(#LOGO_DOCUMENT|#URL_DOCUMENT)] </td> <td width=10> </td> <td> - <font size="2"><a href="#URL_DOCUMENT">[(#TITRE|majuscules)]</a> - [: (#DESCRIPTIF)]<br> + <font size="2"><a href="#URL_DOCUMENT">[(#TITRE|majuscules)<br>]</a> + [(#DATE|affdate)]<br> + [(#DESCRIPTIF)<br>] [(#TYPE_DOCUMENT) -] [(#TAILLE|taille_en_octets)][, (#LARGEUR) x #HAUTEUR pixels] </td></tr> </BOUCLE_documents> diff --git a/spip_image.php3 b/spip_image.php3 index b86e03f0bde4b34649ccdc4f02789fc85e12ccd0..2e78ec92f50275b59905a44fce48f20da9301802 100644 --- a/spip_image.php3 +++ b/spip_image.php3 @@ -11,20 +11,26 @@ include_local("inc-cache.php3"); /// verifier les formats acceptes par GD if ($test_formats=="oui"){ - $srcImage = @ImageCreateFromJPEG("IMG/test.jpg"); - if ($srcImage) { - $gd_formats[] = "jpg"; - ImageDestroy( $srcImage ); + if (function_exists(ImageCreateFromJPEG)) { + $srcImage = @ImageCreateFromJPEG("IMG/test.jpg"); + if ($srcImage) { + $gd_formats[] = "jpg"; + ImageDestroy( $srcImage ); + } } - $srcImage = @ImageCreateFromGIF("IMG/test.gif"); - if ($srcImage) { - $gd_formats[] = "gif"; - ImageDestroy( $srcImage ); + if (function_exists(ImageCreateFromGIF)) { + $srcImage = ImageCreateFromGIF("IMG/test.gif"); + if ($srcImage) { + $gd_formats[] = "gif"; + ImageDestroy( $srcImage ); + } } - $srcImage = @ImageCreateFromPNG("IMG/test.png"); - if ($srcImage) { - $gd_formats[] = "png"; - ImageDestroy( $srcImage ); + if (function_exists(ImageCreateFromPNG)) { + $srcImage = @ImageCreateFromPNG("IMG/test.png"); + if ($srcImage) { + $gd_formats[] = "png"; + ImageDestroy( $srcImage ); + } } if ($gd_formats) $gd_formats = join($gd_formats, ","); @@ -242,7 +248,7 @@ function ajout_doc($orig, $source, $dest, $mode, $id_document, $doc_vignette='', $id_document = 0; } if (!$id_document) { - $query = "INSERT spip_documents (id_type, titre) VALUES ($id_type, '')"; + $query = "INSERT spip_documents (id_type, titre, date) VALUES ($id_type, '', NOW())"; spip_query($query); $id_document = mysql_insert_id(); $nouveau = true; @@ -286,7 +292,7 @@ function ajout_doc($orig, $source, $dest, $mode, $id_document, $doc_vignette='', else if ($format_prev == "png") $format_prev = 2; else if ($format_prev == "gif") $format_prev = 3; - $query = "INSERT spip_documents (id_type, titre, largeur, hauteur, fichier) VALUES ('$format_prev', '', '$largeur_prev', '$hauteur_prev', '$fichier_prev')"; + $query = "INSERT spip_documents (id_type, titre, largeur, hauteur, fichier, date) VALUES ('$format_prev', '', '$largeur_prev', '$hauteur_prev', '$fichier_prev', NOW())"; spip_query($query); $id_preview = mysql_insert_id(); $query = "UPDATE spip_documents SET id_vignette = '$id_preview' WHERE id_document = $id_document"; @@ -423,6 +429,7 @@ if ($doc_supp) { spip_query("UPDATE spip_documents SET id_vignette=0 WHERE id_vignette=$doc_supp"); spip_query("DELETE FROM spip_documents_articles WHERE id_document=$doc_supp"); spip_query("DELETE FROM spip_documents_rubriques WHERE id_document=$doc_supp"); + spip_query("DELETE FROM spip_documents_breves WHERE id_document=$doc_supp"); @unlink($fichier); } @@ -437,6 +444,7 @@ if ($doc_supp) { spip_query("DELETE FROM spip_documents WHERE id_document=$id_vignette"); spip_query("DELETE FROM spip_documents_articles WHERE id_document=$id_vignette"); spip_query("DELETE FROM spip_documents_rubriques WHERE id_document=$doc_supp"); + spip_query("DELETE FROM spip_documents_breves WHERE id_document=$doc_supp"); } diff --git a/spip_test_dirs.php3 b/spip_test_dirs.php3 index 44bbc89e9cf237784f0d4b85cac57329e25bdaf8..131ce654afbf9cc41479c811c7e73a67f8eba963 100644 --- a/spip_test_dirs.php3 +++ b/spip_test_dirs.php3 @@ -29,7 +29,7 @@ $install = !file_exists("ecrire/inc_connect.php3"); if ($test_dir) $test_dirs[] = $test_dir; else - $test_dirs = array("CACHE", "IMG", "ecrire", "ecrire/data", "ecrire/upload"); + $test_dirs = array("CACHE", "IMG", "ecrire", "ecrire/data"); unset($bad_dirs); while (list(, $my_dir) = each($test_dirs)) {