parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

вопрос по switch и битам

agat 03.12.2006 11:11

Эмм...

Есть таблица
# определяем таблицу типов прав доступа
$tAccessTypes[^table::create{type	title	lang_id_1	lang_id_2	lang_id_3
0	not_active	отключено	not active	servis dışı
1	active	активно	active	aktif
2	full_access	полный доступ	full access	tam erişim
4	region	регион	region	bölge
8	group	раздел	group	kategori
16	article	новость	article	haber
32	service_packet	пакет услуг	service_packet	abonelik paketi
64	with_media	с медиа материалом	with media	medya içerir
128	media	медиа материал	media	medya
256	in_basket	в корзине	in basket	sepete eklenmiş
512	ordered	заказан	ordered	sipariş edilmiş
1024	confirmed	подтвержден	confirmed	onaylanmış
2048	paid	оплачен	paid	ödenmiş
4096	free_access	свободный доступ	free access	açık erişim}]
Есть метод
################################################
@right_is[sTitle;iType][sTitle;iType]
^if(^tAccessTypes.locate[title;$sTitle] && (^tAccessTypes.type.int(0) & ^iType.int(0)) == ^tAccessTypes.type.int(0)){
	$result(1)
}{
	$result(0)
}
# end of @right_is[]
Есть проверка типа
^if(^right_is[in_basket;$hItem.type_is]){
	basket
}
^if(^right_is[ordered;$hItem.type_is]){
	ordered
}
^if(^right_is[confirmed;$hItem.type_is]){
	confirmed
}
Как вышеуказанные ИФы заменить на switch?