Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2016
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.94 KB | None | 0 0
  1. <?php
  2.  
  3. class Core {
  4.  
  5. private $db;
  6.  
  7. public function __construct($db)
  8. {
  9. $this->db = $db;
  10. }
  11.  
  12. /*
  13. This function checks if user is logged in
  14. */
  15. public function verifySession()
  16. {
  17. if(!isset($_SESSION['permitted'])) return false;
  18. if($_SESSION['permitted'] != true) return false;
  19. if((time() - $_SESSION['sess_time']) > 7200) return false;
  20. if($_SESSION['sess_ip'] != $_SERVER['REMOTE_ADDR']) return false;
  21.  
  22. $_SESSION['sess_time'] = time();
  23.  
  24. return true;
  25. }
  26.  
  27. /*
  28. This function creates a session
  29. */
  30. public function createSession($mail)
  31. {
  32. global $db;
  33. $q = $db->q("SELECT * FROM users WHERE mail=?", array($mail));
  34. $data = $q->fetch();
  35.  
  36. // Basic session details
  37. $_SESSION['permitted'] = true;
  38. $_SESSION['sess_time'] = time();
  39. $_SESSION['sess_ip'] = $_SERVER['REMOTE_ADDR'];
  40. $_SESSION['_token'] = sha1(base64_encode(openssl_random_pseudo_bytes(50) .md5(microtime()) .openssl_random_pseudo_bytes(5)));
  41.  
  42. // Details
  43. $_SESSION['user'] = array();
  44. $_SESSION['user']['id'] = htmlspecialchars($data['id']);
  45. $_SESSION['user']['mail'] = htmlspecialchars($data['mail']);
  46. $_SESSION['user']['firstname'] = htmlspecialchars($data['firstname']);
  47. $_SESSION['user']['lastname'] = htmlspecialchars($data['lastname']);
  48. $_SESSION['user']['country'] = htmlspecialchars($data['country']);
  49. $_SESSION['user']['state'] = htmlspecialchars($data['state']);
  50. $_SESSION['user']['city'] = htmlspecialchars($data['city']);
  51. $_SESSION['user']['street'] = htmlspecialchars($data['street']);
  52. $_SESSION['user']['zip'] = htmlspecialchars($data['zip']);
  53. $_SESSION['user']['chamberofcommerce'] = htmlspecialchars($data['chamberofcommerce']);
  54. $_SESSION['user']['VATNum'] = htmlspecialchars($data['VATNum']);
  55.  
  56. }
  57.  
  58. /*
  59. This function checks if the user is logged in
  60. */
  61. public function requireLoggedinUser()
  62. {
  63. if(!$this->verifySession())
  64. {
  65. header("Location: ./login.php");
  66. exit;
  67. }
  68. }
  69.  
  70. /*
  71. This function sends an e-mail
  72. */
  73. public function sendStyledMail($target, $subject, $message)
  74. {
  75. $mail = new PHPMailer();
  76. $mail->isSMTP();
  77. $mail->Host = 'smtp.sendgrid.net';
  78. $mail->SMTPAuth = true;
  79. $mail->Username = 'RienBijl';
  80. $mail->Password = 'RienBijl2001';
  81.  
  82. $mail->Port = 25;
  83.  
  84. $mail->AddAddress($target);
  85. $mail->Subject = $subject;
  86. $mail->setFrom('rbijl@enterpriseweb.nl', 'EnterpriseWEB');
  87. $mail->Body = "
  88. <!DOCTYPE html>
  89. <html>
  90. <div style='background-color: #F1F1F1; padding: 5em;'>
  91. <div style='background-color: white; border: 1px solid lightgrey; padding: 20px;'>
  92. <img src='http://enterpriseweb.nl/dist/logo-png.png' style='max-width: 25em;'>
  93. </div>
  94. <br><br>
  95. <div style='background-color: white; border: 1px solid lightgrey; padding: 20px;'>
  96. " .$message ."
  97. </div>
  98.  
  99. <br><br>
  100. <div style='background-color: white; border: 1px solid lightgrey; padding: 20px;'>
  101. <small>
  102. De inhoud van dit bericht is alleen bestemd voor de geadresseerde en kan vertrouwelijke of persoonlijke informatie bevatten.
  103. Als u dit bericht onbedoeld heeft ontvangen verzoeken wij u het te vernietigen en de afzender te informeren.
  104. Het is niet toegestaan om een bericht dat niet voor u bestemd is te vermenigvuldigen dan wel te verspreiden.
  105. Aan dit bericht inclusief de bijlagen kunnen geen rechten ontleend worden, tenzij schriftelijk anders wordt overeengekomen.
  106. EnterpriseWEB aanvaardt geen enkele aansprakelijkheid voor schade en/of kosten die voortvloeien uit onvolledige en/of foutieve informatie in e-mailberichten.
  107. </small>
  108. </div>
  109. </div>
  110.  
  111. </html>
  112.  
  113. ";
  114.  
  115. $mail->isHTML(true);
  116.  
  117. if(!$mail->Send())
  118. {
  119. echo "Error sending: " . $mail->ErrorInfo;;
  120. }
  121. else
  122. {
  123. }
  124.  
  125.  
  126. }
  127.  
  128. }
  129.  
  130. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement