Blame view

src/lib/MyMailer/Event.php 1.45 KB
ef60cd4d   Administrator   first commit
1
2
3
4
5
  <?php
  namespace MyMailer;
  
  class Event extends Mailer{
  
ef60cd4d   Administrator   first commit
6
  
f7818cdf   Administrator   change request to...
7
8
      public function addLettersList($project_id,$customer_id){
          $data = \seriesOfLetters::find("project_id ={$project_id} ");
ef60cd4d   Administrator   first commit
9
  
f7818cdf   Administrator   change request to...
10
11
12
          foreach($data as $row){
  
              $letters = explode(',',$row->letters);
ef60cd4d   Administrator   first commit
13
  
2dfdc329   Administrator   change request to...
14
  
f7818cdf   Administrator   change request to...
15
16
17
18
19
20
21
22
23
24
25
26
27
              $days = count($letters);
              for($i=0; $i<$days; $i++){
                  $now = date('N');
                  $row->first_delivery = $this->getNextDate($row->first_delivery);
                  $date = $this->getEventDate($row->first_delivery, "+". ($i)*$row->period_val ." days");
                  $event = new \eventInfo();
                  $event->customer_id = $customer_id;
                  $event->event_id = $letters[$i];
                  $event->next_delivery = $date;
                  $event->project_id = $project_id;
                  $event->event_trigger = 'series_of_letter';
                  $event->save();
              }
2dfdc329   Administrator   change request to...
28
  
ef60cd4d   Administrator   first commit
29
          }
f7818cdf   Administrator   change request to...
30
31
32
33
34
35
36
37
      }
  
      private function getEventDate($first_delivery,$time){
          $now = date("Y-m-d");
          $EmailDate = new \DateTime($first_delivery);
          $EmailDate->modify($time);
          return  $EmailDate->format('Y-m-d');
      }
ef60cd4d   Administrator   first commit
38
39
  
  
f7818cdf   Administrator   change request to...
40
41
42
43
44
45
46
47
48
49
50
51
52
      function getNextDate($day)
      {
          $ret = false;
          for ($i=1; $i<=7; $i++)
          {
              if (date('w',strtotime('+'.$i.' day'))==$day)
              {
                  $ret = date('Y-m-d',strtotime('+'.$i.' day'));
                  break;
              }
          }
          return $ret;
      }
ef60cd4d   Administrator   first commit
53
  
ef60cd4d   Administrator   first commit
54
55
  
  
ef60cd4d   Administrator   first commit
56
57
58
  
  
  }