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(); } }
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(); } } }
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è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(); }
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); }
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(); } }
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(); }
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(); }
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(); }
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(); } }
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(); }
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(); }
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(); }
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(); } }
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(); }
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
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> :<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"> </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(); // }}} }
/** * 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))) . " — " . _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(); }
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); }
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) )); }
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("« ".sinon($titre_mot,_T('texte_nouveau_mot'))." »", "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) . " " . "</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')." :</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(); } }
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')." !</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')." !</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(); } }
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’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è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(); }
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; }
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; }
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')." « $titre »", "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(); }
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(); }
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); }
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)." </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)." </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); }