/** * une fonction qui regarde si $texte est une chaine de langue * de la forme <:qqch:> * si oui applique _T() * si non applique typo() suivant le mode choisi * * @param unknown_type $valeur Une valeur à tester. Si c'est un tableau, la fonction s'appliquera récursivement dessus. * @param string $mode_typo Le mode d'application de la fonction typo(), avec trois valeurs possibles "toujours", "jamais" ou "multi". * @return unknown_type Retourne la valeur éventuellement modifiée. */ function _T_ou_typo($valeur, $mode_typo='toujours') { // Si la valeur est bien une chaine (et pas non plus un entier déguisé) if (is_string($valeur) and !intval($valeur)){ // Si la chaine est du type <:truc:> on passe à _T() if (preg_match('/^\<:(.*?):\>$/', $valeur, $match)) $valeur = _T($match[1]); // Sinon on la passe a typo() else { if (!in_array($mode_typo, array('toujours', 'multi', 'jamais'))) $mode_typo = 'toujours'; if ($mode_typo == 'toujours' or ($mode_typo == 'multi' and strpos($valeur, '<multi>') !== false)){ include_spip('inc/texte'); $valeur = typo($valeur); } } } // Si c'est un tableau, on reapplique la fonction récursivement elseif (is_array($valeur)){ foreach ($valeur as $cle => $valeur2){ $valeur[$cle] = _T_ou_typo($valeur2, $mode_typo); } } return $valeur; }
function plugins_afficher_nom_plugin_dist($url_page, $plug_file, $checked, $actif, $expose = false, $class_li = "item", $dir_plugins = _DIR_PLUGINS) { static $id_input = 0; static $versions = array(); $erreur = false; $s = ""; $get_infos = charger_fonction('get_infos', 'plugins'); $info = $get_infos($plug_file, false, $dir_plugins); // numerotons les occurences d'un meme prefix $versions[$info['prefix']] = isset($versions[$info['prefix']]) ? $versions[$info['prefix']] + 1 : ''; $id = $info['prefix'] . $versions[$info['prefix']]; $class = $class_li; $class .= $actif ? " actif" : ""; $class .= $expose ? " on" : ""; $erreur = isset($info['erreur']); if ($erreur) { $class .= " error"; } $s .= "<li id='{$id}' class='{$class}'>"; // Cartouche Resume $s .= "<div class='resume'>"; $prefix = $info['prefix']; $dir = "{$dir_plugins}{$plug_file}/lang/{$prefix}"; $desc = plugin_propre($info['description'], $dir); $url_stat = parametre_url($url_page, "plugin", $dir_plugins . $plug_file); $s .= "<strong class='nom'>" . typo($info['nom']) . "</strong>"; $s .= " <span class='version'>" . $info['version'] . "</span>"; $s .= " <span class='etat'> - " . plugin_etat_en_clair($info['etat']) . "</span>"; $s .= "</div>"; if ($erreur) { $s .= "<div class='erreur'>" . join('<br >', $info['erreur']) . "</div>"; } $s .= "</li>"; return $s; }
function action_snippet_exporte(){ global $auteur_session; $arg = _request('arg'); $args = explode(":",$arg); $hash = _request('hash'); $id_auteur = $auteur_session['id_auteur']; $redirect = _request('redirect'); if ($redirect==NULL) $redirect=""; include_spip("inc/securiser_action"); if (verifier_action_auteur("snippet_exporte-$arg",$hash,$id_auteur)==TRUE) { $table = $args[0]; $id = $args[1]; $f = snippets_fond_exporter($table, false); if ($f) { include_spip('public/assembler'); $out = recuperer_fond($f,array('id'=>intval($id))); //$out = preg_replace(",\n\n[\s]*(?=\n),","",$out); $filename=str_replace(":","_",$arg); if (preg_match(",<titre>(.*)</titre>,Uims",$out,$regs)) $filename = preg_replace(',[^-_\w]+,', '_', trim(translitteration(textebrut(typo($regs[1]))))); $extension = "xml"; Header("Content-Type: text/xml; charset=".$GLOBALS['meta']['charset']); Header("Content-Disposition: attachment; filename=$filename.$extension"); Header("Content-Length: ".strlen($out)); echo $out; exit(); } } redirige_par_entete(str_replace("&","&",urldecode($redirect))); }
function inc_informer_dist($id, $col, $exclus, $rac, $type, $do = 'aff') { include_spip('inc/texte'); if ($type == "rubrique") { $row = sql_fetsel("titre, descriptif", "spip_rubriques", "id_rubrique = {$id}"); if ($row) { $titre = typo($row["titre"]); $descriptif = propre($row["descriptif"]); } else { $titre = _T('info_racine_site'); } } else { $titre = ''; } $res = ''; if ($type == "rubrique" and $GLOBALS['spip_display'] != 1 and isset($GLOBALS['meta']['image_process'])) { if ($GLOBALS['meta']['image_process'] != "non") { $chercher_logo = charger_fonction('chercher_logo', 'inc'); if ($res = $chercher_logo($id, 'id_rubrique', 'on')) { list($fid, $dir, $nom, $format) = $res; include_spip('inc/filtres_images_mini'); $res = image_reduire("<img src='{$fid}' alt='' />", 100, 48); if ($res) { $res = "<div style='float: " . $GLOBALS['spip_lang_right'] . "; margin-" . $GLOBALS['spip_lang_right'] . ": -5px; margin-top: -5px;'>{$res}</div>"; } } } } $rac = spip_htmlentities($rac); # ce lien provoque la selection (directe) de la rubrique cliquee # et l'affichage de son titre dans le bandeau $titre = strtr(str_replace("'", "’", str_replace('"', """, textebrut($titre))), "\n\r", " "); $js_func = $do . '_selection_titre'; return "<div style='display: none;'>" . "<input type='text' id='" . $rac . "_sel' value='{$id}' />" . "<input type='text' id='" . $rac . "_sel2' value=\"" . entites_html($titre) . "\" />" . "</div>" . "<div class='informer' style='padding: 5px; border-top: 0px;'>" . (!$res ? '' : $res) . "<p><b>" . safehtml($titre) . "</b></p>" . (!$descriptif ? '' : "<div>" . safehtml($descriptif) . "</div>") . "<div style='text-align: " . $GLOBALS['spip_lang_right'] . ";'>" . "<input type='submit' class='fondo' value='" . _T('bouton_choisir') . "'\nonclick=\"{$js_func}('{$titre}',{$id},'selection_rubrique','id_parent'); return false;\" />" . "</div>" . "</div>"; }
function plugins_afficher_liste_dist($url_page,$liste_plugins, $liste_plugins_actifs, $dir_plugins=_DIR_PLUGINS,$afficher_un = 'afficher_plugin'){ $get_infos = charger_fonction('get_infos','plugins'); $ligne_plug = charger_fonction($afficher_un,'plugins'); $liste_plugins = array_flip($liste_plugins); foreach(array_keys($liste_plugins) as $chemin) { if ($info = $get_infos($chemin, false, $dir_plugins)) $liste_plugins[$chemin] = strtoupper(trim(typo(translitteration(unicode2charset(html2unicode($info['nom'])))))); } asort($liste_plugins); $exposed = urldecode(_request('plugin')); $block_par_lettre = false;//count($liste_plugins)>10; $fast_liste_plugins_actifs = array_flip($liste_plugins_actifs); $res = ''; $block = ''; $initiale = ''; $block_actif = false; foreach($liste_plugins as $plug => $nom){ if (($i=substr($nom,0,1))!==$initiale){ $res .= $block_par_lettre ? affiche_block_initiale($initiale,$block,$block_actif): $block; $initiale = $i; $block = ''; $block_actif = false; } // le rep suivant $actif = @isset($fast_liste_plugins_actifs[$plug]); $block_actif = $block_actif | $actif; $expose = ($exposed AND ($exposed==$plug OR $exposed==$dir_plugins . $plug OR $exposed==substr($dir_plugins,strlen(_DIR_RACINE)) . $plug)); $block .= $ligne_plug($url_page, $plug, $actif, $expose, "item", $dir_plugins)."\n"; } $res .= $block_par_lettre ? affiche_block_initiale($initiale,$block,$block_actif): $block; $class = basename($dir_plugins); return $res ? "<ul class='liste-items plugins $class'>$res</ul>" : ""; }
function affiche_auteur_diff($auteur) { // Si c'est un nombre, c'est un auteur de la table spip_auteurs if ($auteur == intval($auteur) and $s = sql_query("SELECT * FROM spip_auteurs WHERE id_auteur=" . _q($auteur)) and $t = sql_fetch($s)) { return typo($t['nom']); } else { return $auteur; } }
function exec_documents_liste_dist() { // // Recupere les donnees // $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_documents_liste'), "naviguer", "documents"); echo debut_gauche('', true); ////////////////////////////////////////////////////// // Boite "voir en ligne" // echo debut_boite_info(true); echo propre(_T('texte_recapitiule_liste_documents')); echo fin_boite_info(true); echo debut_droite('', true); // recupere les titres des types $res = sql_select('extension, titre', "spip_types_documents"); while ($row = sql_fetch($res)) $types[$row['extension']] = $row; $result = sql_select("docs.id_document AS id_doc, docs.extension AS extension, docs.fichier AS fichier, docs.date AS date, docs.titre AS titre, docs.descriptif AS descriptif, R.id_rubrique AS id_rub, R.titre AS titre_rub", "spip_documents AS docs, spip_documents_liens AS lien, spip_rubriques AS R", "docs.id_document = lien.id_document AND R.id_rubrique = lien.id_objet AND lien.objet='rubrique' AND docs.mode = 'document'", "", "docs.date DESC"); while ($row=sql_fetch($result)){ $titre=$row['titre']; $descriptif=$row['descriptif']; $date=$row['date']; $id_document=$row['id_doc']; $id_rubrique=$row['id_rub']; $titre_rub = typo($row['titre_rub']); $fichier = $row['fichier']; if (!$titre) $titre = _T('info_document').' '.$id_document; debut_cadre_relief("doc-24.gif"); echo "<b>$titre</b> (" . $types[$row['extension']]['titre'] . ', ' . affdate($date) . ")"; if ($descriptif) echo propre($descriptif); else echo "<p><tt>$fichier</tt>" . '</p>'; echo "<p>"._T('info_dans_rubrique')." <a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>$titre_rub</a></p>"; echo fin_cadre_relief(true); } echo fin_gauche(), fin_page(); }
/** * Envoi du DOCTYPE et du `<head><title> </head>` * * @uses _DOCTYPE_ECRIRE * @uses textebrut() * @uses typo() * @uses html_lang_attributes() * @uses init_head() * * @param string $titre * Titre de la page * @param integer $dummy * Valeur non utilisée… * @param bool $minipres * @return string * Entête du fichier HTML avec le DOCTYPE */ function init_entete($titre = '', $dummy = 0, $minipres = false) { include_spip('inc/texte'); if (!($nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"])))) { $nom_site_spip = _T('info_mon_site_spip'); } $titre = "[" . $nom_site_spip . "]" . ($titre ? " " . textebrut(typo($titre)) : ""); return _DOCTYPE_ECRIRE . html_lang_attributes() . "<head>\n" . init_head($titre, $dummy, $minipres) . "</head>\n"; }
function getenfant($leparent,$rubselected){ static $i = 0, $premier = 1; $i++; $query="SELECT * FROM spip_rubriques WHERE id_parent='$leparent' ORDER BY titre"; $result = spip_query($query); while($row=spip_fetch_array($result)){ $my_rubrique=$row['id_rubrique']; $titre=typo($row['titre']); $style = ""; $espace=""; for ($count=1;$count<$i;$count++){ $espace.=" "; } switch ($i) { case 1: $espace= ""; $style .= "font-weight: bold;"; break; case 2: $style .= "color: #202020;"; break; case 3: $style .= "color: #404040;"; break; case 4: $style .= "color: #606060;"; break; case 5: $style .= "color: #808080;"; break; default; $style .= "color: #A0A0A0;"; break; } if (!(($pospoint = strpos($titre,'.')) === FALSE)) { $titre = substr($titre,$pospoint + 2); } $titre = substr($titre,0, 50); // largeur maxi //if ($i == 1 && !$premier) { $option = "<option value='$my_rubrique' style=\"$style\""; if ($rubselected == $my_rubrique) { $option .= " selected"; } echo "$option>$espace".$titre."</option>\n"; $premier = 0; getenfant($my_rubrique,$rubselected); } $i=$i-1; }
function BOUCLE_documenthtml_b8a8020987dd01f8087ad24f961857eb(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; $in = array(); if (!is_array($a = @$Pile[0]['mode'])) { $in[] = $a; } else { $in = array_merge($in, $a); } if (!isset($command['table'])) { $command['table'] = 'documents'; $command['id'] = '_document'; $command['from'] = array('documents' => 'spip_documents', 'L1' => 'spip_types_documents'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("documents.id_document", "L1.titre AS type_document", "documents.taille", "documents.mode", "documents.largeur", "documents.hauteur", "documents.titre", "L1.mime_type"); $command['orderby'] = array(); $command['join'] = array('L1' => array('documents', 'extension')); $command['limit'] = ''; $command['having'] = array(); } $command['where'] = array(array('(documents.taille > 0 OR documents.distant=\'oui\')'), array('=', 'documents.id_document', sql_quote(@$Pile[0]['id_document'], '', 'bigint(21) NOT NULL AUTO_INCREMENT')), !(is_array(@$Pile[0]['mode']) ? count(@$Pile[0]['mode']) : strlen(@$Pile[0]['mode'])) ? '' : (is_array(@$Pile[0]['mode']) ? sql_in('documents.mode', sql_quote($in)) : array('=', 'documents.mode', sql_quote(@$Pile[0]['mode'], '', 'varchar(10) NOT NULL DEFAULT \'document\'')))); if (defined("_BOUCLE_PROFILER")) { $timer = time() + microtime(); } $t0 = ""; // REQUETE $iter = IterFactory::create("SQL", $command, array('plugins-dist/medias/modeles/img.html', 'html_b8a8020987dd01f8087ad24f961857eb', '_document', 1, $GLOBALS['spip_lang'])); if (!$iter->err()) { $SP++; // RESULTATS while ($Pile[$SP] = $iter->fetch()) { $t0 .= ' ' . vide($Pile['vars'][$_zzz = (string) 'image'] = interdire_scripts(($a = match(entites_html(sinon(table_valeur(@$Pile[0], (string) 'mode_force', null), interdire_scripts($Pile[$SP]['mode'])), true), 'image|vignette') or is_string($a) and strlen($a)) ? $a : interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'embed', null), true)) ? ' ' : '')) . (($t1 = strval(table_valeur($Pile["vars"], (string) 'image', null))) !== '' ? $t1 . (' <span class=\'spip_document_' . $Pile[$SP]['id_document'] . ' spip_documents' . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'align', null), true)))) !== '' ? ' spip_documents_' . $t2 : '') . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'class', null), true)))) !== '' ? ' ' . $t2 : '') . ' spip_lien_ok\'' . (($t2 = strval(interdire_scripts(match(entites_html(table_valeur(@$Pile[0], (string) 'align', null), true), 'left|right')))) !== '' ? ' style=\'float:' . $t2 . ';\'' : '') . '> ' . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'lien', null), true)))) !== '' ? '<a href="' . $t2 . ('"' . (($t3 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'lien_class', null), true)))) !== '' ? ' class="' . $t3 . '"' : '') . '>') : '') . '<img src=\'' . vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_document'], 'document', '', '', true))) . '\'' . (($t2 = strval(interdire_scripts($Pile[$SP]['largeur']))) !== '' ? ' width="' . $t2 . '"' : '') . (($t2 = strval(interdire_scripts($Pile[$SP]['hauteur']))) !== '' ? ' height="' . $t2 . '"' : '') . ' alt="' . interdire_scripts(texte_backend(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))) . '"' . (($t2 = strval(interdire_scripts(texte_backend(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))))) !== '' ? ' title="' . $t2 . '"' : '') . ' />' . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'lien', null), true) ? '</a>' : '') . '</span> ') : '') . (!table_valeur($Pile["vars"], (string) 'image', null) ? ' ' . (' ' . vide($Pile['vars'][$_zzz = (string) 'fichier'] = extraire_attribut(quete_logo_document(quete_document($Pile[$SP]['id_document'], ''), '', '', '', 0, 0, ''), 'src')) . ' ' . vide($Pile['vars'][$_zzz = (string) 'width'] = extraire_attribut(quete_logo_document(quete_document($Pile[$SP]['id_document'], ''), '', '', '', 0, 0, ''), 'width')) . ' ' . vide($Pile['vars'][$_zzz = (string) 'height'] = extraire_attribut(quete_logo_document(quete_document($Pile[$SP]['id_document'], ''), '', '', '', 0, 0, ''), 'height')) . ' <span class=\'spip_document_' . $Pile[$SP]['id_document'] . ' spip_documents' . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'align', null), true)))) !== '' ? ' spip_documents_' . $t2 : '') . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'class', null), true)))) !== '' ? ' ' . $t2 : '') . ' spip_lien_ok\'' . (($t2 = strval(interdire_scripts(match(entites_html(table_valeur(@$Pile[0], (string) 'align', null), true), 'left|right')))) !== '' ? ' style=\'float:' . $t2 . (';' . (($t3 = strval(table_valeur($Pile["vars"], (string) 'width', null))) !== '' ? ' width:' . $t3 . 'px;' : '') . '\'') : '') . '><a href="' . interdire_scripts(($a = entites_html(table_valeur(@$Pile[0], (string) 'lien', null), true) or is_string($a) and strlen($a)) ? $a : vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_document'], 'document', '', '', true)))) . '"' . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'lien', null), true) ? '' : 'type="' . interdire_scripts($Pile[$SP]['mime_type']) . '"'))) !== '' ? ' ' . $t2 : '') . (($t2 = strval(interdire_scripts(texte_backend(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))))) !== '' ? ' title="' . $t2 . '"' : '') . '><img src=\'' . table_valeur($Pile["vars"], (string) 'fichier', null) . '\' width=\'' . table_valeur($Pile["vars"], (string) 'width', null) . '\' height=\'' . table_valeur($Pile["vars"], (string) 'height', null) . '\' alt=\'' . interdire_scripts(attribut_html(strlen(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0])) ? interdire_scripts(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0])) . ' {' . interdire_scripts($Pile[$SP]['type_document']) . '}' : interdire_scripts($Pile[$SP]['type_document']))) . '\' /></a></span> ') : ''); } $iter->free(); } if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) { spip_log(intval(1000 * $timer) . "ms BOUCLE_document @ plugins-dist/medias/modeles/img.html", "profiler" . _LOG_AVERTISSEMENT); } return $t0; }
function legender_entete($document) { $titre = $document['titre']; $entete = basename($document['fichier']); if (strlen($entete) > 20) $entete = substr($entete, 0, 20)."..."; if (strlen($titre)) $entete = "<strong>". lignes_longues(typo($titre),25) . "</strong>"; return sinon($entete,_T('info_sans_titre')); }
/** * Ajout automatique du title dans les pages du privé en squelette * * Appellé dans le pipeline affichage_final_prive * * @param string $texte * @return string */ function affichage_final_prive_title_auto($texte) { if (strpos($texte, '<title>') === false and (preg_match(",<h1[^>]*>(.+)</h1>,Uims", $texte, $match) or preg_match(",<h[23][^>]*>(.+)</h[23]>,Uims", $texte, $match)) and $match = textebrut(trim($match[1])) and ($p = strpos($texte, '<head>')) !== FALSE) { if (!($nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"])))) { $nom_site_spip = _T('info_mon_site_spip'); } $titre = "<title>[" . $nom_site_spip . "] " . $match . "</title>"; $texte = substr_replace($texte, $titre, $p + 6, 0); } return $texte; }
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(); } }
function inc_informer_auteur_dist($id) { global $spip_display,$spip_lang_right ; include_spip('inc/presentation'); include_spip('inc/formater_auteur'); $row = sql_fetsel("*", "spip_auteurs", "id_auteur = $id"); if ($row) { $nom = typo($row["nom"]); $bio = propre($row["bio"]); $mail = formater_auteur_mail($row, $id); $nb = sql_countsel("spip_auteurs_articles", "id_auteur=$id"); if ($nb > 1) $nb = $nb . " " . _T('info_article_2'); else if($nb == 1) $nb = "1 " . _T('info_article'); else $nb = " "; } else { $nom = "<span style='color:red'>" . _T('texte_vide') . '</span>'; $bio = $mail = $nb = ''; } $res = ''; if ($spip_display != 1 AND $spip_display!=4 AND $GLOBALS['meta']['image_process'] != "non") { $chercher_logo = charger_fonction('chercher_logo', 'inc'); if ($res = $chercher_logo($id, 'id_auteur', 'on')) { list($fid, $dir, $n, $format) = $res; include_spip('inc/filtres_images_mini'); $res = image_reduire("<img src='$fid' alt='' />", 100, 48); if ($res) $res = "<div style='float: $spip_lang_right; margin-$spip_lang_right: -5px; margin-top: -5px;'>$res</div>"; } } return "<div class='informer-auteur'>" . (!$res ? '' : $res) . "<div><a href='" . generer_url_ecrire('auteur_infos', "id_auteur=$id") . "'>" . bonhomme_statut($row) . "</a> " . $mail . " <b>" . $nom . "</b><br />" . $nb . "</div><br />" . "<div>$bio</div>" . "</div>"; }
function lien_objet($id, $type, $longueur = 80, $connect = NULL) { include_spip('inc/liens'); $titre = traiter_raccourci_titre($id, $type, $connect); // lorsque l'objet n'est plus declare (plugin desactive par exemple) // le raccourcis n'est plus valide $titre = isset($titre['titre']) ? typo($titre['titre']) : ''; if (!strlen($titre)) { $titre = _T('info_sans_titre'); } $url = generer_url_entite($id, $type); return "<a href='{$url}' class='{$type}'>" . couper($titre, $longueur) . "</a>"; }
function inc_formater_auteur_dist($id_auteur, $row=NULL) { global $connect_id_auteur, $connect_statut; $id_auteur = intval($id_auteur); if ($row===NULL) $row = sql_fetsel("*, (en_ligne<DATE_SUB(NOW(),INTERVAL 15 DAY)) AS parti", "spip_auteurs", "id_auteur=$id_auteur"); $vals = array(); $statut = $row['statut']; $href = generer_url_ecrire("auteurs","statut=$statut"); $vals[] = "<a href='$href'>" . bonhomme_statut($row) . '</a>'; if (($id_auteur == $connect_id_auteur) OR $row['parti']) $vals[]= ' '; else $vals[]= formater_auteur_mail($row, $id_auteur); if (!$nom = typo($row['nom'])) $nom = "<span style='color: red'>" . _T('texte_vide') . '</span>'; $vals[] = "<a href='" . generer_url_ecrire('auteur_infos', "id_auteur=$id_auteur") . "'" . (!$row['bio'] ? '' : (" title=\"" . attribut_html(couper(textebrut($row["bio"]), 200)) ."\"")) . ">$nom</a>"; $url = traiter_lien_explicite($row["url_site"]); $vals[] = !$url ? " " : "<a href='$url'>".couper(sinon(typo($row['nom_site']), $row["url_site"]),30)."</a>"; $contributions = array(); if (autoriser('modifier', 'auteur', $id_auteur, $row)) { $in = sql_in('statut', ($connect_statut == "0minirezo" ? array('prepa', 'prop', 'publie', 'refuse') : array('prop', 'publie'))); if ($cpt = sql_countsel("spip_auteurs_articles AS L LEFT JOIN spip_articles AS A ON A.id_article=L.id_article", "L.id_auteur=$id_auteur AND $in")) $contributions[] = ($cpt>1?$cpt.' '._T('info_article_2'):_T('info_1_article')); } else { if ($cpt = sql_countsel("spip_forum AS F", "F.id_auteur=$id_auteur")) $contributions[] = ($cpt>1?$cpt.' '._T('public:messages_forum'):('1 ' . _T('public:message'))); } $contributions = pipeline('compter_contributions_auteur',array('args'=>array('id_auteur'=>$id_auteur,'row'=>$row),'data'=>$contributions)); $vals[] = count($contributions)?implode('<br />',$contributions):" "; return $vals; }
function inc_plonger_dist($id_rubrique, $idom = "", $list = array(), $col = 1, $exclu = 0, $do = 'aff') { global $spip_lang_left; if ($list) { $id_rubrique = $list[$col - 1]; } $ret = ''; # recherche les filles et petites-filles de la rubrique donnee # en excluant une eventuelle rubrique interdite (par exemple, lorsqu'on # deplace une rubrique, on peut la deplacer partout a partir de la # racine... sauf vers elle-meme ou sa propre branche) $ordre = array(); $rub = array(); $res = sql_select("rub1.id_rubrique, rub1.titre, rub1.id_parent, rub1.lang, rub1.langue_choisie, rub2.id_rubrique AS id_enfant", "spip_rubriques AS rub1 LEFT JOIN spip_rubriques AS rub2 ON (rub1.id_rubrique = rub2.id_parent)", "rub1.id_parent = " . sql_quote($id_rubrique) . "\n\t\t\tAND rub1.id_rubrique!=" . sql_quote($exclu) . "\n\t\t\tAND (rub2.id_rubrique IS NULL OR rub2.id_rubrique!=" . sql_quote($exclu) . ")", "", "0+rub1.titre,rub1.titre"); while ($row = sql_fetch($res)) { if (autoriser('voir', 'rubrique', $row['id_rubrique'])) { $rub[$row['id_rubrique']]['enfants'] = $row['id_enfant']; if ($row['id_parent'] == $id_rubrique) { $t = trim(typo(supprimer_numero($row['titre']))); if ($row['langue_choisie'] != 'oui') { $t .= ' <small title="' . traduire_nom_langue($row['lang']) . '">[' . $row['lang'] . ']</small>'; } $ordre[$row['id_rubrique']] = $t; } } } $next = isset($list[$col]) ? $list[$col] : 0; if ($ordre) { $rec = generer_url_ecrire('plonger', "rac={$idom}&exclus={$exclu}&do={$do}&col=" . ($col + 1)); $info = generer_url_ecrire('informer', "type=rubrique&rac={$idom}&do={$do}&id="); $args = "'{$idom}',this,{$col},'{$spip_lang_left}','{$info}',event"; while (list($id, $titrebrut) = each($ordre)) { $titre = supprimer_numero($titrebrut); $classe1 = $id_rubrique ? 'petite-rubrique' : "petit-secteur"; if (isset($rub[$id]["enfants"])) { $classe2 = " class='rub-ouverte'"; $url = "\nhref='{$rec}&id={$id}'"; } else { $classe2 = $url = ''; $url = "\nhref='javascript:void(0)'"; } $js_func = $do . '_selection_titre'; $click = "\nonclick=\"changerhighlight(this.parentNode.parentNode.parentNode);\nreturn " . (!is_array($list) ? ' false' : "aff_selection_provisoire({$id},{$args})") . "\"\nondblclick=\"" . "{$js_func}(this." . "firstChild.nodeValue," . $id . ",'selection_rubrique','id_parent');" . "\nreturn aff_selection_provisoire({$id},{$args});" . "\""; $ret .= "<div class='" . ($id == $next ? "item on" : "item") . "'><div class='" . $classe1 . "'><div{$classe2}><a" . $url . $click . ">" . $titre . "</a></div></div></div>"; } } $idom2 = $idom . "_col_" . ($col + 1); $left = $col * 150; return http_img_pack("searching.gif", "*", "style='visibility: hidden; position: absolute; {$spip_lang_left}: " . ($left - 30) . "px; top: 2px; z-index: 2;' id='img_{$idom2}'") . "<div style='width: 150px; height: 100%; overflow: auto; position: absolute; top: 0px; {$spip_lang_left}: " . ($left - 150) . "px;'>" . $ret . "\n</div>\n<div id='{$idom2}'>" . ($next ? inc_plonger_dist($id_rubrique, $idom, $list, $col + 1, $exclu) : "") . "\n</div>"; }
function expanser_liens($letexte) { $inserts = array(); if (preg_match_all(_RACCOURCI_LIEN, $letexte, $matches, PREG_SET_ORDER)) { $i = 0; foreach ($matches as $regs) { $inserts[++$i] = traiter_raccourci_lien($regs); $letexte = str_replace($regs[0], "@@SPIP_ECHAPPE_LIEN_$i@@", $letexte); } } $letexte = typo($letexte, /* echap deja fait, accelerer */ false); foreach ($inserts as $i => $insert) $letexte = str_replace("@@SPIP_ECHAPPE_LIEN_$i@@", $insert, $letexte); return $letexte; }
function exec_spiplistes_aide () { global $spip_lang; spiplistes_debug_log('exec_spiplistes_aide()'); $var_lang = _request('var_lang'); if (!changer_langue($var_lang)) { $var_lang = $spip_lang; changer_langue($var_lang); } $info = spiplistes_plugin_get_infos(spiplistes_get_meta_dir(_SPIPLISTES_PREFIX)); $nom = typo($info['nom']); $version = typo($info['version']); $f_lang = _DIR_PLUGIN_SPIPLISTES . 'docs/'._SPIPLISTES_EXEC_PREFIX.'aide_'.$var_lang.'html'; $fichier_aide_spiplistes = is_readable($f_lang) ? $f_lang : _DIR_PLUGIN_SPIPLISTES . 'docs/'._SPIPLISTES_EXEC_PREFIX.'aide_fr.html' ; if($content = file_get_contents($fichier_aide_spiplistes)) { // corrige les liens images $content = str_replace('../img_docs/', _DIR_PLUGIN_SPIPLISTES.'img_docs/', $content); // place les vars $pattern = array( '/@spiplistes_name@/' ,'/@spiplistes_version@/' ,'/\$LastChangedDate:/' ,'/\$EndLastChangedDate/' ,'/@_aide@/' ); $replacement = array( $nom , $version , '' , '' , _T('spiplistes:_aide') ); $content = preg_replace($pattern, $replacement, $content); echo($content); } else { aide_spiplistes_erreur(); } }
/** * Afficher une liste de plugins dans l'interface * http://doc.spip.org/@affiche_liste_plugins * * @param string $url_page * @param array $liste_plugins * @param array $liste_plugins_checked * @param array $liste_plugins_actifs * @param string $dir_plugins * @param string $afficher_un * @return string */ function plugins_afficher_liste_dist($url_page, $liste_plugins, $liste_plugins_checked, $liste_plugins_actifs, $dir_plugins = _DIR_PLUGINS, $afficher_un = 'afficher_plugin') { $get_infos = charger_fonction('get_infos', 'plugins'); $ligne_plug = charger_fonction($afficher_un, 'plugins'); $all_infos = $get_infos($liste_plugins, false, $dir_plugins); $all_infos = pipeline('filtrer_liste_plugins', array('args' => array('liste_plugins' => $liste_plugins, 'liste_plugins_checked' => $liste_plugins_checked, 'liste_plugins_actifs' => $liste_plugins_actifs, 'dir_plugins' => $dir_plugins), 'data' => $all_infos)); $liste_plugins = array_flip($liste_plugins); foreach ($liste_plugins as $chemin => $v) { // des plugins ont pu etre enleves de la liste par le pipeline. On en tient compte. if (isset($all_infos[$chemin])) { $liste_plugins[$chemin] = strtoupper(trim(typo(translitteration(unicode2charset(html2unicode($all_infos[$chemin]['nom'])))))); } else { unset($liste_plugins[$chemin]); } } asort($liste_plugins); $exposed = urldecode(_request('plugin')); $block_par_lettre = false; //count($liste_plugins)>10; $fast_liste_plugins_actifs = array(); $fast_liste_plugins_checked = array(); if (is_array($liste_plugins_actifs)) { $fast_liste_plugins_actifs = array_flip($liste_plugins_actifs); } if (is_array($liste_plugins_checked)) { $fast_liste_plugins_checked = array_flip($liste_plugins_checked); } $res = ''; $block = ''; $initiale = ''; $block_actif = false; foreach ($liste_plugins as $plug => $nom) { if (($i = substr($nom, 0, 1)) !== $initiale) { $res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block; $initiale = $i; $block = ''; $block_actif = false; } // le rep suivant $actif = isset($fast_liste_plugins_actifs[$plug]); $checked = isset($fast_liste_plugins_checked[$plug]); $block_actif = $block_actif | $actif; $expose = ($exposed and ($exposed == $plug or $exposed == $dir_plugins . $plug or $exposed == substr($dir_plugins, strlen(_DIR_RACINE)) . $plug)); $block .= $ligne_plug($url_page, $plug, $checked, $actif, $expose, "item", $dir_plugins) . "\n"; } $res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block; $class = basename($dir_plugins); return $res ? "<ul class='liste-items plugins {$class}'>{$res}</ul>" : ""; }
function html_e3cac34669117ef67c3fe7b2fef7351d($Cache, $Pile, $doublons = array(), $Numrows = array(), $SP = 0) { if (isset($Pile[0]["doublons"]) and is_array($Pile[0]["doublons"])) { $doublons = nettoyer_env_doublons($Pile[0]["doublons"]); } $connect = ''; $page = '<!-- L\'entete du site --> <div id="entete" class="pas_surlignable"> <a href="' . spip_htmlspecialchars(sinon($GLOBALS['meta']['adresse_site'], '.')) . '" title="' . _T('public|spip|ecrire:accueil_site') . ' : ' . interdire_scripts(typo($GLOBALS['meta']['nom_site'], "TYPO", $connect, $Pile[0])) . '" class="nom-site"><span>' . interdire_scripts(typo($GLOBALS['meta']['nom_site'], "TYPO", $connect, $Pile[0])) . '</span></a> </div><!-- entete -->'; return analyse_resultat_skel('html_e3cac34669117ef67c3fe7b2fef7351d', $Cache, $page, 'squelettes/inc/inc-bandeau.html'); }
function get_liste_administrateurs() { include_spip('inc/autoriser'); include_spip('inc/texte'); $admins = $webmestres = array(); $s = spip_query("SELECT * FROM spip_auteurs WHERE statut='0minirezo'"); $fetch = function_exists('sql_fetch')?'sql_fetch':'spip_fetch_array'; // compatibilite SPIP 1.92 while ($qui = $fetch($s)) { $nom = '<a href="'.generer_url_ecrire('auteur_infos',"id_auteur=$qui[id_auteur]").'">'.typo($qui['nom']."</a> (id_auteur=$qui[id_auteur])"); if(autoriser('webmestre','','',$qui)) $webmestres[$qui['id_auteur']] = $nom; else if(autoriser('configurer','plugins','',$qui)) $admins[$qui['id_auteur']] = $nom; } return array( count($webmestres)?join(', ', $webmestres):_T('couteauprive:variable_vide'), count($admins)?join(', ', $admins):_T('couteauprive:variable_vide')); }
function inc_exporter_csv_dist($titre, $resource, $delim=',', $entetes = null,$envoyer = true){ $filename = preg_replace(',[^-_\w]+,', '_', translitteration(textebrut(typo($titre)))); if ($delim == 'TAB') $delim = "\t"; if (!in_array($delim,array(',',';',"\t"))) $delim = ","; $charset = $GLOBALS['meta']['charset']; $importer_charset = null; if ($delim == ',') $extension = 'csv'; else { $extension = 'xls'; # Excel n'accepte pas l'utf-8 ni les entites html... on transcode tout ce qu'on peut $importer_charset = $charset = 'iso-8859-1'; } $filename = "$filename.$extension"; if ($entetes AND is_array($entetes) AND count($entetes)) $output = exporter_csv_ligne($entetes,$delim,$importer_charset); // on passe par un fichier temporaire qui permet de ne pas saturer la memoire // avec les gros exports $fichier = sous_repertoire(_DIR_CACHE,"export") . $filename; $fp = fopen($fichier, 'w'); $length = fwrite($fp, $output); while ($row=is_array($resource)?array_shift($resource):sql_fetch($resource)){ $output = exporter_csv_ligne($row,$delim,$importer_charset); $length += fwrite($fp, $output); } fclose($fp); if ($envoyer) { Header("Content-Type: text/comma-separated-values; charset=$charset"); Header("Content-Disposition: attachment; filename=$filename"); //non supporte //Header("Content-Type: text/plain; charset=$charset"); Header("Content-Length: $length"); ob_clean(); flush(); readfile($fichier); } return $fichier; }
function BOUCLE_art_agendahtml_78503d8cb0bd66f2d97f4b9c0f7d329a(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; if (!isset($command['table'])) { $command['table'] = 'articles'; $command['id'] = '_art_agenda'; $command['from'] = array('articles' => 'spip_articles', 'L1' => 'spip_mots_liens', 'L2' => 'spip_mots'); $command['type'] = array(); $command['groupby'] = array("articles.id_article"); $command['select'] = array("articles.date_redac", "articles.id_article", "articles.texte", "articles.descriptif", "articles.chapo", "articles.titre", "articles.lang"); $command['orderby'] = array('articles.date_redac'); $command['join'] = array('L1' => array('articles', 'id_objet', 'id_article', 'L1.objet=' . sql_quote('article')), 'L2' => array('L1', 'id_mot')); $command['limit'] = '0,5'; $command['having'] = array(); } $command['where'] = array(quete_condition_statut('articles.statut', 'publie,prop,prepa/auteur', 'publie', ''), array('=', 'L2.titre', "'Agenda'"), array('<', 'TIMESTAMPDIFF(HOUR,articles.date_redac,NOW())/24', "1"), array('=', 'articles.lang', sql_quote($GLOBALS['spip_lang'], '', 'varchar(10) NOT NULL DEFAULT \'\''))); if (defined("_BOUCLE_PROFILER")) { $timer = time() + microtime(); } $t0 = ""; // REQUETE $iter = IterFactory::create("SQL", $command, array('squelettes/inc/inc-menu-agenda.html', 'html_78503d8cb0bd66f2d97f4b9c0f7d329a', '_art_agenda', 4, $GLOBALS['spip_lang'])); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP] = $iter->fetch()) { lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t0 .= ' <li>' . (($t1 = strval(affdate(normaliser_date($Pile[$SP]['date_redac'])))) !== '' ? '<span>' . $t1 . (' ' . (($t2 = strval(heures(normaliser_date($Pile[$SP]['date_redac'])) != '0' ? (($t3 = strval(heures(normaliser_date($Pile[$SP]['date_redac'])))) !== '' ? $t3 . ':' : '') . minutes(normaliser_date($Pile[$SP]['date_redac'])) : '')) !== '' ? '- ' . $t2 : '') . '</span>') : '') . ' <a class="lien' . interdire_scripts(@$Pile[0]['exposer']) . ' article" href="' . vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_article'], 'article', '', '', true))) . '" ' . (($t1 = strval(interdire_scripts(entites_html(textebrut(filtre_introduction_dist($Pile[$SP]['descriptif'], strlen($Pile[$SP]['descriptif']) ? '' : $Pile[$SP]['chapo'] . "\n\n" . $Pile[$SP]['texte'], 500, $connect, null)))))) !== '' ? 'title="' . $t1 . '"' : '') . '>' . interdire_scripts(supprimer_numero(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))) . '</a> </li> '; lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) { spip_log(intval(1000 * $timer) . "ms BOUCLE_art_agenda @ squelettes/inc/inc-menu-agenda.html", "profiler" . _LOG_AVERTISSEMENT); } return $t0; }
function BOUCLE_breves_rubriqueshtml_11157eacea3e766769d2031f1e2eed04(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; if (!isset($command['table'])) { $command['table'] = 'breves'; $command['id'] = '_breves_rubriques'; $command['from'] = array('breves' => 'spip_breves'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("breves.date_heure", "breves.date_heure AS date", "breves.id_breve", "breves.texte", "breves.titre", "breves.lang"); $command['orderby'] = array('breves.date_heure DESC'); $command['join'] = array(); $command['limit'] = '0,10'; $command['having'] = array(); } $command['where'] = array(quete_condition_statut('breves.statut', 'publie,prop', 'publie', ''), array('=', 'breves.id_rubrique', sql_quote(@$Pile[0]['id_rubrique'], '', 'bigint(21) NOT NULL DEFAULT \'0\'')), array('=', 'breves.lang', sql_quote($GLOBALS['spip_lang'], '', 'varchar(10) NOT NULL DEFAULT \'\''))); if (defined("_BOUCLE_PROFILER")) { $timer = time() + microtime(); } $t0 = ""; // REQUETE $iter = IterFactory::create("SQL", $command, array('squelettes/inc/inc-breves.html', 'html_11157eacea3e766769d2031f1e2eed04', '_breves_rubriques', 2, $GLOBALS['spip_lang'])); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP] = $iter->fetch()) { lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t0 .= ' <li>' . (($t1 = strval(interdire_scripts(affdate(normaliser_date($Pile[$SP]['date']))))) !== '' ? '<span>' . $t1 . '</span>' : '') . ' <a href="' . vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_breve'], 'breve', '', '', true))) . '" ' . (($t1 = strval(interdire_scripts(entites_html(textebrut(filtre_introduction_dist('', $Pile[$SP]['texte'], 300, $connect, null)))))) !== '' ? 'title="' . $t1 . '"' : '') . '>' . interdire_scripts(supprimer_numero(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))) . '</a> </li> '; lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) { spip_log(intval(1000 * $timer) . "ms BOUCLE_breves_rubriques @ squelettes/inc/inc-breves.html", "profiler" . _LOG_AVERTISSEMENT); } return $t0; }
/** * Nom du fichier de sauvegarde * * la fourniture de l'extension permet de vérifier que le nom n'existe pas déjà. * * @param string $dir Chemin de stockage du fichier * @param string $extension Extension du fichier de sauvegarde * @return string */ function dump_nom_fichier($dir, $extension = 'sqlite') { include_spip('inc/texte'); $site = 'spip'; if (isset($GLOBALS['meta']['nom_site'])) { $site = typo($GLOBALS['meta']['nom_site']); // extraire_multi $site = couper(translitteration(trim($site)), 30, ""); $site = preg_replace(array(",\\W,is", ",_(?=_),", ",_\$,"), array("_", "", ""), $site); } $site .= '_' . date('Ymd'); $nom = $site; $cpt = 0; while (file_exists($dir . $nom . ".{$extension}")) { $nom = $site . sprintf('_%03d', ++$cpt); } return $nom . ".{$extension}"; }
function exec_breves_dist() { global $spip_lang_left, $spip_lang_right; pipeline('exec_init',array('args'=>array('exec'=>'breves'),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_breves'), "naviguer", "breves"); echo debut_gauche('', true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves'),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'breves'),'data'=>'')); echo debut_droite('', true); $result = sql_select('*', "spip_rubriques", "id_parent=0",'', '0+titre,titre'); while($row=sql_fetch($result)){ $id_rubrique=$row['id_rubrique']; $id_parent=$row['id_parent']; $titre=typo($row['titre']); $descriptif=$row['descriptif']; $texte=$row['texte']; $editable = autoriser('publierdans','rubrique',$id_rubrique); $statuts = "'prop', 'publie'" . ($editable ? ", 'refuse'": ""); $res = afficher_objets('breve',$titre.aide ("breves"), array("SELECT" => 'id_rubrique, id_breve, date_heure, titre, statut', "FROM" => 'spip_breves', 'WHERE' => "id_rubrique=$id_rubrique AND statut IN ($statuts)", 'ORDER BY' => "date_heure DESC"),'',true); echo $res ; if ($editable) { echo "<div style='float:$spip_lang_right'>" . icone_inline(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui&id_rubrique=$id_rubrique"), "breve-24.gif", "creer.gif", $spip_lang_right) . "</div><div class='nettoyeur'></div>"; } } echo pipeline('affiche_milieu',array('args'=>array('exec'=>'breves'),'data'=>'')); echo fin_gauche(), fin_page(); }
/** * Traiter la valeur de la vue en fonction du env * si un traitement a ete fait en amont (champs extra) ne rien faire * si pas de traitement defini (formidable) passer typo ou propre selon le type du champ * * @param string $valeur * @param string|array $env * @return string */ function saisie_traitement_vue($valeur, $env) { if (is_string($env)) { $env = unserialize($env); } if (!function_exists('propre')) { include_spip('inc/texte'); } $valeur = trim($valeur); // si traitement est renseigne, alors le champ est deja mis en forme // (saisies) // sinon on fait une mise en forme smart if ($valeur and !isset($env['traitements'])) { if (in_array($env['type_saisie'], array('textarea'))) { $valeur = propre($valeur); } else { $valeur = '<p>' . typo($valeur) . '</p>'; } } return $valeur; }
function configuration_rubriques_dist(){ global $spip_lang_left; $rubriques_descriptif = $GLOBALS['meta']["rubriques_descriptif"]; $rubriques_texte = $GLOBALS['meta']["rubriques_texte"]; $res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">" . "<tr><td colspan='2' class='verdana2'>" . typo(_T('config_activer_champs').':') . "</td></tr>" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_descriptif') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('rubriques_descriptif', $rubriques_descriptif, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . typo(_T('info_texte').':') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('rubriques_texte', $rubriques_texte, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "</table>"; $res = debut_cadre_trait_couleur("rubrique-24.gif", true, "", _T('icone_rubriques')) . ajax_action_post('configurer', 'rubriques', 'configuration','',$res) . fin_cadre_trait_couleur(true); return ajax_action_greffe('configurer-rubriques', '', $res); }
function selectionner_auteur_boucle($where, $idom) { $info = generer_url_ecrire('informer_auteur', "id="); $idom3 = $idom . '_selection'; $idom2 = $idom . '_new'; $idom1 = $idom . '_div'; $args = "'$idom3', '$info', event"; $res = ''; $all = sql_allfetsel("nom, id_auteur", "spip_auteurs", $where, '', "nom, statut"); foreach ($all as $row) { $id = $row["id_auteur"]; $nom = typo($row["nom"]); // attention, les <a></a> doivent etre au premier niveau // et se suivrent pour que changerhighligth fonctionne // De plus, leur zone doit avoir une balise et une seule // autour de la valeur pertinente pour que aff_selection // fonctionne (faudrait concentrer tout ca). $res .= "<a class='highlight off'" . "\nonclick=\"changerhighlight(this);" . "findObj_forcer('$idom2').value=" . $id . "; aff_selection($id,$args); return false;" . "\"\nondblclick=\"" // incomplet: le selecteur devient indisponible. A ameliorer . "findObj_forcer('$idom').parentNode.innerHTML='" . attribut_html($nom) . "'; findObj_forcer('$idom2').value=" . $id . "; return false" . "\"><b>" . $nom . "</b></a>"; } return $res; }