"Primer",2=>"Segundo",3=>"Tercer",4=>"Cuarto"); /*$LDNoFrame='Este website utiliza marcos para el funcionamiento óptimo. Por favor instale un navegador apropiado. Recomendamos Microsoft Internet Explorer versión 5.0 ó superior. Active Javascript (JScript) así como la recepción automática de la cookie.'; */ $LDNoFrame='Este website utiliza marcos para el funcionamiento óptimo. Por favor instale un navegador apropiado. Active Javascript (JScript) así como la recepción automática de la cookie.'; // Removed the MSIE ref. 2003-04-25 Elpidio $LDClk2Write="Dé clic para editar"; $LDAlertOldBrowser="La versión de su navegador ¡no es totalmente compatible con este Sistema! Le recomendamos actualizar a una versión superior.
El uso de versiones inferiores puede conducir a falta de fiabilidad funcional del sistema."; $LDAlertNoCookie="Puede que usted, o su navegador haya rechazado la(s) cookie(s).
Este programa requiere de cookies para funcionar apropiadamente. Si no el programa no funciona correctamente,
por favor configure su navegador para que las acepte automáticamente
"; $LDClkAfter="Después dé clíc aquí."; $LDGoAheadEgal="Dé clic aquí para empezar el programa."; $LDGoAheadEgalCookie="No deseo aceptar las cookies. Inicie el programa de todos modos."; $LDCookieRef="Si usted desea saber más sobre las cookies, puede leer los documentos siguientes:
A few words about Cookies (Security and the lies)
Cookies and Privacy FAQ
"; $LDPrivPolicy="Si desea leer nuestra política de privacidad por favor dé clic aquí:"; $LDOurPrivPolicy="política de privacidad"; $LDSubmitNews="Enviar noticia"; $LDEditNews="Editar y enviar noticia con el editor en línea"; /* 2002-10-17 EL */ $LDCredits='Créditos'; /* 2003-05-24 EL */ $LDPublicItems='Temas públicos'; # 2003-08-28 EL $LDHeadline='Titulares'; ?> ($retour_forum = rawurldecode(_request('retour'))) $retour_forum = str_replace('&var_mode=recalcul','',$retour_forum); else { // par defaut, on veut prendre url_forum(), mais elle ne sera connue // qu'en sortie, on inscrit donc une valeur absurde ("!") $retour_forum = "!"; } if (isset($_COOKIE['spip_forum_user']) AND is_array($cookie_user = unserialize($_COOKIE['spip_forum_user']))) { $auteur = $cookie_user['nom']; $email_auteur = $cookie_user['email']; } else { $auteur = $GLOBALS['auteur_session']['nom']; $email_auteur = $GLOBALS['auteur_session']['email']; } } else { // Recuperer le message a previsualiser $titre = _request('titre'); $texte = _request('texte'); $auteur = _request('auteur'); $email_auteur = _request('email_auteur'); $nom_site_forum = _request('nom_site_forum'); $url_site = _request('url_site'); $ajouter_mot = _request('ajouter_mot'); // array // // Preparer la previsualisation // if ($afficher_texte != 'non') { // Verifier mots associes au message if (is_array($ajouter_mot)) $mots = preg_replace('/[^0-9,]/', '', join(',',$ajouter_mot)); else $mots = '0'; // affichage {par num type, type, num titre,titre} $result_mots = spip_query("SELECT id_mot, titre, type FROM spip_mots WHERE id_mot IN ($mots) ORDER BY 0+type,type,0+titre,titre"); if (spip_num_rows($result_mots)>0) { $mots_forums = "

"._T('forum_avez_selectionne')."

