Пример #1
0
 public function getAllOffers()
 {
     $filterString = 'Active = true';
     $catID = $this->getRequest()->getVar('catid');
     if ($catID) {
         if (strlen($filterString) > 0) {
             $filterString .= ' AND ';
         }
         $filterString .= 'CategoryID = ' . intval($catID);
     }
     $offers = Offer::get('Offer', $filterString);
     $search = $this->getRequest()->getVar('search');
     if ($search) {
         $offers = $offers->filterAny(array('Name:PartialMatch' => $search, 'Description:PartialMatch' => $search));
         //('SearchFields:fulltext', $search);
     }
     $sort = Convert::raw2sql($this->getRequest()->getVar('sort'));
     if ($sort) {
         if (strlen($sort) > 2) {
             $dir = substr($sort, 0, 1);
             $field = substr($sort, 1);
             if ($field == 'Name' || $field == 'LastEdited') {
                 if ($dir == 'a') {
                     $offers = $offers->sort(Convert::raw2sql($field) . " ASC");
                 } else {
                     $offers = $offers->sort(Convert::raw2sql($field) . " DESC");
                 }
             } else {
                 die("Undefined field for sorting");
             }
         }
     }
     return new PaginatedList($offers, $this->request);
 }
Пример #2
0
 private function sendNewOffersNewsletter()
 {
     $sevenDaysAgo = strtotime("-7 day");
     $offers = Offer::get('Offer', 'Active = 1', 'Created DESC')->filter(array('Created:GreaterThan' => date('Y-m-d', $sevenDaysAgo) . ' 00:00:00'))->limit(10);
     $members = Member::get();
     foreach ($members as $member) {
         if ($member->inGroup("Helfer")) {
             $mail = new NewOffersNewsletterEmail($this, $member, $offers);
             $mail->send();
         }
     }
     die('Success');
 }