本文整理汇总了PHP中filtrer_entites函数的典型用法代码示例。如果您正苦于以下问题:PHP filtrer_entites函数的具体用法?PHP filtrer_entites怎么用?PHP filtrer_entites使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了filtrer_entites函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: nettoyer_caracteres_mail
/**
* Utiliser le bon encodage de caractères selon le charset
*
* Caractères pris en compte : apostrophe, double guillemet,
* le tiret cadratin, le tiret demi-cadratin
*
* @uses filtrer_entites()
*
* @param string $t
* @return string
*/
function nettoyer_caracteres_mail($t)
{
$t = filtrer_entites($t);
if ($GLOBALS['meta']['charset'] != 'utf-8') {
$t = str_replace(array('’', '“', '”'), array("'", '"', '"'), $t);
}
$t = str_replace(array('—', '&endash;'), array('--', '-'), $t);
return $t;
}
示例2: exec_mots_type_dist
function exec_mots_type_dist()
{
$id_groupe= intval(_request('id_groupe'));
if (!$id_groupe) {
$type = $titre = filtrer_entites(_T('titre_nouveau_groupe'));
$row = array();
} else {
$row = sql_fetsel("id_groupe,titre", "spip_groupes_mots", "id_groupe=$id_groupe");
if ($row) {
$id_groupe = $row['id_groupe'];
$type = $row['titre'];
$titre = typo($type);
}
}
if (($id_groupe AND !$row) OR
!autoriser($id_groupe?'modifier' : 'creer', 'groupemots', $id_groupe)) {
include_spip('inc/minipres');
echo minipres();
} else {
pipeline('exec_init',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>''));
$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page("« $titre »", "naviguer", "mots");
echo debut_gauche('', true);
echo pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>''));
echo creer_colonne_droite('', true);
echo pipeline('affiche_droite',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>''));
echo debut_droite('', true);
$contexte = array(
'icone_retour'=>icone_inline(_T('icone_retour'), generer_url_ecrire("mots_tous") . "#mots_tous-$id_groupe", "groupe-mot-24.gif", "rien.gif",$GLOBALS['spip_lang_left']),
'titre'=>$type,
'redirect'=>generer_url_ecrire("mots_tous",""),
'new'=>_request('new') == "oui"?"oui":$id_groupe,
'config_fonc'=>'groupes_mots_edit_config',
);
echo recuperer_fond("prive/editer/groupe_mot", $contexte);
echo pipeline('affiche_milieu',
array('args' => array(
'exec' => 'mots_type',
'id_groupe' => $id_groupe
),
'data'=>'')
),
fin_gauche(),
fin_page();
}
}
示例3: svp_ajouter_depot
/**
* Ajout d'un dépot et de son contenu (paquets, plugins) dans la base de données
*
* Si une erreur survient (syntaxe XML incorrecte, pas de plugin dans le dépot),
* son texte est placé dans le paramètre $erreur
*
* @param string $url
* URL du fichier XML de description du dépot
* @param string $erreur
* Texte d'un éventuel message d'erreur
* @return bool
* true si le dépot est ajouté correctement, false sinon
*/
function svp_ajouter_depot($url, &$erreur = '')
{
include_spip('inc/distant');
// On considere que l'url a deja ete validee (correcte et nouveau depot)
$url = trim($url);
// Ajout du depot dans la table spip_depots. Les compteurs de paquets et de plugins
// sont mis a jour apres le traitement des paquets
// on recupère le XML
$fichier_xml = copie_locale($url, 'modif');
if (!$fichier_xml) {
$erreur = _T('svp:message_nok_xml_non_recupere', array('fichier' => $url));
return false;
}
$fichier_xml = _DIR_RACINE . $fichier_xml;
// Lire les donnees d'un depot de paquets
$infos = svp_phraser_depot($fichier_xml);
if (!$infos) {
$erreur = _T('svp:message_nok_xml_non_conforme', array('fichier' => $url));
return false;
}
$titre = filtrer_entites($infos['depot']['titre']);
$champs = array('titre' => $titre, 'descriptif' => filtrer_entites($infos['depot']['descriptif']), 'type' => $infos['depot']['type'], 'url_serveur' => $infos['depot']['url_serveur'], 'url_brouteur' => $infos['depot']['url_brouteur'], 'url_archives' => $infos['depot']['url_archives'], 'url_commits' => $infos['depot']['url_commits'], 'xml_paquets' => $url, 'sha_paquets' => sha1_file($fichier_xml), 'nbr_paquets' => 0, 'nbr_plugins' => 0, 'nbr_autres' => 0);
// verifier avant l'insertion que le depot n'existe pas deja
// car la recuperation pouvant etre longue on risque le probleme en cas de concurrence
if (sql_countsel('spip_depots', 'xml_paquets=' . sql_quote($url))) {
$erreur = _T('svp:message_nok_depot_deja_ajoute', array('url' => $url));
return false;
} elseif (!($id_depot = sql_insertq('spip_depots', $champs))) {
$erreur = _T('svp:message_nok_sql_insert_depot', array('objet' => "{$titre} ({$url})"));
return false;
}
// Ajout des paquets dans spip_paquets et actualisation des plugins dans spip_plugins
$ok = svp_actualiser_paquets($id_depot, $infos['paquets'], $nb_paquets, $nb_plugins, $nb_autres);
if (!$ok or $nb_paquets == 0) {
// Si une erreur s'est produite, on supprime le depot deja insere
sql_delete('spip_depots', 'id_depot=' . sql_quote($id_depot));
if (!$ok) {
$erreur = _T('svp:message_nok_xml_non_conforme', array('fichier' => $url));
} else {
$erreur = _T('svp:message_nok_aucun_paquet_ajoute', array('url' => $url));
}
return false;
}
// On met à jour le nombre de paquets et de plugins du depot maintenant !
sql_updateq('spip_depots', array('nbr_paquets' => $nb_paquets, 'nbr_plugins' => $nb_plugins, 'nbr_autres' => $nb_autres), 'id_depot=' . sql_quote($id_depot));
// On vide les paquets locaux pour mettre a jour leurs donnees relatives au depot
// comme les mises a jour disponibles
include_spip('inc/svp_depoter_local');
svp_actualiser_paquets_locaux(true);
return true;
}
示例4: send_email
function send_email($email, $subject, $texte, $from = "", $headers = "")
{
global $hebergeur, $queue_mails, $flag_wordwrap, $os_serveur;
include_lcm('inc_filters');
if (!$from) {
$email_envoi = read_meta("email_sender");
$from = is_valid_email($email_envoi) ? $email_envoi : $email;
}
if (!is_valid_email($email)) {
return false;
}
lcm_debug("mail ({$email}): {$subject}");
$charset = read_meta('charset');
$headers = "From: {$from}\n" . "MIME-Version: 1.0\n" . "Content-Type: text/plain; charset={$charset}\n" . "Content-Transfer-Encoding: 8bit\n{$headers}";
$texte = filtrer_entites($texte);
$subject = filtrer_entites($subject);
// fignoler ce qui peut l'etre...
if ($charset != 'utf-8') {
$texte = str_replace("’", "'", $texte);
$subject = str_replace("’", "'", $subject);
}
// encoder le sujet si possible selon la RFC
if ($GLOBALS['flag_multibyte'] and @mb_internal_encoding($charset)) {
$subject = mb_encode_mimeheader($subject, $charset, 'Q');
}
if ($flag_wordwrap) {
$texte = wordwrap($texte);
}
if ($os_serveur == 'windows') {
$texte = preg_replace("/\r*\n/", "\r\n", $texte);
$headers = preg_replace("/\r*\n/", "\r\n", $headers);
}
switch ($hebergeur) {
case 'lycos':
$queue_mails[] = array('email' => $email, 'sujet' => $subject, 'texte' => $texte, 'headers' => $headers);
return true;
case 'free':
return false;
case 'online':
if (!($ret = @email('webmaster', $email, $subject, $texte))) {
lcm_log("ERROR mail: (online) returned false");
}
return $ret;
default:
if (!($ret = @mail($email, $subject, $texte, $headers))) {
lcm_log("ERROR mail: (default) returned false");
}
return $ret;
}
}
示例5: breves_edit_ok
function breves_edit_ok($row, $id_breve, $id_rubrique, $new)
{
global $connect_statut, $spip_lang_right;
if ($new != 'oui') {
$id_breve=$row['id_breve'];
$titre=$row['titre'];
$statut=$row['statut'];
$id_rubrique=$row['id_rubrique'];
} else {
$titre = filtrer_entites(_T('titre_nouvelle_breve'));
$statut = "prop";
}
$commencer_page = charger_fonction('commencer_page', 'inc');
pipeline('exec_init',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
echo $commencer_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", $id_rubrique);
echo debut_grand_cadre(true);
echo afficher_hierarchie($id_rubrique);
echo fin_grand_cadre(true);
echo debut_gauche('', true);
if ($new != 'oui' AND ($connect_statut=="0minirezo" OR $statut=="prop")) {
# affichage sur le cote des images, en reperant les inserees
# note : traiter_modeles($texte, true) repere les doublons
# aussi efficacement que propre(), mais beaucoup plus rapidement
traiter_modeles("$titre$texte", true);
echo afficher_documents_colonne($id_breve, "breve");
}
echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
echo creer_colonne_droite('', true);
echo pipeline('affiche_droite',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
echo debut_droite('', true);
$contexte = array(
'icone_retour'=>$new=='oui'?'':icone_inline(_T('icone_retour'), generer_url_ecrire("breves_voir","id_breve=$id_breve"), "breve-24.gif", "rien.gif",$GLOBALS['spip_lang_left']),
'redirect'=>generer_url_ecrire("breves_voir"),
'titre'=>$titre,
'new'=>$new == "oui"?$new:$id_breve,
'id_rubrique'=>$id_rubrique,
'config_fonc'=>'breves_edit_config'
);
echo recuperer_fond("prive/editer/breve", $contexte);
echo fin_gauche(), fin_page();
}
示例6: onelettrebis
function onelettrebis($chaine) {
$chaine=sansle($chaine);
$chaine=filtrer_entites($chaine); // si il y a des fois des accents en dur qui trainent
$chaine = unicode2charset(utf_8_to_unicode($chaine), 'iso-8859-1'); // on code en html ISO
$a = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$b = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
$chaine=strtr($chaine, $a, $b); // on retire les accents
$chaine=strtoupper($chaine); // on passe en majuscules
/// si débute par le fameux Œ ou œ
$pattern = "^(Œ|œ)";
if (eregi($pattern,$chaine,$regs))
$chaine='O';//$chaine= $regs[0]; //on va renvoyer la lettre O
else
$chaine = $chaine{0};
return $chaine ;
}
示例7: nettoyer_caracteres_mail
function nettoyer_caracteres_mail($t) {
$t = filtrer_entites($t);
if ($GLOBALS['meta']['charset'] <> 'utf-8') {
$t = str_replace(
array("’","“","”"),
array("'", '"', '"'),
$t);
}
$t = str_replace(
array("—", "&endash;"),
array("--","-" ),
$t);
return $t;
}
示例8: spam_liste_mots
function spam_liste_mots($texte) {
include_spip('inc/filtres');
$texte = filtrer_entites(trim($texte));
$split = explode('"', $texte);
$c = count($split);
$split2 = array();
for($i=0; $i<$c; $i++) if (($s = trim($split[$i])) != ""){
if (($i & 1) && ($i != $c-1)) {
// on touche pas au texte entre deux ""
$split2[] = $s;
} else {
// on rassemble tous les separateurs : \s\t\n
$temp = preg_replace("/[\s\t\n\r]+/", "\t", $s);
$temp = str_replace("+"," ", $temp);
$split2 = array_merge($split2, explode("\t", $temp));
}
}
return array_unique($split2);
}
示例9: exec_spiplistes_liste_gerer
//.........这里部分代码省略.........
}
else if($id_liste > 0)
{
//////////////////////////////////////////////////////
// Modifier une liste
////
// les admins toutes rubriques et le moderateur seuls peuvent modifier la liste
$flag_editable = autoriser('moderer', 'liste', $id_liste);
if($flag_editable)
{
// Recupere les donnees de la liste courante pour optimiser l'update
$sql_select = "statut,titre,date,lang";
$sql_result = sql_select($sql_select, "spip_listes", "id_liste=".sql_quote($id_liste), "", "", "1");
if($row = sql_fetch($sql_result)) {
foreach(explode(",", $sql_select) as $key) {
$current_liste[$key] = $row[$key];
}
}
///////////////////////////////////
// Les modifications (sql_upadteq)
// A noter, ne pas preparer les valeurs par sql_quote()
// sql_upadteq() s'en occupe
$sql_champs = array();
// Retour de l'editeur ?
if($btn_liste_edit) {
$titre = corriger_caracteres($titre);
$texte = corriger_caracteres($texte);
if(empty($titre)) {
$titre = filtrer_entites(_T('spiplistes:Nouvelle_liste_de_diffusion'));
}
$sql_champs['titre'] = $titre;
$sql_champs['texte'] = $texte;
}
// Modifier le grand patron ?
// a partir de 2.0049, le patron de pied est construit par la meleuse
// afin de permettre _texte et multilingue
if($btn_grand_patron && $patron) {
$sql_champs['patron'] = $patron;
}
// Modifier patron de pied ?
if($btn_patron_pied && $patron) {
$sql_champs['pied_page'] = $patron;
}
// Modifier diffusion ?
if($btn_modifier_diffusion)
{
$current_statut = ($statut)
? $statut
: $current_liste['statut']
;
spiplistes_debug_log ('Modification diffusion statut: '.$current_statut);
// Modifier le statut ?
if(in_array($statut, explode(";", _SPIPLISTES_LISTES_STATUTS_TOUS))
&& ($statut != $current_liste['statut'])
) {
spiplistes_debug_log ('Modification statut: '.$statut);
示例10: precharger_traduction_objet
/**
* Récupère les valeurs d'une traduction de référence pour la création
* d'un objet (préremplissage du formulaire).
*
* @param string $type
* Type d'objet (article, breve...)
* @param string|int $id_objet
* Identifiant de l'objet, ou "new" pour une création
* @param int $id_rubrique
* Identifiant éventuel de la rubrique parente
* @param int $lier_trad
* Identifiant éventuel de la traduction de référence
* @param string $champ_titre
* Nom de la colonne SQL de l'objet donnant le titre
* @return array
* Couples clés / valeurs des champs du formulaire à charger
**/
function precharger_traduction_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre')
{
$table = table_objet_sql($type);
$_id_objet = id_table_objet($table);
// Recuperer les donnees de l'objet original
$row = sql_fetsel("*", $table, "{$_id_objet}={$lier_trad}");
if ($row) {
$row[$champ_titre] = filtrer_entites(_T('info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
} else {
$row = array();
}
// on met l'objet dans une rubrique si l'objet le peut
$desc = lister_tables_objets_sql($table);
$is_rubrique = isset($desc['field']['id_rubrique']);
if ($is_rubrique) {
if ($id_rubrique) {
$row['id_rubrique'] = $id_rubrique;
return $row;
}
$id_rubrique = $row['id_rubrique'];
// Regler la langue, si possible, sur celle du redacteur
// Cela implique souvent de choisir une rubrique ou un secteur
if (in_array($GLOBALS['spip_lang'], explode(',', $GLOBALS['meta']['langues_multilingue']))) {
// Si le menu de langues est autorise sur l'objet,
// on peut changer la langue quelle que soit la rubrique
// donc on reste dans la meme rubrique
if (in_array($table, explode(',', $GLOBALS['meta']['multi_objets']))) {
$row['id_rubrique'] = $row['id_rubrique'];
# explicite :-)
// Sinon, chercher la rubrique la plus adaptee pour
// accueillir l'objet dans la langue du traducteur
} elseif ($is_rubrique and $GLOBALS['meta']['multi_rubriques'] == 'oui') {
if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
$id_parent = 0;
} else {
// on cherche une rubrique soeur dans la bonne langue
$row_rub = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique={$id_rubrique}");
$id_parent = $row_rub['id_parent'];
}
$row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "lang='" . $GLOBALS['spip_lang'] . "' AND id_parent={$id_parent}");
if ($row_rub) {
$row['id_rubrique'] = $row_rub['id_rubrique'];
}
}
}
}
return $row;
}
示例11: signatures_edit_mail
function signatures_edit_mail($id_article, $ad_email, $row) {
$email = attribut_html($ad_email);
if (email_valide($ad_email)) {
if ($row['statut'] != 'publie'
AND autoriser('modererpetition', 'article', $id_article)) {
include_spip('formulaires/signature');
$url = generer_url_entite_absolue($id_article, 'article','','',true);
list($titre, $url) = signature_langue($id_article, $url);
list($sujet, $corps) = signature_demande_confirmation($id_article, $url, $row['nom_email'], $row['nom_site'], $row['url_site'], $row['message'], $titre, $row['statut']);
include_spip('inc/filtres');
$sujet = rawurlencode(filtrer_entites($sujet));
$corps = rawurlencode(filtrer_entites($corps));
$corps = "?subject=$sujet&body=$corps";
} else $corps = '';
$email = "<a href=\"mailto:$ad_email$corps\">$email</a>";
}
return "<div class='ad_email'><span class='spip_x-small'>"
._T('info_adresse_email')
."</span> "
. $email
. "</div>\n";
}
示例12: couper
function couper($texte, $taille = 50)
{
$texte = substr($texte, 0, 400 + 2 * $taille);
/* eviter de travailler sur 10ko pour extraire 150 caracteres */
// on utilise les \r pour passer entre les gouttes
$texte = str_replace("\r\n", "\n", $texte);
$texte = str_replace("\r", "\n", $texte);
// sauts de ligne et paragraphes
$texte = preg_replace("/\n\n+/", "\r", $texte);
$texte = preg_replace("/<(p|br)( [^>]*)?/" . ">", "\r", $texte);
// supprimer les traits, lignes etc
$texte = preg_replace("/(^|\r|\n)(-[-#\\*]*|_ )/", "\r", $texte);
// supprimer les tags
$texte = supprimer_tags($texte);
$texte = trim(str_replace("\n", " ", $texte));
$texte .= "\n";
// marquer la fin
// travailler en accents charset
$texte = filtrer_entites($texte);
// supprimer les liens
$texte = preg_replace("/\\[->([^]]*)\\]/", "\\1", $texte);
// liens sans texte
$texte = preg_replace("/\\[([^\\[]*)->([^]]*)\\]/", "\\1", $texte);
// supprimer les notes
$texte = preg_replace("/[\\[([^]]|\\][^]])*\\]\\]/", "", $texte);
// supprimer les codes typos
$texte = preg_replace("/[{}]/", "", $texte);
// supprimer les tableaux
$texte = preg_replace("/(^|\r)\\|.*\\|\r/", "\r", $texte);
// couper au mot precedent
$long = substr($texte, 0, max($taille - 4, 1));
$court = preg_replace("/([^[:space:]][[:space:]]+)[^[:space:]]*\n?\$/", "\\1", $long);
$points = ' (...)';
// trop court ? ne pas faire de (...)
if (strlen($court) < max(0.75 * $taille, 2)) {
$points = '';
$long = preg_replace("/&#?[a-z0-9]*;?\$/", "", substr($texte, 0, $taille));
$texte = preg_replace("/([^[:space:]][[:space:]]+)[^[:space:]]*\$/", "\\1", $long);
// encore trop court ? couper au caractere
if (strlen($texte) < 0.75 * $taille) {
$texte = $long;
}
} else {
$texte = $court;
}
if (strpos($texte, "\n")) {
// la fin est encore la : c'est qu'on n'a pas de texte de suite
$points = '';
}
// remettre les paragraphes
$texte = preg_replace("/\r+/", "\n\n", $texte);
return trim($texte) . $points;
}
示例13: spiplistes_courrier_version_texte
/**
* @param $in string, contenu html du courrier a envoyer
* @return string, version texte seul (ascii) du courrier
**/
function spiplistes_courrier_version_texte($in) {
$eol = PHP_EOL;
// Nettoyage des liens des notes de bas de page
$out = preg_replace("@<a href=\"#n(b|h)[0-9]+-[0-9]+\" name=\"n(b|h)[0-9]+-[0-9]+\" class=\"spip_note\">([0-9]+)</a>@"
, "\\3", $in);
// Supprimer tous les liens internes
$patterns = array("/\<a href=['\"]#(.*?)['\"][^>]*>(.*?)<\/a>/ims");
$replacements = array("\\2");
$out = preg_replace($patterns,$replacements, $out);
// Supprime feuille style
$out = preg_replace("/<style[^>]*>[^<]*<\/style>/", '', $out);
// les puces
// @see http://www.spip.net/fr_article1825.html
if (isset($GLOBALS['puce'])) {
$out = str_replace($GLOBALS['puce'], $eol.'-', $out);
}
// Remplace tous les liens
$patterns = array("/\<a href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims");
$replacements = array("\\2 (\\1)");
$out = preg_replace($patterns,$replacements, $out);
$_traits = str_repeat('-', 40);
$_points = str_repeat('.', 20);
$out = preg_replace('/<h1[^>]*>/', '_SAUT__SAUT_'.$_traits.'_SAUT_', $out);
$out = str_replace('</h1>', '_SAUT__SAUT_'.$_traits.'_SAUT__SAUT_', $out);
$out = preg_replace('/<h2[^>]*>/', '_SAUT__SAUT_'.$_points.' ', $out);
$out = str_replace('</h2>', ' '.$_points.'_SAUT__SAUT_', $out);
$out = preg_replace('/<h3[^>]*>/', '_SAUT__SAUT_*', $out);
$out = str_replace('</h3>', '*_SAUT__SAUT_', $out);
// Les notes de bas de page
$out = str_replace('<p class="spip_note">', $eol, $out);
$out = preg_replace('/<sup>([0-9]+)<\/sup>/', '[\\1]', $out);
// etrange parfum de regex dans un str_replace ?
// @todo: a verifier
//$out = str_replace('<p[^>]*>', $eol.$eol, $out);
//$out = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $out);
$out = preg_replace('/<li[^>]>/', $eol.'-', $out);
//$out = str_replace('<li>', "\n".'-', $out);
// accentuation du gras -
// <b>texte</b> -> *texte*
$out = preg_replace('/<b[^>|r]*>/','*' ,$out);
$out = str_replace ('</b>','*' ,$out);
// accentuation du gras -
// <strong>texte</strong> -> *texte*
$out = preg_replace('/<strong[^>]*>/','*' ,$out);
$out = str_replace ('</strong>','*' ,$out);
// accentuation de l'italique
// <i>texte</i> -> *texte*
$out = preg_replace('/<i[^>|mg]*>/','*' ,$out);
$out = str_replace ('</i>', '*', $out);
$out = str_replace('œ', 'oe', $out);
$out = str_replace(' ', ' ', $out);
$out = filtrer_entites($out);
//attention, trop brutal pour les logs irc <@RealET>
$out = supprimer_tags($out);
$out = str_replace('\x0B', '', $out);
$out = str_replace("\t", '', $out) ;
$out = preg_replace('/[ ]{3,}/', '', $out);
// espace en debut de ligne
$out = preg_replace("/(\r\n|\n|\r)[ ]+/m", $eol, $out);
// Bring down number of empty lines to 2 max
// sauts de ligne >= 3 reduits a 2
$out = preg_replace("/(\r\n|\n|\r){3,}/m", $eol.$eol, $out);
//retablir les saut de ligne
//Réduire les > 3 à 3
$out = preg_replace('/(_SAUT_){4,}/m', '_SAUT__SAUT__SAUT_', $out);
$out = str_replace('_SAUT_', $eol, $out);
//saut de lignes en debut et fin de texte
$out = $eol.$eol.trim($out).$eol.$eol;
// Faire des lignes de 75 caracteres maximum
$out = wordwrap($out);
return $out;
//.........这里部分代码省略.........
示例14: article_select_trad
function article_select_trad($lier_trad, $id_rubrique=0) {
// Recuperer les donnees de l'article original
$row = sql_fetsel("*", "spip_articles", "id_article=$lier_trad");
if ($row) {
$row['titre'] = filtrer_entites(_T('info_nouvelle_traduction')).' '.$row["titre"];
} else $row = array();
if ($id_rubrique) {
$row['id_rubrique'] = $id_rubrique;
return $row;
}
$id_rubrique = $row['id_rubrique'];
// Regler la langue, si possible, sur celle du redacteur
// Cela implique souvent de choisir une rubrique ou un secteur
if (in_array($GLOBALS['spip_lang'],
explode(',', $GLOBALS['meta']['langues_multilingue']))) {
// Si le menu de langues est autorise sur les articles,
// on peut changer la langue quelle que soit la rubrique
// donc on reste dans la meme rubrique
if ($GLOBALS['meta']['multi_articles'] == 'oui') {
$row['id_rubrique'] = $row['id_rubrique']; # explicite :-)
}
else if ($GLOBALS['meta']['multi_rubriques'] == 'oui') {
// Sinon, chercher la rubrique la plus adaptee pour
// accueillir l'article dans la langue du traducteur
if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
$id_parent = 0;
} else {
// on cherche une rubrique soeur dans la bonne langue
$row_rub = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$id_rubrique");
$id_parent = $row_rub['id_parent'];
}
$row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "lang='".$GLOBALS['spip_lang']."' AND id_parent=$id_parent");
if ($row_rub)
$row['id_rubrique'] = $row_rub['id_rubrique'];
}
}
return $row;
}
示例15: exec_rubriques_edit_args
function exec_rubriques_edit_args($id_rubrique, $id_parent, $new, $lier_trad)
{
global $connect_toutes_rubriques, $connect_statut, $spip_lang_right;
$titre = false;
if ($new == "oui") {
$id_rubrique = 0;
$titre = filtrer_entites(_T('titre_nouvelle_rubrique'));
if (!autoriser('creerrubriquedans','rubrique',$id_parent)) {
$id_parent = intval(reset($GLOBALS['connect_id_rubrique']));
}
} else {
$row = sql_fetsel("*", "spip_rubriques", "id_rubrique=$id_rubrique");
if ($row) {
$id_parent = $row['id_parent'];
$titre = $row['titre'];
$id_secteur = $row['id_secteur'];
}
}
$commencer_page = charger_fonction('commencer_page', 'inc');
if ($titre === false
OR ($new=='oui' AND !autoriser('creerrubriquedans','rubrique',$id_parent))
OR ($new!='oui' AND !autoriser('modifier','rubrique',$id_rubrique))) {
include_spip('inc/minipres');
echo minipres();
} else {
pipeline('exec_init',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
echo $commencer_page(_T('info_modifier_titre', array('titre' => $titre)), "naviguer", "rubriques", $id_rubrique);
if ($id_parent == 0) $ze_logo = "secteur-24.gif";
else $ze_logo = "rubrique-24.gif";
echo debut_grand_cadre(true);
echo afficher_hierarchie($id_parent,'',$id_rubrique,'rubrique');
echo fin_grand_cadre(true);
echo debut_gauche('', true);
// Pave "documents associes a la rubrique"
if (!$new){
# affichage sur le cote des pieces jointes, en reperant les inserees
# note : traiter_modeles($texte, true) repere les doublons
# aussi efficacement que propre(), mais beaucoup plus rapidement
traiter_modeles(join('',$row), true);
echo afficher_documents_colonne($id_rubrique, 'rubrique');
}
echo pipeline('affiche_gauche',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
echo creer_colonne_droite('', true);
echo pipeline('affiche_droite',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
echo debut_droite('', true);
$contexte = array(
'icone_retour'=>icone_inline(_T('icone_retour'), generer_url_ecrire("naviguer","id_rubrique=$id_rubrique"), $ze_logo, "rien.gif",$GLOBALS['spip_lang_left']),
'redirect'=>generer_url_ecrire("naviguer"),
'titre'=>$titre,
'new'=>$new == "oui"?$new:$id_rubrique,
'id_rubrique'=>$id_parent, // pour permettre la specialisation par la rubrique appelante
'config_fonc'=>'rubriques_edit_config',
'lier_trad'=>$lier_trad
);
echo recuperer_fond("prive/editer/rubrique", $contexte);
echo pipeline('affiche_milieu',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
echo fin_gauche(), fin_page();
}
}