示例#1
0
function exec_admin_declarer_dist()
{
	if (!autoriser('detruire')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_admin_tech'), "configuration", "base");

	echo "\n<br /><br />";
	echo gros_titre(_T('titre_admin_effacer'),'',false);
	echo barre_onglets("administration", "declarer");

	echo debut_gauche('',true);
	echo debut_boite_info(true);

	echo _T('info_gauche_admin_effacer');

	echo fin_boite_info(true);
	
	echo creer_colonne_droite('',true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));	  
	
	echo debut_droite('',true);

	echo autres_bases();

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));	  

	echo fin_gauche(), fin_page();
	}
}
示例#2
0
function forum_envoi(
		     $id,
		     $id_parent,
		     $script,
		     $statut,
		     $titre_message,
		     $texte,
		     $modif_forum,
		     $nom_site,
		     $url_site)
{
	if ($modif_forum == 'fin') {
		include_spip('inc/headers');
		$script = preg_replace('/\W/','', $script); // article etc
		$objet = preg_replace('/\W/','', $texte); // id_article etc
		redirige_url_ecrire('discuter', "script=$script&objet=$objet&$objet=$id&statut=$statut" . ($id_parent ? "&id_parent=$id_parent" : ''));
	} else {
		$statut = preg_replace('/\W/','', $statut);
		$forum_envoi = charger_fonction('forum_envoi', 'inc');
		$forum_envoi = $forum_envoi($id, $id_parent, $script, $statut, $titre_message, $texte, $modif_forum, $nom_site, $url_site);

		if (_AJAX) {
			ajax_retour($forum_envoi);
		} else {
			$titre = $script == 'message' ? _T('onglet_messagerie') : _T('titre_cadre_forum_interne');
			$commencer_page = charger_fonction('commencer_page', 'inc');
			echo $commencer_page(_T('texte_nouveau_message'), "accueil", "accueil");
			echo debut_gauche('', true);
			echo debut_droite('', true);
			echo gros_titre($titre,'', false);
			echo $forum_envoi, fin_gauche(), fin_page();
		}
	}
}
示例#3
0
function exec_acces_restreint(){
	if (!autoriser('administrer','zone',0)) {
		include_spip('inc/minipres');
		echo minipres();
		exit;
	}

	$commencer_page = charger_fonction('commencer_page','inc');
	echo $commencer_page(_T('accesrestreint:page_zones_acces'));
	
	echo gros_titre(_T('accesrestreint:titre_zones_acces'),'',false);
	echo debut_gauche("acces_restreint",true);
	
	echo debut_boite_info(true);
	echo propre(_T('accesrestreint:info_page'));	
	echo fin_boite_info(true);
	
	if (autoriser('webmestre')) {
		$res = icone_horizontale(_L('Configuration des acc&#232;s .htaccess'), generer_url_ecrire("acces_restreint_config"), "../"._DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif", "cadenas-24.gif",false);
		echo bloc_des_raccourcis($res);
	}
	
	echo debut_droite("acces_restreint",true);
	echo recuperer_fond('prive/acces_restreint',$_GET);
	if (autoriser('modifier','zone'))
		echo "<div>".icone_inline(_T('accesrestreint:creer_zone'),
		  generer_url_ecrire("zones_edit","new=oui"),
		  _DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif",
		  "creer.gif",'right')."</div>";

	echo fin_gauche(),fin_page();
}
示例#4
0
function exec_config_lang_dist()
{ 

	if (!autoriser('configurer', 'lang')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	$config = charger_fonction('config', 'inc');
	$config();

	pipeline('exec_init',array('args'=>array('exec'=>'config_lang'),'data'=>''));
	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "langues");

	echo debut_gauche('', true);

	echo debut_droite('', true);

	echo "<br /><div style='text-align: center'>", 
	  gros_titre(_T('info_langues'), '', false),
	  '</div><br />',
	  barre_onglets("config_lang", "langues"),
	  '<br />';
 
	$langue = charger_fonction('langue', 'configuration');
	echo $langue();

	$transcodeur = charger_fonction('transcodeur', 'configuration');
	echo $transcodeur();

	echo fin_gauche(), fin_page();
	}
}
function spiplistes_gros_titre ($titre, $ze_logo='', $return = false) {
	if(!spiplistes_spip_est_inferieur_193()) {
		$ze_logo = ""; // semble ne plus etre utilise dans exec/
	}
	$aff = ($return === false);
	$r = gros_titre($titre, $ze_logo, $aff);
	if($return) return($r);
}
示例#6
0
function exec_statistiques_referers_dist()
{
	$jour = _request('jour');
	$limit  = _request('limit');
// nombre de referers a afficher
	$limit = intval($limit);	//secu
	if (!autoriser('voirstats','article')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	if ($limit == 0) $limit = 100;
	if ($jour<>'veille') $jour='jour';

	$referenceurs = charger_fonction('referenceurs', 'inc');
	$res = $referenceurs (0, "SUM(visites_$jour)", 'spip_referers', "visites_$jour>0", "referer", $limit);

	$n =  count($res);
	$args = "jour=$jour&limit=" . strval($limit+200);
	$plus = generer_url_ecrire('statistiques_referers', $args);

	if ($plus) {
		$plus = "<div style='text-align:right;'><b><a href='$plus'>+++</a></b></div>";
	}

	$titre = _T('titre_liens_entrants')
		. " ($n " 
		. ($n <= 1 ?  _T('info_site') :  _T('info_sites'))
		. ")";

	$commencer_page = charger_fonction('commencer_page', 'inc');

	echo $commencer_page(_T('titre_page_statistiques_referers'), "statistiques_visites", "referers");

	echo "<br /><br /><br />";
	echo gros_titre($titre,'', false);
	echo debut_gauche('', true);
	echo debut_boite_info(true);
	echo "<p style='font-size:small; text-align:left;' class='verdana1'>";
	echo _T('info_gauche_statistiques_referers');
	echo "</p>";
	echo fin_boite_info(true);
	echo debut_droite('', true);
	echo barre_onglets("stat_referers", $jour);

	if ($res) {
		echo "<br /><div style='font-size:small;' class='verdana1'>";
		echo "<ul class='referers'><li>";
		echo join("</li><li>\n", $res);
		echo "</li></ul>";
		echo $plus;
		echo "</div><br />";
	}

	echo fin_gauche(), fin_page();
	}
}
示例#7
0
function exec_cfg_install_libs_dist($class = null)
{
    include_spip('inc/filtres');
    include_spip("inc/presentation");
    global $cfg_libs;
    // droits : il faut avoir le droit de choisir les plugins,
    // mais aussi d'en ajouter
    include_spip('inc/autoriser');
    if (!autoriser('configurer', 'plugins')) {
        echo minipres();
        exit;
    }
    pipeline('exec_init', array('args' => array('exec' => 'cfg'), 'data' => ''));
    $commencer_page = charger_fonction('commencer_page', 'inc');
    echo $commencer_page(_T('cfg:installation_librairies'), 'cfg');
    echo "<br /><br /><br />\n";
    echo gros_titre(_T('cfg:installation_librairies'), '', false);
    // colonne gauche
    echo debut_gauche('', true);
    echo pipeline('affiche_gauche', array('args' => array('exec' => 'cfg'), 'data' => ''));
    echo creer_colonne_droite('', true);
    echo pipeline('affiche_droite', array('args' => array('exec' => 'cfg'), 'data' => ''));
    echo debut_droite("", true);
    // centre de la page
    echo debut_cadre_trait_couleur('', true, '', _T('cfg:installation_liste_libs'));
    // message pour creer le dossier lib/
    if (!is_dir(_DIR_LIB) && !is_writable(_DIR_LIB)) {
        echo "<p class='important'>" . _T('cfg:installer_dossier_lib', array('dir' => joli_repertoire(_DIR_LIB))) . "</p>\n";
    }
    // message pour installation 1.9.2
    if ($spip192 = defined('_COMPAT_CFG_192') && _COMPAT_CFG_192) {
        echo "<p>" . _T('cfg:installer_lib_192', array('dir' => joli_repertoire(_DIR_LIB))) . "</p>\n";
    }
    // mettre un lien pour telecharger les libs
    include_spip('inc/actions');
    foreach ($cfg_libs as $lib => $info) {
        // deja present ?  texte du bouton :  "mettre a jour", sinon "telecharger"
        $quoi = is_dir(_DIR_LIB . $info['dir']) ? 'update' : 'install';
        echo "<dl>\n";
        echo "<dt>" . $info['nom'] . "</dt>\n";
        echo "<dd>" . $info['description'] . "</dd>\n";
        // cas 1.9.2
        // proposer de copier manuellement le zip decompresse dans le dossier lib
        if ($spip192) {
            echo "<dd>" . ($quoi == 'update' ? "(" . _T('cfg:bouton_mettre_a_jour') . ") " : "") . "<a class='spip_out' href='{$info['install']}' />{$info['install']}</a></dd>\n";
            // cas > 1.9.2
            // chargeur plugin/lib de spip
        } else {
            echo "<dd>" . redirige_action_auteur('charger_plugin', 'lib', '', '', "<input type='hidden' name='url_zip_plugin' value='{$info['install']}' />" . "<input type='hidden' name='retour' value='" . self() . "' />" . "<input type='submit' class='fondo' name='ok' value='" . ($quoi == 'update' ? _T('cfg:bouton_mettre_a_jour') : _T('bouton_telecharger')) . "' />", "\nmethod='post'") . "</dd>\n";
        }
        echo "</dl>\n";
    }
    echo fin_cadre_trait_couleur(true);
    // pied
    echo fin_gauche() . fin_page();
}
示例#8
0
文件: cfg.php 项目: pcrest/eludis
function exec_cfg_dist($class = null)
{
    include_spip('inc/filtres');
    $cfg = cfg_charger_classe('cfg', 'inc');
    $config =& new $cfg($nom = sinon(_request('cfg'), ''), $cfg_id = sinon(_request('cfg_id'), ''));
    // traitements du formulaire poste
    $config->traiter();
    //
    // affichages
    //
    include_spip("inc/presentation");
    if (!$config->autoriser()) {
        echo $config->acces_refuse();
        exit;
    }
    pipeline('exec_init', array('args' => array('exec' => 'cfg'), 'data' => ''));
    $commencer_page = charger_fonction('commencer_page', 'inc');
    echo $commencer_page($config->get_boite(), 'cfg', $config->get_nom());
    echo "<br /><br /><br />\n";
    echo gros_titre(sinon($config->get_titre(), _T('cfg:configuration_modules')), '', false);
    echo $config->barre_onglets();
    // colonne gauche
    echo debut_gauche('', true);
    // si un formulaire cfg est demande
    if ($s = $config->descriptif()) {
        echo debut_boite_info(true) . $s . fin_boite_info(true);
    }
    echo pipeline('affiche_gauche', array('args' => array('exec' => 'cfg'), 'data' => ''));
    echo creer_colonne_droite('', true);
    echo pipeline('affiche_droite', array('args' => array('exec' => 'cfg'), 'data' => ''));
    // affichage des messages envoyes par cfg
    if ($s = $config->messages()) {
        echo debut_boite_info(true) . $s . fin_boite_info(true);
    }
    // affichage des liens
    if ($s = $config->liens()) {
        echo debut_boite_info(true) . $s . fin_boite_info(true);
    }
    if ($s = $config->liens_multi()) {
        echo debut_boite_info(true) . $s . fin_boite_info(true);
    }
    echo debut_droite("", true);
    // centre de la page
    if ($config->get_presentation() == 'auto') {
        echo debut_cadre_trait_couleur('', true, '', $config->get_boite());
        echo $config->formulaire();
        echo fin_cadre_trait_couleur(true);
    } else {
        echo $config->formulaire();
    }
    // pied
    echo fin_gauche() . fin_page();
}
示例#9
0
function exec_lang_raccourcis_dist() {
	global  $spip_lang_left;


	##### a revoir : des repertoires lang, il peut y en avoir plusieurs
	$modules = array();
	$fichiers = preg_files(repertoire_lang().'[a-z_]+\.php[3]?$');
	foreach ($fichiers as $fichier) {
		if (preg_match(',/([a-z]+)_([a-z_]+)\.php[3]?$,', $fichier, $r))
			isset($modules[$r[1]])?($modules[$r[1]] ++):($modules[$r[1]]=1);
	}

	$modules = array_keys($modules);

	if (!in_array($module = _request('module'), $modules))
		$module = 'public';

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('module_fichier_langue').": $module",
		"configuration", "langues");

	echo debut_gauche('', true);

	if (count($modules) > 1) {

		echo "<br /><br /><br /><br /><br /><br /><br /><br /><br />";
		echo debut_cadre_relief('',true,'',_T('module_fichiers_langues'));

		foreach ($modules as $nom_module) {
			if ($nom_module == $module) echo "<div style='padding-$spip_lang_left: 10px;' class='verdana3'><b>$nom_module</b></div>";
			else echo "<div style='padding-$spip_lang_left: 10px;' class='verdana3'><a href='" . generer_url_ecrire("lang_raccourcis","module=$nom_module") . "'>$nom_module</a></div>";
		}
		echo fin_cadre_relief(true);
	}

	echo debut_droite('', true);

	echo "<br /><div style='text-align: center'>", 
	  gros_titre(_T('module_fichier_langue').": $module",'', false),
	  '</div><br />',
	  barre_onglets("config_lang", "fichiers"),
	  '<br />';

	afficher_raccourcis($module);

	echo fin_gauche(), fin_page();

}
示例#10
0
function exec_charger_plugin_dist($retour='') {

	if (!autoriser('configurer', 'plugins')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

		$commencer_page = charger_fonction('commencer_page', 'inc');
		echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin");
		echo "<br />\n";
		echo "<br />\n";

		echo gros_titre(_T('icone_admin_plugin'),'',false);
		echo barre_onglets("plugins", "charger_plugin");

		echo debut_gauche('plugin',true);
		echo debut_boite_info(true);
		$s = "";
		$s .= _T('info_gauche_admin_tech');
		echo $s;
		echo fin_boite_info(true);

		echo pipeline('affiche_gauche',
			array(
			'args'=>array('exec'=>'charger_plugin'),
			'data'=>''
			)
		);

		echo debut_droite('plugin', true);
		// voire si on peut creer le repertoure auto/ sans rien demander
		sous_repertoire(_DIR_PLUGINS_AUTO, '', true, true);
		
		echo "<div class='liste-plugins formulaire_spip'>";
		include_spip('inc/charger_plugin');
		echo formulaire_charger_plugin($retour);
		echo "</div>";

		echo pipeline('affiche_milieu',
			array(
			'args'=>array('exec'=>'charger_plugin'),
			'data'=>''
			)
		);

		echo fin_gauche(), fin_page();
	}
}
示例#11
0
function exec_acces_restreint_config(){

	if (!autoriser('webmestre')) {
		include_spip('inc/minipres');
		echo minipres();
		exit;
	}

	include_spip('inc/config');
	inc_config_dist();
	if (_request('changer_config') == 'oui')
		accesrestreint_appliquer_modifs_config();

	pipeline('exec_init',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));
	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_page_config'), "configuration", "configuration");

	echo gros_titre(_T('titre_config_fonctions'),'',false);

	echo debut_gauche('',true);
	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));
	echo creer_colonne_droite('',true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));


	//Raccourcis
	$res = icone_horizontale(_T('accesrestreint:voir_toutes'), generer_url_ecrire("acces_restreint",''), "../"._DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif", 'rien.gif',false);
	echo bloc_des_raccourcis($res);


	echo debut_droite('',true);
	lire_metas();

	$action = generer_url_ecrire('acces_restreint_config');

	echo "<form action='$action' method='post'><div>", form_hidden($action);
	echo "<input type='hidden' name='changer_config' value='oui' />";


	accesrestreint_htaccess_config();
	accesrestreint_htpasswd_config();
	echo '</div></form>';

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));

	echo fin_gauche(), fin_page();
}
示例#12
0
function exec_vacarme()
{
    if (!autoriser('administrer', 'vacarme', 0)) {
        include_spip('inc/minipres');
        echo minipres();
        exit;
    }
    $vue = _request('vue');
    if (!$vue) {
        $vue = 'commandes';
    }
    $commencer_page = charger_fonction('commencer_page', 'inc');
    echo $commencer_page(_T('Gestion des commandes et des abonnements'));
    echo gros_titre(_T('Gestion des commandes et des abonnements'), '', false);
    echo debut_grand_cadre(true);
    echo recuperer_fond('prive/squelettes/vacarme', $_GET);
    echo fin_grand_cadre(true), fin_page();
}
示例#13
0
文件: forum.php 项目: rhertzog/lcs
function forum_affiche($debut, $admin=false)
{
	pipeline('exec_init',array('args'=>array('exec'=>'forum'),'data'=>''));

	$commencer_page = charger_fonction('commencer_page', 'inc');
	if ($admin) {
		echo $commencer_page(_T('titre_page_forum'), "forum", "privadm");
		$statutforum = 'privadm';
		$script = 'forum_admin';
		$meta = 'forum_prive_admin';
		$titre = gros_titre(_T('titre_cadre_forum_administrateur'),'', false);
	} else {
		echo $commencer_page(_T('titre_forum'), "forum", "forum-interne");
		$statutforum = 'privrac';
		$script = 'forum';
		$meta = 'forum_prive';
		$titre = gros_titre(_T('titre_cadre_forum_interne'),'', false);
	}

  	echo debut_gauche('', true);
	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'forum'),'data'=>''));
	echo creer_colonne_droite('', true);


	if ($admin)
		echo icone_horizontale(_T('titre_cadre_forum_interne'), generer_url_ecrire("forum",""), "forum-interne-24.gif","rien.gif", false);

	else if (!$admin AND $GLOBALS['meta']['forum_prive_admin'] == 'oui'
	AND autoriser('forum_admin'))
		echo icone_horizontale(_T('titre_cadre_forum_administrateur'), generer_url_ecrire("forum_admin",""), "forum-admin-24.gif","rien.gif", false);

	echo pipeline('affiche_droite',array('args'=>array('exec'=>'forum'),'data'=>''));

	echo debut_droite('', true), $titre;

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>'forum'),'data'=>''));

	if ($GLOBALS['meta'][$meta] != 'non') {
		$discuter = charger_fonction('discuter', 'inc');
		echo $discuter(0, $script, '', $statutforum, $debut);
	}
	echo fin_gauche(), fin_page();
}
示例#14
0
function exec_config_multilang_dist()
{

	if (!autoriser('configurer', 'multilang')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	$config = charger_fonction('config', 'inc');
	$config();

	pipeline('exec_init',array('args'=>array('exec'=>'config_multilang'),'data'=>''));
	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "langues");

	echo debut_gauche('', true);
	
	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'config_multilang'),'data'=>''));
	echo creer_colonne_droite('', true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'config_multilang'),'data'=>''));
	echo debut_droite('', true);

	echo "<br /><div style='text-align: center'>", 
	  gros_titre(_T('info_langues'),'', false),
	  '</div><br />',
	  barre_onglets("config_lang", "multi"),
	  '<br />';

	$referenceur = charger_fonction('referenceur', 'configuration');
	echo $referenceur();

	if ($GLOBALS['meta']['multi_articles'] == "oui"
	OR $GLOBALS['meta']['multi_rubriques'] == "oui"
	OR count(explode(',',$GLOBALS['meta']['langues_utilisees'])) > 1) {
		$locuteur = charger_fonction('locuteur', 'configuration');
		echo $locuteur();
	}

	echo fin_gauche(), fin_page();
	}
}
示例#15
0
function exec_test_couteau_suisse() {
cs_log("DEDUT : exec_test_couteau_suisse()");
	global $connect_statut, $connect_toutes_rubriques;

	cs_minipres();

	// initialisation generale forcee : recuperation de $outils;
	cs_initialisation(true);

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('couteauprive:titre_tests'), "configuration", 'couteau_suisse');

	echo '<br /><br /><br />', gros_titre(_T('couteauprive:titre_tests'), '', false), 
		'<div style="width:98%; text-align:left; margin:0 auto">';
	// et hop, on lance les tests !
	cs_les_tests();
	echo '</div>';

	echo fin_page();
