if (in__array($UserName, $arrUsers))

-

if (in__array($UserName, $arrUsers)) { SisValid = true;

}

Здесь проверяется, содержится ли переданное функции isAuthorized в ар­гументе SUserName имя пользователя в массиве $arrusers. Если оно там со­держится (пользователь входит в число "избранных"), переменной $isVaiid присваивается true.

Встроенная функция in_array возвращает true, если значение, переданное первым аргументом, имеется среди элементов массива, переданного вторым аргументом. В противном случае, как это логично предположить, возвраща­ется false.

i f < in„array($UserGroup, $arrGroups}) (

$isValid = true,­)

Та же самая проверка, но уже прав пользователя.

if {(SstrUsers =.= "") false) { SisValid = true;

}

И еще один ненужный фрагмент кода. Достаточно посмотреть в условие

этого выражения — и мы поймем почему.

}

return SisValid;

}

Возвращаем результат — значение переменной sisvaiid. Все, объявление функции кончилось.

А теперь давайте посмотрим на остальной код РНР. Он не слишком велик.

session_start(); $MM_authori2edUsers = "a,m"; $MM_donotCheckaccess = "false";

Даем РНР понять, что мы собираемся использовать переменные уровня сес­сии, и объявляем две переменные. Переменная $MM_authorizedUsers со­держит список прав доступа, разделенных запятыми; они потом будут пере­даны функции isAuthorized. Вторая переменная ($MM„donotcheckaccess) фактически не нужна — больше нигде в коде сценария она не встречается.

Пропускаем код объявления функции isAuthorized — мы его уже рассмот­рели. Смотрим дальше

SMM_restrictGoTo = "Login.php";

Сохраняем в переменной SMM_restrictGoTo интернет-адрес страницы, на которую будет выполнен переход, если у пользователя нет нужных прав, или если он не выполнил процедуру входа, if (!((isset($„SESSIOH[,MM_Username']))

^(isAuthorized("",$MM_authorizedUsers,