예제 #1
0
 /**
 * 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;
}
예제 #3
0
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("&amp;","&",urldecode($redirect)));
}
예제 #4
0
파일: informer.php 프로젝트: JLuc/SPIP
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("'", "&#8217;", str_replace('"', "&#34;", 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>";
}
예제 #5
0
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>" : "";
}
예제 #6
0
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;
    }
}
예제 #7
0
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();
}
예제 #8
0
/**
 * 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";
}
예제 #9
0
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.="&nbsp;&nbsp;&nbsp; ";
		}

		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;
}
예제 #11
0
파일: legender.php 프로젝트: rhertzog/lcs
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'));
}
예제 #12
0
/**
 * 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;
}
예제 #13
0
파일: mots_type.php 프로젝트: rhertzog/lcs
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("&laquo; $titre &raquo;", "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();
	}
}
예제 #14
0
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 . "&nbsp;" . _T('info_article_2');
		else if($nb == 1)
		  $nb = "1&nbsp;" . _T('info_article');
		else $nb = "&nbsp;";
	} 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>";
}
예제 #15
0
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>";
}
예제 #16
0
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[]= '&nbsp;';
	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 ? "&nbsp;"
	  :  "<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):"&nbsp;";

	return $vals;
}
예제 #17
0
파일: plonger.php 프로젝트: JLuc/SPIP
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}&amp;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>";
}
예제 #18
0
	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;
	}
예제 #19
0
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();
	}
}
예제 #20
0
/**
 * 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');
}
예제 #22
0
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'));
}
예제 #23
0
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;
}
예제 #26
0
/**
 * 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}";
}
예제 #27
0
파일: breves.php 프로젝트: rhertzog/lcs
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;
}
예제 #29
0
파일: rubriques.php 프로젝트: rhertzog/lcs
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')), " &nbsp; ")
	. "</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')), " &nbsp; ")
	. "</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);

}
예제 #30
0
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;
}