cs_log(" FIN : exec_test_couteau_suisse()");
}
function exec_vacarme_numeros()
{
    if (!autoriser('editer', 'article')) {
        include_spip('inc/minipres');
        echo minipres();
        exit;
    }
    include_spip("genie/vacarme_numeros_import");
    // page
    $commencer_page = charger_fonction('commencer_page', 'inc');
    echo $commencer_page(_T('rssarticle:activer_recopie_intro'), 'editer', 'editer');
    echo gros_titre(_T('rssarticle:activer_recopie_intro'), '', false);
    // colonne gauche
    echo debut_gauche('', true);
    echo debut_droite('', true);
    genie_vacarme_numeros_import_dist('manuel');
    //include_spip("vacarme_numeros_fonctions");
    //vacarme_numeros_import_test();
    echo '<div style="margin:2em 0;"><a href="?exec=vacarme_numeros" style="border:1px solid;padding:0.5em;background:#fff;">' . _T('rssarticle:maj_recharge') . '</a></div>';
    // pied
    echo fin_gauche() . fin_page();
}
示例#17
0
文件: rec_mc.php 项目: rhertzog/lcs
function exec_rec_mc_dist(){
// elements spip
global 	$connect_statut,
		$connect_toutes_rubriques,
		$connect_id_auteur,
		$couleur_claire, $couleur_foncee;

//#plug(11-07) : fonctions requises...(construction de la liste des rubriques, ...)
	include_spip("inc/rec_mc_inc_fonct");

//#plug(11-07) : Initialisation de l'id rubrique . Mis a -1 pour le premier affichage
	$rub = -1;
//#plug(11-07) : Recupération de l'id rubrique si $_post
	if (isset($_POST['rub'])) 
		$rub = $_POST['rub'];
	elseif (isset($_GET['rub'])) 
		$rub = $_GET['rub'];
		
	$Refresh  = "";		
	if (isset($_POST['refresh'])) {
		$Refresh = $_POST['refresh'];
	}
	elseif (isset($_GET['refresh'])) {
		$Refresh = $_GET['refresh'];
	}

//#plug(11-07) : construction des "blocs"	
include_spip("inc/rec_mc_inc_pres");

$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page(_T('rmc:titre_page_admin'), "suivi", "rec_mc");
		echo "<a name='haut_page'></a><br />";
		echo gros_titre(_T('rmc:titre_page_admin'),'',false);


echo debut_gauche('', true);	

	//#plug(11-07) :  TODO : Etat des lieux...
		menu_admin() ;

	creer_colonne_droite();

	//#plug(11-07) :  vers popup aide 
	bloc_ico_aide_ligne();

	//#plug(11-07) :  signature
	echo "<br />";
	echo debut_boite_info(true);
		echo _T('rmc:signature');
	echo fin_boite_info(true);
	echo "<br />";

echo debut_droite('', true);

	echo debut_cadre_relief( _DIR_IMG_REC_MC."rec_mc-24.png");

		echo gros_titre(_T('rmc:titre_config'),'',false);

		echo _T('rmc:info_config');
		echo "<br />";

		//#plug(11-07) :  verif de l'existence d'au moins une rubrique
		$r=mysql_query("SELECT * FROM spip_rubriques");
		$nb_r=mysql_num_rows($r);		
		//#plug(11-07) : verif de l'existence d'au moins un groupe de mots
		$g=mysql_query("SELECT * FROM spip_groupes_mots");
		$nb_g=mysql_num_rows($g);		
		if($nb_r==0){
		echo	debut_boite_erreur(_T('rmc:erreur_rubrique')) ;

		}else if($nb_g==0){
		echo	debut_boite_erreur(_T('rmc:erreur_groupes_mots')) ;

		}else{
			//#plug(11-07) : Selectionner une rubrique
			echo debut_cadre_trait_couleur('',true, '', _T('rmc:rubriques'));
			echo _T('rmc:text_select_rubrique')." <br /><br />";

			echo "<form action=\" ".$PHP_SELF." \" method=\"POST\">";
			//#plug(11-07) :  Commentaire Dom : ma ligne qui merde !!!! ne merde plus!!!!!!!!!!!!!!
			echo "<select style=\"width:100%;\" name=\"rub\" onchange=\"window.location=('".generer_url_ecrire("rec_mc","rub='+this.options[this.selectedIndex].value").")\">";	
			if ($rub == -1) echo "<option value=\"-1\" selected><b>"._T('rmc:select_rubrique')."</b>";
			else echo "<option value=\"-1\"><b>"._T('rmc:select_rubrique')."</b>";

	
			if ($rub == 0) echo "<option value=\"0\" selected style=\"font-weight:bold\">"._T('rmc:select_ttes_rubriques');
			else echo "<option value=\"0\" style=\"font-weight:bold\">"._T('rmc:select_ttes_rubriques');
	
			$query = "SELECT id_parent FROM spip_rubriques order by titre";
			$result=spip_query($query);

			while($row=spip_fetch_array($result)){
				$parent_parent=$row['id_parent'];
			}
		getenfant(0,$rub);
		echo "</select><BR>\n";
		echo "</form>";
		echo fin_cadre_trait_couleur(true);
		}


		$idgroupeprec = 0;
		
		if ($rub != -1) {

		echo debut_cadre_trait_couleur ('', true, '', _T('rmc:groupes_mots'));

//#plug(11-07) :  formulaire - envoi du traitement vers action/rec_mc_ajoutgroupes
			echo '<form action="'.generer_url_action('rec_mc_ajoutgroupes').'" method="post">';
			echo "<input type='hidden' name='redirect' value='".generer_url_ecrire("rec_mc", "rub=".$rub)."' />\n";
			echo "<input type='hidden' name='hash' value='".calculer_action_auteur("ajoutgroupes-rien")."' />\n";
			echo "<input type='hidden' name='id_auteur' value='".$connect_id_auteur."' />\n";
			echo "<input type='hidden' name='rub' value='$rub'>";
	
		
			if ($rub > -1) {
				$sql = "SELECT spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre AS titremot, spip_mots.id_mot as id_mot, spip_rmc_rubs_groupes.id_rubrique AS idrub FROM spip_groupes_mots 
								INNER JOIN spip_mots ON spip_mots.id_groupe = spip_groupes_mots.id_groupe 
								INNER JOIN spip_rmc_rubs_groupes ON spip_rmc_rubs_groupes.id_groupe = spip_groupes_mots.id_groupe 
								WHERE id_rubrique = $rub GROUP BY spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre 
								ORDER BY spip_groupes_mots.id_groupe";
			}
		
			$result = spip_query($sql);

		
			$aff_groupes_select="";
			$listidgrp = "";
			$compt = 0;
			$nbr = 0;
			if ($result) {
				while ($row = mysql_fetch_assoc($result)) {
					extract($row);
				
					if ($idgroupeprec != $id_groupe) {
							$aff_groupes_select.=" <br /><div style=\"background-color:#ccc; border:1px solid ".$couleur_foncee."; font-size:1.2em; font-weight:bold\"><input type=checkbox name=\"idgrp[]\" value=\"$id_groupe\" checked />$titre</div>";
							$nbr = ++$nbr;
						if ($compt == 0) {
							$listidgrp .= "$id_groupe";
							$compt = 1;
							$nb_groupes = ++$ng;
						}
						else $listidgrp .= ",$id_groupe";
					}
					$s="SELECT id_mot_exclu FROM spip_rmc_mots_exclus WHERE id_mot_exclu=$id_mot AND id_rubrique=$rub";
					$r=spip_query($s);
					$rw=spip_fetch_array($r);
					if($rw['id_mot_exclu']==$id_mot){
					$aff_groupes_select.= "<div style=\"border:1px solid ".$couleur_foncee."; background-color:#eee; font-size:.9em;height:18px;\"  ><span style='float:right;color:red;font-weight:bold;'>"._T('rmc:mot_exclu')."<input type=checkbox name='motsexclus[]' value='$id_mot' style='margin:0 2px;padding:0;' checked='checked' /></span> $titremot</div>";
					}else{
					$aff_groupes_select.= "<div style=\"border:1px solid ".$couleur_foncee."; background-color:#eee; font-size:.9em;height:18px;\"  ><span style='float:right;color:red;'>"._T('rmc:mot_exclure')."<input type=checkbox name='motsexclus[]' value='$id_mot' style='margin:0 2px;padding:0;'/></span> $titremot</div>";
					}
					$idgroupeprec = $id_groupe;

				}
				mysql_free_result($result);
			}
			if ($rub > -1) {
				if ($listidgrp != "") 
					$sql = "SELECT spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre 
								AS titremot 
								FROM spip_groupes_mots 
								INNER JOIN spip_mots ON spip_mots.id_groupe = spip_groupes_mots.id_groupe 
								WHERE spip_groupes_mots.id_groupe not IN ($listidgrp) 
								GROUP BY spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre 
								ORDER BY spip_groupes_mots.id_groupe";
				else 
					$sql = "SELECT spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre 
								AS titremot 
								FROM spip_groupes_mots 
								INNER JOIN spip_mots ON spip_mots.id_groupe = spip_groupes_mots.id_groupe 
								GROUP BY spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre 
								ORDER BY spip_groupes_mots.id_groupe";
			}
			$result = spip_query($sql);

			$idgroupeprc = 0;	
			$aff_groupes_noselected = "";
			$j=0;
			if ($result) {
				while ($row = mysql_fetch_assoc($result)) {
					extract($row);
				
					if ($idgroupeprec != $id_groupe) {
						$aff_groupes_noselected.=" <br /><div style=\"background-color:#ccc; border:1px solid ".$couleur_foncee."; font-size:1.2em; font-weight:bold\"><input type=checkbox name=\"idgrp[]\" value=\"$id_groupe\">$titre</div>";
						$nb_groupes_at = ++$j;
					}
					$aff_groupes_noselected.= "<div style=\"border:1px solid ".$couleur_foncee."; background-color:#eee; font-size:.9em\"  > $titremot</div>";
					$idgroupeprec = $id_groupe;
			
				}
				mysql_free_result($result);
			}

//#plug(11-07) : Affichage
			//#plug(11-07) : Affichage des groupes attribues (deja selectionnes)

			if($nbr >0){
				echo debut_cadre_relief(_DIR_IMG_PACK."groupe-mot-24.gif");
				debut_band_titre($couleur_foncee, "verdana3", "bold");
						if($idrub==0 ){
				echo _T('rmc:groupes_toutes_rubriques');
				}else{
				echo _T('rmc:groupes_mots_attribues');
				}
				echo fin_bloc();
				echo "$aff_groupes_select";
				echo fin_cadre_relief();
			}
				
			//#plug(11-07) : Affichage des groupes non attribues
			debut_cadre_relief(_DIR_IMG_PACK."groupe-mot-24.gif");
			if($nb_groupes_at >0){
				debut_band_titre($couleur_foncee, "verdana3", "bold");
				echo _T('rmc:groupes_mots_non_attribues');
				echo fin_bloc();
			}else{
				echo _T('rmc:groupes_mots_tous_attribues');
			} 
			echo $aff_groupes_noselected;
			echo fin_cadre_relief();
		echo "<input type=\"submit\" name=\"refresh\" value=\"Valider\">";
		echo "</form>";
		echo fin_cadre_trait_couleur(true);
		}
	echo fin_cadre_relief();
echo fin_gauche().fin_page();//fin page
}//finexec
示例#18
0
function exec_admin_galettonuts()
{
    // Seuls les super-admins sont authorisés réaliser des synchros,
    // et par conséquent de configurer le plugin
    if (!('0minirezo' === $GLOBALS['auteur_session']['statut'] && $GLOBALS['connect_toutes_rubriques'])) {
        echo minipres(_T('avis_non_acces_page'));
        exit;
    }
    $erreurs = array();
    $icone_base = _DIR_PLUGIN_GALETTONUTS . 'img_pack/galettonuts-sql_status-';
    $icone_src = 'config-168.png';
    $icone_title = _T('galettonuts:icone_db_config');
    include_spip('inc/galettonuts_fonctions');
    // Lecture de la configuration
    if (!class_exists('L2_Spip_Plugin_Metas')) {
        include_spip('lib/L2/Spip/Plugin/Metas.class');
    }
    $config = new L2_Spip_Plugin_Metas('galettonuts_config');
    $contexte = $config->lire();
    $activer_cron = array_key_exists('activer_cron', $contexte) ? $contexte['activer_cron'] : true;
    // {{{ Traitement des données reçues
    if (_request('_galettonuts_ok')) {
        $champs = array('adresse_db' => _request('adresse_db'), 'login_db' => _request('login_db'), 'pass_db' => _request('pass_db'), 'prefix_db' => _request('prefix_db'), 'choix_db' => _request('choix_db'));
        // Des champs sont-ils vides ?
        $champs = array_map('trim', $champs);
        if (false === (!in_array(null, $champs) || !in_array('', $champs))) {
            $erreurs[] = _T('galettonuts:texte_erreur_1');
        }
        // Activer la synchronisation automatique ?
        if ('oui' == _request('activer_cron')) {
            $activer_cron = true;
        } else {
            $activer_cron = false;
        }
        if ($activer_cron) {
            $champs['heures'] = intval(_request('heures'));
            $champs['minutes'] = intval(_request('minutes'));
            $synchro = new L2_Spip_Plugin_Metas('galettonuts_synchro');
            $frequence = 3600 * $champs['heures'] + 60 * $champs['minutes'];
            if ($frequence !== $synchro->lire('frequence')) {
                $synchro->ajouter(array('frequence' => $frequence), true);
                $fichier = '<?php define(\'_GALETTONUTS_DELAIS_CRON\', ' . $frequence . '); ?>';
                ecrire_fichier(_DIR_TMP . 'galettonuts_cron.php', $fichier, true);
                unset($fichier);
            }
        } else {
            // On s'assure de bien supprimer le fichier de vérouillage
            // pour forcer la resynchronisation tenant compte de la nouvelle
            // configuration.
            if (file_exists(_DIR_TMP . 'galettonuts_cron.lock')) {
                unlink(_DIR_TMP . 'galettonuts_cron.lock');
            }
            if (file_exists(_DIR_TMP . 'galettonuts_cron.php')) {
                unlink(_DIR_TMP . 'galettonuts_cron.php');
            }
        }
        $contexte['activer_cron'] = $activer_cron;
        // Prise en compte dans le contexte
        $contexte = array_merge($contexte, $champs);
        unset($champs);
        // Test de connexion à la BDD Galette
        if (!count($erreurs)) {
            $link = galettonuts_galette_db($contexte['adresse_db'], $contexte['login_db'], $contexte['pass_db']);
            if (-1 === $link) {
                $erreurs[] = _T('galettonuts:avis_connexion_echec_1');
                $icone_src = 'error-168.png';
                $icone_title = _T('galettonuts:icone_db_erreur');
            } else {
                if (-2 === galettonuts_galette_db($contexte['choix_db'], $link)) {
                    $erreurs[] = _T('galettonuts:avis_connexion_echec_2');
                    $icone_src = 'error-168.png';
                    $icone_title = _T('galettonuts:icone_db_erreur');
                } else {
                    $icone_src = 'ok-168.png';
                    $icone_title = _T('galettonuts:icone_db_ok');
                    $contexte['db_ok'] = true;
                }
            }
            if (0 < $link) {
                mysql_close($link);
            }
            unset($link);
        }
        // Interraction avec Accès Restreint
        if (defined('_DIR_PLUGIN_ACCESRESTREINT')) {
            if ($config->existe('zones')) {
                galettonuts_dissocier_zones($config->lire('zones'));
            }
            $zones = _request('zones');
            if (is_array($zones) && 0 < count($zones)) {
                $contexte['zones'] = $zones;
            } else {
                $config->supprimer(array('zones' => null));
                unset($contexte['zones']);
            }
            unset($zones);
        }
        // Mémorisation de la configuration à la base de données Galette
        if (!count($erreurs)) {
            $config->ajouter($contexte, true);
        }
        // Lancer une synchronisation
        if (0 == count($erreurs)) {
            galettonuts_synchroniser(true);
        }
    } else {
        if (!empty($contexte['adresse_db']) && !empty($contexte['login_db']) && !empty($contexte['pass_db'])) {
            $link = galettonuts_galette_db($contexte['adresse_db'], $contexte['login_db'], $contexte['pass_db']);
            if (0 > $link) {
                $icone_src = 'error-168.png';
                $icone_title = _T('galettonuts:icone_db_erreur');
                $config->ajouter(array('db_ok' => false));
            } else {
                $icone_src = 'ok-168.png';
                $icone_title = _T('galettonuts:icone_db_ok');
                $config->ajouter(array('db_ok' => true));
                mysql_close($link);
                unset($link);
            }
        }
    }
    // }}}
    // {{{ Affichage
    // Haut de page
    $commencer_page = charger_fonction('commencer_page', 'inc');
    echo $commencer_page(_T('galettonuts:titre_page_admin'), '', 'galettonuts'), '<br/><br/><br/>';
    gros_titre(_T('galettonuts:titre_admin'));
    // Boîte d'informations
    debut_gauche();
    debut_boite_info();
    echo _T('galettonuts:texte_info_admin');
    fin_boite_info();
    // Message(s) d'erreur(s)
    debut_droite();
    if ($c = count($erreurs)) {
        if (1 == $c) {
            $erreur_titre = _T('galettonuts:texte_erreur');
            $erreur_texte = (string) $erreurs[0];
        } else {
            $erreur_titre = _T('galettonuts:texte_erreurs');
            $erreur_texte = '<ul>';
            for ($i = 0; $c < $i; ++$i) {
                $erreur_texte .= '<li>' . $erreurs[$i] . '</li>';
            }
            $erreur_texte .= '</ul>';
        }
        echo '<div style="background-color:#fee;color:red;border:1px solid red;padding:.5em;margin-bottom:25px" class="verdana2"><strong>', $erreur_titre, '</strong>&nbsp;:<br />', $erreur_texte, '</div>';
    }
    echo generer_url_post_ecrire('admin_galettonuts');
    // Accès à la BDD
    debut_cadre_trait_couleur('base-24.gif', false, '', _T('galettonuts:info_bdd'));
    echo '<div style="float:right;width:175px" class="verdana2">', _T('galettonuts:texte_info_bdd'), '<div>', '<div style="position:absolute;bottom:35px;width:168px;height:168px">', '<img src="', $icone_base, $icone_src, '" width="168" height="168" alt="" title="', $icone_title, '" />', '</div>', '</div>', '</div>';
    echo '<div style="width:298px">';
    debut_cadre_couleur();
    echo '<p><label for="adresse_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_adresse'), '</label><br/>', '<input type="text" name="adresse_db" value="', $contexte['adresse_db'], '" id="adresse_db" class="fondl" style="width:278px" tabindex="504"/>', '</p>';
    echo '<p><label for="login_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_login'), '</label><br/>', '<input type="text" name="login_db" value="', $contexte['login_db'], '" id="login_db" class="fondl" style="width:278px" tabindex="508"/>', '</p>';
    echo '<p><label for="pass_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_mdp'), '</label><br/>', '<input type="password" name="pass_db" value="', $contexte['pass_db'], '" id="pass_db" class="fondl" style="width:278px" tabindex="512"/>', '</p>';
    echo '<p><label for="prefix_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_prefix'), '</label><br/>', '<input type="text" name="prefix_db" value="', $contexte['prefix_db'], '" id="prefix_db" class="fondl" style="width:278px" tabindex="516"/>', '</p>';
    echo '<p><label for="choix_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_choix'), '</label><br/>', '<input type="text" name="choix_db" value="', $contexte['choix_db'], '" id="choix_db" class="fondl" style="width:278px" tabindex="520"/>', '</p>';
    fin_cadre_couleur();
    echo '</div>';
    echo '<div style="text-align:right;padding:0 2px;margin-top:.5em" id="buttons">', '<input type="submit" name="_galettonuts_ok" value="', _T('bouton_valider'), '" class="fondo" style="cursor:pointer" tabindex="560"/></div>';
    fin_cadre_trait_couleur();
    // Synchronisation automatique
    echo '<br />';
    debut_cadre_relief('synchro-24.gif', false, '', _T('galettonuts:info_cron'));
    echo '<p class="verdana2">', _T('galettonuts:texte_info_cron'), '</p>';
    echo '<p class="verdana2">', '<label', $activer_cron ? ' style="font-weight:bold"' : '', '>', '<input type="radio" name="activer_cron" value="oui" id="activer_cron_oui" tabindex="602" ', $activer_cron ? ' checked="checked" ' : '', 'onclick="changeVisible(this.checked, \'config-cron\', \'block\', \'none\');"', '/>', _T('galettonuts:entree_cron_utiliser'), '</label><br />', '<label', !$activer_cron ? ' style="font-weight:bold"' : '', '>', '<input type="radio" name="activer_cron" value="non" id="activer_cron_non" tabindex="604" ', !$activer_cron ? ' checked="checked" ' : '', 'onclick="changeVisible(this.checked, \'config-cron\', \'none\', \'block\');"', '/>', _T('galettonuts:entree_cron_utiliser_non'), '</label>', '</p>';
    echo '<div id="config-cron"', !$activer_cron ? ' style="display:none"' : '', '><hr />';
    echo '<p class="verdana2">', _T('galettonuts:frequence'), '</p>';
    echo '<p class="verdana2" style="text-align:center">', '<input type="text" name="heures" value="', $contexte['heures'], '" id="cron_heures" size="2" maxlength="2" tabindex="606" class="fondl" style="text-align:right"/>', '<label for="cron_heures" style="font-weight:bold;cursor:pointer">', _T('galettonuts:heures'), '</label>', '<input type="text" name="minutes" value="', $contexte['minutes'], '" id="cron_minutes" size="2" maxlength="2" tabindex="606" class="fondl" style="text-align:right"/>', '<label for="cron_minutes" style="font-weight:bold;cursor:pointer">', _T('galettonuts:minutes'), '</label>', '</p>';
    echo '</div>';
    echo '<div style="text-align:right;padding:0 2px;margin-top:.5em" id="buttons">', '<input type="submit" name="_galettonuts_ok" value="', _T('bouton_valider'), '" class="fondo" style="cursor:pointer" tabindex="660"/></div>';
    fin_cadre_relief();
    // Liaison avec le plugin Accès restreint
    if (defined('_DIR_PLUGIN_ACCESRESTREINT')) {
        $zones = spip_query("SELECT `id_zone`, `titre`, `descriptif` FROM `spip_zones` WHERE 1;");
        if (spip_num_rows($zones)) {
            global $couleur_foncee;
            $i = 0;
            $zone['num'] = _T('accesrestreint:colonne_id');
            $zone['titre'] = _T('accesrestreint:titre');
            $zone['descriptif'] = _T('accesrestreint:descriptif');
            $tabindex = 700;
            $tab_zones = <<<HTML
<table class="arial2" border="0" cellpadding="2" cellspacing="0" style="width:100%;border:1px solid #AAA;">
    <thead>
        <tr style="background-color:{$couleur_foncee};color:#fff;font-weight=bold">
            <th scope="col" style="text-align:left;padding-left:5px;padding-right:5px" width="40">{$zone['num']}</th>
            <th scope="col" style="text-align:left;border-left:1px inset #fff;padding-left:5px;padding-right:5px">{$zone['titre']}</th>
            <th scope="col" style="text-align:left;border-left:1px inset #fff;padding-left:5px;padding-right:5px">{$zone['descriptif']}</th>
            <th scope="col" style="text-align:center;border-left:1px inset #fff;padding-left:5px;padding-right:5px" width="16">&nbsp;</th>
        </tr>
    </thead>
    <tbody>
HTML;
            while ($zone = spip_fetch_array($zones)) {
                ++$tabindex;
                $bgcolor = alterner(++$i, '#FEFEFE', '#EEE');
                if (array_key_exists('zones', $contexte)) {
                    $checked = in_array($zone['id_zone'], $contexte['zones']) ? ' checked="checked"' : '';
                } else {
                    $checked = '';
                }
                $tab_zones .= <<<HTML
        <tr style="background-color:{$bgcolor}">
            <td style="text-align:left;padding-left:5px;padding-right:5px">{$zone['id_zone']}</td>
            <td style="text-align:left;padding-left:5px;padding-right:5px">{$zone['titre']}</td>
            <td style="text-align:left;padding-left:5px;padding-right:5px">{$zone['descriptif']}</td>
            <td style="text-align:center">
                <input type="checkbox" name="zones[]" value="{$zone['id_zone']}" class="fondl" tabindex="{$tabindex}"{$checked} />
            </td>
        </tr>
HTML;
            }
            $tab_zones .= '</tbody></table>';
            echo '<br />';
            debut_cadre_relief(_DIR_PLUGIN_ACCESRESTREINT . 'img_pack/zones-acces-24.gif', false, '', _T('galettonuts:info_liaison_access_restreint'));
            echo '<p class="verdana2">', _T('galettonuts:texte_liaison_access_restreint_1'), '</p>';
            echo '<p class="verdana2">', _T('galettonuts:texte_liaison_access_restreint_2'), '</p>';
            echo $tab_zones;
            echo '<div style="text-align:right;padding:0 2px;margin-top:.5em" id="buttons">', '<input type="submit" name="_galettonuts_ok" value="', _T('bouton_valider'), '" class="fondo" style="cursor:pointer" tabindex="760"/></div>';
            fin_cadre_relief();
        }
    }
    echo '</form>';
    // Fin de page
    echo fin_gauche() . fin_page();
    // }}}
}
示例#19
0
/**
 * Affichage spécifique de la page de gestion des plugins 
 *
 * Affiche la liste des plugins demandés et les erreurs éventuelles.
 *
 * @uses plugin_donne_erreurs()
 * @uses liste_chemin_plugin()
 * @uses plugin_installes_meta()
 * @uses affiche_les_plugins_verrouilles()
 * 
 * @pipeline_appel affiche_gauche
 * @pipeline_appel affiche_droit
 * @pipeline_appel affiche_milieu
 * 
 * @param string $quoi
 *     Quels plugins afficher ? actifs, ou autre
 * @param string $erreur
 *     Erreur éventuelle à afficher
 * @param string $format
 *     Format d'affichage (liste ou arborescence)
**/
function admin_plug_args($quoi, $erreur, $format)
{
    if (!$quoi) {
        $quoi = 'actifs';
    }
    // empecher l'affichage des erreurs dans le bandeau, on le donne ensuite
    // format brut par plugin
    $GLOBALS['erreurs_activation_raw'] = plugin_donne_erreurs(true, false);
    // format resume mis en forme
    $erreur_activation = plugin_donne_erreurs();
    $commencer_page = charger_fonction('commencer_page', 'inc');
    echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin");
    echo debut_gauche('plugin', true);
    echo recuperer_fond('prive/squelettes/navigation/configurer', array('exec' => 'admin_plugin'));
    echo pipeline('affiche_gauche', array('args' => array('exec' => 'admin_plugin'), 'data' => afficher_librairies()));
    echo debut_droite('plugin', true);
    echo gros_titre(_T('icone_admin_plugin'), '', false);
    // Barre d'onglets de premier niveau
    echo barre_onglets("plugins", "plugins_actifs");
    // Barre d'onglets de second niveau
    $onglet2 = $quoi == 'actifs' ? 'plugins_actifs' : 'admin_plugin';
    echo debut_onglet('onglets_simple second');
    echo onglet(_T('plugins_tous_liste'), generer_url_ecrire("admin_plugin", "voir=tous"), 'admin_plugin', $onglet2);
    echo onglet(_T('plugins_actifs_liste'), generer_url_ecrire("admin_plugin"), 'plugins_actifs', $onglet2);
    echo fin_onglet();
    // message d'erreur au retour d'une operation
    if ($erreur) {
        echo "<div class='error'>{$erreur}</div>";
    }
    if ($erreur_activation) {
        echo "<div class='error'>{$erreur_activation}</div>";
    }
    // la mise a jour de cette meta a ete faite par ecrire_plugin_actifs
    $actifs = unserialize($GLOBALS['meta']['plugin']);
    $lcpa = $actifs + unserialize($GLOBALS['meta']['plugin_attente']);
    // Les affichages se basent sur le repertoire, pas sur le nom
    $actifs = liste_chemin_plugin($actifs, '');
    if (defined('_DIR_PLUGINS_SUPPL')) {
        $lcpas = liste_chemin_plugin($lcpa, _DIR_PLUGINS_SUPPL);
    }
    $lcpa = liste_chemin_plugin($lcpa);
    // on installe les plugins maintenant,
    // cela permet aux scripts d'install de faire des affichages (moches...)
    plugin_installes_meta();
    echo "<div class='liste-plugins formulaire_spip'>";
    echo debut_cadre_trait_couleur('plugin-24.png', true, '', _T('plugins_liste'), 'plugins');
    if ($quoi !== 'actifs') {
        $lpf = liste_plugin_files();
        if ($lpf) {
            echo "<p>" . _T('texte_presente_plugin') . "</p>";
        } else {
            if (!@is_dir(_DIR_PLUGINS)) {
                echo "<p>" . _T('plugin_info_automatique_ftp', array('rep' => joli_repertoire(_DIR_PLUGINS))) . " &mdash; " . _T('plugin_info_automatique_creer') . "</p>";
            }
        }
        $lcpaffiche = $lpf;
        if (defined('_DIR_PLUGINS_SUPPL')) {
            $lcpaffichesup = liste_plugin_files(_DIR_PLUGINS_SUPPL);
        }
    } else {
        // la liste
        // $quoi=='actifs'
        $lcpaffiche = $lcpa;
        if (defined('_DIR_PLUGINS_SUPPL')) {
            $lcpaffichesup = $lcpas;
        }
    }
    if ($quoi == 'actifs' or $lpf) {
        $nb = count($lcpa);
        if (defined('_DIR_PLUGINS_SUPPL')) {
            $nb += count($lcpas);
        }
        echo "<h3>" . sinon(singulier_ou_pluriel($nb, 'plugins_actif_un', 'plugins_actifs', 'count'), _T('plugins_actif_aucun')) . "</h3>";
    }
    if (empty($format)) {
        $format = 'liste';
    } elseif (!in_array($format, array('liste', 'repertoires'))) {
        $format = 'repertoires';
    }
    $afficher = charger_fonction("afficher_{$format}", 'plugins');
    $corps = $afficher(self(), $lcpaffiche, $lcpa, $actifs);
    if (defined('_DIR_PLUGINS_SUPPL')) {
        $corps .= $afficher(self(), $lcpaffichesup, $lcpas, $actifs, _DIR_PLUGINS_SUPPL);
    }
    if ($corps) {
        $corps .= "\n<div class='boutons' style='display:none;'>" . "<input type='submit' class='submit save' value='" . _T('bouton_enregistrer') . "' />" . "</div>";
    }
    echo redirige_action_post('activer_plugins', 'activer', 'admin_plugin', '', $corps);
    echo fin_cadre_trait_couleur(true);
    if ($quoi == 'actifs') {
        echo affiche_les_plugins_verrouilles($actifs);
    }
    echo "</div>";
    echo http_script("\n\tjQuery(function(){\n\t\tjQuery('.plugins li.item a[rel=info]').click(function(){\n\t\t\tvar li = jQuery(this).parents('li').eq(0);\n\t\t\tvar prefix = li.find('input.checkbox').attr('name');\n\t\t\tif (!jQuery('div.details',li).html()) {\n\t\t\t\tjQuery('div.details',li).prepend(ajax_image_searching).load(\n\t\t\t\t\tjQuery(this).attr('href').replace(/admin_plugin|plugins/, 'info_plugin'), function(){\n\t\t\t\t\t\tli.addClass('on');\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (jQuery('div.details',li).toggle().is(':visible'))\n\t\t\t\t\tli.addClass('on');\n\t\t\t\telse\n\t\t\t\t\tli.removeClass('on');\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\tjQuery('.plugins li.item input.checkbox').change(function(){\n\t\t\tjQuery(this).parents('form').eq(0).find('.boutons').slideDown();\n\t\t});\n\t});\n\t");
    echo pipeline('affiche_milieu', array('args' => array('exec' => 'admin_plugin'), 'data' => ''));
    echo fin_gauche(), fin_page();
}
示例#20
0
function exec_player_admin()
{
	global $connect_statut
		, $connect_toutes_rubriques
		, $spip_lang_right
		, $spip_lang_left
		;
	
	include_spip('inc/presentation');
	include_spip('inc/meta');
	include_spip('inc/config');

	include_spip('inc/player_affiche_config_form');
	include_spip('inc/player_flv_config');

	if (!(($connect_statut == '0minirezo') && $connect_toutes_rubriques)) {
		echo _T('avis_non_acces_page');
		echo fin_gauche(), fin_page();
		exit;
	}

	$message_gauche = "";

	$rubrique = "configuration";

	$player_flv_lecteurs = unserialize(_PLAYER_FLV_LECTEURS);

	// la grosse table commune a tous les profils
	$player_flv_config = player_flv_config();
	
	// lecture du meta
	$player_config = $GLOBALS['meta'][_PLAYER_META_PREFERENCES];
	$player_config = $player_config ? unserialize($player_config) : array();
	
	// est-ce bien un retour du formulaire ?
	$player_retour_formulaire = _request('btn_valider_video');
	
	// aplatir le tableau en ne recuperant que les valeurs
	$player_flv_lecteurs_values = array();
	foreach($player_flv_lecteurs as $key => $value) {
		$player_flv_lecteurs_values[$key] = $value['value'];
	}
	// verifier si le lecteur video indique est correct
	$player_video = $player_config['player_video'] = 
		(($ii = _request('player_video')) && (in_array($ii, $player_flv_lecteurs_values)))
		? $ii 
		: _PLAYER_FLV_LECTEUR_DEFAULT
		;
	$player_key = array_search($player_video, $player_flv_lecteurs_values);
	$player_config['player_key'] = $player_key;
	
	// premiere install pour le profil ou global
	if($player_premiere_installation = (!isset($player_config['player_video_prefs']))) {
		spip_log("PLAYER: premiere installation profil $player_key");
		$player_config['player_video_prefs'] = array();
	}
	
	// initialiser les variables, 
	foreach($player_flv_config as $key => $value) {
		if($player_retour_formulaire) {
			$$key = (($ii = _request($key)) ? $ii : '');
		} else if($player_premiere_installation) {
			$$key = $value['default'];
		} else {
			$$key = (isset($player_config['player_video_prefs'][$key]) ? $player_config['player_video_prefs'][$key] : '');
		}
		// retire les # (il n'en faut pas en flash)
		if($value['type'] == 'color') {
			$$key = ltrim($$key, '#');
		}
		// ne pas enregistrer les variables vides
		if(!empty($$key)) {
			$player_config['player_video_prefs'][$key] = $$key;
		}
		else if(isset($player_config['player_video_prefs'][$key])) {
			unset($player_config['player_video_prefs'][$key]);
		}
	}
	
	if($player_retour_formulaire) {
		//spip_log("PLAYER: enregistrement config profil $player_key". serialize($player_config));
		// enregistrer la config
		ecrire_meta(_PLAYER_META_PREFERENCES, serialize($player_config));
		if(version_compare($GLOBALS['spip_version_code'],'1.9300','<')) { 
			include_spip("inc/meta");
			ecrire_metas();
		}
	}
	
	$commencer_page = 
		(function_exists('debut_page'))
		? "debut_page"
		: charger_fonction('commencer_page', 'inc')
		;

////////////////////////////////////
// PAGE CONTENU
////////////////////////////////////
	
	$page_result = ""
		. $commencer_page(_T(_PLAYER_LANG."configuration_player"), _PLAYER_PREFIX)
		. "<div style='height:3em;'></div>\n"
		. gros_titre(_T(_PLAYER_LANG."configuration_player"), "", false)
		. barre_onglets($rubrique, _PLAYER_PREFIX)
		. debut_gauche($rubrique, true)
		. player_petite_boite_info()
		. $message_gauche
		. creer_colonne_droite($rubrique, true)
		. debut_droite($rubrique, true)
		;
			
	////////////////////////////////////
	// configuration audio
	$page_result .= ""
		. player_affiche_config_form('player_admin')
		;

	////////////////////////////////////
	// configuration video
	$page_result .= ""
		. debut_cadre_trait_couleur(_DIR_PLUGIN_PLAYER_IMAGES."player-video-24.png", true, '', _T(_PLAYER_LANG."player_video"))
		. player_form_debut_form('player_video_config')
		. "<ul class='player_flv_player verdana2'>\n"
		;
	foreach($player_flv_lecteurs as $key => $value) {
		$checked = ($player_video == $value['value']) ? "checked='checked' " : "";
		$class = ($checked ? " onglet_off" : "");
		$page_result .= ""
			. "<li class='flv_onglet".$class."'>"
			. "<label><input type='radio' name='player_video' value='".$value['value']."' id='$key' $checked/> ".$value['label']."</label></li>\n"
			;
	}
	$page_result .= ""
		. "</ul>\n"
		. "<ul id='player_flv_options'>\n"
		;
	foreach($player_flv_config as $key => $value) {
		$player_flv_options = "";
		switch($value['type']) {
			case 'boolean':
				$player_flv_options = "<label title='$key'><input name='$key' type='checkbox' value='1' "
					. ($$key == "1" ? "checked='checked'" : "")." />".$value['label']."</label>\n";
				break;
			case 'url':
			case 'int':
			case 'text':
				$player_flv_options = "<label title='$key'>".$value['label']."<input type='text' name='$key' value='".$$key."' class='forml' /></label>\n";
				break;
			case 'list':
				$player_flv_options = "<label title='$key'>".$value['label']."<select name='$key' class='fondl'>\n";
				foreach($value['values'] as $k1 => $v1) {
					// si la cle n'est pas une chaine, prendre $v1 pour valeur de option
					$ii = (is_string($v1) ? _T(_PLAYER_LANG.$v1) : $v1);
					$player_flv_options .= "<option value='$k1'".(($$key == $k1) ? " selected='selected'" : "").">$ii</option>\n";
				}
				$player_flv_options .= "</select></label>\n";
				break;
			case 'color':
				$player_flv_options = "<label class='incolor' title='$key'>".$value['label']
					. "<input type='text' name='$key' value='#".$$key."' style='background-color:#".$$key."' id='$key' size='7' />\n"
					. "<span class='colorpicker' style='display:none;'></span>"
					. "</label>\n";
				break;
		}
		
		$style = in_array($player_key, explode(' ', $value['class'])) ? "" : " style='display:none;'";
		$page_result .= "<li class='verdana2 ".$value['class']."'".$style.">".$player_flv_options."</li>\n";
	}
	$page_result .= ""
		. "</ul>\n"
		;
	
	////////////////////////////////////
	// fin du formulaire
	$page_result .= ""
		. "<div style='text-align:$spip_lang_right'><input type='submit' name='btn_valider_video' value='"._T('bouton_valider')."' class='fondo' /></div>"
		. player_form_fin_form()
		. fin_cadre_trait_couleur(true)
		;

	echo($page_result);
	echo fin_gauche(), fin_page();
	return(true);
}
示例#21
0
文件: articles.php 项目: rhertzog/lcs
function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot,  $select_groupe, $trad_err, $debut_forum=0, $statut_forum='prive')
{
	global $spip_lang_right, $dir_lang;

	$id_rubrique = $row['id_rubrique'];
	$id_secteur = $row['id_secteur'];
	$statut_article = $row['statut'];
	$titre = $row["titre"];
	$surtitre = $row["surtitre"];
	$soustitre = $row["soustitre"];
	$descriptif = $row["descriptif"];
	$nom_site = $row["nom_site"];
	$url_site = $row["url_site"];
	$texte = $row["texte"];
	$ps = $row["ps"];
	$date = $row["date"];
	$date_redac = $row["date_redac"];
	$extra = $row["extra"];
	$id_trad = $row["id_trad"];

	$virtuel = (strncmp($row["chapo"],'=',1)!==0) ? '' :
		chapo_redirige(substr($row["chapo"], 1));

	$statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique);
	$flag_editable = autoriser('modifier', 'article', $id_article);

	// Est-ce que quelqu'un a deja ouvert l'article en edition ?
	if ($flag_editable
	AND $GLOBALS['meta']['articles_modif'] != 'non') {
		include_spip('inc/drapeau_edition');
		$modif = mention_qui_edite($id_article, 'article');
	} else
		$modif = array();


 // chargement prealable des fonctions produisant des formulaires

	$dater = charger_fonction('dater', 'inc');
	$editer_mots = charger_fonction('editer_mots', 'inc');
	$editer_auteurs = charger_fonction('editer_auteurs', 'inc');
	$referencer_traduction = charger_fonction('referencer_traduction', 'inc');
	$discuter = charger_fonction('discuter', 'inc');

	$meme_rubrique = charger_fonction('meme_rubrique', 'inc');
	$iconifier = charger_fonction('iconifier', 'inc');
	$icone = $iconifier('id_article', $id_article,'articles', false, $flag_editable);

	$boite = pipeline ('boite_infos', array('data' => '',
		'args' => array(
			'type'=>'article',
			'id' => $id_article,
			'row' => $row
		)
	));

	$navigation =
	  debut_boite_info(true). $boite . fin_boite_info(true)
	  . $icone
		. (_INTERFACE_ONGLETS?"":boites_de_config_articles($id_article))
	  . ($flag_editable ? boite_article_virtuel($id_article, $virtuel):'')
	  . pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));

	$extra = creer_colonne_droite('', true)
		. $meme_rubrique($id_rubrique, $id_article, 'article')
	  . pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''))
	  . debut_droite('',true);

	// affecter les globales dictant les regles de typographie de la langue
	changer_typo($row['lang']);

	$actions =
	  ($flag_editable ? bouton_modifier_articles($id_article, $id_rubrique, $modif, _T('avis_article_modifie', $modif), "article-24.gif", "edit.gif",$spip_lang_right) : "");

	$haut =
		"<div class='bandeau_actions'>$actions</div>".
		(_INTERFACE_ONGLETS?"":"<span $dir_lang class='arial1 spip_medium'><b>" . typo($surtitre) . "</b></span>\n")
		. gros_titre($titre, '' , false)
		. (_INTERFACE_ONGLETS?"":"<span $dir_lang class='arial1 spip_medium'><b>" . typo($soustitre) . "</b></span>\n");

	$onglet_contenu =
	  afficher_corps_articles($id_article,$virtuel,$row)
		.		"<div class='bandeau_actions'>$actions</div>";

	$onglet_proprietes = ((!_INTERFACE_ONGLETS) ? "" :"")
	  . $dater($id_article, $flag_editable, $statut_article, 'article', 'articles', $date, $date_redac)
	  . $editer_auteurs('article', $id_article, $flag_editable, $cherche_auteur, $ids)
	  . (!$editer_mots ? '' : $editer_mots('article', $id_article, $cherche_mot, $select_groupe, $flag_editable, false, 'articles'))
	  . (!$referencer_traduction ? '' : $referencer_traduction($id_article, $flag_editable, $id_rubrique, $id_trad, $trad_err))
	  . pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''))
		. bouton_proposer_article($id_article,$statut_article)
	  ;

	$documenter_objet = charger_fonction('documenter_objet','inc');
	$onglet_documents = $documenter_objet($id_article,'article','articles',$flag_editable);
	$onglet_interactivite = (_INTERFACE_ONGLETS?boites_de_config_articles($id_article):"");

	$onglet_discuter = !$statut_forum ? '' : ($discuter($id_article, 'articles', 'id_article', $statut_forum, $debut_forum));


	return
	  $navigation
	  . $extra
	  . pipeline('afficher_fiche_objet',array('args'=>array('type'=>'article','id'=>$id_article),'data'=>
	   "<div class='fiche_objet'>"
	  . $haut
	  . afficher_onglets_pages(
	  	array(
	  	'voir' => _T('onglet_contenu'),
	  	'props' => _T('onglet_proprietes'),
	  	'docs' => _T('onglet_documents'),
	  	'interactivite' => _T('onglet_interactivite'),
	  	'discuter' => _T('onglet_discuter')),
	  	array(
	    'props'=>$onglet_proprietes,
	    'voir'=>$onglet_contenu,
	    'docs'=>$onglet_documents,
	    'interactivite'=>$onglet_interactivite,
	    'discuter'=>_INTERFACE_ONGLETS?$onglet_discuter:""))
	  . "</div>"
	  . (_INTERFACE_ONGLETS?"":$onglet_discuter)
			));
}
示例#22
0
function exec_mots_edit_args($id_mot, $id_groupe, $new, $table='', $table_id='', $titre='', $redirect='', $ajouter_id_article='')
{
	global $spip_lang_right, $connect_statut, $les_notes;

	$autoriser_editer = $editer = false;
	if ($new=='oui')
		$autoriser_editer = true;
	if (($new=='oui') OR $autoriser_editer)
		$editer = true;
	$ok = false;
	
	$row = sql_fetsel("*", "spip_mots", "id_mot=$id_mot");
	if ($row) {
		$id_mot = $row['id_mot'];
		$titre_mot = $row['titre'];
		$descriptif = $row['descriptif'];
		$texte = $row['texte'];
		$extra = $row['extra'];
		$id_groupe = $row['id_groupe'];
		$onfocus ='';
		$autoriser_editer = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe));
		if (!_request('edit'))
			$editer = false;
		else
			$editer = $autoriser_editer;
		$ok = true;
	}
	else {
		$row = sql_countsel('spip_groupes_mots', 
			($table ? "tables_liees REGEXP '(^|,)$table($|,)'" : '')
			//($table ? "$table='oui'" : '')
				    );

		if (!$new OR !autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)) OR (!$row AND !$table)) {
			include_spip('inc/minipres');
			echo minipres(_T('info_mot_sans_groupe'));
		} else {
			$id_mot = 0;
			$descriptif = $texte = '';
			if (!$row) {
		  // cas pathologique: 
		  // creation d'un mot sans groupe de mots cree auparavant
		  // (ne devrait arriver qu'en cas d'appel explicite ou
		  // destruction concomittante des groupes de mots idoines)
				if ($redirect)
					$redirect = '&redirect=' . $redirect;
				if ($titre)
					$titre = "&titre=".rawurlencode($titre);
				include_spip('inc/headers');
				redirige_par_entete(redirige_action_auteur('instituer_groupe_mots', $table, 'mots_edit', "new=$new&table=$table&table_id=$table_id&ajouter_id_article=$ajouter_id_article$titre$redirect", true));
			}
			$ok = true;
		}
	}
	if ($ok) {
		pipeline('exec_init',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>''));
		
		$commencer_page = charger_fonction('commencer_page', 'inc');
		$out = $commencer_page("&laquo; ".sinon($titre_mot,_T('texte_nouveau_mot'))." &raquo;", "naviguer", "mots") . debut_gauche('',true);


		//////////////////////////////////////////////////////
		// Boite "voir en ligne"
		//

		if ($id_mot) {
			$out .= debut_boite_info(true);
			$out .= "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" 
			.  _T('titre_gauche_mots_edit')
			.  "<br /><span class='spip_xx-large'>"
			.  $id_mot
			.  '</span></div>';
			$out .= voir_en_ligne ('mot', $id_mot, false, 'racine-24.gif', false, false);
			$out .= fin_boite_info(true);
			
			// Logos du mot-clef
			$flag_editable = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe));
			$iconifier = charger_fonction('iconifier', 'inc');
			$out .= $iconifier('id_mot', $id_mot, 'mots_edit', false, $flag_editable);
		} else $flag_editable = false;

		//
		// Afficher les boutons de creation 
		//

		$res ='';
		
		if ($id_groupe AND autoriser('modifier','groupemots',$id_groupe)) {
			$res = icone_horizontale(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), "groupe-mot-24.gif", "edit.gif", false)
			  . icone_horizontale(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit", "new=oui&id_groupe=$id_groupe&redirect=" . generer_url_retour('mots_tous')),  "mot-cle-24.gif",  "creer.gif", false);
		}

	$out .= pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>''))
	.  bloc_des_raccourcis($res . icone_horizontale(_T('icone_voir_tous_mots_cles'), generer_url_ecrire("mots_tous",""), "mot-cle-24.gif", "rien.gif", false))
	.  creer_colonne_droite('',true)
	.  pipeline('affiche_droite',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>''))
	.  debut_droite('',true);

	
	// --- Voir le mot ----
	
	$out .= debut_cadre_relief("mot-cle-24.gif",true,'','','mot-voir',$editer?'none':'');
	if ($flag_editable)
		$out .= icone_inline(_T('icone_modifier_mot'), generer_url_ecrire('mots_edit',"id_mot=$id_mot&edit=oui"), "mot-cle-24.gif", "rien.gif",$spip_lang_right,false," onclick=\"$('#mot-editer').show();$('#mot-voir').hide();return false;\"");
	$out .= gros_titre(sinon($titre_mot,_T('texte_nouveau_mot')),'',false);
	$out .= "<div class='nettoyeur'></div>";
	
	$contenu_mot = "";

	if ($descriptif) {
		$contenu_mot .= "<div style='border: 1px dashed #aaaaaa; ' class='verdana1 spip_small'>"
		. "<b>" . _T('info_descriptif') . "</b> "
		. propre($descriptif)
		. "&nbsp; "
		. "</div>";
	}

	if (strlen($texte)>0){
		$contenu_mot .= "<p class='verdana1 spip_small'>"
		. propre($texte)
		. "</p>";
	}

	if ($les_notes) {
		$contenu_mot .= debut_cadre_relief('',true)
		. "<div dir='" . lang_dir() ."' class='arial11'>"
		. justifier("<b>"._T('info_notes')."&nbsp;:</b> ".$les_notes)
		. "</div>"
		. fin_cadre_relief(true);
	}
	
	$contexte = array('id'=>$id_mot);
	// permettre aux plugin de faire des modifs ou des ajouts
	$contenu_mot = pipeline('afficher_contenu_objet',
		array(
			'args'=>array(
				'type'=>'mot',
				'id_objet'=>$id_mot,
				'contexte'=>$contexte
			),
			'data'=> $contenu_mot
		)
	);
	$out .= $contenu_mot;

	if ($id_mot) {

		if ($connect_statut == "0minirezo")
			$aff_articles = "'prepa','prop','publie','refuse'";
		else
			$aff_articles = "'prop','publie'";

		$out .= afficher_objets('rubrique','<b>' . _T('info_rubriques_liees_mot') . '</b>', array("FROM" => 'spip_rubriques AS rubrique LEFT JOIN spip_mots_rubriques AS lien ON lien.id_rubrique=rubrique.id_rubrique', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "rubrique.titre"));

		$out .= afficher_objets('article',_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles LEFT JOIN spip_mots_articles AS lien ON lien.id_article=articles.id_article", 'WHERE' => "lien.id_mot=$id_mot AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC"));

		$out .= afficher_objets('breve','<b>' . _T('info_breves_liees_mot') . '</b>', array("FROM" => 'spip_breves AS breves LEFT JOIN spip_mots_breves AS lien ON lien.id_breve=breves.id_breve', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "breves.date_heure DESC"));

		$out .= afficher_objets('site','<b>' . _T('info_sites_lies_mot') . '</b>', array("FROM" => 'spip_syndic AS syndic LEFT JOIN spip_mots_syndic AS lien ON lien.id_syndic=syndic.id_syndic', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "syndic.nom_site DESC"));
		
	}

	$out .= pipeline('affiche_milieu',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>''))
	. fin_cadre_relief(true);

	// --- Editer le mot ----

	if ($autoriser_editer){
		$out .= "<div id='mot-editer'".($editer?"":" class='none'").'>';
		$contexte = array(
			'icone_retour'=>icone_inline(_T('icone_retour'),($editer AND $redirect)?rawurldecode($redirect): generer_url_ecrire('mots_edit','id_mot='.$id_mot,false,true), "mot-cle-24.gif", "rien.gif",$GLOBALS['spip_lang_left'],false,($editer AND $redirect)?"":" onclick=\"$('#mot-editer').hide();$('#mot-voir').show();return false;\""),
			'redirect'=>$redirect?rawurldecode($redirect):generer_url_ecrire('mots_edit','id_mot='.$id_mot,'&',true),
			'titre'=>sinon($titre_mot,$titre),
			'new'=>$new == "oui"?$new:$id_mot,
			'id_groupe'=>$id_groupe,
			'config_fonc'=>'mots_edit_config',
			'ajouter_id_article' => $ajouter_id_article,
			'table'=>$table,
			'table_id'=>$table_id
		);

		$out .= recuperer_fond("prive/editer/mot", $contexte);
		$out .= '</div>';

	}

	echo $out, fin_gauche(), fin_page();
	}
}
示例#23
0
function exec_admin_effacer_dist()
{
	if (!autoriser('detruire')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	pipeline('exec_init',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_page_admin_effacer'), "configuration", "base");

	echo "\n<br /><br />";
	echo gros_titre(_T('titre_admin_effacer'),'',false);
	echo barre_onglets("administration", "effacer");

	echo debut_gauche('',true);
	echo debut_boite_info(true);

	echo _T('info_gauche_admin_effacer');

	echo fin_boite_info(true);
	
	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));	  
	
	echo creer_colonne_droite('',true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));	  
	
	echo debut_droite('',true);
	echo debut_cadre_trait_couleur('',true,'',"<label for='reinstall'>"._T('texte_effacer_base')."</label>");

	$res = "\n<input type='hidden' name='reinstall' id='reinstall' value='non' />";

	$res = generer_form_ecrire('delete_all', $res, '', _T('bouton_effacer_tout'));

	echo 
		'<img src="' .  chemin_image('warning.gif') . '" alt="',
	  	_T('info_avertissement'),
		"\" style='width: 48px; height: 48px; float: right;margin: 10px;' />",
		_T('texte_admin_effacer_01'),
		"<div class='nettoyeur'></div>",
		"\n<div style='text-align: center'>",
		debut_boite_alerte(),
		"\n<div class='serif'>",
		"\n<b>"._T('avis_suppression_base')."&nbsp;!</b>",
		$res,
		"\n</div>",
		fin_boite_alerte(),
		"</div>";

	echo fin_cadre_relief(true);
	
	echo debut_cadre_trait_couleur('',true,'',_T('texte_effacer_statistiques'));

	$res = generer_form_ecrire('delete_statistiques', "", '', _T('bouton_effacer_statistiques'));

	echo 
		'<img src="' .  chemin_image('warning.gif') . '" alt="',
	  	_T('info_avertissement'),
		"\" style='width: 48px; height: 48px; float: right;margin: 10px;' />",
	  _T('texte_admin_effacer_stats'),
		"<div class='nettoyeur'></div>",
		"\n<div style='text-align: center'>",
		"\n<div class='serif'>",
		"\n<b>"._T('avis_suppression_base')."&nbsp;!</b>",
		$res,
		"\n</div>",
		"</div>";

	echo fin_cadre_relief(true);

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));	  

	echo fin_gauche(), fin_page();
	}
}
示例#24
0
function exec_accorder_comptes_lcs_dist(){
	// si pas autorise : message d'erreur
	if (!autoriser('voir', 'accorder_comptes_lcs')) {
		include_spip('inc/minipres');
		echo minipres();
		exit;
	}
	// pipeline d'initialisation
	pipeline('exec_init', array('args'=>array('exec'=>'accorder_comptes_lcs'),'data'=>''));
	// entetes
	$commencer_page = charger_fonction('commencer_page', 'inc');
	// titre, partie, sous_partie (pour le menu)
	echo $commencer_page(_T('tispipskelet:titre_accorder_comptes_spip_lcs'), "editer", "editer");
	
	// titre
	echo "<br /><br /><br />\n"; // outch ! aie aie aie ! au secours !
	$ze_logo='<img src="'._DIR_PLUGIN_TISPIPSKELET.'/img_pack/nettoyer_comptes_lcs_spip.png" style="width:96px;vertical-align:middle;">';
	echo gros_titre(_T('tispipskelet:Nettoyage des comptes : Synchronisation des comptes avec l&rsquo;annuaire LCS'), $ze_logo, false);
	
	// colonne gauche
	echo debut_gauche('', true);
	
	echo debut_boite_info(true);
	echo propre(_T('tispipskelet:info_accorder_comptes_spip_lcs'));	
	echo fin_boite_info(true);
	echo pipeline('affiche_gauche', array('args'=>array('exec'=>'peupler_zones_lcs'),'data'=>''));
	
	// colonne droite
	echo creer_colonne_droite('', true);
	echo pipeline('affiche_droite', array('args'=>array('exec'=>'accorder_comptes_lcs'),'data'=>''));
		if (autoriser('webmestre')) {
#		$res= icone_horizontale(_L('Acc&egrave;s restreint'), generer_url_ecrire("acces_restreint"), "../"._DIR_PLUGIN_TISPIPSKELET."/img_pack/logo_acces_restreint_48.png", "",false);
#		echo bloc_des_raccourcis($res);
	}

	// centre
	echo debut_droite('', true);
	// contenu
 
include ("/var/www/lcs/includes/headerauth.inc.php");
include ("/var/www/Annu/includes/ihm.inc.php");

function search_uidspip ($filter,$ldap_server, $ldap_port, $dn) {
  global  $ldap_grp_attr;
  
  // LDAP attributs
  $ldap_grp_attr = array (
    "cn",
    "memberuid"  );

  $ds = @ldap_connect ( $ldap_server, $ldap_port );
  if ( $ds ) {
    $r = @ldap_bind ( $ds ); // Bind anonyme
    if ($r) {
      $result=@ldap_list ($ds, $dn["groups"], $filter, $ldap_grp_attr);
      if ($result) {
        $info = ldap_get_entries( $ds, $result );
        if ($info["count"]) {
          // Stockage des logins des membres des classes
          //  dans le tableau $ret
          $init=0;
          for ($loop=0; $loop < $info["count"]; $loop++) {
            $group=split ("[\_\]",$info[$loop]["cn"][0],2);
            for ( $i = 0; $i < $info[$loop]["memberuid"]["count"]; $i++ ) {
              $ret[$init]["uid"] = $info[$loop]["memberuid"][$i];
              $ret[$init]["cat"] = $group[0];
              $init++;
            }
          }
        }
        ldap_free_result ( $result );
      }
    } 
    @ldap_close ( $ds );
  } 
  return $ret;
}

$grp_primaire= array ('Administratifs','Profs','Eleves');
	$$lcs_list_allusers=array();
	for ($index=0; $index < count($grp_primaire); $index++) {
	//recherche des membres (on recupere un tableau (login,groupe principal)
		$membres = search_uidspip("(cn=".$grp_primaire[$index].")",$ldap_server, $ldap_port, $dn);
	//traitement des données renvoyées: ici affichage		
			for ($loup=0; $loup < count($membres); $loup++) {
//			        echo $membres[$loup]["uid"].":".$membres[$loup]["cat"]."<br />";
						$lcs_list_allusers[]=$membres[$loup]['uid'];
	        }	
	}
	/*
	foreach ($lcs_list_allusers as $k => $lcsUser){
		echo "lcsUser_".$k." = ".$lcsUser."<br />";
	} 
	*/
		//	echo recuperer_fond("prive/contenu/tispip_lcs_groupes_ldap",$_GET);
	echo "<div class='ajax'>".recuperer_fond("prive/contenu/tispip_lcs_users_ldap",array('all_users_lcs'=>$lcs_list_allusers, 'afficher'=>'actifs', 'membres'=>$membres, $_GET))."</div>";

	// fin contenu
	echo pipeline('affiche_milieu', array('args'=>array('exec'=>'accorder_comptes_lcs'),'data'=>''));
	echo fin_gauche(), fin_page();
}
示例#25
0
 function _debutPage()
 {
     $commencer_page = charger_fonction('commencer_page', 'inc');
     $return = $commencer_page(_T(strtolower($this->obj->prefix) . ':titre_page_' . $this->obj->nom), $this->obj->prefix, $this->obj->nom);
     $return .= '<br/><br/><br/>' . PHP_EOL;
     $return .= gros_titre(_T(strtolower($this->obj->prefix) . ':titre_' . $this->obj->nom), null, false);
     $return .= $this->_barreOnglets();
     $return .= debut_gauche('', true);
     return $return;
 }
