/** * 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")); }
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; }