Esempio n. 1
0
function configuration_type_urls_dist()
{
	if ($GLOBALS['type_urls'] != 'page') // fixe par mes_options
		return '';

	$dispo = array();
	foreach (find_all_in_path('urls/', '\w+\.php$', array()) as $f) {
		$r = basename($f, '.php');
		if ($r == 'index' OR strncmp('generer_',$r,8)==0) continue;
		include_once $f;
		$exemple = 'URLS_' . strtoupper($r) . '_EXEMPLE';
		$exemple = defined($exemple) ? constant($exemple) : '?';
		$dispo[$r] = "<em>$r</em> &mdash; <tt>" . $exemple . '</tt>';
	}

	$res = "<p class='verdana2'>"
		. _T('texte_type_urls')
		. "</p>"
		. "<div class='verdana2'>"
		. afficher_choix('type_urls', $GLOBALS['meta']['type_urls'], $dispo)
		. "</div>"
		. "<p><em>"
		. _T('texte_type_urls_attention', array('htaccess' => '<tt>.htaccess</tt>'))
		. "</em></p>";


	$res = '<br />'.debut_cadre_trait_couleur("", true, "",  _T('titre_type_urls').aide("confurl"))
	.  ajax_action_post('configurer', 'type_urls', 'config_fonctions', '', $res)
	.  fin_cadre_trait_couleur(true);

	return ajax_action_greffe("configurer-type_urls", '', $res);
}
Esempio n. 2
0
function configuration_compteur_dist()
{
	global $spip_lang_right;

	$res = "<div class='verdana2'>"
	. _T('info_question_gerer_statistiques')
	. "</div>"
	. "<div class='verdana2'>"
	.  afficher_choix('activer_statistiques', 
			  $GLOBALS['meta']["activer_statistiques"],
			  array('oui' => _T('item_gerer_statistiques'),
				'non' => _T('item_non_gerer_statistiques')), ' &nbsp; ')
	  . "</div>";
	if ($GLOBALS['meta']["activer_statistiques"]=='oui'){
		$res .= "<br /><div class='verdana2' id='captures_voir'>"
		. _T('info_question_vignettes_referer')
		. "</div>"
		. "<div class='verdana2'>"
		.  afficher_choix('activer_captures_referers', 
				  $GLOBALS['meta']["activer_captures_referers"],
				  array('oui' => _T('info_question_vignettes_referer_oui'),
					'non' => _T('info_question_vignettes_referer_non')))
		  . "</div>";
	}


	$res = debut_cadre_trait_couleur("statistiques-24.gif", true, "", _T('info_forum_statistiques').aide ("confstat"))
	.  ajax_action_post('configurer', 'compteur', 'config_fonctions', '', $res)
	.  fin_cadre_trait_couleur(true);

	return ajax_action_greffe("configurer-compteur", '', $res);
}
Esempio n. 3
0
function configuration_forums_prives_dist()
{
	$res = "<div class='verdana2'>"
	. _T('info_config_forums_prive')
	. "<br />\n"

	. "<p>"._T('info_config_forums_prive_objets')
	. "<br />\n"
	. afficher_choix('forum_prive_objets', $GLOBALS['meta']['forum_prive_objets'],
		array('oui' => _T('item_config_forums_prive_objets'),
			'non' => _T('item_non_config_forums_prive_objets')))
	."</p>\n"

	. "<p>"._T('info_config_forums_prive_global')
	. "<br />\n"
	. afficher_choix('forum_prive', $GLOBALS['meta']['forum_prive'],
		array('oui' => _T('item_config_forums_prive_global'),
			'non' => _T('item_non_config_forums_prive_global')))
	."</p>\n"

	. "<p>"._T('info_config_forums_prive_admin')
	. "<br />\n"
	. afficher_choix('forum_prive_admin', $GLOBALS['meta']['forum_prive_admin'],
		array('oui' => _T('item_activer_forum_administrateur'),
			'non' => _T('item_desactiver_forum_administrateur')))
	."</p>\n"

	. "</div>";

	$res = debut_cadre_trait_couleur("forum-interne-24.gif", true, "", _T('titre_config_forums_prive'))
	. ajax_action_post('configurer', 'forums_prives', 'config_contenu','',$res)
	 . fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-forums_prives', '', $res);
}
Esempio n. 4
0
function configuration_notifications_forum_dist()
{
	$res = '';
	$m = $GLOBALS['meta']['prevenir_auteurs'];
	$l = $GLOBALS['liste_des_forums'];
	unset($l['info_pas_de_forum']);
	foreach ($l as $desc => $val) {
		$name = 'prevenir_auteurs_' . $val;
		$lib = _T($desc);
		$vu = (($m == 'oui') OR strpos($m,",$val,")!==false);
		$res .= "<input type='checkbox' name='$name' value='oui' id='$name'"
			. ($vu ? " checked='checked'" : '')
			. " /> <label for='$name'>"
			. ($vu ? "<b>$lib</b>" : $lib)
			.  "</label><br />";
	}

	$res = "<div class='verdana2'>"
		. _T('info_option_email')
	  . "<br /><br />"
	  . $res
	  . "</div>\n";

	$res = debut_cadre_trait_couleur("mail-forum-24.gif", true, "", _T('info_envoi_forum'))
	. ajax_action_post('configurer_notifications_forum', 0, 'config_contenu','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer_notifications_forum', 0, $res);
}
Esempio n. 5
0
function configuration_visiteurs_dist()
{
	global $spip_lang_left ;

	if (!avoir_visiteurs(false,false)) {
		$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">"
		. "\n<tr><td class='verdana2'>"
		. _T('info_question_accepter_visiteurs')
		. "</td></tr>"
		. "\n<tr><td style='text-align: $spip_lang_left' class='verdana2'>"
		. afficher_choix('accepter_visiteurs', $GLOBALS['meta']['accepter_visiteurs'],
				       array('oui' => _T('info_option_accepter_visiteurs'),
					'non' => _T('info_option_ne_pas_accepter_visiteurs')))
		. "</td></tr></table>\n";

		$res = ajax_action_post('configurer', 'visiteurs', 'config_contenu','',$res);
	} else {
		$res = _T('info_forums_abo_invites');
	}

	$res = debut_cadre_trait_couleur("redacteurs-24.gif", true, "", _T('info_visiteurs'))
	. $res
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-visiteurs', '', $res);
}
Esempio n. 6
0
function configuration_ie6config()
{
	$iecompat = $GLOBALS['meta']["iecompat"];
	if (!$iecompat) $iecompat = "non";

	$res = _T("msiecompat:choix_explication");
	
	$res .= afficher_choix('iecompat', $iecompat,
		array('non' => _T("msiecompat:choix_non"),
			'ifixpng' => _L('iFixPng'),
			'IE7' => _L("IE7.js"),
			'IE7squish' => _L("IE7.js + ie7-squish.js"),
			'IE8' => _L('IE8.js'),
			'IE8squish' => _L('IE8.js + ie7-squish.js')
			/*,
			'IE9' => _L('IE9.js'),
			'IE9squish' => _L('IE9.js + ie7-squish.js')
			*/
		), 
		" <br /> ");
	
	
	$res = debut_cadre_trait_couleur(find_in_path("imgs/ie6-logo24.png"), true, "", _T("msiecompat:choix_titre"))
	. ajax_action_post('configurer', 'ie6config', 'configuration','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-ie6config', '', $res);

}
Esempio n. 7
0
function configuration_previsualiseur_dist()
{
	$recom = array("info_administrateurs" => _T('info_preview_admin'),
                       "info_redacteurs" =>  _T('info_preview_comite'));

	$voir = $GLOBALS['meta']["preview"];

	$res = '';

	foreach($GLOBALS['liste_des_statuts'] as $k => $v) {
		if (isset($recom[$k])) {
			$vu = strpos($voir,",$v,")!==false;
			$lib = _T($k);

			$res .= "<input type='checkbox' name='preview[]' value='$v' id='preview$v'"
			. ($vu ? " checked='checked'" : '')
			. " /> <label for='preview$v'>"
			. ($vu ? "<b>$lib</b>" : $lib)
			.  "</label><br />";
		}
	}

	$res = "<div class='verdana2'>"
	. _T('info_preview_texte')
	. "<br /><br />"
	. $res
	. "</div>";

	$res = debut_cadre_trait_couleur("naviguer-site.png", true, "", _T('previsualisation')
	. aide("previsu"))
	. ajax_action_post('configurer_previsualiseur', 0, 'config_fonctions', '', $res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe("configurer_previsualiseur", 0, $res);
}
function player_affiche_config_form ($exec_page){

		global $spip_lang_right, $spip_lang_left;
		
	  if ($player = _request('player')) {
			ecrire_meta('player', $player);
			if(version_compare($GLOBALS['spip_version_code'],'1.9300','<')) { 
				include_spip("inc/meta");
				ecrire_metas();
			}
		}
		
		$player_ = $GLOBALS['meta']['player'];
		
		$out = ""
			. debut_cadre_trait_couleur(_DIR_PLUGIN_PLAYER_IMAGES."player-son-24.png", true, "", "Player Audio")
			. "<form action='".generer_url_ecrire($exec_page)."' method='post' class='verdana2'><div>"
			. bouton_radio("player", "neoplayer", "Neolao player", $player_ == "neoplayer")
			. "<br />"
			. bouton_radio("player", "dewplayer", "Dew player", $player_ == "dewplayer")
			. "<br />"
			. bouton_radio("player", "pixplayer", "One pixel out player", $player_ == "pixplayer")
			. "<br />"
			. bouton_radio("player", "eraplayer", "Erational player", $player_ == "eraplayer")
			. "<div style='text-align:$spip_lang_right'><input type='submit' name='Valider' value='"._T('bouton_valider')."' class='fondo' /></div>"
			. "</div></form>"
			. fin_cadre_trait_couleur(true)
			;

		return ($out);
}
Esempio n. 9
0
function configuration_documents_dist(){
	global $spip_lang_left, $spip_lang_right;

	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">";
	$res .= "<tr><td class='verdana2'>";
	$res .= _T('texte_documents_joints');
	$res .= _T('texte_documents_joints_2');
	$res .= "</td></tr>";

	$res .= "<tr>";
	$res .= "<td align='$spip_lang_left' class='verdana2'>";
	$res .= afficher_choix('documents_article',
		$GLOBALS['meta']["documents_article"],
		array('oui' => _T('item_autoriser_documents_joints'),
			'non' => _T('item_non_autoriser_documents_joints')), "<br />\n");
	$res .= "<br /><br />\n";
	$res .= afficher_choix('documents_rubrique',
		$GLOBALS['meta']["documents_rubrique"],
		array('oui' => _T('item_autoriser_documents_joints_rubriques'),
			'non' => _T('item_non_autoriser_documents_joints_rubriques')), "<br />\n");
	$res .= "<br /><br />\n";
	$res .= afficher_choix('documents_date',
		$GLOBALS['meta']["documents_date"],
		array('oui' => _T('item_autoriser_selectionner_date_en_ligne'),
			'non' => _T('item_non_autoriser_selectionner_date_en_ligne')), "<br />\n");
	$res .= "</td></tr>";
	$res .= "</table>\n";

	$res = debut_cadre_trait_couleur("doc-24.gif", true, "", _T('titre_documents_joints'))
	. ajax_action_post('configurer', 'documents', 'configuration','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-documents', '', $res);
}
Esempio n. 10
0
function test_outil($array, $titre) {
	global $icone;
	static $i; $i++;
	echo "<a id=$i></a>",debut_cadre_trait_couleur($icone,true,'',"$i. $titre");
	foreach($array as $s=>$v) if(is_array($v))
			foreach($v as $s2=>$v2) echo "\n<b>{$s}[$s2]</b> = ".trim($v2)."<br />";
		else echo "\n<b>$s</b> = ".trim($v)."<br />";
	echo fin_cadre_trait_couleur(true);
}
Esempio n. 11
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();
}
Esempio n. 12
0
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();
}
Esempio n. 13
0
function configuration_relayeur_dist($retour_proxy='')
{
	global $spip_lang_left;

	$res = $submit = '';

	$http_proxy = $GLOBALS['meta']["http_proxy"];
	$http_noproxy = $GLOBALS['meta']["http_noproxy"];

	if ($http_proxy) {
		include_spip('inc/distant');
		// Masquer un eventuel password authentifiant
		$http_proxy=entites_html(no_password_proxy_url($http_proxy));
		if ($http_proxy) {
			$res = "\n<p style='text-align: $spip_lang_left;' class='verdana1 spip_small'>"
			. "<label for='test_proxy'>" 
			. _T('texte_test_proxy')
			. "</label>"
			. "</p>"
			. "\n<p>"
			. "<input type='text' name='test_proxy' id='test_proxy' value='http://www.spip.net/' size='40' class='forml' />"
			. "</p>";

			if($retour_proxy) {
				$res .= debut_boite_info(true)
				. $retour_proxy
				. fin_boite_info(true);
			}
			$submit = array('valider_proxy' => _T('bouton_valider'),
					'tester_proxy' => _T('bouton_test_proxy'));
		}
	}

	$encours = "<label for='http_proxy'>" . ($http_proxy ? $http_proxy : "http://proxy:8080") . '</label>' ;
	$exemple = "<label for='http_noproxy'>" . ($http_noproxy ? $http_noproxy : "127.0.0.1 .mondomaine.net") . "</label>";
	$res = "\n<div class='verdana2'>"
	  . propre(_T('texte_proxy', array('proxy_en_cours' => "<b><tt><html>$encours</html></tt></b>")))
	  . "</div>"
	  . "\n<div class='verdana2'>"
	  . "<input type='text' name='http_proxy' id='http_proxy' size='40' class='forml' value='$http_proxy' />"
	  . "<br />"
	  . propre(_T('pas_de_proxy_pour', array('exemple' => "<b><tt><html>$exemple</html></tt></b>")))
	  . "<input type='text' name='http_noproxy' id='http_noproxy' size='40' class='forml' value='$http_noproxy' />"
	  . $res
	  . "</div>";

	$res = debut_cadre_trait_couleur("base-24.gif", true, "", _T('info_sites_proxy').aide ("confhttpproxy"))
	.  ajax_action_post('configurer_relayeur', 0, 'config_fonctions', '', $res, $submit)
	.  fin_cadre_trait_couleur(true);

	return ajax_action_greffe("configurer_relayeur", 0, $res);
}
Esempio n. 14
0
function configuration_messagerie_agenda_dist()
{
	$res = "<div class='verdana2'>"
	. _T('texte_messagerie_agenda')
	. "<br />\n"
	. afficher_choix('messagerie_agenda', $GLOBALS['meta']['messagerie_agenda'],
		array('oui' => _T('item_messagerie_agenda'),
			'non' => _T('item_non_messagerie_agenda')))
	. "</div>";

	$res = debut_cadre_trait_couleur("messagerie-24.gif", true, "", _T('titre_messagerie_agenda'))
	. ajax_action_post('configurer', 'messagerie_agenda', 'config_contenu','',$res)
	 . fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-messagerie_agenda', '', $res);
}
Esempio n. 15
0
function configuration_indexeur_dist()
{
	global $spip_lang_right;

	$res = "<div class='verdana2'>"
	.  _T('info_question_utilisation_moteur_recherche')
	.  "</div>"
	.  "<div class='verdana2'>"
	.  afficher_choix('activer_moteur', $GLOBALS['meta']["activer_moteur"],
		array('oui' => _T('item_utiliser_moteur_recherche'),
			'non' => _T('item_non_utiliser_moteur_recherche')), ' &nbsp; ')
	  .  "</div>";

	$res = debut_cadre_trait_couleur("racine-site-24.gif", true, "", _T('info_moteur_recherche').aide ("confmoteur"))
	.  ajax_action_post('configurer', 'indexeur', 'config_fonctions', '', $res)
	.  fin_cadre_trait_couleur(true);

	return ajax_action_greffe("configurer-indexeur", '', $res);
}
Esempio n. 16
0
function configuration_versionneur_dist()
{
	global $spip_lang_right;

	$res =  "<div class='verdana2'>"
	. _T('info_historique_texte')
	. "</div>"
	. "<div class='verdana2'>"
	. afficher_choix('articles_versions', $GLOBALS['meta']["articles_versions"],
		array('oui' => _T('info_historique_activer'),
			'non' => _T('info_historique_desactiver')))
	. "</div>";

	$res = debut_cadre_trait_couleur("historique-24.gif", true, "", _T('info_historique_titre').aide("suivimodif"))
	.  ajax_action_post('configurer', 'versionneur', 'config_fonctions', '', $res)
	.  fin_cadre_trait_couleur(true);

	return ajax_action_greffe("configurer-versionneur", '', $res);
}
Esempio n. 17
0
function configuration_avertisseur_dist()
{
	global $spip_lang_right;

	$res = "<div class='verdana2'>"
	. _T('texte_travail_collaboratif')
	. "</div>"
	. "<div class='verdana2'>"
	. afficher_choix('articles_modif',$GLOBALS['meta']["articles_modif"] ,
		array('oui' => _T('item_activer_messages_avertissement'),
			'non' => _T('item_non_activer_messages_avertissement')))
	  . "</div>";


	$res = debut_cadre_trait_couleur("article-24.gif", true, "", _T('info_travail_colaboratif').aide("artmodif"))
	.  ajax_action_post('configurer', 'avertisseur', 'config_fonctions', '', $res)
	.  fin_cadre_trait_couleur(true);

	return ajax_action_greffe("configurer-avertisseur", '', $res);
}
Esempio n. 18
0
function configuration_logos_dist(){
	global $spip_lang_left, $spip_lang_right;
	
	$activer_logos = $GLOBALS['meta']["activer_logos"];
	$activer_logos_survol = $GLOBALS['meta']["activer_logos_survol"];
	
	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">";
	$res .= "<tr><td class='verdana2'>";
	$res .= _T('config_info_logos').aide('logoart');
	$res .= "</td></tr>";
	
	$res .= "<tr>";
	$res .= "<td align='$spip_lang_left' class='verdana2'>";
	
	
	$res .= bouton_radio("activer_logos", "oui", _T('config_info_logos_utiliser'), $activer_logos == "oui", "changeVisible(this.checked, 'logos_survol_config', 'block', 'none');")
	. " <br /> "
	. bouton_radio("activer_logos", "non", _T('config_info_logos_utiliser_non'), $activer_logos == "non", "changeVisible(this.checked, 'logos_survol_config', 'none', 'block');");

	if ($activer_logos != "non") $style = "display: block;";
	else $style = "display: none;";
	
	$res .= "<br /><br /><div id='logos_survol_config' style='$style'>";
	

	$res .= afficher_choix('activer_logos_survol', $activer_logos_survol,
		array('oui' => _T('config_info_logos_utiliser_survol'),
			'non' => _T('config_info_logos_utiliser_survol_non')), " <br /> ");
			
			
	$res .= "</div>";
	
	$res .= "</td></tr>";
	$res .= "</table>\n";

	$res = debut_cadre_trait_couleur("image-24.gif", true, "", _T('info_logos'))
	. ajax_action_post('configurer', 'logos', 'configuration','',$res) 
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-logos', '', $res);
}
Esempio n. 19
0
function configuration_redacteurs_dist()
{
	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">"
	. "\n<tr><td class='verdana2'>"
#	. "<blockquote><p><i>"
	. _T('info_question_inscription_nouveaux_redacteurs')
#	. "</i></p></blockquote>"
	. "</td></tr>"
	. "\n<tr><td align='center' class='verdana2'>"
	. afficher_choix('accepter_inscriptions', $GLOBALS['meta']["accepter_inscriptions"],
		array('oui' => _T('item_accepter_inscriptions'),
			'non' => _T('item_non_accepter_inscriptions')), " &nbsp; ")

	. "</td></tr>\n"
	. "</table>\n";

	$res = debut_cadre_trait_couleur("redacteurs-24.gif", true, "", _T('info_inscription_automatique'))
	. ajax_action_post('configurer', 'redacteurs', 'config_contenu','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-redacteurs', '', $res);
}
Esempio n. 20
0
function configuration_rubriques_dist(){
	global $spip_lang_left;

	$rubriques_descriptif = $GLOBALS['meta']["rubriques_descriptif"];
	$rubriques_texte = $GLOBALS['meta']["rubriques_texte"];

	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">"

	. "<tr><td colspan='2' class='verdana2'>"
	. typo(_T('config_activer_champs').':')
	. "</td></tr>"

	. "<tr>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. _T('info_descriptif')
	. "</td>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. afficher_choix('rubriques_descriptif', $rubriques_descriptif,
		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
	. "</td></tr>\n"

	. "<tr>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. typo(_T('info_texte').':')
	. "</td>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. afficher_choix('rubriques_texte', $rubriques_texte,
		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
	. "</td></tr>\n"

	. "</table>";

	$res = debut_cadre_trait_couleur("rubrique-24.gif", true, "", _T('icone_rubriques'))
	. ajax_action_post('configurer', 'rubriques', 'configuration','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-rubriques', '', $res);

}
Esempio n. 21
0
function configuration_breves_dist(){

	$activer_breves = $GLOBALS['meta']["activer_breves"];

	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">"
	. "<tr><td class='verdana2'>"
	. _T('texte_breves')."<br />\n"
	. _T('info_breves')
	. "</td></tr>"
	. "<tr><td align='center' class='verdana2'>"
	. afficher_choix('activer_breves', $activer_breves,
		array('oui' => _T('item_utiliser_breves'),
			'non' => _T('item_non_utiliser_breves')), " &nbsp; ")
	. "</td></tr>\n"
	. "</table>\n";
	
	$res = debut_cadre_trait_couleur("breve-24.gif", true, "", _T('titre_breves').aide ("confbreves"))
	. ajax_action_post('configurer', 'breves', 'configuration','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-breves', '', $res);

}
Esempio n. 22
0
function formulaire_charger_plugin($retour='') {
	global $spip_lang_left, $spip_lang_right;

	include_spip('inc/filtres');
	include_spip('inc/presentation');

	// Si defini comme non-existant
	if (!_DIR_PLUGINS)
		return '';

	$auto = '';
	if (_DIR_PLUGINS_AUTO) {
		if (!@is_dir(_DIR_PLUGINS_AUTO)
		OR !is_writeable(_DIR_PLUGINS_AUTO)) {
		  $auto = _T('plugin_info_automatique1')."\n"
			.'<ol class="spip"><li>'._T('plugin_info_automatique2',array('rep'=>joli_repertoire(_DIR_PLUGINS_AUTO))).'</li>'
			.'<li>'._T('plugin_info_automatique3').aide("install0")."</li></ol>"
		  ."\n<p>"._T('plugin_info_automatique_lib')."</p>";
		}

		if (!$auto)
			$auto = interface_plugins_auto($retour);

	}

	$message = _T('plugin_info_automatique_ftp',array('rep'=>joli_repertoire(_DIR_PLUGINS)));
	if (!@is_dir(_DIR_PLUGINS))
		$message .= " &mdash; "._T('plugin_info_automatique_creer');

	return debut_cadre_trait_couleur("spip-pack-24.png", true, "", _T('plugin_titre_automatique_ajouter'))
		. "<h3>"._T('plugin_titre_automatique')."</h3>"
		. "<p>".$message."</p>\n"
		. $auto
		. fin_cadre_trait_couleur(true);

}
Esempio n. 23
0
function configuration_porte_plume_dist()
{

	if (!$val =  $GLOBALS['meta']["barre_outils_public"]) {
		$val = 'oui';
	}
	$res = propre(_T("barre_outils:explication_barre_outils_public"));
	$res .= propre(_T("barre_outils:explication_barre_outils_public_2"));
	
	$res .= afficher_choix('barre_outils_public', $val,
		array(
			'oui' => _T("barre_outils:label_barre_outils_public_oui"),
			'non' => _T("barre_outils:label_barre_outils_public_non")
		), 
		" <br /> ");
	
	
	$res = debut_cadre_trait_couleur(find_in_path("images/porte-plume-24.png"), true, "", _T("barre_outils:info_porte_plume_titre"))
	. ajax_action_post('configurer', 'porte_plume', 'configuration','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-porte_plume', '', $res);

}
Esempio n. 24
0
function configuration_contenu_forums_dist(){
	global $spip_lang_left;

	$forums_titre = $GLOBALS['meta']["forums_titre"];
	$forums_texte = $GLOBALS['meta']["forums_texte"];
	$forums_urlref = $GLOBALS['meta']["forums_urlref"];
	$forums_afficher_barre = $GLOBALS['meta']["forums_afficher_barre"];

	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">"

	. "<tr><td colspan='2' class='verdana2'>"
	. typo(_T('config_activer_champs').':')
	. "</td></tr>"

	. "<tr>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. _T('info_titre')
	. "</td>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. afficher_choix('forums_titre', $forums_titre,
		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
	. "</td></tr>\n"

	. "<tr>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. typo(_T('info_texte').':')
	. "</td>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. afficher_choix('forums_texte', $forums_texte,
		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
	. "</td></tr>\n"

	. "<tr>"
	. "<td align='$spip_lang_left' class='verdana2'>- "
	. _T('info_barre_outils')
	. "</td>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. afficher_choix('forums_afficher_barre', $forums_afficher_barre,
		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
	. "</td></tr>\n"

	. "<tr>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. _T('info_urlref')
	. "</td>"
	. "<td align='$spip_lang_left' class='verdana2'>"
	. afficher_choix('forums_urlref', $forums_urlref,
		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
	. "</td></tr>\n"


	. "<tr>"
	. "<td align='$spip_lang_left' class='verdana2' colspan='2'>"
	. _T('info_question_visiteur_ajout_document_forum')
	. "<div class='spip_xx-small'>"
	. _T('info_question_visiteur_ajout_document_forum_format')
	. "</div><br />"
	. "<input type='text' name='formats_documents_forum' id='formats_documents_forum' size='40' class='forml' value=\""
		.entites_html($GLOBALS['meta']['formats_documents_forum'])
		."\" />"
	. "</td></tr>\n"


	. "</table>";

	$res = debut_cadre_trait_couleur("forum-public-24.gif", true, "", _T('titre_forum'))
	. ajax_action_post('configurer', 'contenu_forums', 'configuration','',$res)
	. fin_cadre_trait_couleur(true);

	return ajax_action_greffe('configurer-contenu_forums', '', $res);

}
Esempio n. 25
0
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
Esempio n. 26
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();
    // }}}
}
Esempio n. 27
0
/**
 * Crée le code HTML de la liste des plugins verrouillés
 *
 * @uses liste_plugin_files()
 * 
 * @param array $actifs
 *     Liste des plugins actifs
 * @return string
 *     Code HTML
**/
function affiche_les_plugins_verrouilles($actifs)
{
    if (!($liste = liste_plugin_files(_DIR_PLUGINS_DIST))) {
        return '';
    }
    $afficher = charger_fonction("afficher_liste", 'plugins');
    $liste = $afficher(self(), $liste, array(), $actifs, _DIR_PLUGINS_DIST);
    return "<div id='plugins_dist'>" . debut_cadre_trait_couleur('', true, '', _T('plugins_liste_dist'), 'liste_plugins_dist') . "<p>" . _T('plugin_info_plugins_dist_1', array('plugins_dist' => joli_repertoire(_DIR_PLUGINS_DIST))) . '<br />' . _T('plugin_info_plugins_dist_2') . "</p>" . $liste . fin_cadre_trait_couleur(true) . "</div>\n";
}
Esempio n. 28
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);
}
Esempio n. 29
0
function exec_spiplistes_abonnes_tous () {

	include_spip('inc/presentation');
	include_spip('inc/mots');
	include_spip('inc/spiplistes_api');
	include_spip('inc/spiplistes_api_presentation');

	global $connect_statut
		, $connect_toutes_rubriques
		, $connect_id_auteur
		;

	$flag_autorise = ($connect_statut == '0minirezo');
	
	if($flag_autorise) {
	
		$total_auteurs_elligibles = spiplistes_auteurs_elligibles_compter();
		
		//Total des auteurs qui ne sont pas abonnes a une liste
		$nb_abonnes_a_rien = spiplistes_auteurs_non_abonnes_compter();

		//evaluer les formats de tous les auteurs + compter tous les auteurs
		$sql_result = sql_select(
			"`spip_listes_format` AS format, COUNT(`spip_listes_format`) AS nb"
			, 'spip_auteurs_elargis', '', "`spip_listes_format`"
		);
		//repartition des formats
		$total_abonnes_format = 0;
		$nb_abonnes_par_format = array(
			'texte' => 0	// abonnés au format texte
			, 'html' => 0	// au format html
			, 'non' => 0	// qui a été désabonné
			);
		while($row = sql_fetch($sql_result)) {
			$nb_abonnes_par_format[$row['format']] = $row['nb'];
			$total_abonnes_format += $row['nb'];
		}
	
		//Compter tous les abonnes a des listes 
		$sql_result = sql_select(
			"listes.statut AS statut, COUNT(abonnements.id_auteur) AS nb"
			, "spip_listes AS listes LEFT JOIN spip_auteurs_listes AS abonnements USING (id_liste)"
			, "", "listes.statut"
		);
		// etablit l'inventaire des listes
		// tries pas statut de la liste
		$nb_abonnes_listes = array();
		while ($row = sql_fetch($sql_result)) {
			$nb_abonnes_listes[$row['statut']] = intval($row['nb']);
		}
	}
	
////////////////////////////////////
// PAGE CONTENU
////////////////////////////////////

	$titre_page = _T('spiplistes:suivi');
	// Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'>
	$rubrique = _SPIPLISTES_PREFIX;
	$sous_rubrique = 'abonnes_tous';

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo($commencer_page( _T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique));
	
	// la gestion des abonnés est réservée aux admins 
	if(!$flag_autorise) {
		die (spiplistes_terminer_page_non_autorisee() . fin_page());
	}
	
	$page_result = ''
		. '<br /><br /><br />' . PHP_EOL
		. spiplistes_gros_titre($titre_page, '', true)
		. barre_onglets($rubrique, $sous_rubrique)
		. debut_gauche($rubrique, true)
		;

	// formulaire de recherche 
	if ($total_auteurs_elligibles > 1) {
		$page_result .= ""
			. debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."contact_loupe-24.png", true, "", _T('spiplistes:chercher_un_auteur'))
			. "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_ABONNES_LISTE)."' method='post' class='verdana2'>"
			. "<div style='text-align:center'>\n"
			. "<input type='text' name='cherche_auteur' class='fondl' value='' size='20' />"
			. "<div style='text-align:right;margin-top:0.5em;'><input type='submit' name='Chercher' value='"._T('bouton_chercher')."' class='fondo' /></div>"
			. "</div></form>"
			. fin_cadre_relief(true)
			;
	}

	$page_result .= ""
		. pipeline('affiche_gauche', array('args'=>array('exec'=>$sous_rubrique),'data'=>''))
		//. creer_colonne_droite($rubrique, true)  // spiplistes_boite_raccourcis() s'en occupe
		. spiplistes_boite_raccourcis(true)
		. spiplistes_boite_autocron()
		. spiplistes_boite_info_spiplistes(true)
		. pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>''))
		. debut_droite($rubrique, true)
		// boite résultat Recherche d'auteur
		. spiplistes_cherche_auteur()
		;
	
	// première boite des stats
	$page_result .= ''
		. debut_cadre_trait_couleur('forum-interne-24.gif', true)
		. spiplistes_titre_boite_info(_T('spiplistes:abonnes_titre'))
		. '<div class="verdana2" style="position:relative;margin:1ex;height:14em">'
		// bloc de gauche. Répartition des abonnés.
		. '<div style="position:absolute;top:0;left:0;width:250px" id="info_abo">'
		. PHP_EOL
		. '<p style="margin:0;">'._T('spiplistes:repartition_abonnes').' : </p>'
		. PHP_EOL
		. '<ul style="margin:0;padding:0 1ex;list-style:none">' . PHP_EOL

		// Total des abonnés listes privées (internes)
		. '<li>- '._T('spiplistes:Listes_diffusion_prive') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PRIVATE])
			. '</li>' . PHP_EOL
		// Total des abonnés listes périodiques (hebdomadaires)
	 	. '<li>- '. _T('spiplistes:Listes_diffusion_hebdo') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PUB_HEBDO] 
				+ $nb_abonnes_listes[_SPIPLISTES_LIST_PUB_WEEKLY])
			. '</li>' . PHP_EOL
		// privees hebdo
	 	. '<li>- '. _T('spiplistes:listes_privees_hebdo') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PRIV_HEBDO] 
				+ $nb_abonnes_listes[_SPIPLISTES_LIST_PRIV_WEEKLY])
			. '</li>' . PHP_EOL
		// Total des abonnés listes périodiques (mensuels)
	 	. '<li>- '. _T('spiplistes:Listes_diffusion_mensuelle') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PUB_MENSUEL] 
				+ $nb_abonnes_listes[_SPIPLISTES_LIST_PUB_MONTHLY])
			. '</li>' . PHP_EOL
		// privees mensuelles
	 	. '<li>- '. _T('spiplistes:listes_privees_mensuelle') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PRIV_MENSUEL] 
				+ $nb_abonnes_listes[_SPIPLISTES_LIST_PRIV_MONTHLY])
			. '</li>' . PHP_EOL
		// Total des abonnés listes périodiques (annuelles)
	 	. '<li>- '. _T('spiplistes:Listes_diffusion_annuelle') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PUB_YEARLY])
			. '</li>' . PHP_EOL
		// privees annuelles
	 	. '<li>- '. _T('spiplistes:listes_privees_annuelle') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PRIV_YEARLY])
			. '</li>' . PHP_EOL
		// Total des abonnés listes périodiques (periode ou envoi manuel)
	 	. '<li>- '. _T('spiplistes:Listes_autre_periode') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PUBLIC] 
				+ $nb_abonnes_listes[_SPIPLISTES_LIST_PUB_DAILY])
			. '</li>' . PHP_EOL
		// privees quotidiennes
	 	. '<li>- '. _T('spiplistes:listes_privees_autre_periode') . ': '
			. (0 + $nb_abonnes_listes[_SPIPLISTES_LIST_PRIVATE] 
				+ $nb_abonnes_listes[_SPIPLISTES_LIST_PRIV_DAILY])
			. '</li>' . PHP_EOL
		// Total des non abonnés
	 	. '<li>- '. _T('spiplistes:abonne_aucune_liste') . ': '.$nb_abonnes_a_rien
			. '</li>' . PHP_EOL
		. '</ul>' . PHP_EOL
		. '</div>' . PHP_EOL

		// bloc de droite. Répartition des formats.
		. "<div style='position:absolute;top:0;right:0;width:180px;' id='info_fmt'>\n"
		. "<p style='margin:0;'>"._T('spiplistes:repartition_formats')." : </p>\n"
		. "<ul style='margin:0;padding:0 1ex;list-style: none;'>"
		. "<li>- "._T('spiplistes:html')." : {$nb_abonnes_par_format['html']}</li>"
		. "<li>- "._T('spiplistes:texte')." : {$nb_abonnes_par_format['texte']}</li>"
		. "<li>- "._T('spiplistes:format_aucun')." : {$nb_abonnes_par_format['non']}</li>"
		. "</ul>"
		. "</div>\n"
		// fin des infos
		. "</div>\n"
		;


	$page_result .= ""
		. fin_cadre_trait_couleur(true)
		;
		
	////////////////////////////
	// Liste des auteurs
	
	$tri = _request('tri') ? _request('tri') : 'nom';

	$id_boite_dest_ajax = 'auteurs';
	
	$page_result .= 
		debut_cadre_relief('redacteurs-24.gif', true)
		. "<div id='$id_boite_dest_ajax'>\n"
		//. spiplistes_listes_boite_abonnes(0, $tri, $debut, _SPIPLISTES_EXEC_ABONNES_LISTE, $id_boite_dest_ajax)
		. spiplistes_listes_boite_abonnements(
			0, false, $tri, $debut, _SPIPLISTES_EXEC_ABONNES_LISTE
			)
		. "</div>\n"
		. fin_cadre_relief(true)
		;
	echo($page_result);

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>''))
		, spiplistes_html_signature(_SPIPLISTES_PREFIX)
		, fin_gauche(), fin_page();
}
Esempio n. 30
0
function exec_spiplistes_maintenance () {

	include_spip('inc/distant');
	include_spip('inc/meta');
	include_spip('inc/config');
	include_spip('inc/spiplistes_api');
	include_spip('inc/spiplistes_api_presentation');

	global $connect_statut
		, $connect_toutes_rubriques
		, $connect_id_auteur
		, $couleur_foncee
		, $spip_lang_right
		;
	// la globale de connect_id_auteur est string
	// c'est un entier qu'il faut envoyer a autoriser()
	$connect_id_auteur = intval($GLOBALS['connect_id_auteur']);
	
	// initialise les variables postees par le formulaire
	foreach(array_merge(
		array(
			'btn_supprimer_courriers', 'btn_reset_listes', 'btn_supprimer_listes'
			, 'btn_modifier_formats', 'confirmer_modifier_formats'
			, 'btn_supprimer_formats', 'confirmer_supprimer_formats'
			, 'btn_nettoyer_abos', 'confirmer_nettoyer_abos'
		)) as $key) {
		$$key = _request($key);
	}
	
	// la maintenance spiplistes est reservee a l'admin principal 
	$flag_autorise = autoriser('webmestre','','',$connect_id_auteur);
	
	$tous_les_statuts_courriers = array(_SPIPLISTES_COURRIER_STATUT_REDAC, _SPIPLISTES_COURRIER_STATUT_READY
			, _SPIPLISTES_COURRIER_STATUT_ENCOURS
			, _SPIPLISTES_COURRIER_STATUT_AUTO, _SPIPLISTES_COURRIER_STATUT_PUBLIE
			, _SPIPLISTES_COURRIER_STATUT_VIDE, _SPIPLISTES_COURRIER_STATUT_IGNORE
			, _SPIPLISTES_COURRIER_STATUT_STOPE, _SPIPLISTES_COURRIER_STATUT_ERREUR
			);

	$msg_maintenance = array();
	
	$sql_formats_where = spiplistes_formats_autorises('sql_where');

	/////////////////
	// Faire ce qui est demande par le formulaire
	if($flag_autorise) {
	
		$msg_ok = "<span style='color:green;'>"._T('pass_ok');
		$msg_bad = "<span style='font-weight:bold;color:red;'>"._T('pass_erreur');
		$msg_end = "</span>\n";
		
		// les courriers
		if($btn_supprimer_courriers) {
			foreach($tous_les_statuts_courriers as $statut) {
				if(_request("supprimer_courriers_$statut")) {
					if($statut == _SPIPLISTES_COURRIER_STATUT_ENCOURS) {
						// supprime d'abord de la queue d'envoi
						spiplistes_courrier_supprimer_queue_envois('statut', $statut);
						spiplistes_log("RESET spool ID_COURRIER #$id_courrier by ID_AUTEUR #$connect_id_auteur");
					}
					// supprime le courrier
					$msg = 
						(
							spiplistes_courrier_supprimer('statut', $statut)
						) 
						? $msg_ok 
						: $msg_bad
						;
					$msg_maintenance[] = _T('spiplistes:Suppression_de__s',
						array('s' => spiplistes_items_get_item('tab_t', $statut)."... : ".$msg.$msg_end)
						);
					spiplistes_log("DELETE courrier ID_COURRIER #$id_courrier by ID_AUTEUR #$connect_id_auteur");
				}
			}
		}
		
		// les listes en chronos a repasser en non-chrono
		// en realite', conserve le statut mais supprime la date d'envoi
		// ainsi, la trieuse ne preparera pas le courrier
		if($btn_reset_listes) {
			foreach(spiplistes_listes_select("id_liste", "message_auto='oui'") as $row) {
				$id_liste = intval($row['id_liste']);
				$sql_table = "spip_listes";
				$sql_champs = array('message_auto' => 'non', 'date' => '');
				$sql_where = "id_liste=$id_liste";
				if(_request("reset_liste_$id_liste")) {
					$msg =
						(
						// reset liste 
							sql_updateq($sql_table, $sql_champs, $sql_where)
						)
						?	$msg_ok
						:	$msg_bad
						;
					$msg_maintenance[] = _T('spiplistes:annulation_chrono_')." : ID_LISTE #$id_liste : ".$msg.$msg_end;
					spiplistes_log("RESET liste ID_LISTE #$id_liste by ID_AUTEUR #$connect_id_auteur");
				}
			}
		}
		
		// les listes (global)
		if($btn_supprimer_listes) {
			foreach(spiplistes_listes_select("id_liste,titre") as $row) {
				$titre = $row['titre'];
				$id_liste = intval($row['id_liste']);
				if(_request("supprimer_liste_$id_liste")) {
					$sql_where = "id_liste=".sql_quote($id_liste);
					$msg =
						spiplistes_listes_liste_supprimer($id_liste)
						?	$msg_ok
						:	$msg_bad
						;
					$msg_maintenance[] = _T('spiplistes:Suppression_de')." : ".$titre."... : ".$msg.$msg_end;
					spiplistes_log("DELETE liste ID_LISTE #$id_liste by ID_AUTEUR #$connect_id_auteur");
				}
			}
		}
		
		// les formats
		if($btn_modifier_formats || $btn_supprimer_formats) {
			
			$objet = array('objet' => _T('spiplistes:des_formats'));
			
			if($confirmer_modifier_formats && ($format = spiplistes_format_valide(_request('sl-le-format')))) {
				
				$msg =
					(
						spiplistes_format_abo_modifier('tous', $format)
					)
					?	$msg_ok
					:	$msg_bad
					;
				$msg_maintenance[] = _T('spiplistes:modification_objet', $objet)." : ".$msg.$msg_end;
				spiplistes_log("UPDATE ALL format $format by ID_AUTEUR #$connect_id_auteur");
				
			}
			if($confirmer_supprimer_formats) {
				$msg =
					(
						// vider la table des formats connus de spiplistes
						sql_delete("spip_auteurs_elargis", $sql_formats_where)
					)
					?	$msg_ok
					:	$msg_bad
					;
				$msg_maintenance[] = _T('spiplistes:suppression_', $objet)." : ".$msg.$msg_end;
				spiplistes_log("DELETE formats "._SPIPLISTES_FORMATS_ALLOWED." by ID_AUTEUR #$connect_id_auteur");
			}
		}
		
		// les abonnements
		if($btn_nettoyer_abos && $confirmer_nettoyer_abos) {
			if($ii = spiplistes_abonnements_zombies()) {
				sort($ii);
				$ii = array_unique($ii);
				$msg =
					(spiplistes_abonnements_auteur_desabonner($ii))
					?	$msg_ok
					:	$msg_bad
					;
				$objet = array('objet' => _T('spiplistes:des_abonnements'));
				$msg_maintenance[] = _T('spiplistes:nettoyage_', $objet)." : ".$msg.$msg_end;
			}
		}

		// compter les listes
		$nb_listes = spiplistes_listes_compter();
		$nb_listes_desc = spiplistes_nb_listes_str_get ($nb_listes);
		$listes_array = spiplistes_listes_select("id_liste,statut,titre,message_auto");
		// listes auto (crhono) compte'es a part
		$nb_listes_auto = 0;
		foreach($listes_array as $row) {
			if($row['message_auto']=='oui') {
				$nb_listes_auto++;
			}
		}
		
		// compter les formats (les abonnes ayant de'fini un format)
		$nb_abonnes_formats = sql_fetsel("COUNT(id_auteur) as n", "spip_auteurs_elargis", $sql_formats_where);
		$nb_abonnes_formats = $nb_abonnes_formats['n'];
		$nb_abonnes_formats_desc = 
						($nb_abonnes_formats==1)
						? _T('spiplistes:1_abonne')
						: "$nb_abonnes_formats "._T('spiplistes:abonnes')
						;
	
		$maintenance_url_action = generer_url_ecrire(_SPIPLISTES_EXEC_MAINTENANCE);
		
	}
	
////////////////////////////////////
// PAGE CONTENU
////////////////////////////////////

	$titre_page = _T('titre_admin_tech');
	// Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'>
	$rubrique = _SPIPLISTES_PREFIX;
	$sous_rubrique = "maintenance";

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo($commencer_page(_T('spiplistes:spiplistes') . " - " . trim($titre_page), $rubrique, $sous_rubrique));

	if(!$flag_autorise) {
		die (spiplistes_terminer_page_non_autorisee() . fin_page());
	}

	$page_result = ""
		. "<br /><br /><br />\n"
		. spiplistes_gros_titre($titre_page, '', true)
		. barre_onglets($rubrique, $sous_rubrique)
		. debut_gauche($rubrique, true)
		. spiplistes_boite_meta_info(_SPIPLISTES_PREFIX)
		. pipeline('affiche_gauche', array('args'=>array('exec'=>$sous_rubrique),'data'=>''))
		//. creer_colonne_droite($rubrique, true)  // spiplistes_boite_raccourcis() s'en occupe
		. spiplistes_boite_raccourcis(true)
		. spiplistes_boite_autocron() 
		. spiplistes_boite_info_spiplistes(true)
		. pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>''))
		. debut_droite($rubrique, true)
		;
	
	if(count($msg_maintenance)) {
		$page_result .= "<ul style='padding-left:2ex;margin-bottom:2em;'>";
		foreach($msg_maintenance as $texte) {
			$page_result .= "<li>$texte</li>\n";
		}
		$page_result .= "</ul>\n";
	}

	//////////////////////////////////////////////////////
	// Boite de maintenance du casier a courriers
	$objet = array('objet' => _T('spiplistes:des_courriers'));
	$page_result .= ""
		. debut_cadre_trait_couleur("administration-24.gif", true, "", _T('spiplistes:maintenance_objet', $objet))
		. spiplistes_form_debut ($maintenance_url_action, true)
		. spiplistes_form_description(_T('spiplistes:conseil_sauvegarder_avant', $objet), true)
		;
	if(spiplistes_courriers_statut_compter()) {
		$page_result .= spiplistes_form_fieldset_debut(_T('spiplistes:suppression_', $objet), true);
		foreach($tous_les_statuts_courriers as $statut) {
			if(spiplistes_courriers_statut_compter($statut)) {
				$titre = spiplistes_items_get_item('tab_t', $statut);
				$page_result .= spiplistes_form_input_checkbox ('supprimer_courriers_'.$statut, $statut, $titre, false, true);
			}
		}
		$page_result .= spiplistes_form_fieldset_fin(true);
	}
	else {
		$page_result .= spiplistes_form_message(_T('spiplistes:Casier_vide'), true);
	}
	$page_result .= ""
		. spiplistes_form_bouton_valider ('btn_supprimer_courriers')
		. spiplistes_form_fin(true)
		. fin_cadre_trait_couleur(true)
		;

	/////////////////////////////////////////
	// boite de maintenance des listes : la date des listes sont remises a zero (supprimer les chronos)
	$objet = array('objet' => _T('spiplistes:des_listes'));
	$page_result .= ""
		. debut_cadre_trait_couleur("administration-24.gif", true, "", _T('spiplistes:maintenance_objet', $objet))
		. debut_cadre_relief("", true, "", _T('spiplistes:Supprimer_les_chronos'))
		;
	if($nb_listes_auto) {
		$page_result .= ""
			. spiplistes_form_debut ($maintenance_url_action, true)
			. "<p class='verdana2'>"._T('spiplistes:suppression_chronos_desc')."</p>\n"
			. spiplistes_form_description(_T('spiplistes:conseil_sauvegarder_avant', $objet), true)
			. spiplistes_form_fieldset_debut (
				_T('spiplistes:suppression_chronos_', $objet).spiplistes_fieldset_legend_detail(_T('spiplistes:total').": $nb_listes_auto / $nb_listes_desc", true)
				, true)
		;
		foreach($listes_array as $row) {
			if($row['message_auto']=='oui') {
				$titre = $row['titre'];
				$statut = "";
				$id_liste = intval($row['id_liste']);
				$page_result .= spiplistes_form_input_checkbox ('reset_liste_'.$id_liste, $id_liste, $statut.$titre, false, true);
			}
		}
		$page_result .= ""
			. spiplistes_form_fieldset_fin(true)
			. spiplistes_form_bouton_valider('btn_reset_listes')
			. spiplistes_form_fin(true)
			;
	}
	else {
		$page_result .= spiplistes_form_message(_T('spiplistes:pas_de_liste_en_auto'), true);
	}
	$page_result .= ""
		. fin_cadre_relief(true)
		;
		/////////////////////////////////////////
		// supprimer les listes
	$page_result .= ""
		. debut_cadre_relief("", true, "", _T('spiplistes:Supprimer_les_listes'))
		;
	if($nb_listes) {
		$page_result .= ""
			. spiplistes_form_debut ($maintenance_url_action, true)
			. spiplistes_form_description(_T('spiplistes:conseil_sauvegarder_avant', $objet), true)
			. spiplistes_form_fieldset_debut (
				_T('spiplistes:suppression_', $objet).spiplistes_fieldset_legend_detail(_T('spiplistes:total').": $nb_listes_desc", true)
				, true)
			;
		foreach($listes_array as $row) {
			$id_liste = intval($row['id_liste']);
			$titre = $row['titre'];
			$statut = "<img src='".spiplistes_items_get_item("puce", $row['statut'])."' alt='".spiplistes_items_get_item("alt", $row['statut'])."' width='9' height='9' style='margin: 0 0.25ex' />";
			$page_result .= spiplistes_form_input_checkbox ('supprimer_liste_'.$id_liste, $id_liste, $statut.$titre, false, true);
		}
		$page_result .= ""
			. spiplistes_form_fieldset_fin(true)
			. spiplistes_form_bouton_valider ('btn_supprimer_listes')
			. spiplistes_form_fin(true)
			;
	}
	else {
		$page_result .= spiplistes_form_message(_T('spiplistes:pas_de_liste'), true);
	}
	$page_result .= ""
		. fin_cadre_relief(true)
		. fin_cadre_trait_couleur(true)
		;

	//////////////////////////////////////////////////////
	// Boite maintenance des formats
	$objet = array('objet' => _T('spiplistes:des_formats'));
	$page_result .= ""
		. debut_cadre_trait_couleur("administration-24.gif", true, "", _T('spiplistes:maintenance_objet', $objet))
		;
	if($nb_abonnes_formats > 0) {
		$page_result .= ""
			// forcer les formats de reception
			. spiplistes_form_debut ($maintenance_url_action, true)
			. spiplistes_form_description(_T('spiplistes:conseil_sauvegarder_avant', $objet), true)
			. spiplistes_form_fieldset_debut (
				_T('spiplistes:forcer_formats_', $objet)
					. spiplistes_fieldset_legend_detail(_T('spiplistes:total').": $nb_abonnes_formats_desc", true)
				, true) 
			. spiplistes_form_input_checkbox ('confirmer_modifier_formats', 'oui'
											  , _T('spiplistes:forcer_formats_desc'), false, true)
			. "<div id='sl-modif-fmt'>\n"
				. spiplistes_form_input_radio ($name = "sl-le-format", "html", _T('spiplistes:html'), true, true)
				. spiplistes_form_input_radio ($name, "texte", _T('spiplistes:texte'), false, true)
				. spiplistes_form_input_radio ($name, "non", _T('spiplistes:aucun'), false, true)
			. "</div>\n"
			. spiplistes_form_fieldset_fin(true)
			. spiplistes_form_bouton_valider('btn_modifier_formats')
			. spiplistes_form_fin(true)
			
			. "<hr />\n"
			// supprimer les formats
			. spiplistes_form_debut ($maintenance_url_action, true)
			. spiplistes_form_description(_T('spiplistes:conseil_sauvegarder_avant', $objet), true)
			. spiplistes_form_fieldset_debut (
				_T('spiplistes:suppression_', $objet)
					. spiplistes_fieldset_legend_detail(_T('spiplistes:total').": $nb_abonnes_formats_desc", true)
				, true) 
			. spiplistes_form_input_checkbox ('confirmer_supprimer_formats', 'oui', _T('spiplistes:confirmer_supprimer_formats'), false, true)
			. spiplistes_form_fieldset_fin(true)
			. spiplistes_form_bouton_valider('btn_supprimer_formats')
			. spiplistes_form_fin(true)
			;
	} else {
		$page_result .= spiplistes_form_message(_T('spiplistes:pas_de_format'), true);
	}
	$page_result .= ""
		. fin_cadre_trait_couleur(true)
		;

	//////////////////////////////////////////////////////
	// Boite maintenance des abonnements
	$objet = array('objet' => _T('spiplistes:des_abonnements'));
	$page_result .= ""
		. debut_cadre_trait_couleur('administration-24.gif', true, '', _T('spiplistes:maintenance_objet', $objet))
		;
	$ii = spiplistes_abonnements_zombies();
	if(($nb_abos = count($ii)) > 0) {
		$nb_auteurs = $ii;
		sort($nb_auteurs);
		$nb_auteurs = count(array_unique($nb_auteurs));
		$nb_abos = spiplistes_str_abonnes($nb_abos);
		$nb_auteurs = spiplistes_str_auteurs($nb_auteurs);
		$page_result .= ""
			. spiplistes_form_debut ($maintenance_url_action, true)
			. spiplistes_form_description(_T('spiplistes:conseil_sauvegarder_avant', $objet), true)
			. spiplistes_form_fieldset_debut(
								_T('spiplistes:nettoyage_', $objet)
								 . spiplistes_fieldset_legend_detail(_T('spiplistes:total').": $nb_abos, $nb_auteurs", true)
							   , true)
			. spiplistes_form_input_checkbox ('confirmer_nettoyer_abos', 'oui'
											  , _T('spiplistes:confirmer_nettoyer_abos'), false, true)
			. spiplistes_form_fieldset_fin(true)
			. spiplistes_form_bouton_valider('btn_nettoyer_abos')
			. spiplistes_form_fin(true)
			;
	} else {
		$page_result .= spiplistes_form_message(_T('spiplistes:pas_de_pb_abonnements'), true);
	}
	$page_result .= ""
		. fin_cadre_trait_couleur(true)
		;
	
	

	// Fin de la page
	echo($page_result);

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>''))
		, spiplistes_html_signature(_SPIPLISTES_PREFIX)
		, fin_gauche(), fin_page();
	
} // exec_spiplistes_maintenance()