示例#26
0
文件: auteurs.php 项目: rhertzog/lcs
function bandeau_auteurs($visiteurs)
{
	global $connect_id_auteur;

	$ret = debut_gauche("auteurs",true) . debut_boite_info(true);

	if ($visiteurs) 
		$ret .= "\n<p class='arial1'>"._T('info_gauche_visiteurs_enregistres'). '</p>';
	else 
		$ret .= "\n<p class='arial1'>"._T('info_gauche_auteurs'). '</p>';

	if (autoriser('voir', 'auteur'))
		$ret .= "\n<p class='arial1'>". _T('info_gauche_auteurs_exterieurs') . '</p>';

	$ret .= fin_boite_info(true);

	$ret .= pipeline('affiche_gauche',array('args'=>array('exec'=>'auteurs'),'data'=>''));

	if (autoriser('voir', 'auteur')) {

		if (autoriser('creer', 'auteur'))
			$res = icone_horizontale(_T('icone_creer_nouvel_auteur'), generer_url_ecrire("auteur_infos", 'new=oui'), "auteur-24.gif", "creer.gif", false);
		else $res = '';

		$res .= icone_horizontale(_T('icone_informations_personnelles'), generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur"), "fiche-perso-24.gif","rien.gif", false);

		if (avoir_visiteurs(true)) {
                        if ($visiteurs)
				$res .= icone_horizontale (_T('icone_afficher_auteurs'), generer_url_ecrire("auteurs", "statut=" . AUTEURS_MIN_REDAC), "auteur-24.gif", "", false);
			else
				$res .= icone_horizontale (_T('icone_afficher_visiteurs'), generer_url_ecrire("auteurs","statut=!" . AUTEURS_MIN_REDAC), "auteur-24.gif", "", false);
		}
		$ret .= bloc_des_raccourcis($res);
	}
	$ret .= creer_colonne_droite('auteurs',true);
	$ret .= pipeline('affiche_droite',array('args'=>array('exec'=>'auteurs'),'data'=>''));
	$ret .= debut_droite('',true);

	$ret .= "\n<br />";
	$ret .= gros_titre($visiteurs ? _T('info_visiteurs') :  _T('info_auteurs'),'',false);
	$ret .= "\n<br />";
	return $ret;
}
示例#27
0
function exec_articles_versions_args($id_article, $id_version, $id_diff)
{
	global $spip_lang_left, $spip_lang_right;

	if (!autoriser('voirrevisions', 'article', $id_article) 
	OR !$row = sql_fetsel("*", "spip_articles", "id_article=".sql_quote($id_article))){
		include_spip('inc/minipres');
		echo minipres();
		return;
	}

	include_spip('inc/suivi_versions');
	include_spip('inc/presentation');
	include_spip('inc/revisions');

	// recuperer les donnees actuelles de l'article
	$id_article = $row["id_article"];
	$id_rubrique = $row["id_rubrique"];
	$titre = $row["titre"];
	$statut_article = $row["statut"];
	$lang = $row["lang"];

	// Afficher le debut de la page (y compris rubrique)
	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('info_historique')." &laquo; $titre &raquo;", "naviguer", "articles", $id_rubrique);

	echo debut_grand_cadre(true);

	echo afficher_hierarchie($id_rubrique);

	echo fin_grand_cadre(true);


//////////////////////////////////////////////////////
// Affichage de la colonne de gauche
//

	echo debut_gauche('', true);

	echo bloc_des_raccourcis(icone_horizontale(_T('icone_retour_article'), generer_url_ecrire("articles","id_article=$id_article"), "article-24.gif","rien.gif", false) .
				 icone_horizontale(_T('icone_suivi_revisions'), generer_url_ecrire("suivi_revisions",""), "historique-24.gif","rien.gif", false));



//////////////////////////////////////////////////////
// Affichage de la colonne de droite
//

	echo debut_droite('', true);

	$lang_dir = lang_dir(changer_typo($lang));



//
// recuperer les donnees versionnees
//
	$last_version = false;
	if (!$id_version) {
		$id_version = $row['id_version'];
		$last_version = true;
	}
	$textes = revision_comparee($id_article, $id_version, 'complet', $id_diff);

	unset($id_rubrique); # on n'en n'aura besoin que si on affiche un diff


//
// Titre, surtitre, sous-titre
//

	$debut = $corps = '';

	if (is_array($textes))
	foreach ($textes as $var => $t) {
		switch ($var) {
			case 'id_rubrique':
				$debut .= "<div dir='$lang_dir' class='arial1 spip_x-small'>"
					. $t
					. "</div>\n";
				break;

			case 'surtitre':
			case 'soustitre':
				$debut .= "<div  dir='$lang_dir' class='arial1 spip_medium'><b>" . propre_diff($t) . "</b></div>\n";
				break;

			case 'titre':
				$debut .= gros_titre(propre_diff($t),
					puce_statut($statut_article, " style='vertical-align: center'"), false);
				break;

			// trois champs a affichage combine
			case 'descriptif':
			case 'url_site':
			case 'nom_site':
				if (!$vudesc++) {
					$debut .= "<div style='text-align: $spip_lang_left; padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;'  dir='$lang_dir'>";
					$texte_case = ($textes['descriptif']) ? "{{"._T('info_descriptif')."}} ".$textes['descriptif']."\n\n" : '';
					$texte_case .= ($textes['nom_site'].$textes['url_site']) ? "{{"._T('info_urlref')."}} [".$textes['nom_site']."->".$textes['url_site']."]" : '';
					$debut .= "<span class='verdana1 spip_small'>"
					. propre($texte_case). "</span>";
					$debut .= "</div>";
				}
				break;

			default:
				$corps .= "<div dir='$lang_dir' class='champ contenu_$var'>"
					. "<div class='label'>$var</div>"
					. "<div class='$var'>"
					. propre_diff($t)
					. "</div></div>\n";
				break;
		}
	}

	echo '<div id="contenu">';

	echo debut_cadre_relief('', true);

	echo "\n<table id='diff' cellpadding='0' cellspacing='0' border='0' width='100%'>";
	echo "<tr><td style='width: 100%' valign='top'>";
	echo $debut;
	echo "</td><td>";

// Icone de modification
	if (autoriser('modifier', 'article', $id_article))
		echo icone_inline(
		_T('icone_modifier_article').'<br />('._T('version')." $id_version)",
		generer_url_ecrire("articles_edit",
			"id_article=$id_article".((!$last_version)?"&id_version=$id_version":"")),
		"article-24.gif",
		"edit.gif",
		$spip_lang_right
		);

	echo "</td>";

	echo "</tr></table>";

	echo fin_cadre_relief(true);


	//////////////////////////////////////////////////////
	// Affichage des versions
	//
	$result = sql_select("id_version, titre_version, date, id_auteur",
		"spip_versions",
		"id_article=".sql_quote($id_article)." AND  id_version>0",
		"", "id_version DESC");

	echo debut_cadre_relief('', true);

	$zapn = 0;
	$lignes = array();
	$points = '...';
	$tranches = 10;
	while ($row = sql_fetch($result)) {

		$res = '';
		// s'il y en a trop on zappe a partir de la 10e
		// et on s'arrete juste apres celle cherchee
		if ($zapn++ > $tranches
		AND abs($id_version - $row['id_version']) > $tranches<<1) {
			if ($points) {
				$lignes[]= $points;
				$points = '';
			}
			if ($id_version > $row['id_version']) break;
			continue;
		}

		$date = affdate_heure($row['date']);
		$version_aff = $row['id_version'];
		$titre_version = typo($row['titre_version']);
		$titre_aff = $titre_version ? $titre_version : $date;
		if ($version_aff != $id_version) {
			$lien = parametre_url(self(), 'id_version', $version_aff);
			$lien = parametre_url($lien, 'id_diff', '');
			$res .= "<a href='".($lien.'#diff')."' title=\""._T('info_historique_affiche')."\">$titre_aff</a>";
		} else {
			$res .= "<b>$titre_aff</b>";
		}

		if (is_numeric($row['id_auteur'])
		AND $t = sql_getfetsel('nom', 'spip_auteurs', "id_auteur=" . intval($row['id_auteur']))) {
				$res .= " (".typo($t).")";
			} else {
				$res .= " (".$row['id_auteur'].")"; #IP edition anonyme
		}
		
		if ($version_aff != $id_version) {
		  $res .= " <span class='verdana2'>";
		  if ($version_aff == $id_diff) {
			$res .= "<b>("._T('info_historique_comparaison').")</b>";
		  } else {
			$lien = parametre_url(self(), 'id_version', $id_version);
			$lien = parametre_url($lien, 'id_diff', $version_aff);
			$res .= "(<a href='".($lien.'#diff').
			"'>"._T('info_historique_comparaison')."</a>)";
		  }
		$res .= "</span>";
		}
		$lignes[]= $res;
	}
	if ($lignes) {
		echo "<ul class='verdana3'><li>\n";
		echo join("\n</li><li>\n", $lignes);
		echo "</li></ul>\n";
	}

	//////////////////////////////////////////////////////
	// Corps de la version affichee
	//
	echo "\n\n<div id='wysiwyg' style='text-align: justify;'>$corps";

	// notes de bas de page
	if (strlen($GLOBALS['les_notes']))
		echo "<div class='champ contenu_notes'>
			<div class='label'>"._T('info_notes')."</div>
			<div class='notes' dir='$lang_dir'>"
			.$GLOBALS['les_notes']
			."</div></div>\n";

	echo "</div>\n";

	echo fin_cadre_relief(true);

	echo '</div>'; // /#contenu


	echo  fin_gauche(), fin_page();

}
示例#28
0
function statistiques_lang_ok()
{
	global $spip_ecran, $spip_lang_right;

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('onglet_repartition_lang'), "statistiques_visites", "repartition-langues");

	if ($spip_ecran == "large") {
		$largeur_table = 974;
	} else {
		$largeur_table = 750;
	}
	$taille = $largeur_table - 200;	
	echo "<table class='centered' width='$largeur_table'><tr><td style='width: $largeur_table" . "px; text-align:center;' class='verdana2'>";
	echo "<br /><br />";

	echo gros_titre(_T('onglet_repartition_lang'),'', false);

//barre_onglets("repartition", "langues");

	if (_request('critere') == "debut") {
		$critere = "visites";
//	echo gros_titre(_T('onglet_repartition_debut','', false));	
	} else {
		$critere = "popularite";
//	echo gros_titre(_T('onglet_repartition_actuelle','', false));	
}

	echo ($critere == "popularite") ? barre_onglets("rep_depuis", "popularite"): barre_onglets("rep_depuis", "debut");


//
// Statistiques par langue
//


	echo debut_cadre_enfonce("langues-24.gif", true);

	$r = sql_fetsel("SUM($critere) AS total_visites", "spip_articles");

	$visites = 1;
	if ($r)
		$total_visites = $r['total_visites'];
	else
		$total_visites = 1;

	$result = sql_select("lang, SUM(".$critere.") AS cnt", "spip_articles", "statut='publie' ", "lang");
		
	$ifond = 1;
	$visites_abs = 0;
	$res = '';
	while ($row = sql_fetch($result)) {

		$lang = $row['lang'];
		$visites = round($row['cnt'] / $total_visites * $taille);
		$pourcent = round($row['cnt'] / $total_visites * 100);

		if ($visites > 0) {

				if ($ifond==0){
					$ifond=1;
					$couleur="white";
				}else{
					$ifond=0;
					$couleur="eeeeee";
				}
	
				$res .= "\n<tr style='background-color: $couleur'>";
				$dir=lang_dir($lang,'',' dir="rtl"');
				$res .= "<td style='width: 100%; border-bottom: 1px solid #cccccc;'><span class='verdana2'$dir><span style='float: $spip_lang_right;'>$pourcent%</span>".traduire_nom_langue($lang)."</span></td>";
				
				$res .= "<td style='border-bottom: 1px solid #cccccc;'>";
				$res .= "\n<table cellpadding='0' cellspacing='0' border='0' width='".($taille+5)."'>";
				$res .= "\n<tr><td style='align:$spip_lang_right; background-color: #eeeeee; border: 1px solid #999999; white-space: nowrap;'>";
				if ($visites_abs > 0) $res .= "<img src='" . chemin_image('rien.gif') . "' width='$visites_abs' height='8' alt=' ' />";
				if ($visites>0) $res .= "<img src='" . chemin_image('rien.gif') . "' class='couleur_langue' style='border: 0px;' width='$visites' height='8' alt=' ' />";
				$res .= "</td></tr></table>\n";
	
				$res .= "</td>";
				$res .= "</tr>";
				$visites_abs += $visites;
		}
	}
	if ($res)
		echo "\n<table cellpadding='2' cellspacing='0' border='0' width='100%' style='border: 1px solid #aaaaaa;'>", $res, "</table>\n";


