| Новости | 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 показывало что за место