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 exec_calendrier_args($time, $type, $echelle, $partie_cal) { if ($time < 0) $time = time(); if (!$type) $type = 'mois'; elseif ($type == 'semaine') $GLOBALS['afficher_bandeau_calendrier_semaine'] = true; $ancre = 'calendrier-1'; $r = generer_url_ecrire('calendrier', "type=$type") . "#$ancre"; $r = http_calendrier_init($time, $type, $echelle, $partie_cal, $r); if (_AJAX) { ajax_retour($r); } else { $date = date("Y-m-d", $time); if ($type == 'jour') { $titre = nom_jour($date)." ". affdate_jourcourt($date); } else { $titre = _T('titre_page_calendrier', array('nom_mois' => nom_mois($date), 'annee' => annee($date))); } $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page($titre, "accueil", "calendrier"); // ne produit rien par defaut, mais est utilisee par le plugin agenda echo barre_onglets("calendrier", "calendrier"); echo debut_grand_cadre(true); echo "\n<div> </div>\n<div id='", $ancre, "'>",$r,'</div>'; echo fin_grand_cadre(true); echo fin_page(); } }
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 exec_agenda_evenements_dist(){ /*$ajouter_id_article = intval(_request('ajouter_id_article')); $flag_editable = article_editable($ajouter_id_article);*/ /*$annee = intval(_request('annee')); $mois = intval(_request('mois')); $jour = intval(_request('jour')); $date = date("Y-m-d", time()); if ($annee&&$mois&&$jour) $date = date("Y-m-d", strtotime("$annee-$mois-$jour"));*/ $commencer_page = charger_fonction('commencer_page', 'inc'); $out = $commencer_page(_T('agenda:tous_les_evenements'), "agenda", "calendrier"); $out .= barre_onglets("calendrier", "agenda"); $contexte = array(); foreach($_GET as $key=>$val) $contexte[$key] = $val; $out .= debut_gauche("agenda",true); $out .= recuperer_fond("prive/navigation/agenda_evenements",$contexte); $out .= debut_droite('agenda',true); $out .= recuperer_fond("prive/contenu/agenda_evenements",$contexte); $out .= fin_gauche('agenda',true); $out .= fin_page(); echo $out; }
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_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_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_spiplistes_courrier_edit(){ include_spip('inc/barre'); include_spip('inc/documents'); include_spip('base/spiplistes_tables'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); include_spip('inc/spiplistes_dater_envoi'); include_spip('inc/spiplistes_api_courrier'); include_spip('public/assembler'); include_spip('inc/spiplistes_naviguer_paniers'); global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur , $spip_ecran , $compteur_block ; $eol = "\n"; $id_temp = false; $type = _request('type'); $id_courrier = intval(_request('id_courrier')); foreach(array('btn_courrier_apercu') as $key) { $$key = _request($key); } if($id_courrier > 0) { /////////////////////////// // Edition /modification d'un courrier $sql_select_array = array('titre','texte','message_texte','type','statut','id_auteur'); if($row = spiplistes_courriers_premier($id_courrier, $sql_select_array)) { foreach($sql_select_array as $key) { $$key = $row[$key]; } $titre = entites_html($titre); $texte = entites_html($texte); } else { $id_courrier = false; } } // n'existe pas encore ? // placer un marqueur pour les documents joints else { $id_temp = 0-intval(substr(creer_uniqid(),0,5)); } // l'edition du courrier est reservee aux super-admins // ou aux admin createur du courrier $flag_editable = (($connect_statut == "0minirezo") && ($connect_toutes_rubriques || ($connect_id_auteur == $id_auteur) || !$id_courrier)); if($flag_editable) { if(!$id_courrier) { // si pas de ID courrier, c'est une creation $statut = _SPIPLISTES_COURRIER_STATUT_REDAC; $type = _SPIPLISTES_COURRIER_TYPE_NEWSLETTER; $new = 'oui'; $titre = _T('spiplistes:Nouveau_courrier'); $clearonfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\""; } else { $clearonfocus = ""; } $gros_bouton_retour = ($id_courrier) ? icone( _T('spiplistes:retour_link') , generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_GERER, "id_courrier=$id_courrier") , spiplistes_items_get_item('icon', $statut) , "rien.gif" , "" , false ) : "" ; $boite_documents = afficher_documents_colonne( ($id_courrier ? $id_courrier : $id_temp ) , 'courrier'); } //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:edition_du_courrier'); // Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = "courrier_edit"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique)); if(!$flag_editable) { 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_info_id(_T('spiplistes:Courrier_numero_'), $id_courrier, true) . spiplistes_naviguer_paniers_courriers(_T('spiplistes:aller_au_panier_'), true) . $boite_documents . 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() // ne pas gener l'edition . pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) . debut_droite($rubrique, true) ; $page_result .= "" // le bloc pour apercu (retour ajax) . "<div id='apercu-courrier' style='clear:both;tex-align:center'></div>\n" // . debut_cadre_formulaire('', true) . "<a name='haut-block' id='haut-block'></a>\n" // // // bloc titre . "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>\n" . "<tr width='100%'>" . "<td>" . $gros_bouton_retour . "</td>" . "<td><img src='"._DIR_IMG_PACK."/rien.gif' width='10'></td>\n" . "<td width='100%'>" . ($id_courrier ? _T('spiplistes:Modifier_un_courrier__') : _T('spiplistes:Creer_un_courrier_') )."<br />\n" . spiplistes_gros_titre($titre, '', true) . "</td>\n" . "</tr></table>\n" . "<hr />\n" ; // // debut formulaire $page_result .= "" . "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_GERER , ($id_courrier ? "id_courrier=$id_courrier" : "") ) ."' method='post' name='formulaire_courrier_edit' id='formulaire_courrier_edit'>\n" . "<input type='hidden' name='modifier_message' value=\"oui\" />\n" . "<input type='hidden' name='id_courrier' value='$id_courrier' />\n" // // bloc sujet du courrier . "<label for='sujet_courrier'>"._T('spiplistes:sujet_courrier').":</label>\n" . "<input id='sujet_courrier' type='text' class='formo' name='titre' value=\"$titre\" size='40' $clearonfocus />\n" . "<p style='margin-bottom:1.75em;'>"._T('spiplistes:Courrier_edit_desc')."</p>\n" ; $titre_block_depliable = _T('spiplistes:Generer_le_contenu'); $page_result .= '' // // generer le contenu // Reprise du Formulaire adapte de abomailman () // MaZiaR - NetAktiv // tech@netaktiv.com . debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'stock_insert-slide.gif', true) //. bouton_block_invisible(md5(_T('spiplistes:charger_patron'))) . spiplistes_bouton_block_depliable($titre_block_depliable, false, md5(_T('spiplistes:charger_patron'))) . "<span class='verdana2 triangle_label' onclick=\"javascript:$('#triangle".$compteur_block."').click();\">" . (spiplistes_spip_est_inferieur_193() ? $titre_block_depliable : "") . "</span>\n" . spiplistes_debut_block_invisible(md5(_T('spiplistes:charger_patron'))) // . '<div id="ajax-loader" align="right">' . '<script type="text/javascript">'.$eol . 'document.write(\'<img src="' . _DIR_PLUGIN_SPIPLISTES_IMG_PACK . 'ajax_indicator.gif" alt="" />\');' . '</script>'.$eol . '<noscript>'.$eol . spiplistes_boite_alerte (_T('spiplistes:javascript_inactif'), true) . $eol . '</noscript>'.$eol //. '<img src="' . _DIR_PLUGIN_SPIPLISTES_IMG_PACK . 'ajax_indicator.gif" alt="" />' . '</div>'.$eol ; if(strpos($GLOBALS['meta']['langues_multilingue'], ",") !== false) { $page_result .= "" // selecteur de langues . "<div class='boite-generer-option'>\n" . "<label class='verdana2'>"._T('spiplistes:Langue_du_courrier_') . "<select name='lang' class='fondo'>\n" . liste_options_langues('changer_lang') . "</select></label>\n" . "</div>\n" ; } $page_result .= "" // Prendre en compte a partir de quelle date ? . spiplistes_dater_envoi( 'courrier', $id_courrier, $statut , $flag_editable , _T('spiplistes:Contenu_a_partir_de_date_') , normaliser_date(time()), 'btn_changer_date' , false ) ; $page_result .= "" // texte introduction a placer avant le patron et sommaire . '<div class="boite-generer-option">'.$eol . '<label class="verdana2">' . '<input type="checkbox" id="avec_intro" name="avec_intro" value="non" />' . _T('spiplistes:avec_introduction') . '</label>'.$eol . '<div id="choisir_intro" class="option">'.$eol . '<label class="verdana2" style="display:block;" for="message_intro">' . _T('spiplistes:introduction_du_courrier_').':</label>'.$eol . afficher_barre('document.formulaire_courrier_edit.message_intro') . '<textarea id="message_intro" name="message_intro" '.$GLOBALS['browser_caret'].' rows="5" cols="40" wrap="soft" style="width:100%">'.$eol . '</textarea>' . '</div>'.$eol . '</div>'.$eol ; // selection du patron $page_result .= '' . "<div class='boite-generer-option'>\n" . "<label class='verdana2'>" . "<input type='checkbox' id='avec_patron' name='avec_patron' value='non' />" . _T('spiplistes:a_partir_de_patron') . "</label>\n" . "<div id='choisir_patron' class='option'>" . "<label class='verdana2'>" . _T('spiplistes:choisir_un_patron_').":</label>\n" . spiplistes_boite_selection_patrons ("", true, _SPIPLISTES_PATRONS_DIR, "patron", 1) . "<div id='patron_pos' style='display:none'>\n" . "<span class='verdana2'>" . _T('spiplistes:generer_patron_'). "</span>\n" . spiplistes_form_input_radio ('patron_pos', 'avant', _T('spiplistes:generer_patron_avant'), true, true, false) . spiplistes_form_input_radio ('patron_pos', 'apres', _T('spiplistes:generer_patron_apres'), false, true, false) . "</div>\n" . "</div>\n" . "</div>\n" ; // Generer un sommaire $page_result .= "" . "<div class='boite-generer-option'>\n" . "<label class='verdana2'>" . "<input type='checkbox' id='avec_sommaire' name='avec_sommaire' value='non' />" . _T('spiplistes:generer_un_sommaire') . "</label>\n" . "<div id='choisir_sommaire' class='option'>"; $page_result .= "" // // selecteur de rubriques . "<label class='verdana2' for='ajouter_rubrique'>"._T('spiplistes:Lister_articles_de_rubrique').":</label>\n" . "<select name='id_rubrique' id='ajouter_rubrique' class='formo'>\n" . "<option value=''></option>\n" . spiplistes_arbo_rubriques() . "</select>\n" . "<br />\n" // // selecteur des mots-cles . "<label class='verdana2' for='ajouter_motcle'>"._T('spiplistes:Lister_articles_mot_cle').":</label>\n" . "<select name='id_mot' id='ajouter_motcle' class='formo'>\n" . "<option value=''></option>\n" ; if (version_compare($GLOBALS['spip_version_code'], '1.9300', '<')){ $rqt_gmc = sql_select (array('id_groupe','titre'), 'spip_groupes_mots', "articles=".sql_quote('oui')); }else{ $rqt_gmc = sql_select (array('id_groupe','titre'), 'spip_groupes_mots', "tables_liees LIKE '%articles%'"); } while ($row = sql_fetch($rqt_gmc)) { $id_groupe = intval($row['id_groupe']); $titre = $row['titre']; $page_result .= "<option value='' disabled='disabled'>". supprimer_numero (typo($titre)) . "</option>\n"; $rqt_mc = sql_select (array('id_mot','titre'), 'spip_mots', "id_groupe=".sql_quote($id_groupe)); while ($row = sql_fetch($rqt_mc)) { $id_mot = intval($row['id_mot']); $titre = supprimer_numero (typo($row['titre'])); $page_result .= "<option value='$id_mot'>-- $titre</option>\n"; } } $page_result .= "" . "</select><br />\n" // // a partir de la date selectionnee plus haut . spiplistes_form_input_item ('checkbox', 'date_sommaire', 'oui' , _T('spiplistes:sommaire_date_debut'), $sommaire_date == 'oui', true, false) . "</div>\n" . "</div>\n" ; // fin generer le sommaire // choisir son patron de pied $page_result .= "" . "<div class='boite-generer-option'>\n" . "<label class='verdana2'>" . _T('spiplistes:avec_patron_pied__') . spiplistes_boite_selection_patrons (_SPIPLISTES_PATRONS_PIED_DEFAUT, true, _SPIPLISTES_PATRONS_PIED_DIR, "pied_patron", 1) . "</label>\n" . "</div>\n" ; $page_result .= "" . "<p class='verdana2'>\n" . _T('spiplistes:Cliquez_Generer_desc' , array('titre_bouton'=>_T('spiplistes:generer_Apercu'), 'titre_champ_texte'=>_T('spiplistes:texte_courrier')) ) . "</p>\n" . "<p class='verdana2'>\n" ._T('spiplistes:calcul_patron_attention') . "</p>\n" . spiplistes_form_bouton_valider ('Valider', _T('spiplistes:generer_Apercu')) . fin_block() // fin_block_invisible . fin_cadre_relief(true) . "<br />\n" ; // // bloc du courrier (titre, texte), toujours visible $page_result .= '' . '<label for="texte_courrier">'._T('spiplistes:texte_courrier').'</label>' . afficher_barre('document.formulaire_courrier_edit.message') . '<textarea id="texte_courrier" name="message" '.$GLOBALS['browser_caret'].' class="porte_plume_partout barre_inserer formo" rows="20" cols="40" wrap=soft>'.$eol . $texte . '</textarea>'.$eol . (!$id_courrier ? '<input type="hidden" name="new" value="oui" />'.$eol : '') // . '<p style="text-align:right;">'.$eol . '<input type="submit" onclick="this.value=\'oui\';" id="btn_courrier_edit" ' . ' name="btn_courrier_valider" value="'._T('bouton_valider').'" class="fondo" /></p>'.$eol // le marqueur pour les documents joints . (($id_temp!==false) ? '<input type="hidden" name="id_temp" value="' . $id_temp . '" />'.$eol : '') // // fin formulaire . '</form>'.$eol . fin_cadre_formulaire(true) ; echo($page_result); // COURRIER EDIT FIN --------------------------------------------------------------- echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , fin_gauche(), fin_page(); }
function exec_configuration_dist(){ if (!autoriser('configurer', 'configuration')) { include_spip('inc/minipres'); echo minipres(); } else { $config = charger_fonction('config', 'inc'); $config(); pipeline('exec_init',array('args'=>array('exec'=>'configuration'),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_configuration'), "configuration", "configuration"); echo "<br /><br /><br />\n"; echo gros_titre(_T('titre_configuration'),'', false); echo barre_onglets("configuration", "contenu"); echo debut_gauche('', true); // // Le logo de notre site, c'est site{on,off}0.{gif,png,jpg} // $iconifier = charger_fonction('iconifier', 'inc'); echo $iconifier('id_syndic', 0, 'configuration'); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'configuration'),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'configuration'),'data'=>'')); echo debut_droite('', true); echo avertissement_config(); $accueil = charger_fonction('accueil', 'configuration'); echo $accueil(); echo debut_cadre_trait_couleur("article-24.gif", true, "", _T('titre_les_articles')); $articles = charger_fonction('articles', 'configuration'); echo $articles(); $futurs = charger_fonction('futurs', 'configuration'); echo $futurs(); $redirection = charger_fonction('redirection', 'configuration'); echo $redirection(); echo fin_cadre_trait_couleur(true); $rubriques = charger_fonction('rubriques', 'configuration'); echo $rubriques(); $breves = charger_fonction('breves', 'configuration'); echo $breves(); $mots = charger_fonction('mots', 'configuration'); echo $mots(); $logos = charger_fonction('logos', 'configuration'); echo $logos(); $documents = charger_fonction('documents', 'configuration'); echo $documents(); $syndications = charger_fonction('syndications', 'configuration'); echo $syndications(); $res = pipeline('affiche_milieu',array('args'=>array('exec'=>'configuration'),'data'=>'')); if ($res) echo ajax_action_post('configuration', '', 'configuration', '', $res); echo fin_gauche(), fin_page(); } }
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()
function exec_spiplistes_import_export(){ include_spip('inc/presentation'); include_spip('inc/acces'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur ; static $eol = PHP_EOL; // initialise les variables postées par le formulaire foreach(array( 'btn_valider_import', 'abos_liste', 'format_abo', 'forcer_abo' // retour import , 'btn_valider_export', 'export_id' // retour export , 'separateur', 'exporter_statut_auteur' ) as $key) { $$key = _request($key); } $separateur = (($separateur == 'tab') ? "\t" : ';'); $flag_admin = ($connect_statut == "0minirezo") && $connect_toutes_rubriques; $flag_moderateur = false; $flag_autorise = $flag_admin || ( $flag_moderateur = ($listes_moderees = spiplistes_mod_listes_id_auteur($connect_id_auteur)) ) ; // exportation de liste. Retour formulaire local. // les admins tt rubriques peuvent tt exporter // le moderateur ne peut exporter que sa liste if( $flag_autorise && ( $flag_admin || in_array($export_id, $listes_moderees) ) ) { // generation du fichier export ? if($btn_valider_export && $export_id) { $sql_select = array('a.email', 'a.nom', 'a.login', 'a.statut'); $sql_from = array('spip_auteurs AS a'); $sql_where = array("a.statut!=".sql_quote('5poubelle')); if(($id_liste = intval($export_id)) > 0) { // exportation d'une liste ID ? $sql_from[] = "spip_auteurs_listes AS l"; $sql_where[] = "l.id_liste=".sql_quote($id_liste); $sql_where[] = "a.id_auteur=l.id_auteur"; } else { // autre type de liste if($export_id == "sans_abonnement") { if(spiplistes_spip_est_inferieur_193()) { $sql_where[] = "a.id_auteur NOT IN (SELECT id_auteur FROM spip_auteurs_listes GROUP BY id_auteur)"; } else { $selection = sql_select("id_auteur", "spip_auteurs_listes", '','id_auteur','','','','',false); $sql_where[] = "a.id_auteur NOT IN ($selection)"; } } else if($export_id == "desabo") { $sql_from[] = "spip_auteurs_elargis AS f"; $sql_where[] = "a.id_auteur=f.id_auteur"; $sql_where[] = "f.`spip_listes_format`=".sql_quote('non'); } } $sql_result = sql_select( $sql_select , $sql_from , $sql_where ); $nb_inscrits = sql_count($sql_result); $exporter_statut_auteur = ($exporter_statut_auteur == 'oui'); $str_export = '' . '# ' . spiplistes_html_signature(_SPIPLISTES_PREFIX, false).$eol . '# '._T('spiplistes:membres_liste').$eol . '# liste id: $export_id\n' . '# '.spiplistes_nom_site_texte().$eol . '# '.$GLOBALS['meta']['adresse_site'].$eol . '# date: '.date('Y-m-d').$eol . '# nb abos: '.$nb_inscrits.$eol.$eol . '#'.$eol . '# \'email\''.$separateur.'\'login\''.$separateur.'\'nom\'' . ($exporter_statut_auteur ? $separateur.'\'statut\'' : '') . $eol.$eol ; while($row = sql_fetch($sql_result)) { $str_export .= $row['email'].$separateur.$row['login'].$separateur.$row['nom'] . ($exporter_statut_auteur ? $separateur.$row['statut'] : '') . "\n" ; } // envoie le fichier header('Content-type: text/plain'); header('Content-Disposition: attachment; filename="export_liste_$export_id-'.date("Y-m-d").'.txt"'); echo ($str_export); exit; } // fin de generation du fichier export } //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:listes_de_diffusion_'); // Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = "import_export"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . _T('spiplistes:import_export'), $rubrique, $sous_rubrique)); // la gestion du courrier est réservée aux admins 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) . 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() . pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) . debut_droite($rubrique, true) ; // importation $flag_import_fichier_ok = (count($_FILES) && is_array($fichier_import = $_FILES['fichier_import']) && !$fichier_import['error']); if($btn_valider_import && $flag_import_fichier_ok) { if(!($abos_liste && is_array($abos_liste) && count($abos_liste))) { // A oublie' de selectionner une liste de destination $page_result .= spiplistes_boite_alerte(_T('spiplistes:Selectionnez_une_liste_pour_import'), true); } } // import form $page_result .= "" . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'listes_in-24.png', true , '', _T('spiplistes:Importer')) . "<p class='verdana2'>"._T('spiplistes:_aide_import')."</p>\n" ; if($flag_import_fichier_ok) { //syslog(LOG_NOTICE, 'memory_limit: ' . get_cfg_var('memory_limit')); //syslog(LOG_NOTICE, 'memory_get_usage[1]: ' . memory_get_usage()); //syslog(LOG_NOTICE, 'memory_get_peak_usage[1]: ' . memory_get_peak_usage()); //syslog(LOG_NOTICE, 'filesize: ' . filesize($fichier_import['tmp_name'])); if($abos_liste && is_array($abos_liste) && count($abos_liste)) { include_spip('inc/spiplistes_import'); $page_result .= '' . debut_boite_info(true) . spiplistes_titre_boite_info(_T('spiplistes:Resultat_import')) . spiplistes_import( $fichier_import['tmp_name'] , $fichier_import['name'] , $abos_liste , $format_abo , $separateur , $flag_admin , $listes_moderees , $forcer_abo ) . fin_boite_info(true) . '<br />' ; } } $list = sql_select( array('id_liste','titre','texte') , 'spip_listes' , spiplistes_listes_sql_where_or(_SPIPLISTES_LISTES_STATUTS_OK)); $nb_listes = sql_count($list); if($nb_listes) { $listes_array = array(); while($row = sql_fetch($list)) { $listes_array[] = $row; } } if(!$nb_listes) { $page_result .= spiplistes_boite_alerte(_T('spiplistes:Pas_de_liste_pour_import'), true); } else { $page_result .= "" . "<form action='" . generer_url_ecrire(_SPIPLISTES_EXEC_IMPORT_EXPORT) . "' method='post' enctype='multipart/form-data'name='importform'>\n" . debut_cadre_relief("", true, "", _T('spiplistes:Liste_de_destination')) . "<p class='verdana2'>"._T('spiplistes:Selectionnez_une_liste_de_destination')."</p>\n" . "<ul class='liste-listes verdana2'>\n" ; $listes_sans_patron = array(); if(count($listes_array) > 0) { // une liste sans patron ne peut pas contenir d'abonnés. // récupère la liste des listes qui n'ont pas de patron. $sql_result = sql_select('id_liste', 'spip_listes' , array("patron=''" , "(statut=".implode(" OR statut=", array_map("sql_quote", explode(";", _SPIPLISTES_LISTES_STATUTS_OK))).")" ) ); while($row = sql_fetch($sql_result)) { $listes_sans_patron[] = $row['id_liste']; } } // liste des listes (destination) $couleur_ligne = 0; foreach($listes_array as $row) { $id_liste = $row['id_liste'] ; if( !in_array($id_liste, $listes_sans_patron) && ($flag_admin || in_array($id_liste, $listes_moderees)) ) { $titre = couper($row['titre'], 30, '...'); $texte = couper($row['texte'], 30, '...'); $label = _T('spiplistes:Liste_de_destination').": $titre"; $checked = ($nb_listes == 1) ? "checked='checked'" : ""; $class = ($couleur_ligne++ % 2) ? "class='row-even'" : ""; $page_result .= "" . "<li style='padding:4px' $class >" . "<input name='abos_liste[]' type='checkbox' id='abos_$id_liste' value='$id_liste' title=\"$label\" $checked />\n" . "<label for='abos_$id_liste'><strong>".$titre."</strong> <em>".$texte."</em></label>\n" . "</li>\n" ; } } $page_result .= "" . "</ul>" . fin_cadre_relief(true) // // Sélection du format de réception . debut_cadre_relief("", true, "", _T('spiplistes:format_de_reception_')) . "<ul class='liste-listes verdana2'>\n" . "<li>" . spiplistes_form_input_radio('format_abo', 'html', _T('spiplistes:html'), true, true, false) . "</li>\n" . "<li>" . spiplistes_form_input_radio('format_abo', 'texte', _T('spiplistes:texte'), false, true, false) . "</li>\n" . "<li>" . spiplistes_form_input_radio('format_abo', 'non', _T('spiplistes:desabonnement'), false, true, false) . "</li>\n" . "</ul>" . fin_cadre_relief(true) // // cadre insertion nom de fichier . debut_cadre_relief("", true, "", _T('spiplistes:importer_fichier')) . "<input type='file' size='40' name='fichier_import' />" // . spiplistes_fieldset_separateur($separateur) // // forcer les abonnements . spiplistes_fieldset_option( _T('spiplistes:option_import_') , 'forcer_abo' , 'oui' , _T('spiplistes:forcer_abos_'), ($forcer_abo == 'oui') ) // . fin_cadre_relief(true) . spiplistes_form_bouton_valider('btn_valider_import') . spiplistes_form_fin(true) ; } // end else $page_result .= fin_cadre_trait_couleur(true); // fin formulaire import // export //(original from erational.org) // formulaire d'export if ($nb_listes > 0) { $page_result .= "" . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'listes_out-24.png', true, "", _T('spiplistes:Exporter')) // exportation par listes . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_IMPORT_EXPORT), true) . debut_cadre_relief("", true, "", _T('spiplistes:Exporter_une_liste_d_abonnes')) . "<ul class='liste-listes verdana2'>\n" ; $couleur_ligne = 0; foreach($listes_array as $row) { $id_liste = intval($row['id_liste']); if($flag_admin || in_array($id_liste, $listes_moderees)) { $titre = couper($row['titre'], 30, '...'); $class = ($couleur_ligne++ % 2) ? "class='row-even'" : ""; list($nb_abos, $html, $texte) = spiplistes_listes_nb_abonnes_compter($id_liste, true); if($nb_abos > 0) { $page_result .= "" . "<li style='padding:4px' $class >" . spiplistes_form_input_radio('export_id', $id_liste , "<strong>".$titre."</strong> <em>" . spiplistes_nb_abonnes_liste_str_get($id_liste, $nb_abos, $html, $texte) . "</em>" , ($nb_listes==1), true, false) . "</li>\n" ; } } } $page_result .= "" . "</ul>" . fin_cadre_relief(true) . "<!-- fin de liste export -->\n" // // exportation autres . debut_cadre_relief("", true, "", _T('spiplistes:Exporter_une_liste_de_non_abonnes')) . "<div class='verdana2'>\n" . spiplistes_form_input_radio('export_id', 'sans_abonnement', _T('spiplistes:abonne_aucune_liste'), false, true, false) . spiplistes_form_input_radio('export_id', 'desabo', _T('spiplistes:desabonnes'), false, true, false) . "</div>" . fin_cadre_relief(true) . "<fieldset class='verdana2'><legend>"._T('spiplistes:export_etendu_').":</legend>" . spiplistes_form_input_checkbox('exporter_statut_auteur', 'oui' , _T('spiplistes:exporter_statut'), false, true, false) . "</fieldset>\n" // . spiplistes_fieldset_separateur($separateur) // . spiplistes_form_bouton_valider('btn_valider_export') . spiplistes_form_fin(true) . fin_cadre_trait_couleur(true) ; } echo($page_result); echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , 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_spiplistes_courriers_casier () { include_spip ('inc/acces'); include_spip ('inc/filtres'); include_spip ('inc/config'); include_spip ('inc/barre'); include_spip ('inc/mots'); include_spip ('inc/documents'); include_spip('inc/spiplistes_api_globales'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); include_spip('inc/spiplistes_naviguer_paniers'); global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur , $supp_dest ; /////////////////////////// // initialise les variables postées par formulaire (formulaire gerer) foreach(array( 'btn_confirmer_envoi', 'id_courrier', 'id_liste', 'id_auteur_test', 'btn_annuler_envoi' , 'statut' , 'btn_supprimer_courrier' , 'btn_arreter_envoi' // si valide, contient id du courrier ) as $key) { $$key = _request($key); } foreach(array('id_courrier', 'id_liste', 'id_auteur_test' , 'btn_supprimer_courrier', 'btn_arreter_envoi' ) as $key) { $$key = intval($$key); } $flag_admin = ($connect_statut == "0minirezo") && $connect_toutes_rubriques; $flag_moderateur = count($listes_moderees = spiplistes_mod_listes_id_auteur($connect_id_auteur)); $flag_createur = ($id_courrier && ($connect_id_auteur == spiplistes_courrier_id_auteur_get($id_courrier))); $flag_modifiable = ($flag_admin || $flag_moderateur || $flag_createur); if($flag_modifiable) { // annuler le destinataire d'un courrier (retour de courrier_gerer) // repasse le courrier en mode 'redac' if($btn_annuler_envoi) { spiplistes_courrier_modifier( $id_courrier , array( 'email_test' => '' , 'id_liste' => 0 , 'total_abonnes' => 0 , 'statut' => _SPIPLISTES_COURRIER_STATUT_REDAC ) ); } // confirmer l'envoi d'un courrier if($btn_confirmer_envoi) { // passe le courrier directement a la meleuse if($id_liste >= 0) { // destinataire(s) = abonnés à une liste // si id_liste == 0, destinataire = adresse email de test spiplistes_courrier_supprimer_queue_envois('id_courrier', $id_courrier); spiplistes_courrier_remplir_queue_envois($id_courrier, $id_liste, $id_auteur_test); if($id_liste > 0) { spiplistes_debug_log('SEND id_courrier #'.$id_courrier . ' ON id_liste #'.$id_liste . ' BY id_auteur #'.$connect_id_auteur ); } else { spiplistes_debug_log('SEND id_courrier #'.$id_courrier . ' TO id_auteur #'.$id_auteur_test . ' TEST BY id_auteur #'.$connect_id_auteur ); } } spiplistes_courrier_statut_modifier($id_courrier, _SPIPLISTES_COURRIER_STATUT_ENCOURS); } // supprimer un courrier des cases if($btn_supprimer_courrier) { sql_delete("spip_courriers", "id_courrier=".sql_quote($btn_supprimer_courrier)." LIMIT 1"); spiplistes_courrier_supprimer_queue_envois('id_courrier', $btn_supprimer_courrier); } // arreter un courrier en cours d'envoi if($btn_arreter_envoi) { spiplistes_courrier_modifier( $btn_arreter_envoi , array( 'statut' => _SPIPLISTES_COURRIER_STATUT_STOPE , 'date_fin_envoi' => "NOW()" ) ); spiplistes_courrier_supprimer_queue_envois('id_courrier', $btn_arreter_envoi); } } // end if $flag_modifiable //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:casier_a_courriers'); // Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = "courriers_casier"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique)); // la gestion des courriers est réservée aux admins if($connect_statut != "0minirezo") { 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_naviguer_paniers_courriers(_T('spiplistes:aller_au_panier_'), true) . 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) ; $icone = _DIR_PLUGIN_SPIPLISTES_IMG_PACK.'courriers_listes-24.png'; $_skip_statut = "Sauter une table pour afficher chronos"; // Début de liste $listes_statuts = array( _SPIPLISTES_COURRIER_STATUT_ENCOURS, _SPIPLISTES_COURRIER_STATUT_REDAC , _SPIPLISTES_COURRIER_STATUT_READY , $_skip_statut , _SPIPLISTES_COURRIER_STATUT_AUTO, _SPIPLISTES_COURRIER_STATUT_PUBLIE , _SPIPLISTES_COURRIER_STATUT_VIDE, _SPIPLISTES_COURRIER_STATUT_IGNORE , _SPIPLISTES_COURRIER_STATUT_STOPE, _SPIPLISTES_COURRIER_STATUT_ERREUR ); $mes_statuts = ($statut && in_array($statut, $listes_statuts)) ? array($statut) : $listes_statuts; foreach($mes_statuts as $statut) { if($statut == $_skip_statut) { // liste des courriers programmés (des listes) $page_result .= "" . spiplistes_afficher_pile_messages() . "<br />" ; } else { $page_result .= "" . spiplistes_lister_courriers_listes( spiplistes_items_get_item("tab_t", $statut) . ( ($desc = spiplistes_items_get_item("desc", $statut)) ? "<br /><span style='font-weight:normal;'>$desc</span>" : "" ) , spiplistes_items_get_item("icon", $statut) , 'courriers' , $statut , false , 'position' , _SPIPLISTES_EXEC_COURRIER_GERER ) ; } } echo($page_result); echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , fin_gauche(), fin_page(); } // exec_spip_listes()
/** * 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_config_contenu_dist() { if (!autoriser('configurer', 'contenu')) { include_spip('inc/minipres'); echo minipres(); } else { $config = charger_fonction('config', 'inc'); $config(); pipeline('exec_init',array('args'=>array('exec'=>'config_contenu'),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "configuration"); echo "<br /><br /><br />\n"; echo gros_titre(_T('titre_page_config_contenu'),'', false); echo barre_onglets("configuration", "interactivite"); echo debut_gauche('', true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'config_contenu'),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'config_contenu'),'data'=>'')); echo debut_droite('', true); $participants = charger_fonction('participants', 'configuration'); $contenu_forums = charger_fonction('contenu_forums', 'configuration'); $redacteurs = charger_fonction('redacteurs', 'configuration'); $visiteurs = charger_fonction('visiteurs', 'configuration'); $forums_prives = charger_fonction('forums_prives', 'configuration'); $messagerie_agenda = charger_fonction('messagerie_agenda', 'configuration'); $annonces = charger_fonction('annonces', 'configuration'); $notifications_forum = charger_fonction('notifications_forum', 'configuration'); /* * Forums publics * */ echo "<h3>"._T('titre_config_contenu_public')."</h3>\n"; // Mode de participation aux forums echo $participants(); // Champs actives sur les forums echo $contenu_forums(); echo "<br />"; /* * Inscriptions de redacteurs et visiteurs depuis le site public * (la balise FORMULAIRE_INSCRIPTION sert au deux) */ echo $redacteurs(), $visiteurs(), "<br />"; /* * Forums prives * */ echo "<h3>"._T('titre_config_contenu_prive')."</h3>\n"; // Forums prives echo $forums_prives(); echo $messagerie_agenda(); echo "<br />"; /* * mails automatiques * */ echo "<h3>"._T('titre_config_contenu_notifications')."</h3>\n"; echo $annonces(), "<br />\n"; echo $notifications_forum(), "<br />\n"; // // Choix supplementaires proposees par les plugins // $res = pipeline('affiche_milieu',array('args'=>array('exec'=>'config_contenu'),'data'=>'')); if ($res) echo ajax_action_post('config_contenu', '', 'config_contenu', '', $res); 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 exec_admin_couteau_suisse() { cs_log("INIT : exec_admin_couteau_suisse()"); global $spip_lang_right; global $outils, $afficher_outil, $metas_vars, $metas_outils; // cette valeur par defaut n'est pas definie sous SPIP 1.92 @define('_ID_WEBMESTRES', 1); cs_minipres(); $cmd = _request('cmd'); $exec = _request('exec'); include_spip('inc/cs_outils'); cs_init_plugins(); // id de l'auteur en session if(defined('_SPIP19300')) $connect_id_auteur = $GLOBALS['auteur_session']['id_auteur']; else global $connect_id_auteur; // reset general if($cmd=='resetall'){ spip_log("Reset General du Couteau Suisse par l'auteur id=$connect_id_auteur"); foreach(array_keys($GLOBALS['meta']) as $meta) { if(strpos($meta, 'tweaks_') === 0) effacer_meta($meta); if(strpos($meta, 'cs_') === 0) effacer_meta($meta); } $metas_vars = $metas_outils = array(); // ici, pas d'initialisation... include_spip('cout_lancement'); cout_exec_redirige('cmd=resetjs'); } // installation personnalisee if(strlen($pack = _request('pack')) && isset($GLOBALS['cs_installer'][$pack]['outils'])) { if($cmd=='install'){ spip_log("Installation personnalisee de '$pack' par l'auteur id=$connect_id_auteur"); // installer le pack et rediriger cout_install_pack($pack, true); } elseif($cmd=='delete'){ spip_log("Suppression de '$pack' par l'auteur id=$connect_id_auteur"); $p = preg_quote($pack,'/'); $r = "[$]GLOBALS\['cs_installer'\]\['$p'\] *="; cs_ecrire_config( array("/$r/", "/# [^\\n\\r]+[\\n\\r]+if\(0\) {$r}.*?# $p #[\\n\\r]+/s"), array('if(0) \0', '')); // simplement prendre en compte la supression cout_exec_redirige('cmd=pack', false); } } // reset des variables d'un outil if($cmd=='reset' && strlen($_GET['outil'])){ spip_log("Reset des variables de '$_GET[outil]' par l'auteur id=$connect_id_auteur"); global $outils; include_spip('cout_utils'); include_spip('config_outils'); if(autoriser('configurer', 'outil', 0, NULL, $outils[$_GET['outil']])) { include_spip('inc/cs_outils'); cs_initialisation_d_un_outil($_GET['outil'], charger_fonction('description_outil', 'inc'), true); foreach ($outils[$_GET['outil']]['variables'] as $a) if(autoriser('configurer', 'variable', 0, NULL, array('nom'=>$a, 'outil'=>$outils[$_GET['outil']]))) unset($metas_vars[$a]); else spip_log("Reset interdit de la variable %$a% !!"); ecrire_meta('tweaks_variables', serialize($metas_vars)); } // tout recompiler cout_exec_redirige("cmd=descrip&outil={$_GET[outil]}#cs_infos"); } // reset de l'affichage if($cmd=='showall'){ spip_log("Reset de tous les affichages du Couteau Suisse par l'auteur id=$connect_id_auteur"); effacer_meta('tweaks_caches'); cout_exec_redirige(); } // afficher la description d'un outil ? $afficher_outil = ($cmd=='descrip' OR $cmd=='switch')?$_GET['outil']:''; // initialisation generale forcee : recuperation de $outils; cs_initialisation(true, $cmd!='noinclude'); cs_installe_outils(); // mise a jour des donnees si envoi via formulaire // sinon fait une passe de verif sur les outils if($cmd=='switch' OR $cmd=='hide'){ enregistre_modif_outils($cmd); cout_exec_redirige(strlen($_GET['outil'])?"cmd=descrip&outil={$_GET[outil]}#cs_infos":''); } // else // verif_outils(); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('couteauprive:titre'), "configuration", 'couteau_suisse'); // pour la version du plugin include_spip('inc/plugin'); if(isset($GLOBALS['meta']['plugin'])) { $t = unserialize($GLOBALS['meta']['plugin']); $dir = $t['COUTEAU_SUISSE']['dir']; $dir_type = $t['COUTEAU_SUISSE']['dir_type']; $bt_dir = $t['BARRETYPOENRICHIE']['dir']; $bt_version = $t['BARRETYPOENRICHIE']['version']; } if(!strlen($dir)) $dir = 'couteau_suisse'; if(!strlen($bt_dir)) $bt_dir = 'barre_typo_v2'; $get_infos = defined('_SPIP20100')?charger_fonction('get_infos','plugins'):'plugin_get_infos'; if (isset($dir_type)) { $t = $get_infos($dir, false, constant($dir_type)); } else { $t = $get_infos($dir); } $cs_version_base = $t['version_base']; $cs_version = $t['version']; // mises a jour eventuelles de la base installe_un_plugin($dir, $t, $dir_type); unset($t); if(!strlen($bt_version)) { $bt_version = $get_infos($bt_dir); $bt_version = $bt_version['version']; } $cs_revision = ((lire_fichier(_DIR_PLUGIN_COUTEAU_SUISSE.'svn.revision',$t)) && (preg_match(',<revision>(\d+)</revision>,',$t,$r))) ?'<br/>'._T('couteauprive:version_revision', array('revision'=>$r[1])):""; include_spip('public/assembler'); echo recuperer_fond('exec/admin_couteau_suisse_head', array( 'force' => in_array(_request('var_mode'), array('calcul', 'recalcul'))?'oui':null, 'cs_version' => $cs_version, 'exec' => _request('exec'), )); echo "<br /><br /><br />"; gros_titre(_T('couteauprive:titre'), '', false); echo barre_onglets("configuration", 'couteau_suisse'); echo '<div style="font-size:85%">'; // verification d'une base venant de SPIP 1.8 $res = spip_query("DESCRIBE spip_meta valeur"); $resultat = function_exists('spip_fetch_array')?spip_fetch_array($res):sql_fetch($res); if($resultat['Type']!='text') echo "<p style=\"color:red;\">Attention : votre base semble ancienne et le Couteau Suisse ne va pas bien fonctionner.</p><p>La table 'spip_meta' a pour type de valeur '$resultat[Type]' au lieu de 'text'.</p>"; // verification de la barre typo V2 $mini = '2.5.3'; if(strlen($bt_version) and (version_compare($bt_version,$mini,'<'))) echo "<p>"._T('couteauprive:erreur:bt', array('version'=>$bt_version, 'mini'=>$mini))."</p>"; echo "<script type=\"text/javascript\"><!-- if(!window.jQuery) document.write('".str_replace('/','\/',addslashes(propre('<p>'._T('couteauprive:erreur:jquery').'</p>')))."'); //--></script>"; echo '</div>'; // chargement des outils include_spip('inc/cs_outils'); list($outils_affiches_actifs, $liste_outils) = liste_outils(); // cadre de gauche echo debut_gauche('', true); // pour la liste des docs sur spip-contrib $contribs = isset($GLOBALS['meta']['tweaks_contribs'])?unserialize($GLOBALS['meta']['tweaks_contribs']):array(); foreach($contribs as $i=>$v) $contribs[$i] = preg_replace_callback('/@@(.*?)@@/', 'cs_couper_25', $v); sort($contribs); $aide = ''; if(isset($GLOBALS['cs_installer'])) foreach(array_keys($GLOBALS['cs_installer']) as $pack) $aide .= "\n_ " . _T('couteauprive:pack_du', array('pack'=>"{[{$pack}|"._T('couteauprive:pack_installe').'->' . generer_url_ecrire($exec,'cmd=install&pack='.urlencode($pack)) . ']}')); // si le plugin est installe par procedure automatique, on permet la mise a jour directe (SPIP >= 2.0) $arg_chargeur = $GLOBALS['spip_version_base']>=15828?'url_zip_plugin2':'url_zip_plugin'; // eq. SPIP >= 2.1.2 $form_update = preg_match(',plugins/auto/couteau_suisse/$,',_DIR_PLUGIN_COUTEAU_SUISSE)? "<input type='hidden' name='$arg_chargeur' value='http://files.spip.org/spip-zone/couteau_suisse.zip' />" . "<br/><div class='cs_sobre'><input type='submit' value='• " . attribut_html(_T('couteauprive:version_update')) . "' class='cs_sobre' title='" . attribut_html(_T('couteauprive:version_update_title')) . "' /></div>" :""; // un lien si le plugin plugin "Telechargeur" est present (SPIP < 2.0) if(!strlen($form_update) && defined('_DIR_PLUGIN_CHARGEUR')) $form_update = "<br/>• <a title='" . attribut_html(_T('couteauprive:version_update_chargeur_title')) . "' href='../spip.php?action=charger&plugin=couteau_suisse&url_retour=".urlencode(generer_url_ecrire('admin_couteau_suisse'))."'>"._T('couteauprive:version_update_chargeur').'</a>'; // compilation du bandeau gauche $aide = _T('couteauprive:help2', array( 'version' => $cs_version.$cs_revision.'<br/>'. (defined('_CS_PAS_DE_DISTANT')?'('._T('couteauprive:version_distante_off').')':'<span class="cs_version">'._T('couteauprive:version_distante').'</span>') )) . $form_update . '<br/>• ['._T('couteauprive:pack_titre') . '|' . _T('couteauprive:pack_alt') . '->' . generer_url_ecrire($exec,'cmd=pack#cs_infos') . "]\n\n" . _T('couteauprive:help3', array( 'reset' => generer_url_ecrire($exec,'cmd=resetall'), 'hide' => generer_url_ecrire($exec,'cmd=showall'), 'contribs' => join('', $contribs), 'install' => $aide )); if(function_exists('redirige_action_post')) $aide = redirige_action_post('charger_plugin', '', 'admin_couteau_suisse', '', $aide); // SPIP >= 2.0 $aide = '<div class="cs_aide">'._T('couteauprive:help')."\n\n$aide</div>"; echo debut_boite_info(true), propre($aide), fin_boite_info(true); $aide = cs_aide_raccourcis(); if(strlen($aide)) echo debut_boite_info(true), $aide, fin_boite_info(true); $aide = cs_aide_pipelines($outils_affiches_actifs); if(strlen($aide)) echo debut_boite_info(true), $aide, fin_boite_info(true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>$exec),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>$exec),'data'=>'')), debut_droite('', true), debut_cadre_trait_couleur(find_in_path('img/couteau-24.gif'),true,'',' '._T('couteauprive:outils_liste')), _T('couteauprive:outil_intro'), "\n<table border='0' cellspacing='0' cellpadding='5' style='width:100%;'><tr><td class='sansserif'>"; $_GET['source'] = $exec; echo '<div class="conteneur">', $liste_outils, '</div><br class="conteneur" /><div class="cs_patience"><br />'.http_img_pack('searching.gif','*','').' ...</div>'; flush(); echo '<div class="conteneur"><div id="cs_infos" class="cs_infos">', $cmd=='pack'?cs_description_pack():description_outil2($afficher_outil), '</div><script type="text/javascript"><!-- var cs_descripted = "', $afficher_outil, '"; document.write("<style type=\'text/css\'>#csjs{display:none;}<\/style>"); //--></script><div id="csjs" style="color:red;"><br/>', _T('couteauprive:erreur:js'),'</div> <noscript><style type="text/css">#csjs{display:none;}</style><div style="color:red;"><br/>', _T('couteauprive:erreur:nojs'), $_GET['modif']=='oui'?'<br/>'._T('couteauprive:vars_modifiees').'.':'','</div></noscript>', '</div></td></tr></table>', '<style type="text/css">.cs_patience{display:none;}</style>', fin_cadre_trait_couleur(true), pipeline('affiche_milieu',array('args'=>array('exec'=>$exec),'data'=>'')), fin_gauche(), fin_page(); cs_log(" FIN : exec_admin_couteau_suisse()"); }
function exec_spiplistes_liste_edit(){ include_spip('inc/barre'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); include_spip('inc/spiplistes_naviguer_paniers'); global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur , $spip_ecran ; // initialise les variables postees par le formulaire foreach(array( 'new' // nouvelle liste si 'oui' , 'id_liste'// si modif dans l'editeur , 'titre', 'texte' ) as $key) { $$key = _request($key); } foreach(array('id_liste') as $key) { $$key = intval($$key); } $flag_editable = false; $clearonfocus = ''; // MODE LISTE EDIT: modification ou creation if($id_liste > 0) { /////////////////////////////// // Modification de la liste transmise // // les admins toutes rubriques et le moderateur seuls peuvent modifier la liste $flag_editable = autoriser('moderer', 'liste', $id_liste); $sql_select_array = array('titre', 'lang', 'pied_page', 'texte', 'date', 'statut'); if($row = spiplistes_listes_liste_fetsel($id_liste, $sql_select_array)) { foreach($sql_select_array as $key) { $$key = $row[$key]; } // supers-admins et moderateur seuls ont droit de modifier la liste // $ids_mods_array = spiplistes_mod_listes_get_id_auteur($id_liste); // $ids_mods_array = ($ids_mods_array && isset($ids_mods_array[$id_liste]) ? $ids_mods_array[$id_liste] : array(); // $flag_editable = ($connect_toutes_rubriques || in_array($connect_id_auteur, $ids_mods_array)); } else { // liste perdue ? $id_liste = 0; } } if(!$id_liste) { /////////////////////////////// // Creation de la liste // $titre = filtrer_entites(_T('spiplistes:Nouvelle_liste_de_diffusion')); $texte = ""; $clearonfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\""; // les admins ont droit de creer une liste $flag_editable = ($connect_statut == "0minirezo"); } $gros_bouton_retour = icone( _T('spiplistes:retour_link') , generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER,"id_liste=" . ($lier_trad ? $lier_trad : $id_liste) ) , "article-24.gif" , "rien.gif" , "" , false ) ; //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:edition_dune_liste'); // Permet entre autres d'ajouter les classes a la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = "liste_edit"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique)); // la gestion des listes de courriers est reservee aux admins if(!$flag_editable) { 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_info_id(_T('spiplistes:liste_numero'), $id_liste, true) . spiplistes_naviguer_paniers_listes(_T('spiplistes:aller_aux_listes_'), true) . 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() // ne pas gener l'edition . pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) . debut_droite($rubrique, true) ; $titre = entites_html($titre); $texte = entites_html($texte); $formulaire_action = ($id_liste > 0) ? generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER, "id_liste=$id_liste") : generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER) ; $page_result .= "" . debut_cadre_formulaire("", true) . "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>" . "<tr>" . "<td>" . $gros_bouton_retour . "</td>" . "<td><img src='"._DIR_IMG_PACK."rien.gif' alt='' width='10' /></td>\n" . "<td width='100%'>" . ( (!$id_liste) ? _T('spiplistes:Creer_une_liste_') : _T('spiplistes:modifier_liste') ) . ":" . spiplistes_gros_titre($titre, '', true) . "</td>" . "</tr></table>" . "<hr />" . "<form action='$formulaire_action' method='post' name='formulaire'>\n" . ( ($id_liste) ? "<input type='hidden' name='id_liste' value='$id_liste' />" : "<input type='hidden' name='new' value='oui' />" // une nouvelle liste est toujours privee . "<input type='hidden' name='statut_nouv' value='"._SPIPLISTES_LIST_PRIVATE."' />" ) . ( // ne sert pas pour le moment (CP-20070922) ($lier_trad) ? "<input type='hidden' name='lier_trad' value='$lier_trad' />" : "" ) . _T('texte_titre_obligatoire').":" . "<br />" // champ titre . "<input type='text' name='titre' class='formo' value=\"$titre\" size='40' $clearonfocus />" . "<br />" . "<strong>"._T('spiplistes:texte_dinsctription_')."</strong>" . "<br />"._T('spiplistes:txt_abonnement') // boite edition texte . afficher_barre('document.formulaire.texte') . "<textarea id='text_area' name='texte' ".$GLOBALS['browser_caret'] ." class='formo' rows='".(($spip_ecran == "large") ? 28 : 20)."' cols='40'>\n" . $texte . "</textarea>\n" // pied de page // inutile de l'afficher, on a pas encore le contexte (lang) //. _T('spiplistes:texte_pied') //. _T('spiplistes:texte_contenu_pied') //. "<div style='background-color:#fff'>" //. $pied_page //. "</div>" . "<p align='right' class='verdana2'>" . "<input class='fondo' type='submit' name='btn_liste_edit' value='"._T('bouton_valider')."' />" . "</p>" . "</form>" . fin_cadre_formulaire(true) ; echo($page_result); // MODE LISTE EDIT: FIN -------------------------------------------------------- echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , fin_gauche(), fin_page(); }
function exec_config_fonctions_dist() { if (!autoriser('configurer', 'fonctions')) { include_spip('inc/minipres'); echo minipres(); } else { $config = charger_fonction('config', 'inc'); $config(); pipeline('exec_init',array('args'=>array('exec'=>'config_fonctions'),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_config_fonctions'), "configuration", "configuration"); echo "<br /><br /><br />"; echo gros_titre(_T('titre_config_fonctions'),'', false); echo barre_onglets("configuration", "fonctions"); echo debut_gauche('', true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'config_fonctions'),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'config_fonctions'),'data'=>'')); echo debut_droite('', true); $reducteur = charger_fonction('reducteur', 'configuration'); # $indexeur = charger_fonction('indexeur', 'configuration'); $compteur = charger_fonction('compteur', 'configuration'); $avertisseur = charger_fonction('avertisseur', 'configuration'); $versionneur = charger_fonction('versionneur', 'configuration'); $previsualiseur = charger_fonction('previsualiseur', 'configuration'); $relayeur = charger_fonction('relayeur', 'configuration'); $type_urls = charger_fonction('type_urls', 'configuration'); echo $reducteur(), // Creation automatique de vignettes # $indexeur(), // Indexation pour moteur de recherche $compteur(), // Gerant de statistique $avertisseur(), // Notification de modification des articles $versionneur(), // Gestion des revisions des articles $previsualiseur(), // Previsualisation sur le site public $relayeur(_request('retour_proxy')), // Proxy pour syndication & doc $type_urls(), // Choix de type_urls ''; // // Choix supplementaires proposees par les plugins // echo pipeline('affiche_milieu',array('args'=>array('exec'=>'config_fonctions'),'data'=>'')); echo fin_gauche(), fin_page(); } }
function exec_admin_plugin_dist($retour='') { if (!autoriser('configurer', 'plugins')) { include_spip('inc/minipres'); echo minipres(); } else { // on fait la verif du path avant tout, // et l'installation des qu'on est dans la colonne principale // si jamais la liste des plugins actifs change, il faut faire un refresh du hit // pour etre sur que les bons fichiers seront charges lors de l'install if (actualise_plugins_actifs()==-1 AND _request('actualise')<2){ include_spip('inc/headers'); redirige_par_entete(parametre_url(self(),'actualise',_request('actualise')+1,'&')); } if ($erreur_activation = isset($GLOBALS['meta']['plugin_erreur_activation'])){ $erreur_activation = $GLOBALS['meta']['plugin_erreur_activation']; // l'effacement reel de la meta se fera au moment de l'affichage // mais on la vide pour ne pas l'afficher dans le bandeau haut unset($GLOBALS['meta']['plugin_erreur_activation']); } $format = ''; if (_request('format')!==NULL) $format = _request('format'); // liste ou repertoires $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin"); echo "<br />\n"; echo "<br />\n"; $quoi = _request('voir'); $quoi = $quoi ? $quoi : 'actifs'; echo gros_titre(_T('icone_admin_plugin'),'',false); echo barre_onglets("plugins", $quoi=='actifs'?"plugins_actifs":"admin_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); // la valeur de retour de la fonction ci-dessus n'est pas compatible // avec ce que fait actualise_plugins_actifs, il faut recalculer. A revoir. $lcpa = liste_chemin_plugin_actifs(); echo pipeline('affiche_gauche', array( 'args'=>array('exec'=>'admin_plugin'), 'data'=>afficher_librairies() ) ); echo debut_droite('plugin', true); // message d'erreur au retour d'un operation if (_request('erreur')){ echo "<div class='erreur_message-plugins'>" . _T(_request('erreur')) . "</div>"; } if ($erreur_activation){ echo "<div class='erreur_message-plugins'>" . $erreur_activation . "</div>"; effacer_meta('plugin_erreur_activation'); } // on fait l'installation ici, // cela permet aux scripts d'install de faire des affichages (moches...) installe_plugins(); $lpf = liste_plugin_files(); $plugins_interessants = @array_keys(unserialize($GLOBALS['meta']['plugins_interessants'])); if (!is_array($plugins_interessants)) $plugins_interessants = array(); echo "<div class='liste-plugins formulaire_spip'>"; echo debut_cadre_trait_couleur('plugin-24.gif',true,'',_T('plugins_liste'), 'plugins'); if ($quoi!=='actifs'){ 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>"; } } if ($quoi=='actifs' OR $lpf) echo "<h3>".sinon( singulier_ou_pluriel(count($lcpa), 'plugins_actif_un', 'plugins_actifs', 'count'), _T('plugins_actif_aucun') )."</h3>"; $sub = "\n<div class='boutons'>" . "<input type='submit' class='submit save' value='"._T('bouton_enregistrer') ."' />" . "</div>"; $no_button = false; // la liste if ($quoi=='actifs'){ $aff = affiche_les_plugins($lcpa, $lcpa, $format); $no_button = !strlen($aff); $corps = $aff; } elseif ($quoi=='tous') $corps = affiche_les_plugins($lpf, $lcpa, $format); else { $dir_auto = substr(_DIR_PLUGINS_AUTO, strlen(_DIR_PLUGINS)); $lcpaffiche = array(); foreach ($lpf as $f) if (!strpos($f, '/') OR ($dir_auto AND substr($f, 0, strlen($dir_auto)) == $dir_auto) OR in_array($f, $lcpa) OR in_array($f, $plugins_interessants)) $lcpaffiche[] = $f; $corps = affiche_les_plugins($lcpaffiche, $lcpa, $format); } if (!$no_button) $corps .= "\n<br />" . $sub; echo redirige_action_post('activer_plugins','activer','admin_plugin','', $corps); echo fin_cadre_trait_couleur(true); if ($quoi=='actifs') echo affiche_les_extensions(liste_chemin_plugin_actifs(_DIR_EXTENSIONS)); echo "</div>"; echo http_script(" jQuery(function(){ jQuery('#plugins .boutons').hide(); jQuery('.plugins li.item a[rel=info]').click(function(){ var li = jQuery(this).parents('li').eq(0); var prefix = li.find('input.checkbox').attr('name'); if (!jQuery('div.details',li).html()) { jQuery('div.details',li).prepend(ajax_image_searching).load( jQuery(this).attr('href').replace(/admin_plugin|plugins/, 'info_plugin'), function(){ li.addClass('on'); } ); } else { if (jQuery('div.details',li).toggle().is(':visible')) li.addClass('on'); else li.removeClass('on'); } return false; }); jQuery('.plugins li.item input.checkbox').change(function(){ jQuery(this).parents('form').eq(0).find('.boutons').slideDown(); }); }); "); echo pipeline('affiche_milieu', array( 'args'=>array('exec'=>'admin_plugin'), 'data'=>'' ) ); echo fin_gauche(), fin_page(); } }
function exec_spiplistes_config () { include_spip('inc/distant'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); include_spip('inc/meta'); include_spip('inc/config'); //spiplistes_debug_log ('Appel page de configuration'); global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur , $couleur_foncee , $spip_lang_right ; $eol = PHP_EOL; $flag_editable = (($connect_statut == "0minirezo") && ($connect_toutes_rubriques)); if($flag_editable) { $adresse_defaut = (email_valide($GLOBALS['meta']['email_defaut'])) ? $GLOBALS['meta']['email_defaut'] : $GLOBALS['meta']['email_webmaster'] ; $keys_complement_courrier = array( 'opt_personnaliser_courrier' , 'opt_lien_en_tete_courrier', 'lien_patron' , 'opt_ajout_tampon_editeur', 'tampon_patron' , 'opt_completer_titre_nom_site' , 'opt_ajout_lien_desabo' ); $keys_complement_courrier = array_merge($keys_complement_courrier , $_tampon_cles = explode(",", _SPIPLISTES_TAMPON_CLES)); $tampon_labels = array_flip($_tampon_cles); foreach($tampon_labels as $key=>$value) { $tampon_labels[$key] = _T('spiplistes:'.$key); } $keys_opt_formabo = array( 'opt_plier_deplier_formabo' // effet plier/deplier dans le formulaire abonnement ); $keys_param_valider = array( 'email_defaut' , 'smtp_server' , 'smtp_login' , 'smtp_pass' , 'smtp_port' , 'mailer_smtp' , 'smtp_identification' , 'smtp_sender' , 'spiplistes_lots' , 'spiplistes_charset_envoi' ); $keys_str_param_valider = array( 'email_reply_to' // adresse mail de retour , 'email_return_path_defaut' // adresse mail de retour pour les erreurs ); $keys_opts_param_valider = array( 'opt_simuler_envoi' // demande à la méleuse de simuler l'envoi du courrier , 'opt_suspendre_trieuse' // suspendre la trieuse. Les listes restent en attente , 'opt_suspendre_meleuse' // suspendre les envois de courriers ); $keys_console_syslog = array( 'opt_console_debug' // console en mode verbose , 'opt_console_syslog' // envoyer le journal sur syslog , 'opt_log_voir_destinataire' // ecrire adresse mail des destinataires dans les journaux ); // initialise les variables postées par le formulaire foreach(array_merge( array( 'abonnement_valider', 'abonnement_config', 'param_reinitialise' , 'btn_formabo_valider' , 'btn_complement_courrier' , 'btn_param_valider' , 'btn_console_syslog' , 'voir_logs' ) , $keys_opt_formabo , $keys_complement_courrier , $keys_param_valider , $keys_str_param_valider , $keys_opts_param_valider , $keys_console_syslog ) as $key) { $$key = _request($key); } // historiquement, ajoute le nom du site en // fin de titre. Permettre de ne pas le faire. $in_post = _request('opt_completer_titre_nom_site'); $in_meta = spiplistes_pref_lire('opt_completer_titre_nom_site'); $opt_completer_titre_nom_site = // ni dans le POST, ni dans les metas ? (!$in_post && !$in_meta) // comportement par défaut ? 'oui' // un imput vide n'est jamais renvoyé // donc si manquant, c'est un 'non' : ($in_post ? $in_post : 'non'); $doit_ecrire_metas = false; $str_log = ''; if(!isset($GLOBALS['meta'][_SPIPLISTES_META_PREFERENCES])) { $GLOBALS['meta'][_SPIPLISTES_META_PREFERENCES] = array(); } if($abonnement_valider && $abonnement_config) { ecrire_meta('abonnement_config', $abonnement_config); $doit_ecrire_metas = true; $str_log .= "abonnement_config = $abonnement_config, "; } if($btn_formabo_valider) { foreach($keys_opt_formabo as $key) { //spiplistes_log("$key ".$$key); spiplistes_ecrire_key_in_serialized_meta( $key , ($$key = (!empty($$key) ? $$key : 'non')) , _SPIPLISTES_META_PREFERENCES ); $str_log .= $key.' = '.$$key.', '; } $doit_ecrire_metas = true; } if($btn_complement_courrier) { foreach($keys_complement_courrier as $key) { spiplistes_ecrire_key_in_serialized_meta( $key , ($$key = (!empty($$key) ? $$key : 'non')) , _SPIPLISTES_META_PREFERENCES ); $str_log .= $key.' = '.$$key.', '; } $doit_ecrire_metas = true; } if($btn_param_valider) { foreach($keys_param_valider as $key) { if(($key != 'email_defaut') || email_valide($email_defaut)) { $str_log .= $key.' = ' . (($key == 'smtp_pass') ? str_repeat('*', strlen($$key)) : $$key) . ', '; ecrire_meta($key, trim($$key)); } } foreach($keys_str_param_valider as $key) { if( ($key == 'email_reply_to') || ($key == 'email_return_path_defaut') ) { $$key = ($ii = email_valide($$key)) ? $ii : $adresse_defaut ; } spiplistes_ecrire_key_in_serialized_meta ($key, $$key, _SPIPLISTES_META_PREFERENCES); $str_log .= $key.' = '.$$key.', '; } foreach($keys_opts_param_valider as $key) { $$key = (!empty($$key)) ? $$key : 'non'; spiplistes_ecrire_key_in_serialized_meta ($key, $$key, _SPIPLISTES_META_PREFERENCES); $str_log .= $key.' = '.$$key.', '; } $doit_ecrire_metas = true; } if($btn_console_syslog) { if(!spiplistes_server_rezo_local()) { } foreach($keys_console_syslog as $key) { if($key == $opt_log_voir_destinataire) { $opt_log_voir_destinataire = (!empty($$key)) ? $$key : 'non'; } if( // si pas sur réseau privé et option syslog validé, // retire l'option syslog (cas de copie de base du LAN sur celle du WAN) ($key == 'opt_console_syslog') && !spiplistes_server_rezo_local() ) { $$key = 'non'; } else { $$key = (!empty($$key)) ? $$key : 'non'; } spiplistes_ecrire_key_in_serialized_meta($key, $$key, _SPIPLISTES_META_PREFERENCES); $str_log .= $key.' = '.$$key.', '; } $doit_ecrire_metas = true; } if($doit_ecrire_metas) { // recharge les metas en cache spiplistes_ecrire_metas(); } if(!empty($str_log)) { $str_log = rtrim($str_log, ', '); spiplistes_log("CONFIGURE id_auteur #$connect_id_auteur : ".$str_log); } // // Adresse mail pour les retours (Reply-to:) // @see: http://www.w3.org/Protocols/rfc822/ $email_reply_to = spiplistes_pref_lire('email_reply_to'); // Adresse mail pour les retours en erreur (Return-path:) // @see: http://www.w3.org/Protocols/rfc822/ // Plus ou moins obsolete, ou non respecte' $email_return_path_defaut = spiplistes_pref_lire('email_return_path_defaut'); $smtp_identification = (isset($GLOBALS['meta']['smtp_identification']) && ($GLOBALS['meta']['smtp_identification']=='oui')) ? "oui" : "non"; $mailer_smtp = (isset($GLOBALS['meta']['mailer_smtp']) && ($GLOBALS['meta']['mailer_smtp']=='oui')) ? "oui" : "non"; $smtp_port = (isset($GLOBALS['meta']['smtp_port']) && (!empty($GLOBALS['meta']['smtp_port']))) ? $GLOBALS['meta']['smtp_port'] : "25"; $smtp_server = (isset($GLOBALS['meta']['smtp_server']) && (!empty($GLOBALS['meta']['smtp_server']))) ? $GLOBALS['meta']['smtp_server'] : "localhost"; $smtp_sender = (email_valide($GLOBALS['meta']['smtp_sender'])) ? $GLOBALS['meta']['smtp_sender'] : $GLOBALS['meta']['email_webmaster']; } //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('icone_configuration_site'); // Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'> $rubrique = 'configuration'; $sous_rubrique = _SPIPLISTES_PREFIX; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique)); // la configuration spiplistes est réservée aux supers-admins if(!$flag_editable) { die (spiplistes_terminer_page_non_autorisee() . fin_page()); } $page_result = '' . '<br style="line-height:3em" />' . $eol . spiplistes_gros_titre(_T('titre_page_config_contenu'), '', true) . barre_onglets($rubrique, $sous_rubrique) . debut_gauche($rubrique, true) . spiplistes_boite_meta_info(_SPIPLISTES_PREFIX) . pipeline('affiche_gauche', array('args'=>array('exec'=>'spiplistes_config'),'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'=>'spiplistes_config'),'data'=>'')) . debut_droite($rubrique, true) ; ////////////////////////////////////////////////////// // Boite Mode d'inscription des visiteurs $checked1 = $checked2 = ''; ($GLOBALS['meta']['abonnement_config'] == 'simple') ? $checked1 = "checked='checked'" : $checked2 = "checked='checked'" ; $page_result .= '' . debut_cadre_trait_couleur("redacteurs-24.gif", true, '', _T('spiplistes:mode_inscription')) . '<form action="' . generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE) . '" method="post">' . $eol . "<p class='verdana2'>" . $eol . "<input type='radio' name='abonnement_config' value='simple' $checked1 id='statut_simple' />" . $eol . "<label for='statut_simple'>"._T('spiplistes:abonnement_simple').'</label>' . $eol . "</p>" . $eol . "<p class='verdana2'>" . $eol . "<input type='radio' name='abonnement_config' value='membre' $checked2 id='statut_membre' />" . $eol . "<label for='statut_membre'>"._T('spiplistes:abonnement_code_acces').'</label>' . $eol . "</p>" . $eol // bouton de validation . "<div style='text-align:right;'><input type='submit' name='abonnement_valider' class='fondo' value='"._T('bouton_valider')."' /></div>" . $eol . "</form>" . $eol . fin_cadre_trait_couleur(true) ; ////////////////////////////////////////////////////// // Formulaire abonnement $checked1 = ((spiplistes_pref_lire('opt_plier_deplier_formabo') == 'oui') ? "checked='checked'" : ''); $page_result .= '' . debut_cadre_trait_couleur("redacteurs-24.gif", true, '', _T('spiplistes:formulaire_abonnement')) . "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE)."' method='post'>" . $eol . "<p class='verdana2'>" . $eol . "<input type='checkbox' name='opt_plier_deplier_formabo' value='oui' $checked1 id='plier_deplier' />" . $eol . "<label for='plier_deplier'>"._T('spiplistes:formulaire_abonnement_effet').'</label>' . $eol . "</p>" . $eol // bouton de validation . "<div style='text-align:right;'><input type='submit' name='btn_formabo_valider' class='fondo' value='"._T('bouton_valider')."' /></div>" . $eol . "</form>" . $eol . fin_cadre_trait_couleur(true) ; ////////////////////////////////////////////////////// // Boite parametrage complément du courrier $opt_personnaliser_courrier = (spiplistes_pref_lire('opt_personnaliser_courrier') == 'oui'); $opt_completer_titre_nom_site = (spiplistes_pref_lire('opt_completer_titre_nom_site') == 'oui'); $opt_lien_en_tete_courrier = (spiplistes_pref_lire('opt_lien_en_tete_courrier') == 'oui'); $lien_patron = spiplistes_pref_lire('lien_patron'); $opt_ajout_tampon_editeur = (spiplistes_pref_lire('opt_ajout_tampon_editeur') == 'oui'); $opt_ajout_lien_desabo = (spiplistes_pref_lire('opt_ajout_lien_desabo') == 'oui'); $tampon_patron = spiplistes_pref_lire('tampon_patron'); foreach($_tampon_cles as $key) { $$key = spiplistes_pref_lire($key); } $page_result .= '' . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."courriers_complement-24.png", true, '', _T('spiplistes:Complement_des_courriers')) . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE), true) // // personnaliser le courrier (reprend les données de *_auteur) . "<!-- personnaliser le courrier -->" . $eol . debut_cadre_relief('', true, '', _T('spiplistes:personnaliser_le_courrier')) . "<p class='verdana2'>"._T('spiplistes:personnaliser_le_courrier_desc')."</p>" . "<label class='verdana2'>" . "<input type='checkbox' name='opt_personnaliser_courrier' value='oui' " . (($opt_personnaliser_courrier == 'oui') ? "checked='checked'" : '') . ' />' . $eol . _T('spiplistes:personnaliser_le_courrier_label').'</label>' . $eol . fin_cadre_relief(true) // // ajout du renvoi de tete, lien courrier . debut_cadre_relief('', true, '', _T('spiplistes:Complement_lien_en_tete')) . "<p class='verdana2'>"._T('spiplistes:Complement_lien_en_tete_desc')."</p>" . '<input type="checkbox" name="opt_lien_en_tete_courrier" value="oui" id="opt-lien-en-tete-courrier" ' . (($opt_lien_en_tete_courrier) ? 'checked="checked"' : '') . ' />' . $eol . "<label class='verdana2' for='opt-lien-en-tete-courrier'>"._T('spiplistes:Complement_ajouter_lien_en_tete').'</label>' . $eol // // lien courrier: boite de selection . "<div id='div-lien-en-tete-courrier' style='".(!$opt_lien_en_tete_courrier ? "display:none;" : '')."margin-top:1em;'>" . '<label class="verdana2" style="padding-left:2ex;">' . _T('spiplistes:Patron_du_lien').'.' . $eol . spiplistes_boite_selection_patrons($lien_patron, true, _SPIPLISTES_PATRONS_TETE_DIR, "lien_patron", 1) . '</label>' . $eol . "</div>" . $eol // fin bloc div-lien-en-tete-courrier . fin_cadre_relief(true) // // compléter le titre des listes par le nom du serveur ? . debut_cadre_relief('', true, '', _T('spiplistes:completer_titre_courrier_nom_site')) . '<label class="verdana2" style="padding-left:2ex;">' . '<input type="checkbox" name="opt_completer_titre_nom_site" value="oui" id="opt_completer_titre_nom_site" ' . (($opt_completer_titre_nom_site) ? 'checked="checked"' : '') . ' />' . $eol . _T('spiplistes:completer_titre_courrier_nom_site_desc') . $eol . '</label>' . $eol . fin_cadre_relief(true) // // opt_ajout_lien_desabo . debut_cadre_relief('', true, '', _T('spiplistes:lien_gestion_inscription')) . '<p class="verdana2">'._T('spiplistes:lien_gestion_inscription_desc').'</p>'.$eol . '<input type="checkbox" name="opt_ajout_lien_desabo" value="oui" id="opt_ajout_lien_desabo" ' . ($opt_ajout_lien_desabo ? 'checked="checked"' : '') . ' />' . $eol . '<label class="verdana2" for="opt_ajout_lien_desabo">' . _T('spiplistes:lien_gestion_inscription_label').'</label>'.$eol . fin_cadre_relief(true) // // ajout tampon editeur . debut_cadre_relief('', true, '', _T('spiplistes:Complement_tampon_editeur')) . "<p class='verdana2'>"._T('spiplistes:Complement_tampon_editeur_desc')."</p>" . "<input type='checkbox' name='opt_ajout_tampon_editeur' value='oui' id='opt-ajout-tampon-editeur' " . ($opt_ajout_tampon_editeur ? "checked='checked'" : '') . " />" . $eol . "<label class='verdana2' for='opt-ajout-tampon-editeur'>"._T('spiplistes:Complement_tampon_editeur_label').'</label>' . $eol // // coordonnées editeur: bloc coordonnes_editeur . "<div id='div-ajout-tampon-editeur' style='".(!$opt_ajout_tampon_editeur ? "display:none;" : '')."margin-top:1em;'>" // tampon sélecteur . "<label class='verdana2' style='padding-left:2ex;'>"._T('spiplistes:patron_du_tampon_') . $eol . spiplistes_boite_selection_patrons($tampon_patron, true, _SPIPLISTES_PATRONS_TAMPON_DIR, "tampon_patron", 1) . '</label>' . "<ul class='verdana2' style='list-style:none;padding-left:2ex;'>" . $eol ; foreach($_tampon_cles as $key) { $value = ($$key == 'non') ? '' : $$key; $page_result .= '' . "<li><label for='id_$key'>".$tampon_labels[$key].":</label>" . "<input type='text' name='$key' id='id_$key' size='40' class='forml' value=\"{$value}\" /></li>" . $eol ; } $page_result .= '' . "</ul>" . $eol . "</div>" . $eol // fin bloc div-ajout-tampon-editeur . fin_cadre_relief(true) // // bouton de validation . "<div style='text-align:right;'><input type='submit' name='btn_complement_courrier' class='fondo' value='"._T('bouton_valider')."' /></div>" . $eol . spiplistes_form_fin(true) . fin_cadre_trait_couleur(true) ; function spiplistes_cadre_input_text($titre, $name, $value, $size=30, $class='forml') { static $eol = PHP_EOL; $str = debut_cadre_relief('', true, '', $titre) . '<input type="text" name="'.$name.'" value="'.$value.'" size="'.$size.'" class="'.$class.'" />' . $eol . fin_cadre_relief(true); return($str); } ////////////////////////////////////////////////////// // Boite parametrage envoi du courrier $page_result .= '' . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'courriers_envoyer-24.png', true, '', _T('spiplistes:Envoi_des_courriers')) . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE), true) // // adresse email de retour (reply-to) . spiplistes_cadre_input_text(_T('spiplistes:adresse_envoi_defaut') , 'email_defaut' , $adresse_defaut ) // // adresse email du smtp sender . spiplistes_cadre_input_text(_T('spiplistes:adresse_smtp') , 'smtp_sender' , $smtp_sender ) // // adresse de retour (reply-to) . spiplistes_cadre_input_text(_T('spiplistes:adresse_email_reply_to') , 'email_reply_to' , $email_reply_to ) // // adresse return-path de retour (on-error reply-to) . spiplistes_cadre_input_text(_T('spiplistes:adresse_on_error_defaut') , 'email_return_path_defaut' , $email_return_path_defaut ) // // Méthode d'envoi . debut_cadre_relief('', true, '', _T('spiplistes:methode_envoi')) . "<div class='verdana2'>" . $eol . _T('spiplistes:pas_sur') . bouton_radio("mailer_smtp", "non", _T('spiplistes:php_mail'), $mailer_smtp == "non", "changeVisible(this.checked, 'smtp', 'none', 'block');") . "<br />" . $eol . bouton_radio("mailer_smtp", "oui", _T('spiplistes:utiliser_smtp'), $mailer_smtp == "oui" , "changeVisible(this.checked, 'smtp', 'block', 'none');") . "</div>" . $eol // // si 'smtp', affiche bloc de paramétrage . "<ul id='smtp' class='verdana2' style='list-style: none;display:".(($mailer_smtp == "oui") ? "block" : "none")."'>" . $eol . "<li>"._T('spiplistes:smtp_hote')." : <input type='text' name='smtp_server' value='$smtp_server' size='30' class='forml' /></li>" . $eol . "<li>"._T('spiplistes:smtp_port')." : <input type='text' name='smtp_port' value='$smtp_port' size='4' class='fondl' /></li>" . $eol . "<li>"._T('spiplistes:requiert_identification')." : " . bouton_radio("smtp_identification", "oui", _T('item_oui'), ($smtp_identification == "oui"), "changeVisible(this.checked, 'smtp-auth', 'block', 'none');") . " " . bouton_radio("smtp_identification", "non", _T('item_non'), ($smtp_identification == "non"), "changeVisible(this.checked, 'smtp-auth', 'none', 'block');")."</li>" . $eol . "</ul>" . $eol . "<ul id='smtp-auth' class='verdana2' style='list-style:none;display:".(($smtp_identification == "oui") ? "block" : "none" )."'>" . $eol . "<li>" . "<label for='smtp_login'>"._T('item_login')." : </label>" . $eol . "<input type='text' id='smtp_login' name='smtp_login' value='".$GLOBALS['meta']['smtp_login']."' size='30' class='fondl' />" . $eol . "</li>" . $eol . "<li>" . "<label for='smtp_pass'>"._T('entree_passe_ldap')." : </label>" . $eol . "<input type='password' id='smtp_pass' name='smtp_pass' value='".$GLOBALS['meta']['smtp_pass']."' size='30' class='fondl' />" . $eol . "</li>" . $eol . "</ul>" . $eol . fin_cadre_relief(true) // // le nombre de lots d'envois . debut_cadre_relief('', true, '', _T('spiplistes:parametrer_la_meleuse')) . spiplistes_boite_select_de_formulaire ( spiplistes_array_values_in_keys(explode(";", _SPIPLISTES_LOTS_PERMIS)), $GLOBALS['meta']['spiplistes_lots'] , 'spiplistes_lots', 'spiplistes_lots' , 1, '', 'fondo', _T('spiplistes:nombre_lot')." : ", '', 'verdana2') . '<br />' . $eol // // sélection du charset d'envoi . spiplistes_boite_select_de_formulaire ( spiplistes_array_values_in_keys(explode(";", _SPIPLISTES_CHARSETS_ALLOWED)), $GLOBALS['meta']['spiplistes_charset_envoi'] , 'spiplistes_charset_envoi', 'spiplistes_charset_envoi' , 1, '', 'fondo', _T('spiplistes:Jeu_de_caracteres')." : ", '', 'verdana2') . fin_cadre_relief(true) ; // // options simulation des envois, suspendre le tri, la meleuse $page_result .= '' . debut_cadre_relief('', true, '', _T('spiplistes:mode_suspendre_trieuse')) . spiplistes_form_input_checkbox ( 'opt_suspendre_trieuse' , 'oui', _T('spiplistes:Suspendre_le_tri_des_listes') , (spiplistes_pref_lire('opt_suspendre_trieuse') == 'oui'), true, false) . fin_cadre_relief(true) // . debut_cadre_relief('', true, '', _T('spiplistes:mode_suspendre_meleuse')) . spiplistes_form_input_checkbox ( 'opt_suspendre_meleuse' , 'oui', _T('spiplistes:suspendre_lenvoi_des_courriers') , (spiplistes_pref_lire('opt_suspendre_meleuse') == 'oui'), true, false) . fin_cadre_relief(true) // . debut_cadre_relief('', true, '', _T('spiplistes:mode_simulation')) . spiplistes_form_input_checkbox ( 'opt_simuler_envoi' , 'oui', _T('spiplistes:simuler_les_envois') , (spiplistes_pref_lire('opt_simuler_envoi') == 'oui'), true, false) . fin_cadre_relief(true) // . spiplistes_form_bouton_valider('btn_param_valider', _T('bouton_valider'), true) . spiplistes_form_fin(true) . fin_cadre_trait_couleur(true) ; ////////////////////////////////////////////////////// // La console $page_result .= '<a id="regler-console" name="regler-console"></a>' . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'console-24.gif', true, '', _T('spiplistes:log_console')) . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE), true) // // la console en mode debug ? . debut_cadre_relief('', true, '', _T('spiplistes:log_console_debug')) . spiplistes_form_input_checkbox ( 'opt_console_debug' , 'oui' , _T('spiplistes:log_console_debug_activer') , (spiplistes_pref_lire('opt_console_debug') == 'oui'), true, false) . fin_cadre_relief(true) // . debut_cadre_relief('', true, '', _T('spiplistes:log_details_console')) . spiplistes_form_input_checkbox ( 'opt_log_voir_destinataire' , 'oui' , _T('spiplistes:log_voir_destinataire') , (spiplistes_pref_lire('opt_log_voir_destinataire') == 'oui'), true, false) . fin_cadre_relief(true) ; // Paramétrer la console de debug/logs si sur LAN if(spiplistes_server_rezo_local()) { $page_result .= '' . debut_cadre_relief('', true, '', _T('spiplistes:log_console_syslog')) . '<p class="verdana2">'._T('spiplistes:log_console_syslog_desc', array('IP_LAN' => $_SERVER['SERVER_ADDR'])).'</p>' . $eol . spiplistes_form_input_checkbox ( 'opt_console_syslog' , 'oui', _T('spiplistes:log_console_syslog_texte') , (spiplistes_pref_lire('opt_console_syslog') == 'oui'), true, false) . fin_cadre_relief(true) ; } $page_result .= '' . spiplistes_form_bouton_valider('btn_console_syslog') . spiplistes_form_fin(true) ; // voir les journaux SPIP if(!($ii = spiplistes_pref_lire('opt_console_syslog')) || ($ii == 'non')) { // si syslog non activé, on visualise les journaux de spip // lien sur logs ou affiche logs /* * CP-20081112: deplace' dans les raccourcis */ /* $page_result .= '' . "<a id='view-spiplistes-log' name='view-spiplistes-log' href='#view-spiplistes-log' class='verdana2'>" . _T('spiplistes:log_voir_les_journaux') . "</a>" . $eol . "<div id='view-spiplistes-log-box'></div>" . $eol ; */ } $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_config()
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(); }
function exec_spiplistes_courrier_gerer () { include_spip('inc/barre'); include_spip('inc/documents'); include_spip('base/spiplistes_tables'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_courrier'); include_spip('inc/spiplistes_api_presentation'); include_spip('inc/spiplistes_destiner_envoi'); include_spip('inc/spiplistes_naviguer_paniers'); global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur , $spip_ecran ; $eol = "\n"; // initialise les variables postees par le formulaire foreach(array( 'type' , 'id_courrier' , 'btn_courrier_valider', 'titre', 'message', 'message_texte' // (formulaire edition) _SPIPLISTES_EXEC_COURRIER_EDIT , 'new' // idem , 'btn_changer_destination', 'radio_destination', 'email_test', 'id_liste' // (formulaire local) destinataire , 'change_statut' // (formulaire spiplistes_boite_autocron) 'publie' pour annuler envoi par boite autocron , 'btn_dupliquer_courrier' // (formulaire local) dupliquer le courrier , 'supp_dest' , 'id_temp' // pour recuperer les documents joints ) as $key) { $$key = _request($key); } foreach(array('id_courrier', 'id_liste', 'btn_dupliquer_courrier') as $key) { $$key = intval($$key); } foreach(array('email_test','titre','message','message_texte') as $key) { $$key = trim($$key); } $texte = $message; $page_result = $message_erreur = $str_destinataire = $boite_confirme_envoi = ''; $flag_admin = ($connect_statut == "0minirezo") && $connect_toutes_rubriques; $flag_moderateur = count($listes_moderees = spiplistes_mod_listes_id_auteur($connect_id_auteur)); $flag_createur = ($id_courrier && ($connect_id_auteur == spiplistes_courrier_id_auteur_get($id_courrier))); // l'edition du courrier est reservee... $flag_autorise = ( // aux super-admins $flag_admin // ou a un moderateur || $flag_moderateur // ou au createur du courrier || $flag_createur ); if($flag_autorise) { // Modification de courrier if($btn_dupliquer_courrier > 0) { $id_courrier = $btn_dupliquer_courrier; } // effectue les modifications demandees si retour local ou retour editeur if($id_courrier > 0) { if($btn_dupliquer_courrier > 0) { if($row = sql_fetsel('titre,texte', 'spip_courriers', 'id_courrier='.sql_quote($id_courrier),'','',1)) { $titre = typo($row['titre']); $texte = typo($row['texte']); // // @see: http://www.spip-contrib.net/SPIP-Listes#comment441566 //$texte = typo($row['message_texte']); $str_log = "id_courrier #$id_courrier"; $statut = _SPIPLISTES_COURRIER_STATUT_REDAC; $type = _SPIPLISTES_COURRIER_TYPE_NEWSLETTER; $id_courrier = sql_insert( 'spip_courriers' , "(titre,texte,message_texte,date,statut,type,id_auteur)" , "(".sql_quote($titre).",".sql_quote($texte).",".sql_quote($message_texte) .",NOW(),".sql_quote($statut).",".sql_quote($type).",".sql_quote($connect_id_auteur).")" ); spiplistes_log("$str_log DUPLICATED TO #$id_courrier BY ID_AUTEUR #$connect_id_auteur"); } else { spiplistes_log("ERR: DUPLICATION FROM id_courrier #$id_courrier (missing ?)"); } } if($btn_changer_destination) { if($radio_destination == 'email_test') { // demande d'envoi au mail de test (retour formulaire local) if(email_valide($email_test)) { if(!($id_auteur_test = spiplistes_idauteur_depuis_email($email_test))) { // verifie si l'adresse est dans la table des auteurs // si inconnue, refuse d'envoyer $message_erreur .= spiplistes_boite_alerte (_T('spiplistes:Erreur_Adresse_email_inconnue'), true); } else { $format_abo = spiplistes_format_abo_demande($id_auteur_test); /* * meme le compte qui veut recevoir un test doit avoir * un format de reception */ if( in_array($format_abo, spiplistes_formats_autorises()) && ($format_abo != 'non') ) { // Ok. Enregistre l'adresse test spiplistes_courrier_modifier( $id_courrier , array( 'email_test' => $email_test , 'total_abonnes' => 1 , 'id_liste' => ($id_liste = 0) , 'statut' => ($change_statut = _SPIPLISTES_COURRIER_STATUT_READY) ) ); } else { $message_erreur .= spiplistes_boite_alerte (_T('spiplistes:destinataire_sans_format_alert'), true); } $str_destinataire = _T('spiplistes:email_adresse') . " : $email_test"; } } else { $message_erreur .= spiplistes_boite_alerte (_T('spiplistes:Erreur_Adresse_email_invalide'), true); } } // end if($radio_destination == 'email_test') else if($radio_destination == 'id_liste') { // demande d'envoi a une liste (retour formulaire local) if($id_liste > 0) { if( ($nb_abos = spiplistes_listes_nb_abonnes_compter($id_liste)) > 0 ) { $str_destinataire = "" . _T('spiplistes:sur_liste') . " : <a href='".generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER, "id_liste=$id_liste")."'>" . spiplistes_listes_liste_fetsel($id_liste, 'titre') . "</a>" . " " . spiplistes_nb_abonnes_liste_str_get($id_liste, $nb_abos) ; spiplistes_courrier_modifier( $id_courrier , array( 'email_test' => "" , 'total_abonnes' => $nb_abos , 'id_liste' => $id_liste , 'statut' => ($change_statut = _SPIPLISTES_COURRIER_STATUT_READY) ) ); } else { $message_erreur .= spiplistes_boite_alerte (_T('spiplistes:Erreur_liste_vide'), true); } } } // end if($radio_destination } // if($btn_changer_destination else if($btn_courrier_valider) { // retour editeur local if(!empty($titre)) { $sql_set = array( 'titre' => $titre , 'texte' => $texte , 'message_texte' => $message_texte ); spiplistes_courrier_modifier($id_courrier, $sql_set); spiplistes_courrier_attacher_documents($id_courrier, $id_temp); } else { $message_erreur .= spiplistes_boite_alerte (_T('spiplistes:Erreur_courrier_titre_vide'), true); } } // FIN DES MODIFICATIONS } // Ok. recharge les donnees pour completer le formulaire $sql_select_array = array('titre', 'texte', 'email_test', 'statut'); if($row = spiplistes_courriers_premier($id_courrier, $sql_select_array)) { foreach($sql_select_array as $key) { $$key = $row[$key]; } } // end if($id_courrier > 0) } // end if($flag_autorise) ////////////////////////////////////////////////////// // Nouveau courrier //// if(($connect_statut == "0minirezo") && ($new == 'oui')) { // retour editeur. Creation du courrier if(!empty($titre)) { $statut = _SPIPLISTES_COURRIER_STATUT_REDAC; $type = _SPIPLISTES_COURRIER_TYPE_NEWSLETTER; $id_courrier = sql_insert( 'spip_courriers' , "(titre,texte,message_texte,date,statut,type,id_auteur)" , "(".sql_quote($titre).",".sql_quote($texte).",".sql_quote($message_texte) .",NOW(),".sql_quote($statut).",".sql_quote($type).",".sql_quote($connect_id_auteur).")" ); spiplistes_courrier_attacher_documents($id_courrier, $id_temp); } else { $message_erreur .= spiplistes_boite_alerte (_T('spiplistes:Erreur_courrier_titre_vide'), true); } } ////////////////////////////////////////////////////// // recharge le courrier pour edition if($id_courrier > 0) { $sql_select_tmp = "email_test,date,titre,texte,message_texte,type,statut,date_debut_envoi,date_fin_envoi"; $sql_select_int = "id_liste,id_auteur,total_abonnes,nb_emails_envoyes,nb_emails_echec,nb_emails_non_envoyes,nb_emails_texte,nb_emails_html"; $sql_select_str = "titre"; $sql_select = $sql_select_int.",".$sql_select_str.",".$sql_select_tmp; if($row = sql_fetsel($sql_select, "spip_courriers", "id_courrier=".sql_quote($id_courrier), '', '', 1)) { foreach(explode(",", $sql_select) as $key) { $$key = $row[$key]; } foreach(explode(",",$sql_select_int) as $key) { $$key = intval($$key); } foreach(explode(",",$sql_select_str) as $key) { $$key = typo($$key); } if($change_statut == _SPIPLISTES_COURRIER_STATUT_READY) { //$titre = propre($titre); // pas de propre ici, ca fait un <p> </p> // Le statut n'est modifie ici, mais // par courrier_casier en retour de ce formulaire // $texte = spiplistes_courrier_propre($texte); $texte = spiplistes_texte_propre ($texte); spiplistes_courrier_modifier( $id_courrier , array( 'titre' => $titre , 'texte' => $texte ) ); spiplistes_log("ID_COURRIER #$id_courrier titre,texte MODIFIED BY ID_AUTEUR #$connect_id_auteur"); $statut = $change_statut; } else if($change_statut == _SPIPLISTES_COURRIER_STATUT_STOPE){ spiplistes_courrier_supprimer_queue_envois('id_courrier', $id_courrier); spiplistes_log("ID_COURRIER #$id_courrier CANCELLED BY ID_AUTEUR #$connect_id_auteur"); } // prepare le texte texte seul if(!in_array($statut, array( _SPIPLISTES_COURRIER_STATUT_REDAC , _SPIPLISTES_COURRIER_STATUT_READY , _SPIPLISTES_COURRIER_STATUT_PUBLIE , _SPIPLISTES_COURRIER_STATUT_STOPE )) ) { //$texte = spiplistes_courrier_propre($texte); $texte = spiplistes_texte_propre ($texte); } if(!empty($message_texte)){ $alt_message_texte = _T('spiplistes:calcul_patron'); } else{ $alt_message_texte = _T('spiplistes:calcul_html'); $message_texte = spiplistes_courrier_version_texte($texte); } // construit la boite de selection destinataire $boite_selection_destinataire = (($statut==_SPIPLISTES_COURRIER_STATUT_REDAC) || ($statut==_SPIPLISTES_COURRIER_STATUT_READY)) ? spiplistes_destiner_envoi($id_courrier, $id_liste , $flag_admin , $flag_moderateur , $listes_moderees , $statut, $type, 'btn_changer_destination', $email_test) : "" ; } } // end if() ////////////////////////////////////////////////////// // preparation des boutons si droits $gros_bouton_modifier = $gros_bouton_dupliquer = $gros_bouton_supprimer = $gros_bouton_arreter_envoi = ''; if($flag_autorise) { if(($statut == _SPIPLISTES_COURRIER_STATUT_REDAC) || ($statut == _SPIPLISTES_COURRIER_STATUT_READY)) { // Le courrier peut-etre modifie si en preparation $gros_bouton_modifier = "<!-- bouton modifier -->\n" . icone ( _T('spiplistes:Modifier_ce_courrier') // legende bouton , generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_EDIT,'id_courrier='.$id_courrier) // lien , spiplistes_items_get_item('icon', $statut) // image du fond , "edit.gif" // image de la fonction. Ici, le crayon , '' // alignement , false // pas echo, demande retour ) . $eol ; } // Le courrier peut-etre supprime si obsolete if(in_array($statut, array(_SPIPLISTES_COURRIER_STATUT_REDAC , _SPIPLISTES_COURRIER_STATUT_PUBLIE , _SPIPLISTES_COURRIER_STATUT_AUTO , _SPIPLISTES_COURRIER_STATUT_VIDE , _SPIPLISTES_COURRIER_STATUT_IGNORE , _SPIPLISTES_COURRIER_STATUT_STOPE , _SPIPLISTES_COURRIER_STATUT_ERREUR)) ) { $gros_bouton_supprimer = '<div style="margin-top:1ex">' . icone ( _T('spiplistes:Supprimer_ce_courrier') , generer_url_ecrire(_SPIPLISTES_EXEC_COURRIERS_LISTE, 'btn_supprimer_courrier='.$id_courrier) , _DIR_PLUGIN_SPIPLISTES_IMG_PACK.'poubelle_msg.gif' , '' , 'right' , false ) . '</div>'.$eol ; } // Un courrier publie ou stoppe peut-etre duplique pour edition // on revient sur cette page avec le contenu recupere if(in_array($statut, array(_SPIPLISTES_COURRIER_STATUT_PUBLIE , _SPIPLISTES_COURRIER_STATUT_AUTO , _SPIPLISTES_COURRIER_STATUT_STOPE)) ) { $gros_bouton_dupliquer = "<div style='margin-top:1ex;'>" . icone ( _T('spiplistes:dupliquer_ce_courrier') , generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_GERER, "btn_dupliquer_courrier=$id_courrier") , _DIR_PLUGIN_SPIPLISTES_IMG_PACK.'stock_mail.gif' , _DIR_IMG_PACK."creer.gif" , "right" , false ) . "</div>\n" ; } if($statut == _SPIPLISTES_COURRIER_STATUT_ENCOURS) { // L'envoi d'un courrier en cours peut etre stoppe $gros_bouton_arreter_envoi = icone ( _T('spiplistes:Arreter_envoi') // si arreter envoi, passe la main a exec/spiplistes_courriers_casier , generer_url_ecrire(_SPIPLISTES_EXEC_COURRIERS_LISTE, "btn_arreter_envoi=$id_courrier") , _DIR_PLUGIN_SPIPLISTES_IMG_PACK."courriers_redac-24.png" , _DIR_PLUGIN_SPIPLISTES_IMG_PACK."stop-top-right-24.png" , "right" , false ) . fin_cadre_relief(true) ; } if($statut == _SPIPLISTES_COURRIER_STATUT_READY) { if(!$id_liste && !$id_auteur_test) { // normalement, la validation est locale, mais si l'utilisateur // part sur un casier, le retour ici est incomplet... // cas particulier d'un appel d'un courrier ready a partir des casiers // il faut recreer $id_auteur_test si id_liste == 0 if(!($id_auteur_test = spiplistes_idauteur_depuis_email($email_test))) { spiplistes_log("ERR: id_auteur_test #$id_auteur_test (id_auteur missing ?)"); } } if(($id_liste > 0) || ($id_auteur_test > 0)) { $boite_confirme_envoi = debut_cadre_couleur('', true) // formulaire de confirmation envoi // renvoie sur la page des casiers . '<form action="' . generer_url_ecrire(_SPIPLISTES_EXEC_COURRIERS_LISTE,'id_courrier='.$id_courrier) . '" method="post">'.$eol . '<p style="text-align:center;font-weight:bold;" class="verdana2">' . _T('spiplistes:confirme_envoi') . '</p>'.$eol . '<input type="hidden" name="id_liste" value="'.$id_liste.'" />'.$eol . '<input type="hidden" name="id_courrier" value="'.$id_courrier.'" />'.$eol . '<input type="hidden" name="id_auteur_test" value="'.$id_auteur_test.'" />'.$eol . '<div style="text-align:left;">'.$eol . '<input type="submit" name="btn_annuler_envoi" value="' . _T('spiplistes:annuler_envoi').'" class="fondo" style="float:left" />'.$eol . '<div style="text-align:right;width:100%">'.$eol . '<input type="submit" name="btn_confirmer_envoi" value="' . _T('spiplistes:Envoyer_ce_courrier').'" class="fondo" />'.$eol . '</div>'.$eol . '</div>'.$eol . '</form>' . fin_cadre_couleur(true) ; } } } ///////////////////// // prepare le message statut du courrier if($id_courrier > 0) { $le_type = _T('spiplistes:message_type'); if($statut != _SPIPLISTES_COURRIER_STATUT_REDAC) { if(!empty($email_test)) { $str_destinataire = _T('spiplistes:email_adresse') . " : <span style='font-weight:bold;color:gray;'>$email_test</span>"; } else { if($row = sql_fetsel('titre', 'spip_listes', "id_liste=".sql_quote($id_liste), '', '', 1)) { $str_destinataire = "" . _T('spiplistes:Liste_de_destination') . " : <a href='".generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER, "id_liste=$id_liste")."'>" . typo($row['titre']) . "</a>" . " " . spiplistes_nb_abonnes_liste_str_get($id_liste) ; } else { $str_destinataire = _T('spiplistes:Courriers_sans_liste'); } } } // $str_statut_courrier = ""; switch($statut) { case _SPIPLISTES_COURRIER_STATUT_REDAC: $str_statut_courrier = _T('spiplistes:message_en_cours')."<br />" . ( ($flag_autorise) ? _T('spiplistes:modif_envoi') : "" ) ; break; case _SPIPLISTES_COURRIER_STATUT_READY: $str_statut_courrier = "" . _T('spiplistes:message_presque_envoye') . "<br />" . $str_destinataire . "<br />\n" ; break; case _SPIPLISTES_COURRIER_STATUT_ENCOURS: $str_statut_courrier = "" . _T('spiplistes:message_en_cours')."<br />$str_destinataire<br /><br />" //. "<a href='?exec=spip_listes'>["._T('spiplistes:voir_historique')."]</a>" ; break; case _SPIPLISTES_COURRIER_STATUT_PUBLIE: case _SPIPLISTES_COURRIER_STATUT_AUTO: $str_statut_courrier = "" . "<span>" . "<strong>"._T('spiplistes:message_arch')."</strong></span>" . "<ul>" . " <li>$str_destinataire</li>" . " <li>"._T('spiplistes:envoi_date').affdate_heure($date)."</li>" . " <ul>" . " <li>"._T('spiplistes:envoi_debut').affdate_heure($date_debut_envoi)."</li>" . " <li>"._T('spiplistes:envoi_fin').affdate_heure($date_fin_envoi)."</li>" . " </ul>" . " <li>"._T('spiplistes:nbre_abonnes').$total_abonnes."</li>" . " <ul>" . " <li>"._T('spiplistes:format_html__n', array('n' => $nb_emails_html))."</li>" . " <li>"._T('spiplistes:format_texte__n', array('n' => $nb_emails_texte))."</li>" . " <li>"._T('spiplistes:desabonnes')." : ".$nb_emails_non_envoyes."</li>" . " </ul>" . " <li>"._T('spiplistes:erreur_envoi').$nb_emails_echec."</li>" . "</ul>" ; } // end switch() if(!empty($str_statut_courrier)) { $str_statut_courrier = "<span class='verdana2'>".$str_statut_courrier."</span>"; } } // end if() //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:edition_du_courrier'); // Permet entre autres d'ajouter les classes a la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = "courrier_gerer"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . trim($titre_page), $rubrique, $sous_rubrique)); // la gestion des listes de courriers est reservee aux admins if($connect_statut != "0minirezo") { 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_info_id(_T('spiplistes:Courrier_numero_'), $id_courrier, true) . spiplistes_naviguer_paniers_courriers(_T('spiplistes:aller_au_panier_'), true) //. $boite_documents . 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() . pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) . debut_droite($rubrique, true) ; if($id_courrier > 0) { ///////////////////// // construction du ventre $page_result .= "\n<!-- construction du ventre -->\n" . $message_erreur . debut_cadre_relief(spiplistes_items_get_item('icon', $statut), true) . "<table width='100%' border='0' cellspacing='0' cellpadding='0'>" . "<tr>" . "<td>".spiplistes_gros_titre($titre, spiplistes_items_get_item('puce', $statut), true)."</td>" . "<td rowspan='2' style='vertical-align:top;width:90px;'>" // si besoin, l'un de ces trois boutons apparait . $gros_bouton_modifier . $gros_bouton_arreter_envoi . $gros_bouton_dupliquer ."</td>" . "</tr>\n" . "<tr> " . "<td>" . "<p class='verdana2' style='font-size:120%;color:red;font-weight:bold;'>$le_type</p>\n" . "<p class='verdana2'>$str_statut_courrier</p>\n" . "</td>" . "</tr>\n" . "</table>" . $boite_confirme_envoi . $boite_selection_destinataire . "<br />\n" ; function spiplistes_generer_oeil ($params) { return( " <a href='" . generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_PREVUE, $params) . "' title='"._T('spiplistes:Apercu_plein_ecran')."' target='_blank'>\n" . spiplistes_icone_oeil() . "</a>" ); } // previsu $params = "id_courrier=$id_courrier&id_liste=$id_liste"; $oeil_html = spiplistes_generer_oeil($params. "&lire_base=oui&plein_ecran=oui"); $oeil_texte = spiplistes_generer_oeil($params . "&lire_base=oui&plein_ecran=oui&format=texte"); $page_result .= "" . debut_cadre_couleur('', true) . "<form id='choppe_patron-1' action='$form_action' method='post' name='choppe_patron-1'>\n" . "<div id='previsu-html' class='switch-previsu'>\n" . _T('spiplistes:version_html') . $oeil_html . " / " . "<a href='javascript:jQuery(this).switch_previsu()'>" . _T('spiplistes:version_texte') . $oeil_texte . "<div>\n" . "<iframe class='previsu-edit'" . " src='".generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_PREVUE, $params . "&lire_base=oui") . "' width='100%' height='500'></iframe>\n" . "</div>\n" . "</div>\n" // fin id='previsu-html . "<div id='previsu-texte' class='switch-previsu' style='display:none;'>\n" . "<a href='javascript:jQuery(this).switch_previsu()'>" . _T('spiplistes:version_html') . "</a>\n" . $oeil_html . " / " . _T('spiplistes:version_texte') . "</a> $oeil_texte\n" . "<div>\n" //. "<pre>" . "<iframe class='previsu-edit'" . " src='".generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_PREVUE, $params . "&format=texte&lire_base=oui") ."' width='100%' height='500'></iframe>\n" //. "</pre>" . "</div>\n" . "</div>\n" // fin id='previsu-texte . "</form>\n" . fin_cadre_couleur(true) // // fin de la boite . fin_cadre_relief(true) // . $gros_bouton_supprimer ; } // end if else { $page_result .= (empty($message_erreur)) ? spiplistes_boite_alerte (_T('spiplistes:Erreur_courrier_introuvable'), true) : $message_erreur ; } echo($page_result); // GERER COURRIER: FIN DE PAGE echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , fin_gauche(), fin_page(); } // end function exec_spiplistes_courrier_gerer ()
function exec_spiplistes_liste_gerer () { include_spip('inc/autoriser'); include_spip('inc/mots'); include_spip('inc/lang'); include_spip('inc/editer_auteurs'); include_spip('base/spiplistes_tables'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); include_spip('inc/spiplistes_dater_envoi'); include_spip('inc/spiplistes_naviguer_paniers'); include_spip('inc/spiplistes_listes_selectionner_auteur'); global $meta , $connect_statut , $connect_toutes_rubriques , $connect_id_auteur , $spip_lang_left , $spip_lang_right , $couleur_claire ; // initialise les variables postees par le formulaire foreach(array( 'new' // nouvelle liste si 'oui' , 'id_liste'// si modif dans l'editeur , 'btn_liste_edit', 'titre', 'texte', 'pied_page' // renvoyes par l'editeur , 'btn_modifier_diffusion', 'changer_lang', 'statut' // local , 'btn_modifier_replyto', 'email_envoi' // local , 'btn_modifier_courrier_auto', 'message_auto' // local , 'auto_chrono', 'auto_weekly', 'auto_mois' , 'titre_message', 'patron', 'periode', 'envoyer_maintenant' , 'jour', 'mois', 'annee', 'heure', 'minute' , 'btn_patron_pied', 'btn_grand_patron' // boites gauches , 'btn_valider_forcer_abos', 'forcer_abo', 'forcer_format_abo', 'forcer_format_reception' , 'btn_supprimer_liste' //local ) as $key) { $$key = _request($key); } foreach(array('id_liste', 'periode') as $key) { $$key = intval($$key); } foreach(array('titre', 'texte', 'pied_page') as $key) { $$key = trim(corriger_caracteres($$key)); } $lang = $changer_lang; $cherche_auteur = _request('cherche_auteur'); $debut = _request('debut'); $envoyer_maintenant = ($envoyer_maintenant == 'oui'); $boite_pour_confirmer_envoi_maintenant = $grosse_boite_moderateurs = $message_erreur = $page_result = ""; if(!$id_liste) { ////////////////////////////////////////////////////// // Creer une liste //// // admin lambda peut creer une liste $flag_editable = ($connect_statut == "0minirezo"); if ($btn_liste_edit && ($new=='oui')) { if ($titre == '') { $titre = _T('spiplistes:liste_sans_titre'); } $pied_page = _SPIPLISTES_PATRON_PIED_DEFAUT; if($id_liste = spiplistes_listes_liste_creer(_SPIPLISTES_LIST_PRIVATE, $GLOBALS['spip_lang'] , $titre, $texte, $pied_page)) { spiplistes_log("id_liste #$id_liste added by id_auteur #$connect_id_auteur"); } } } else if($id_liste > 0) { ////////////////////////////////////////////////////// // Modifier une liste //// // les admins toutes rubriques et le moderateur seuls peuvent modifier la liste $flag_editable = autoriser('moderer', 'liste', $id_liste); if($flag_editable) { // Recupere les donnees de la liste courante pour optimiser l'update $sql_select = "statut,titre,date,lang"; $sql_result = sql_select($sql_select, "spip_listes", "id_liste=".sql_quote($id_liste), "", "", "1"); if($row = sql_fetch($sql_result)) { foreach(explode(",", $sql_select) as $key) { $current_liste[$key] = $row[$key]; } } /////////////////////////////////// // Les modifications (sql_upadteq) // A noter, ne pas preparer les valeurs par sql_quote() // sql_upadteq() s'en occupe $sql_champs = array(); // Retour de l'editeur ? if($btn_liste_edit) { $titre = corriger_caracteres($titre); $texte = corriger_caracteres($texte); if(empty($titre)) { $titre = filtrer_entites(_T('spiplistes:Nouvelle_liste_de_diffusion')); } $sql_champs['titre'] = $titre; $sql_champs['texte'] = $texte; } // Modifier le grand patron ? // a partir de 2.0049, le patron de pied est construit par la meleuse // afin de permettre _texte et multilingue if($btn_grand_patron && $patron) { $sql_champs['patron'] = $patron; } // Modifier patron de pied ? if($btn_patron_pied && $patron) { $sql_champs['pied_page'] = $patron; } // Modifier diffusion ? if($btn_modifier_diffusion) { $current_statut = ($statut) ? $statut : $current_liste['statut'] ; spiplistes_debug_log ('Modification diffusion statut: '.$current_statut); // Modifier le statut ? if(in_array($statut, explode(";", _SPIPLISTES_LISTES_STATUTS_TOUS)) && ($statut != $current_liste['statut']) ) { spiplistes_debug_log ('Modification statut: '.$statut); $sql_champs['statut'] = $statut; // si la liste passe en privee, retire les invites if($statut == _SPIPLISTES_LIST_PRIVATE) { $auteur_statut = '6forum'; spiplistes_abonnements_auteurs_supprimer($auteur_statut); spiplistes_log("AUTEURS ($auteur_statut) REMOVED FROM LISTE #$id_liste ($statut) BY ID_AUTEUR #$connect_id_auteur"); } } // Modifier la langue ? if(!empty($lang) && ($lang!=$current_liste['lang'])) { $sql_champs['lang'] = $lang; } } // Modifier l'adresse email de reponse ? if($btn_modifier_replyto && email_valide($email_envoi) && ($email_envoi!=$current_liste['email_envoi'])) { $sql_champs['email_envoi'] = $email_envoi; } //////////////////////////////////// // Modifier message_auto ? // bloc "courriers automatiques" if($btn_modifier_courrier_auto) { $current_statut = ($statut) ? $statut : $current_liste['statut'] ; spiplistes_debug_log ('Modification periodicite statut: '.$current_statut); $envoyer_quand = spiplistes_formate_date_form($annee, $mois, $jour, $heure, $minute); if(time() > strtotime($envoyer_quand)) { // envoi dans le passe est considere comme envoyer maintenant $envoyer_maintenant = true; $date_depuis = $envoyer_quand; $envoyer_quand = false; } // spiplistes_debug_log("nb vrais abos : ".spiplistes_listes_vrais_abos_compter($id_liste)); if($envoyer_maintenant && ($message_auto != 'non')) { if(!spiplistes_listes_vrais_abos_compter($id_liste)) { $boite_pour_confirmer_envoi_maintenant .= spiplistes_boite_alerte(_T('spiplistes:boite_alerte_manque_vrais_abos'), true); } else { $boite_pour_confirmer_envoi_maintenant = "" . debut_cadre_couleur('', true) // formulaire de confirmation envoi . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_LISTES_LISTE), true) . "<p style='text-align:center;font-weight:bold;' class='verdana2'>" . _T('spiplistes:boite_confirmez_envoi_liste') . "</p>" . "<input type='hidden' name='id_liste' value='$id_liste' />\n" . spiplistes_form_bouton_valider('btn_confirmer_envoi_maintenant') . spiplistes_form_fin(true) . fin_cadre_couleur(true) ; } $date_prevue = normaliser_date(time()); } if($message_auto == 'oui') { $sql_champs['message_auto'] = 'oui'; $sql_champs['titre_message'] = $titre_message; $sql_champs['date'] = (!$envoyer_maintenant) ? $envoyer_quand : ''; switch($auto_chrono) { case 'auto_jour': $sql_champs['statut'] = ($current_statut == _SPIPLISTES_LIST_PRIVATE) ? _SPIPLISTES_LIST_PRIV_DAILY : _SPIPLISTES_LIST_PUB_DAILY ; // force au minimum 1 jour $sql_champs['periode'] = (($periode > 0) ? $periode : 1); break; case 'auto_hebdo': if($auto_weekly == 'oui') { // debut de semaine ? $sql_champs['statut'] = ($current_statut == _SPIPLISTES_LIST_PRIVATE) ? _SPIPLISTES_LIST_PRIV_WEEKLY : _SPIPLISTES_LIST_PUB_WEEKLY ; // corrige la date pour le lundi de la semaine $time = strtotime($envoyer_quand); $time = mktime(0,0,0,date("m", $time),date("d", $time)-date("w", $time)+1,date("Y", $time)); $envoyer_quand = date("Y-m-d H:i:s", $time); $sql_champs['date'] = $envoyer_quand; } else { $sql_champs['statut'] = ($current_statut == _SPIPLISTES_LIST_PRIVATE) ? _SPIPLISTES_LIST_PRIV_HEBDO : _SPIPLISTES_LIST_PUB_HEBDO ; } $sql_champs['periode'] = 0; break; case 'auto_mensuel': if($auto_mois == 'oui') { // debut du mois ? $sql_champs['statut'] = ($current_statut == _SPIPLISTES_LIST_PRIVATE) ? _SPIPLISTES_LIST_PRIV_MONTHLY : _SPIPLISTES_LIST_PUB_MONTHLY ; // corrige la date, 1' du mois $envoyer_quand = substr($envoyer_quand, 0, 8)."01 00:00:00"; $sql_champs['date'] = $envoyer_quand; } else { $sql_champs['statut'] = ($current_statut == _SPIPLISTES_LIST_PRIVATE) ? _SPIPLISTES_LIST_PRIV_MENSUEL : _SPIPLISTES_LIST_PUB_MENSUEL ; } $sql_champs['periode'] = 0; break; case 'auto_an': $sql_champs['statut'] = ($current_statut == _SPIPLISTES_LIST_PRIVATE) ? _SPIPLISTES_LIST_PRIV_YEARLY : _SPIPLISTES_LIST_PUB_YEARLY ; $sql_champs['periode'] = 0; break; } } else if($message_auto == 'non') { $sql_champs['message_auto'] = 'non'; $sql_champs['date'] = ''; $sql_champs['periode'] = 0; } } // end if($btn_modifier_courrier_auto) // Enregistre les modifs pour cette liste if(count($sql_champs)) { sql_updateq('spip_listes', $sql_champs, 'id_liste='.sql_quote($id_liste).' LIMIT 1'); } // Forcer les abonnements if($btn_valider_forcer_abos && $forcer_abo && in_array($forcer_abo, array('tous', 'auteurs', '6forum', 'aucun'))) { $forcer_format_reception = (($forcer_format_abo == 'oui') && in_array($forcer_format_reception, spiplistes_formats_autorises())) ? $forcer_format_reception : false ; include_spip('inc/spiplistes_listes_forcer_abonnement'); if(spiplistes_listes_forcer_abonnement ($id_liste, $forcer_abo, $forcer_format_reception) === false) { $message_erreur .= spiplistes_boite_alerte(_T('spiplistes:Forcer_abonnement_erreur'), true); } } } // end if($flag_editable) } ////////////////////////////////////////////////////// // Recharge les donnees la liste $sql_select_array = array('id_liste', 'titre', 'texte' , 'titre_message', 'pied_page', 'date', 'statut', 'maj' , 'email_envoi', 'message_auto', 'periode', 'patron', 'lang'); if($row = spiplistes_listes_liste_fetsel($id_liste, $sql_select_array)) { foreach($sql_select_array as $key) { // initialise les variables du resultat SQL $$key = $row[$key]; } } // les supers-admins et le moderateur seuls peuvent modifier la liste $flag_editable = autoriser('moderer', 'liste', $id_liste); if (empty($titre_message)) { $titre_message = $titre; if (spiplistes_pref_lire_defaut('opt_completer_titre_nom_site', 'oui') == 'oui') { $titre_message .= _T('spiplistes:_de_') . spiplistes_nom_site_texte($lang); } } $nb_abonnes = spiplistes_listes_nb_abonnes_compter($id_liste); // preparation des boutons if($flag_editable) { // Propose de modifier la liste $gros_bouton_modifier = icone ( _T('spiplistes:Modifier_cette_liste') // legende bouton , generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_EDIT,'id_liste='.$id_liste) // lien , _DIR_PLUGIN_SPIPLISTES_IMG_PACK."reply-to-all-24.gif" // image du fond , "edit.gif" // image de la fonction. Ici, le crayon , '' // alignement , false // pas echo, demande retour ) ; // Propose de supprimer la liste $gros_bouton_supprimer = icone ( _T('spiplistes:Supprimer_cette_liste') , generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER, "btn_supprimer_liste=$id_liste&id_liste=$id_liste") , _DIR_PLUGIN_SPIPLISTES_IMG_PACK.'poubelle_msg.gif' , "" , "right" , false ) ; // la grosse boite des abonnes $tri = _request('tri') ? _request('tri') : 'nom'; // // CP-20101017: Si trop d'elligibles, ca gele. // @todo: revoir la boite/liste des abonnes/elligibles // En attendant ... //if(spiplistes_auteurs_elligibles_compter() < 1000) //{ $boite_liste_abonnes = spiplistes_listes_boite_abonnements( $id_liste, $statut, $tri, $debut, _SPIPLISTES_EXEC_LISTE_GERER ); //} //else //{ // $boite_liste_abonnes = _T('spiplistes:code_en_travaux'); //} // @see http://www.spip-contrib.net/SPIP-Listes#comment444314 $titre_boite = _T('spiplistes:abos_cette_liste'); $legend = '<small id="legend-abos1">' . spiplistes_nb_abonnes_liste_str_get($id_liste) . '</small>'.PHP_EOL ; $grosse_boite_abonnements = '' . '<!-- boite abonnes/elligibles -->'.PHP_EOL . debut_cadre_enfonce('auteur-24.gif', true, '', $titre_boite) . spiplistes_bouton_block_depliable($legend , false, md5('abonnes_liste')) . (spiplistes_spip_est_inferieur_193() ? $legend : '') . spiplistes_debut_block_invisible(md5('abonnes_liste')) . debut_cadre_relief('', true) . $boite_liste_abonnes . fin_cadre_relief(true) . fin_block() . fin_cadre_enfonce(true) . '<!-- fin boite abonnes/elligibles -->'.PHP_EOL ; // la grosse boite des moderateurs $boite_liste_moderateurs = spiplistes_listes_boite_moderateurs( $id_liste, _SPIPLISTES_EXEC_LISTE_GERER, 'mods-conteneur' ); $titre_boite = _T('spiplistes:mods_cette_liste'); $nb = spiplistes_mod_listes_compter($id_liste); $legend = '<small>' . spiplistes_nb_moderateurs_liste_str_get($nb) . '</small>'.PHP_EOL ; $grosse_boite_moderateurs = '' . '<!-- boite moderateurs -->'.PHP_EOL . debut_cadre_enfonce('redacteurs-24.gif', true, '', $titre_boite) . spiplistes_bouton_block_depliable($legend , false, md5('mods_liste')) . (spiplistes_spip_est_inferieur_193() ? $legend : '') . spiplistes_debut_block_invisible(md5('mods_liste')) . debut_cadre_relief('', true) . '<div id="mods-conteneur">'.PHP_EOL . $boite_liste_moderateurs . '</div>'.PHP_EOL . fin_cadre_relief(true) . fin_block() . fin_cadre_enfonce(true) . '<!-- fin boite moderateurs -->'.PHP_EOL ; } else { $gros_bouton_modifier = $gros_bouton_supprimer = $grosse_boite_abonnements = ''; } //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:gestion_dune_liste'); // Permet entre autres d'ajouter les classes a la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = 'liste_gerer'; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . ' - ' . $titre_page, $rubrique, $sous_rubrique)); // la gestion des listes de courriers est reservee aux admins if($connect_statut != '0minirezo') { 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) . spiplistes_boite_info_id(_T('spiplistes:liste_numero'), $id_liste, true) . spiplistes_naviguer_paniers_listes(_T('spiplistes:aller_aux_listes_'), true) . spiplistes_boite_patron($flag_editable, $id_liste, _SPIPLISTES_EXEC_LISTE_GERER, 'btn_grand_patron' , _SPIPLISTES_PATRONS_DIR, _T('spiplistes:Patron_grand_') , ($patron ? $patron : '') , $patron) . spiplistes_boite_patron($flag_editable, $id_liste, _SPIPLISTES_EXEC_LISTE_GERER, 'btn_patron_pied' , _SPIPLISTES_PATRONS_PIED_DIR, _T('spiplistes:Patron_de_pied_') , ((($ii = strlen($pied_page)) > _SPIPLISTES_PATRON_FILENAMEMAX) ? _T('taille_octets',array('taille'=>$ii)) . _T('spiplistes:conseil_regenerer_pied') : $pied_page) , $pied_page) . 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() . pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) . debut_droite($rubrique, true) . $message_erreur ; changer_typo('','liste'.$id_liste); // message alerte et demande de confirmation si supprimer liste if(($btn_supprimer_liste > 0) && ($btn_supprimer_liste == $id_liste)) { $page_result .= '' . spiplistes_boite_alerte (_T('spiplistes:Attention_suppression_liste').'<br />'._T('spiplistes:Confirmez_requete'), true) . '<form name="form_suppr_liste" id="form_suppr_liste" method="post" action="'.generer_url_ecrire(_SPIPLISTES_EXEC_LISTES_LISTE, '').'">' . PHP_EOL . "<div class='verdana2' style='text-align:right;'>\n" . "<input type='hidden' name='id_liste' value='$id_liste' />\n" . "<label>"._T('spiplistes:Confirmer_la_suppression_de_la_liste')."# $id_liste : \n" . "<input class='fondo' type='submit' name='btn_supprimer_liste_confirme' value='"._T('bouton_valider')."' /></label>\n" . "</div>\n" . "</form>\n" . "<br />\n" ; } $page_result .= "" . debut_cadre_relief("", true) . "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>\n" . "<tr><td valign='top'>\n" . spiplistes_gros_titre(spiplistes_bullet_titre_liste('puce', $statut, '', true)." " . spiplistes_calculer_balise_titre(extraire_multi($titre)) , '', true) . "</td>" . "<td rowspan='2'>" // le gros bouton modifier si besoin . $gros_bouton_modifier . "</td></tr>\n" . "<tr><td width='100%'>\n" . "<div align='$spip_lang_left' style='padding: 5px; border: 1px dashed #aaa; ' class='verdana1 spip_small'>\n" . propre($texte."~") . "</div>\n" . "</td>\n" . "</tr></table>\n" ; ////////////////////////////////////////////////////// // Modifier le statut de la liste //$email_defaut = entites_html($meta['email_webmaster']); $email_defaut = ($m = email_valide($GLOBALS['meta']['email_defaut'])) ? $m : $GLOBALS['meta']['email_webmaster'] ; $email_envoi = ($m = email_valide($email_envoi)) ? $email_envoi : $email_defaut ; $page_result .= "" //. debut_cadre_relief("racine-site-24.gif", true) . debut_cadre_relief("racine-site-24.gif", true, '', _T('spiplistes:Diffusion').spiplistes_plugin_aide(_SPIPLISTES_EXEC_AIDE, "diffusion")) // //////////////////////////// // Formulaire diffusion . ( ($flag_editable) ? '' . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER,'id_liste='.$id_liste), true) . '<input type="hidden" name="exec" value="listes" />' . PHP_EOL . '<input type="hidden" name="id_liste" value="'.$id_liste.'" />' . PHP_EOL : '' ) . '<span class="verdana2">' . _T('spiplistes:cette_liste_est_' , array('s' => spiplistes_bullet_titre_liste ('puce', $statut, 'img_statut', true))) . '</span>' . PHP_EOL ; $sel_private = ' value="' . _SPIPLISTES_LIST_PRIVATE . '" ' . ( in_array ($statut, array( _SPIPLISTES_LIST_PRIVATE , _SPIPLISTES_LIST_PRIV_DAILY , _SPIPLISTES_LIST_PRIV_HEBDO , _SPIPLISTES_LIST_PRIV_WEEKLY , _SPIPLISTES_LIST_PRIV_MENSUEL , _SPIPLISTES_LIST_PRIV_MONTHLY , _SPIPLISTES_LIST_PRIV_YEARLY ) ) ? ' selected="selected"' : '' ) ; $sel_publique = ' value="' . _SPIPLISTES_LIST_PUBLIC . '" ' . ( in_array ($statut, array( _SPIPLISTES_LIST_PUBLIC , _SPIPLISTES_LIST_PUB_DAILY , _SPIPLISTES_LIST_PUB_HEBDO , _SPIPLISTES_LIST_PUB_WEEKLY , _SPIPLISTES_LIST_PUB_MENSUEL , _SPIPLISTES_LIST_PUB_MONTHLY , _SPIPLISTES_LIST_PUB_YEARLY ) ) ? ' selected="selected"' : '' ) ; $page_result .= PHP_EOL . ( ($flag_editable) ? '' . '<select class="verdana2 fondl" name="statut" size="1" id="change_statut">' . PHP_EOL . '<option' . $sel_private . ' style="background-color:#fff">' . _T('spiplistes:statut_interne') . '</option>' . PHP_EOL . '<option' . $sel_publique . ' style="background-color:#B4E8C5">' . _T('spiplistes:statut_publique') . '</option>' . PHP_EOL . '<option' . mySel(_SPIPLISTES_TRASH_LIST, $statut) . ' style="background:url(' . _DIR_IMG_PACK.'rayures-sup.gif)">' . _T('texte_statut_poubelle').'</option>' . PHP_EOL . '</select>' . PHP_EOL : '<span class="verdana2" style="font-weight:bold;">' . spiplistes_items_get_item('alt', $statut) . '</span>'. PHP_EOL ) . '<div style="margin:10px 0px;">' . PHP_EOL . ( ($flag_editable && strpos($GLOBALS['meta']['langues_multilingue'], ',')) ? '' . '<label class="verdana2" for="changer_lang">' . _T('info_multi_herit').' : </label>' . PHP_EOL . '<select name="changer_lang" class="fondl" id="changer_lang">' . PHP_EOL . liste_options_langues('changer_lang', $lang , _T('spiplistes:langue_'), '', '') . '</select>' . PHP_EOL : '' //. "<span class='verdana2'>". _T('info_multi_herit')." : " //. "<span class='verdana2' style='font-weight:bold;'>".traduire_nom_langue($lang)."</span>\n" ) . '</div>' . PHP_EOL . ( ($flag_editable) ? spiplistes_form_bouton_valider('btn_modifier_diffusion') . spiplistes_form_fin(true) : '' ) . fin_cadre_relief(true) ; //////////////////////////// // Formulaire adresse email pour le reply-to $page_result .= '' . debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."reply_to-24.png" , true , '' , _T('spiplistes:adresse_de_reponse').spiplistes_plugin_aide(_SPIPLISTES_EXEC_AIDE , "replyto") ) . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER,"id_liste=$id_liste"), true) . "<p class='verdana2'>\n" . _T('spiplistes:adresse_mail_retour').":<br />\n" . ( ($flag_editable) ? _T('spiplistes:adresse')."</p>\n" . "<div style='text-align:center'>\n" . "<input type='text' name='email_envoi' value=\"".$email_envoi."\" size='40' class='fondl' /></div>\n" . spiplistes_form_bouton_valider('btn_modifier_replyto') : "</p><p style='font-weight:bold;text-align:center;'>$email_envoi</p>\n" ) . spiplistes_form_fin(true) . fin_cadre_relief(true) ; //////////////////////////// // Formulaire planifier un courrier automatique $page_result .= "" . "<a name='form-programmer' id='form-programmer'></a>\n" . debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."stock_timer.png", true, '', _T('spiplistes:messages_auto') . spiplistes_plugin_aide(_SPIPLISTES_EXEC_AIDE, "temporiser")) ; $page_result .= "" . $boite_pour_confirmer_envoi_maintenant . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER,"id_liste=$id_liste")."#form-programmer", true) . "<table border='0' cellspacing='1' cellpadding='3' width='100%'>\n" . "<tr><td align='$spip_lang_left' class='verdana2'>\n" ; if(empty($patron)) { $page_result .= "" . ( $flag_editable ? spiplistes_boite_alerte(_T('spiplistes:patron_manquant_message'), true) : "<p class='verdana2'>" . _T('spiplistes:liste_sans_patron') . "</p>\n" ) . "</td>\n" . "</tr>\n" . "<tr><td align='$spip_lang_left' class='verdana2'>\n" ; } if ($message_auto != "oui") { $page_result .= "<div class='verdana2'>"._T('spiplistes:pas_denvoi_auto_programme')."</div>\n"; } else { $page_result .= "" // petite ligne d'info si envoi programme . "<p class='verdana2'>"._T('spiplistes:sujet_courrier_auto')."<br />\n" . "<span class='spip_large'> " . spiplistes_calculer_balise_titre(extraire_multi($titre_message)) . "</span></p>\n" . "<p class='verdana2'>" . spiplistes_items_get_item('alt', $statut)."<br />\n" . ( ($statut == _SPIPLISTES_LIST_PUB_MONTHLY) ? "<strong>" . spiplistes_items_get_item("tab_t", $statut) . "</strong><br />" : "" ) . ( ($periode > 0) ? _T('spiplistes:periodicite_tous_les_n_s' , array('n' => " <strong>".$periode."</strong> " , 's' => spiplistes_singulier_pluriel_str_get($periode, _T('spiplistes:jour'), _T('spiplistes:jours'), false) ) ) : "" ) . ( (!in_array($statut, explode(";", _SPIPLISTES_LISTES_STATUTS_PERIODIQUES))) ? " <strong>"._T('spiplistes:Pas_de_periodicite')."</strong><br />" ._T('spiplistes:Ce_courrier_ne_sera_envoye_qu_une_fois') : "" ) . "<br />" . ( (intval($maj)) ? _T('spiplistes:Dernier_envoi_le_') . " <strong>" . affdate_heure($maj) . "</strong>" . ( ($last = round((time() - strtotime($maj)) / _SPIPLISTES_TIME_1_DAY)) ? " (".spiplistes_singulier_pluriel_str_get($last, _T('spiplistes:jour'), _T('spiplistes:jours')).")" : "" ). "<br />" : "" ) . ( ($date_prevue || (intval($date) && (time() < strtotime($date)))) ? _T('spiplistes:prochain_envoi_prevu')." : <strong>" . affdate_heure($date_prevue ? $date_prevue : $date) . "</strong>" . ( (!$date_prevue && ($next = round((strtotime($date) - time()) / _SPIPLISTES_TIME_1_DAY))) ? " (".spiplistes_singulier_pluriel_str_get($next, _T('spiplistes:jour'), _T('spiplistes:jours')).")" : "" ) : "" ) . "</p>\n" ; if($btn_modifier_courrier_auto) { $page_result .= "" . "<p class='verdana2'>"._T('spiplistes:date_act')."<br />" . _T('spiplistes:env_esquel')." <em>".$patron."</em>" . "</p>\n" ; } } $date_debut_envoi = (!empty($date_prevue) ? $date_prevue : (($date && intval($date)) ? $date : normaliser_date(time()))); $page_result .= "" . "</td>\n" . "</tr>\n" ; if($flag_editable) { $page_result .= "" . "<tr><td align='$spip_lang_left' class='verdana2'>" . "<input type='radio' name='message_auto' value='oui' id='auto_oui' " . (empty($patron) ? " disabled='disabled' " : "") . ($auto_checked = ($message_auto=='oui' ? "checked='checked'" : "")) . " />" . "<label for='auto_oui' ".($auto_checked ? "style='font-weight:bold;'" : "").">" . _T('spiplistes:prog_env')."</label>\n" . "<div id='auto_oui_detail' " .((empty($patron) || !$auto_checked) ? "style='display:none;'" : "") .">" . "<ul style='list-style-type:none;'>\n" . "<li>"._T('spiplistes:message_sujet') . ': <input type="text" name="titre_message" value="'.$titre_message.'" size="50" class="fondl" /> </li>'."\n" ; // // chrono jour $ii = ($periode > 0) ? $periode : 1; $page_result .= "" . "<li style='margin-top:0.5em'>" . spiplistes_form_input_radio ('auto_chrono', 'auto_jour' , '' , ($statut == _SPIPLISTES_LIST_PUB_DAILY) , true, false ) . _T('spiplistes:Tous_les') . " <input type='text' name='periode' value='".$ii."' size='4' maxlength='4' class='fondl' /> " . _T('info_jours') . "</li>\n" // chrono hebdo . "<li>" . spiplistes_form_input_radio ('auto_chrono', 'auto_hebdo' , _T('spiplistes:Toutes_les_semaines') , (($statut == _SPIPLISTES_LIST_PUB_HEBDO) || ($statut == _SPIPLISTES_LIST_PUB_WEEKLY)) , true, false) . spiplistes_form_input_checkbox('auto_weekly', 'oui' , _T('spiplistes:en_debut_de_semaine'), ($statut == _SPIPLISTES_LIST_PUB_WEEKLY), true, false) . "</li>\n" // chrono mois . "<li>" . spiplistes_form_input_radio ('auto_chrono', 'auto_mensuel' , _T('spiplistes:Tous_les_mois') , (($statut == _SPIPLISTES_LIST_PUB_MENSUEL) || ($statut == _SPIPLISTES_LIST_PUB_MONTHLY)) , true, false) . spiplistes_form_input_checkbox('auto_mois', 'oui' , _T('spiplistes:en_debut_de_mois'), ($statut == _SPIPLISTES_LIST_PUB_MONTHLY), true, false) . "</li>\n" // chrono annee . "<li>" . spiplistes_form_input_radio ('auto_chrono', 'auto_an' , _T('spiplistes:Tous_les_ans') , ($statut == _SPIPLISTES_LIST_PUB_YEARLY) , true, false) . "</li>\n" . "<li style='margin-top:0.5em'>"._T('spiplistes:A_partir_de')." : <br />\n" // . spiplistes_dater_envoi( 'liste', $id_liste, $statut , $flag_editable , _T('spiplistes:date_expedition_') , $date_debut_envoi, 'btn_changer_date' , false ) . "</li>\n" . ( (!$envoyer_maintenant) ? " <li>" . spiplistes_form_input_checkbox('envoyer_maintenant', 'oui' , _T('spiplistes:env_maint'), false, true) . "</li>\n" : "" ) . "</ul></div>\n" ; $checked = ($message_auto=='non') ? "checked='checked'" : ""; $class = $checked ? "class='bold'" : ""; $disabled = (empty($patron) ? " disabled='disabled' " : ""); $page_result .= "" . "<br /><input type='radio' name='message_auto' value='non' id='auto_non' $disabled $checked />" . "<span $class >" . " <label for='auto_non'>"._T('spiplistes:prog_env_non')."</label> " . "</span>\n" . "</td></tr>\n" ; $page_result .= "" . "<tr><td style='text-align:$spip_lang_right;'>" . ( ($id_liste) ? "<input type='hidden' name='id_liste' value='$id_liste' />" : "" ) . ( ($new) ? "<input type='hidden' name='new' value='$new' />" : "" ) // bouton de validation . (!empty($patron) ? spiplistes_form_bouton_valider('btn_modifier_courrier_auto', _T('bouton_valider'), true) : "") . "</td></tr>" ; } $page_result .= "" . "</table>\n" . spiplistes_form_fin(true) . fin_cadre_relief(true) ; // fin formulaire planifier $page_result .= "" . fin_cadre_relief(true) . $grosse_boite_abonnements . $grosse_boite_moderateurs ; // le super-admin peut abonner en masse if($connect_toutes_rubriques) { $page_result .= "" . "\n<!-- forcer abo -->\n" . debut_cadre_enfonce(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."abonner-24.png", true, '', _T('spiplistes:forcer_les_abonnement_liste').spiplistes_plugin_aide("forcerliste"))."\n" . "<p class='verdana2'>\n" . _T('spiplistes:forcer_abonnement_desc') . "</p>\n" . "<p class='verdana2' style='margin-bottom:1em'><em>" . _T('spiplistes:forcer_abonnement_aide', array('lien_retour' => generer_url_ecrire(_SPIPLISTES_EXEC_ABONNES_LISTE))) . "</em></p>\n" . "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER,"id_liste=$id_liste#auteurs")."' id='form_forcer_abo' name='form_forcer_abo' method='post'>\n" . debut_cadre_relief("", true)."\n" // ////////////////////////// // propose de forcer les membres sauf invites si la liste est privee . ( ($statut==_SPIPLISTES_LIST_PRIVATE) ? "<div class='verdana2'><input type='radio' name='forcer_abo' value='auteurs' id='forcer_abo_tous' />\n" . "<label for='forcer_abo_tous'>"._T('spiplistes:Abonner_tous_les_inscrits_prives')."</label>" . "</div>\n" . spiplistes_boutons_forcer_format('forcer_format', _T('spiplistes:forcer_abonnements_nouveaux')) : "" ) // // propose de forcer les invites si la liste est publique ou periodique . ( (($statut!=_SPIPLISTES_LIST_PRIVATE) && ($statut!=_SPIPLISTES_TRASH_LIST)) ? "<div class='verdana2'><input type='radio' name='forcer_abo' value='6forum' id='forcer_abo_6forum' />\n" . "<label for='forcer_abo_6forum'>"._T('spiplistes:Abonner_tous_les_invites_public')."</label></div>\n" . spiplistes_boutons_forcer_format('forcer_format', _T('spiplistes:forcer_abonnements_nouveaux')) : "" ) . ( ($nb_abonnes) ? "<hr />\n" . "<div class='verdana2'><input type='radio' name='forcer_abo' value='aucun' id='forcer_desabo' />\n" . "<label for='forcer_desabo'>"._T('spiplistes:Forcer_desabonner_tous_les_inscrits')."</label></div>\n" : "" ) . fin_cadre_relief(true)."\n" . "<div style='text-align:right;'><input type='submit' name='btn_valider_forcer_abos' value='"._T('bouton_valider')."' class='fondo' /></div>\n" . "</form>\n" . fin_cadre_enfonce (true)."\n" ; } // $page_result .= "" . $gros_bouton_supprimer ; echo($page_result); echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , fin_gauche(), fin_page(); } // end exec_spiplistes_liste_gerer()
function exec_spiplistes_voir_journal () { static $eol = PHP_EOL; global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur ; // la configuration est réservée aux admins tt rubriques $autoriser = ($connect_statut == "0minirezo") && $connect_toutes_rubriques; $taille_cache = spip_fetch_array(spip_query("SELECT SUM(taille) AS n FROM spip_caches WHERE type='t'")); $message_gauche = ($taille_cache = $taille_cache['n']) ? _T('taille_cache_octets', array('octets' => taille_en_octets($taille_cache))) : _T('taille_cache_vide') ; $message_gauche = '<p class="verdana2">' . $message_gauche . '</p>' . $eol; //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = spiplistes_journal_titre(); // Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = 'voir_journal'; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . ' - ' . trim($titre_page), $rubrique, $sous_rubrique)); if(!$autoriser) { die (spiplistes_terminer_page_non_autorisee() . fin_page()); } $page_result = '' . '<br style="line-height:3em" />' . $eol . spiplistes_gros_titre($titre_page, '', true) . barre_onglets($rubrique, $sous_rubrique) . debut_gauche($rubrique, true) . spiplistes_boite_meta_info(_SPIPLISTES_PREFIX) . $message_gauche . 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() // ne pas gener l'edition . spiplistes_boite_info_spiplistes(true) . pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) . debut_droite($rubrique, true) ; // affiche milieu $page_result .= '' . debut_cadre_trait_couleur("administration-24.gif", true, '', $titre_page) . spiplistes_journal_lire(_SPIPLISTES_PREFIX) . 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(); }
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 _barreOnglets() { if (function_exists($this->obj->prefix . '_ajouter_onglets')) { return barre_onglets($this->obj->prefix, $this->obj->nom); } else { return ''; } }
function exec_spiplistes_listes_toutes(){ include_spip('inc/presentation'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); include_spip('inc/spiplistes_lister_courriers_listes'); include_spip('inc/spiplistes_naviguer_paniers'); include_spip('inc/spiplistes_agenda'); global $connect_statut , $connect_id_auteur ; $flag_editable = ($connect_statut == "0minirezo"); if($flag_editable) { // initialise les variables postees par le formulaire foreach(array( 'btn_supprimer_liste_confirme', 'id_liste' // _SPIPLISTES_EXEC_LISTE_GERER , 'btn_confirmer_envoi_maintenant', 'titre_message' , 'periode_agenda' // local: pour afficher l'agenda ) as $key) { $$key = _request($key); } foreach(array('id_liste', 'periode_agenda') as $key) { $$key = intval($$key); } // envoyer maintenant demande' par _SPIPLISTES_EXEC_LISTE_GERER if($btn_confirmer_envoi_maintenant && ($id_liste > 0)) { $array_set = array( 'date' => 'NOW()' ); if(!spiplistes_listes_liste_modifier($id_liste, $array_set)) { spiplistes_log("ERR: listes_modifier_liste #$id_liste"); } } // suppression demandee par _SPIPLISTES_EXEC_LISTE_GERER if($btn_supprimer_liste_confirme && $id_liste && spiplistes_listes_liste_supprimer($id_liste) ) { spiplistes_log("ID_LISTE #$id_liste DELETED BY ID_AUTEUR #$connect_id_auteur"); } } //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:listes_de_diffusion_'); // Permet entre autres d'ajouter les classes a la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = "listes_toutes"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique)); // la gestion des abonnes est reservee aux admins if(!$flag_editable) { 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_naviguer_paniers_listes(_T('spiplistes:aller_aux_listes_'), true) . spiplistes_boite_agenda($periode_agenda) . 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) ; // MODE LISTES: afficher les listes -------------------------------------------- $page_result .= ""; foreach(explode(";", _SPIPLISTES_LISTES_STATUTS_TOUS) as $statut) { $page_result .= "" . spiplistes_lister_courriers_listes( spiplistes_items_get_item("tab_t", $statut) . ( ($desc = spiplistes_items_get_item("desc", $statut)) ? "<br /><span style='font-weight:normal;'>$desc</span>" : "" ) , spiplistes_items_get_item("icon", $statut) , 'listes' , $statut , false , 'position' , _SPIPLISTES_EXEC_LISTE_GERER ) ; } echo($page_result); echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , fin_gauche(), fin_page(); }
function exec_statistiques_repartition_dist() { global $abs_total, $nombre_vis, $taille, $spip_ecran; if (!autoriser('voirstats')) { include_spip('inc/minipres'); echo minipres(); } else { $taille = _request('taille'); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_statistiques'), "statistiques_visites", "repartition"); echo debut_grand_cadre(true); echo gros_titre(_T('titre_page_statistiques'),'',false); if ($spip_ecran == "large") { $largeur_table = 974; $taille = 550; } else { $largeur_table = 750; $taille = 400; } echo "\n<br /><br /><table width='$largeur_table'><tr><td class='verdana2' style='text-align: center; width: $largeur_table" . "px;'>"; $critere = _request('critere'); if ($critere == "debut") { $critere = "visites"; echo barre_onglets("stat_depuis", "debut"); } else { $critere = "popularite"; echo barre_onglets("stat_depuis", "popularite"); } $abs_total=enfants(0, $critere); if ($abs_total<1) $abs_total=1; $nombre_vis[0] = 0; echo debut_cadre_relief("statistiques-24.gif",true); echo "<div style='border: 1px solid #aaaaaa; border-bottom: 0px;'>"; enfants_aff(0,$taille, $critere); echo "</div><br />", "<div class='verdana3' style='text-align: left;'>", _T('texte_signification'), "</div>"; echo fin_cadre_relief(true); echo "</td></tr></table>"; echo fin_grand_cadre(true),fin_page(); } }