Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
мы мидведи 19.05.2003 09:38
Когда давно писал. Можно ограничивать по времени, по показам. А также процентый показ среди показываемых...........ой загнул :))@baner_visibility[tip] ^connect[$config.mysql_connect]{ $baner[^table::sql{SELECT `id`, `dop_tip`, `proz`, `kolvo_pokaz`, `opisanie`, `date_dobav`, `max_pokaz`, `max_data`, `visibility` FROM `baner` WHERE `tip`='$tip'}]} $baner_prov[^table::create{id dop_tip proz kolvo_pokaz opisanie date_dobav max_pokaz max_data}] ^baner.menu{ ^if($baner.visibility eq 1){ ^if($baner.dop_tip eq 3){ ^baner_prov.append{$baner.id $baner.dop_tip $baner.proz $baner.kolvo_pokaz $baner.opisanie $baner.date_dobav $baner.max_pokaz $baner.max_data} } ^if($baner.dop_tip eq 2){ ^if($baner.kolvo_pokaz >= $baner.max_pokaz){ }{ ^baner_prov.append{$baner.id $baner.dop_tip $baner.proz $baner.kolvo_pokaz $baner.opisanie $baner.date_dobav $baner.max_pokaz $baner.max_data}} } ^if($baner.dop_tip eq 1){ $datatime[^date::create[^date.sql-string[]]] $max_data[^date::create[$baner.max_data]] ^if($datatime >= $max_data){ }{^baner_prov.append{$baner.id $baner.dop_tip $baner.proz $baner.kolvo_pokaz $baner.opisanie $baner.date_dobav $baner.max_pokaz $baner.max_data}} } }} ^if(def $baner_prov){ $baner_zam[^table::load[/tmp/zamena_baner.cfg]] ^if(^baner_prov.count[] eq 1){ $rab[$baner_prov.opisanie] ^mysql[UPDATE `baner` SET `kolvo_pokaz`='^eval($baner_prov.kolvo_pokaz+1)' WHERE `id`='$baner_prov.id'] ^process{^rab.replace[$baner_zam]} }{ ^baner_prov.menu{$rab[$baner_prov.id] $ban$rab(0)} $baner_cfg[^table::load[/tmp/baner.cfg]] ^baner_cfg.menu{$rab[$baner_cfg.id] $rab2($ban$rab) $ban$rab(^eval($rab2+1)) } $baner_pokaz[^table::create{id pokaz max_pokaz}] ^baner_prov.menu{$rab[$baner_prov.id] ^baner_pokaz.append{$baner_prov.id $ban$rab $baner_prov.proz} } $baner_prov2[^table::create{id dop_tip proz kolvo_pokaz opisanie date_dobav max_pokaz max_data}] ^baner_pokaz.menu{ ^if($baner_pokaz.pokaz < $baner_pokaz.max_pokaz){ ^baner_prov.menu{^if($baner_prov.id eq $baner_pokaz.id){^baner_prov2.append{$baner_prov.id $baner_prov.dop_tip $baner_prov.proz $baner_prov.kolvo_pokaz $baner_prov.opisanie $baner_prov.date_dobav $baner_prov.max_pokaz $baner_prov.max_data}}} } } ^switch[^baner_prov2.count[]]{ ^case[0]{ $baner_cfg_new[^table::create{id}] ^baner_cfg.menu{ $rab(0) ^baner_prov.menu{ ^if($baner_prov.id ne $baner_cfg.id){$rab(^eval($rab+1))} ^if($rab == ^baner_prov.count[]){^baner_cfg_new.append{$baner_cfg.id}} } } $cm(^math:random(^baner_prov.count[])) ^baner_prov.offset[set]($cm) $rab[$baner_prov.opisanie] ^mysql[UPDATE `baner` SET `kolvo_pokaz`='^eval($baner_prov.kolvo_pokaz+1)' WHERE `id`='$baner_prov.id'] ^process{^rab.replace[$baner_zam]} ^baner_cfg_new.append{$baner_prov.id} ^baner_cfg_new.save[/tmp/baner.cfg] } ^case[1]{ $rab[$baner_prov2.opisanie] ^mysql[UPDATE `baner` SET `kolvo_pokaz`='^eval($baner_prov.kolvo_pokaz+1)' WHERE `id`='$baner_prov.id'] ^process{^rab.replace[$baner_zam]} ^baner_cfg.append{$baner_prov2.id} ^baner_cfg.save[/tmp/baner.cfg] } ^case[DEFAULT]{ $cm(^math:random(^baner_prov2.count[])) ^baner_prov2.offset[set]($cm) $rab[$baner_prov2.opisanie] ^mysql[UPDATE `baner` SET `kolvo_pokaz`='^eval($baner_prov2.kolvo_pokaz+1)' WHERE `id`='$baner_prov2.id'] ^process{^rab.replace[$baner_zam]} ^baner_cfg.append{$baner_prov2.id} ^baner_cfg.save[/tmp/baner.cfg] } } } }Да ище там было три места для показов банеров какраз перемнная $tip показывало что за место