'; } if (strlen($texte) < 10 AND !$presence_mots) $erreur = _T('forum_attention_dix_caracteres'); else if (strlen($titre) < 3 AND $afficher_texte <> "non") $erreur = _T('forum_attention_trois_caracteres'); else $bouton = _T('forum_message_definitif'); $previsu = inclure_balise_dynamique( array( 'formulaire_forum_previsu', 0, array( 'titre' => interdire_scripts(typo($titre)), 'email_auteur' => $email_auteur, 'auteur' => interdire_scripts(typo($auteur)), 'texte' => propre($texte), 'url_site' => $url_site, 'nom_site_forum' => interdire_scripts(typo($nom_site_forum)), 'mots_forum' => $mots_forum, 'erreur' => $erreur, 'bouton' => $bouton ) ), false); // supprimer les
de la previsualisation // (sinon on ne peut pas faire ... dans les forums) $previsu = preg_replace("@<(/?)f(orm[>[:space:]])@ism", "<\\1no-f\\2", $previsu); } // Une securite qui nous protege contre : // - les doubles validations de forums (derapages humains ou des brouteurs) // - les abus visant a mettre des forums malgre nous sur un article (??) // On installe un fichier temporaire dans _DIR_SESSIONS (et pas _DIR_CACHE // afin de ne pas bugguer quand on vide le cache) // Le lock est leve au moment de l'insertion en base (inc-messforum.php3) $alea = preg_replace('/[^0-9]/', '', $alea); if(!$alea OR !@file_exists(_DIR_SESSIONS."forum_$alea.lck")) { while ( # astuce : mt_rand pour autoriser les hits simultanes $alea = time() + @mt_rand() AND @file_exists($f = _DIR_SESSIONS."forum_$alea.lck")) {}; spip_touch ($f); } # et maintenant on purge les locks de forums ouverts depuis > 4 h if ($dh = @opendir(_DIR_SESSIONS)) while (($file = @readdir($dh)) !== false) if (preg_match('/^forum_([0-9]+)\.lck$/', $file) AND (time()-@filemtime(_DIR_SESSIONS.$file) > 4*3600)) @unlink(_DIR_SESSIONS.$file); $hash = calculer_action_auteur("ajout_forum $id_rubrique $id_forum $id_article $id_breve $id_syndic $alea"); } // Faut-il ajouter des propositions de mots-cles if ($table AND (lire_meta("mots_cles_forums") == "oui")) $table = table_des_mots($table, $les_mots); else $table = ''; // preparer les parametres du forum en input hidden $parametres_forum = ''; foreach (array('alea', 'hash', 'retour_forum') as $var) if ($val = entites_html($$var)) $parametres_forum .= "\n"; foreach (array( 'id_article', 'id_breve', 'id_syndic', 'id_rubrique', 'id_forum') as $var) if ($val = $$var) $parametres_forum .= "\n"; return array('formulaire_forum', 0, array( 'auteur' => $auteur, 'disabled' => ($forums_publics == "abo")? " disabled='disabled'" : '', 'email_auteur' => $email_auteur, 'modere' => (($forums_publics != 'pri') ? '' : _T('forum_info_modere')), 'nom_site_forum' => $nom_site_forum, 'previsu' => $previsu, 'table' => $table, 'texte' => $texte, 'titre' => $titre, 'url' => $url, 'url_site' => ($url_site ? $url_site : "http://"), 'parametres_forum' => $parametres_forum, ## gestion des la variable de personnalisation $afficher_texte # mode normal : afficher le texte en < input text >, cf. squelette 'afficher_texte_input' => (($afficher_texte <> 'non') ? ' ' : ''), # mode 'non' : afficher les elements en < input hidden > 'afficher_texte_hidden' => (($afficher_texte <> 'non') ? '' : (boutonne('hidden', 'titre', htmlspecialchars($titre)) . $table . "\n
" . boutonne('submit', '', _T('forum_valider'), "class='spip_bouton'") . "
")) )); } function barre_forum($texte) { include_ecrire('inc_layer.php3'); if (!$GLOBALS['browser_barre']) return ""; static $num_formulaire = 0; $num_formulaire++; include_ecrire('inc_barre.php3'); return afficher_barre("document.getElementById('formulaire_$num_formulaire')", true) . " "; } // Mots-cles dans les forums : // Si la variable de personnalisation $afficher_groupe[] est definie // dans le fichier d'appel, et si la table de reference est OK, proposer // la liste des mots-cles function table_des_mots($table, $les_mots) { global $afficher_groupe; if ($afficher_groupe) $in_group = " AND id_groupe IN (" . join($afficher_groupe, ", ") .")"; $result_groupe = spip_query("SELECT * FROM spip_groupes_mots WHERE 6forum = 'oui' AND $table = 'oui'". $in_group); $ret = ''; while ($row_groupe = spip_fetch_array($result_groupe)) { $id_groupe = $row_groupe['id_groupe']; $titre_groupe = propre($row_groupe['titre']); $unseul = ($row_groupe['unseul']== 'oui') ? 'radio' : 'checkbox'; $result =spip_query("SELECT * FROM spip_mots WHERE id_groupe='$id_groupe'"); $total_rows = spip_num_rows($result); if ($total_rows > 0) { $ret .= "\n

