Advertisement
Guest User

Untitled

a guest
Sep 12th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.56 KB | None | 0 0
  1. <?php
  2. set_time_limit(0);
  3. define('ROOT_PATH', $_SERVER['DOCUMENT_ROOT'] . '/eform/eform');
  4. date_default_timezone_set('Europe/London');
  5. $debug = false;
  6. $app_env = 'Prod';
  7.  
  8. require_once ROOT_PATH . '/xls/classes/PHPExcel.php';
  9. require_once ROOT_PATH . '/xls/classes/PHPExcel/IOFactory.php';
  10. require_once ROOT_PATH . '/PHPMailerAutoload.php';
  11. require_once ROOT_PATH . '/Kashflow/Kashflow.php';
  12. require_once ROOT_PATH . '/Appointmentmaker/APMaker.php';
  13. require_once ROOT_PATH . '/Dropbox/DBXApi.php';
  14.  
  15. $apt_date = $_POST['apt_date'];
  16. $mail_date = $apt_date;
  17. $apt_date = explode('-', $apt_date);
  18. $apt_date = "{$apt_date[2]}/{$apt_date[1]}/{$apt_date[0]}";
  19.  
  20. if(strtoupper($_POST['name'] == "SYSDEBUG")) {
  21.     $app_env = 'Debug';
  22.     $objPHPExcel = PHPExcel_IOFactory::load(ROOT_PATH . '/xls/2016_template.xls');
  23. } else {
  24.     $objPHPExcel = PHPExcel_IOFactory::load(ROOT_PATH . '/xls/2016_template.xls');
  25. }
  26.  
  27.  
  28. $red = new PHPExcel_Style_Color();
  29. $red->setRGB('FF0000');
  30. $objPHPExcel->setActiveSheetIndex(0);
  31. $objPHPExcel->getDefaultStyle()->getFont()->setName('Arial')->setSize(11);
  32. $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
  33. $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A5);
  34. $objPHPExcel->getActiveSheet()->getPageSetup()->setFitToPage(true);
  35. $objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1);
  36. $objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(0);
  37. $objPHPExcel->getActiveSheet()->setPrintGridlines(false);
  38. $objPHPExcel->getActiveSheet()->getPageMargins()->setTop(0);
  39. $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(0);
  40. $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0);
  41. $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0);
  42. $objPHPExcel->getActiveSheet()->SetCellValue('A1', date('d/m/y')); // date
  43. $objPHPExcel->getActiveSheet()->SetCellValue('A2', date('H:i:s')); // date
  44. $objPHPExcel->getActiveSheet()->SetCellValue('C1', $apt_date); // appointment
  45. $objPHPExcel->getActiveSheet()->SetCellValue('A4', $objPHPExcel->getActiveSheet()->getCell('A4')->getValue() . ' ' . strtoupper($_POST['name'])); // name
  46. $objPHPExcel->getActiveSheet()->SetCellValue('A5', $objPHPExcel->getActiveSheet()->getCell('A5')->getValue() . ' ' . strtoupper($_POST['address'])); // address 1
  47. $objPHPExcel->getActiveSheet()->SetCellValue('A6', $objPHPExcel->getActiveSheet()->getCell('A6')->getValue() . ' ' . strtoupper($_POST['address2'])); // address 2
  48. $objPHPExcel->getActiveSheet()->SetCellValue('A7', $objPHPExcel->getActiveSheet()->getCell('A7')->getValue() . ' ' . strtoupper($_POST['town'])); // town
  49. $objPHPExcel->getActiveSheet()->SetCellValue('A8', $objPHPExcel->getActiveSheet()->getCell('A8')->getValue() . ' ' . strtoupper($_POST['county'])); // county
  50. $objPHPExcel->getActiveSheet()->SetCellValue('F5', $objPHPExcel->getActiveSheet()->getCell('F5')->getValue() . ' ' . substr($_POST['telephone'], 0, 5). ' '. substr($_POST['telephone'], 5, 12)); // tel
  51. $objPHPExcel->getActiveSheet()->SetCellValue('F7', $objPHPExcel->getActiveSheet()->getCell('F7')->getValue() . ' ' . substr($_POST['mobile'], 0, 5) . ' ' . substr($_POST['mobile'], 5, 12)); // mob
  52. $objPHPExcel->getActiveSheet()->SetCellValue('F9', $objPHPExcel->getActiveSheet()->getCell('F9')->getValue() . ' ' . substr($_POST['work'], 0, 5) . ' ' . substr($_POST['work'], 5, 12)); // mob
  53. $objPHPExcel->getActiveSheet()->SetCellValue('A9', $objPHPExcel->getActiveSheet()->getCell('A9')->getValue() . ' ' . strtoupper($_POST['post_code'])); // postcode
  54. $objPHPExcel->getActiveSheet()->SetCellValue('C11', $objPHPExcel->getActiveSheet()->getCell('C11')->getValue() . ' ' . strtolower($_POST['email'])); // email
  55. $objPHPExcel->getActiveSheet()->SetCellValue('C13', $objPHPExcel->getActiveSheet()->getCell('C13')->getValue() . ' ' . strtoupper($_POST['make'])); // make
  56. $objPHPExcel->getActiveSheet()->SetCellValue('C15', $objPHPExcel->getActiveSheet()->getCell('C15')->getValue() . ' ' . strtoupper($_POST['appliance'])); // appliance
  57. $objPHPExcel->getActiveSheet()->SetCellValue('C17', $objPHPExcel->getActiveSheet()->getCell('C17')->getValue() . ' ' . strtoupper($_POST['fault'])); // fault
  58. $objPHPExcel->getActiveSheet()->SetCellValue('A28', trim(preg_replace('/\s\s+/', ' ', $_POST['message']))); // message
  59. $objPHPExcel->getActiveSheet()->getStyle('A28')->getAlignment()->setWrapText(true);
  60.  
  61. $objPHPExcel->getActiveSheet()->SetCellValue('C41', $objPHPExcel->getActiveSheet()->getCell('C41')->getValue() . ' ' . strtoupper($_POST['oname'])); // name
  62. $objPHPExcel->getActiveSheet()->SetCellValue('C42', $objPHPExcel->getActiveSheet()->getCell('C42')->getValue() . ' ' . substr($_POST['otelephone'], 0, 5). ' '. substr($_POST['otelephone'], 5, 12)); // tel
  63. $objPHPExcel->getActiveSheet()->SetCellValue('C43', $objPHPExcel->getActiveSheet()->getCell('C43')->getValue() . ' ' . substr($_POST['omobile'], 0, 5) . ' ' . substr($_POST['omobile'], 5, 12)); // mob
  64. $objPHPExcel->getActiveSheet()->SetCellValue('C44', $objPHPExcel->getActiveSheet()->getCell('C44')->getValue() . ' ' . strtolower($_POST['oemail'])); // email
  65. $objPHPExcel->getActiveSheet()->SetCellValue('C45', $objPHPExcel->getActiveSheet()->getCell('C45')->getValue() . ' ' . strtoupper($_POST['oaddress'])); // address 1
  66. $objPHPExcel->getActiveSheet()->SetCellValue('C46', $objPHPExcel->getActiveSheet()->getCell('C46')->getValue() . ' ' . strtoupper($_POST['opost_code'])); // postcode
  67.  
  68. $objPHPExcel->getActiveSheet()->getStyle('C1')->getFont()->setColor( $red );
  69.  
  70. $name = $_POST['name'] . ' ' . $_POST['post_code']; //gmdate("M_d_Y_H_i_s");
  71.  
  72. $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
  73. $objWriter->save(ROOT_PATH . '/xls/' . $name . '.xls');
  74.  
  75. if($app_env == 'Debug') {
  76.     exit(ROOT_PATH . '/xls/' . $name . '.xls');
  77.  
  78.  
  79. }
  80.  
  81. $mail = new PHPMailer;
  82. if($debug) {
  83.   $mail->isSMTP();                                      // Set mailer to use SMTP
  84.   $mail->Host = 'localhost';  // Specify main and backup SMTP servers
  85.   $mail->SMTPAuth = true;                               // Enable SMTP authentication
  86.   $mail->Username = 'user@example.com';                 // SMTP username
  87.   $mail->Password = 'secret';                           // SMTP password
  88.   $mail->Port = 25;
  89.  
  90. }
  91. $mail->From = $_POST['email'];
  92. $mail->FromName = $_POST['post_code'];
  93. $mail->addAddress('jobs@theappliancerepairman.co.uk', '');
  94. $mail->WordWrap = 50;                                 // Set word wrap to 50 characters
  95. $mail->addAttachment(ROOT_PATH . '/xls/' . $name . '.xls');             // Add attachments
  96. $mail->isHTML(true);                                  // Set email format to HTML
  97.  
  98. $mail->Subject = $_POST['name'];
  99. $mail->Body    = $_POST['appliance'];
  100. $mail->AltBody = $_POST['make'];
  101.  
  102. if(!$mail->send()) {
  103.    echo 'Message could not be sent.';
  104.    echo 'Mailer Error: ' . $mail->ErrorInfo;
  105.    exit;
  106. } else {
  107.   $ks = new KFlow();
  108.   $ap = new APMaker();
  109.   $dbx = new DBXApi();
  110.   $ks->addToKashflow($_POST);
  111.   $ap->make_appointment($ks->get_uid(), $_POST['apt_date']);
  112.   $dbx->add_to_dropbox($name, $_POST['apt_date']);
  113.  
  114.   $confirmation = new PHPMailer;
  115.   $confirmation->IsSMTP();
  116.   $confirmation->SMTPAuth = true;                                // Set mailer to use SMTP
  117.   $confirmation->Host = 'puma.websitewelcome.com';                 // Specify main and backup server
  118.   $confirmation->Port = 465;                                    // Set the SMTP port
  119.   $confirmation->SMTPAuth = true;                               // Enable SMTP authentication
  120.   $confirmation->Username = 'jobs@theappliancerepairman.co.uk';                // SMTP username
  121.   $confirmation->Password = 'barryf007!';                  // SMTP password
  122.   $confirmation->SMTPSecure = 'ssl';
  123.   $confirmation->From = "jobs@theappliancerepairman.co.uk";
  124.   $confirmation->FromName = "Barry the Appliance Repairman";
  125.  
  126.   if(isset($_POST['oemail']) && $_POST['oemail'] != "") {
  127.     $confirmation->addAddress($_POST['oemail'], $_POST['oname']);
  128.   } else {
  129.     $confirmation->addAddress($_POST['email'], $_POST['name']);
  130.   }
  131.   $confirmation->isHTML(true);
  132.   $mail_date = date('l d/m/Y', strtotime($mail_date));
  133.   $confirmation->Subject = "Your Appliance Repair Appointment";
  134.   $confirmation->Body = <<<EOD
  135.   <img src="http://theappliancerepairman.co.uk/uploads/appliance-logo.png" alt="The Appliance Repairman" /> <br><br>
  136.   <p style="font-size: 16px;">
  137.   Thank you for choosing The Appliance Repairman to repair your appliance.<br>
  138.   <br>
  139.   Your call is now in our Diary, and has been booked in and confirmed for
  140.   </p>
  141.   <h1 style="color:red">{$mail_date}.</h1>
  142.   <p style="font-size: 16px;">
  143.     Our Engineer will <b>phone you on that number that you provided</b> you between 8 - 9am on the schedule day of your visit
  144.   </p>
  145.   <h1 style="color:red">{$mail_date}.</h1>
  146.   <p style="font-size: 16px;">
  147.     To arrange a time <br>
  148.     Should this not be convenient for you or you have enquiries please call us at 0800 0 43 44 45. <br>
  149.     <br>
  150.     Just to remind you all jobs must be paid on completion, which we accept all cards and cash <br>
  151.     Sorry we do not accept cheques.<br>
  152.     <br>
  153.     The Appliance Repairman - <a href="http://theappliancerepairman.co.uk">Website</a>
  154.   </p>
  155. EOD;
  156.   $confirmation->AltBody    = "Hello {$_POST['name']}, \n\nYour appointment has been booked and confirmed. \nOur Engineer will call you during 8 - 9am on {$mail_date}. Should this not be convinient for you or you have enquiries please call us at 0800 0 43 44 45.\n\nKind regards,\n\nBarry";
  157.   $confirmation->send();
  158. }
  159.  
  160. unlink(ROOT_PATH . '/xls/' . $name . '.xls');
  161.  
  162. header("location:/thank-you.html");
  163. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement