Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.94 KB | None | 0 0
  1. <?php
  2. /**
  3. *
  4. * @ This file is created by http://DeZender.Net
  5. * @ deZender (PHP7 Decoder for ionCube Encoder)
  6. *
  7. * @ Version : 4.0.9.0
  8. * @ Author : DeZender
  9. * @ Release on : 08.08.2019
  10. * @ Official site : http://DeZender.Net
  11. *
  12. */
  13.  
  14. class Email_Templates extends TableGateway
  15. {
  16. /**
  17. * Registry
  18. * @var object Registry
  19. */
  20. public $PMDR;
  21. /**
  22. * Database
  23. * @var object Database
  24. */
  25. public $db;
  26.  
  27. /**
  28. * Email Templates Constructor
  29. * @param object $PMDR Registry
  30. * @return void
  31. */
  32. public function __construct($PMDR)
  33. {
  34. $this->PMDR = $PMDR;
  35. $this->db = $PMDR->get('DB');
  36. $this->table = T_EMAIL_TEMPLATES;
  37. }
  38.  
  39. /**
  40. * Insert email template
  41. * @param array $data Email template data
  42. * @return void
  43. */
  44. public function insert($data)
  45. {
  46. $phrases = $this->PMDR->get('Phrases');
  47. $data['id'] = Strings::strtolower($data['id']);
  48. $phrases->insert(['variablename' => 'email_templates_' . $data['id'] . '_name', 'content' => $data['name']], 'email_templates');
  49. $phrases->insert(['variablename' => 'email_templates_' . $data['id'] . '_subject', 'content' => $data['subject']], 'email_templates');
  50. $phrases->insert(['variablename' => 'email_templates_' . $data['id'] . '_body_html', 'content' => $data['body_html']], 'email_templates');
  51. $phrases->insert(['variablename' => 'email_templates_' . $data['id'] . '_body_plain', 'content' => $data['body_plain']], 'email_templates');
  52. $attachment_names = [];
  53.  
  54. if (is_array($data['attachments'])) {
  55. foreach ($data['attachments']['name'] as $attachment_index => $name) {
  56. if ($data['attachments']['error'][$attachment_index] == 0) {
  57. move_uploaded_file($data['attachments']['tmp_name'][$attachment_index], TEMP_UPLOAD_PATH . $name);
  58. $attachment_names[] = $name;
  59. }
  60. }
  61. }
  62.  
  63. $data['attachments'] = serialize(array_unique($attachment_names));
  64.  
  65. if (!isset($data['moderate'])) {
  66. $data['moderate'] = 0;
  67. }
  68.  
  69. $this->db->Execute('INSERT INTO ' . T_EMAIL_TEMPLATES . ' SET id=?, from_address=?, from_name=?,reply_address=?, recipients=?, disable=?, type=?, custom=?, attachments=?, moderate=?', [$data['id'], $data['from_address'], $data['from_name'], $data['reply_address'], $data['recipients'], $data['disable'], $data['type'], $data['custom'], $data['attachments'], $data['moderate']]);
  70. }
  71.  
  72. /**
  73. * Delete email template
  74. * @param string $id Email template ID
  75. * @return void
  76. */
  77. public function delete($id)
  78. {
  79. $phrases = $this->PMDR->get('Phrases');
  80. $phrases->delete('email_templates_' . $id . '_name', 'email_templates');
  81. $phrases->delete('email_templates_' . $id . '_subject', 'email_templates');
  82. $phrases->delete('email_templates_' . $id . '_body_html', 'email_templates');
  83. $phrases->delete('email_templates_' . $id . '_body_plain', 'email_templates');
  84. $this->PMDR->get('Email_Schedules')->delete(['email_template_id' => $id]);
  85. $this->PMDR->get('Email_Queue')->delete(['template_id' => $id]);
  86. parent::delete($id);
  87. }
  88.  
  89. /**
  90. * Update email template
  91. * @param array $data Email template data
  92. * @param string $id Email template ID
  93. * @return void
  94. */
  95. public function update($data, $id)
  96. {
  97. $template = $this->db->GetRow('SELECT * FROM ' . T_EMAIL_TEMPLATES . ' WHERE id=?', [$id]);
  98. $phrases = $this->PMDR->get('Phrases');
  99. $phrases->updatePhrase($this->PMDR->getConfig('language_admin'), 'email_templates', 'email_templates_' . $id . '_name', $data['name']);
  100. $phrases->updatePhrase($this->PMDR->getConfig('language_admin'), 'email_templates', 'email_templates_' . $id . '_subject', $data['subject']);
  101. $phrases->updatePhrase($this->PMDR->getConfig('language_admin'), 'email_templates', 'email_templates_' . $id . '_body_html', $data['body_html']);
  102. $phrases->updatePhrase($this->PMDR->getConfig('language_admin'), 'email_templates', 'email_templates_' . $id . '_body_plain', $data['body_plain']);
  103. if (is_array($data['attachments']) && count($data['attachments'])) {
  104. if (!empty($template['attachments'])) {
  105. $attachment_names = unserialize($template['attachments']);
  106. if ($data['attachments_current'] && count($data['attachments_current'])) {
  107. foreach ($data['attachments_current'] as $attachment_current) {
  108. unlink_file(TEMP_UPLOAD_PATH . $attachment_current);
  109. }
  110.  
  111. $attachment_names = array_diff($attachment_names, $data['attachments_current']);
  112. }
  113. }
  114. else {
  115. $attachment_names = [];
  116. }
  117.  
  118. foreach ($data['attachments']['name'] as $attachment_index => $name) {
  119. if ($data['attachments']['error'][$attachment_index] == 0) {
  120. move_uploaded_file($data['attachments']['tmp_name'][$attachment_index], TEMP_UPLOAD_PATH . $name);
  121. $attachment_names[] = $name;
  122. }
  123. }
  124. }
  125.  
  126. $data['attachments'] = serialize(array_unique($attachment_names));
  127. ..........................................................................................
  128. .....................................................
  129. ....................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement