uawdijnntqw1x1x1
IP : 216.73.217.60
Hostname : webm005.cluster127.gra.hosting.ovh.net
Kernel : Linux webm005.cluster127.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
histoio
/
www
/
f41a3
/
.
/
..
/
local
/
..
/
prive
/
..
/
35802
/
formulaires.tar
/
/
exporter_sites.php000060400000002625152526034060010340 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined("_ECRIRE_INC_VERSION")) { return; } function formulaires_exporter_sites_charger_dist() { if (!autoriser('exporter', '_sites')) { return false; } return array( 'id_parent' => 0, 'exporter_publie_seulement' => 0, 'exporter_avec_mots_cles' => 1, ); } function formulaires_exporter_sites_traiter_dist() { $id_parent = intval(_request('id_parent')); $exporter_publie_seulement = _request('exporter_publie_seulement') ? 1 : 0; $exporter_avec_mots_cles = _request('exporter_avec_mots_cles') ? 1 : 0; include_spip('inc/actions'); $redirect = generer_action_auteur('exporter_bookmarks', "$id_parent-$exporter_publie_seulement-$exporter_avec_mots_cles"); return array('redirect' => $redirect); } importer_sites.php000060400000006203152526034060010325 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined("_ECRIRE_INC_VERSION")) { return; } function formulaires_importer_sites_charger_dist() { if (!autoriser('importer', '_sites')) { return false; } return array( 'fichier_import' => 0, 'id_parent' => 0, 'importer_statut_publie' => 0, 'importer_les_tags' => 1, ); } function formulaires_importer_sites_verifier_dist() { $erreurs = array(); if (!_request('id_parent')) { $erreurs['id_parent'] = _T('info_obligatoire'); } $fichier_ok = info_fichiers_import('fichier_import'); if (!$fichier_ok) { $erreurs['fichier_import'] = _T('sites:erreur_fichier_incorrect'); } elseif (!charger_fonction('importer_bookmarks_' . $fichier_ok['format'], 'action', true)) { $erreurs['fichier_import'] = _T('sites:erreur_fichier_format_inconnu', array('fichier' => "<tt>" . $fichier_ok['name'] . "</tt>")); } return $erreurs; } function formulaires_importer_sites_traiter_dist() { $id_parent = intval(_request('id_parent')); $importer_statut_publie = _request('importer_statut_publie') ? true : false; $importer_tags = _request('importer_les_tags') ? true : false; $fichier_ok = info_fichiers_import('fichier_import'); $importer_bookmarks = charger_fonction('importer_bookmarks_' . $fichier_ok['format'], 'action'); $nb = $importer_bookmarks($fichier_ok, $id_parent, $importer_statut_publie, $importer_tags); if (!$nb) { $res = array('message_erreur' => _T('sites:info_aucun_site_importe')); } else { $res = array( 'message_ok' => singulier_ou_pluriel($nb, 'sites:info_1_site_importe', 'sites:info_nb_sites_importes') ); } return $res; } function info_fichiers_import($name) { static $fichier_ok = array(); if (!isset($fichier_ok[$name])) { if (sizeof($_FILES) < 0 or !isset($_FILES[$name]) or !$_FILES[$name]['size'] > 0 ) { return false; } if ($_FILES[$name]['error'] != 0) { return false; } $fichier_ok[$name] = array(); $fichier_ok[$name]['name'] = $_FILES[$name]['name']; $fichier_ok[$name]['chemin'] = $_FILES[$name]['tmp_name']; // On r�cup�re le contenu du fichier $fichier_ok[$name]['format'] = ''; lire_fichier($fichier_ok[$name]['chemin'], $fichier_ok[$name]['contenu']); if (stripos($fichier_ok[$name]['contenu'], 'NETSCAPE-Bookmark-file') !== false) { $fichier_ok[$name]['format'] = 'netscape'; } if ($_FILES[$name]['type'] == 'text/xml' and stripos($fichier_ok[$name]['contenu'], 'opml') !== false) { $fichier_ok[$name]['format'] = 'opml'; } } return $fichier_ok[$name]; } configurer_sites.php000060400000003640152526034060010631 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * Gestion du formulaire de configuration des sites et de la syndication * * @package SPIP\Sites\Formulaires **/ if (!defined("_ECRIRE_INC_VERSION")) { return; } /** * Chargement du formulaire de configuration des sites et de la syndication * * @return array * Environnement du formulaire **/ function formulaires_configurer_sites_charger_dist() { foreach (array( "activer_sites", "activer_syndic", "proposer_sites", "moderation_sites", ) as $m) { $valeurs[$m] = isset($GLOBALS['meta'][$m]) ? $GLOBALS['meta'][$m] : ''; } return $valeurs; } /** * Traitement du formulaire de configuration des sites et de la syndication * * @return array * Retours du traitement **/ function formulaires_configurer_sites_traiter_dist() { $res = array('editable' => true); foreach (array( "activer_sites", "activer_syndic", "moderation_sites", ) as $m) { if (!is_null($v = _request($m))) { ecrire_meta($m, $v == 'oui' ? 'oui' : 'non'); } } $v = _request('proposer_sites'); ecrire_meta('proposer_sites', in_array($v, array('0', '1', '2')) ? $v : '0'); $res['message_ok'] = _T('config_info_enregistree'); return $res; } site.html000060400000003727152526034060006406 0ustar00<div class="formulaire_spip formulaire_site ajax" id="formulaire_site"> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [(#ENV{editable}) <form method="post" action="#ENV{action}"> #ACTION_FORMULAIRE <fieldset> <legend><:info_site:></legend> <p class='explication'><:proposer_site:></p> <div class="editer-groupe"> <div class='editer saisie_nom_site obligatoire[ (#ENV*{erreurs}|table_valeur{nom_site}|oui)erreur]'> <label for="nom_site"><:sites:form_prop_nom_site:> <:info_obligatoire_02:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{nom_site})</span>] <input type="text" class="text" name="nom_site" id="nom_site" value="#ENV{nom_site}" size="30"[(#HTML5) required="required"] /> </div> <div class='editer saisie_url_site obligatoire[ (#ENV*{erreurs}|table_valeur{url_site}|oui)erreur]'> <label for="url_site"><:form_prop_url_site:> <:info_obligatoire_02:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{url_site})</span>] <input[ (#HTML5|?{type="url" class="text url",type="text" class="text"})] name="url_site" id="url_site" value="#ENV{url_site}" size="30" /> </div> <div class='editer saisie_description_site[ (#ENV*{erreurs}|table_valeur{description_site}|oui)erreur]'> <label for="description_site"><:form_prop_description:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{description_site})</span>] <textarea name="description_site" id="description_site" rows="6" cols="60">#ENV{description_site}</textarea> </div> </div> </fieldset> [(#REM) Piege a robots spammeurs ] <p style="display: none;"> <label for="nobot"><:antispam_champ_vide:></label> <input type="text" class="text" name="nobot" id="nobot" value="#ENV{nobot}" size="10" /> </p> <p class="boutons"><input type="submit" class="submit" value="<:bouton_valider:>" /></p> </form> ] </div> regler_moderation_site.php000060400000006145152526034060012007 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * Gestion du formulaire de réglage de la modération d'un site * * @package SPIP\Sites\Formulaires **/ if (!defined("_ECRIRE_INC_VERSION")) { return; } include_spip('inc/actions'); include_spip('inc/editer'); /** * Chargement du formulaire de réglage de la modération d'un site * * @uses formulaires_editer_objet_charger() * * @param int $id_syndic * Identifiant du site. * @param string $retour * URL de redirection après le traitement * @return array * Environnement du formulaire **/ function formulaires_regler_moderation_site_charger_dist($id_syndic, $retour = '') { $valeurs = formulaires_editer_objet_charger('site', $id_syndic, 0, 0, $retour, ''); # pour recuperer le logo issu d'analyse auto foreach (array('moderation', 'miroir', 'oubli', 'resume') as $k) { if (!$valeurs[$k]) { $valeurs[$k] = 'non'; } } return $valeurs; } /** * Identifier le formulaire en faisant abstraction des paramètres qui * ne représentent pas l'objet edité * * @param int $id_syndic * Identifiant du site * @param string $retour * URL de redirection après le traitement * @return string * Hash du formulaire */ function formulaires_regler_moderation_site_identifier_dist($id_syndic, $retour = '') { return serialize(array($id_syndic)); } /** * Vérifications du formulaire de réglage de la modération d'un site * * @param int $id_syndic * Identifiant du site. * @param string $retour * URL de redirection après le traitement * @return array * Erreurs du formulaire **/ function formulaires_regler_moderation_site_verifier_dist($id_syndic, $retour = '') { $erreurs = array(); foreach (array('moderation', 'miroir', 'oubli', 'resume') as $k) { if (!_request($k) or !in_array(_request($k), array('oui', 'non'))) { set_request($k, 'non'); } } return $erreurs; } /** * Traitements du formulaire de réglage de la modération d'un site * * @uses formulaires_editer_objet_traiter() * * @param int $id_syndic * Identifiant du site. * @param string $retour * URL de redirection après le traitement * @return array * Retours des traitements **/ function formulaires_regler_moderation_site_traiter_dist($id_syndic, $retour = '') { $res = formulaires_editer_objet_traiter('site', $id_syndic, 0, 0, $retour, ''); $res['editable'] = true; if (!isset($res['message_erreur'])) { $res['message_ok'] = _T('config_info_enregistree'); } return $res; } exporter_sites.html000060400000004503152526034060010512 0ustar00<div class="formulaire_spip formulaire_exporter formulaire_#FORM"> <h3 class="titrem"><:sites:titre_exporter_bookmarks:></h3> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [(#ENV{editable}) <p class="explication"><:sites:texte_expliquer_export_bookmarks:></p> <form method='post' action='#ENV{action}'><div> [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <div class="editer-groupe"> [<div class="editer editer_parent[ (#ENV**{erreurs}|table_valeur{id_parent}|oui)erreur]"> <label for="titreparent"><:sites:label_exporter_id_parent:>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_parent})</span> ] </label>(#VAL|chercher_rubrique{0,#ENV{id_parent},'site',#ENV{id_secteur},'',0,form_simple}) </div>] #SET{fl,sites} #SET{name,exporter_publie_seulement}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[ <span class='erreur_message'>(#GET{erreurs})</span> ] #SET{val,1} <div class="choix"> <input type="checkbox" class="checkbox" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#GET{val}|=={#ENV{#GET{name}}}|oui)checked="checked"] /> <label for="#GET{name}_#GET{val}">[(#GET{fl}|concat{':label_',#GET{name},'_',#GET{val}}|_T)]</label> </div> </div> #SET{name,exporter_avec_mots_cles}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[ <span class='erreur_message'>(#GET{erreurs})</span> ] #SET{val,1} <div class="choix"> <input type="checkbox" class="checkbox" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#GET{val}|=={#ENV{#GET{name}}}|oui)checked="checked"] /> <label for="#GET{name}_#GET{val}">[(#GET{fl}|concat{':label_',#GET{name},'_',#GET{val}}|_T)]</label> </div> </div> </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] <!--extra--> <p class="boutons"><input type='submit' class='submit' value='<:sites:bouton_exporter:>' /></p> </div></form> ] </div> editer_site_fonctions.php000060400000002553152526034060011643 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } function saisie_url_syndic($url_syndic, $name = 'url_syndic', $id = 'url_syndic') { $res = ""; if (strlen($url_syndic) < 8) { $url_syndic = "http://"; } // cas d'une liste de flux detectee par feedfinder : menu if (preg_match(',^select: (.+),', $url_syndic, $regs)) { $feeds = explode(' ', $regs[1]); $res .= "<select name='$name' id='$id'>\n"; foreach ($feeds as $feed) { $res .= '<option value="' . entites_html($feed) . '">' . $feed . "</option>\n"; } $res .= "</select>\n"; } else { $res .= "<input type='text' class='text' name='$name' id='$id' value=\"$url_syndic\" size='40' />\n"; } return $res; } editer_site.html000060400000011470152526034060007734 0ustar00<div class="formulaire_spip formulaire_editer formulaire_editer_site formulaire_editer_site-#ENV{id_site,nouveau}[ (#ENV**{logo}|oui)withlogo]"> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [<p class="notice">(#ENV*{erreurs}|table_valeur{verif_url_auto})</p>] [(#ENV{editable}) <form method='post' action='#ENV{action}'><div> [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <input type='hidden' name='id_syndic' value='#ENV{id_syndic}' /> <input type='hidden' name='syndication_old' value="#ENV**{syndication}" /> [<input type='hidden' name='logo' value='(#ENV**{logo,''})' />] [<input type='hidden' name='format_logo' value='(#ENV**{format_logo,''})' />] [<!-- Le logo auto-detecte --> <div class='previsu_logo_site'>(#ENV**{logo}|image_reduire{180,999})</div>] <div class="editer-groupe"> [(#ENV{id_syndic}|intval|>{0}|sinon{#ENV{url_site}}|non) [(#SESSION{statut}|=={0minirezo}|?{' ',#ENV{config}|table_valeur{proposer_sites}|>{0}|oui}) <div class="editer editer_referencement_automatise fieldset"> <fieldset> <div class="editer-groupe"> <div class="editer editer_url_auto pleine_largeur[ (#ENV**{erreurs}|table_valeur{url_auto}|oui)erreur]"> [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{url_auto})</span>] <p class="explication"><:sites:texte_referencement_automatique:></p> <input type="text" name="url_auto" id="url_auto" class='text' size='40' value="[(#ENV{url_site}|sinon{http://})]" /> </div> </div> <p class="boutons"><input type='submit' class='submit' name='ajoute_url_auto' value='<:bouton_ajouter:>' /></p> <p class="explication"><:sites:texte_non_fonction_referencement:></p> </fieldset> </div> ]] <div class="editer editer_nom_site obligatoire[ (#ENV**{erreurs}|table_valeur{nom_site}|oui)erreur]"> <label for="nom_site"><:sites:info_nom_site_2:></label>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{nom_site})</span> ]<input type='text' class='text' name='nom_site' id='nom_site' value="[(#ENV**{nom_site})]" /> </div> <div class="editer editer_url_site obligatoire[ (#ENV**{erreurs}|table_valeur{url_site}|oui)erreur]"> <label for="url_site"><:sites:entree_adresse_site:></label>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{url_site})</span> ]<input type='text' class='text' name='url_site' id='url_site' value="[(#ENV**{url_site})]" /> </div> [<div class="editer editer_parent[ (#ENV**{erreurs}|table_valeur{id_parent}|oui)erreur]"> <label for="titreparent"><:titre_cadre_interieur_rubrique:>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_parent})</span> ] </label>(#VAL|chercher_rubrique{#ENV{id_syndic},#ENV{id_rubrique}|sinon{#ENV{id_parent}},'site',#ENV{id_secteur},#ENV**{config}|table_valeur{restreint},0,form_simple}) </div>] <div class="editer editer_descriptif[ (#ENV**{erreurs}|table_valeur{descriptif}|oui)erreur]"> <label for="descriptif"><:sites:entree_description_site:></label>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{descriptif})</span> ]<textarea name='descriptif' id='descriptif' rows='4' cols='40'>[(#ENV**{descriptif})]</textarea> </div> [(#ENV**{config}|table_valeur{activer_syndic}|=={non}|?{'',' '}) <div class="editer editer_syndications fieldset"> <fieldset> <h3 class="legend"><img src='#CHEMIN_IMAGE{rss-16.png}' alt="<:sites:info_syndication:>" /> <:sites:bouton_radio_syndication:> #AIDER{rubsyn}</h3> <div class="editer-groupe"> <div class="editer editer_syndication pleine_largeur"> <div class="choix"> <input type='radio' class="radio" name='syndication' value='non' id='syndication_non'[ (#ENV{syndication}|match{oui|off}|?{'','checked="checked"'})] /> <label for='syndication_non'><:sites:bouton_radio_non_syndication:></label> </div> <div class="choix"> <input type='radio' class="radio" name='syndication' value='oui' id='syndication_oui'[ (#ENV{syndication}|match{oui|off}|?{'checked="checked"'})] /> <label for='syndication_oui'><:sites:bouton_radio_syndication:></label> </div> </div> <div class="editer editer_url_syndic"> <label for='url_syndic'><:sites:entree_adresse_fichier_syndication:> </label>[(#ENV**{url_syndic}|saisie_url_syndic{url_syndic,url_syndic})] </div> </div> </fieldset> </div> ] </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] <!--extra--> <p class="boutons"><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> </div></form> ] </div> importer_sites.html000060400000005526152526034060010511 0ustar00<div class="formulaire_spip formulaire_importer formulaire_#FORM"> <h3 class="titrem"><:sites:titre_importer_bookmarks:></h3> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [(#ENV{editable}) <p class="explication"><:sites:texte_expliquer_import_bookmarks:></p> <form method='post' action='#ENV{action}' enctype="multipart/form-data"><div> [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <div class="editer-groupe"> #SET{fl,sites} #SET{name,fichier_import}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>[ <span class='erreur_message'>(#GET{erreurs})</span> ]<input type="file" class="text file" name="#GET{name}" value="#ENV*{#GET{name}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/> </div> [<div class="editer editer_parent obligatoire[ (#ENV**{erreurs}|table_valeur{id_parent}|oui)erreur]"> <label for="titreparent"><:titre_cadre_interieur_rubrique:>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_parent})</span> ] </label>(#VAL|chercher_rubrique{0,#ENV{id_parent},'site',#ENV{id_secteur},'',0,form_simple}) </div>] #SET{name,importer_statut_publie}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[ <span class='erreur_message'>(#GET{erreurs})</span> ] #SET{val,1} <div class="choix"> <input type="checkbox" class="checkbox" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#GET{val}|=={#ENV{#GET{name}}}|oui)checked="checked"] /> <label for="#GET{name}_#GET{val}">[(#GET{fl}|concat{':label_',#GET{name},'_',#GET{val}}|_T)]</label> </div> </div> [(#REM) #SET{name,importer_les_tags}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[ <span class='erreur_message'>(#GET{erreurs})</span> ] #SET{val,1} <div class="choix"> <input type="checkbox" class="checkbox" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#GET{val}|=={#ENV{#GET{name}}}|oui)checked="checked"] /> <label for="#GET{name}_#GET{val}">[(#GET{fl}|concat{':label_',#GET{name},'_',#GET{val}}|_T)]</label> </div> </div> ] </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] <!--extra--> <p class="boutons"><input type='submit' class='submit' value='<:sites:bouton_importer:>' /></p> </div></form> ] </div> site.php000060400000004321152526034060006220 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } function formulaires_site_charger_dist($id_rubrique) { return array('nom_site' => '', 'url_site' => 'http://', 'description_site' => ''); } function formulaires_site_verifier_dist($id_rubrique) { $erreurs = array(); if (!$nom = _request('nom_site')) { $erreurs['nom_site'] = _T("info_obligatoire"); } else { if ((strlen($nom) < 2) or (strlen(_request('nobot')) > 0)) { $erreurs['email_message_auteur'] = _T('form_prop_indiquer_nom_site'); } } if (!$url = _request('url_site')) { $erreurs['url_site'] = _T("info_obligatoire"); } if (!count($erreurs)) { // Tester l'URL du site include_spip('inc/distant'); if (!recuperer_page($url)) { $erreurs['url_site'] = _T('form_pet_url_invalide'); } } return $erreurs; } function formulaires_site_traiter_dist($id_rubrique) { $res = array('message_erreur' => _T('titre_probleme_technique')); $nom = _request('nom_site'); $url = _request('url_site'); $desc = _request('description_site'); include_spip('base/abstract_sql'); if ($id_syndic = sql_insertq('spip_syndic', array( 'nom_site' => $nom, 'url_site' => $url, 'id_rubrique' => $id_rubrique, 'id_secteur' => sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . sql_quote($id_rubrique)), 'descriptif' => $desc, 'date' => date('Y-m-d H:i:s'), 'date_syndic' => date('Y-m-d H:i:s'), 'statut' => 'prop', 'syndication' => 'non' )) ) { $res = array('message_ok' => _T('form_prop_enregistre'), 'id_syndic' => $id_syndic); } return $res; } regler_moderation_site.html000060400000006372152526034060012166 0ustar00<div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}"> <h3 class='titrem'><img src="#CHEMIN_IMAGE{rss-24.png}" class="cadre-icone" /><:sites:syndic_options:>#AIDER{artsyn}</h3> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [(#ENV{editable}) <form method='post' action='#ENV{action}'><div> [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <div class="editer-groupe"> #SET{name,moderation}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})] long_label[ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label><:sites:syndic_choix_moderation:></label>[ <span class='erreur_message'>(#GET{erreurs})</span> ]<div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui" [(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:sites:info_bloquer:> (<:sites:bouton_radio_modere_priori:>)</label> </div> <div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_non" value="non" [(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:info_publier:> (<:sites:bouton_radio_modere_posteriori:>)</label> </div> </div> #SET{name,choix_oublier}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})] long_label[ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label><:sites:syndic_choix_oublier:></label>[ <span class='erreur_message'>(#GET{erreurs})</span> ] #SET{name,miroir} <div class="choix"> <input type="checkbox" name="#GET{name}" id="#GET{name}_oui" value="oui" [(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:sites:syndic_option_miroir:></label> </div> #SET{name,oubli} <div class="choix"> <input type="checkbox" name="#GET{name}" id="#GET{name}_oui" value="oui" [(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:sites:syndic_option_oubli{mois=2}:></label> </div> </div> #SET{name,resume}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})] long_label[ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label><:sites:syndic_choix_resume:></label>[ <span class='erreur_message'>(#GET{erreurs})</span> ]<div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui" [(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:sites:syndic_option_resume_oui:></label> </div> <div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_non" value="non" [(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:sites:syndic_option_resume_non:></label> </div> </div> </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] <!--extra--> <p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> </div></form> ] </div>editer_site.php000060400000016522152526034060007562 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * Gestion du formulaire de d'édition d'un site * * @package SPIP\Sites\Formulaires **/ if (!defined("_ECRIRE_INC_VERSION")) { return; } include_spip('inc/actions'); include_spip('inc/editer'); include_spip('inc/filtres'); // pour vider_url() /** * Chargement du formulaire d'édition d'un site * * @uses formulaires_editer_objet_charger() * * @param int|string $id_syndic * Identifiant du site. 'new' pour un nouveau site. * @param int $id_rubrique * Identifiant de la rubrique parente (si connue) * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un site source de traduction * @param string $config_fonc * Nom de la fonction ajoutant des configurations particulières au formulaire * @param array $row * Valeurs de la ligne SQL du mot, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Environnement du formulaire **/ function formulaires_editer_site_charger_dist( $id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = '' ) { $valeurs = formulaires_editer_objet_charger('site', $id_syndic, $id_rubrique, $lier_trad, $retour, $config_fonc, $row, $hidden); # pour recuperer le logo issu d'analyse auto $valeurs['logo'] = ''; $valeurs['format_logo'] = ''; if (test_formulaire_inclus_par_modele()) { if (intval($id_syndic) and !autoriser('modifier', 'site', intval($id_syndic))) { $valeurs['editable'] = ''; } } return $valeurs; } /** * Identifier le formulaire en faisant abstraction des paramètres qui * ne représentent pas l'objet edité * * @param int|string $id_syndic * Identifiant du site. 'new' pour un nouveau site. * @param int $id_rubrique * Identifiant de la rubrique parente (si connue) * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un site source de traduction * @param string $config_fonc * Nom de la fonction ajoutant des configurations particulières au formulaire * @param array $row * Valeurs de la ligne SQL du mot, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return string * Hash du formulaire */ function formulaires_editer_site_identifier_dist( $id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = '' ) { return serialize(array(intval($id_syndic), $lier_trad)); } /** * Choix par défaut des options de présentation * * @param array $row * Valeurs de la ligne SQL d'un site, si connu * return array * Configuration pour le formulaire */ function sites_edit_config($row) { global $spip_lang; $config = $GLOBALS['meta']; $config['lignes'] = 8; $config['langue'] = $spip_lang; $config['restreint'] = false; return $config; } /** * Vérifications du formulaire d'édition de site * * @uses formulaires_editer_objet_verifier() * * @param int|string $id_syndic * Identifiant du site. 'new' pour un nouveau site. * @param int $id_rubrique * Identifiant de la rubrique parente (si connue) * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un site source de traduction * @param string $config_fonc * Nom de la fonction ajoutant des configurations particulières au formulaire * @param array $row * Valeurs de la ligne SQL du mot, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Erreurs du formulaire */ function formulaires_editer_site_verifier_dist( $id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = '' ) { include_spip('inc/filtres'); include_spip('inc/site'); $oblis = array('nom_site', 'url_site', 'id_parent'); // Envoi depuis le formulaire d'analyse automatique d'un site if (_request('ajoute_url_auto') and strlen(vider_url($u = _request('url_auto')))) { if ($auto = analyser_site($u)) { // Si pas de logo, on va le chercher dans le ou les feeds if (isset($auto['url_syndic']) && !(isset($auto['logo']) and $auto['logo']) && ($auto['url_syndic'] != _request('ajouter_url_auto')) && preg_match(',^select: (.+),', $auto['url_syndic'], $regs) ) { $url_syndic = str_replace('select: ', '', $auto['url_syndic']); $feeds = explode(' ', $regs[1]); foreach ($feeds as $feed) { if (($auto_syndic = analyser_site($feed)) && isset($auto_syndic['format_logo'])) { $auto['format_logo'] = $auto_syndic['format_logo']; $auto['logo'] = $auto_syndic['logo']; break; } } } foreach ($auto as $k => $v) { set_request($k, $v); } $erreurs['verif_url_auto'] = _T('sites:texte_referencement_automatique_verifier', array('url' => $u)); $erreurs['message_erreur'] = ''; } else { $erreurs['url_auto'] = _T('sites:avis_site_introuvable'); } } else { // auto-renseigner le titre si il n'existe pas // d'abord a partir du descriptif en coupant titre_automatique('nom_site', array('descriptif')); // et sinon l'url du site, sans couper titre_automatique('nom_site', array('url_site'), 255); $erreurs = formulaires_editer_objet_verifier('site', $id_syndic, $oblis); } return $erreurs; } /** * Traitements du formulaire d'édition de site * * @uses formulaires_editer_objet_traiter() * * @param int|string $id_syndic * Identifiant du site. 'new' pour un nouveau site. * @param int $id_rubrique * Identifiant de la rubrique parente (si connue) * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un site source de traduction * @param string $config_fonc * Nom de la fonction ajoutant des configurations particulières au formulaire * @param array $row * Valeurs de la ligne SQL du mot, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Erreurs du formulaire */ function formulaires_editer_site_traiter_dist( $id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = '' ) { // netoyer les entrees if (!is_null(_request('url_site'))) { set_request('url_site', vider_url(_request('url_site'))); } return formulaires_editer_objet_traiter('site', $id_syndic, $id_rubrique, $lier_trad, $retour, $config_fonc, $row, $hidden); } configurer_sites.html000060400000010716152526034060011010 0ustar00<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}"> <h3 class='titrem'><img src="#CHEMIN_IMAGE{site-24.png}" class="cadre-icone" /><:sites:titre_referencement_sites:>#AIDER{reference}</h3> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [(#ENV{editable}) <form method='post' action='#ENV{action}'><div> [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <div class="editer-groupe"> #SET{name,activer_sites}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> [<span class='erreur_message'>(#GET{erreurs})</span> ]<div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui" onclick="$(this).blur();" onchange="if ($(this).prop('checked')) $('li.editer_activer_sites').siblings('li').show('fast');" [(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:sites:item_gerer_annuaire_site_web:></label> </div> <div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_non" value="non" onclick="$(this).blur();" onchange="if ($(this).prop('checked')) $('li.editer_activer_sites').siblings('li').hide('fast');" [(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:sites:item_non_gerer_annuaire_site_web:></label> </div> </div> #SET{name,proposer_sites}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"[(#ENV{activer_sites}|=={oui}|non)style='display:none;']> <label for="#GET{name}"><:sites:info_question_proposer_site:></label>[ <span class='erreur_message'>(#GET{erreurs})</span> ] <select name="#GET{name}" id="#GET{name}"> <option value="0"[(#ENV{#GET{name}}|=={0}|oui)selected="selected"]><:item_choix_administrateurs:></option> <option value="1"[(#ENV{#GET{name}}|=={1}|oui)selected="selected"]><:item_choix_redacteurs:></option> <option value="2"[(#ENV{#GET{name}}|=={2}|oui)selected="selected"]><:item_choix_visiteurs:></option> </select> </div> <div class="fieldset"[(#ENV{activer_sites}|=={oui}|non)style='display:none;']> <fieldset><legend><:sites:titre_syndication:>#AIDER{rubsyn}</legend> <div class="editer-groupe"> #SET{name,activer_syndic}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <div class="explication"><:sites:texte_syndication:></div>[ <span class='erreur_message'>(#GET{erreurs})</span> ]<div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui" [(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:sites:item_utiliser_syndication:></label> </div> <div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_non" value="non" [(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:sites:item_non_utiliser_syndication:></label> </div> </div> #SET{name,moderation_sites}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <div class="explication"><:sites:texte_liens_sites_syndiques:></div>[ <span class='erreur_message'>(#GET{erreurs})</span> ]<div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui" [(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:sites:item_bloquer_liens_syndiques:></label> </div> <div class="choix"> <input type="radio" name="#GET{name}" id="#GET{name}_non" value="non" [(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:sites:item_non_bloquer_liens_syndiques:></label> </div> </div> </div> </fieldset> </div> </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] <!--extra--> <p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> </div></form> ] </div>inc-lister-sauvegardes.html000060400000004255152526117470012026 0ustar00[(#REM) Tableau affichant la liste des fichiers de saugardes avec quelques infos annexes ]<B_dump> <div class='liste-objets dump' id='#ENV{id,sauvegardes}'> <table class='spip liste'> <thead> [<caption><strong class='caption'>(#ENV{titre,''})</strong></caption>] <tr class="first_row"> [(#ENV{name,''}|oui)<th></th>] <th scope='col'>[(#SELF|parametre_url{tri,nom}|ancre_url{##ENV{id,sauvegardes}}|lien_ou_expose{<:info_nom:>,#ENV{tri,nom}|=={nom},ajax})]</th> [(#ENV{download,''}|oui) <th scope='col'></th> ] <th scope='col'>[(#SELF|parametre_url{tri,taille}|ancre_url{##ENV{id,sauvegardes}}|lien_ou_expose{<:label_poids_fichier:>,#ENV{tri,nom}|=={taille},ajax})]</th> <th scope='col'>[(#SELF|parametre_url{tri,date}|ancre_url{##ENV{id,sauvegardes}}|lien_ou_expose{<:public:date:>,#ENV{tri,nom}|=={date},ajax})]</th> [(#ENV{delete,''}|oui) <th scope='col'></th> ] </tr> </thead> <tbody> <BOUCLE_dump(POUR){tableau #ENV{_dir_dump,#REM|dump_repertoire}|dump_lister_sauvegardes{#ENV{tri,nom}}}> <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]"> [<td><input type='radio' name="(#ENV{name,''})" value="#VALEUR{fichier}" id="dump_#COMPTEUR_BOUCLE" [(#ENV{#ENV{name}}|=={#VALEUR{fichier}}|oui)checked="checked"] /></td>] <td class="fichier principale"> <label for="dump_#COMPTEUR_BOUCLE" title="[(#VALEUR{fichier}|basename{.sqlite}|attribut_html)]">[(#VALEUR{fichier}|basename{.sqlite})]</label> </td> [(#ENV{download,''}|oui) <td> <a href="#URL_ACTION_AUTEUR{telecharger_dump,#VALEUR{fichier}}" title="<:bouton_download|attribut_html:>">[(#CHEMIN_IMAGE{telecharger-16.png}|balise_img{<:bouton_download:>})]</a> </td> ] <td class="taille"> [(#VALEUR{taille}|taille_en_octets)] </td> <td> [(#VAL{'Y-m-d H:i:s'}|date{#VALEUR{date}}|affdate_heure)] </td> [(#ENV{delete,''}|oui) <td> [(#BOUTON_ACTION{[(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{<:lien_supprimer:>})],#URL_ACTION_AUTEUR{supprimer_dump,#VALEUR{fichier},#SELF},'ajax',<:dump:confirmer_supprimer_sauvegarde:>})] </td> ] </tr> </BOUCLE_dump> </tbody> </table> </div> </B_dump>inc-lister-sauvegardes_fonctions.php000060400000000124152526117470013722 0ustar00<?php if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/dump'); sauvegarder.php000060400000006524152526117470007602 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * Gestion du formulaire de sauvegarde de la base de données * * @package SPIP\Dump\Formulaires */ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('base/dump'); include_spip('inc/dump'); /** * Charger `#FORMULAIRE_SAUVEGARDER` * * @return array */ function formulaires_sauvegarder_charger_dist() { $dir_dump = dump_repertoire(); // ici on liste tout, les tables exclue sont simplement non cochees $exclude = lister_tables_noexport(); list($tables, ) = base_liste_table_for_dump($exclude); $tables = base_lister_toutes_tables('', $tables); $valeurs = array( '_dir_dump' => joli_repertoire($dir_dump), '_dir_img' => joli_repertoire(_DIR_IMG), '_spipnet' => $GLOBALS['home_server'] . '/' . $GLOBALS['spip_lang'] . '_article1489.html', 'nom_sauvegarde' => basename(dump_nom_fichier($dir_dump, 'sqlite'), '.sqlite'), 'tout_sauvegarder' => (_request('nom_sauvegarde') and !_request('tout_sauvegarder')) ? '' : 'oui', '_tables' => "<ol class='spip'><li class='choix'>\n" . join( "</li>\n<li class='choix'>", base_saisie_tables( 'tables', $tables, $exclude, _request('nom_sauvegarde') ? (_request('tables') ? _request('tables') : array()) : null ) ) . "</li></ol>\n", '_prefixe' => base_prefixe_tables(''), ); return $valeurs; } /** * Verifier * * @return array */ function formulaires_sauvegarder_verifier_dist() { $erreurs = array(); if (!$nom = _request('nom_sauvegarde')) { $erreurs['nom_sauvegarde'] = _T('info_obligatoire'); } elseif (!preg_match(',^[\w_][\w_.]*$,', $nom) or basename($nom) !== $nom ) { $erreurs['nom_sauvegarde'] = _T('dump:erreur_nom_fichier'); } return $erreurs; } /** * Traiter * * @return array */ function formulaires_sauvegarder_traiter_dist() { $status_file = base_dump_meta_name(0); $dir_dump = dump_repertoire(); $archive = $dir_dump . basename(_request('nom_sauvegarde'), '.sqlite'); if (_request('tout_sauvegarder')) { // ici on prend toutes les tables sauf celles exclues par defaut // (tables de cache en pratique) $exclude = lister_tables_noexport(); list($tables, ) = base_liste_table_for_dump($exclude); $tables = base_lister_toutes_tables('', $tables, $exclude); } else { $tables = _request('tables'); } include_spip('inc/dump'); $res = dump_init($status_file, $archive, $tables); if ($res === true) { // on lance l'action sauvegarder qui va realiser la sauvegarde // et finira par une redirection vers la page sauvegarde_fin include_spip('inc/actions'); $redirect = generer_action_auteur('sauvegarder', $status_file); return array('message_ok' => 'ok', 'redirect' => $redirect); } else { return array('message_erreur' => $res); } } restaurer.html000060400000006551152526117470007463 0ustar00[(#REM) Formulaire de restauration #FORMULAIRE_RESTAURER ] <div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}"> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [(#ENV{editable}) <form method='post' action='#ENV{action}'><div> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{erreurs/message_confirm})</p>] [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <div class="editer-groupe"> #SET{name,choisi}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} [<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label for="#GET{name}"><:dump:label_nom_fichier_sauvegarde:></label> (#ENV{choisi}) [<a href="#" onclick="jQuery('.editer_fichier,.editer_nom_sauvegarde').show('fast');jQuery('.editer_choisi').hide('fast');return false;" ><:bouton_changer:></a>] </div>] #SET{name,fichier}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <div class="editer pleine_largeur editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"[(#ENV{choisi}|oui)style='display:none;']> <label for="#GET{name}"><:dump:label_selectionnez_fichier:></label> [<span class='erreur_message'>(#GET{erreurs})</span>] [<div class="choix"> (#INCLURE{fond=formulaires/inc-lister-sauvegardes,env,ajax,name=fichier,id=sauvegarde,titre=<:dump:sauvegardes_existantes:>} |sinon{<:dump:info_aucune_sauvegarde_trouvee:>}) </div>] </div> #SET{name,nom_sauvegarde}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"[(#ENV{choisi}|oui)style='display:none;']> <label for="#GET{name}"><:dump:label_nom_fichier_restaurer:></label> [<span class='erreur_message'>(#GET{erreurs})</span>] <input type='text' class='text' name='#GET{name}' id='#GET{name}' value="#ENV{#GET{name}}" onfocus="jQuery('#dump_0').attr('checked','chedked');"/> <input type="radio" name="zzz" value="" id="dump_0" style="display:none;"/> </div> [#SET{name,tout_restaurer}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label><:install_tables_base:></label> [<span class='erreur_message'>(#GET{erreurs})</span>] <div class="choix"> <input type="checkbox" name="tout_restaurer" id="tout_restaurer" value="oui"[(#ENV{tout_restaurer}|oui)checked="checked"] onclick="$(this).blur();" onchange="jQuery(this).prop('checked')?jQuery('#liste_tables').hide('fast'):jQuery('#liste_tables').show('fast');" /><label for="tout_restaurer"><:dump:tout_restaurer:></label> </div> <div id="liste_tables"[(#ENV{tout_restaurer}|oui)style="display:none;"]> (#ENV**{erreurs}|table_valeur{tables}) </div> </div>] </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] <!--extra--> <p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:dump:bouton_restaurer_base:>' /></p> </div></form> ] </div>restaurer.php000060400000011114152526117470007275 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2020 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('base/dump'); include_spip('inc/dump'); /** * Charger #FORMULAIRE_RESTAURER * * @return array */ function formulaires_restaurer_charger_dist() { // ici on liste tout, les tables exclue sont simplement non cochees $valeurs = array( '_dir_dump' => dump_repertoire(), 'choisi' => _request('fichier') ? _request('fichier') : _request('nom'), 'nom_sauvegarde' => '', 'tout_restaurer' => (_request('check_tables') and !_request('tout_restaurer')) ? '' : 'oui', 'fichier' => '', 'tri' => 'nom', ); return $valeurs; } /** * Verifier * * @return array */ function formulaires_restaurer_verifier_dist() { $erreurs = array(); $nom = ''; if (!$fichier = _request('fichier') and !$nom = _request('nom_sauvegarde')) { $erreurs['fichier'] = _T('info_obligatoire'); } elseif ($fichier) { $fichier = basename($fichier); // securite if (!file_exists(dump_repertoire() . $fichier)) { $erreurs['fichier'] = _T('dump:erreur_nom_fichier'); } else { $nom = $fichier; } } else { $nom = basename($nom); // securite if (!file_exists(dump_repertoire() . $nom)) { $erreurs['nom_sauvegarde'] = _T('dump:erreur_nom_fichier'); $nom = ''; } } if (!$nom) { $erreurs['message_erreur'] = _T('dump:erreur_restaurer_verifiez'); } if ($nom) { $archive = dump_repertoire() . $nom; if (!$args = dump_connect_args($archive)) { $erreurs['tout_restaurer'] = _T('dump:erreur_sqlite_indisponible'); } dump_serveur($args); $tables = base_lister_toutes_tables('dump'); $tables = base_saisie_tables('tables', $tables, array(), _request('tables') ? _request('tables') : array(), 'dump'); $erreurs['tables'] = "<ol class='spip'><li class='choix'>\n" . join( "</li>\n<li class='choix'>", $tables ) . "</li></ol><input type='hidden' name='check_tables' value='oui' />\n"; if (!count(_request('tables')) and !_request('tout_restaurer') and _request('check_tables')) { $erreurs['tout_restaurer'] = _T('dump:selectionnez_table_a_restaurer'); } } if ($nom and (!count($erreurs) or (count($erreurs) == 1 and isset($erreurs['tables']))) ) { if (_request('confirm') !== $nom) { $erreurs['message_confirm'] = _T( 'dump:info_selection_sauvegarde', array('fichier' => '<i>' . joli_repertoire(dump_repertoire() . $nom) . '</i>') ) . "<br /><input type='checkbox' name='confirm' value='$nom' id='confirm' /> "; $erreurs['message_confirm'] .= "<label for='confirm'><strong>"; if (_request('tables')) { $erreurs['message_confirm'] .= _T('dump:confirmer_ecraser_tables_selection'); } else { $erreurs['message_confirm'] .= _T('dump:confirmer_ecraser_base'); } $erreurs['message_confirm'] .= '</strong></label>'; } else { // passer a traiter() unset($erreurs['tables']); } } if (count($erreurs) and !isset($erreurs['message_erreur'])) { $erreurs['message_erreur'] = ''; } // pas de message general automatique ici return $erreurs; } /** * Traiter * * @return array */ function formulaires_restaurer_traiter_dist() { $archive = (_request('fichier') ? _request('fichier') : _request('nom')); $dir_dump = dump_repertoire(); $archive = $dir_dump . basename($archive, '.sqlite'); $status_file = base_dump_meta_name(0) . '_restauration'; if (_request('tout_restaurer')) { $args = dump_connect_args($archive); dump_serveur($args); $tables = base_lister_toutes_tables('dump'); } else { $tables = _request('tables'); } include_spip('inc/dump'); $res = dump_init($status_file, $archive, $tables, array('spip_meta' => "impt='oui'")); if ($res === true) { // on lance l'action restaurer qui va realiser la sauvegarde // et finira par une redirection vers la page sauvegarde_fin include_spip('inc/actions'); $redirect = generer_action_auteur('restaurer', $status_file); return array('message_ok' => 'ok', 'redirect' => $redirect); } else { return array('message_erreur' => $res); } } sauvegarder.html000060400000004247152526117470007757 0ustar00[(#REM) Formulaire de sauvegarde #FORMULAIRE_SAUVEGARDER ] <div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}"> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [(#ENV{editable}) <form method='post' action='#ENV{action}'><div> [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <input type='hidden' name='reinstall' value='non' /> <div class="editer-groupe"> #SET{name,nom_sauvegarde}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label for="#GET{name}"><:dump:label_nom_fichier_sauvegarde:></label> [<span class='erreur_message'>(#GET{erreurs})</span>] <input type='text' class='text' name='#GET{name}' id='#GET{name}' value="#ENV{#GET{name}}" /> </div> #SET{name,tables}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} [<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <label><:install_tables_base:></label> [<span class='erreur_message'>(#GET{erreurs})</span>] <div class="choix"> <input type="checkbox" name="tout_sauvegarder" id="tout_sauvegarder" value="oui"[(#ENV{tout_sauvegarder}|oui)checked="checked"] onclick="$(this).blur();" onchange="jQuery(this).prop('checked')?jQuery('#liste_tables').hide('fast'):jQuery('#liste_tables').show('fast');" /><label for="tout_sauvegarder"><:dump:tout_sauvegarder:>[ <br />\(<:texte_choix_table_prefix:><b> (#ENV{_prefixe}|=={spip}|non|?{#ENV{_prefixe}})</b>\)]</label> <div id="liste_tables"[(#ENV{tout_sauvegarder}|oui)style="display:none;"]> (#ENV*{_tables}) </div> </div> </div>] </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] <!--extra--> <p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:dump:texte_sauvegarde_base:>' /></p> </div></form> ] </div>configurer_mediabox.html000060400000016603152527325120011453 0ustar00<div class="formulaire_spip formulaire_configurer formulaire_#FORM"> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] <form method="post" action="#ENV{action}"><div> #ACTION_FORMULAIRE <div class="editer-groupe"> <div class="editer editer_active[ (#ENV**{erreurs}|table_valeur{active}|oui)erreur]"> <div class="choix"> <input type="checkbox" name="active" class="checkbox" id="active_on" value="oui" [(#ENV{active,oui}|=={oui}|oui) checked="checked"] onclick="jQuery(this).blur();" onchange="var t=jQuery(this).parents('li').eq(0).siblings('.fieldset');if (jQuery(this).prop('checked')) t.show('fast'); else t.hide('fast');" /> <label for='active_on'><strong><:mediabox:label_active:></strong></label> </div> </div> <div class="fieldset[(#ENV{active,oui}|=={oui}|non)none]"> <div class="editer-groupe"> <div class="editer editer_selecteur_commun[ (#ENV**{erreurs}|table_valeur{selecteur_commun}|oui)erreur]"> <label for="selecteur_commun"><:mediabox:label_selecteur_commun:></label> [<span class='erreur'>(#ENV**{erreurs}|table_valeur{selecteur_commun})</span>] <p class="explication"><:mediabox:explication_selecteur:></p> <input type="text" name="selecteur_commun" class="text" id="selecteur_commun" size="60" value="#ENV*{selecteur_commun}" /> </div> <div class="editer editer_selecteur_galerie[ (#ENV**{erreurs}|table_valeur{selecteur_galerie}|oui)erreur]"> <label for="selecteur_galerie"><:mediabox:label_selecteur_galerie:></label> [<span class='erreur'>(#ENV**{erreurs}|table_valeur{selecteur_galerie})</span>] <p class="explication"><:mediabox:explication_selecteur_galerie:></p> <input type="text" name="selecteur_galerie" class="text" id="selecteur_galerie" size="60" value="#ENV*{selecteur_galerie}" /> </div> <div class="editer editer_traiter_toutes_images[ (#ENV**{erreurs}|table_valeur{traiter_toutes_images}|oui)erreur]"> <label><:mediabox:label_traiter_toutes_images:></label> <p class="explication"><:mediabox:explication_traiter_toutes_images:></p> <div class="choix"> <input type="radio" name="traiter_toutes_images" class="radio" id="traiter_images_on" value="oui" [(#ENV{traiter_toutes_images,oui}|=={oui}|oui) checked="checked"] /> <label for='traiter_images_on'><:item_oui:></label> </div> <div class="choix"> <input type="radio" name="traiter_toutes_images" class="radio" id="traiter_images_off" value="non" [(#ENV{traiter_toutes_images,oui}|=={non}|oui) checked="checked"] /> <label for='traiter_images_off'><:item_non:></label> </div> </div> <div class="fieldset"><fieldset><legend><:mediabox:label_apparence:></legend> <div class="editer-groupe"> [<div class="editer editer_skin[ (#ENV**{erreurs}|table_valeur{skin}|oui)erreur]"> <label><:mediabox:label_skin:></label> (#ENV{_skins}|box_choisir_skin{#ENV{skin}}|image_reduire{130}) </div>] <div class="editer editer_transition[ (#ENV**{erreurs}|table_valeur{transition}|oui)erreur]"> <label for='transition'><:mediabox:label_transition:></label> <select name="transition" id="transition"> <option value="elastic"[(#ENV{transition}|=={elastic}|oui)selected="selected"]><:mediabox:label_choix_transition_elastic:></option> <option value="fade"[(#ENV{transition}|=={fade}|oui)selected="selected"]><:mediabox:label_choix_transition_fade:></option> <option value="none"[(#ENV{transition}|=={none}|oui)selected="selected"]><:mediabox:label_choix_transition_none:></option> </select> </div> <div class="editer editer_speed[ (#ENV**{erreurs}|table_valeur{speed}|oui)erreur]"> <label for='speed'><:mediabox:label_speed:></label> <input type="text" name="speed" class="text" id="speed" size="10" value="#ENV*{speed}" /> </div> <div class="editer minWidth[ (#ENV**{erreurs}|table_valeur{minWidth}|oui)erreur]"> <label for='minWidth'><:mediabox:label_minwidth:></label> <input type="text" name="minWidth" class="text" id="minWidth" size="10" value="#ENV*{minWidth}" /> </div> <div class="editer maxWidth[ (#ENV**{erreurs}|table_valeur{maxWidth}|oui)erreur]"> <label for='maxWidth'><:mediabox:label_maxwidth:></label> <input type="text" name="maxWidth" class="text" id="maxWidth" size="10" value="#ENV*{maxWidth}" /> </div> <div class="editer minHeight[ (#ENV**{erreurs}|table_valeur{minHeight}|oui)erreur]"> <label for='minHeight'><:mediabox:label_minheight:></label> <input type="text" name="minHeight" class="text" id="minHeight" size="10" value="#ENV*{minHeight}" /> </div> <div class="editer maxHeight[ (#ENV**{erreurs}|table_valeur{maxHeight}|oui)erreur]"> <label for='maxHeight'><:mediabox:label_maxheight:></label> <input type="text" name="maxHeight" class="text" id="maxHeight" size="10" value="#ENV*{maxHeight}" /> </div> <div class="editer editer_slideshow_speed[ (#ENV**{erreurs}|table_valeur{slideshow_speed}|oui)erreur]"> <label for='slideshow_speed'><:mediabox:label_slideshow_speed:></label> <input type="text" name="slideshow_speed" class="text" id="slideshow_speed" size="10" value="#ENV*{slideshow_speed}" /> </div> <div class="editer editer_opacite[ (#ENV**{erreurs}|table_valeur{opacite}|oui)erreur]"> <label for='opacite'><:mediabox:label_opacite:></label> <input type="text" name="opacite" class="text" id="opacite" size="10" value="#ENV*{opacite}" /> </div> </div></fieldset> </div> <div class="fieldset"><fieldset><legend><:mediabox:label_splash:></legend> <div class="editer-groupe"> <div class="editer editer_splash_url[ (#ENV**{erreurs}|table_valeur{splash_url}|oui)erreur]"> <label for="splash_url"><:mediabox:label_splash_url:></label> [<span class='erreur'>(#ENV**{erreurs}|table_valeur{splash_url})</span>] <p class="explication"><:mediabox:explication_splash_url:></p> <input type="text" name="splash_url" class="text" id="splash_url" size="60" value="#ENV*{splash_url}" /> </div> <div class="editer splash_width[ (#ENV**{erreurs}|table_valeur{splash_width}|oui)erreur]"> <label for='splash_width'><:mediabox:label_splash_width:></label> <input type="text" name="splash_width" class="text" id="splash_width" size="10" value="#ENV*{splash_width}" /> </div> <div class="editer splash_height[ (#ENV**{erreurs}|table_valeur{splash_height}|oui)erreur]"> <label for='splash_height'><:mediabox:label_splash_height:></label> <input type="text" name="splash_height" class="text" id="splash_height" size="10" value="#ENV*{splash_height}" /> </div> </div></fieldset> </div> </div> </div> </div> <p class="boutons"> <input type="submit" name="enregistrer" class="over" value="<:bouton_valider:>" /> <input type="submit" name="reinit" class="submit" value="<:mediabox:bouton_reinitialiser:>" /> <input type="submit" name="enregistrer" class="submit" value="<:bouton_valider:>" /> </p> </div></form> </div> <style type="text/css"> .editer-groupe .editer_skin .choix { overflow: hidden; margin-top: 10px; width: 155px; margin-#LANG_RIGHT: 10px; float: #LANG_LEFT; background-color: transparent; border: 0; } .editer_skin .choix input { float: #LANG_LEFT; } .editer_skin .choix label img { float: #LANG_LEFT; border: 1px solid #ddd; } </style>configurer_mediabox.php000060400000004727152527325120011302 0ustar00<?php /* * Plugin xxx * (c) 2009 xxx * Distribue sous licence GPL * */ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('mediabox_pipelines'); function box_lister_skins() { $skins = array('none' => array('nom' => _T('mediabox:label_aucun_style'))); $maxfiles = 1000; $liste_fichiers = array(); $recurs = array(); foreach (creer_chemin() as $d) { $f = $d . 'colorbox/'; if (@is_dir($f)) { $liste = preg_files($f, 'colorbox[.]css$', $maxfiles - count($liste_fichiers), $recurs); foreach ($liste as $chemin) { $nom = substr(dirname($chemin), strlen($f)); // ne prendre que les fichiers pas deja trouves // car find_in_path prend le premier qu'il trouve, // les autres sont donc masques if (!isset($liste_fichiers[$nom])) { $liste_fichiers[$nom] = $chemin; } } } } foreach ($liste_fichiers as $short => $fullpath) { $skins[$short] = array('nom' => basename($short)); if (file_exists($f = dirname($fullpath) . '/vignette.jpg')) { $skins[$short]['img'] = $f; } } return $skins; } function box_choisir_skin($skins, $selected, $name = 'skin') { $out = ''; if (!is_array($skins) or !count($skins)) { return $out; } foreach ($skins as $k => $skin) { $id = "${name}_" . preg_replace(',[^a-z0-9_],i', '_', $k); $sel = ($selected == "$k" ? " checked='checked'" : ''); $balise_img = chercher_filtre('balise_img'); $label = isset($skin['img']) ? '<a href="' . $skin['img'] . '" class="mediabox" rel="habillage">' . $balise_img($skin['img'], $skin['nom']) . '</a>' : $skin['nom']; $out .= "<div class='choix'>"; $out .= "<input type='radio' name='$name' id='$id' value='$k'$sel />"; $out .= "<label for='$id'>$label</label>"; $out .= "</div>\n"; } return $out; } function formulaires_configurer_mediabox_charger_dist() { $valeurs = mediabox_config(true); $valeurs['_skins'] = box_lister_skins(); return $valeurs; } function formulaires_configurer_mediabox_traiter_dist() { $config = mediabox_config(true); include_spip('inc/meta'); if (_request('reinit')) { foreach ($config as $k => $v) { set_request($k); } effacer_meta('mediabox'); } else { // cas particulier de la checkbox : if (!_request('active')) { set_request('active', 'non'); } foreach ($config as $k => $v) { if (!is_null(_request($k))) { $config[$k] = _request($k); } } ecrire_meta('mediabox', serialize($config)); } return array('message_ok' => _T('config_info_enregistree'), 'editable' => true); }
/home/histoio/www/f41a3/./../local/../prive/../35802/formulaires.tar