Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
yes 19.05.2003 10:12
Без использования БД. Вся информация берётся из таблицы. Существует возможность разграничения по-группам (для разных размеров, мест расположения на странице...). Ограничение только по количеству баннеропоказов. По исчерпанию баннеропоказов показывается баннер по-умолчанию...@show[bid;bgroup;counter] ####### ####Содержит все записи из banner.cfg. $all[^table::load[/banner.cfg]] ####### ####Содержит записи, соответствующие группе. $bygroup[^all.select($all.group_id==$bgroup)] ####### ####Содержит записи, лимит которых не исчерпан. $bylimit[^all.select($all.showed < $all.limit)] ####### ####Содержит записи, соответствующие группе, лимит которых не исчерпан. $bygrouplimit[^all.select($all.group_id==$bgroup && $all.showed < $all.limit)] ####### ####Содержит таблицу с баннерами по-умолчанию. $defbanner[^table::load[/defbanner.cfg]] ####### ####Начало обработки ^if($bid != 0){ $bselect[^bylimit.select($bylimit.id==$bid)] ^if(^bselect.count[]==1 && $counter eq count){ $selcut[^all.select($all.id!=$bselect.id)] $showed[^eval($bselect.showed+1)] ^selcut.append{$bselect.id $bselect.path $bselect.group_id $showed $bselect.limit $bselect.w $bselect.h $bselect.link} ^selcut.sort($selcut.id) ^selcut.save[/banner.cfg] } }{ ^if($bgroup !=0){ ^switch[^bygroup.count[]]{ ^case[0]{ $bselect[^defbanner.select($defbanner.group_id==$bgroup)] } ^case[1]{ $bselect[^bygroup.select(^bygroup.line[]==1)] ^if(^bselect.count[]==1 && $bselect.showed < $bselect.limit && $counter eq count){ $selcut[^all.select($all.id!=$bselect.id)] $showed[^eval($bselect.showed+1)] ^selcut.append{$bselect.id $bselect.path $bselect.group_id $showed $bselect.limit $bselect.w $bselect.h $bselect.link} ^selcut.sort($selcut.id) ^selcut.save[/banner.cfg] } } ^case[DEFAULT]{ ^switch[^bygrouplimit.count[]]{ ^case[0]{ $bselect[^defbanner.select($defbanner.group_id==$bgroup)] } ^case[1]{ $bselect[^bygrouplimit.select(^bygrouplimit.line[]==1)] ^if(^bselect.count[]==1 && $counter eq count){ $selcut[^all.select($all.id!=$bselect.id)] $showed[^eval($bselect.showed+1)] ^selcut.append{$bselect.id $bselect.path $bselect.group_id $showed $bselect.limit $bselect.w $bselect.h $bselect.link} ^selcut.sort($selcut.id) ^selcut.save[/banner.cfg] } } ^case[DEFAULT]{ $rndselect[^eval(^math:random(^bygrouplimit.count[])+1)] $bselect[^bygrouplimit.select(^bygrouplimit.line[]==$rndselect)] ^if(^bselect.count[]==1 && $counter eq count){ $selcut[^all.select($all.id!=$bselect.id)] $showed[^eval($bselect.showed+1)] ^selcut.append{$bselect.id $bselect.path $bselect.group_id $showed $bselect.limit $bselect.w $bselect.h $bselect.link} ^selcut.sort($selcut.id) ^selcut.save[/banner.cfg] } } } } } }{ ^switch[^bylimit.count[]]{ ^case[0]{ ^switch[^all.count[]]{ ^case[0]{} ^case[1]{ $bselect[^all.select(^all.line[]==1)] } ^case[DEFAULT]{ $rndselect[^eval(^math:random(^all.count[])+1)] $bselect[^all.select(^all.line[]==$rndselect)] } } } ^case[1]{ $bselect[^bylimit.select(^bylimit.line[]==1)] ^if(^bselect.count[]==1 && $counter eq count){ $selcut[^all.select($all.id!=$bselect.id)] $showed[^eval($bselect.showed+1)] ^selcut.append{$bselect.id $bselect.path $bselect.group_id $showed $bselect.limit $bselect.w $bselect.h $bselect.link} ^selcut.sort($selcut.id) ^selcut.save[/banner.cfg] } } ^case[DEFAULT]{ $rndselect[^eval(^math:random(^bylimit.count[])+1)] $bselect[^bylimit.select(^bylimit.line[]==$rndselect)] ^if(^bselect.count[]==1 && $counter eq count){ $selcut[^all.select($all.id!=$bselect.id)] $showed[^eval($bselect.showed+1)] ^selcut.append{$bselect.id $bselect.path $bselect.group_id $showed $bselect.limit $bselect.w $bselect.h $bselect.link} ^selcut.sort($selcut.id) ^selcut.save[/banner.cfg] } } } } } ####### ####Вывод полученного баннера. <a href="$bselect.link"><img src="$bselect.path" width="$bselect.w" height="$bselect.h" border="0"></a>Вызывается так: