Ejemplo n.º 1
0
 /**
  * Deletes a particular model.
  * If deletion is successful, the browser will be redirected to the 'admin' page.
  * @param integer $id the ID of the model to be deleted
  */
 public function actionDelete()
 {
     if ($this->id > 0) {
         $item = ExBanner::fetch($this->id);
         if ($item->id > 0) {
             $item->delete();
             $this->redirect(SiteHelper::createUrl("/console/banners"));
         }
     }
     $this->redirect(SiteHelper::createUrl("/console/banners"));
 }
Ejemplo n.º 2
0
 public function getBannerByCategory($categoryKeyWord)
 {
     if (!empty($categoryKeyWord)) {
         $banner = false;
         $categoryModel = ExBannerCategory::fetchByKeyWord($categoryKeyWord);
         if (!$categoryModel || $categoryModel->id > 0) {
             $DBParams = DBQueryParamsClass::CreateParams()->setConditions("category=:category AND status_id=2 ")->setParams(array(":category" => $categoryModel->id))->setOrderBy("last_date ASC")->setCache(0)->setLimit(1);
             $bannerArray = ExBanner::fetchAll($DBParams);
             if (sizeof($bannerArray) > 0) {
                 $banner = $bannerArray[0];
                 // Дефолтовый банер
                 if (!$banner) {
                     $DBParams = DBQueryParamsClass::CreateParams()->setConditions("category=:category AND `default`=1 AND status_id=2")->setParams(array(":category" => $categoryModel->id))->setOrderBy("count_show DESC")->setCache(0)->setLimit(1);
                     $bannerArray = ExBanner::fetchAll($DBParams);
                     if (sizeof($bannerArray) > 0) {
                         $banner = $bannerArray[0];
                     }
                 }
                 if ($banner->id > 0) {
                     $banner->update(array("count_show" => $banner->count_show + 1, "last_date" => time()));
                     // Если выставлено ограничение показов
                     if ($banner->finish_count_show > 0 && $banner->count_show >= $banner->finish_count_show) {
                         $banner->update(array("status_id" => 3));
                     }
                     // Окончание показа банера, если указана дата окончания публикации
                     //echo "=".$banner->finish_date."  ".( date("d.m.Y", $banner->finish_date ) )."<hr/>";
                     //echo "=".time()." ".( date("d.m.Y" ));
                     if (!empty($banner->finish_date) && $banner->finish_date <= time()) {
                         // $banner->update( array( "status_id"=>3 ) );
                         // Отправляем уведомление о окончании заказщику
                         if ($banner->email) {
                             /*                $subject = "Показ рекламного банера на сайте ".ZONA_HOST." успешно завершен";
                                                             $message = "Здравствуйте<br/>
                                                                         Показ рекламного банера на сайте ".ZONA_HOST." успешно завершен.<br/>
                                                                         Параметры:<br/>
                                                                         -------------------------------------------------<br/>\
                                                                         Дата начала: ".date( "d.m.Y", strtotime( $start_date ) )."<br/>
                                                                         Дата окнчания: ".date( "d.m.Y", strtotime( $finish_date ) )."<br/>
                                                                         Количество показов: ".( $count_show + $addCount )."<br/>
                                                                         <br/>
                                                                         С уважением<br/>
                                                                         Администрация сайта ".ZONA_HOST;
                             
                                                             mailto( $subject."-", $from='', $email, $message );  */
                         }
                     }
                 }
             }
             if (!empty($banner)) {
                 $controller = new Controller("index");
                 $controller->layout = false;
                 return $controller->renderPartial("ext.banners.views.index", array("banner" => $banner), true);
             }
         } else {
             throw new CHttpException("Banner error", "Неправельно указана категория банера ( " . $categoryKeyWord . " )");
         }
     } else {
         throw new CHttpException("Banner error", "Не указана категория банера");
     }
     return false;
 }