Rev 609 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
include ("inc.php3");
include_ecrire ("inc_logos.php3");
include_ecrire ("inc_mots.php3");
include_ecrire ("inc_date.php3");
include_ecrire ("inc_abstract_sql.php3");
if (!$id_breve) $id_breve=0;
$flag_mots = lire_meta("articles_mots");
if (($id_breve == 0) AND ($new == "oui")) {
$id_rubrique = intval($id_rubrique);
$langue_new = '';
$result_lang_rub = spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique");
if ($row = spip_fetch_array($result_lang_rub)) {
$langue_new = $row["lang"];
}
if (!$langue_new) $langue_new = lire_meta('langue_site');
$langue_choisie_new = 'non';
$id_breve = spip_abstract_insert("spip_breves",
"(titre, date_heure, id_rubrique, statut, lang, langue_choisie)",
"('"._T('item_nouvelle_breve')."', NOW(), '$id_rubrique', 'refuse', '$langue_new', '$langue_choisie_new')");
// Modifier le lien de base pour qu'il prenne en compte le nouvel id
unset($_POST['id_rubrique']);
$_POST['id_breve'] = $id_breve;
$clean_link = new Link();
}
if ($titre AND $modifier_breve) {
$titre = addslashes($titre);
$texte = addslashes($texte);
$lien_titre = addslashes($lien_titre);
// recoller les champs du extra
if ($champs_extra) {
include_ecrire("inc_extra.php3");
$add_extra = ", extra = '".addslashes(extra_recup_saisie("breves"))."'";
} else
$add_extra = '';
$query = "UPDATE spip_breves SET titre='$titre', texte='$texte', lien_titre='$lien_titre', lien_url='$lien_url', statut='$statut', id_rubrique='$id_rubrique' $add_extra WHERE id_breve=$id_breve";
$result = spip_query($query);
// invalider et reindexer
if ($invalider_caches) {
include_ecrire ("inc_invalideur.php3");
suivre_invalideur("id='id_breve/$id_breve'");
}
if (lire_meta('activer_moteur') == 'oui') {
include_ecrire ("inc_index.php3");
marquer_indexer('breve', $id_breve);
}
calculer_rubriques();
// Changer la langue heritee
if ($id_rubrique != id_rubrique_old) {
$row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_breves WHERE id_breve=$id_breve"));
$langue_old = $row['lang'];
$langue_choisie_old = $row['langue_choisie'];
if ($langue_choisie_old != "oui") {
$row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
$langue_new = $row['lang'];
if ($langue_new != $langue_old) {
spip_query("UPDATE spip_breves SET lang = '$langue_new' WHERE id_breve = $id_breve");
}
}
}
}
if ($jour AND $connect_statut == '0minirezo') {
if ($annee == "0000") $mois = "00";
if ($mois == "00") $jour = "00";
$query = "UPDATE spip_breves SET date_heure='$annee-$mois-$jour' WHERE id_breve=$id_breve";
$result = spip_query($query);
calculer_rubriques();
}
$query = "SELECT * FROM spip_breves WHERE id_breve='$id_breve'";
$result = spip_query($query);
while ($row = spip_fetch_array($result)) {
$id_breve=$row['id_breve'];
$date_heure=$row['date_heure'];
$titre_breve=$row['titre'];
$titre=$row['titre'];
$texte=$row['texte'];
$extra=$row['extra'];
$lien_titre=$row['lien_titre'];
$lien_url=$row['lien_url'];
$statut=$row['statut'];
$id_rubrique=$row['id_rubrique'];
}
$flag_editable = (($connect_statut == '0minirezo' AND acces_rubrique($id_rubrique)) OR $statut == 'prop');
debut_page("« $titre_breve »", "documents", "breves");
debut_grand_cadre();
afficher_hierarchie($id_rubrique);
fin_grand_cadre();
debut_gauche();
debut_boite_info();
echo "<CENTER>";
echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=1><B>"._T('info_gauche_numero_breve')." :</B></FONT>";
echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=6><B>$id_breve</B></FONT>";
echo "</CENTER>";
voir_en_ligne ('breve', $id_breve, $statut);
fin_boite_info();
//////////////////////////////////////////////////////
// Logos de la breve
//
if ($id_breve>0 AND ($connect_statut == '0minirezo' AND acces_rubrique($id_rubrique)))
afficher_boite_logo('breve', 'id_breve', $id_breve,
_T('logo_breve').aide ("breveslogo"), _T('logo_survol'));
debut_raccourcis();
icone_horizontale(_T('icone_nouvelle_breve'), "breves_edit.php3?new=oui", "breve-24.gif","creer.gif");
fin_raccourcis();
debut_droite();
debut_cadre_relief("breve-24.gif");
echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>";
echo "<TR><td class='serif'>";
echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
echo "<tr width='100%'><td width='100%' valign='top'>";
gros_titre($titre);
echo "</td>";
if ($flag_editable) {
echo "<td>", http_img_pack("rien.gif", ' ', "width='5'") ."</td>\n";
echo "<td align='right'>";
icone(_T('icone_modifier_breve'), "breves_edit.php3?id_breve=$id_breve&retour=nav", "breve-24.gif", "edit.gif");
echo "</td>";
}
echo "</tr></table>\n";
if ($flag_editable AND ($options == 'avancees' OR $statut == 'publie')) {
if ($statut == 'publie') {
echo "<p>";
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date_heure, $regs)) {
$mois = $regs[2];
$jour = $regs[3];
$annee = $regs[1];
}
debut_cadre_enfonce();
echo afficher_formulaire_date("breves_voir.php3?id_breve=$id_breve&options=$options", _T('texte_date_publication_article'), $jour, $mois, $annee);
fin_cadre_enfonce();
}
else {
echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3><B>".affdate($date_heure)." </B></FONT><P>";
}
}
if ($flag_mots!='non' AND $flag_editable AND $options == 'avancees') {
formulaire_mots('breves', $id_breve, $nouv_mot, $supp_mot, $cherche_mot, $flag_editable);
}
//
// Langue de la breve
//
if ((lire_meta('multi_articles') == 'oui') AND ($flag_editable)) {
$row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
$langue_parent = $row['lang'];
if ($changer_lang) {
if ($changer_lang != "herit")
spip_query("UPDATE spip_breves SET lang='".addslashes($changer_lang)."', langue_choisie='oui' WHERE id_breve=$id_breve");
else {
spip_query("UPDATE spip_breves SET lang='".addslashes($langue_parent)."', langue_choisie='non' WHERE id_breve=$id_breve");
}
}
$row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_breves WHERE id_breve=$id_breve"));
$langue_breve = $row['lang'];
$langue_choisie_breve = $row['langue_choisie'];
if ($langue_choisie_breve == 'oui') $herit = false;
else $herit = true;
debut_cadre_enfonce('langues-24.gif');
echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' class='serif2'>";
echo bouton_block_invisible('languesbreve');
echo "<B>";
echo _T('titre_langue_breve');
echo " (".traduire_nom_langue($langue_breve).")";
echo "</B>";
echo "</TD></TR></TABLE>";
echo debut_block_invisible('languesbreve');
echo "<center><font face='Verdana,Arial,Sans,sans-serif' size='2'>";
echo menu_langues('changer_lang', $langue_breve, '', $langue_parent);
echo "</font></center>\n";
echo fin_block();
fin_cadre_enfonce();
}
echo justifier(propre($texte))."\n";
if (strlen($lien_url)>7 AND strlen($lien_titre)>2){
echo "<P><font size=1>"._T('lien_voir_en_ligne')."</font> <A HREF='$lien_url'><B>".typo($lien_titre)."</B></A>\n";
} else if (strlen($lien_titre)>2) {
echo "<P><font size=1>"._T('lien_nom_site')."</font> ".typo($lien_titre)."</B></A>\n";
} else if (strlen($lien_url)>7) {
echo "<P><font size=1>"._T('info_url_site')."</font> <tt>$lien_url</tt>\n";
}
if ($les_notes) {
echo "<hr width='70%' height=1 align='left'><font size=2>$les_notes</font>\n";
}
// afficher les extra
if ($champs_extra AND $extra) {
include_ecrire("inc_extra.php3");
extra_affichage($extra, "breves");
}
if ($connect_statut=="0minirezo" AND acces_rubrique($id_rubrique) AND ($statut=="prop" OR $statut=="prepa")){
echo "<div align='right'>";
echo "<table>";
echo "<td align='right'>";
icone(_T('icone_publier_breve'), "breves.php3?id_breve=$id_breve&statut=publie", "breve-24.gif", "racine-24.gif");
echo "</td>";
echo "<td>", http_img_pack("rien.gif", ' ', "width='5'") ."</td>\n";
echo "<td align='right'>";
icone(_T('icone_refuser_breve'), "breves.php3?id_breve=$id_breve&statut=refuse", "breve-24.gif", "supprimer.gif");
echo "</td>";
echo "</table>";
echo "</div>";
}
echo "</TD></TR></TABLE>";
fin_cadre_relief();
//////////////////////////////////////////////////////
// Forums
//
echo "<BR><BR>";
$forum_retour = urlencode("breves_voir.php3?id_breve=$id_breve");
echo "\n<div align='center'>";
icone(_T('icone_poster_message'), "forum_envoi.php3?statut=prive&adresse_retour=".$forum_retour."&id_breve=$id_breve&titre_message=".urlencode($titre), "forum-interne-24.gif", "creer.gif");
echo "</div>";
echo "<P align='left'>";
$query_forum = "SELECT * FROM spip_forum WHERE statut='prive' AND id_breve='$id_breve' AND id_parent=0 ORDER BY date_heure DESC LIMIT 0,20";
$result_forum = spip_query($query_forum);
afficher_forum($result_forum, $forum_retour);
fin_page();
?>