//echo "<p><span class='verdana1 spip_medium'>"._T('texte_signification')."</span>";

	echo fin_cadre_enfonce(true);

	echo "</td></tr></table>";
	echo fin_page();
}
示例#29
0
function statistiques_forums_dist($duree, $interval, $type, $id_article, $serveur)
{
	$where = "id_article=$id_article AND statut='publie'";
	$total = sql_countsel("spip_forum", $where);
	if (!$total) return '';
	$order = 'date_heure';
	$interval = 24 * 3600;
	$oldscore = 420;
	$oldlog = array();
	while ($interval >= 1) {
		$log = statistiques_collecte_date('COUNT(*)', "(FLOOR(UNIX_TIMESTAMP($order) / $interval) *  $interval)", 'spip_forum', $where, $serveur);
		if (count($log) > 3) break;
		$oldlog = $log;
		$oldinterval = $interval;
		$interval /= ($interval>3600) ?  24 : 60;
	}
	if (count($log) > 20) {
	  $interval = $oldinterval;
	  $log = $oldlog;
	}
	$script = generer_url_ecrire('articles_forum', "id_article=$id_article");
	$date = sql_getfetsel('UNIX_TIMESTAMP(date)', 'spip_articles', $where);
	$back = 10*ceil((time()-$date) / 3600);
	$jour = statistiques_tous($log, $id_article, "spip_forum", $where, "date_heure", $serveur, $back, $interval, $total, 0, '', array(), $script);

	return "<br />"
	. gros_titre(_T('titre_page_statistiques_messages_forum'),'', false)
	  . cadre_stat($jour, 'spip_forum', $id_article);
}
示例#30
0
文件: sites.php 项目: rhertzog/lcs
function afficher_site($id_syndic, $id_rubrique, $nom_site, $row){

	global $spip_lang_right;

	$cherche_mot = _request('cherche_mot');
	$select_groupe = _request('select_groupe');
	$id_secteur = $row["id_secteur"];
	$url_site = $row["url_site"];
	$url_syndic = $row["url_syndic"];
	$syndication = $row["syndication"];
	$statut = $row["statut"];
	$date_heure = $row["date"];
	$date_syndic = $row['date_syndic'];

	$flag_administrable = autoriser('modifier','site',$id_syndic);
	$flag_editable = ($flag_administrable OR ($GLOBALS['meta']["proposer_sites"] > 0 AND ($statut == 'prop')));

	$meme_rubrique = charger_fonction('meme_rubrique', 'inc');
	$iconifier = charger_fonction('iconifier', 'inc');
	if ($flag_editable AND ($statut == 'publie'))
		$dater = charger_fonction('dater', 'inc');
	$editer_mots = charger_fonction('editer_mots', 'inc');
	if ($flag_administrable)
		$instituer_site = charger_fonction('instituer_site','inc');

	echo debut_grand_cadre(true);
	echo afficher_hierarchie($id_rubrique);
	echo fin_grand_cadre(true);

	echo debut_gauche('', true);
	echo debut_boite_info(true);
	echo pipeline ('boite_infos', array('data' => '',
		'args' => array(
			'type'=>'site',
			'id' => $id_syndic,
			'row' => $row
			)
	));
	echo fin_boite_info(true);
	echo $iconifier('id_syndic', $id_syndic, 'sites', false, $flag_administrable);

	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>''));

	echo creer_colonne_droite('', true);
	echo $meme_rubrique($id_rubrique, $id_syndic, 'syndic');
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>''));

	echo bloc_des_raccourcis(
		icone_horizontale(_T('icone_voir_sites_references'), generer_url_ecrire("sites_tous",""), "site-24.gif","rien.gif", false)
	);


	echo debut_droite('', true);

	if ($syndication == 'off' OR $syndication == 'sus')
	  $droit = $id_rubrique;
	else $droit = 0;

	$url_affichee = $url_site;
	if (strlen($url_affichee) > 40) $url_affichee = substr($url_affichee, 0, 30)."...";

	$actions =
	 ($flag_editable ? icone_inline(_T('icone_modifier_site'), generer_url_ecrire('sites_edit',"id_syndic=$id_syndic"), "site-24.gif", "edit.gif",$spip_lang_right) : "");

	$haut =
		"<div class='bandeau_actions'>$actions</div>".
		gros_titre($nom_site?$nom_site:"("._T('info_sans_titre_2').")", '' , false)
	  . "<a href='$url_site' class='url_site'>$url_affichee</a>";

	$type = 'site';
	$contexte = array('id'=>$id_syndic,'id_rubrique'=>$id_rubrique);
	$fond = recuperer_fond("prive/contenu/$type",$contexte);
	// permettre aux plugin de faire des modifs ou des ajouts
	$fond = pipeline('afficher_contenu_objet',
			array(
			'args'=>array(
				'type'=>$type,
				'id_objet'=>$id_syndic,
				'contexte'=>$contexte),
			'data'=> $fond));
	
	$fond = "<div id='wysiwyg'>$fond</div>";

	$onglet_contenu =
		(_INTERFACE_ONGLETS?
		($statut == 'prop' ? "<p class='site_prop'>"._T('info_site_propose')." <b>".affdate($date_heure)."&nbsp;</b></p>" : "")
		 . $fond:"")

		. (($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") ?
		  "<p class='site_syndique'><a href='".htmlspecialchars($url_syndic)."'>"
		  .	http_img_pack('feed.png', 'RSS').	'</a>'._T('info_site_syndique').'</p>'

			. (($syndication == "off" OR $syndication=="sus") ?
			  "<div class='site_syndique_probleme'>" . _T('avis_site_syndique_probleme', array('url_syndic' => quote_amp($url_syndic)))
			  . redirige_action_auteur('editer_site', $id_syndic, 'sites', '',
			    "<input type='hidden' name='reload' value='oui' />
			    <input type='submit' value=\""
				  . attribut_html(_T('lien_nouvelle_recuperation'))
				  . "\" class='spip_xx-small' />")
				. "</div>"
			  : "")

			. afficher_objets('syndic_article',_T('titre_articles_syndiques'), array('FROM' => 'spip_syndic_articles', 'WHERE' => "id_syndic=$id_syndic", 'ORDER BY' => "date DESC"), $id_syndic)

			. ($date_syndic ? "<div class='date_syndic'>" . _T('info_derniere_syndication').' '.affdate_heure($date_syndic) .".</div>" : "")
			. "<div class='mise_a_jour_syndic'>"
			. redirige_action_post('editer_site', $id_syndic, 'sites', "id_syndic=$id_syndic",
				"<input type='hidden' name='reload' value='oui' />
				<input type='submit' value=\""
				. attribut_html(_T('lien_mise_a_jour_syndication'))
				. "\" class='spip_xx-small' />")
			. "</div>"

			: choix_feed($id_syndic, $id_rubrique, $nom_site, $row))
		. (_INTERFACE_ONGLETS?"":($flag_administrable ? options_moderation($row) : ""))

	  ;

	$onglet_proprietes =
		(_INTERFACE_ONGLETS?"":
		$fond
		. ($statut == 'prop' ? "<p class='site_prop'>"._T('info_site_propose')." <b>".affdate($date_heure)."&nbsp;</b></p>" : "")
		)
		. afficher_site_rubrique($id_syndic, $id_rubrique, $id_secteur)
		. ($dater ? $dater($id_syndic, $flag_editable, $statut, 'syndic', 'sites', $date_heure) : "")
	  . $editer_mots('syndic', $id_syndic,  $cherche_mot,  $select_groupe, $flag_editable, true, 'sites')
	  . (_INTERFACE_ONGLETS?($flag_administrable ? options_moderation($row) : ""):"")
	  . pipeline('affiche_milieu',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>''))
	  ;

	$discuter = charger_fonction('discuter', 'inc');
	$onglet_discuter = $discuter($id_syndic, 'sites', 'id_syndic');
	$onglet_documents = "" ;
	$onglet_interactivite = "";

	echo
	  "<div class='fiche_objet'>"
	  . $haut
	  . afficher_onglets_pages(array(
	  	'voir' => _T('onglet_contenu'),
	  	'props' => _T('onglet_proprietes'),
	  	'docs' => _T('onglet_documents'),
	  	'interactivite' => _T('onglet_interactivite'),
	  	'discuter' => _T('onglet_discuter')),
	  _INTERFACE_ONGLETS?
	  array(
	    'voir'=>$onglet_contenu,
	    'props'=>$onglet_proprietes,
	    'docs'=>$onglet_documents,
	    'interactivite'=>$onglet_interactivite,
	    'discuter'=>$onglet_discuter)
	  :array(
	    'props'=>$onglet_proprietes,
	    'voir'=>$onglet_contenu	    )
	   )
	  . "</div>"
	  . (_INTERFACE_ONGLETS?"":$onglet_discuter);
}