Ponieważ pozycję w mgroup_others przechowywane są po przecinkach i używając funkcji explode pozbywasz się tych przecinków i ładujesz wartości do tablicy. Czyli w funkcji in_array($a, $; zmienna $a odpowiada za pojedynczy parametr (w naszym przypadku numer grupy), a zmienna $b odpowiada za tablicę wartości, w której szukamy. I nie możesz pisać rzeczy typu in_array(4,9,10, ...) bo wtedy przekraczasz liczbę parametrów funkcji
Żeby znaleźć kilka wartości w mgroup_others masz dwa wyjścia. Albo dodajesz instrukcje między symbolami logicznymi && albo dodasz obsługę tagów <php> w szablonach i następującą funkcję
<php>
function array_in_array($mojeGrupy, $grupyZbazy)
{
foreach ($mojeGrupy as $mojaGrupa)
{
if(in_array($mojaGrupa, $grupyZbazy)) return true;
}
return false;
}
</php>
Wtedy będziesz mógł odpalić takigo ifa
<if="array_in_array(array(4,9,10), explode(',', $this->ipsclass->member['mgroup_others']))">
czyli przeszukiwanie elementów jednej tablicy w drugiej.