" . "

" . "$titre_groupe :" . "\n" ."
"; $i = 0; while ($row = spip_fetch_array($result)) { $id_mot = $row['id_mot']; $titre_mot = propre($row['titre']); $descriptif_mot = propre($row['descriptif']); if ($i >= ($total_rows/2) AND $i < $total_rows) { $i = $total_rows + 1; $ret .= "  "; } $ret .= boutonne($unseul, "ajouter_mot[]", $id_mot, "id='mot$id_mot' " . $les_mots[$id_mot]) . afficher_petits_logos_mots($id_mot) . "
"; if ($descriptif_mot) $ret .= "$descriptif_mot
"; $i++; } $ret .= "
"; $ret .= "
"; } } return $ret; } function afficher_petits_logos_mots($id_mot) { include_ecrire('inc_logos.php3'); $on = cherche_image_nommee("moton$id_mot"); if ($on) { $image = ("$on[0]$on[1].$on[2]"); $taille = @getimagesize($image); $largeur = $taille[0]; $hauteur = $taille[1]; if ($largeur < 100 AND $hauteur < 100) return " "; } } /*******************************************************/ /* FONCTIONS DE CALCUL DES DONNEES DU FORMULAIRE FORUM */ /*******************************************************/ // // Chercher le titre et la configuration du forum de l'element auquel on repond // function sql_recherche_donnees_forum ($idr, $idf, $ida, $idb, $ids) { // changer la table de reference s'il y a lieu (pour afficher_groupes[] !!) if ($ida) { $r = "SELECT titre FROM spip_articles WHERE id_article = $ida"; $table = "articles"; } else if ($idb) { $r = "SELECT titre FROM spip_breves WHERE id_breve = $idb"; $table = "breves"; } else if ($ids) { $r = "SELECT nom_site AS titre FROM spip_syndic WHERE id_syndic = $ids"; $table = "syndic"; } else if ($idr) { $r = "SELECT titre FROM spip_rubriques WHERE id_rubrique = $idr"; $table = "rubriques"; } if ($idf) $r = "SELECT titre FROM spip_forum WHERE id_forum = $idf"; if ($r) { list($titre) = spip_fetch_array(spip_query($r)); $titre = '> ' . supprimer_numero(preg_replace('/^[> ]*/', '', $titre)); } else { $titre = _T('forum_titre_erreur'); $table = ''; } // quelle est la configuration du forum ? if ($ida) list($accepter_forum) = spip_fetch_array(spip_query( "SELECT accepter_forum FROM spip_articles WHERE id_article=$ida")); if (!$accepter_forum) $accepter_forum = substr(lire_meta("forums_publics"),0,3); // valeurs possibles : 'pos'teriori, 'pri'ori, 'abo'nnement if ($accepter_forum == "non") return false; return array ($titre, $table, $accepter_forum); } ?>