function inc_iconifier_dist($id_objet, $id, $script, $visible=false, $flag_modif=true) { if ($GLOBALS['spip_display'] == 4) return ""; $texteon = $GLOBALS['logo_libelles'][($id OR $id_objet != 'id_rubrique') ? $id_objet : 'id_racine']; $chercher_logo = charger_fonction('chercher_logo', 'inc'); // Add the redirect url when uploading via iframe $iframe_script = generer_url_ecrire('iconifier',"type=$id_objet&$id_objet=$id&script=$script",true); $iframe = "<input type='hidden' name='iframe_redirect' value='".rawurlencode($iframe_script)."' />\n"; $logo = $chercher_logo($id, $id_objet, 'on'); $logo_s = $chercher_logo($id, $id_objet, 'off'); if (!$logo) { if ($flag_modif AND $GLOBALS['meta']['activer_logos'] != 'non') { $masque = indiquer_logo($texteon, $id_objet, 'on', $id, $script, $iframe); $masque = "<div class='cadre_padding'>$masque</div>"; $bouton = bouton_block_depliable($texteon, $visible, "on-$id_objet-$id"); $res = debut_block_depliable($visible,"on-$id_objet-$id") . $masque . fin_block(); } } else { list($img, $clic) = decrire_logo($id_objet,'on',$id, 170, 170, $logo, $texteon, $script, $flag_modif AND !$logo_s); $bouton = bouton_block_depliable($texteon, $visible, "on-$id_objet-$id"); $survol = ''; $texteoff = _T('logo_survol'); if (!$logo = $logo_s) { if ($flag_modif AND $GLOBALS['meta']['activer_logos_survol'] == 'oui') { $masque = "<br />".indiquer_logo($texteoff, $id_objet, 'off', $id, $script, $iframe); $survol .= "<br />".block_parfois_visible("off-$id_objet-$id", $texteoff, $masque, null, $visible); } $masque = debut_block_depliable($visible,"on-$id_objet-$id") . "<div class='cadre_padding'>" . $clic . $survol . "</div>" . fin_block(); } else { list($imgoff, $clicoff) = decrire_logo($id_objet, 'off', $id, 170, 170, $logo, $texteoff, $script, $flag_modif); $masque = debut_block_depliable($visible, "off-$id_objet-$id") . $clicoff . fin_block(); $survol .= "<br />".bouton_block_depliable($texteoff, $visible, "off-$id_objet-$id") . "<div class='cadre_padding'>".$imgoff.$masque."</div>"; $masque = debut_block_depliable($visible,"on-$id_objet-$id") . $clic . fin_block() . $survol; } $res = "$img$masque"; } if ($res) { $res = debut_cadre('r', 'image-24.gif', '', $bouton, '', '', false) . $res . fin_cadre_relief(true); if(_request("exec")!="iconifier") { $js = http_script('', 'async_upload.js') . http_script('$("form.form_upload_icon").async_upload(async_upload_icon)'); } else $js = ""; return ajax_action_greffe("iconifier", $id, $res).$js; } else return ''; }
function action_rapide_tri_auteurs($id_article=0) { spip_log("action_rapide_tri_auteurs : $id_article, $id_auteur, $monter"); $id = $id_article?$id_article:_request('id_article'); include_spip('public/assembler'); // pour recuperer_fond(), SPIP < 2.0 $texte = trim(recuperer_fond('fonds/tri_auteurs', array('id_article'=>$id))); // syntaxe : ajax_action_auteur($action, $id, $script, $args='', $corps=false, $args_ajax='', $fct_ajax='') if(strlen($texte)) // un clic sur 'monter' ou 'descendre' va permettre une redirection vers // les fonctions : boites_privees_URL_objet_exec(), puis action_rapide_tri_auteurs() $texte = ajax_action_auteur('action_rapide', 'tri_auteurs', 'articles', "arg=boites_privees|URL_objet&fct=tri_auteurs&id_article=$id#bp_tri_auteurs_corps", $texte); // si appel exec, l'id article est nul... if(!$id_article) return $texte; // ici, 1er affichage ! if(!strlen($texte)) return ''; // SPIP < 2.0 if(!defined('_SPIP19300')) return debut_cadre_relief(find_in_path('img/couteau-24.gif'), true) . cs_div_configuration() . "<div class='verdana1' style='text-align: left;'>" . block_parfois_visible('bp_ta', '<b>'._T('couteau:tri_auteurs').'</b>', "<div id='bp_tri_auteurs_corps'>$texte</div>", 'text-align: center;') . "</div>" . fin_cadre_relief(true); // SPIP >= 2.0 return cadre_depliable(find_in_path('img/couteau-24.gif'), cs_div_configuration().'<b>'._T('couteau:tri_auteurs').'</b>', false, // true = deplie "<div id='bp_tri_auteurs_corps'>$texte</div>", 'bp_tri_auteurs'); }
function configuration_bloc_votre_site() { $adresse_site = entites_html($GLOBALS['meta']["adresse_site"]); $nom_site = entites_html($GLOBALS['meta']["nom_site"]); $email_webmaster = entites_html($GLOBALS['meta']["email_webmaster"]); $descriptif_site = entites_html($GLOBALS['meta']["descriptif_site"]); return debut_cadre_relief("", true, "", "<label for='nom_site'>"._T('info_nom_site')."</label>".aide ("confnom")) . "<input type='text' name='nom_site' id='nom_site' value=\"$nom_site\" size='40' class='forml' />" . fin_cadre_relief(true) . debut_cadre_relief("", true, "", "<label for='adresse_site'>"._T('info_adresse_url')."</label>") . "<input type='text' name='adresse_site' id='adresse_site' value=\"$adresse_site/\" size='40' class='forml' />" . fin_cadre_relief(true) . debut_cadre_relief("", true, "","<label for='descriptif_site'>". _T('entree_description_site')."</label>") . "<textarea name='descriptif_site' id='descriptif_site' class='forml' rows='4' cols='40'>$descriptif_site</textarea>" . fin_cadre_relief(true) . "<div> </div>" . debut_cadre_relief("", true, "", "<label for='email_webmaster'>"._T('info_email_webmestre')."</label>") . "<input type='text' name='email_webmaster' id='email_webmaster' value=\"$email_webmaster\" size='40' class='formo' />" . fin_cadre_relief(true); }
function exec_documents_liste_dist() { // // Recupere les donnees // $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_documents_liste'), "naviguer", "documents"); echo debut_gauche('', true); ////////////////////////////////////////////////////// // Boite "voir en ligne" // echo debut_boite_info(true); echo propre(_T('texte_recapitiule_liste_documents')); echo fin_boite_info(true); echo debut_droite('', true); // recupere les titres des types $res = sql_select('extension, titre', "spip_types_documents"); while ($row = sql_fetch($res)) $types[$row['extension']] = $row; $result = sql_select("docs.id_document AS id_doc, docs.extension AS extension, docs.fichier AS fichier, docs.date AS date, docs.titre AS titre, docs.descriptif AS descriptif, R.id_rubrique AS id_rub, R.titre AS titre_rub", "spip_documents AS docs, spip_documents_liens AS lien, spip_rubriques AS R", "docs.id_document = lien.id_document AND R.id_rubrique = lien.id_objet AND lien.objet='rubrique' AND docs.mode = 'document'", "", "docs.date DESC"); while ($row=sql_fetch($result)){ $titre=$row['titre']; $descriptif=$row['descriptif']; $date=$row['date']; $id_document=$row['id_doc']; $id_rubrique=$row['id_rub']; $titre_rub = typo($row['titre_rub']); $fichier = $row['fichier']; if (!$titre) $titre = _T('info_document').' '.$id_document; debut_cadre_relief("doc-24.gif"); echo "<b>$titre</b> (" . $types[$row['extension']]['titre'] . ', ' . affdate($date) . ")"; if ($descriptif) echo propre($descriptif); else echo "<p><tt>$fichier</tt>" . '</p>'; echo "<p>"._T('info_dans_rubrique')." <a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>$titre_rub</a></p>"; echo fin_cadre_relief(true); } echo fin_gauche(), fin_page(); }
function cs_description_pack() { if(!isset($GLOBALS['cs_pack_actuel'])) return ''; return debut_cadre_relief('', true) . "<h3 class='titrem'><img src='"._DIR_IMG_PACK."puce-verte.gif' width='9' height='9' alt='-' /> " . _T('couteauprive:pack_titre') . '</h3>' . ((strlen($temp = cs_action_rapide('pack')))?"<div class='cs_action_rapide' id='cs_action_rapide'>$temp</div>":'') . propre(_T('couteauprive:pack_descrip', array('pack'=> _T('couteauprive:pack_actuel', array('date'=>cs_date())))) . "\n\n" . _T('couteauprive:contrib', array('url'=>'[->'._URL_CONTRIB.'2552]'))) . '<br/><textarea rows=40 cols=500 style="width:100%; font-size:90%;">'.htmlentities($GLOBALS[cs_pack_actuel], ENT_QUOTES, $GLOBALS['meta']['charset']).'</textarea>' . fin_cadre_relief(true); }
function configuration_redirection_dist() { global $spip_lang_left; $res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">" . "<tr><td class='verdana2'>" . _T('config_info_redirection') . "</td></tr>" . "<tr><td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_redirection', $GLOBALS['meta']["articles_redirection"], array('oui' => _T('item_oui'), 'non' => _T('item_non'))) . "</td></tr>\n" . "</table>\n"; $res = debut_cadre_relief("", true, "", _T('config_redirection').aide ("artvirt")) . ajax_action_post('configurer', 'redirection', 'configuration','',$res) . fin_cadre_relief(true); return ajax_action_greffe('configurer-redirection', '', $res); }
function configuration_futurs_dist() { global $spip_lang_left; $res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">" . "<tr><td class='verdana2'>" . _T('texte_publication_articles_post_dates') . "</td></tr>" . "<tr><td align='$spip_lang_left' class='verdana2'>" . afficher_choix('post_dates', $GLOBALS['meta']["post_dates"], array('oui' => _T('item_publier_articles'), 'non' => _T('item_non_publier_articles'))) . "</td></tr>\n" . "</table>\n"; $res = debut_cadre_relief("", true, "", _T('titre_publication_articles_post_dates').aide ("confdates")) . ajax_action_post('configurer', 'futurs', 'configuration','',$res) . fin_cadre_relief(true); return ajax_action_greffe('configurer-futurs', '', $res); }
function spiplistes_auteur_abonnement () { $id_auteur = intval(_request('id_auteur')); if($id_auteur > 0) { //if($row = sql_fetsel("email,statut", "spip_auteurs", "id_auteur=".sql_quote($id_auteur)." LIMIT 1")) { if ($row = spiplistes_auteurs_auteur_select ('email,statut' , 'id_auteur='.sql_quote($id_auteur) ) ) { if($row['statut'] == '5poubelle') { // le compte est supprime'. Desabonner de tout spiplistes_abonnements_auteur_desabonner($id_auteur); } else { if(strlen($auteur_email = $row['email']) > 3) { $result = spiplistes_auteur_abonnement_details($id_auteur, $row['statut'], $auteur_email); } else { $result = '' . debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'courriers_listes-24.png' , true , '' , _T('spiplistes:abonnements_aux_courriers') ) . '<p class="verdana2">' . _T('spiplistes:Adresse_email_obligatoire') . '</p>' . fin_cadre_relief(true) ; } } } } return($result); }
function configuration_transcodeur_dist() { $charset = $GLOBALS['meta']["charset"]; $res = _T('texte_jeu_caractere') . "<blockquote class='spip'>\n<p>" . _T('texte_jeu_caractere_3') . "</p>\n<div style='text-align: center'><b><tt>" .entites_html($charset) ."</tt></b></div><p>" ."<label for='charset'>" ._T('texte_jeu_caractere_4') ."</label>" ." <input type='text' name='charset' id='charset' value=\"".entites_html($charset)."\" />" . "<br />\n(". _T('texte_jeu_caractere_2').")" . "</p></blockquote>\n"; // faudrait dire si le charset est inconnu // ca eviterait l'erreur sur array_flip dans inc/charsets if ($charset != 'utf-8' AND load_charset($charset)) $res .= _T('texte_jeu_caractere_conversion', array('url' => generer_url_ecrire('convert_utf8')) ); $res = ajax_action_post('configurer', 'transcodeur', 'config_lang', '', $res); $res = debut_cadre_relief("breve-24.gif", true, "", _T('info_jeu_caractere')) . $res . fin_cadre_relief(true); return ajax_action_greffe("configurer-transcodeur", '', $res); }
function action_spiplistes_lire_console_dist () { global $auteur_session; if($auteur_session['statut'] != "0minirezo") { include_spip('inc/spiplistes_api'); die (spiplistes_terminer_page_non_autorisee()); return(false); } include_spip('inc/spiplistes_api_presentation'); $result = "" . "<div style='margin-top:0.5em;'>" . debut_cadre_relief("", true, "", "Logs") . "<pre style='width:98%;overflow:auto'>".spiplistes_console_lit_log("spiplistes")."</pre>\n" . fin_cadre_relief(true) . "</div>\n" ; echo($result); return(true); }
function spiplistes_boite_agenda ($periode = false) { $result = '' . '<!-- boite agenda spiplistes -->' . PHP_EOL . debut_cadre_relief('statistiques-24.gif', true) . '<span class="verdana2 titre-petite-boite">' . _T('spiplistes:boite_agenda_titre_').':' . '</span><br />' . '<div style="width:'._SPIPLISTES_AGENDA_CADRE_WIDTH.'px;height:' . (_SPIPLISTES_AGENDA_LOUPE_HEIGHT + _SPIPLISTES_AGENDA_CAPTION_HEIGHT + _SPIPLISTES_AGENDA_TABLE_HEIGHT + (_SPIPLISTES_AGENDA_CADRE_PADDING * 4) ) . 'px">' . PHP_EOL . '<div id="spiplistes_boite_agenda" style="padding:'._SPIPLISTES_AGENDA_CADRE_PADDING.'px 0">' . PHP_EOL . spiplistes_boite_agenda_contenu($periode, self(), _DIR_IMG_PACK) . '</div>' . PHP_EOL . '</div>' . PHP_EOL . fin_cadre_relief(true) . '<!-- fin boite agenda spiplistes -->' . PHP_EOL ; return($result); }
function exec_rec_mc_dist(){ // elements spip global $connect_statut, $connect_toutes_rubriques, $connect_id_auteur, $couleur_claire, $couleur_foncee; //#plug(11-07) : fonctions requises...(construction de la liste des rubriques, ...) include_spip("inc/rec_mc_inc_fonct"); //#plug(11-07) : Initialisation de l'id rubrique . Mis a -1 pour le premier affichage $rub = -1; //#plug(11-07) : Recupération de l'id rubrique si $_post if (isset($_POST['rub'])) $rub = $_POST['rub']; elseif (isset($_GET['rub'])) $rub = $_GET['rub']; $Refresh = ""; if (isset($_POST['refresh'])) { $Refresh = $_POST['refresh']; } elseif (isset($_GET['refresh'])) { $Refresh = $_GET['refresh']; } //#plug(11-07) : construction des "blocs" include_spip("inc/rec_mc_inc_pres"); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('rmc:titre_page_admin'), "suivi", "rec_mc"); echo "<a name='haut_page'></a><br />"; echo gros_titre(_T('rmc:titre_page_admin'),'',false); echo debut_gauche('', true); //#plug(11-07) : TODO : Etat des lieux... menu_admin() ; creer_colonne_droite(); //#plug(11-07) : vers popup aide bloc_ico_aide_ligne(); //#plug(11-07) : signature echo "<br />"; echo debut_boite_info(true); echo _T('rmc:signature'); echo fin_boite_info(true); echo "<br />"; echo debut_droite('', true); echo debut_cadre_relief( _DIR_IMG_REC_MC."rec_mc-24.png"); echo gros_titre(_T('rmc:titre_config'),'',false); echo _T('rmc:info_config'); echo "<br />"; //#plug(11-07) : verif de l'existence d'au moins une rubrique $r=mysql_query("SELECT * FROM spip_rubriques"); $nb_r=mysql_num_rows($r); //#plug(11-07) : verif de l'existence d'au moins un groupe de mots $g=mysql_query("SELECT * FROM spip_groupes_mots"); $nb_g=mysql_num_rows($g); if($nb_r==0){ echo debut_boite_erreur(_T('rmc:erreur_rubrique')) ; }else if($nb_g==0){ echo debut_boite_erreur(_T('rmc:erreur_groupes_mots')) ; }else{ //#plug(11-07) : Selectionner une rubrique echo debut_cadre_trait_couleur('',true, '', _T('rmc:rubriques')); echo _T('rmc:text_select_rubrique')." <br /><br />"; echo "<form action=\" ".$PHP_SELF." \" method=\"POST\">"; //#plug(11-07) : Commentaire Dom : ma ligne qui merde !!!! ne merde plus!!!!!!!!!!!!!! echo "<select style=\"width:100%;\" name=\"rub\" onchange=\"window.location=('".generer_url_ecrire("rec_mc","rub='+this.options[this.selectedIndex].value").")\">"; if ($rub == -1) echo "<option value=\"-1\" selected><b>"._T('rmc:select_rubrique')."</b>"; else echo "<option value=\"-1\"><b>"._T('rmc:select_rubrique')."</b>"; if ($rub == 0) echo "<option value=\"0\" selected style=\"font-weight:bold\">"._T('rmc:select_ttes_rubriques'); else echo "<option value=\"0\" style=\"font-weight:bold\">"._T('rmc:select_ttes_rubriques'); $query = "SELECT id_parent FROM spip_rubriques order by titre"; $result=spip_query($query); while($row=spip_fetch_array($result)){ $parent_parent=$row['id_parent']; } getenfant(0,$rub); echo "</select><BR>\n"; echo "</form>"; echo fin_cadre_trait_couleur(true); } $idgroupeprec = 0; if ($rub != -1) { echo debut_cadre_trait_couleur ('', true, '', _T('rmc:groupes_mots')); //#plug(11-07) : formulaire - envoi du traitement vers action/rec_mc_ajoutgroupes echo '<form action="'.generer_url_action('rec_mc_ajoutgroupes').'" method="post">'; echo "<input type='hidden' name='redirect' value='".generer_url_ecrire("rec_mc", "rub=".$rub)."' />\n"; echo "<input type='hidden' name='hash' value='".calculer_action_auteur("ajoutgroupes-rien")."' />\n"; echo "<input type='hidden' name='id_auteur' value='".$connect_id_auteur."' />\n"; echo "<input type='hidden' name='rub' value='$rub'>"; if ($rub > -1) { $sql = "SELECT spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre AS titremot, spip_mots.id_mot as id_mot, spip_rmc_rubs_groupes.id_rubrique AS idrub FROM spip_groupes_mots INNER JOIN spip_mots ON spip_mots.id_groupe = spip_groupes_mots.id_groupe INNER JOIN spip_rmc_rubs_groupes ON spip_rmc_rubs_groupes.id_groupe = spip_groupes_mots.id_groupe WHERE id_rubrique = $rub GROUP BY spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre ORDER BY spip_groupes_mots.id_groupe"; } $result = spip_query($sql); $aff_groupes_select=""; $listidgrp = ""; $compt = 0; $nbr = 0; if ($result) { while ($row = mysql_fetch_assoc($result)) { extract($row); if ($idgroupeprec != $id_groupe) { $aff_groupes_select.=" <br /><div style=\"background-color:#ccc; border:1px solid ".$couleur_foncee."; font-size:1.2em; font-weight:bold\"><input type=checkbox name=\"idgrp[]\" value=\"$id_groupe\" checked />$titre</div>"; $nbr = ++$nbr; if ($compt == 0) { $listidgrp .= "$id_groupe"; $compt = 1; $nb_groupes = ++$ng; } else $listidgrp .= ",$id_groupe"; } $s="SELECT id_mot_exclu FROM spip_rmc_mots_exclus WHERE id_mot_exclu=$id_mot AND id_rubrique=$rub"; $r=spip_query($s); $rw=spip_fetch_array($r); if($rw['id_mot_exclu']==$id_mot){ $aff_groupes_select.= "<div style=\"border:1px solid ".$couleur_foncee."; background-color:#eee; font-size:.9em;height:18px;\" ><span style='float:right;color:red;font-weight:bold;'>"._T('rmc:mot_exclu')."<input type=checkbox name='motsexclus[]' value='$id_mot' style='margin:0 2px;padding:0;' checked='checked' /></span> $titremot</div>"; }else{ $aff_groupes_select.= "<div style=\"border:1px solid ".$couleur_foncee."; background-color:#eee; font-size:.9em;height:18px;\" ><span style='float:right;color:red;'>"._T('rmc:mot_exclure')."<input type=checkbox name='motsexclus[]' value='$id_mot' style='margin:0 2px;padding:0;'/></span> $titremot</div>"; } $idgroupeprec = $id_groupe; } mysql_free_result($result); } if ($rub > -1) { if ($listidgrp != "") $sql = "SELECT spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre AS titremot FROM spip_groupes_mots INNER JOIN spip_mots ON spip_mots.id_groupe = spip_groupes_mots.id_groupe WHERE spip_groupes_mots.id_groupe not IN ($listidgrp) GROUP BY spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre ORDER BY spip_groupes_mots.id_groupe"; else $sql = "SELECT spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre AS titremot FROM spip_groupes_mots INNER JOIN spip_mots ON spip_mots.id_groupe = spip_groupes_mots.id_groupe GROUP BY spip_groupes_mots.titre, spip_groupes_mots.id_groupe, spip_mots.titre ORDER BY spip_groupes_mots.id_groupe"; } $result = spip_query($sql); $idgroupeprc = 0; $aff_groupes_noselected = ""; $j=0; if ($result) { while ($row = mysql_fetch_assoc($result)) { extract($row); if ($idgroupeprec != $id_groupe) { $aff_groupes_noselected.=" <br /><div style=\"background-color:#ccc; border:1px solid ".$couleur_foncee."; font-size:1.2em; font-weight:bold\"><input type=checkbox name=\"idgrp[]\" value=\"$id_groupe\">$titre</div>"; $nb_groupes_at = ++$j; } $aff_groupes_noselected.= "<div style=\"border:1px solid ".$couleur_foncee."; background-color:#eee; font-size:.9em\" > $titremot</div>"; $idgroupeprec = $id_groupe; } mysql_free_result($result); } //#plug(11-07) : Affichage //#plug(11-07) : Affichage des groupes attribues (deja selectionnes) if($nbr >0){ echo debut_cadre_relief(_DIR_IMG_PACK."groupe-mot-24.gif"); debut_band_titre($couleur_foncee, "verdana3", "bold"); if($idrub==0 ){ echo _T('rmc:groupes_toutes_rubriques'); }else{ echo _T('rmc:groupes_mots_attribues'); } echo fin_bloc(); echo "$aff_groupes_select"; echo fin_cadre_relief(); } //#plug(11-07) : Affichage des groupes non attribues debut_cadre_relief(_DIR_IMG_PACK."groupe-mot-24.gif"); if($nb_groupes_at >0){ debut_band_titre($couleur_foncee, "verdana3", "bold"); echo _T('rmc:groupes_mots_non_attribues'); echo fin_bloc(); }else{ echo _T('rmc:groupes_mots_tous_attribues'); } echo $aff_groupes_noselected; echo fin_cadre_relief(); echo "<input type=\"submit\" name=\"refresh\" value=\"Valider\">"; echo "</form>"; echo fin_cadre_trait_couleur(true); } echo fin_cadre_relief(); echo fin_gauche().fin_page();//fin page }//finexec
function exec_admin_galettonuts() { // Seuls les super-admins sont authorisés réaliser des synchros, // et par conséquent de configurer le plugin if (!('0minirezo' === $GLOBALS['auteur_session']['statut'] && $GLOBALS['connect_toutes_rubriques'])) { echo minipres(_T('avis_non_acces_page')); exit; } $erreurs = array(); $icone_base = _DIR_PLUGIN_GALETTONUTS . 'img_pack/galettonuts-sql_status-'; $icone_src = 'config-168.png'; $icone_title = _T('galettonuts:icone_db_config'); include_spip('inc/galettonuts_fonctions'); // Lecture de la configuration if (!class_exists('L2_Spip_Plugin_Metas')) { include_spip('lib/L2/Spip/Plugin/Metas.class'); } $config = new L2_Spip_Plugin_Metas('galettonuts_config'); $contexte = $config->lire(); $activer_cron = array_key_exists('activer_cron', $contexte) ? $contexte['activer_cron'] : true; // {{{ Traitement des données reçues if (_request('_galettonuts_ok')) { $champs = array('adresse_db' => _request('adresse_db'), 'login_db' => _request('login_db'), 'pass_db' => _request('pass_db'), 'prefix_db' => _request('prefix_db'), 'choix_db' => _request('choix_db')); // Des champs sont-ils vides ? $champs = array_map('trim', $champs); if (false === (!in_array(null, $champs) || !in_array('', $champs))) { $erreurs[] = _T('galettonuts:texte_erreur_1'); } // Activer la synchronisation automatique ? if ('oui' == _request('activer_cron')) { $activer_cron = true; } else { $activer_cron = false; } if ($activer_cron) { $champs['heures'] = intval(_request('heures')); $champs['minutes'] = intval(_request('minutes')); $synchro = new L2_Spip_Plugin_Metas('galettonuts_synchro'); $frequence = 3600 * $champs['heures'] + 60 * $champs['minutes']; if ($frequence !== $synchro->lire('frequence')) { $synchro->ajouter(array('frequence' => $frequence), true); $fichier = '<?php define(\'_GALETTONUTS_DELAIS_CRON\', ' . $frequence . '); ?>'; ecrire_fichier(_DIR_TMP . 'galettonuts_cron.php', $fichier, true); unset($fichier); } } else { // On s'assure de bien supprimer le fichier de vérouillage // pour forcer la resynchronisation tenant compte de la nouvelle // configuration. if (file_exists(_DIR_TMP . 'galettonuts_cron.lock')) { unlink(_DIR_TMP . 'galettonuts_cron.lock'); } if (file_exists(_DIR_TMP . 'galettonuts_cron.php')) { unlink(_DIR_TMP . 'galettonuts_cron.php'); } } $contexte['activer_cron'] = $activer_cron; // Prise en compte dans le contexte $contexte = array_merge($contexte, $champs); unset($champs); // Test de connexion à la BDD Galette if (!count($erreurs)) { $link = galettonuts_galette_db($contexte['adresse_db'], $contexte['login_db'], $contexte['pass_db']); if (-1 === $link) { $erreurs[] = _T('galettonuts:avis_connexion_echec_1'); $icone_src = 'error-168.png'; $icone_title = _T('galettonuts:icone_db_erreur'); } else { if (-2 === galettonuts_galette_db($contexte['choix_db'], $link)) { $erreurs[] = _T('galettonuts:avis_connexion_echec_2'); $icone_src = 'error-168.png'; $icone_title = _T('galettonuts:icone_db_erreur'); } else { $icone_src = 'ok-168.png'; $icone_title = _T('galettonuts:icone_db_ok'); $contexte['db_ok'] = true; } } if (0 < $link) { mysql_close($link); } unset($link); } // Interraction avec Accès Restreint if (defined('_DIR_PLUGIN_ACCESRESTREINT')) { if ($config->existe('zones')) { galettonuts_dissocier_zones($config->lire('zones')); } $zones = _request('zones'); if (is_array($zones) && 0 < count($zones)) { $contexte['zones'] = $zones; } else { $config->supprimer(array('zones' => null)); unset($contexte['zones']); } unset($zones); } // Mémorisation de la configuration à la base de données Galette if (!count($erreurs)) { $config->ajouter($contexte, true); } // Lancer une synchronisation if (0 == count($erreurs)) { galettonuts_synchroniser(true); } } else { if (!empty($contexte['adresse_db']) && !empty($contexte['login_db']) && !empty($contexte['pass_db'])) { $link = galettonuts_galette_db($contexte['adresse_db'], $contexte['login_db'], $contexte['pass_db']); if (0 > $link) { $icone_src = 'error-168.png'; $icone_title = _T('galettonuts:icone_db_erreur'); $config->ajouter(array('db_ok' => false)); } else { $icone_src = 'ok-168.png'; $icone_title = _T('galettonuts:icone_db_ok'); $config->ajouter(array('db_ok' => true)); mysql_close($link); unset($link); } } } // }}} // {{{ Affichage // Haut de page $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('galettonuts:titre_page_admin'), '', 'galettonuts'), '<br/><br/><br/>'; gros_titre(_T('galettonuts:titre_admin')); // Boîte d'informations debut_gauche(); debut_boite_info(); echo _T('galettonuts:texte_info_admin'); fin_boite_info(); // Message(s) d'erreur(s) debut_droite(); if ($c = count($erreurs)) { if (1 == $c) { $erreur_titre = _T('galettonuts:texte_erreur'); $erreur_texte = (string) $erreurs[0]; } else { $erreur_titre = _T('galettonuts:texte_erreurs'); $erreur_texte = '<ul>'; for ($i = 0; $c < $i; ++$i) { $erreur_texte .= '<li>' . $erreurs[$i] . '</li>'; } $erreur_texte .= '</ul>'; } echo '<div style="background-color:#fee;color:red;border:1px solid red;padding:.5em;margin-bottom:25px" class="verdana2"><strong>', $erreur_titre, '</strong> :<br />', $erreur_texte, '</div>'; } echo generer_url_post_ecrire('admin_galettonuts'); // Accès à la BDD debut_cadre_trait_couleur('base-24.gif', false, '', _T('galettonuts:info_bdd')); echo '<div style="float:right;width:175px" class="verdana2">', _T('galettonuts:texte_info_bdd'), '<div>', '<div style="position:absolute;bottom:35px;width:168px;height:168px">', '<img src="', $icone_base, $icone_src, '" width="168" height="168" alt="" title="', $icone_title, '" />', '</div>', '</div>', '</div>'; echo '<div style="width:298px">'; debut_cadre_couleur(); echo '<p><label for="adresse_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_adresse'), '</label><br/>', '<input type="text" name="adresse_db" value="', $contexte['adresse_db'], '" id="adresse_db" class="fondl" style="width:278px" tabindex="504"/>', '</p>'; echo '<p><label for="login_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_login'), '</label><br/>', '<input type="text" name="login_db" value="', $contexte['login_db'], '" id="login_db" class="fondl" style="width:278px" tabindex="508"/>', '</p>'; echo '<p><label for="pass_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_mdp'), '</label><br/>', '<input type="password" name="pass_db" value="', $contexte['pass_db'], '" id="pass_db" class="fondl" style="width:278px" tabindex="512"/>', '</p>'; echo '<p><label for="prefix_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_prefix'), '</label><br/>', '<input type="text" name="prefix_db" value="', $contexte['prefix_db'], '" id="prefix_db" class="fondl" style="width:278px" tabindex="516"/>', '</p>'; echo '<p><label for="choix_db" style="font-weight:bold;cursor:pointer">', _T('galettonuts:entree_db_choix'), '</label><br/>', '<input type="text" name="choix_db" value="', $contexte['choix_db'], '" id="choix_db" class="fondl" style="width:278px" tabindex="520"/>', '</p>'; fin_cadre_couleur(); echo '</div>'; echo '<div style="text-align:right;padding:0 2px;margin-top:.5em" id="buttons">', '<input type="submit" name="_galettonuts_ok" value="', _T('bouton_valider'), '" class="fondo" style="cursor:pointer" tabindex="560"/></div>'; fin_cadre_trait_couleur(); // Synchronisation automatique echo '<br />'; debut_cadre_relief('synchro-24.gif', false, '', _T('galettonuts:info_cron')); echo '<p class="verdana2">', _T('galettonuts:texte_info_cron'), '</p>'; echo '<p class="verdana2">', '<label', $activer_cron ? ' style="font-weight:bold"' : '', '>', '<input type="radio" name="activer_cron" value="oui" id="activer_cron_oui" tabindex="602" ', $activer_cron ? ' checked="checked" ' : '', 'onclick="changeVisible(this.checked, \'config-cron\', \'block\', \'none\');"', '/>', _T('galettonuts:entree_cron_utiliser'), '</label><br />', '<label', !$activer_cron ? ' style="font-weight:bold"' : '', '>', '<input type="radio" name="activer_cron" value="non" id="activer_cron_non" tabindex="604" ', !$activer_cron ? ' checked="checked" ' : '', 'onclick="changeVisible(this.checked, \'config-cron\', \'none\', \'block\');"', '/>', _T('galettonuts:entree_cron_utiliser_non'), '</label>', '</p>'; echo '<div id="config-cron"', !$activer_cron ? ' style="display:none"' : '', '><hr />'; echo '<p class="verdana2">', _T('galettonuts:frequence'), '</p>'; echo '<p class="verdana2" style="text-align:center">', '<input type="text" name="heures" value="', $contexte['heures'], '" id="cron_heures" size="2" maxlength="2" tabindex="606" class="fondl" style="text-align:right"/>', '<label for="cron_heures" style="font-weight:bold;cursor:pointer">', _T('galettonuts:heures'), '</label>', '<input type="text" name="minutes" value="', $contexte['minutes'], '" id="cron_minutes" size="2" maxlength="2" tabindex="606" class="fondl" style="text-align:right"/>', '<label for="cron_minutes" style="font-weight:bold;cursor:pointer">', _T('galettonuts:minutes'), '</label>', '</p>'; echo '</div>'; echo '<div style="text-align:right;padding:0 2px;margin-top:.5em" id="buttons">', '<input type="submit" name="_galettonuts_ok" value="', _T('bouton_valider'), '" class="fondo" style="cursor:pointer" tabindex="660"/></div>'; fin_cadre_relief(); // Liaison avec le plugin Accès restreint if (defined('_DIR_PLUGIN_ACCESRESTREINT')) { $zones = spip_query("SELECT `id_zone`, `titre`, `descriptif` FROM `spip_zones` WHERE 1;"); if (spip_num_rows($zones)) { global $couleur_foncee; $i = 0; $zone['num'] = _T('accesrestreint:colonne_id'); $zone['titre'] = _T('accesrestreint:titre'); $zone['descriptif'] = _T('accesrestreint:descriptif'); $tabindex = 700; $tab_zones = <<<HTML <table class="arial2" border="0" cellpadding="2" cellspacing="0" style="width:100%;border:1px solid #AAA;"> <thead> <tr style="background-color:{$couleur_foncee};color:#fff;font-weight=bold"> <th scope="col" style="text-align:left;padding-left:5px;padding-right:5px" width="40">{$zone['num']}</th> <th scope="col" style="text-align:left;border-left:1px inset #fff;padding-left:5px;padding-right:5px">{$zone['titre']}</th> <th scope="col" style="text-align:left;border-left:1px inset #fff;padding-left:5px;padding-right:5px">{$zone['descriptif']}</th> <th scope="col" style="text-align:center;border-left:1px inset #fff;padding-left:5px;padding-right:5px" width="16"> </th> </tr> </thead> <tbody> HTML; while ($zone = spip_fetch_array($zones)) { ++$tabindex; $bgcolor = alterner(++$i, '#FEFEFE', '#EEE'); if (array_key_exists('zones', $contexte)) { $checked = in_array($zone['id_zone'], $contexte['zones']) ? ' checked="checked"' : ''; } else { $checked = ''; } $tab_zones .= <<<HTML <tr style="background-color:{$bgcolor}"> <td style="text-align:left;padding-left:5px;padding-right:5px">{$zone['id_zone']}</td> <td style="text-align:left;padding-left:5px;padding-right:5px">{$zone['titre']}</td> <td style="text-align:left;padding-left:5px;padding-right:5px">{$zone['descriptif']}</td> <td style="text-align:center"> <input type="checkbox" name="zones[]" value="{$zone['id_zone']}" class="fondl" tabindex="{$tabindex}"{$checked} /> </td> </tr> HTML; } $tab_zones .= '</tbody></table>'; echo '<br />'; debut_cadre_relief(_DIR_PLUGIN_ACCESRESTREINT . 'img_pack/zones-acces-24.gif', false, '', _T('galettonuts:info_liaison_access_restreint')); echo '<p class="verdana2">', _T('galettonuts:texte_liaison_access_restreint_1'), '</p>'; echo '<p class="verdana2">', _T('galettonuts:texte_liaison_access_restreint_2'), '</p>'; echo $tab_zones; echo '<div style="text-align:right;padding:0 2px;margin-top:.5em" id="buttons">', '<input type="submit" name="_galettonuts_ok" value="', _T('bouton_valider'), '" class="fondo" style="cursor:pointer" tabindex="760"/></div>'; fin_cadre_relief(); } } echo '</form>'; // Fin de page echo fin_gauche() . fin_page(); // }}} }
function configuration_locuteur_dist() { global $spip_lang_right; include_spip('inc/lang_liste'); $langues = $GLOBALS['codes_langues']; $cesure = floor((count($langues) + 1) / 2); $langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']); $langues_autorisees = explode(',', $GLOBALS['meta']['langues_multilingue']); while (list(,$l) = each ($langues_installees)) { $langues_trad[$l] = true; } while (list(,$l) = each ($langues_autorisees)) { $langues_auth[$l] = true; } $l_bloquees_tmp = explode(',',$GLOBALS['meta']['langues_utilisees']); while (list(,$l) = each($l_bloquees_tmp)) { $langues_bloquees[$l] = true; } $res = "<p class='verdana2'>" . _T('info_multi_langues_choisies') . '</p>' . "\n<table width='100%' cellspacing='10'><tr><td style='width: 50%' class='verdana1'>"; $i=0; while (list($code_langue) = each($langues_bloquees)) { $i++; $nom_langue = $langues[$code_langue]; if ($langues_trad[$code_langue]) $nom_langue = "<span style='text-decoration: underline'>$nom_langue</span>"; $res .= "\n<div class='langues_bloquees'>"; $res .= "\n<input type='hidden' name='langues_auth[]' id='langue_auth_$code_langue' value='$code_langue' />"; $res .= "\n<input type='checkbox' checked='checked' disabled='disabled' />"; $res .= "<label for='langue_auth_$code_langue'>" . $nom_langue ."\n <span style='color: #777777'>[$code_langue]</span></label>"; $res .= "</div>"; if ($i == $cesure) $res .= "\n</td><td style='width: 50%' class='verdana1'>"; } $res .= "\n<div> </div>"; while (list($code_langue, $nom_langue) = each($langues)) { if ($langues_bloquees[$code_langue]) continue; $i++; $res .= "\n<div>"; if ($langues_trad[$code_langue]) $nom_langue = "<span style='text-decoration: underline'>$nom_langue</span>"; if ($langues_auth[$code_langue]) { $res .= "<input type='checkbox' name='langues_auth[]' id='langue_auth_$code_langue' value='$code_langue' checked='checked' />"; $nom_langue = "<b>$nom_langue</b>"; } else { $res .= "<input type='checkbox' name='langues_auth[]' id='langue_auth_$code_langue' value='$code_langue' />"; } $res .= "\n<label for='langue_auth_$code_langue'>$nom_langue <span style='color: #777777'>[$code_langue]</span></label>"; $res .= "</div>"; if ($i == $cesure) $res .= "</td><td style='width: 50%' class='verdana1'>"; } $res .= "</td></tr></table>" . "<div class='verdana1'>"._T("info_multi_langues_soulignees")."</div>"; $res = debut_cadre_relief("langues-24.gif", true) . ajax_action_post('configurer', 'locuteur', 'config_multilang', '', $res) . fin_cadre_relief(true); return ajax_action_greffe("configurer-locuteur", '', $res); }
function player_petite_boite_info () { include_spip('inc/plugin'); if ($GLOBALS['spip_version_code']>=15133) include_spip('plugins/afficher_plugin'); $get_infos = ($GLOBALS['spip_version_code']>=15133)?charger_fonction('get_infos','plugins'):'plugin_get_infos'; // Compatibilite SPIP 2.1 $info = $get_infos(_DIR_PLUGIN_PLAYER); $titre = _T(_PLAYER_LANG.'player_nom'); $result = "" . debut_cadre_relief('plugin-24.gif', true, '', $titre) . affiche_bloc_plugin(_DIR_PLUGIN_PLAYER, $info) . fin_cadre_relief(true) ; return($result); }
function galettonuts_formulaire_synchro() { global $spip_lang_left, $spip_lang_right; include_spip('inc/config'); // Détermine si on dépli le cadre if ('oui' == _request('galettonuts_synchro_ok')) { $visibilite = 'visible'; } else { $visibilite = 'invisible'; } $return = debut_cadre_couleur('synchro-24.gif', true, '', call_user_func('bouton_block_' . $visibilite, 'galettonuts_synchro') . _T('galettonuts:titre_formulaire_synchro')); $return .= call_user_func('debut_block_' . $visibilite, 'galettonuts_synchro'); // Le plugin n'a pas encore été configuré if (!class_exists('L2_Spip_Plugin_Metas')) { include_spip('lib/L2/Spip/Plugin/Metas.class'); } $config = new L2_Spip_Plugin_Metas('galettonuts_config'); if (!$config || !$config->lire('db_ok')) { $return .= debut_cadre_relief('', true); $return .= http_img_pack('warning.gif', _T('info_avertissement'), 'style="width:48px;height:48px;float:right;margin:5px;"'); $return .= '<p class="verdana2"><strong>'; $return .= _T('galettonuts:configuration_manquante'); $return .= '</strong><br />'; $return .= _T('galettonuts:configuration_lien', array('url' => generer_url_ecrire('admin_galettonuts'))); $return .= '</p>'; $return .= fin_cadre_relief(true); $return .= fin_block(); $return .= fin_cadre_couleur(true); return $return; } unset($config); // Affichage des erreurs if ($statut = (int) _request('code_retour')) { switch ($statut) { // Une erreur inconnue est survenue. case 0: $msg = '<p class="verdana2"><strong>' . _T('info_avertissement') . '</strong><br />'; $msg .= _T('galettonuts:etat_synchro_erreur') . '</p>'; $alt = _T('info_avertissement'); $img = _DIR_PLUGIN_GALETTONUTS . 'img_pack/error-48.png'; break; // Des erreurs sont survenues lors de la connexion à la BDD. // Des erreurs sont survenues lors de la connexion à la BDD. case -2: $msg = '<p class="verdana2"><strong>' . _T('info_avertissement') . '</strong><br />'; $msg .= _T('galettonuts:etat_synchro_erreur_bdd') . '</p>'; $alt = _T('info_avertissement'); $img = _DIR_PLUGIN_GALETTONUTS . 'img_pack/error-48.png'; break; // La synchronisation a échouée. // La synchronisation a échouée. case -1: $msg = '<p class="verdana2"><strong>' . _T('info_avertissement') . '</strong><br />'; $msg .= _T('galettonuts:etat_synchro_echec') . '</p>'; $alt = _T('info_avertissement'); $img = _DIR_PLUGIN_GALETTONUTS . 'img_pack/error-48.png'; break; // La synchronisation est inutile. // La synchronisation est inutile. case -10: $msg = '<p class="verdana2"><strong>' . _T('galettonuts:info_information') . '</strong><br />'; $msg .= _T('galettonuts:etat_synchro_inutile') . '</p>'; $alt = _T('galettonuts:info_information'); $img = _DIR_PLUGIN_GALETTONUTS . 'img_pack/information-48.png'; break; // La synchronisation s'est déroulée correctement // La synchronisation s'est déroulée correctement default: $msg = '<p class="verdana2"><strong>' . _T('galettonuts:info_information') . '</strong><br />'; $msg .= _T('galettonuts:etat_synchro_ok', array('nb' => $statut)) . '</p>'; $alt = _T('galettonuts:info_information'); $img = _DIR_PLUGIN_GALETTONUTS . 'img_pack/information-48.png'; break; } $return .= debut_cadre_relief('', true); $return .= http_img_pack($img, $alt, 'style="width:48px;height:48px;float:right;margin:5px;"'); $return .= $msg; $return .= fin_cadre_relief(true); } $voir_statut = _request('statut'); if ($voir_statut) { $voir_statut = '&statut=' . $voir_statut; } $action = generer_action_auteur('galettonuts_cron_manuel', 'galettonuts-0.1&' . $voir_statut, 'auteurs'); $return .= '<p class="verdana2">' . _T('galettonuts:texte_synchro_manuelle') . '</p>'; $return .= '<form action="' . $action . '" method="post>"'; $return .= form_hidden($action); // Dernière mise à jour $synchro = new L2_Spip_Plugin_Metas('galettonuts_synchro'); if ('' != ($maj = $synchro->lire('maj'))) { $return .= '<p class="verdana2">' . _T('galettonuts:derniere_maj', array('annee' => date('Y', $maj), 'mois' => date('m', $maj), 'jour' => date('d', $maj), 'heures' => date('G', $maj), 'minutes' => date('i', $maj), 'secondes' => date('s', $maj))); $return .= '</p>'; } // Bouton de validation $return .= '<div style="text-align:right;padding:0 2px;margin-top:.5em" id="buttons">'; $return .= '<input type="submit" name="_galettonuts_ok" value="' . _T('galettonuts:entree_synchroniser') . '" class="fondo" style="cursor:pointer"/></div>'; $return .= '</form>'; $return .= fin_block(); $return .= fin_cadre_couleur(true); return $return; }
function spiplistes_boite_patron ($flag_editable, $id_liste , $exec_retour, $nom_bouton_valider, $chemin_patrons, $titre_boite = "" , $msg_patron = false, $patron = "") { // bloc selection patron $result = "" . debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."patron-24.png", true) . "<div class='verdana1' style='text-align: center;'>\n" ; $titre_boite = "<strong>$titre_boite</strong>\n"; if($flag_editable) { // inclusion du script de gestion des layers de SPIP if(($patron === true) || (is_string($patron) && empty($patron))) { $result .= "" . spiplistes_bouton_block_depliable ($titre_boite, true, md5($nom_bouton_valider)) . (spiplistes_spip_est_inferieur_193() ? $titre_boite : "") . spiplistes_debut_block_visible(md5($nom_bouton_valider)) ; } else { $result .= "" . spiplistes_bouton_block_depliable ($titre_boite, false, md5($nom_bouton_valider)) . (spiplistes_spip_est_inferieur_193() ? $titre_boite : "") . spiplistes_debut_block_invisible(md5($nom_bouton_valider)) ; } } else { $result .= $titre_boite; } if($flag_editable) { $result .= "\n" . "<form action='".generer_url_ecrire($exec_retour, "id_liste=$id_liste")."' method='post' style='margin:1ex;'>\n" . spiplistes_boite_selection_patrons ($patron, true, $chemin_patrons) . "<div style='margin-top:1em;text-align:right;'><input type='submit' name='$nom_bouton_valider' value='"._T('bouton_valider')."' class='fondo' /></div>\n" . "</form>\n" . fin_block() ; } else { } $result .= "\n" . "<div style='text-align:center'>\n" . ($msg_patron ? $msg_patron : "<span style='color:gray;'><"._T('spiplistes:aucun')."></span>\n") . "</div>\n" . "</div>\n" . fin_cadre_relief(true); ; return($result); }
function choix_feed($id_syndic, $id_rubrique, $nom_site, $row) { global $spip_lang_left, $spip_lang_right; if (!preg_match(',^\s*select: (.*),', $row['url_syndic'], $regs)) return ''; $res = ""; foreach (array('id_rubrique', 'nom_site', 'url_site', 'descriptif', 'statut') as $var) { $res .= "<input type='hidden' name='$var' value=\"".entites_html($$var)."\" />\n"; } $res .= "<div style='text-align: $spip_lang_left'>\n"; $res .= "<div><input type='radio' name='syndication' value='non' id='syndication_non' checked='checked' />"; $res .= " <b><label for='syndication_non'>"._T('bouton_radio_non_syndication')."</label></b></div>\n"; $res .= "<div><input type='radio' name='syndication' value='oui' id='syndication_oui' />"; $res .= " <label for='syndication_oui'>"._T('bouton_radio_syndication')."</label></div>\n"; $res .= "<select name='url_syndic' id='url_syndic'>\n"; foreach (explode(' ',$regs[1]) as $feed) { $res .= '<option value="'.entites_html($feed).'">'.$feed."</option>\n"; } $res .= "</select>\n"; $res .= aide("rubsyn"); $res .= "<div style='text-align: $spip_lang_right'><input type='submit' value='"._T('bouton_valider')."' /></div>\n"; $res .= "</div>\n"; $res = redirige_action_post('editer_site', $id_syndic, 'sites','', $res); return debut_cadre_relief('', true) . $res . fin_cadre_relief(true); }
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_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 bouton_proposer_article($id_article,$statut_article){ $ret = ""; if ($statut_article=='prepa' AND $id_auteur = $GLOBALS["visiteur_session"]["id_auteur"] AND $GLOBALS["visiteur_session"]["statut"] == "1comite" AND autoriser('modifier', 'article', $id_article) AND sql_fetsel("id_article", "spip_auteurs_articles", "id_article=".intval($id_article)." AND id_auteur=".intval($id_auteur))) { $ret .= debut_cadre_relief("", true); $ret .= "<div class='verdana3' style='text-align: center;'>"; $ret .= "<div>"._T("texte_proposer_publication")."</div>"; $ret .= bouton_action(_T("bouton_demande_publication"), generer_action_auteur('instituer_article', "$id_article-prop", self()), '', _T('confirm_changer_statut')); $ret .= "</div>"; $ret .= fin_cadre_relief(true); } return $ret; }
function cadre_stat($stats, $table, $id_article) { if (!$stats) return ''; return debut_cadre_relief("statistiques-24.gif", true) . join('', $stats) . fin_cadre_relief(true) . statistiques_mode($table, $id_article); }
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 http_affiche_message($id_message, $expediteur, $statut, $type, $texte, $titre, $rv, $date_heure, $date_fin, $cherche_auteur, $forcer_dest) { global $connect_id_auteur,$connect_statut, $les_notes; if ($type == 'normal') { $le_type = _T('info_message_2').aide ("messut"); $la_couleur = "#02531b"; $fond = "#cffede"; } else if ($type == 'pb') { $le_type = _T('info_pense_bete').aide ("messpense"); $la_couleur = "#3874b0"; $fond = "#edf3fe"; } else if ($type == 'affich') { $le_type = _T('info_annonce'); $la_couleur = "#ccaa00"; $fond = "#ffffee"; } // affichage des caracteristiques du message echo "<div style='border: 1px solid $la_couleur; background-color: $fond; padding: 5px;'>"; // debut cadre de couleur //echo debut_cadre_relief("messagerie-24.gif", true); echo "\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>"; echo "<tr><td>"; # uniques echo "<span style='color: $la_couleur' class='verdana1 spip_small'><b>$le_type</b></span><br />"; echo "<span class='verdana1 spip_large'><b>$titre</b></span>"; if ($statut == 'redac') { echo "<br /><span style='color: red;' class='verdana1 spip_small'><b>"._T('info_redaction_en_cours')."</b></span>"; } else if ($rv == 'non') { echo "<br /><span style='color: #666666;' class='verdana1 spip_small'><b>".nom_jour($date_heure).' '.affdate_heure($date_heure)."</b></span>"; } ////////////////////////////////////////////////////// // Message avec participants // if ($type == 'normal') $total_dest = http_message_avec_participants($id_message, $statut, $forcer_dest, $cherche_auteur, $expediteur); if ($rv != "non") http_afficher_rendez_vous($date_heure, $date_fin); ////////////////////////////////////////////////////// // Le message lui-meme // echo "\n<br />" . "<div class='serif'>$texte</div>"; if ($les_notes) { echo debut_cadre_relief('', true); echo "<div dir=" . lang_dir() ."' class='arial11'>"; echo justifier("<b>"._T('info_notes')." :</b> ".$les_notes); echo "</div>"; echo fin_cadre_relief(true); } if ($expediteur == $connect_id_auteur AND $statut == 'redac') { if ($type == 'normal' AND $total_dest < 2) { echo "<p style='color: #666666; text-align: right;' class='verdana1 spip_small'><b>"._T('avis_destinataire_obligatoire')."</b></p>"; } else { echo "\n<div class='centered'>"; echo icone_inline(_T('icone_envoyer_message'), redirige_action_auteur('editer_message', "$id_message/publie", "message","id_message=$id_message"), "messagerie-24.gif", "creer.gif"); echo "</div>"; } } echo "</td></tr></table>\n"; // echo "</td></tr></table>\n"; //echo fin_cadre_relief(true); echo "</div>"; // fin du cadre de couleur // Les boutons $aut = ($expediteur == $connect_id_auteur); $aff = ($type == 'affich' AND $connect_statut == '0minirezo'); echo "\n<table width='100%'><tr><td>"; // bouton de suppression if ($aut AND ($statut == 'redac' OR $type == 'pb') OR $aff) { echo icone_inline(_T('icone_supprimer_message'), redirige_action_auteur("editer_message","-$id_message", 'messagerie'), "messagerie-24.gif", "supprimer.gif", 'left'); } // bouton retrait de la discussion if ($statut == 'publie' AND $type == 'normal') { echo icone_inline(_T('icone_arret_discussion'), redirige_action_auteur("editer_message","$id_message/-$connect_id_auteur", 'messagerie', "id_message=$id_message"), "messagerie-24.gif", "supprimer.gif", 'left'); } // bouton modifier ce message if ($aut OR $aff) { echo icone_inline(_T('icone_modifier_message'), (generer_url_ecrire("message_edit","id_message=$id_message")), "messagerie-24.gif", "edit.gif", 'right'); } echo "</td></tr></table>"; }
function auteur_infos_ok($auteur, $id_auteur, $echec, $new, $redirect) { $auteur_infos = charger_fonction('auteur_infos', 'inc'); $fiche = $auteur_infos($auteur, $new, $echec, _request('edit'), intval(_request('lier_id_article')), $redirect, 'infos'); if ($fiche) $form_auteur = $auteur_infos($auteur, $new, $echec, _request('edit'), intval(_request('lier_id_article')), $redirect, 'edit'); else $form_auteur = ''; echo cadre_auteur_infos($id_auteur, $auteur); // Interface de logo $iconifier = charger_fonction('iconifier', 'inc'); if ($id_auteur > 0) echo $iconifier('id_auteur', $id_auteur, 'auteur_infos', false, autoriser('modifier', 'auteur', $id_auteur)); // nouvel auteur : le hack classique else if ($fiche) echo $iconifier('id_auteur', 0 - $GLOBALS['visiteur_session']['id_auteur'], 'auteur_infos'); echo pipeline('affiche_gauche', array('args' => array ( 'exec'=>'auteur_infos', 'id_auteur'=>$id_auteur), 'data'=>'') ); echo creer_colonne_droite('', true); echo pipeline('affiche_droite', array('args' => array( 'exec'=>'auteur_infos', 'id_auteur'=>$id_auteur), 'data'=>'') ); echo debut_droite('', true); echo debut_cadre_relief("redacteurs-24.gif", true,'','','auteur-voir'); // $fiche est vide si on demande par exemple // a creer un auteur alors que c'est interdit if ($fiche) { echo $fiche; } else { echo gros_titre(_T('info_acces_interdit'),'', false); } echo pipeline('affiche_milieu', array('args' => array( 'exec'=>'auteur_infos', 'id_auteur'=>$id_auteur), 'data'=>'')); echo fin_cadre_relief(true); // afficher le formulaire d'edition apres le cadre d'info // pour pouvoir afficher soit les infos, // soit ce formulaire (qui a deja son cadre) echo $form_auteur; }
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_articles_versions_args($id_article, $id_version, $id_diff) { global $spip_lang_left, $spip_lang_right; if (!autoriser('voirrevisions', 'article', $id_article) OR !$row = sql_fetsel("*", "spip_articles", "id_article=".sql_quote($id_article))){ include_spip('inc/minipres'); echo minipres(); return; } include_spip('inc/suivi_versions'); include_spip('inc/presentation'); include_spip('inc/revisions'); // recuperer les donnees actuelles de l'article $id_article = $row["id_article"]; $id_rubrique = $row["id_rubrique"]; $titre = $row["titre"]; $statut_article = $row["statut"]; $lang = $row["lang"]; // Afficher le debut de la page (y compris rubrique) $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('info_historique')." « $titre »", "naviguer", "articles", $id_rubrique); echo debut_grand_cadre(true); echo afficher_hierarchie($id_rubrique); echo fin_grand_cadre(true); ////////////////////////////////////////////////////// // Affichage de la colonne de gauche // echo debut_gauche('', true); echo bloc_des_raccourcis(icone_horizontale(_T('icone_retour_article'), generer_url_ecrire("articles","id_article=$id_article"), "article-24.gif","rien.gif", false) . icone_horizontale(_T('icone_suivi_revisions'), generer_url_ecrire("suivi_revisions",""), "historique-24.gif","rien.gif", false)); ////////////////////////////////////////////////////// // Affichage de la colonne de droite // echo debut_droite('', true); $lang_dir = lang_dir(changer_typo($lang)); // // recuperer les donnees versionnees // $last_version = false; if (!$id_version) { $id_version = $row['id_version']; $last_version = true; } $textes = revision_comparee($id_article, $id_version, 'complet', $id_diff); unset($id_rubrique); # on n'en n'aura besoin que si on affiche un diff // // Titre, surtitre, sous-titre // $debut = $corps = ''; if (is_array($textes)) foreach ($textes as $var => $t) { switch ($var) { case 'id_rubrique': $debut .= "<div dir='$lang_dir' class='arial1 spip_x-small'>" . $t . "</div>\n"; break; case 'surtitre': case 'soustitre': $debut .= "<div dir='$lang_dir' class='arial1 spip_medium'><b>" . propre_diff($t) . "</b></div>\n"; break; case 'titre': $debut .= gros_titre(propre_diff($t), puce_statut($statut_article, " style='vertical-align: center'"), false); break; // trois champs a affichage combine case 'descriptif': case 'url_site': case 'nom_site': if (!$vudesc++) { $debut .= "<div style='text-align: $spip_lang_left; padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' dir='$lang_dir'>"; $texte_case = ($textes['descriptif']) ? "{{"._T('info_descriptif')."}} ".$textes['descriptif']."\n\n" : ''; $texte_case .= ($textes['nom_site'].$textes['url_site']) ? "{{"._T('info_urlref')."}} [".$textes['nom_site']."->".$textes['url_site']."]" : ''; $debut .= "<span class='verdana1 spip_small'>" . propre($texte_case). "</span>"; $debut .= "</div>"; } break; default: $corps .= "<div dir='$lang_dir' class='champ contenu_$var'>" . "<div class='label'>$var</div>" . "<div class='$var'>" . propre_diff($t) . "</div></div>\n"; break; } } echo '<div id="contenu">'; echo debut_cadre_relief('', true); echo "\n<table id='diff' cellpadding='0' cellspacing='0' border='0' width='100%'>"; echo "<tr><td style='width: 100%' valign='top'>"; echo $debut; echo "</td><td>"; // Icone de modification if (autoriser('modifier', 'article', $id_article)) echo icone_inline( _T('icone_modifier_article').'<br />('._T('version')." $id_version)", generer_url_ecrire("articles_edit", "id_article=$id_article".((!$last_version)?"&id_version=$id_version":"")), "article-24.gif", "edit.gif", $spip_lang_right ); echo "</td>"; echo "</tr></table>"; echo fin_cadre_relief(true); ////////////////////////////////////////////////////// // Affichage des versions // $result = sql_select("id_version, titre_version, date, id_auteur", "spip_versions", "id_article=".sql_quote($id_article)." AND id_version>0", "", "id_version DESC"); echo debut_cadre_relief('', true); $zapn = 0; $lignes = array(); $points = '...'; $tranches = 10; while ($row = sql_fetch($result)) { $res = ''; // s'il y en a trop on zappe a partir de la 10e // et on s'arrete juste apres celle cherchee if ($zapn++ > $tranches AND abs($id_version - $row['id_version']) > $tranches<<1) { if ($points) { $lignes[]= $points; $points = ''; } if ($id_version > $row['id_version']) break; continue; } $date = affdate_heure($row['date']); $version_aff = $row['id_version']; $titre_version = typo($row['titre_version']); $titre_aff = $titre_version ? $titre_version : $date; if ($version_aff != $id_version) { $lien = parametre_url(self(), 'id_version', $version_aff); $lien = parametre_url($lien, 'id_diff', ''); $res .= "<a href='".($lien.'#diff')."' title=\""._T('info_historique_affiche')."\">$titre_aff</a>"; } else { $res .= "<b>$titre_aff</b>"; } if (is_numeric($row['id_auteur']) AND $t = sql_getfetsel('nom', 'spip_auteurs', "id_auteur=" . intval($row['id_auteur']))) { $res .= " (".typo($t).")"; } else { $res .= " (".$row['id_auteur'].")"; #IP edition anonyme } if ($version_aff != $id_version) { $res .= " <span class='verdana2'>"; if ($version_aff == $id_diff) { $res .= "<b>("._T('info_historique_comparaison').")</b>"; } else { $lien = parametre_url(self(), 'id_version', $id_version); $lien = parametre_url($lien, 'id_diff', $version_aff); $res .= "(<a href='".($lien.'#diff'). "'>"._T('info_historique_comparaison')."</a>)"; } $res .= "</span>"; } $lignes[]= $res; } if ($lignes) { echo "<ul class='verdana3'><li>\n"; echo join("\n</li><li>\n", $lignes); echo "</li></ul>\n"; } ////////////////////////////////////////////////////// // Corps de la version affichee // echo "\n\n<div id='wysiwyg' style='text-align: justify;'>$corps"; // notes de bas de page if (strlen($GLOBALS['les_notes'])) echo "<div class='champ contenu_notes'> <div class='label'>"._T('info_notes')."</div> <div class='notes' dir='$lang_dir'>" .$GLOBALS['les_notes'] ."</div></div>\n"; echo "</div>\n"; echo fin_cadre_relief(true); echo '</div>'; // /#contenu echo fin_gauche(), fin_page(); }
function configuration_articles_dist(){ global $spip_lang_left; $articles_surtitre = $GLOBALS['meta']["articles_surtitre"]; $articles_soustitre = $GLOBALS['meta']["articles_soustitre"]; $articles_descriptif = $GLOBALS['meta']["articles_descriptif"]; $articles_chapeau = $GLOBALS['meta']["articles_chapeau"]; $articles_texte = $GLOBALS['meta']["articles_texte"]; $articles_ps = $GLOBALS['meta']["articles_ps"]; $articles_redac = $GLOBALS['meta']["articles_redac"]; $articles_urlref = $GLOBALS['meta']["articles_urlref"]; $res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">" . "<tr><td colspan='2' class='verdana2'>" . _T('texte_contenu_articles') . "</td></tr>" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_surtitre') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_surtitre', $articles_surtitre, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_sous_titre') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_soustitre', $articles_soustitre, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_descriptif') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_descriptif', $articles_descriptif, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_chapeau_2') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_chapeau', $articles_chapeau, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . typo(_T('info_texte').':') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_texte', $articles_texte, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_post_scriptum_2') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_ps', $articles_ps, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_date_publication_anterieure') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_redac', $articles_redac, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "<tr>" . "<td align='$spip_lang_left' class='verdana2'>" . _T('info_urlref') . "</td>" . "<td align='$spip_lang_left' class='verdana2'>" . afficher_choix('articles_urlref', $articles_urlref, array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ") . "</td></tr>\n" . "</table>"; $res = debut_cadre_relief("", true, "", _T('info_contenu_articles').aide ("confart")) . ajax_action_post('configurer', 'articles', 'configuration','',$res) . fin_cadre_relief(true); return ajax_action_greffe('configurer-articles', '', $res); }
function exec_messagerie_dist() { global $connect_id_auteur, $connect_statut, $spip_lang_rtl; $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_messagerie'), "accueil", "messagerie"); echo debut_gauche("messagerie",true); echo debut_boite_info(true); echo _T('info_gauche_messagerie'); echo "<p>".http_img_pack("m_envoi$spip_lang_rtl.gif", 'V', "style='width: 14px; height: 7px; border: 0px'") .' ' . _T('info_symbole_vert'), '</p>'; echo aide ("messut"); echo "<p>".http_img_pack("m_envoi_bleu$spip_lang_rtl.gif", 'B', "style='width: 14px; height: 7px; border: 0px'") .' ' . _T('info_symbole_bleu'), '</p>'; echo aide ("messpense"); echo "<p>".http_img_pack("m_envoi_jaune$spip_lang_rtl.gif", 'J', "style='width: 14px; height: 7px; border: 0px'") .' ' . _T('info_symbole_jaune'), '</p>'; echo fin_boite_info(true); echo creer_colonne_droite('', true); echo debut_cadre_relief("messagerie-24.gif", true); echo icone_horizontale(_T('lien_nouvea_pense_bete'),generer_action_auteur("editer_message","pb"), "pense-bete.gif", "", false); echo icone_horizontale(_T('lien_nouveau_message'),generer_action_auteur("editer_message","normal"), "message.gif", "", false); if ($connect_statut == "0minirezo") { echo icone_horizontale(_T('lien_nouvelle_annonce'),generer_action_auteur("editer_message","affich"), "annonce.gif", "", false); } echo fin_cadre_relief(true); # Affiche l'encadre "lien iCal" echo debut_cadre_enfonce('',true) . "<div class='verdana1'>"._T("calendrier_synchro") . "<table class='cellule-h-table' cellpadding='0'><tr>\n" . "<td><a href='" . generer_url_ecrire("synchro") . "' class='ical'> </a></td>\n" . "<td class='cellule-h-lien'><br /><a href='" . generer_url_ecrire("synchro") . "' class='cellule-h'>" . _T("icone_suivi_activite") . "</a></td>\n</tr></table>\n" ."</div>" . fin_cadre_enfonce(true); echo debut_droite("messagerie", true); $messages_vus = array(); echo afficher_ses_messages('<b>' . _T('infos_vos_pense_bete') . '</b>', '', "id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND (date_fin > DATE_SUB(".sql_quote(date('Y-m-d H:i:s')).", INTERVAL 1 DAY) OR rv != 'oui')", $messages_vus, false, true); echo afficher_ses_messages('<b>' . _T('info_nouveaux_message') . '</b>', ", spip_auteurs_messages AS lien", "lien.id_auteur=$connect_id_auteur AND vu='non' AND statut='publie' AND lien.id_message=messages.id_message", $messages_vus, true, true); echo afficher_ses_messages('<b>' . _T('info_discussion_cours') . '</b>', ", spip_auteurs_messages AS lien", "lien.id_auteur=$connect_id_auteur AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message AND (date_fin > DATE_SUB(".sql_quote(date('Y-m-d H:i:s')).", INTERVAL 1 DAY) OR rv != 'oui')", $messages_vus, true, false); // Afficher le lien RSS echo bouton_spip_rss('messagerie', array('id_auteur' => $connect_id_auteur)); echo afficher_ses_messages('<b>' . _T('info_message_en_redaction') . '</b>', '', "id_auteur=$connect_id_auteur AND statut='redac'", $messages_vus, true, false); $result = sql_select('auteurs.id_auteur, auteurs.nom, COUNT(*) AS total', 'spip_auteurs AS auteurs, spip_auteurs_messages AS lien2, spip_messages AS messages, spip_auteurs_messages AS lien', "(lien.id_auteur = $connect_id_auteur AND lien.id_message = messages.id_message AND messages.statut = 'publie' AND (messages.rv != 'oui' OR messages.date_fin > ".sql_quote(date('Y-m-d H:i:s'))." )) AND (lien2.id_auteur = lien2.id_auteur AND lien2.id_message = messages.id_message AND lien2.id_auteur != $connect_id_auteur AND auteurs.id_auteur = lien2.id_auteur)", "auteurs.id_auteur", 'total DESC', 10); $cor = array(); while($row = sql_fetch($result)) { $id_auteur = $row['id_auteur']; $nom = typo($row["nom"]); $total = $row["total"]; $cor[]= "<div class='tr_liste'\nonmouseover=\"changeclass(this,'tr_liste_over');\"\nonmouseout=\"changeclass(this,'tr_liste');\"\nstyle='padding: 2px; padding-left: 10px; border-bottom: 1px solid #cccccc;'><div class='verdana1'><img src='" . chemin_image('redac-12.gif') . "'\nstyle='border: 0px' alt=' ' /> <a href='" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur") . "'>$nom,</a> ($total)</div></div>"; } if ($cor) { echo "<div style='height: 12px;'></div>"; $bouton = bouton_block_depliable(_T('info_principaux_correspondants'),true,'principaux'); echo debut_cadre('liste',"redacteurs-24.gif",'',$bouton); echo debut_block_depliable(true,'principaux'); echo "<table width='100%' cellpadding='0' cellspacing='0'>"; echo "<tr><td valign='top' style='width: 50%'>"; $count = ceil(count($cor)/2); echo join("\n",array_slice($cor, 0, $count)); echo "</td><td valign='top' style='width: 50%'>"; echo join("\n",array_slice($cor, $count)); echo "</td></tr></table>"; echo fin_block(); echo fin_cadre('liste'); } echo afficher_ses_messages('<b>' . _T('info_pense_bete_ancien') . '</b>', '', "id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui'", $messages_vus, false, false); echo afficher_ses_messages('<b>' . _T('info_tous_redacteurs') . '</b>', '', "statut='publie' AND type='affich' AND (date_fin > DATE_SUB(".sql_quote(date('Y-m-d H:i:s')).", INTERVAL 1 DAY) OR rv != 'oui')", $messages_vus, false, false); echo fin_gauche(), fin_page(); }
function exec_mots_edit_args($id_mot, $id_groupe, $new, $table='', $table_id='', $titre='', $redirect='', $ajouter_id_article='') { global $spip_lang_right, $connect_statut, $les_notes; $autoriser_editer = $editer = false; if ($new=='oui') $autoriser_editer = true; if (($new=='oui') OR $autoriser_editer) $editer = true; $ok = false; $row = sql_fetsel("*", "spip_mots", "id_mot=$id_mot"); if ($row) { $id_mot = $row['id_mot']; $titre_mot = $row['titre']; $descriptif = $row['descriptif']; $texte = $row['texte']; $extra = $row['extra']; $id_groupe = $row['id_groupe']; $onfocus =''; $autoriser_editer = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); if (!_request('edit')) $editer = false; else $editer = $autoriser_editer; $ok = true; } else { $row = sql_countsel('spip_groupes_mots', ($table ? "tables_liees REGEXP '(^|,)$table($|,)'" : '') //($table ? "$table='oui'" : '') ); if (!$new OR !autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)) OR (!$row AND !$table)) { include_spip('inc/minipres'); echo minipres(_T('info_mot_sans_groupe')); } else { $id_mot = 0; $descriptif = $texte = ''; if (!$row) { // cas pathologique: // creation d'un mot sans groupe de mots cree auparavant // (ne devrait arriver qu'en cas d'appel explicite ou // destruction concomittante des groupes de mots idoines) if ($redirect) $redirect = '&redirect=' . $redirect; if ($titre) $titre = "&titre=".rawurlencode($titre); include_spip('inc/headers'); redirige_par_entete(redirige_action_auteur('instituer_groupe_mots', $table, 'mots_edit', "new=$new&table=$table&table_id=$table_id&ajouter_id_article=$ajouter_id_article$titre$redirect", true)); } $ok = true; } } if ($ok) { pipeline('exec_init',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); $out = $commencer_page("« ".sinon($titre_mot,_T('texte_nouveau_mot'))." »", "naviguer", "mots") . debut_gauche('',true); ////////////////////////////////////////////////////// // Boite "voir en ligne" // if ($id_mot) { $out .= debut_boite_info(true); $out .= "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" . _T('titre_gauche_mots_edit') . "<br /><span class='spip_xx-large'>" . $id_mot . '</span></div>'; $out .= voir_en_ligne ('mot', $id_mot, false, 'racine-24.gif', false, false); $out .= fin_boite_info(true); // Logos du mot-clef $flag_editable = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); $iconifier = charger_fonction('iconifier', 'inc'); $out .= $iconifier('id_mot', $id_mot, 'mots_edit', false, $flag_editable); } else $flag_editable = false; // // Afficher les boutons de creation // $res =''; if ($id_groupe AND autoriser('modifier','groupemots',$id_groupe)) { $res = icone_horizontale(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), "groupe-mot-24.gif", "edit.gif", false) . icone_horizontale(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit", "new=oui&id_groupe=$id_groupe&redirect=" . generer_url_retour('mots_tous')), "mot-cle-24.gif", "creer.gif", false); } $out .= pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . bloc_des_raccourcis($res . icone_horizontale(_T('icone_voir_tous_mots_cles'), generer_url_ecrire("mots_tous",""), "mot-cle-24.gif", "rien.gif", false)) . creer_colonne_droite('',true) . pipeline('affiche_droite',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . debut_droite('',true); // --- Voir le mot ---- $out .= debut_cadre_relief("mot-cle-24.gif",true,'','','mot-voir',$editer?'none':''); if ($flag_editable) $out .= icone_inline(_T('icone_modifier_mot'), generer_url_ecrire('mots_edit',"id_mot=$id_mot&edit=oui"), "mot-cle-24.gif", "rien.gif",$spip_lang_right,false," onclick=\"$('#mot-editer').show();$('#mot-voir').hide();return false;\""); $out .= gros_titre(sinon($titre_mot,_T('texte_nouveau_mot')),'',false); $out .= "<div class='nettoyeur'></div>"; $contenu_mot = ""; if ($descriptif) { $contenu_mot .= "<div style='border: 1px dashed #aaaaaa; ' class='verdana1 spip_small'>" . "<b>" . _T('info_descriptif') . "</b> " . propre($descriptif) . " " . "</div>"; } if (strlen($texte)>0){ $contenu_mot .= "<p class='verdana1 spip_small'>" . propre($texte) . "</p>"; } if ($les_notes) { $contenu_mot .= debut_cadre_relief('',true) . "<div dir='" . lang_dir() ."' class='arial11'>" . justifier("<b>"._T('info_notes')." :</b> ".$les_notes) . "</div>" . fin_cadre_relief(true); } $contexte = array('id'=>$id_mot); // permettre aux plugin de faire des modifs ou des ajouts $contenu_mot = pipeline('afficher_contenu_objet', array( 'args'=>array( 'type'=>'mot', 'id_objet'=>$id_mot, 'contexte'=>$contexte ), 'data'=> $contenu_mot ) ); $out .= $contenu_mot; if ($id_mot) { if ($connect_statut == "0minirezo") $aff_articles = "'prepa','prop','publie','refuse'"; else $aff_articles = "'prop','publie'"; $out .= afficher_objets('rubrique','<b>' . _T('info_rubriques_liees_mot') . '</b>', array("FROM" => 'spip_rubriques AS rubrique LEFT JOIN spip_mots_rubriques AS lien ON lien.id_rubrique=rubrique.id_rubrique', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "rubrique.titre")); $out .= afficher_objets('article',_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles LEFT JOIN spip_mots_articles AS lien ON lien.id_article=articles.id_article", 'WHERE' => "lien.id_mot=$id_mot AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC")); $out .= afficher_objets('breve','<b>' . _T('info_breves_liees_mot') . '</b>', array("FROM" => 'spip_breves AS breves LEFT JOIN spip_mots_breves AS lien ON lien.id_breve=breves.id_breve', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "breves.date_heure DESC")); $out .= afficher_objets('site','<b>' . _T('info_sites_lies_mot') . '</b>', array("FROM" => 'spip_syndic AS syndic LEFT JOIN spip_mots_syndic AS lien ON lien.id_syndic=syndic.id_syndic', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "syndic.nom_site DESC")); } $out .= pipeline('affiche_milieu',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . fin_cadre_relief(true); // --- Editer le mot ---- if ($autoriser_editer){ $out .= "<div id='mot-editer'".($editer?"":" class='none'").'>'; $contexte = array( 'icone_retour'=>icone_inline(_T('icone_retour'),($editer AND $redirect)?rawurldecode($redirect): generer_url_ecrire('mots_edit','id_mot='.$id_mot,false,true), "mot-cle-24.gif", "rien.gif",$GLOBALS['spip_lang_left'],false,($editer AND $redirect)?"":" onclick=\"$('#mot-editer').hide();$('#mot-voir').show();return false;\""), 'redirect'=>$redirect?rawurldecode($redirect):generer_url_ecrire('mots_edit','id_mot='.$id_mot,'&',true), 'titre'=>sinon($titre_mot,$titre), 'new'=>$new == "oui"?$new:$id_mot, 'id_groupe'=>$id_groupe, 'config_fonc'=>'mots_edit_config', 'ajouter_id_article' => $ajouter_id_article, 'table'=>$table, 'table_id'=>$table_id ); $out .= recuperer_fond("prive/editer/mot", $contexte); $out .= '</div>'; } echo $out, fin_gauche(), fin_page(); } }