uawdijnntqw1x1x1
IP : 216.73.216.146
Hostname : webm008.cluster111.gra.hosting.ovh.net
Kernel : Linux webm008.cluster111.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
/
bourgleram
/
www
/
c4d43
/
..
/
.
/
398a1
/
formulaires.tar
/
/
ecrire_auteur.html000066600000005661152522206500010303 0ustar00<div class="formulaire_spip formulaire_ecrire_auteur ajax" id="formulaire_ecrire_auteur#ENV{id}"> <br class='bugajaxie' /> [<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}|ancre_url{formulaire_ecrire_auteur#ENV{id}})]' enctype='multipart/form-data'> [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE{#ENV{action}} [(#REM) Previsualisation... ] [(#ENV*{erreurs}|table_valeur{previsu}|oui) <fieldset class="previsu"> <legend><:previsualisation:></legend> <ul> <li><strong>#ENV{sujet_message_auteur}</strong> - <em>#ENV{email_message_auteur}</em></li> <li>[(#ENV{texte_message_auteur}|nl2br)]</li> </ul> <p class="boutons"><input type="submit" class="submit" name="confirmer" value="<:form_prop_confirmer_envoi:>" /></p> </fieldset> ] [(#REM) Sinon, formulaire normal ] <fieldset> <legend><:envoyer_message:></legend> <ul> <li class='editer saisie_email_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{email_message_auteur}|oui)erreur]'> <label for="email_message_auteur#ENV{id}"><:entree_adresse_email:> <:info_obligatoire_02:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{email_message_auteur})</span>] <input[ (#HTML5|?{required="required" type="email" class="text email",type="text" class="text"})] name="email_message_auteur" id="email_message_auteur#ENV{id}" value="#ENV{email_message_auteur}" size="30" /> </li> <li class='editer saisie_sujet_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{sujet_message_auteur}|oui)erreur]'> <label for="sujet_message_auteur#ENV{id}"><:form_prop_sujet:> <:info_obligatoire_02:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{sujet_message_auteur})</span>] <input type="text" class="text" name="sujet_message_auteur" id="sujet_message_auteur#ENV{id}" value="#ENV{sujet_message_auteur}" size="30"[(#HTML5) required="required"] /> </li> <li class='editer saisie_texte_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{texte_message_auteur}|oui)erreur]'> <label for="texte_message_auteur#ENV{id}"><:info_texte_message:> <:info_obligatoire_02:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{texte_message_auteur})</span>] <textarea name="texte_message_auteur" id="texte_message_auteur#ENV{id}" rows="10" cols="60"[(#HTML5) required="required"]>#ENV{texte_message_auteur}</textarea> </li> </ul> </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" name="valide" value="<:form_prop_envoyer:>" /></p> </form> ] </div> ecrire_auteur.php000066600000006204152522206500010120 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * 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_ecrire_auteur_charger_dist($id_auteur, $id_article, $mail){ include_spip('inc/texte'); $puce = definir_puce(); $valeurs = array( 'sujet_message_auteur'=>'', 'texte_message_auteur'=>'', 'email_message_auteur'=>isset($GLOBALS['visiteur_session']['email'])?$GLOBALS['visiteur_session']['email']:'', 'nobot'=>'', ); // id du formulaire (pour en avoir plusieurs sur une meme page) $valeurs['id'] = ($id_auteur ? '_'.$id_auteur : '_ar'.$id_article); // passer l'id_auteur au squelette $valeurs['id_auteur'] = $id_auteur; $valeurs['id_article'] = $id_article; return $valeurs; } function formulaires_ecrire_auteur_verifier_dist($id_auteur, $id_article, $mail){ $erreurs = array(); include_spip('inc/filtres'); if (!$adres = _request('email_message_auteur')) $erreurs['email_message_auteur'] = _T("info_obligatoire"); elseif(!email_valide($adres)) $erreurs['email_message_auteur'] = _T('form_prop_indiquer_email'); else { include_spip('inc/session'); session_set('email', $adres); } if (!$sujet=_request('sujet_message_auteur')) $erreurs['sujet_message_auteur'] = _T("info_obligatoire"); elseif(!(strlen($sujet)>3)) $erreurs['sujet_message_auteur'] = _T('forum:forum_attention_trois_caracteres'); if (!$texte=_request('texte_message_auteur')) $erreurs['texte_message_auteur'] = _T("info_obligatoire"); elseif(!(strlen($texte)>10)) $erreurs['texte_message_auteur'] = _T('forum:forum_attention_dix_caracteres'); if (_request('nobot')) $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici'); if (!_request('confirmer') AND !count($erreurs)) $erreurs['previsu']=' '; return $erreurs; } function formulaires_ecrire_auteur_traiter_dist($id_auteur, $id_article, $mail){ $adres = _request('email_message_auteur'); $sujet = _request('sujet_message_auteur'); $sujet = "[".supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))."] " . _T('info_message_2')." " . $sujet; $texte=_request('texte_message_auteur'); $texte .= "\n\n-- "._T('envoi_via_le_site')." ".supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))." (".$GLOBALS['meta']['adresse_site']."/) --\n"; $envoyer_mail = charger_fonction('envoyer_mail','inc'); if ($envoyer_mail($mail, $sujet, $texte, $adres, "X-Originating-IP: ".$GLOBALS['ip'])) $message = _T('form_prop_message_envoye'); else $message = _T('pass_erreur_probleme_technique'); return array('message_ok'=>$message); } ?> recherche.php000066600000003215152522206500007211 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * 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; /** * chargement des valeurs par defaut des champs du #FORMULAIRE_RECHERCHE * on peut lui passer l'url de destination en premier argument * on peut passer une deuxième chaine qui va différencier le formulaire pour pouvoir en utiliser plusieurs sur une même page * * @param string $lien URL où amène le formulaire validé * @param string $class Une class différenciant le formulaire * @return array */ function formulaires_recherche_charger_dist($lien = '', $class=''){ if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) $lang = $GLOBALS['spip_lang']; else $lang=''; $action = ($lien ? $lien : generer_url_public('recherche')); # action specifique, ne passe pas par Verifier, ni Traiter return array( 'action' => $action, 'recherche' => _request('recherche'), 'lang' => $lang, 'class' => $class, '_id_champ' => $class ? substr(md5($action.$class),0,4) : 'recherche' ); } ?> oubli.html000066600000002421152522206500006546 0ustar00<div class="formulaire_spip formulaire_oubli"> [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [(#ENV*{editable}|?{' '}) <form id="oubli_form" action="[(#ENV{action})]" method="post"> [(#REM) activer le traitement auto et dispatch sur charger/verifier/traiter] #ACTION_FORMULAIRE{#ENV{action}} <fieldset> <legend><:pass_nouveau_pass:></legend> <p><:pass_procedure_changer:></p> <ul> <li class="editer saisie_oubli obligatoire[ (#ENV*{erreurs}|table_valeur{oubli}|oui)erreur]"> <label for="oubli"><:entree_adresse_email:></label> [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{oubli})</span>] <input[ (#HTML5|?{type="email" class="text email" autofocus="autofocus" required="required",type="text" class="text"})] name='oubli' id='oubli' value="#ENV**{oubli}" autocapitalize="off" autocorrect="off" /> </li> </ul> </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="<:pass_ok:>" /></p> </form> ] </div> oubli.php000066600000006145152522206500006400 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * 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; // chargement des valeurs par defaut des champs du formulaire function formulaires_oubli_charger_dist(){ $valeurs = array('oubli'=>'','nobot'=>''); return $valeurs; } // http://code.spip.net/@message_oubli function message_oubli($email, $param) { $r = formulaires_oubli_mail($email); if (is_array($r) AND $r[1]) { include_spip('inc/texte'); # pour corriger_typo include_spip('action/inscrire_auteur'); $cookie = auteur_attribuer_jeton($r[1]['id_auteur']); // l'url_reset doit etre une URL de confiance, on force donc un url_absolue sur adresse_site include_spip('inc/filtres'); $msg = recuperer_fond( "modeles/mail_oubli", array( 'url_reset' => url_absolue(generer_url_public('spip_pass', "$param=$cookie"),$GLOBALS['meta']['adresse_site']) ) ); include_spip("inc/notifications"); notifications_envoyer_mails($email, $msg); return _T('pass_recevoir_mail'); } return _T('pass_erreur_probleme_technique'); } // la saisie a ete validee, on peut agir function formulaires_oubli_traiter_dist(){ $message = message_oubli(_request('oubli'),'p'); return array('message_ok'=>$message); } // fonction qu'on peut redefinir pour filtrer les adresses mail // http://code.spip.net/@test_oubli function test_oubli_dist($email) { include_spip('inc/filtres'); # pour email_valide() if (!email_valide($email) ) return _T('pass_erreur_non_valide', array('email_oubli' => spip_htmlspecialchars($email))); return array('mail' => $email); } function formulaires_oubli_verifier_dist(){ $erreurs = array(); $email = strval(_request('oubli')); $r = formulaires_oubli_mail($email); if (!is_array($r)) $erreurs['oubli'] = $r; else { if (!$r[1]) $erreurs['oubli'] = _T('pass_erreur_non_enregistre', array('email_oubli' => spip_htmlspecialchars($email))); elseif ($r[1]['statut'] == '5poubelle' OR $r[1]['pass'] == '') $erreurs['oubli'] = _T('pass_erreur_acces_refuse'); } if (_request('nobot')) $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici'); return $erreurs; } function formulaires_oubli_mail($email) { if (function_exists('test_oubli')) $f = 'test_oubli'; else $f = 'test_oubli_dist'; $declaration = $f($email); if (!is_array($declaration)) return $declaration; else { include_spip('base/abstract_sql'); return array($declaration, sql_fetsel("id_auteur,statut,pass", "spip_auteurs", "email =" . sql_quote($declaration['mail']))); } } ?> recherche.html000066600000001121152522206500007360 0ustar00<div class="formulaire_spip formulaire_recherche[ (#ENV{class})]" id="formulaire_recherche"> <form action="[(#ENV{action})]" method="get"><div> [(#ENV{action}|form_hidden)] [<input type="hidden" name="lang" value="(#ENV{lang})" />] <label for="#ENV{_id_champ}"><:info_rechercher_02:></label> <input type="[(#HTML5|?{search,text})]" class="search text" size="10" name="recherche" id="#ENV{_id_champ}"[ value="(#ENV{recherche})"] accesskey="4" autocapitalize="off" autocorrect="off" /><input type="submit" class="submit" value=">>" title="<:info_rechercher:>" /> </div></form> </div> mot_de_passe.php000066600000010401152522206500007716 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * 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/abstract_sql'); function retrouve_auteur($id_auteur,$jeton=''){ if ($id_auteur=intval($id_auteur)) { return sql_fetsel('*','spip_auteurs',array('id_auteur='.intval($id_auteur),"statut<>'5poubelle'","pass<>''")); } elseif ($jeton) { include_spip('action/inscrire_auteur'); if ($auteur = auteur_verifier_jeton($jeton) AND $auteur['statut']<>'5poubelle' AND $auteur['pass']<>''){ return $auteur; } } return false; } // chargement des valeurs par defaut des champs du formulaire /** * Chargement de l'auteur qui peut changer son mot de passe. * Soit un cookie d'oubli fourni par #FORMULAIRE_OUBLI est passe dans l'url par &p= * Soit un id_auteur est passe en parametre #FORMULAIRE_MOT_DE_PASSE{#ID_AUTEUR} * Dans les deux cas on verifie que l'auteur est autorise * * @param int $id_auteur * @return array */ function formulaires_mot_de_passe_charger_dist($id_auteur=null, $jeton=null){ $valeurs = array(); // compatibilite anciens appels du formulaire if (is_null($jeton)) $jeton = _request('p'); $auteur = retrouve_auteur($id_auteur,$jeton); if ($auteur){ $valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire if ($jeton) $valeurs['_hidden'] = '<input type="hidden" name="p" value="'.$jeton.'" />'; } else { $valeurs['message_erreur'] = _T('pass_erreur_code_inconnu'); $valeurs['editable'] = false; // pas de saisie } $valeurs['oubli']=''; $valeurs['nobot']=''; return $valeurs; } /** * Verification de la saisie du mot de passe. * On verifie qu'un mot de passe est saisi, et que sa longuer est suffisante * Ce serait le lieu pour verifier sa qualite (caracteres speciaux ...) * * @param int $id_auteur */ function formulaires_mot_de_passe_verifier_dist($id_auteur=null, $jeton=null){ $erreurs = array(); if (!_request('oubli')) $erreurs['oubli'] = _T('info_obligatoire'); else if (strlen($p=_request('oubli')) < _PASS_LONGUEUR_MINI) $erreurs['oubli'] = _T('info_passe_trop_court_car_pluriel',array('nb'=>_PASS_LONGUEUR_MINI)); else { if (!is_null($c = _request('oubli_confirm'))){ if (!$c) $erreurs['oubli_confirm'] = _T('info_obligatoire'); elseif ($c!==$p) $erreurs['oubli'] = _T('info_passes_identiques'); } } if (isset($erreurs['oubli'])){ set_request('oubli'); set_request('oubli_confirm'); } if (_request('nobot')) $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici'); return $erreurs; } /** * Modification du mot de passe d'un auteur. * Utilise le cookie d'oubli fourni en url ou l'argument du formulaire pour identifier l'auteur * * @param int $id_auteur */ function formulaires_mot_de_passe_traiter_dist($id_auteur=null, $jeton=null){ $res = array('message_ok'=>''); refuser_traiter_formulaire_ajax(); // puisqu'on va loger l'auteur a la volee (c'est bonus) // compatibilite anciens appels du formulaire if (is_null($jeton)) $jeton = _request('p'); $row = retrouve_auteur($id_auteur,$jeton); if ($row && ($id_auteur = $row['id_auteur']) && ($oubli = _request('oubli'))) { include_spip('action/editer_auteur'); include_spip('action/inscrire_auteur'); if ($err = auteur_modifier($id_auteur, array('pass'=>$oubli))){ $res = array('message_erreur'=>$err); } else { auteur_effacer_jeton($id_auteur); $login = $row['login']; $res['message_ok'] = "<b>" . _T('pass_nouveau_enregistre') . "</b>". "<br />" . _T('pass_rappel_login', array('login' => $login)); include_spip('inc/auth'); $row = sql_fetsel("*","spip_auteurs","id_auteur=".intval($id_auteur)); auth_loger($row); } } return $res; } ?> inscription.php000066600000007345152522206500007632 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * 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_inscription_charger_dist($mode='', $id=0) { global $visiteur_session; // fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci // pas de formulaire si le mode est interdit include_spip('inc/autoriser'); if (!autoriser('inscrireauteur', $mode, $id)) return false; // pas de formulaire si on a déjà une session avec un statut égal ou meilleur au mode if(isset($visiteur_session['statut']) && ($visiteur_session['statut'] <= $mode)) return false; $valeurs = array('nom_inscription'=>'','mail_inscription'=>'', 'id'=>$id, '_mode'=>$mode); return $valeurs; } // Si inscriptions pas autorisees, retourner une chaine d'avertissement function formulaires_inscription_verifier_dist($mode='', $id=0) { include_spip('inc/filtres'); $erreurs = array(); include_spip('inc/autoriser'); if (!autoriser('inscrireauteur', $mode, $id) OR (strlen(_request('nobot'))>0)) $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici'); if (!$nom = _request('nom_inscription')) $erreurs['nom_inscription'] = _T("info_obligatoire"); elseif (!nom_acceptable(_request('nom_inscription'))) $erreurs['nom_inscription'] = _T("ecrire:info_nom_pas_conforme"); if (!$mail = strval(_request('mail_inscription'))) $erreurs['mail_inscription'] = _T("info_obligatoire"); // compatibilite avec anciennes fonction surchargeables // plus de definition par defaut if (!count($erreurs)){ include_spip('action/inscrire_auteur'); if (function_exists('test_inscription')) $f = 'test_inscription'; else $f = 'test_inscription_dist'; $declaration = $f($mode, $mail, $nom, $id); if (is_string($declaration)) { $k = (strpos($declaration, 'mail') !== false) ? 'mail_inscription' : 'nom_inscription'; $erreurs[$k] = _T($declaration); } else { include_spip('base/abstract_sql'); if ($row = sql_fetsel("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($declaration['email']))){ if (($row['statut'] == '5poubelle') AND !$declaration['pass']) // irrecuperable $erreurs['message_erreur'] = _T('form_forum_access_refuse'); else if (($row['statut'] != 'nouveau') AND !$declaration['pass']) // deja inscrit $erreurs['message_erreur'] = _T('form_forum_email_deja_enregistre'); spip_log($row['id_auteur'] . " veut se resinscrire"); } } } return $erreurs; } function formulaires_inscription_traiter_dist($mode='', $id=0) { include_spip('inc/filtres'); include_spip('inc/autoriser'); if (!autoriser('inscrireauteur', $mode, $id)) $desc = "rien a faire ici"; else { $nom = _request('nom_inscription'); $mail_complet = _request('mail_inscription'); $inscrire_auteur = charger_fonction('inscrire_auteur','action'); $desc = $inscrire_auteur($mode, $mail_complet, $nom, array('id'=>$id)); } // erreur ? if (is_string($desc)){ return array('message_erreur'=> $desc); } // OK else return array('message_ok' => _T('form_forum_identifiant_mail'), 'id_auteur' => $desc['id_auteur']); } ?> administration.html000066600000001464152522206500010467 0ustar00 <div[ class="(#ENV{divclass,spip-admin-bloc})"] id='spip-admin' dir="#LANG_DIR">[ <a href="(#ENV{analyser})" class="spip-admin-boutons" id="analyser"><:analyse_xml:>[ ((#ENV{xhtml_error}))]</a>] [(#ENV{objet}|oui) [<a href="[(#ENV{voir_#ENV{objet}})]" class="spip-admin-boutons" id="voir_#ENV{objet}">[(#ENV{objet}|objet_info{texte_objet}|_T)] ((#ENV{id_objet}))</a>] ]<!--extra-->[ <a href="(#ENV{ecrire})" class="spip-admin-boutons" id="ecrire"><:espace_prive:></a>] <a href="[(#SELF|parametre_url{var_mode,#ENV{calcul}})]" class="spip-admin-boutons" id="var_mode"><:admin_recalculer:>[(#ENV{use_cache})]</a>[ <a href="(#ENV{preview})" class="spip-admin-boutons" id="preview"><:previsualisation:></a>][ <a href="(#ENV{debug})" class="spip-admin-boutons" id="debug"><:admin_debug:></a>] </div> mot_de_passe.html000066600000003104152522206500010075 0ustar00<div class="formulaire_spip formulaire_mot_de_passe"> [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [(#ENV*{editable}|?{' '}) <form id="oubli_form" action="[(#ENV{action})]" method="post"> [(#REM) activer le traitement auto et dispatch sur charger/verifier/traiter] #ACTION_FORMULAIRE{#ENV{action}} <fieldset> <legend><:pass_nouveau_pass:></legend> <ul> <li class="editer saisie_oubli obligatoire[ (#ENV*{erreurs}|table_valeur{oubli}|oui)erreur]"> <label for="oubli"><:pass_choix_pass:></label> [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{oubli})</span>] <input type='password' class='text' name='oubli' id='oubli' value="#ENV**{oubli}" autocapitalize="off" autocorrect="off" /> </li> <li class="editer saisie_oubli_confirm obligatoire[ (#ENV*{erreurs}|table_valeur{oubli_confirm}|oui)erreur]"> <label for="oubli_confirm"><:info_confirmer_passe:></label> [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{oubli_confirm})</span>] <input type='password' class='text' name='oubli_confirm' id='oubli_confirm' value="#ENV**{oubli_confirm}" autocapitalize="off" autocorrect="off" /> </li> </ul> </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="<:pass_ok:>" /></p> </form> ] </div>inc-inscription-explication.html000066600000000435152522206500013064 0ustar00[(#REM) on affiche plus ce message en cas d'erreur pour eviter d'allonger trop le formulaire] [(#ENV*{message_erreur}|non) [<legend class="mode"><:pass_vousinscrire:></legend> <p class="explication mode">(#ENV{_mode}|=={1comite}|?{<:pass_espace_prive_bla:>,<:pass_forum_bla:>})</p>] ] inscription.html000066600000005024152522206500007777 0ustar00<div class="formulaire_spip formulaire_inscription ajax" id="formulaire_inscription"> [<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{#ENV{action}} <fieldset> #INCLURE{fond=formulaires/inc-inscription-explication,env} <legend><:form_forum_identifiants:></legend> <p class='explication'><:form_forum_indiquer_nom_email:></p> <ul> <li class='editer saisie_nom_inscription obligatoire[ (#ENV*{erreurs}|table_valeur{nom_inscription}|oui)erreur]'> <label for="nom_inscription"><:entree_nom_pseudo:> <:info_obligatoire_02:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{nom_inscription})</span>] <input type="text" class="text" name="nom_inscription" id="nom_inscription" value="#ENV{nom_inscription}" size="30" [(#HTML5) [(#ENV{focus}|=={nom_inscription}|oui)autofocus="autofocus" ]required="required"] autocapitalize="off" autocorrect="off" /> </li> <li class='editer saisie_mail_inscription obligatoire[ (#ENV*{erreurs}|table_valeur{mail_inscription}|oui)erreur]'> <label for="mail_inscription"><:entree_adresse_email:> <:info_obligatoire_02:></label> [<span class="erreur_message">(#ENV*{erreurs}|table_valeur{mail_inscription})</span>] <input[ (#HTML5|?{required="required" type="email" class="text email",type="text" class="text"})] name="mail_inscription" id="mail_inscription" value="#ENV{mail_inscription}" size="30"[(#ENV{focus}|=={mail_inscription}|et{#HTML5}|oui) autofocus="autofocus"] autocapitalize="off" autocorrect="off" /> </li> </ul> </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> [<script type="text/javascript"><!-- document.getElementById('(#ENV{focus})').focus(); --></script>] ] </div> [(#ENV{focus,''}|?{' '}) <div style="text-align: #LANG_RIGHT;"> <script type="text/javascript">/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/ document.write("<a style='color: #e86519' href='") document.write((window.opener) ? "javascript:close()" : "./") document.write("'><:pass_quitter_fenetre:><" + "/a>"); /*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script> <noscript> [<a href='./'><:pass_retour_public:></a>] </noscript> </div>] sauvegarder.html000066600000004120152522325430007746 0ustar00<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' /> <ul> #SET{name,nom_sauvegarde}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <li 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}}" /> </li> #SET{name,tables}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} [<li 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> </li>] </ul> [(#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> sauvegarder.php000066600000006552152522325430007604 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * 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_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", /* Si la fonction n'existe pas (vieux plugin migration actif), on met 'spip', ca n'affichera rien mais ne perturbe pas la sauvegarde qui utilisera bien le bon prefixe */ '_prefixe' => function_exists('base_prefixe_tables')?base_prefixe_tables(''):'spip', ); 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.php000066600000010452152522325430007302 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * 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(); 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']); } 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); } ?>inc-lister-sauvegardes_fonctions.php000066600000000122152522325430013721 0ustar00<?php if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/dump'); ?>restaurer.html000066600000006405152522325430007462 0ustar00<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}|table_valeur{message_confirm})</p>] [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE <ul> #SET{name,choisi}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} [<li 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('li.editer_fichier,li.editer_nom_sauvegarde').show('fast');jQuery('li.editer_choisi').hide('fast');return false;" ><:bouton_changer:></a>] </li>] #SET{name,fichier}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <li 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>] </li> #SET{name,nom_sauvegarde}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <li 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;"/> </li> [#SET{name,tout_restaurer}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,obligatoire} <li 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"] 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> </li>] </ul> [(#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>inc-lister-sauvegardes.html000066600000003434152522325430012025 0ustar00<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> <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{download,''}|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> <td class="taille"> [(#VALEUR{taille}|taille_en_octets)] </td> <td> [(#VAL{'Y-m-d H:i:s'}|date{#VALEUR{date}}|affdate_heure)] </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> ] </tr> </BOUCLE_dump> </tbody> </table> </div> </B_dump>
/home/bourgleram/www/c4d43/.././398a1/formulaires.tar