pskli

Enregistrer des données dans une spreadsheet Google Drive

Mar 20th, 2013
283
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /**
  3.  * Template Name: Formulaire de contact
  4.  */
  5.  
  6. get_header(); ?>
  7.  
  8.     <div id="primary" class="site-content">
  9.         <div id="content" role="main">
  10.  
  11.             <?php /*
  12.                   * Formulaire envoyé, on l'analyse
  13.                   */
  14.  
  15.                 if (isset($_POST['submit'])) {
  16.                     $name = htmlspecialchars($_POST['myname']);
  17.                     $email = sanitize_email($_POST['myemail']);
  18.                     $message = wp_kses_post($_POST['mymessage']);
  19.                    
  20.                     $email_to = get_option('admin_email');
  21.                    
  22.                     $subject = $subject . ' ' . '[via formulaire de contact] de' . ' ' . $name;
  23.                     $body = __('Message:', ALLT_TXT_DOMAIN) . ' ' . $message . "\n\n" .
  24.                         __('Nom:', ALLT_TXT_DOMAIN ) . ' ' . $name . "\n" .
  25.                         __('E-mail:', ALLT_TXT_DOMAIN ) . ' ' . $email . "\n" .
  26.                         $headers  = 'From: ' . $name . ' <' . $email . '>' . "\r\n";
  27.            
  28.                     if (wp_mail($email_to, $subject, $body, $headers)) echo 'Email envoyé avec succès';
  29.                    
  30.                     /*
  31.                      * On stocke les données de ce contact dans un post WordPress
  32.                      */
  33.  
  34.                     $contact_post = array(
  35.                         'post_title' => $name . ' | ' . $email,
  36.                         'post_content' => $message,
  37.                         'post_type' => 'contact',
  38.                         'post_status' => 'publish'
  39.                     );
  40.  
  41.                     if (wp_insert_post($contact_post)) echo 'Votre message a bien été enregistré dans WordPress.<br>';
  42.                     else echo 'Erreur WordPress';
  43.  
  44.                     /*
  45.                      * On écrit les données reçues dans la feuille de calcul
  46.                      */
  47.  
  48.                     set_include_path(get_template_directory() . '/inc/ZendGData');
  49.                     include_once(get_template_directory() . '/inc/Google_Spreadsheet.php');
  50.  
  51.                     $u = "saikalitesting@gmail.com";
  52.                     $p = "saikali123456";
  53.  
  54.                     $spreadsheet = new Google_Spreadsheet($u, $p);
  55.                     $spreadsheet->useSpreadsheet('Ma feuille de calcul');
  56.                     $spreadsheet->useWorksheet('Feuille1');
  57.  
  58.                     $row = array(
  59.                         'Nom' => $name,
  60.                         'E-mail' => $email,
  61.                         'Message' => $message,
  62.                         'Date d\'envoi' => date('d/m/Y')
  63.                     );
  64.  
  65.                     if ($spreadsheet->addRow($row)) echo 'Votre message a été enregistré dans notre feuille de calcul.';
  66.                     else echo 'Erreur Google Drive.';
  67.  
  68.  
  69.                 } else {
  70.  
  71.                     /*
  72.                      * Formulaire non-envoyé, on l'affiche
  73.                      */
  74.                     ?>
  75.  
  76.                     <form action="<?php echo the_permalink(); ?>" method="post">
  77.                         <label for="name">Nom complet:</label>
  78.                         <input type="text" name="myname" id="name" placeholder="Votre nom" />
  79.                         <hr>
  80.                         <label for="email">Adresse e-mail:</label>
  81.                         <input type="email" name="myemail" id="email" placeholder="Votre e-mail" />
  82.                         <hr>
  83.                         <label for="message">Message:</label>
  84.                         <textarea cols="50" rows="10" name="mymessage" id="message" placeholder="Votre message"></textarea>
  85.                         <hr>
  86.                         <input type="submit" name="submit" value="Envoyer le message" />
  87.                     </form>
  88.  
  89.                 <?php } ?>
  90.  
  91.         </div><!-- #content -->
  92.     </div><!-- #primary -->
  93.  
  94. <?php get_footer(); ?>
RAW Paste Data