source: trunk/Common/EmailQueue.php@ 533

Last change on this file since 533 was 532, checked in by chronos, 12 years ago
  • Upraveno: Metoda ShowMain v PageNews rozdělena do jednotlivých metod dle vybrané akce.
  • Opraveno: V souboru EmailQueue se vkládaly na výstup chybně dva znaky mezer.
  • Opraveno: Zamezení úpravy aktualit vložených bez nastaveného uživatele (jako anonym).
  • Opraveno: Odstraněny některé pevné reference na server centrala.
  • Opraveno: Uložení úpravy odkazu aktualit.
File size: 1.4 KB
Line 
1<?php
2
3class EmailQueue extends Module
4{
5 function AddItem($To, $Subject, $Content, $From, $AttachmentFileId = '')
6 {
7 $Values = array('To' => $To,
8 'Subject' => $Subject, 'Content' => $Content, 'Time' => 'NOW()',
9 'From' => $From);
10 if($AttachmentFileId != '') $Values['AttachmentFile'] = $AttachmentFileId;
11 $this->Database->insert('EmailQueue', $Values);
12 }
13
14 function Process()
15 {
16 $Output = '';
17 $DbResult = $this->Database->select('EmailQueue', '*', 'Archive=0');
18 while($DbRow = $DbResult->fetch_assoc())
19 {
20 $Mail = new Mail();
21 $Mail->AddToCombined($DbRow['To']);
22 $Mail->Subject = $DbRow['Subject'];
23 $Mail->From = $DbRow['From'];
24 $Mail->AddBody(strip_tags($DbRow['Content']), 'text/plain');
25 $Mail->AddBody($DbRow['Content'], 'text/html');
26 if($DbRow['AttachmentFile'] != '')
27 {
28 $DbResult2 = $this->Database->select('File', '*', 'Id='.$DbRow['AttachmentFile']);
29 while($File = $DbResult2->fetch_assoc())
30 $Mail->AttachFile($this->Config['Web']['FileRootFolder'].$File['DrivePath'], $File['MimeType']);
31 }
32 $Mail->Send();
33 $this->Database->update('EmailQueue', 'Id='.$DbRow['Id'], array('Archive' => 1));
34 $this->ModuleManager->Modules['Log']->NewRecord('System', 'SendEmail', $DbRow['Id']);
35 $Output .= 'To: '.$DbRow['To'].' Subject: '.$DbRow['Subject'].'<br />';
36 }
37 return($Output);
38 }
39}
40
41?>
Note: See TracBrowser for help on using the repository browser.