meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
demo:bureaucracy [2011/06/21 06:10]
ztrulphcs [Modification]
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Bureaucracy ====== 
- 
-Ce greffon est optionnel et peut être retiré. 
- 
-page officielle : [[doku>:plugin:bureaucracy]] 
- 
-Ce greffon sert à créer des formulaires. Les actions du formulaire peuvent être : 
-  * L'envoi d'un mail 
-  * La création d'une nouvelle page 
-  * Tout autre action que **vous** coderez vous même en PHP  
- 
-===== Modification ===== 
- 
-Pour l'action mail, on peut, pour cacher l'adresse dans le source de la page (ce qui permet de laisser le code source d'une page disponible), utiliser un nom qui est défini dans la page [[:private:emails]], qui ne doit être accessible par personne. Seul l'administrateur du site y aura accès, car il est administrateur. Si la page [[:private:emails]] est accessible par d'autres personnes (et surtout par des internautes anonymes), alors elle perd sa raison d'être. 
- 
-Il suffit de remplacer le fichier ''lib/plugins/bureaucracy/actions/mail.php par'' 
-++++cette version| 
-<code php mail.php> 
-<?php 
-/** 
- * Action sendemail for DokuWiki plugin bureaucracy 
- */ 
- 
-class syntax_plugin_bureaucracy_action_mail extends syntax_plugin_bureaucracy_action { 
- 
-    /** 
-     * Build a nice email from the submitted data and send it 
-     */ 
-    function run($data, $thanks, $argv) { 
-        global $ID; 
- 
-        // get recipient address(es) 
- if( file_exists( $f=wikiFN( ':private:emails' ))) { 
- $mailads = array(); 
- $lines = file($f); 
- foreach($lines as $line){ 
- $line = preg_replace('/#.*$/','',$line); //ignore comments 
- $line = trim($line); 
- if(empty($line)) continue; 
- 
- $row = split( "=", $line, 2 ); 
- $mails[trim($row[0])] = trim($row[1]); 
- } 
- foreach( $argv as $mailad ) { 
- if( array_key_exists( $mailad, $mails)) { 
- $mailads[] = $mails[ $mailad ]; 
- } 
- else { 
- $mailads[] = $mailad; 
- } 
- } 
- $to = join(',',$mailads); 
- } 
- else 
- $to = join(',',$argv); 
- 
-        $sub = sprintf($this->getLang('mailsubject'),$ID); 
-        $txt = sprintf($this->getLang('mailintro')."\n\n\n", dformat()); 
- 
-        foreach($data as $opt){ 
-            $value = $opt->getParam('value'); 
-            $label = $opt->getParam('label'); 
- 
-            switch($opt->getFieldType()){ 
-                case 'fieldset': 
-                    $txt .= "\n====== ".hsc($label)." ======\n\n"; 
-                    break; 
-                default: 
-                    if($value === null || $label === null) break; 
-                    $txt .= $label."\n"; 
-                    $txt .= "\t\t$value\n"; 
-            } 
-        } 
- 
-        global $conf; 
-        if(!mail_send($to, $sub, $txt, $conf['mailfrom'])) { 
-            throw new Exception($this->getLang('e_mail')); 
-        } 
-        return $thanks; 
-    } 
- 
-} 
-// vim:ts=4:sw=4:et:enc=utf-8: 
-</code> 
-++++ 
- 
- --- //[[schplurtz@free.fr|schplurtz le déboulonné]] 2011/03/12 15:27// 
- 
-===== Démo ===== 
- 
-==== Démo 1 ==== 
- 
-  <form> 
-  Action mail uneadresse@qqpart.fr 
-  Thanks "Votre message a bien été envoyé." 
-   
-  Fieldset "Vous" 
-  Textbox  "Votre nom" 
-  email "Votre adresse de courriel" 
-   
-  fieldset "message" 
-  textarea "Veuillez saisir votre message ici" 
-   
-  fieldset "validation" 
-  submit 
-  </form> 
-<form> 
-Action mail uneadresse@qqpart.fr 
-Thanks "Votre message a bien été envoyé." 
- 
-Fieldset "Vous" 
-Textbox  "Votre nom" 
-email "Votre adresse de courriel" 
- 
-fieldset "message" 
-textarea "Veuillez saisir votre message ici" 
- 
-fieldset "validation" 
-submit 
-</form> 
- 
-==== Démo 2 ==== 
-Dans cette deuxième démo, l'adresse email n'est pas visible. L'adresse ''moi'' est définie dans la page [[:private:emails]], qui ne doit être accessible par personne. Seul l'administrateur du site y aura accès, car il est administrateur. Si la page [[:private:emails]] est accessible par d'autres personnes (et surtout par des internautes anonymes), alors elle perd sa raison d'être. 
-  <form> 
-  Action mail moi 
-  Thanks "Votre message a bien été envoyé." 
-   
-  Fieldset "Vous" 
-  Textbox  "Votre nom" 
-  email "Votre adresse de courriel" 
-   
-  fieldset "message" 
-  textarea "Veuillez saisir votre message ici" 
-   
-  fieldset "validation" 
-  submit 
-  </form> 
-<form> 
-Action mail moi 
-Thanks "Votre message a bien été envoyé." 
- 
-Fieldset "Vous" 
-Textbox  "Votre nom" 
-email "Votre adresse de courriel" 
- 
-fieldset "message" 
-textarea "Veuillez saisir votre message ici" 
- 
-fieldset "validation" 
-submit 
-</form>