function help_fichier_contenu ($lang_aide, $path, $help_server) { $contenu = array(); include_spip('inc/distant'); foreach ($help_server as $k => $server) { // Remplacer les liens aux images par leur gestionnaire de cache $url = "$server/$path"; $page = help_replace_img(recuperer_page($url),$k); // les liens internes ne doivent pas etre deguises en externes $url = parse_url($url); $re = '@(<a\b[^>]*\s+href=["\'])' . '(?:' . $url['scheme'] . '://' . $url['host'] . ')?' . $url['path'] . '([^"\']*)@ims'; $page = preg_replace($re,'\\1\\2', $page); preg_match_all(_SECTIONS_AIDE, $page, $sections, PREG_SET_ORDER); // Fusionner les aides ayant meme nom de section $vus = array(); foreach ($sections as $section) { list($tout,$prof, $sujet,) = $section; if (in_array($sujet, $vus)) continue; $corps = help_section($sujet, $page, $prof); foreach ($contenu as $k => $s) { if ($sujet == $k) { // Section deja vue qu'il faut completer // Si le complement a des sous-sections, // ne pas en tenir compte quand on les rencontrera // lors des prochains passages dans la boucle if (preg_match_all(_SECTIONS_AIDE, $corps, $m, PREG_PATTERN_ORDER)) { if ($m) {$vus = array_merge($vus, $m[2]);} $contenu[$k] .= $corps; $corps = ''; break; } else spip_log("aide $server $section incorrecte"); } } // Si totalement nouveau, inserer le titre // mais pas le corps s'il contient des sous-sections: // elles vont venir dans les passages suivants if ($corps) { $corps = help_section($sujet, $page); $contenu[$sujet] = $tout . "\n" . $corps; } } } // Renvoyer les liens vraiment externes dans une autre fenetre $contenu = preg_replace('@<a href="(http://[^"]+)"([^>]*)>@', '<a href="\\1"\\2 target="_blank">', join('',$contenu)); if (strlen($contenu) <= 75) return array(false, false); // Correction typo dans la langue demandee changer_typo($lang_aide); return '<body>' . justifier("<div>$contenu</div>") . '</body>'; }
function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_forum, $i, $retour, $arg, $script, $argscript) { global $spip_lang_right, $spip_display; static $voir_logo = array(); // pour ne calculer qu'une fois if (is_array($voir_logo)) { $voir_logo = (($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non") ? "position: absolute; $spip_lang_right: 0px; margin: 0px; margin-top: -3px; margin-$spip_lang_right: 0px;" : ''); } $id_forum=$row['id_forum']; $id_parent=$row['id_parent']; $id_rubrique=$row['id_rubrique']; $id_article=$row['id_article']; $id_breve=$row['id_breve']; $id_message=$row['id_message']; $id_syndic=$row['id_syndic']; $id_auteur=$row["id_auteur"]; $titre=$row['titre']; $texte=$row['texte']; $nom_site=$row['nom_site']; $url_site=$row['url_site']; $statut=$row['statut']; $ip=$row["ip"]; $h = (!$id_article ? '' : generer_url_entite($id_article, 'article')) . "#forum$id_forum"; $titre_boite = "<a href='$h' id='forum$id_forum'>" . typo($titre) . '</a>'; if ($spip_display == 4) { $res = $titre_boite ."<br id='id$id_forum' />"; } else { if ($id_auteur AND $voir_logo) { $chercher_logo = charger_fonction('chercher_logo', 'inc'); if ($logo = $chercher_logo($id_auteur, 'id_auteur', 'on')) { list($fid, $dir, $nom, $format) = $logo; include_spip('inc/filtres_images_mini'); $logo = image_reduire("<img src='$fid' alt='' />", 48, 48); if ($logo) $titre_boite = "\n<div style='$voir_logo'>$logo</div>$titre_boite" ; } } $res = "<tr id='id$id_forum'>" . afficher_forum_4($compteur_forum, $nb_forum, $i) . "\n<td style='width: 100%' valign='top'>" . (($compteur_forum == 1) ? debut_cadre_forum(forum_logo($statut), true, "", $titre_boite) : debut_cadre_thread_forum("", true, "", $titre_boite)); } // Si refuse, cadre rouge if ($statut=="off") { $style =" style='border: 2px dashed red; padding: 5px;'"; } // Si propose, cadre jaune else if ($statut=="prop") { $style = " style='border: 1px solid yellow; padding: 5px;'"; } // Si original, cadre vert else if ($statut=="original") { $style = " style='border: 1px solid green; padding: 5px;'"; } else $style = ''; $mots = afficher_forum_mots($id_forum); $res .= "<table$style width='100%' cellpadding='5' cellspacing='0'>\n<tr><td>" . afficher_forum_auteur($row) . (!$controle_id_article ? '' : boutons_controle_forum($id_forum, $statut, $id_auteur, "id_article=$id_article", $ip, $script, $argscript)) . "<div style='font-weight: normal;'>" . safehtml(justifier(propre($texte))) . "</div>\n" . (!$nom_site ? '' : ((strlen($url_site) > 10) ? "\n<div style='text-align: left' class='verdana2'><b><a href='$url_site'>$nom_site</a></b></div>" : "<b>$nom_site</b>")) . ($controle_id_article ? '' : repondre_forum($row, $titre, $statut, "$retour?$arg", _T('lien_repondre_message'))) . $mots . "</td></tr></table>"; if ($spip_display == 4) return "\n<li>$res</li>\n"; if ($compteur_forum == 1) $res .= fin_cadre_forum(true); else $res .= fin_cadre_thread_forum(true); $res .= "</td></tr>"; return "<table width='100%' cellpadding='0' cellspacing='0' border='0'>$res</table>\n"; }
function exec_mots_edit_args($id_mot, $id_groupe, $new, $table='', $table_id='', $titre='', $redirect='', $ajouter_id_article='') { global $spip_lang_right, $connect_statut, $les_notes; $autoriser_editer = $editer = false; if ($new=='oui') $autoriser_editer = true; if (($new=='oui') OR $autoriser_editer) $editer = true; $ok = false; $row = sql_fetsel("*", "spip_mots", "id_mot=$id_mot"); if ($row) { $id_mot = $row['id_mot']; $titre_mot = $row['titre']; $descriptif = $row['descriptif']; $texte = $row['texte']; $extra = $row['extra']; $id_groupe = $row['id_groupe']; $onfocus =''; $autoriser_editer = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); if (!_request('edit')) $editer = false; else $editer = $autoriser_editer; $ok = true; } else { $row = sql_countsel('spip_groupes_mots', ($table ? "tables_liees REGEXP '(^|,)$table($|,)'" : '') //($table ? "$table='oui'" : '') ); if (!$new OR !autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)) OR (!$row AND !$table)) { include_spip('inc/minipres'); echo minipres(_T('info_mot_sans_groupe')); } else { $id_mot = 0; $descriptif = $texte = ''; if (!$row) { // cas pathologique: // creation d'un mot sans groupe de mots cree auparavant // (ne devrait arriver qu'en cas d'appel explicite ou // destruction concomittante des groupes de mots idoines) if ($redirect) $redirect = '&redirect=' . $redirect; if ($titre) $titre = "&titre=".rawurlencode($titre); include_spip('inc/headers'); redirige_par_entete(redirige_action_auteur('instituer_groupe_mots', $table, 'mots_edit', "new=$new&table=$table&table_id=$table_id&ajouter_id_article=$ajouter_id_article$titre$redirect", true)); } $ok = true; } } if ($ok) { pipeline('exec_init',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); $out = $commencer_page("« ".sinon($titre_mot,_T('texte_nouveau_mot'))." »", "naviguer", "mots") . debut_gauche('',true); ////////////////////////////////////////////////////// // Boite "voir en ligne" // if ($id_mot) { $out .= debut_boite_info(true); $out .= "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" . _T('titre_gauche_mots_edit') . "<br /><span class='spip_xx-large'>" . $id_mot . '</span></div>'; $out .= voir_en_ligne ('mot', $id_mot, false, 'racine-24.gif', false, false); $out .= fin_boite_info(true); // Logos du mot-clef $flag_editable = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); $iconifier = charger_fonction('iconifier', 'inc'); $out .= $iconifier('id_mot', $id_mot, 'mots_edit', false, $flag_editable); } else $flag_editable = false; // // Afficher les boutons de creation // $res =''; if ($id_groupe AND autoriser('modifier','groupemots',$id_groupe)) { $res = icone_horizontale(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), "groupe-mot-24.gif", "edit.gif", false) . icone_horizontale(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit", "new=oui&id_groupe=$id_groupe&redirect=" . generer_url_retour('mots_tous')), "mot-cle-24.gif", "creer.gif", false); } $out .= pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . bloc_des_raccourcis($res . icone_horizontale(_T('icone_voir_tous_mots_cles'), generer_url_ecrire("mots_tous",""), "mot-cle-24.gif", "rien.gif", false)) . creer_colonne_droite('',true) . pipeline('affiche_droite',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . debut_droite('',true); // --- Voir le mot ---- $out .= debut_cadre_relief("mot-cle-24.gif",true,'','','mot-voir',$editer?'none':''); if ($flag_editable) $out .= icone_inline(_T('icone_modifier_mot'), generer_url_ecrire('mots_edit',"id_mot=$id_mot&edit=oui"), "mot-cle-24.gif", "rien.gif",$spip_lang_right,false," onclick=\"$('#mot-editer').show();$('#mot-voir').hide();return false;\""); $out .= gros_titre(sinon($titre_mot,_T('texte_nouveau_mot')),'',false); $out .= "<div class='nettoyeur'></div>"; $contenu_mot = ""; if ($descriptif) { $contenu_mot .= "<div style='border: 1px dashed #aaaaaa; ' class='verdana1 spip_small'>" . "<b>" . _T('info_descriptif') . "</b> " . propre($descriptif) . " " . "</div>"; } if (strlen($texte)>0){ $contenu_mot .= "<p class='verdana1 spip_small'>" . propre($texte) . "</p>"; } if ($les_notes) { $contenu_mot .= debut_cadre_relief('',true) . "<div dir='" . lang_dir() ."' class='arial11'>" . justifier("<b>"._T('info_notes')." :</b> ".$les_notes) . "</div>" . fin_cadre_relief(true); } $contexte = array('id'=>$id_mot); // permettre aux plugin de faire des modifs ou des ajouts $contenu_mot = pipeline('afficher_contenu_objet', array( 'args'=>array( 'type'=>'mot', 'id_objet'=>$id_mot, 'contexte'=>$contexte ), 'data'=> $contenu_mot ) ); $out .= $contenu_mot; if ($id_mot) { if ($connect_statut == "0minirezo") $aff_articles = "'prepa','prop','publie','refuse'"; else $aff_articles = "'prop','publie'"; $out .= afficher_objets('rubrique','<b>' . _T('info_rubriques_liees_mot') . '</b>', array("FROM" => 'spip_rubriques AS rubrique LEFT JOIN spip_mots_rubriques AS lien ON lien.id_rubrique=rubrique.id_rubrique', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "rubrique.titre")); $out .= afficher_objets('article',_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles LEFT JOIN spip_mots_articles AS lien ON lien.id_article=articles.id_article", 'WHERE' => "lien.id_mot=$id_mot AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC")); $out .= afficher_objets('breve','<b>' . _T('info_breves_liees_mot') . '</b>', array("FROM" => 'spip_breves AS breves LEFT JOIN spip_mots_breves AS lien ON lien.id_breve=breves.id_breve', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "breves.date_heure DESC")); $out .= afficher_objets('site','<b>' . _T('info_sites_lies_mot') . '</b>', array("FROM" => 'spip_syndic AS syndic LEFT JOIN spip_mots_syndic AS lien ON lien.id_syndic=syndic.id_syndic', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "syndic.nom_site DESC")); } $out .= pipeline('affiche_milieu',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . fin_cadre_relief(true); // --- Editer le mot ---- if ($autoriser_editer){ $out .= "<div id='mot-editer'".($editer?"":" class='none'").'>'; $contexte = array( 'icone_retour'=>icone_inline(_T('icone_retour'),($editer AND $redirect)?rawurldecode($redirect): generer_url_ecrire('mots_edit','id_mot='.$id_mot,false,true), "mot-cle-24.gif", "rien.gif",$GLOBALS['spip_lang_left'],false,($editer AND $redirect)?"":" onclick=\"$('#mot-editer').hide();$('#mot-voir').show();return false;\""), 'redirect'=>$redirect?rawurldecode($redirect):generer_url_ecrire('mots_edit','id_mot='.$id_mot,'&',true), 'titre'=>sinon($titre_mot,$titre), 'new'=>$new == "oui"?$new:$id_mot, 'id_groupe'=>$id_groupe, 'config_fonc'=>'mots_edit_config', 'ajouter_id_article' => $ajouter_id_article, 'table'=>$table, 'table_id'=>$table_id ); $out .= recuperer_fond("prive/editer/mot", $contexte); $out .= '</div>'; } echo $out, fin_gauche(), fin_page(); } }
function forum_envoi_parent($row) { $titre = typo($row['titre']); $texte = $row['texte']; $auteur = $row['auteur']; $id_auteur = $row['id_auteur']; $date_heure = $row['date_heure']; $nom_site = $row['nom_site']; $url_site = $row['url_site']; $parent = debut_cadre_forum("forum-interne-24.gif", true, "", $titre) . "<span class='arial2'>$date_heure</span> "; if ($id_auteur) { $formater_auteur = charger_fonction('formater_auteur', 'inc'); list($s, $mail, $nom, $w, $p) = $formater_auteur($id_auteur); $parent .="$mail $nom"; } else $parent .=" " . typo($auteur); $parent .= justifier(propre($texte)); if (strlen($url_site) > 10 AND $nom_site) { $parent .="<p style='text-align: left; font-weight: bold;' class='verdana1'><a href='$url_site'>$nom_site</a></p>"; } $parent .= fin_cadre_forum(true); $row['texte'] = $parent; return $row; }
function http_affiche_message($id_message, $expediteur, $statut, $type, $texte, $titre, $rv, $date_heure, $date_fin, $cherche_auteur, $forcer_dest) { global $connect_id_auteur,$connect_statut, $les_notes; if ($type == 'normal') { $le_type = _T('info_message_2').aide ("messut"); $la_couleur = "#02531b"; $fond = "#cffede"; } else if ($type == 'pb') { $le_type = _T('info_pense_bete').aide ("messpense"); $la_couleur = "#3874b0"; $fond = "#edf3fe"; } else if ($type == 'affich') { $le_type = _T('info_annonce'); $la_couleur = "#ccaa00"; $fond = "#ffffee"; } // affichage des caracteristiques du message echo "<div style='border: 1px solid $la_couleur; background-color: $fond; padding: 5px;'>"; // debut cadre de couleur //echo debut_cadre_relief("messagerie-24.gif", true); echo "\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>"; echo "<tr><td>"; # uniques echo "<span style='color: $la_couleur' class='verdana1 spip_small'><b>$le_type</b></span><br />"; echo "<span class='verdana1 spip_large'><b>$titre</b></span>"; if ($statut == 'redac') { echo "<br /><span style='color: red;' class='verdana1 spip_small'><b>"._T('info_redaction_en_cours')."</b></span>"; } else if ($rv == 'non') { echo "<br /><span style='color: #666666;' class='verdana1 spip_small'><b>".nom_jour($date_heure).' '.affdate_heure($date_heure)."</b></span>"; } ////////////////////////////////////////////////////// // Message avec participants // if ($type == 'normal') $total_dest = http_message_avec_participants($id_message, $statut, $forcer_dest, $cherche_auteur, $expediteur); if ($rv != "non") http_afficher_rendez_vous($date_heure, $date_fin); ////////////////////////////////////////////////////// // Le message lui-meme // echo "\n<br />" . "<div class='serif'>$texte</div>"; if ($les_notes) { echo debut_cadre_relief('', true); echo "<div dir=" . lang_dir() ."' class='arial11'>"; echo justifier("<b>"._T('info_notes')." :</b> ".$les_notes); echo "</div>"; echo fin_cadre_relief(true); } if ($expediteur == $connect_id_auteur AND $statut == 'redac') { if ($type == 'normal' AND $total_dest < 2) { echo "<p style='color: #666666; text-align: right;' class='verdana1 spip_small'><b>"._T('avis_destinataire_obligatoire')."</b></p>"; } else { echo "\n<div class='centered'>"; echo icone_inline(_T('icone_envoyer_message'), redirige_action_auteur('editer_message', "$id_message/publie", "message","id_message=$id_message"), "messagerie-24.gif", "creer.gif"); echo "</div>"; } } echo "</td></tr></table>\n"; // echo "</td></tr></table>\n"; //echo fin_cadre_relief(true); echo "</div>"; // fin du cadre de couleur // Les boutons $aut = ($expediteur == $connect_id_auteur); $aff = ($type == 'affich' AND $connect_statut == '0minirezo'); echo "\n<table width='100%'><tr><td>"; // bouton de suppression if ($aut AND ($statut == 'redac' OR $type == 'pb') OR $aff) { echo icone_inline(_T('icone_supprimer_message'), redirige_action_auteur("editer_message","-$id_message", 'messagerie'), "messagerie-24.gif", "supprimer.gif", 'left'); } // bouton retrait de la discussion if ($statut == 'publie' AND $type == 'normal') { echo icone_inline(_T('icone_arret_discussion'), redirige_action_auteur("editer_message","$id_message/-$connect_id_auteur", 'messagerie', "id_message=$id_message"), "messagerie-24.gif", "supprimer.gif", 'left'); } // bouton modifier ce message if ($aut OR $aff) { echo icone_inline(_T('icone_modifier_message'), (generer_url_ecrire("message_edit","id_message=$id_message")), "messagerie-24.gif", "edit.gif", 'right'); } echo "</td></tr></table>"; }
function controle_forum_boucle($row, $args) { $id_forum = $row['id_forum']; $forum_id_parent = $row['id_parent']; $forum_id_rubrique = $row['id_rubrique']; $forum_id_article = $row['id_article']; $forum_id_breve = $row['id_breve']; $forum_date_heure = $row['date_heure']; $forum_titre = echapper_tags($row['titre']); $forum_texte = $row['texte']; $forum_auteur = echapper_tags(extraire_multi($row['auteur'])); $forum_email_auteur = echapper_tags($row['email_auteur']); $forum_nom_site = echapper_tags($row['nom_site']); $forum_url_site = echapper_tags($row['url_site']); $forum_stat = $row['statut']; $forum_ip = $row['ip']; $forum_id_auteur = $row["id_auteur"]; $r = forum_parent($id_forum); $avant = $r['avant']; $url = $r['url']; $titre = $r['titre']; $type = $r['type']; $valeur = $r['valeur']; $pref = $r['pref']; if ($documents = sql_allfetsel('doc.id_document, doc.fichier AS fichier', 'spip_documents AS doc LEFT JOIN spip_documents_liens AS lien ON doc.id_document=lien.id_document', 'lien.id_objet='.intval($id_forum)." AND objet='forum'")) { include_spip('inc/documents'); foreach ($documents as $k => $t) { $h = generer_url_entite($t['id_document'], 'document'); $documents[$k] = "<a href='".$h."'>".basename($t['fichier'])."</a>"; } } switch($forum_stat) { case 'off': case 'privoff': $style = " style='border: 2px #ff0000 dashed;'"; break; case 'prop': $style = " style='border: 2px yellow solid; background-color: white;'"; break; case 'spam': $style = " style='border: 2px black dotted;'"; break; default: $style = ""; break; } if ($forum_email_auteur) { if (email_valide($forum_email_auteur)) $forum_email_auteur = "<a href='mailto:" .htmlspecialchars($forum_email_auteur) ."?subject=".rawurlencode($forum_titre)."'>".$forum_email_auteur ."</a>"; $forum_auteur .= " — $forum_email_auteur"; } $suite = "\n<br />$avant<b>$pref\n<a href='$url' class='controle'>$titre</a></b>" . "<div class='controle'>".justifier(propre($forum_texte))."</div>"; include_spip('public/composer'); if ($forum_notes = safehtml(calculer_notes())) $suite .= "<div class='notes controle'>".justifier(safehtml($forum_notes))."</div>"; if (strlen($forum_url_site) > 10 AND strlen($forum_nom_site) >= 3) $suite .= "\n<div style='text-align: left' class='serif'><b><a href='$forum_url_site'>$forum_nom_site</a></b></div>"; return "\n<div><br /><a id='forum$id_forum'></a></div>" . debut_cadre_forum("", true, "", typo($forum_titre)) . "<div$style>" . date_interface($forum_date_heure) . safehtml("<span class='arial2'> / <b>$forum_auteur</b></span>") . boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur, "$type=$valeur", $forum_ip, 'controle_forum', $args) . safehtml(lignes_longues($suite)) . afficher_forum_mots($id_forum) . join(', ', $documents) . "<div class='nettoyeur'></div></div>". fin_cadre_forum(true); }