function exec_acces_restreint(){ if (!autoriser('administrer','zone',0)) { include_spip('inc/minipres'); echo minipres(); exit; } $commencer_page = charger_fonction('commencer_page','inc'); echo $commencer_page(_T('accesrestreint:page_zones_acces')); echo gros_titre(_T('accesrestreint:titre_zones_acces'),'',false); echo debut_gauche("acces_restreint",true); echo debut_boite_info(true); echo propre(_T('accesrestreint:info_page')); echo fin_boite_info(true); if (autoriser('webmestre')) { $res = icone_horizontale(_L('Configuration des accès .htaccess'), generer_url_ecrire("acces_restreint_config"), "../"._DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif", "cadenas-24.gif",false); echo bloc_des_raccourcis($res); } echo debut_droite("acces_restreint",true); echo recuperer_fond('prive/acces_restreint',$_GET); if (autoriser('modifier','zone')) echo "<div>".icone_inline(_T('accesrestreint:creer_zone'), generer_url_ecrire("zones_edit","new=oui"), _DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif", "creer.gif",'right')."</div>"; echo fin_gauche(),fin_page(); }
function exec_admin_declarer_dist() { if (!autoriser('detruire')) { include_spip('inc/minipres'); echo minipres(); } else { $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_admin_tech'), "configuration", "base"); echo "\n<br /><br />"; echo gros_titre(_T('titre_admin_effacer'),'',false); echo barre_onglets("administration", "declarer"); echo debut_gauche('',true); echo debut_boite_info(true); echo _T('info_gauche_admin_effacer'); echo fin_boite_info(true); echo creer_colonne_droite('',true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'admin_effacer'),'data'=>'')); echo debut_droite('',true); echo autres_bases(); echo pipeline('affiche_milieu',array('args'=>array('exec'=>'admin_effacer'),'data'=>'')); echo fin_gauche(), fin_page(); } }
function galettonuts_upgrade() { $version_installee = isset($GLOBALS['meta']['galettonuts_version']) ? $GLOBALS['meta']['galettonuts_version'] : '0.0'; // La version installée est la dernière en date if ($version_installee == galettonuts_version()) { return; } else { if (version_compare($version_installee, '0.0', 'eq')) { include_spip('base/galettonuts_tables'); include_spip('base/create'); include_spip('base/abstract_sql'); creer_base(); ecrire_meta('galettonuts_version', galettonuts_version()); ecrire_meta('galettonuts_config', serialize(array('adresse_db' => 'localhost', 'prefix_db' => 'galette_', 'db_ok' => false, 'activer_cron' => true, 'heures' => 0, 'minutes' => 30))); ecrire_meta('galettonuts_synchro', serialize(array('frequence' => 600))); ecrire_metas(); echo '<br />', debut_boite_info(true), '<strong>', _T('galettonuts:installation_succes'), '</strong>', '<p>', _T('galettonuts:texte_installation_succes'), '</p>', fin_boite_info(true); return; } } $version_comparaison = version_compare(galettonuts_version(), $version_installee); // Mise à jour if (-1 == $version_comparaison) { // TODO: Gérer un Upgrade ecrire_meta('galettonuts_version', galettonuts_version()); return; } else { if (1 == $version_comparaison) { // TODO: Gérer un Downgrade return; } } }
function exec_statistiques_referers_dist() { $jour = _request('jour'); $limit = _request('limit'); // nombre de referers a afficher $limit = intval($limit); //secu if (!autoriser('voirstats','article')) { include_spip('inc/minipres'); echo minipres(); } else { if ($limit == 0) $limit = 100; if ($jour<>'veille') $jour='jour'; $referenceurs = charger_fonction('referenceurs', 'inc'); $res = $referenceurs (0, "SUM(visites_$jour)", 'spip_referers', "visites_$jour>0", "referer", $limit); $n = count($res); $args = "jour=$jour&limit=" . strval($limit+200); $plus = generer_url_ecrire('statistiques_referers', $args); if ($plus) { $plus = "<div style='text-align:right;'><b><a href='$plus'>+++</a></b></div>"; } $titre = _T('titre_liens_entrants') . " ($n " . ($n <= 1 ? _T('info_site') : _T('info_sites')) . ")"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_statistiques_referers'), "statistiques_visites", "referers"); echo "<br /><br /><br />"; echo gros_titre($titre,'', false); echo debut_gauche('', true); echo debut_boite_info(true); echo "<p style='font-size:small; text-align:left;' class='verdana1'>"; echo _T('info_gauche_statistiques_referers'); echo "</p>"; echo fin_boite_info(true); echo debut_droite('', true); echo barre_onglets("stat_referers", $jour); if ($res) { echo "<br /><div style='font-size:small;' class='verdana1'>"; echo "<ul class='referers'><li>"; echo join("</li><li>\n", $res); echo "</li></ul>"; echo $plus; echo "</div><br />"; } echo fin_gauche(), fin_page(); } }
function exec_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 exec_cfg_dist($class = null) { include_spip('inc/filtres'); $cfg = cfg_charger_classe('cfg', 'inc'); $config =& new $cfg($nom = sinon(_request('cfg'), ''), $cfg_id = sinon(_request('cfg_id'), '')); // traitements du formulaire poste $config->traiter(); // // affichages // include_spip("inc/presentation"); if (!$config->autoriser()) { echo $config->acces_refuse(); exit; } pipeline('exec_init', array('args' => array('exec' => 'cfg'), 'data' => '')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page($config->get_boite(), 'cfg', $config->get_nom()); echo "<br /><br /><br />\n"; echo gros_titre(sinon($config->get_titre(), _T('cfg:configuration_modules')), '', false); echo $config->barre_onglets(); // colonne gauche echo debut_gauche('', true); // si un formulaire cfg est demande if ($s = $config->descriptif()) { echo debut_boite_info(true) . $s . fin_boite_info(true); } echo pipeline('affiche_gauche', array('args' => array('exec' => 'cfg'), 'data' => '')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite', array('args' => array('exec' => 'cfg'), 'data' => '')); // affichage des messages envoyes par cfg if ($s = $config->messages()) { echo debut_boite_info(true) . $s . fin_boite_info(true); } // affichage des liens if ($s = $config->liens()) { echo debut_boite_info(true) . $s . fin_boite_info(true); } if ($s = $config->liens_multi()) { echo debut_boite_info(true) . $s . fin_boite_info(true); } echo debut_droite("", true); // centre de la page if ($config->get_presentation() == 'auto') { echo debut_cadre_trait_couleur('', true, '', $config->get_boite()); echo $config->formulaire(); echo fin_cadre_trait_couleur(true); } else { echo $config->formulaire(); } // pied echo fin_gauche() . fin_page(); }
function configuration_relayeur_dist($retour_proxy='') { global $spip_lang_left; $res = $submit = ''; $http_proxy = $GLOBALS['meta']["http_proxy"]; $http_noproxy = $GLOBALS['meta']["http_noproxy"]; if ($http_proxy) { include_spip('inc/distant'); // Masquer un eventuel password authentifiant $http_proxy=entites_html(no_password_proxy_url($http_proxy)); if ($http_proxy) { $res = "\n<p style='text-align: $spip_lang_left;' class='verdana1 spip_small'>" . "<label for='test_proxy'>" . _T('texte_test_proxy') . "</label>" . "</p>" . "\n<p>" . "<input type='text' name='test_proxy' id='test_proxy' value='http://www.spip.net/' size='40' class='forml' />" . "</p>"; if($retour_proxy) { $res .= debut_boite_info(true) . $retour_proxy . fin_boite_info(true); } $submit = array('valider_proxy' => _T('bouton_valider'), 'tester_proxy' => _T('bouton_test_proxy')); } } $encours = "<label for='http_proxy'>" . ($http_proxy ? $http_proxy : "http://proxy:8080") . '</label>' ; $exemple = "<label for='http_noproxy'>" . ($http_noproxy ? $http_noproxy : "127.0.0.1 .mondomaine.net") . "</label>"; $res = "\n<div class='verdana2'>" . propre(_T('texte_proxy', array('proxy_en_cours' => "<b><tt><html>$encours</html></tt></b>"))) . "</div>" . "\n<div class='verdana2'>" . "<input type='text' name='http_proxy' id='http_proxy' size='40' class='forml' value='$http_proxy' />" . "<br />" . propre(_T('pas_de_proxy_pour', array('exemple' => "<b><tt><html>$exemple</html></tt></b>"))) . "<input type='text' name='http_noproxy' id='http_noproxy' size='40' class='forml' value='$http_noproxy' />" . $res . "</div>"; $res = debut_cadre_trait_couleur("base-24.gif", true, "", _T('info_sites_proxy').aide ("confhttpproxy")) . ajax_action_post('configurer_relayeur', 0, 'config_fonctions', '', $res, $submit) . fin_cadre_trait_couleur(true); return ajax_action_greffe("configurer_relayeur", 0, $res); }
function exec_charger_plugin_dist($retour='') { if (!autoriser('configurer', 'plugins')) { include_spip('inc/minipres'); echo minipres(); } else { $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin"); echo "<br />\n"; echo "<br />\n"; echo gros_titre(_T('icone_admin_plugin'),'',false); echo barre_onglets("plugins", "charger_plugin"); echo debut_gauche('plugin',true); echo debut_boite_info(true); $s = ""; $s .= _T('info_gauche_admin_tech'); echo $s; echo fin_boite_info(true); echo pipeline('affiche_gauche', array( 'args'=>array('exec'=>'charger_plugin'), 'data'=>'' ) ); echo debut_droite('plugin', true); // voire si on peut creer le repertoure auto/ sans rien demander sous_repertoire(_DIR_PLUGINS_AUTO, '', true, true); echo "<div class='liste-plugins formulaire_spip'>"; include_spip('inc/charger_plugin'); echo formulaire_charger_plugin($retour); echo "</div>"; echo pipeline('affiche_milieu', array( 'args'=>array('exec'=>'charger_plugin'), 'data'=>'' ) ); echo fin_gauche(), fin_page(); } }
function formulaire_affiche_tous($aff_art, $aff_statut,$sel_lang) { global $spip_lang_left, $spip_lang_right, $spip_lang; $out = "\n<input type='hidden' name='aff_art[]' value='x' />\n" . "<b>"._T('titre_cadre_afficher_article')." :</b><br />\n"; if (isset($aff_statut['prepa']) && $aff_statut['prepa']) $out .= http_label_img('prepa', in_array('prepa', $aff_art), 'aff_art', 'puce-blanche-breve.gif', _T('texte_statut_en_cours_redaction')); if (isset($aff_statut['prop']) && $aff_statut['prop']) $out .= http_label_img('prop', in_array('prop', $aff_art), 'aff_art', 'puce-orange-breve.gif', _T('texte_statut_attente_validation')); if (isset($aff_statut['publie']) && $aff_statut['publie']) $out .= http_label_img('publie', in_array('publie', $aff_art), 'aff_art', 'puce-verte-breve.gif', _T('texte_statut_publies')); if (isset($aff_statut['refuse']) && $aff_statut['refuse']) $out .= http_label_img('refuse', in_array('refuse', $aff_art), 'aff_art', 'puce-rouge-breve.gif', _T('texte_statut_refuses')); if (isset($aff_statut['poubelle']) && $aff_statut['poubelle']) $out .= http_label_img('poubelle', in_array('poubelle', $aff_art), 'aff_art', 'puce-poubelle-breve.gif', _T('texte_statut_poubelle')); $out .= "\n<div style='text-align: $spip_lang_right'><input type='submit' value='"._T('bouton_changer')."' /></div>"; // GERER LE MULTILINGUISME if (($GLOBALS['meta']['multi_rubriques'] == 'oui' OR $GLOBALS['meta']['multi_articles'] == 'oui') AND $GLOBALS['meta']['gerer_trad'] == 'oui') { // bloc legende $lf = $GLOBALS['meta']['langue_site']; $out .= "<hr />\n<div class='verdana2'>"; $out .= _T('info_tout_site6'); $out .= "\n<div><span class='lang_base'>$lf</span> ". _T('info_tout_site5') ." </div>"; $out .= "\n<div><span class='creer'>$lf</span> ". _T('info_tout_site2') ." </div>"; $out .= "\n<div><a class='claire'>$lf</a> ". _T('info_tout_site3'). " </div>"; $out .= "\n<div><a class='foncee'>$lf</a> ". _T('info_tout_site4'). " </div>"; $out .= "</div>\n"; // bloc choix de langue $langues = explode(',', $GLOBALS['meta']['langues_multilingue']); if (count($langues) > 1) { sort($langues); $out .= "\n<br />\n<div class='verdana2'><b><label for='sel_lang'>"._T('titre_cadre_afficher_traductions')."</label></b>\n<br />"; $out .= "<select style='width:100%' name='sel_lang[]' id='sel_lang' size='".count($langues)."' multiple='multiple'>"; while (list(, $l) = each ($langues)) { $out .= "<option value='$l'" . (in_array($l,$sel_lang) ? " selected='selected'" : "") . ">" . traduire_nom_langue($l) . "</option>\n"; } $out .= "</select></div>\n"; $out .= "\n<div style='text-align: $spip_lang_right'><input type='submit' value='"._T('bouton_changer')."' /></div>"; } } $out = debut_boite_info(true) . $out . fin_boite_info(true); return generer_form_ecrire('articles_tous', $out); }
function exec_admin_plugin_dist($retour='') { if (!autoriser('configurer', 'plugins')) { include_spip('inc/minipres'); echo minipres(); } else { // on fait la verif du path avant tout, // et l'installation des qu'on est dans la colonne principale // si jamais la liste des plugins actifs change, il faut faire un refresh du hit // pour etre sur que les bons fichiers seront charges lors de l'install if (actualise_plugins_actifs()==-1 AND _request('actualise')<2){ include_spip('inc/headers'); redirige_par_entete(parametre_url(self(),'actualise',_request('actualise')+1,'&')); } if ($erreur_activation = isset($GLOBALS['meta']['plugin_erreur_activation'])){ $erreur_activation = $GLOBALS['meta']['plugin_erreur_activation']; // l'effacement reel de la meta se fera au moment de l'affichage // mais on la vide pour ne pas l'afficher dans le bandeau haut unset($GLOBALS['meta']['plugin_erreur_activation']); } $format = ''; if (_request('format')!==NULL) $format = _request('format'); // liste ou repertoires $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin"); echo "<br />\n"; echo "<br />\n"; $quoi = _request('voir'); $quoi = $quoi ? $quoi : 'actifs'; echo gros_titre(_T('icone_admin_plugin'),'',false); echo barre_onglets("plugins", $quoi=='actifs'?"plugins_actifs":"admin_plugin"); echo debut_gauche('plugin',true); echo debut_boite_info(true); $s = ""; $s .= _T('info_gauche_admin_tech'); echo $s; echo fin_boite_info(true); // la valeur de retour de la fonction ci-dessus n'est pas compatible // avec ce que fait actualise_plugins_actifs, il faut recalculer. A revoir. $lcpa = liste_chemin_plugin_actifs(); echo pipeline('affiche_gauche', array( 'args'=>array('exec'=>'admin_plugin'), 'data'=>afficher_librairies() ) ); echo debut_droite('plugin', true); // message d'erreur au retour d'un operation if (_request('erreur')){ echo "<div class='erreur_message-plugins'>" . _T(_request('erreur')) . "</div>"; } if ($erreur_activation){ echo "<div class='erreur_message-plugins'>" . $erreur_activation . "</div>"; effacer_meta('plugin_erreur_activation'); } // on fait l'installation ici, // cela permet aux scripts d'install de faire des affichages (moches...) installe_plugins(); $lpf = liste_plugin_files(); $plugins_interessants = @array_keys(unserialize($GLOBALS['meta']['plugins_interessants'])); if (!is_array($plugins_interessants)) $plugins_interessants = array(); echo "<div class='liste-plugins formulaire_spip'>"; echo debut_cadre_trait_couleur('plugin-24.gif',true,'',_T('plugins_liste'), 'plugins'); if ($quoi!=='actifs'){ if ($lpf) echo "<p>"._T('texte_presente_plugin')."</p>"; else { if (!@is_dir(_DIR_PLUGINS)) echo "<p>"._T('plugin_info_automatique_ftp',array('rep'=>joli_repertoire(_DIR_PLUGINS))) . " — "._T('plugin_info_automatique_creer')."</p>"; } } if ($quoi=='actifs' OR $lpf) echo "<h3>".sinon( singulier_ou_pluriel(count($lcpa), 'plugins_actif_un', 'plugins_actifs', 'count'), _T('plugins_actif_aucun') )."</h3>"; $sub = "\n<div class='boutons'>" . "<input type='submit' class='submit save' value='"._T('bouton_enregistrer') ."' />" . "</div>"; $no_button = false; // la liste if ($quoi=='actifs'){ $aff = affiche_les_plugins($lcpa, $lcpa, $format); $no_button = !strlen($aff); $corps = $aff; } elseif ($quoi=='tous') $corps = affiche_les_plugins($lpf, $lcpa, $format); else { $dir_auto = substr(_DIR_PLUGINS_AUTO, strlen(_DIR_PLUGINS)); $lcpaffiche = array(); foreach ($lpf as $f) if (!strpos($f, '/') OR ($dir_auto AND substr($f, 0, strlen($dir_auto)) == $dir_auto) OR in_array($f, $lcpa) OR in_array($f, $plugins_interessants)) $lcpaffiche[] = $f; $corps = affiche_les_plugins($lcpaffiche, $lcpa, $format); } if (!$no_button) $corps .= "\n<br />" . $sub; echo redirige_action_post('activer_plugins','activer','admin_plugin','', $corps); echo fin_cadre_trait_couleur(true); if ($quoi=='actifs') echo affiche_les_extensions(liste_chemin_plugin_actifs(_DIR_EXTENSIONS)); echo "</div>"; echo http_script(" jQuery(function(){ jQuery('#plugins .boutons').hide(); jQuery('.plugins li.item a[rel=info]').click(function(){ var li = jQuery(this).parents('li').eq(0); var prefix = li.find('input.checkbox').attr('name'); if (!jQuery('div.details',li).html()) { jQuery('div.details',li).prepend(ajax_image_searching).load( jQuery(this).attr('href').replace(/admin_plugin|plugins/, 'info_plugin'), function(){ li.addClass('on'); } ); } else { if (jQuery('div.details',li).toggle().is(':visible')) li.addClass('on'); else li.removeClass('on'); } return false; }); jQuery('.plugins li.item input.checkbox').change(function(){ jQuery(this).parents('form').eq(0).find('.boutons').slideDown(); }); }); "); echo pipeline('affiche_milieu', array( 'args'=>array('exec'=>'admin_plugin'), 'data'=>'' ) ); echo fin_gauche(), fin_page(); } }
function exec_admin_effacer_dist() { if (!autoriser('detruire')) { include_spip('inc/minipres'); echo minipres(); } else { pipeline('exec_init',array('args'=>array('exec'=>'admin_effacer'),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_admin_effacer'), "configuration", "base"); echo "\n<br /><br />"; echo gros_titre(_T('titre_admin_effacer'),'',false); echo barre_onglets("administration", "effacer"); echo debut_gauche('',true); echo debut_boite_info(true); echo _T('info_gauche_admin_effacer'); echo fin_boite_info(true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'admin_effacer'),'data'=>'')); echo creer_colonne_droite('',true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'admin_effacer'),'data'=>'')); echo debut_droite('',true); echo debut_cadre_trait_couleur('',true,'',"<label for='reinstall'>"._T('texte_effacer_base')."</label>"); $res = "\n<input type='hidden' name='reinstall' id='reinstall' value='non' />"; $res = generer_form_ecrire('delete_all', $res, '', _T('bouton_effacer_tout')); echo '<img src="' . chemin_image('warning.gif') . '" alt="', _T('info_avertissement'), "\" style='width: 48px; height: 48px; float: right;margin: 10px;' />", _T('texte_admin_effacer_01'), "<div class='nettoyeur'></div>", "\n<div style='text-align: center'>", debut_boite_alerte(), "\n<div class='serif'>", "\n<b>"._T('avis_suppression_base')." !</b>", $res, "\n</div>", fin_boite_alerte(), "</div>"; echo fin_cadre_relief(true); echo debut_cadre_trait_couleur('',true,'',_T('texte_effacer_statistiques')); $res = generer_form_ecrire('delete_statistiques', "", '', _T('bouton_effacer_statistiques')); echo '<img src="' . chemin_image('warning.gif') . '" alt="', _T('info_avertissement'), "\" style='width: 48px; height: 48px; float: right;margin: 10px;' />", _T('texte_admin_effacer_stats'), "<div class='nettoyeur'></div>", "\n<div style='text-align: center'>", "\n<div class='serif'>", "\n<b>"._T('avis_suppression_base')." !</b>", $res, "\n</div>", "</div>"; echo fin_cadre_relief(true); echo pipeline('affiche_milieu',array('args'=>array('exec'=>'admin_effacer'),'data'=>'')); echo fin_gauche(), fin_page(); } }
function exec_accorder_comptes_lcs_dist(){ // si pas autorise : message d'erreur if (!autoriser('voir', 'accorder_comptes_lcs')) { include_spip('inc/minipres'); echo minipres(); exit; } // pipeline d'initialisation pipeline('exec_init', array('args'=>array('exec'=>'accorder_comptes_lcs'),'data'=>'')); // entetes $commencer_page = charger_fonction('commencer_page', 'inc'); // titre, partie, sous_partie (pour le menu) echo $commencer_page(_T('tispipskelet:titre_accorder_comptes_spip_lcs'), "editer", "editer"); // titre echo "<br /><br /><br />\n"; // outch ! aie aie aie ! au secours ! $ze_logo='<img src="'._DIR_PLUGIN_TISPIPSKELET.'/img_pack/nettoyer_comptes_lcs_spip.png" style="width:96px;vertical-align:middle;">'; echo gros_titre(_T('tispipskelet:Nettoyage des comptes : Synchronisation des comptes avec l’annuaire LCS'), $ze_logo, false); // colonne gauche echo debut_gauche('', true); echo debut_boite_info(true); echo propre(_T('tispipskelet:info_accorder_comptes_spip_lcs')); echo fin_boite_info(true); echo pipeline('affiche_gauche', array('args'=>array('exec'=>'peupler_zones_lcs'),'data'=>'')); // colonne droite echo creer_colonne_droite('', true); echo pipeline('affiche_droite', array('args'=>array('exec'=>'accorder_comptes_lcs'),'data'=>'')); if (autoriser('webmestre')) { # $res= icone_horizontale(_L('Accès restreint'), generer_url_ecrire("acces_restreint"), "../"._DIR_PLUGIN_TISPIPSKELET."/img_pack/logo_acces_restreint_48.png", "",false); # echo bloc_des_raccourcis($res); } // centre echo debut_droite('', true); // contenu include ("/var/www/lcs/includes/headerauth.inc.php"); include ("/var/www/Annu/includes/ihm.inc.php"); function search_uidspip ($filter,$ldap_server, $ldap_port, $dn) { global $ldap_grp_attr; // LDAP attributs $ldap_grp_attr = array ( "cn", "memberuid" ); $ds = @ldap_connect ( $ldap_server, $ldap_port ); if ( $ds ) { $r = @ldap_bind ( $ds ); // Bind anonyme if ($r) { $result=@ldap_list ($ds, $dn["groups"], $filter, $ldap_grp_attr); if ($result) { $info = ldap_get_entries( $ds, $result ); if ($info["count"]) { // Stockage des logins des membres des classes // dans le tableau $ret $init=0; for ($loop=0; $loop < $info["count"]; $loop++) { $group=split ("[\_\]",$info[$loop]["cn"][0],2); for ( $i = 0; $i < $info[$loop]["memberuid"]["count"]; $i++ ) { $ret[$init]["uid"] = $info[$loop]["memberuid"][$i]; $ret[$init]["cat"] = $group[0]; $init++; } } } ldap_free_result ( $result ); } } @ldap_close ( $ds ); } return $ret; } $grp_primaire= array ('Administratifs','Profs','Eleves'); $$lcs_list_allusers=array(); for ($index=0; $index < count($grp_primaire); $index++) { //recherche des membres (on recupere un tableau (login,groupe principal) $membres = search_uidspip("(cn=".$grp_primaire[$index].")",$ldap_server, $ldap_port, $dn); //traitement des données renvoyées: ici affichage for ($loup=0; $loup < count($membres); $loup++) { // echo $membres[$loup]["uid"].":".$membres[$loup]["cat"]."<br />"; $lcs_list_allusers[]=$membres[$loup]['uid']; } } /* foreach ($lcs_list_allusers as $k => $lcsUser){ echo "lcsUser_".$k." = ".$lcsUser."<br />"; } */ // echo recuperer_fond("prive/contenu/tispip_lcs_groupes_ldap",$_GET); echo "<div class='ajax'>".recuperer_fond("prive/contenu/tispip_lcs_users_ldap",array('all_users_lcs'=>$lcs_list_allusers, 'afficher'=>'actifs', 'membres'=>$membres, $_GET))."</div>"; // fin contenu echo pipeline('affiche_milieu', array('args'=>array('exec'=>'accorder_comptes_lcs'),'data'=>'')); echo fin_gauche(), fin_page(); }
function avertissement_config() { global $spip_lang_right, $spip_lang_left; return debut_boite_info(true) . "\n<div class='verdana2' style='text-align: justify'> <p style='text-align: center'><b>"._T('avis_attention')."</b></p>" . http_img_pack("warning.gif", (_T('avis_attention')), "width='48' height='48' style='float: $spip_lang_right; padding-$spip_lang_left: 10px;'") . _T('texte_inc_config') . "</div>" . fin_boite_info(true) . "<p> </p>\n"; }
function exec_controle_forum_args2($id_rubrique, $type, $debut, $pas, $enplus, $recherche, $from, $where, $debut_id_forum) { // Si un id_controle_forum est demande, on adapte le debut if ($debut_id_forum AND (NULL !== ($d = sql_getfetsel('date_heure', 'spip_forum', "id_forum=$debut_id_forum")))) { $debut = sql_countsel($from, $where . (" AND F.date_heure > '$d'")); } if ($recherche) $args = 'recherche='.rawurlencode($recherche).'&'; else $args = ''; $args .= (!$id_rubrique ? "" : "id_rubrique=$id_rubrique&") . 'type='; $query = array('SELECT' => "F.id_forum, F.id_parent, F.id_rubrique, F.id_article, F.id_breve, F.date_heure, F.titre, F.texte, F.auteur, F.email_auteur, F.nom_site, F.url_site, F.statut, F.ip, F.id_auteur", 'FROM' => $from, 'WHERE' => $where, 'GROUP BY' => "", 'ORDER BY' => "F.date_heure DESC"); $nav = affiche_navigation_forum($query, 'controle_forum', $args . $type, $debut, $pas, $enplus); $select = sql_select($query['SELECT'], $query['FROM'], $query['WHERE'], $query['GROUP BY'], $query['ORDER BY'], $query['LIMIT']); $res = ''; while ($row = sql_fetch($select)) $res .= controle_forum_boucle($row, "$args$type&debut=$debut"); $res = "<br />$nav<br />$res<br />$nav"; if (_AJAX) { ajax_retour($res); } else { pipeline('exec_init',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_forum_suivi'), "forum", "forum-controle"); echo "<br /><br /><br />"; echo gros_titre(_T('titre_forum_suivi'),'',false); echo debut_onglet(); echo onglet(_T('onglet_messages_publics'), generer_url_ecrire('controle_forum', $args . "public"), "public", $type=='public', "forum-public-24.gif"); echo onglet(_T('onglet_messages_internes'), generer_url_ecrire('controle_forum', $args . "interne"), "interne", $type=='interne', "forum-interne-24.gif"); list($from,$where) = critere_statut_controle_forum('vide', $id_rubrique); $n = sql_fetsel('1', $from, $where); if ($n) echo onglet(_T('onglet_messages_vide'), generer_url_ecrire('controle_forum', $args . "vide"), "vide", $type=='vide'); list($from,$where) = critere_statut_controle_forum('prop', $id_rubrique); $f = sql_fetsel('1', $from, $where); if ($f) echo onglet(_T('texte_statut_attente_validation'), generer_url_ecrire('controle_forum', $args . "prop"), "prop", $type=='prop'); echo fin_onglet(); echo debut_gauche('', true); echo debut_boite_info(true); echo "<span class='verdana1 spip_small'>", _T('info_gauche_suivi_forum_2'), aide("suiviforum"), "</span>"; // Afficher le lien RSS echo bouton_spip_rss("forums_$type"); echo fin_boite_info(true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); echo debut_droite('', true); echo pipeline('affiche_milieu',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); echo formulaire_recherche("controle_forum","<input type='hidden' name='type' value='$type' />"); echo "<div class='nettoyeur'></div>"; echo "<div id='controle_forum' class='serif2'>", $res, "</div>"; echo fin_gauche(), fin_page(); } }
function spiplistes_cherche_auteur () { if (!$cherche_auteur = _request('cherche_auteur')) return; $col = strpos($cherche_auteur, '@') !== false ? 'email' : 'nom'; $like = ''; if (strpos($cherche_auteur, '%') !== false) { $like = " WHERE $col LIKE '" . $cherche_auteur . "'"; $cherche_auteur = str_replace('%', ' ', $cherche_auteur); } $sql_result = sql_select("id_auteur,$col", "spip_auteurs", $like); while($row = sql_fetch($sql_result)) { $table_auteurs[] = $row[$col]; $table_ids[] = $row['id_auteur']; } $resultat = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids); $result = "" . "<div id='boite-result-chercher-auteur'>" . debut_boite_info(true) ; if (!$resultat) { $result .= "" . "<strong>"._T('texte_aucun_resultat_auteur', array('cherche_auteur' => $cherche_auteur)).".</strong><br />\n" ; } else if (count($resultat) == 1) { list(, $nouv_auteur) = each($resultat); $result .= "" . "<strong>"._T('spiplistes:une_inscription')."</strong>:<br />\n" . "<ul>" ; $sql_result = sql_select("id_auteur,nom,email,bio", "spip_auteurs", "id_auteur=".sql_quote($nouv_auteur), '', '', 1); while ($row = sql_fetch($sql_result)) { $id_auteur = $row['id_auteur']; $nom_auteur = $row['nom']; $email_auteur = $row['email']; $bio_auteur = $row['bio']; $result .= "" . "<li class='auteur'>" . "<a class='nom_auteur' href=\"".generer_url_ecrire(_SPIPLISTES_EXEC_ABONNE_EDIT, "id_auteur=$id_auteur")."\">".typo($nom_auteur)."</a>" . " | $email_auteur" . "</li>\n" ; } $result .= "" . "</ul>\n" ; } else if (count($resultat) < 16) { reset($resultat); unset($les_auteurs); while (list(, $id_auteur) = each($resultat)) { $les_auteurs[] = $id_auteur; } if($les_auteurs) { $les_auteurs = join(',', $les_auteurs); $result .= "" . "<strong>"._T('texte_plusieurs_articles', array('cherche_auteur' => $cherche_auteur))."</strong><br />" . "<ul>" ; $sql_select = array('id_auteur','nom','email','bio'); $sql_result = sql_select($sql_select, "spip_auteurs", "id_auteur IN ($les_auteurs)", '', array('nom')); while ($row = sql_fetch($sql_result)) { $id_auteur = $row['id_auteur']; $nom_auteur = $row['nom']; $email_auteur = $row['email']; $bio_auteur = $row['bio']; $result .= "" . "<li class='auteur'><span class='nom_auteur'>".typo($nom_auteur)."</span>" ; if ($email_auteur) { $result .= "" . " ($email_auteur)" ; } $result .= "" . " | <a href=\"".generer_url_ecrire(_SPIPLISTES_EXEC_ABONNE_EDIT,"id_auteur=$id_auteur")."\">" . _T('spiplistes:choisir')."</a>" ; if (trim($bio_auteur)) { $result .= "" . "<br /><font size=1>".couper(propre($bio_auteur), 100)."</font>\n" ; } $result .= "" . "</li>\n" ; } $result .= "" . "</ul>\n" ; } } else { $result .= "" . "<strong>"._T('texte_trop_resultats_auteurs', array('cherche_auteur' => $cherche_auteur))."</strong><br />" ; } $result .= "" . fin_boite_info(true) . "</div>" ; return($result); } // end spiplistes_cherche_auteur()
function exec_admin_vider_dist() { global $quota_cache, $spip_lang; // autorisation a affiner if (!autoriser('configurer', 'admin_vider')){ include_spip('inc/minipres'); echo minipres(); } else { $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('onglet_vider_cache'), "configuration", "cache"); echo "<br /><br /><br />"; echo gros_titre(_T('titre_admin_vider'),'', false); // barre_onglets("administration", "vider"); echo debut_gauche("",true); echo debut_boite_info(true); echo _T('info_gauche_admin_vider'); echo fin_boite_info(true); echo debut_droite("",true); echo debut_cadre_trait_couleur("cache-24.gif", true, "", _T('texte_vider_cache')); echo "\n<p style='text-align: justify;'>"._T('texte_suppression_fichiers')."</p>", "<p style='text-align: justify;'>"._T('texte_recalcul_page')."</p>"; echo "\n<div> </div>"; // // Quota et taille du cache // echo debut_cadre_relief("", true, "", _T('taille_repertoire_cache')); include_spip('inc/invalideur'); if (($n = taille_du_cache())>250*1024) $info = _T('taille_cache_octets', array('octets' => taille_en_octets($n))); else $info = _T('taille_cache_vide'); echo "<p style='text-align: justify;'><b>$info</b></p>\n"; echo "\n<p style='text-align: justify;'>"; if ($quota_cache) { echo _T('taille_cache_maxi', array('octets' => taille_en_octets($quota_cache*1024*1024))); } else { echo _T('taille_cache_infinie'); } echo ' (', _T('cache_modifiable_webmestre'),')</p>', redirige_action_post('purger', 'cache', "admin_vider", '', "\n<div style='text-align: right'><input type='submit' value=\"" . str_replace('"', '"', _T('bouton_vider_cache')) . "\" /></div>"); echo fin_cadre_relief(true); echo debut_cadre_relief("image-24.gif", true, "", _T('info_images_auto')); echo afficher_taille_cache_vignettes(); echo redirige_action_post('purger', 'vignettes', "admin_vider",'', "\n<div style='text-align: right'><input type='submit' value=\"" . str_replace('"', '"', _T('bouton_vider_cache')) . "\" /></div>"); echo fin_cadre_relief(true); echo fin_cadre_trait_couleur(true); echo "<br />"; echo fin_gauche(), fin_page(); } }
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 exec_synchro_dist() { ///// debut de la page $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T("icone_suivi_activite"), "accueil", "synchro"); echo "<br /><br />"; echo gros_titre(_T("icone_suivi_activite"),'', false); echo debut_gauche('', true); echo debut_boite_info(true); echo "<div class='verdana2'>"; echo _T('ical_info1').'<br /><br />'; echo _T('ical_info2', array('spipnet' => $GLOBALS['home_server'] . '/' . $GLOBALS['spip_lang'] . '_suivi')); echo "</div>"; echo fin_boite_info(true); $adresse_suivi_inscription=$GLOBALS['meta']["adresse_suivi_inscription"]; echo debut_droite('', true); /// /// Suivi par mailing-list /// if ($GLOBALS['meta']["suivi_edito"] == "oui" AND strlen($GLOBALS['meta']["adresse_suivi"]) > 3 AND strlen($adresse_suivi_inscription) > 3) { echo debut_cadre_enfonce("racine-site-24.gif", true, "", _T('ical_titre_mailing')); echo _T('info_config_suivi_explication'), propre("<b style='text-align: center'>[->$adresse_suivi_inscription]</b>"); echo fin_cadre_enfonce(true); } /// /// Suivi par agenda iCal (taches + rendez-vous) /// echo debut_cadre_relief("agenda-24.gif", true, "", _T('icone_calendrier')); echo _T('calendrier_synchro'); echo '<p>'._T('ical_info_calendrier').'</p>'; $id_auteur = $GLOBALS['visiteur_session']['id_auteur']; afficher_liens_calendrier(generer_url_public('ical'),'', _T('ical_texte_public')); afficher_liens_calendrier(generer_url_public("ical_prive", "id_auteur=$id_auteur&arg=".afficher_low_sec($id_auteur,'ical')),'cadenas-24.gif', _T('ical_texte_prive')); echo fin_cadre_relief(true); /// /// Suivi par RSS /// echo debut_cadre_relief("site-24.gif", true, "", _T('ical_titre_rss')); echo _T('ical_texte_rss'); echo "<p>"._T("ical_texte_rss_articles")."</p>"; echo propre("<cadre>" . generer_url_public('backend') . "</cadre>"); echo "<p>"._T("ical_texte_rss_articles2")."</p>"; $bouton = http_img_pack( 'feed.png', 'RSS', ''); $result = sql_allfetsel("id_rubrique, titre", "spip_rubriques", 'id_parent=0','', '0+titre,titre'); $res = ''; foreach($result as $row){ $h = generer_url_public('backend', "id_rubrique=" . $row['id_rubrique']); $titre_rubrique = typo($row['titre']); $titre = htmlspecialchars($titre_rubrique); $res .= "\n<li><a href='$h' title=\"$titre\">$bouton $titre_rubrique</a></li>"; } if ($res) echo "\n<ul>", $res, "\n</ul>"; if ($GLOBALS['meta']['activer_breves'] == "oui") { echo "<p>"._T("ical_texte_rss_breves")."</p>"; echo "<ul><li><a href='", generer_url_public('backend-breves', ""), "' title=\"", _T('ical_lien_rss_breves'), "\">", $bouton, ' ' . _T('ical_lien_rss_breves'), "</a></li></ul>"; } echo fin_cadre_relief(true); /// /// Suivi par Javascript /// echo debut_cadre_relief("doc-24.gif", true, "", _T('ical_titre_js')); echo _T('ical_texte_js').'<br />'; echo propre('<code> <script type="text/javascript" src="'.generer_url_public('distrib').'"> </script> </code>'); echo fin_cadre_relief(true); echo fin_gauche(), fin_page(); }
function recherche_mot_cle($cherche_mots, $id_groupe, $objet, $id_objet, $table, $table_id, $url_base) { $ou = _T('info_mot_cle_ajoute') . ' '; if ($table == 'articles') $ou .= _T('info_l_article'); else if ($table == 'breves') $ou .= _T('info_la_breve'); else if ($table == 'rubriques') $ou .= _T('info_la_rubrique'); $result = sql_select("id_mot, titre", "spip_mots", (!$id_groupe ? '' : sql_in('id_groupe', $id_groupe))); $table_mots = array(); $table_ids = array(); while ($row = sql_fetch($result)) { $table_ids[] = $row['id_mot']; $table_mots[] = $row['titre']; } $nouveaux_mots = array(); $res = ''; foreach (preg_split("/ *[,;] */", $cherche_mots) as $cherche_mot) { if ($cherche_mot) { $resultat = mots_ressemblants($cherche_mot, $table_mots, $table_ids); $res .= "<br />" . debut_boite_info(true); if (!$resultat) { $res .= "<b>"._T('info_non_resultat', array('cherche_mot' => htmlspecialchars($cherche_mot)))."</b><br />"; } else if (count($resultat) == 1) { $n = $resultat[0]; $nouveaux_mots[] = $n; $t = sql_getfetsel("titre", "spip_mots", "id_mot=$n"); $res .= "<b>" . $ou . ": </b><br />\n<ul><li><span class='verdana1 spip_small'><b><span class='spip_medium'>" . typo($t) . "</span></b></span></li></ul>"; } else $res .= affiche_mots_ressemblant($cherche_mot, $objet, $id_objet, $resultat, $table, $table_id, $url_base); $res .= fin_boite_info(true) . "<br />"; } } return array($res, $nouveaux_mots); }
function articles_forum_cadres($id_rubrique, $id_article, $titre, $script, $args) { global $spip_lang_right, $spip_lang_left; echo debut_grand_cadre(true); echo afficher_hierarchie($id_rubrique); echo fin_grand_cadre(true); echo debut_gauche('', true); echo debut_boite_info(true); echo "<p style='text-align: $spip_lang_left; ' class='verdana1 spip_x-small'>", _T('info_gauche_suivi_forum'), aide ("suiviforum"), "</p>"; $url = bouton_spip_rss('forums_public', array("id_article" => $id_article)); echo "<div style='text-align: $spip_lang_right;'>", $url, "</div>"; echo fin_boite_info(true); $res = icone_horizontale(_T('icone_statistiques_visites'), generer_url_ecrire("statistiques_visites","id_article=$id_article"), "statistiques-24.gif","rien.gif", false); echo bloc_des_raccourcis($res); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles_forum','id_article'=>$id_article),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles_forum','id_article'=>$id_article),'data'=>'')); echo debut_droite('', true); echo "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>"; echo "<tr>"; echo "<td>"; echo icone(_T('icone_retour'), $url = generer_url_ecrire($script, $args), "article-24.gif", "rien.gif"); echo "</td>"; echo "<td>" . http_img_pack('rien.gif', " ", "width='10'") ."</td>\n"; echo "<td style='width: 100%'>"; echo _T('texte_messages_publics'); echo gros_titre("<a href='$url'>$titre</a>",'', false); echo "</td></tr></table>"; }
function exec_mots_edit_args($id_mot, $id_groupe, $new, $table='', $table_id='', $titre='', $redirect='', $ajouter_id_article='') { global $spip_lang_right, $connect_statut, $les_notes; $autoriser_editer = $editer = false; if ($new=='oui') $autoriser_editer = true; if (($new=='oui') OR $autoriser_editer) $editer = true; $ok = false; $row = sql_fetsel("*", "spip_mots", "id_mot=$id_mot"); if ($row) { $id_mot = $row['id_mot']; $titre_mot = $row['titre']; $descriptif = $row['descriptif']; $texte = $row['texte']; $extra = $row['extra']; $id_groupe = $row['id_groupe']; $onfocus =''; $autoriser_editer = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); if (!_request('edit')) $editer = false; else $editer = $autoriser_editer; $ok = true; } else { $row = sql_countsel('spip_groupes_mots', ($table ? "tables_liees REGEXP '(^|,)$table($|,)'" : '') //($table ? "$table='oui'" : '') ); if (!$new OR !autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)) OR (!$row AND !$table)) { include_spip('inc/minipres'); echo minipres(_T('info_mot_sans_groupe')); } else { $id_mot = 0; $descriptif = $texte = ''; if (!$row) { // cas pathologique: // creation d'un mot sans groupe de mots cree auparavant // (ne devrait arriver qu'en cas d'appel explicite ou // destruction concomittante des groupes de mots idoines) if ($redirect) $redirect = '&redirect=' . $redirect; if ($titre) $titre = "&titre=".rawurlencode($titre); include_spip('inc/headers'); redirige_par_entete(redirige_action_auteur('instituer_groupe_mots', $table, 'mots_edit', "new=$new&table=$table&table_id=$table_id&ajouter_id_article=$ajouter_id_article$titre$redirect", true)); } $ok = true; } } if ($ok) { pipeline('exec_init',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); $out = $commencer_page("« ".sinon($titre_mot,_T('texte_nouveau_mot'))." »", "naviguer", "mots") . debut_gauche('',true); ////////////////////////////////////////////////////// // Boite "voir en ligne" // if ($id_mot) { $out .= debut_boite_info(true); $out .= "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" . _T('titre_gauche_mots_edit') . "<br /><span class='spip_xx-large'>" . $id_mot . '</span></div>'; $out .= voir_en_ligne ('mot', $id_mot, false, 'racine-24.gif', false, false); $out .= fin_boite_info(true); // Logos du mot-clef $flag_editable = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); $iconifier = charger_fonction('iconifier', 'inc'); $out .= $iconifier('id_mot', $id_mot, 'mots_edit', false, $flag_editable); } else $flag_editable = false; // // Afficher les boutons de creation // $res =''; if ($id_groupe AND autoriser('modifier','groupemots',$id_groupe)) { $res = icone_horizontale(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), "groupe-mot-24.gif", "edit.gif", false) . icone_horizontale(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit", "new=oui&id_groupe=$id_groupe&redirect=" . generer_url_retour('mots_tous')), "mot-cle-24.gif", "creer.gif", false); } $out .= pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . bloc_des_raccourcis($res . icone_horizontale(_T('icone_voir_tous_mots_cles'), generer_url_ecrire("mots_tous",""), "mot-cle-24.gif", "rien.gif", false)) . creer_colonne_droite('',true) . pipeline('affiche_droite',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . debut_droite('',true); // --- Voir le mot ---- $out .= debut_cadre_relief("mot-cle-24.gif",true,'','','mot-voir',$editer?'none':''); if ($flag_editable) $out .= icone_inline(_T('icone_modifier_mot'), generer_url_ecrire('mots_edit',"id_mot=$id_mot&edit=oui"), "mot-cle-24.gif", "rien.gif",$spip_lang_right,false," onclick=\"$('#mot-editer').show();$('#mot-voir').hide();return false;\""); $out .= gros_titre(sinon($titre_mot,_T('texte_nouveau_mot')),'',false); $out .= "<div class='nettoyeur'></div>"; $contenu_mot = ""; if ($descriptif) { $contenu_mot .= "<div style='border: 1px dashed #aaaaaa; ' class='verdana1 spip_small'>" . "<b>" . _T('info_descriptif') . "</b> " . propre($descriptif) . " " . "</div>"; } if (strlen($texte)>0){ $contenu_mot .= "<p class='verdana1 spip_small'>" . propre($texte) . "</p>"; } if ($les_notes) { $contenu_mot .= debut_cadre_relief('',true) . "<div dir='" . lang_dir() ."' class='arial11'>" . justifier("<b>"._T('info_notes')." :</b> ".$les_notes) . "</div>" . fin_cadre_relief(true); } $contexte = array('id'=>$id_mot); // permettre aux plugin de faire des modifs ou des ajouts $contenu_mot = pipeline('afficher_contenu_objet', array( 'args'=>array( 'type'=>'mot', 'id_objet'=>$id_mot, 'contexte'=>$contexte ), 'data'=> $contenu_mot ) ); $out .= $contenu_mot; if ($id_mot) { if ($connect_statut == "0minirezo") $aff_articles = "'prepa','prop','publie','refuse'"; else $aff_articles = "'prop','publie'"; $out .= afficher_objets('rubrique','<b>' . _T('info_rubriques_liees_mot') . '</b>', array("FROM" => 'spip_rubriques AS rubrique LEFT JOIN spip_mots_rubriques AS lien ON lien.id_rubrique=rubrique.id_rubrique', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "rubrique.titre")); $out .= afficher_objets('article',_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles LEFT JOIN spip_mots_articles AS lien ON lien.id_article=articles.id_article", 'WHERE' => "lien.id_mot=$id_mot AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC")); $out .= afficher_objets('breve','<b>' . _T('info_breves_liees_mot') . '</b>', array("FROM" => 'spip_breves AS breves LEFT JOIN spip_mots_breves AS lien ON lien.id_breve=breves.id_breve', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "breves.date_heure DESC")); $out .= afficher_objets('site','<b>' . _T('info_sites_lies_mot') . '</b>', array("FROM" => 'spip_syndic AS syndic LEFT JOIN spip_mots_syndic AS lien ON lien.id_syndic=syndic.id_syndic', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "syndic.nom_site DESC")); } $out .= pipeline('affiche_milieu',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . fin_cadre_relief(true); // --- Editer le mot ---- if ($autoriser_editer){ $out .= "<div id='mot-editer'".($editer?"":" class='none'").'>'; $contexte = array( 'icone_retour'=>icone_inline(_T('icone_retour'),($editer AND $redirect)?rawurldecode($redirect): generer_url_ecrire('mots_edit','id_mot='.$id_mot,false,true), "mot-cle-24.gif", "rien.gif",$GLOBALS['spip_lang_left'],false,($editer AND $redirect)?"":" onclick=\"$('#mot-editer').hide();$('#mot-voir').show();return false;\""), 'redirect'=>$redirect?rawurldecode($redirect):generer_url_ecrire('mots_edit','id_mot='.$id_mot,'&',true), 'titre'=>sinon($titre_mot,$titre), 'new'=>$new == "oui"?$new:$id_mot, 'id_groupe'=>$id_groupe, 'config_fonc'=>'mots_edit_config', 'ajouter_id_article' => $ajouter_id_article, 'table'=>$table, 'table_id'=>$table_id ); $out .= recuperer_fond("prive/editer/mot", $contexte); $out .= '</div>'; } echo $out, fin_gauche(), fin_page(); } }
function exec_creer_zones_groupes_lcs_dist(){ // si pas autorise : message d'erreur if (!autoriser('voir', 'peupler_zones_lcs')) { include_spip('inc/minipres'); echo minipres(); exit; } // pipeline d'initialisation pipeline('exec_init', array('args'=>array('exec'=>'peupler_zones_lcs'),'data'=>'')); // entetes $commencer_page = charger_fonction('commencer_page', 'inc'); // titre, partie, sous_partie (pour le menu) echo $commencer_page(_T('tispipskelet:titre_peupler_zones_lcs'), "editer", "editer"); // titre echo "<br /><br /><br />\n"; // outch ! aie aie aie ! au secours ! $ze_logo='<img src="'._DIR_PLUGIN_TISPIPSKELET.'/img_pack/logo_biduls_acces-restreint_120.png" style="width:96px;vertical-align:middle;">'; echo gros_titre(_T('tispipskelet:Création des zones d’accès restreint issues des groupes de l’annuaire LCS'), $ze_logo, false); // colonne gauche echo debut_gauche('', true); echo debut_boite_info(true); echo propre(_T('tispipskelet:info_creer_zones_groupes_ldap')); echo fin_boite_info(true); echo pipeline('affiche_gauche', array('args'=>array('exec'=>'peupler_zones_lcs'),'data'=>'')); // colonne droite echo creer_colonne_droite('', true); echo pipeline('affiche_droite', array('args'=>array('exec'=>'peupler_zones_lcs'),'data'=>'')); if (autoriser('webmestre')) { $res= icone_horizontale(_L('Accès restreint'), generer_url_ecrire("acces_restreint"), "../"._DIR_PLUGIN_TISPIPSKELET."/img_pack/logo_acces_restreint_48.png", "",false); echo bloc_des_raccourcis($res); } // centre echo debut_droite('', true); // contenu include ("/var/www/lcs/includes/config.inc.php"); include ("/var/www/Annu/includes/ldap.inc.php"); $authlink=mysql_connect("$HOSTAUTH", "$USERAUTH", "$PASSAUTH"); list($user, $groups)=people_get_variables($login, true); include ("/var/www/lcs/includes/functions.inc.php"); function my_people_get_variables ($serveur,$port,$Dn) { $ldap_server=$serveur; $ldap_port=$port; $dn=$Dn; global $error; $error=""; // LDAP attribute $ldap_group_attr = array ( "cn", "memberuid", "description", // Description du groupe ); $ds = @ldap_connect ( $ldap_server, $ldap_port ); if ( $ds ) { $r = @ldap_bind ( $ds ); // Bind anonyme if ($r) { // Recherche des groupes d'appartenance dans la branche Groups $filter = "(&(objectclass=posixGroup))"; $result = @ldap_list ( $ds, $dn["groups"], $filter, $ldap_group_attr ); if ($result) { $info = @ldap_get_entries ( $ds, $result ); if ( $info["count"]) { for ($loop=0; $loop<$info["count"];$loop++) { //if ($info[$loop]["member"][0] == "") $typegr="posixGroup"; else $typegr="groupOfNames"; $typegr="posixGroup"; $ret_group[$loop] = array ( "cn" => $info[$loop]["cn"][0], //"owner" => $info[$loop]["owner"][0], "description" => utf8_decode($info[$loop]["description"][0]), "type" => $typegr ); } usort($ret_group, "cmp_cn"); } @ldap_free_result ( $result ); } // Fin recherche des groupes } else { $error = "Echec du bind anonyme"; } @ldap_close ( $ds ); } else { $error = "Erreur de connection au serveur LDAP"; } return array( $ret_group); } // Recherche des groupes d'appartenance de l'utilisateur $login list($groups)=my_people_get_variables($ldap_server,$ldap_port,$dn); $i=0; // Recherche du groupe principal for ($loop=0; $loop < count ($groups) ; $loop++) { if ( $groups[$loop]["cn"] == "Administratifs" ) $group_principal[] = "Administratifs"; elseif ( $groups[$loop]["cn"] == "Profs" ) $group_principal[] = "Profs"; elseif ( $groups[$loop]["cn"] == "Eleves" ) $group_principal[] = "Eleves"; //recherche des groupes secondaires // la tu filtres les groupes que tu veux garder parmi Classe, Equipe, Cours, Matière ou autre elseif ( ereg ("Classe", $groups[$loop]["cn"] ) ) { $groups_secondaires[$i] = $groups[$loop]["cn"]; $i++; $classes[] = $groups[$loop]["cn"]; } elseif ( ereg ("Equipe", $groups[$loop]["cn"] ) ) { $groups_secondaires[$i] = $groups[$loop]["cn"]; $i++; $equipes[] = $groups[$loop]["cn"]; } elseif ( ereg ("Cours", $groups[$loop]["cn"] ) ) { $groups_secondaires[$i] = $groups[$loop]["cn"]; $i++; $cours[] = $groups[$loop]["cn"]; } elseif ( ereg ("Matiere", $groups[$loop]["cn"] ) ) { $groups_secondaires[$i] = $groups[$loop]["cn"]; $i++; $matieres[] = $groups[$loop]["cn"]; } else { $groups_secondaires[$i] = $groups[$loop]["cn"]; $i++; $autres[] = $groups[$loop]["cn"]; } } $ret_all_groups=array('Groupe principal'=>$group_principal,'Groupes secondaires'=>$groups_secondaires,'Equipes'=>$equipes,'Cours'=>$cours,'Matières'=>$matieres,'Classes'=>$classes,'Autres'=>$autres); // echo recuperer_fond("prive/contenu/tispip_lcs_groupes_ldap",$_GET); echo "<div class='ajax'>".recuperer_fond("prive/contenu/tispip_lcs_groupes_ldap",array('all_groupes'=>$ret_all_groups, $_GET))."</div>"; /* echo "<div class='ajax'>".recuperer_fond("prive/contenu/ajouter_zones_groupes_annuaire",array('groupes_secondaires'=>$group_principal,'titre'=>'Groupe principal', $_GET))."</div>"; echo "<div class='ajax'>".recuperer_fond("prive/contenu/ajouter_zones_groupes_annuaire",array('groupes_secondaires'=>$equipes,'titre'=>'Equipes' ,'ajax' , $_GET))."</div>"; echo "<div class='ajax'>".recuperer_fond("prive/contenu/ajouter_zones_groupes_annuaire",array('groupes_secondaires'=>$cours,'titre'=>'Cours','p'=>'cours', 'ajax', $_GET))."</div>"; echo "<div class='ajax'>".recuperer_fond("prive/contenu/ajouter_zones_groupes_annuaire",array('groupes_secondaires'=>$matieres ,'titre'=>'Matières','p'=>'matieres', 'ajax', $_GET))."</div>"; echo "<div class='ajax'>".recuperer_fond("prive/contenu/ajouter_zones_groupes_annuaire",array('groupes_secondaires'=>$classes,'titre'=>'Classes' , $_GET))."</div>"; */ // fin contenu echo pipeline('affiche_milieu', array('args'=>array('exec'=>'peupler_zones_lcs'),'data'=>'')); echo fin_gauche(), fin_page(); }
function afficher_corps_articles($id_article, $virtuel, $row) { $res = ''; if ($row['statut'] == 'prop') { $res .= "<p class='article_prop'>"._T('text_article_propose_publication'); if ($GLOBALS['meta']['forum_prive_objets'] != 'non') $res .= ' '._T('text_article_propose_publication_forum'); $res.= "</p>"; } if ($virtuel) { $res .= debut_boite_info(true) . "\n<div style='text-align: center'>" . _T('info_renvoi_article') . " " . propre("[->$virtuel]") . '</div>' . fin_boite_info(true); } else { $type = 'article'; $contexte = array( 'id'=>$id_article, 'id_rubrique'=>$row['id_rubrique'], 'id_secteur' => $row['id_secteur'] ); $fond = recuperer_fond("prive/contenu/$type",$contexte); // permettre aux plugin de faire des modifs ou des ajouts $fond = pipeline('afficher_contenu_objet', array( 'args'=>array( 'type'=>$type, 'id_objet'=>$id_article, 'contexte'=>$contexte), 'data'=> ($fond))); $res .= "<div id='wysiwyg'>$fond</div>"; } return $res; }
function afficher_site($id_syndic, $id_rubrique, $nom_site, $row){ global $spip_lang_right; $cherche_mot = _request('cherche_mot'); $select_groupe = _request('select_groupe'); $id_secteur = $row["id_secteur"]; $url_site = $row["url_site"]; $url_syndic = $row["url_syndic"]; $syndication = $row["syndication"]; $statut = $row["statut"]; $date_heure = $row["date"]; $date_syndic = $row['date_syndic']; $flag_administrable = autoriser('modifier','site',$id_syndic); $flag_editable = ($flag_administrable OR ($GLOBALS['meta']["proposer_sites"] > 0 AND ($statut == 'prop'))); $meme_rubrique = charger_fonction('meme_rubrique', 'inc'); $iconifier = charger_fonction('iconifier', 'inc'); if ($flag_editable AND ($statut == 'publie')) $dater = charger_fonction('dater', 'inc'); $editer_mots = charger_fonction('editer_mots', 'inc'); if ($flag_administrable) $instituer_site = charger_fonction('instituer_site','inc'); echo debut_grand_cadre(true); echo afficher_hierarchie($id_rubrique); echo fin_grand_cadre(true); echo debut_gauche('', true); echo debut_boite_info(true); echo pipeline ('boite_infos', array('data' => '', 'args' => array( 'type'=>'site', 'id' => $id_syndic, 'row' => $row ) )); echo fin_boite_info(true); echo $iconifier('id_syndic', $id_syndic, 'sites', false, $flag_administrable); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')); echo creer_colonne_droite('', true); echo $meme_rubrique($id_rubrique, $id_syndic, 'syndic'); echo pipeline('affiche_droite',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')); echo bloc_des_raccourcis( icone_horizontale(_T('icone_voir_sites_references'), generer_url_ecrire("sites_tous",""), "site-24.gif","rien.gif", false) ); echo debut_droite('', true); if ($syndication == 'off' OR $syndication == 'sus') $droit = $id_rubrique; else $droit = 0; $url_affichee = $url_site; if (strlen($url_affichee) > 40) $url_affichee = substr($url_affichee, 0, 30)."..."; $actions = ($flag_editable ? icone_inline(_T('icone_modifier_site'), generer_url_ecrire('sites_edit',"id_syndic=$id_syndic"), "site-24.gif", "edit.gif",$spip_lang_right) : ""); $haut = "<div class='bandeau_actions'>$actions</div>". gros_titre($nom_site?$nom_site:"("._T('info_sans_titre_2').")", '' , false) . "<a href='$url_site' class='url_site'>$url_affichee</a>"; $type = 'site'; $contexte = array('id'=>$id_syndic,'id_rubrique'=>$id_rubrique); $fond = recuperer_fond("prive/contenu/$type",$contexte); // permettre aux plugin de faire des modifs ou des ajouts $fond = pipeline('afficher_contenu_objet', array( 'args'=>array( 'type'=>$type, 'id_objet'=>$id_syndic, 'contexte'=>$contexte), 'data'=> $fond)); $fond = "<div id='wysiwyg'>$fond</div>"; $onglet_contenu = (_INTERFACE_ONGLETS? ($statut == 'prop' ? "<p class='site_prop'>"._T('info_site_propose')." <b>".affdate($date_heure)." </b></p>" : "") . $fond:"") . (($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") ? "<p class='site_syndique'><a href='".htmlspecialchars($url_syndic)."'>" . http_img_pack('feed.png', 'RSS'). '</a>'._T('info_site_syndique').'</p>' . (($syndication == "off" OR $syndication=="sus") ? "<div class='site_syndique_probleme'>" . _T('avis_site_syndique_probleme', array('url_syndic' => quote_amp($url_syndic))) . redirige_action_auteur('editer_site', $id_syndic, 'sites', '', "<input type='hidden' name='reload' value='oui' /> <input type='submit' value=\"" . attribut_html(_T('lien_nouvelle_recuperation')) . "\" class='spip_xx-small' />") . "</div>" : "") . afficher_objets('syndic_article',_T('titre_articles_syndiques'), array('FROM' => 'spip_syndic_articles', 'WHERE' => "id_syndic=$id_syndic", 'ORDER BY' => "date DESC"), $id_syndic) . ($date_syndic ? "<div class='date_syndic'>" . _T('info_derniere_syndication').' '.affdate_heure($date_syndic) .".</div>" : "") . "<div class='mise_a_jour_syndic'>" . redirige_action_post('editer_site', $id_syndic, 'sites', "id_syndic=$id_syndic", "<input type='hidden' name='reload' value='oui' /> <input type='submit' value=\"" . attribut_html(_T('lien_mise_a_jour_syndication')) . "\" class='spip_xx-small' />") . "</div>" : choix_feed($id_syndic, $id_rubrique, $nom_site, $row)) . (_INTERFACE_ONGLETS?"":($flag_administrable ? options_moderation($row) : "")) ; $onglet_proprietes = (_INTERFACE_ONGLETS?"": $fond . ($statut == 'prop' ? "<p class='site_prop'>"._T('info_site_propose')." <b>".affdate($date_heure)." </b></p>" : "") ) . afficher_site_rubrique($id_syndic, $id_rubrique, $id_secteur) . ($dater ? $dater($id_syndic, $flag_editable, $statut, 'syndic', 'sites', $date_heure) : "") . $editer_mots('syndic', $id_syndic, $cherche_mot, $select_groupe, $flag_editable, true, 'sites') . (_INTERFACE_ONGLETS?($flag_administrable ? options_moderation($row) : ""):"") . pipeline('affiche_milieu',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')) ; $discuter = charger_fonction('discuter', 'inc'); $onglet_discuter = $discuter($id_syndic, 'sites', 'id_syndic'); $onglet_documents = "" ; $onglet_interactivite = ""; echo "<div class='fiche_objet'>" . $haut . afficher_onglets_pages(array( 'voir' => _T('onglet_contenu'), 'props' => _T('onglet_proprietes'), 'docs' => _T('onglet_documents'), 'interactivite' => _T('onglet_interactivite'), 'discuter' => _T('onglet_discuter')), _INTERFACE_ONGLETS? array( 'voir'=>$onglet_contenu, 'props'=>$onglet_proprietes, 'docs'=>$onglet_documents, 'interactivite'=>$onglet_interactivite, 'discuter'=>$onglet_discuter) :array( 'props'=>$onglet_proprietes, 'voir'=>$onglet_contenu ) ) . "</div>" . (_INTERFACE_ONGLETS?"":$onglet_discuter); }
function cs_boite_rss() { include_spip('inc/autoriser'); if (!defined('boites_privees_CS') || !autoriser('configurer','csinfosrss')) return ''; return debut_boite_info(true) . '<p><b>'._T('couteauprive:rss_titre').'</b></p><div class="cs_boite_rss"><div><p>'._T('couteauprive:rss_attente').'</p><noscript>'._T('couteauprive:outil_inactif').' !</noscript></div></div>' /*.'<div style="text-align: right; font-size: 87%;"><a title="'._T('couteauprive:rss_desactiver').'" href="' .generer_url_ecrire(_request('exec'),'cmd=switch&outil=rss_couteau_suisse').'">'._T('couteauprive:supprimer_cadre').'</a></div>'*/ . fin_boite_info(true); }
function exec_spiplistes_import_export(){ include_spip('inc/presentation'); include_spip('inc/acces'); include_spip('inc/spiplistes_api'); include_spip('inc/spiplistes_api_presentation'); global $connect_statut , $connect_toutes_rubriques , $connect_id_auteur ; static $eol = PHP_EOL; // initialise les variables postées par le formulaire foreach(array( 'btn_valider_import', 'abos_liste', 'format_abo', 'forcer_abo' // retour import , 'btn_valider_export', 'export_id' // retour export , 'separateur', 'exporter_statut_auteur' ) as $key) { $$key = _request($key); } $separateur = (($separateur == 'tab') ? "\t" : ';'); $flag_admin = ($connect_statut == "0minirezo") && $connect_toutes_rubriques; $flag_moderateur = false; $flag_autorise = $flag_admin || ( $flag_moderateur = ($listes_moderees = spiplistes_mod_listes_id_auteur($connect_id_auteur)) ) ; // exportation de liste. Retour formulaire local. // les admins tt rubriques peuvent tt exporter // le moderateur ne peut exporter que sa liste if( $flag_autorise && ( $flag_admin || in_array($export_id, $listes_moderees) ) ) { // generation du fichier export ? if($btn_valider_export && $export_id) { $sql_select = array('a.email', 'a.nom', 'a.login', 'a.statut'); $sql_from = array('spip_auteurs AS a'); $sql_where = array("a.statut!=".sql_quote('5poubelle')); if(($id_liste = intval($export_id)) > 0) { // exportation d'une liste ID ? $sql_from[] = "spip_auteurs_listes AS l"; $sql_where[] = "l.id_liste=".sql_quote($id_liste); $sql_where[] = "a.id_auteur=l.id_auteur"; } else { // autre type de liste if($export_id == "sans_abonnement") { if(spiplistes_spip_est_inferieur_193()) { $sql_where[] = "a.id_auteur NOT IN (SELECT id_auteur FROM spip_auteurs_listes GROUP BY id_auteur)"; } else { $selection = sql_select("id_auteur", "spip_auteurs_listes", '','id_auteur','','','','',false); $sql_where[] = "a.id_auteur NOT IN ($selection)"; } } else if($export_id == "desabo") { $sql_from[] = "spip_auteurs_elargis AS f"; $sql_where[] = "a.id_auteur=f.id_auteur"; $sql_where[] = "f.`spip_listes_format`=".sql_quote('non'); } } $sql_result = sql_select( $sql_select , $sql_from , $sql_where ); $nb_inscrits = sql_count($sql_result); $exporter_statut_auteur = ($exporter_statut_auteur == 'oui'); $str_export = '' . '# ' . spiplistes_html_signature(_SPIPLISTES_PREFIX, false).$eol . '# '._T('spiplistes:membres_liste').$eol . '# liste id: $export_id\n' . '# '.spiplistes_nom_site_texte().$eol . '# '.$GLOBALS['meta']['adresse_site'].$eol . '# date: '.date('Y-m-d').$eol . '# nb abos: '.$nb_inscrits.$eol.$eol . '#'.$eol . '# \'email\''.$separateur.'\'login\''.$separateur.'\'nom\'' . ($exporter_statut_auteur ? $separateur.'\'statut\'' : '') . $eol.$eol ; while($row = sql_fetch($sql_result)) { $str_export .= $row['email'].$separateur.$row['login'].$separateur.$row['nom'] . ($exporter_statut_auteur ? $separateur.$row['statut'] : '') . "\n" ; } // envoie le fichier header('Content-type: text/plain'); header('Content-Disposition: attachment; filename="export_liste_$export_id-'.date("Y-m-d").'.txt"'); echo ($str_export); exit; } // fin de generation du fichier export } //////////////////////////////////// // PAGE CONTENU //////////////////////////////////// $titre_page = _T('spiplistes:listes_de_diffusion_'); // Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'> $rubrique = _SPIPLISTES_PREFIX; $sous_rubrique = "import_export"; $commencer_page = charger_fonction('commencer_page', 'inc'); echo($commencer_page(_T('spiplistes:spiplistes') . " - " . _T('spiplistes:import_export'), $rubrique, $sous_rubrique)); // la gestion du courrier est réservée aux admins if (!$flag_autorise) { die (spiplistes_terminer_page_non_autorisee() . fin_page()); } $page_result = "" . "<br /><br /><br />\n" . spiplistes_gros_titre($titre_page, '', true) . barre_onglets($rubrique, $sous_rubrique) . debut_gauche($rubrique, true) . pipeline('affiche_gauche', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) //. creer_colonne_droite($rubrique, true) // spiplistes_boite_raccourcis() s'en occupe . spiplistes_boite_raccourcis(true) . spiplistes_boite_autocron() . pipeline('affiche_droite', array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) . debut_droite($rubrique, true) ; // importation $flag_import_fichier_ok = (count($_FILES) && is_array($fichier_import = $_FILES['fichier_import']) && !$fichier_import['error']); if($btn_valider_import && $flag_import_fichier_ok) { if(!($abos_liste && is_array($abos_liste) && count($abos_liste))) { // A oublie' de selectionner une liste de destination $page_result .= spiplistes_boite_alerte(_T('spiplistes:Selectionnez_une_liste_pour_import'), true); } } // import form $page_result .= "" . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'listes_in-24.png', true , '', _T('spiplistes:Importer')) . "<p class='verdana2'>"._T('spiplistes:_aide_import')."</p>\n" ; if($flag_import_fichier_ok) { //syslog(LOG_NOTICE, 'memory_limit: ' . get_cfg_var('memory_limit')); //syslog(LOG_NOTICE, 'memory_get_usage[1]: ' . memory_get_usage()); //syslog(LOG_NOTICE, 'memory_get_peak_usage[1]: ' . memory_get_peak_usage()); //syslog(LOG_NOTICE, 'filesize: ' . filesize($fichier_import['tmp_name'])); if($abos_liste && is_array($abos_liste) && count($abos_liste)) { include_spip('inc/spiplistes_import'); $page_result .= '' . debut_boite_info(true) . spiplistes_titre_boite_info(_T('spiplistes:Resultat_import')) . spiplistes_import( $fichier_import['tmp_name'] , $fichier_import['name'] , $abos_liste , $format_abo , $separateur , $flag_admin , $listes_moderees , $forcer_abo ) . fin_boite_info(true) . '<br />' ; } } $list = sql_select( array('id_liste','titre','texte') , 'spip_listes' , spiplistes_listes_sql_where_or(_SPIPLISTES_LISTES_STATUTS_OK)); $nb_listes = sql_count($list); if($nb_listes) { $listes_array = array(); while($row = sql_fetch($list)) { $listes_array[] = $row; } } if(!$nb_listes) { $page_result .= spiplistes_boite_alerte(_T('spiplistes:Pas_de_liste_pour_import'), true); } else { $page_result .= "" . "<form action='" . generer_url_ecrire(_SPIPLISTES_EXEC_IMPORT_EXPORT) . "' method='post' enctype='multipart/form-data'name='importform'>\n" . debut_cadre_relief("", true, "", _T('spiplistes:Liste_de_destination')) . "<p class='verdana2'>"._T('spiplistes:Selectionnez_une_liste_de_destination')."</p>\n" . "<ul class='liste-listes verdana2'>\n" ; $listes_sans_patron = array(); if(count($listes_array) > 0) { // une liste sans patron ne peut pas contenir d'abonnés. // récupère la liste des listes qui n'ont pas de patron. $sql_result = sql_select('id_liste', 'spip_listes' , array("patron=''" , "(statut=".implode(" OR statut=", array_map("sql_quote", explode(";", _SPIPLISTES_LISTES_STATUTS_OK))).")" ) ); while($row = sql_fetch($sql_result)) { $listes_sans_patron[] = $row['id_liste']; } } // liste des listes (destination) $couleur_ligne = 0; foreach($listes_array as $row) { $id_liste = $row['id_liste'] ; if( !in_array($id_liste, $listes_sans_patron) && ($flag_admin || in_array($id_liste, $listes_moderees)) ) { $titre = couper($row['titre'], 30, '...'); $texte = couper($row['texte'], 30, '...'); $label = _T('spiplistes:Liste_de_destination').": $titre"; $checked = ($nb_listes == 1) ? "checked='checked'" : ""; $class = ($couleur_ligne++ % 2) ? "class='row-even'" : ""; $page_result .= "" . "<li style='padding:4px' $class >" . "<input name='abos_liste[]' type='checkbox' id='abos_$id_liste' value='$id_liste' title=\"$label\" $checked />\n" . "<label for='abos_$id_liste'><strong>".$titre."</strong> <em>".$texte."</em></label>\n" . "</li>\n" ; } } $page_result .= "" . "</ul>" . fin_cadre_relief(true) // // Sélection du format de réception . debut_cadre_relief("", true, "", _T('spiplistes:format_de_reception_')) . "<ul class='liste-listes verdana2'>\n" . "<li>" . spiplistes_form_input_radio('format_abo', 'html', _T('spiplistes:html'), true, true, false) . "</li>\n" . "<li>" . spiplistes_form_input_radio('format_abo', 'texte', _T('spiplistes:texte'), false, true, false) . "</li>\n" . "<li>" . spiplistes_form_input_radio('format_abo', 'non', _T('spiplistes:desabonnement'), false, true, false) . "</li>\n" . "</ul>" . fin_cadre_relief(true) // // cadre insertion nom de fichier . debut_cadre_relief("", true, "", _T('spiplistes:importer_fichier')) . "<input type='file' size='40' name='fichier_import' />" // . spiplistes_fieldset_separateur($separateur) // // forcer les abonnements . spiplistes_fieldset_option( _T('spiplistes:option_import_') , 'forcer_abo' , 'oui' , _T('spiplistes:forcer_abos_'), ($forcer_abo == 'oui') ) // . fin_cadre_relief(true) . spiplistes_form_bouton_valider('btn_valider_import') . spiplistes_form_fin(true) ; } // end else $page_result .= fin_cadre_trait_couleur(true); // fin formulaire import // export //(original from erational.org) // formulaire d'export if ($nb_listes > 0) { $page_result .= "" . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'listes_out-24.png', true, "", _T('spiplistes:Exporter')) // exportation par listes . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_IMPORT_EXPORT), true) . debut_cadre_relief("", true, "", _T('spiplistes:Exporter_une_liste_d_abonnes')) . "<ul class='liste-listes verdana2'>\n" ; $couleur_ligne = 0; foreach($listes_array as $row) { $id_liste = intval($row['id_liste']); if($flag_admin || in_array($id_liste, $listes_moderees)) { $titre = couper($row['titre'], 30, '...'); $class = ($couleur_ligne++ % 2) ? "class='row-even'" : ""; list($nb_abos, $html, $texte) = spiplistes_listes_nb_abonnes_compter($id_liste, true); if($nb_abos > 0) { $page_result .= "" . "<li style='padding:4px' $class >" . spiplistes_form_input_radio('export_id', $id_liste , "<strong>".$titre."</strong> <em>" . spiplistes_nb_abonnes_liste_str_get($id_liste, $nb_abos, $html, $texte) . "</em>" , ($nb_listes==1), true, false) . "</li>\n" ; } } } $page_result .= "" . "</ul>" . fin_cadre_relief(true) . "<!-- fin de liste export -->\n" // // exportation autres . debut_cadre_relief("", true, "", _T('spiplistes:Exporter_une_liste_de_non_abonnes')) . "<div class='verdana2'>\n" . spiplistes_form_input_radio('export_id', 'sans_abonnement', _T('spiplistes:abonne_aucune_liste'), false, true, false) . spiplistes_form_input_radio('export_id', 'desabo', _T('spiplistes:desabonnes'), false, true, false) . "</div>" . fin_cadre_relief(true) . "<fieldset class='verdana2'><legend>"._T('spiplistes:export_etendu_').":</legend>" . spiplistes_form_input_checkbox('exporter_statut_auteur', 'oui' , _T('spiplistes:exporter_statut'), false, true, false) . "</fieldset>\n" // . spiplistes_fieldset_separateur($separateur) // . spiplistes_form_bouton_valider('btn_valider_export') . spiplistes_form_fin(true) . fin_cadre_trait_couleur(true) ; } echo($page_result); echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) , spiplistes_html_signature(_SPIPLISTES_PREFIX) , fin_gauche(), fin_page(); }
function exec_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 cadre_auteur_infos($id_auteur, $auteur) { $boite = pipeline ('boite_infos', array('data' => '', 'args' => array( 'type'=>'auteur', 'id' => $id_auteur, 'row' => $auteur ) )); if ($boite) return debut_boite_info(true) . $boite . fin_boite_info(true); }
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 bandeau_auteurs($visiteurs) { global $connect_id_auteur; $ret = debut_gauche("auteurs",true) . debut_boite_info(true); if ($visiteurs) $ret .= "\n<p class='arial1'>"._T('info_gauche_visiteurs_enregistres'). '</p>'; else $ret .= "\n<p class='arial1'>"._T('info_gauche_auteurs'). '</p>'; if (autoriser('voir', 'auteur')) $ret .= "\n<p class='arial1'>". _T('info_gauche_auteurs_exterieurs') . '</p>'; $ret .= fin_boite_info(true); $ret .= pipeline('affiche_gauche',array('args'=>array('exec'=>'auteurs'),'data'=>'')); if (autoriser('voir', 'auteur')) { if (autoriser('creer', 'auteur')) $res = icone_horizontale(_T('icone_creer_nouvel_auteur'), generer_url_ecrire("auteur_infos", 'new=oui'), "auteur-24.gif", "creer.gif", false); else $res = ''; $res .= icone_horizontale(_T('icone_informations_personnelles'), generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur"), "fiche-perso-24.gif","rien.gif", false); if (avoir_visiteurs(true)) { if ($visiteurs) $res .= icone_horizontale (_T('icone_afficher_auteurs'), generer_url_ecrire("auteurs", "statut=" . AUTEURS_MIN_REDAC), "auteur-24.gif", "", false); else $res .= icone_horizontale (_T('icone_afficher_visiteurs'), generer_url_ecrire("auteurs","statut=!" . AUTEURS_MIN_REDAC), "auteur-24.gif", "", false); } $ret .= bloc_des_raccourcis($res); } $ret .= creer_colonne_droite('auteurs',true); $ret .= pipeline('affiche_droite',array('args'=>array('exec'=>'auteurs'),'data'=>'')); $ret .= debut_droite('',true); $ret .= "\n<br />"; $ret .= gros_titre($visiteurs ? _T('info_visiteurs') : _T('info_auteurs'),'',false); $ret .= "\n<br />"; return $ret; }