<participant>
     <quickSearch><![CDATA[MM_authorizedUsers]]></quickSearch>
     <insertText location="aboveHTML+10">
<![CDATA[
<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "@@accessLevels@@";
$MM_donotCheckaccess = "@@dontUseAccessLevel@@";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && @@dontUseAccessLevel@@) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "@@failureURL@@";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>]]>
     </insertText>
     <searchPatterns whereToSearch="directive">
       <searchPattern paramNames="failureURL" limitSearch="all"><![CDATA[/\$MM_restrictGoTo\s*=\s*"([^\r\n]*?)"/]]></searchPattern>
            <searchPattern paramNames="accessLevels" limitSearch="all"><![CDATA[/\$MM_authorizedUsers\s*=\s*"([^\r\n]*?)"/]]></searchPattern>
 		<searchPattern paramNames="dontUseAccessLevel" limitSearch="all"><![CDATA[/\$MM_donotCheckaccess\s*=\s*"([^\r\n]*?)"/]]></searchPattern>
             <searchPattern paramNames="failureURL_url" limitSearch="all"><![CDATA[/\$MM_restrictGoTo\s*=\s*"([^\r\n]*?)"/]]></searchPattern>



     </searchPatterns>
</participant>
