Файл: components/banners/model.php
Строк: 200
<?php
/******************************************************************************/
// //
// InstantCMS v1.10 //
// http://www.instantcms.ru/ //
// //
// written by InstantCMS Team, 2007-2012 //
// produced by InstantSoft, (www.instantsoft.ru) //
// //
// LICENSED BY GNU/GPL v2 //
// //
/******************************************************************************/
if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
class cms_model_banners{
public function __construct(){
$this->config = cmsCore::getInstance()->loadComponentConfig('banners');
}
/* ==================================================================================================== */
/* ==================================================================================================== */
public static function getBanner($id){
$banner = cmsDatabase::getInstance()->get_fields('cms_banners', "id = '$id'", '*');
if ($banner){
$banner = cmsCore::callEvent('GET_BANNER', $banner);
return $banner;
} else {
return false;
}
}
/* ==================================================================================================== */
/* ==================================================================================================== */
public static function getImageBanner($banner){
return '<a href="/gobanner'.$banner['id'].'" title="'.$banner['title'].'" target="_blank"><img src="/images/banners/'.$banner['fileurl'].'" border="0" alt="'.$banner['title'].'"/></a>';
}
public static function getSwfBanner($banner){
return '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="468" height="60">'."n".
'<param name="movie" value="/images/banners/'.$banner['fileurl'].'?banner_id='.$banner['id'].'" />'."n".
'<param name="quality" value="high" />'."n".
'<param name="FlashVars" value="banner_id='.$banner['id'].'" />'."n".
'<embed src="/images/banners/'.$banner['fileurl'].'?banner_id='.$banner['id'].'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60">'."n".
'</embed>'."n".
'</object>';
}
/* ==================================================================================================== */
/* ==================================================================================================== */
/**
* Возвращает код баннера по названию позиции
* Считаются просмотры
* @param int $id
* @return html
*/
public static function getBannerHTML($position) {
$inDB = cmsDatabase::getInstance();
$position = $inDB->escape_string($position);
$html = '';
$banner = $inDB->get_fields('cms_banners', "position = '$position' AND published = 1 AND ((maxhits > hits) OR (maxhits = 0))", '*', 'RAND()');
if(!$banner) { return $html; }
if ($banner['typeimg']=='image'){
$html = self::getImageBanner($banner);
}
if ($banner['typeimg']=='swf'){
$html = self::getSwfBanner($banner);
}
if ($html) { $inDB->query("UPDATE cms_banners SET hits = hits + 1 WHERE id= '{$banner['id']}'"); }
return $html;
}
/* ==================================================================================================== */
/* ==================================================================================================== */
/**
* Возвращает код баннера по ID
* @param int $id
* @return html
*/
public static function getBannerById($id){
$html = '';
$banner = self::getBanner($id);
if(!$banner) { return $html; }
if ($banner['typeimg']=='image'){
$html = self::getImageBanner($banner);
}
if ($banner['typeimg']=='swf'){
$html = self::getSwfBanner($banner);
}
return $html;
}
/* ==================================================================================================== */
/* ==================================================================================================== */
/**
* Возвращает элементы <option> для списка баннерных позиций
* @param int $selected
* @return html
*/
public static function getBannersListHTML($selected=0){
$html = '';
for($bp=1; $bp<=30; $bp++){
if (@$selected==$bp){
$s = 'selected';
} else {
$s = '';
}
$html .= '<option value="banner'.$bp.'" '.$s.'>banner'.$bp.'</option>'."n";
}
return $html;
}
/* ==================================================================================================== */
/* ==================================================================================================== */
public static function clickBanner($id){
$update_sql = "UPDATE cms_banners SET clicks = clicks + 1 WHERE id = '$id'";
cmsDatabase::getInstance()->query($update_sql);
cmsCore::callEvent('CLICK_BANNER', $id);
return true;
}
}