Example #1
0
 } else {
     /* If a session has previously been established, we can connect using the
      * credentials that the user logged in with previously ... these are stored
      * in the MapGuide session.
      * It is possible for the user to re-authenticate using a different set of
      * credentials.  Handle this here, but keep the session the same.
      */
     $sessionID = $_REQUEST['session'];
     session_id(str_replace('_', '-', $sessionID));
     session_start();
     /* current user is re-authenticating or not? */
     if (isset($_REQUEST['username']) && isset($_REQUEST['password'])) {
         $user = new MgUserInformation($_REQUEST['username'], $_REQUEST['password']);
         $user->SetClientIp(GetClientIp());
         $user->SetClientAgent(GetClientAgent());
         $user->SetMgSessionId($sessionID);
     } else {
         $user = new MgUserInformation($sessionID);
         $user->SetClientIp(GetClientIp());
         $user->SetClientAgent(GetClientAgent());
     }
     /* open a connection to the site.  This will generate exceptions if the user
      * is set up properly - not found, invalid password etc
      */
     $siteConnection = new MgSiteConnection();
     $siteConnection->Open($user);
     /* MgUserInformation doesn't tell us who is logged in so we store it
      * in the php session for convenience
      */
     if (isset($_REQUEST['username']) && isset($_REQUEST['password'])) {
         $_SESSION['username'] = $_REQUEST['username'];
Example #2
0
    public $layerData;
}
$mapName = "";
$sessionId = "";
$summary = false;
$layerCount = 0;
$intermediateVar = 0;
GetRequestParameters();
$updateType = -1;
$output = "\nvar layerData = new Array();\n";
try {
    InitializeWebTier();
    // connect to the site and get a resource service instance
    //
    $userInfo = new MgUserInformation();
    $userInfo->SetMgSessionId($sessionId);
    $userInfo->SetClientIp(GetClientIp());
    $userInfo->SetClientAgent(GetClientAgent());
    $site = new MgSiteConnection();
    $site->Open($userInfo);
    $resourceSrvc = $site->CreateService(MgServiceType::ResourceService);
    //Load the map runtime state.
    //
    $map = new MgMap();
    $map->Open($resourceSrvc, $mapName);
    $layerMap = null;
    $tree = BuildLayerTree($map, $resourceSrvc);
    if ($summary) {
        $updateType = 0;
        // return only the layer structure, that is mainly groups/layers/layer-ids. Do not parse layer definitions.
        //
Example #3
0
function BuildViewer($forDwf = true)
{
    global $debug, $webLayoutDefinition, $cmds, $locale;
    global $sessionId, $username, $password, $orgSessionId;
    global $mapName;
    global $product;
    SetLocalizedFilesPath(GetLocalizationPath());
    try {
        // Initialize web tier with the site configuration file.
        InitializeWebTier();
        //fetch the parameters for this request
        //
        GetRequestParameters();
        //Open a connection with the server
        //
        $createSession = true;
        $cred = new MgUserInformation();
        if ($sessionId != '') {
            $cred->SetMgSessionId($sessionId);
            $createSession = false;
        } else {
            if ($username != '') {
                $cred->SetMgUsernamePassword($username, $password);
            } else {
                requestAuthentication();
                return;
            }
        }
        $site = new MgSiteConnection();
        $cred->SetLocale($locale);
        $cred->SetClientIp(GetClientIp());
        $cred->SetClientAgent(GetClientAgent());
        $site->Open($cred);
        if ($createSession) {
            $site1 = $site->GetSite();
            $sessionId = $site1->CreateSession();
            if ($forDwf == false) {
                $orgSessionId = $sessionId;
            }
        }
        //Get a MgWebLayout object initialized with the specified web layout definition
        //
        $webLayout = null;
        try {
            $resourceSrvc = $site->CreateService(MgServiceType::ResourceService);
            $webLayoutId = new MgResourceIdentifier($webLayoutDefinition);
            $webLayout = new MgWebLayout($resourceSrvc, $webLayoutId);
        } catch (MgUnauthorizedAccessException $e) {
            requestAuthentication();
            return;
        } catch (MgException $e) {
            $shortError = $e->GetExceptionMessage();
            $longErrorMsg = EscapeForHtml($e->GetDetails());
            header("HTTP/1.1 559 ");
            header('Content-Type: text/html; charset=utf-8');
            header("Status: 559 {$shortError}");
            echo "<html>\n<body>\n";
            echo $longErrorMsg;
            echo "</body>\n</html>\n";
            return;
        }
        //calculate the size of the variable elements of the viewer
        //
        $toolBar = $webLayout->GetToolBar();
        $statusBar = $webLayout->GetStatusBar();
        $taskPane = $webLayout->GetTaskPane();
        $infoPane = $webLayout->GetInformationPane();
        $taskBar = $taskPane->GetTaskBar();
        $mapDef = $webLayout->GetMapDefinition();
        $startupScriptCode = $webLayout->GetStartupScript();
        $selectionColor = $webLayout->GetSelectionColor();
        $mapImgFormat = $webLayout->GetMapImageFormat();
        $selImgFormat = $webLayout->GetSelectionImageFormat();
        $pointBuffer = $webLayout->GetPointSelectionBuffer();
        $showTaskPane = $taskPane->IsVisible();
        $showTaskBar = $taskBar->IsVisible();
        $showStatusbar = $statusBar->IsVisible();
        $showToolbar = $toolBar->IsVisible();
        $taskPaneWidth = $taskPane->GetWidth();
        $toolbarHeight = 30;
        $taskbarHeight = 30;
        $statusbarHeight = 26;
        $taskWidth = $showTaskPane ? $taskPaneWidth : 0;
        $toolbarHeight = $showToolbar ? $toolbarHeight : 0;
        $taskbarHeight = $showTaskBar ? $taskbarHeight : 0;
        $statusbarHeight = $showStatusbar ? $statusbarHeight : 0;
        //Encode the initial url so that it does not trip any sub-frames (especially if this url has parameters)
        $taskPaneUrl = urlencode($taskPane->GetInitialTaskUrl());
        $vpath = GetSurroundVirtualPath();
        $defHome = false;
        if ($taskPaneUrl == "") {
            $taskPaneUrl = "gettingstarted.php";
            $defHome = true;
        }
        $mapDefinitionUrl = urlencode($mapDef);
        // NOTE:
        //
        // We don't open a MgMap because it is being created by mapframe.php that is also probably running
        // as this script is running. However the naming convention is fixed enough that we can figure out
        // what to pass to the Task Pane
        $resId = new MgResourceIdentifier($mapDef);
        $mapName = $resId->GetName();
        $title = $webLayout->GetTitle();
        $enablePingServer = $webLayout->GetEnablePingServer();
        $showLegend = $infoPane->IsLegendBandVisible();
        $showProperties = $infoPane->IsPropertiesBandVisible();
        if ($showLegend || $showProperties) {
            if ($infoPane->IsVisible()) {
                $infoWidth = $infoPane->GetWidth();
                if ($infoWidth < 5) {
                    $infoWidth = 5;
                }
                //ensure visible
            } else {
                $showProperties = $showLegend = false;
                $infoWidth = 0;
            }
        } else {
            $infoWidth = 0;
        }
        //calculate the url of the inner pages
        //
        $srcToolbar = $showToolbar ? 'src="' . $vpath . 'toolbar.php?LOCALE=' . $locale . '"' : '';
        $srcStatusbar = $showStatusbar ? 'src="' . $vpath . 'statusbar.php?LOCALE=' . $locale . '"' : "";
        $srcTaskFrame = $showTaskPane ? 'src="' . $vpath . 'taskframe.php?MAPNAME=' . $mapName . '&WEBLAYOUT=' . urlencode($webLayoutDefinition) . '&DWF=' . ($forDwf ? "1" : "0") . '&SESSION=' . ($sessionId != "" ? $sessionId : "") . '&LOCALE=' . $locale . '"' : '';
        $srcTaskBar = 'src="' . $vpath . 'taskbar.php?LOCALE=' . $locale . '"';
        //view center
        //
        $ptCenter = $webLayout->GetCenter();
        if ($ptCenter == null) {
            $center = "null";
        } else {
            $coord = $ptCenter->GetCoordinate();
            $center = sprintf("new Point(%f, %f)", $coord->GetX(), $coord->GetY());
        }
        //Process commands and declare command objects
        //
        $commands = $webLayout->GetCommands();
        $cmdObjects = "";
        $cmdObject = "";
        $navCmdIndex = 0;
        $searchCmdIndex = 0;
        $measureCmdIndex = 0;
        $printCmdIndex = 0;
        $scriptCmdIndex = 0;
        $userCode = "";
        $userCodeCalls = "\nswitch(funcIndex)\n{\n";
        $selAwareCmdCount = 0;
        $selAwareCmds = "";
        for ($i = 0; $i < $commands->GetCount(); $i++) {
            $cmd = $commands->GetItem($i);
            if (!$cmd->IsUsed()) {
                continue;
            }
            $tgtViewer = $cmd->GetTargetViewerType();
            if (($tgtViewer == MgWebTargetViewerType::Dwf) != ($forDwf == true) && $tgtViewer != MgWebTargetViewerType::All) {
                continue;
            }
            $name = $cmd->GetName();
            $action = $cmd->GetAction();
            if ($action == MgWebActions::Search) {
                $cols = "var resCols" . $searchCmdIndex . " = new Array();\n";
                if ($cmd->GetResultColumnCount() > 0) {
                    for ($j = 0; $j < $cmd->GetResultColumnCount(); $j++) {
                        $col = sprintf("resCols%d[%d] = new ResultColumn(\"%s\", \"%s\");\n", $searchCmdIndex, $j, StrEscape($cmd->GetColumnDisplayNameAt($j)), StrEscape($cmd->GetColumnPropertyNameAt($j)));
                        $cols = $cols . $col;
                    }
                }
                $cmdObjects = $cmdObjects . $cols;
                // declare a new search command object
                $cmdObject = sprintf("commands[%d] = new SearchCommand(\"%s\", \"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", resCols%d, \"%s\", %d, %d, \"%s\");\n", $i, StrEscape($name), StrEscape($cmd->GetLabel()), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetLayer(), StrEscape($cmd->GetPrompt()), $searchCmdIndex, StrEscape($cmd->GetFilter()), $cmd->GetMatchLimit(), $cmd->GetTarget(), $cmd->GetTargetName());
                $searchCmdIndex++;
            } else {
                if ($action == MgWebActions::InvokeUrl) {
                    // create the parameter objects
                    $params = "var navParams" . $navCmdIndex . " = new Array();\n";
                    $layers = "var layers" . $navCmdIndex . " = new Array();\n";
                    if ($cmd->GetParameterCount() > 0) {
                        for ($j = 0; $j < $cmd->GetParameterCount(); $j++) {
                            $param = sprintf("navParams%d[%d] = new NavParam(\"%s\", \"%s\");\n", $navCmdIndex, $j, $cmd->GetParameterNameAt($j), $cmd->GetParameterValueAt($j));
                            $params = $params . $param;
                        }
                    }
                    for ($j = 0; $j < $cmd->GetLayerCount(); $j++) {
                        $layer = sprintf("layers%d[%d] = \"%s\";\n", $navCmdIndex, $j, $cmd->GetLayerNameAt($j));
                        $layers = $layers . $layer;
                    }
                    $cmdObjects = $cmdObjects . $params . $layers;
                    if ($cmd->DisabledIfSelectionEmpty() || $cmd->GetLayerCount() > 0) {
                        $selAwareCmds = $selAwareCmds . sprintf("selectionAwareCmds[%d] = %d;\n", $selAwareCmdCount, $i);
                        $selAwareCmdCount++;
                    }
                    // declare a new invokeurl command object
                    $cmdObject = sprintf("commands[%d] = new InvokeUrlCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", navParams%d, %s, layers%d, %d, \"%s\");\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetUrl(), $navCmdIndex, $cmd->DisabledIfSelectionEmpty() ? "true" : "false", $navCmdIndex, $cmd->GetTarget(), $cmd->GetTargetName());
                    $navCmdIndex++;
                } else {
                    if ($action == MgWebActions::Buffer || $action == MgWebActions::SelectWithin || $action == MgWebActions::Measure || $action == MgWebActions::ViewOptions || $action == MgWebActions::GetPrintablePage) {
                        if ($action == MgWebActions::Measure) {
                            if ($measureCmdIndex != 0) {
                                throw new Exception(GetLocalizedString("ALREADYINMEASURE", $locale));
                            }
                            $measureCmdIndex = $i;
                        } else {
                            if ($action == MgWebActions::SelectWithin) {
                                $selAwareCmds = $selAwareCmds . sprintf("selectionAwareCmds[%d] = %d;\n", $selAwareCmdCount, $i);
                                $selAwareCmdCount++;
                            }
                        }
                        // declare a new ui target command object
                        $cmdObject = sprintf("commands[%d] = new UiTargetCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", %d, \"%s\");\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetTarget(), $cmd->GetTargetName());
                    } else {
                        if ($action == MgWebActions::Help) {
                            // declare a new help  command object
                            $cmdObject = sprintf("commands[%d] = new HelpCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", %d, \"%s\");\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetUrl(), $cmd->GetTarget(), $cmd->GetTargetName());
                        } else {
                            if ($action == MgWebActions::PrintMap) {
                                // declare the print layouts
                                $layouts = "var layouts" . $printCmdIndex . " = new Array();\n";
                                for ($j = 0; $j < $cmd->GetPrintLayoutCount(); $j++) {
                                    $layout = "";
                                    $layout = sprintf("layouts%d[%d] = \"%s\";\n", $printCmdIndex, $j, $cmd->GetPrintLayoutAt($j));
                                    $layouts = $layouts . $layout;
                                }
                                $cmdObjects = $cmdObjects . $layouts;
                                // declare a new print command object
                                $cmdObject = sprintf("commands[%d] = new PrintCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", layouts%d);\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $printCmdIndex);
                                $printCmdIndex++;
                            } else {
                                if ($action == MgWebActions::InvokeScript) {
                                    // declare a new basic command object
                                    $cmdObject = sprintf("commands[%d] = new InvokeScriptCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", %d);\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $scriptCmdIndex);
                                    $userCode = $userCode . "\nfunction UserFunc" . $scriptCmdIndex . "()\n{\n" . $cmd->GetScriptCode() . "\n}\n";
                                    $userCodeCalls = $userCodeCalls . sprintf("case %d: UserFunc%d(); break;\n", $scriptCmdIndex, $scriptCmdIndex);
                                    $scriptCmdIndex++;
                                } else {
                                    // declare a new basic command object
                                    $cmdObject = sprintf("commands[%d] = new BasicCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\");\n", $i, $name, $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()));
                                }
                            }
                        }
                    }
                }
            }
            $cmdObjects = $cmdObjects . $cmdObject;
            $cmds[$name] = $i;
        }
        $userCodeCalls = $userCodeCalls . "\n}\n";
        //Declare toolbar items
        //
        $toolbarDef = DeclareUiItems($toolBar->GetWidgets(), "toolbarItems");
        //Declare task items
        $taskListDef = DeclareUiItems($taskBar->GetTaskList(), "taskItems");
        //Declare context menu items
        $ctxMenu = $webLayout->GetContextMenu();
        if ($ctxMenu->IsVisible()) {
            $ctxMenuDef = DeclareUiItems($ctxMenu, "ctxMenuItems");
        } else {
            $ctxMenuDef = "";
        }
        //task items texts
        //
        $taskItemTexts = "";
        $taskButtons = $taskBar->GetTaskButtons();
        for ($i = 0; $i < 4; $i++) {
            $btn = $taskButtons->GetWidget($i);
            if ($i > 0) {
                $taskItemTexts = $taskItemTexts . ",";
            }
            $taskItemTexts = $taskItemTexts . '"' . StrEscape($btn->GetName()) . '",' . '"' . StrEscape($btn->GetTooltip()) . '",' . '"' . StrEscape($btn->GetDescription()) . '",' . '"' . StrEscape($btn->GetIconUrl()) . '",' . '"' . StrEscape($btn->GetDisabledIconUrl()) . '"';
        }
        //transmit the session to the map pane if one was specified to this request
        if ($orgSessionId != "") {
            $sessionParam = "&SESSION=" . $orgSessionId;
        } else {
            $sessionParam = "";
        }
        //load the frameset template and format it
        $frameset = "";
        $viewerType = $forDwf ? "DWF" : "HTML";
        if ($showTaskBar) {
            $frameSetTempl = file_get_contents("../viewerfiles/framesettaskbar.templ");
            $frameset = sprintf($frameSetTempl, $statusbarHeight, $taskWidth, $toolbarHeight, $srcToolbar, $vpath . "mapframe.php", $mapDefinitionUrl, $viewerType, $showLegend ? 1 : 0, $showProperties ? 1 : 0, $infoWidth, $locale, $webLayout->GetHyperlinkTarget(), $webLayout->GetHyperlinkTargetFrame(), $webLayout->IsZoomControlVisible() ? 1 : 0, $selectionColor, $mapImgFormat, $selImgFormat, $pointBuffer, $sessionParam, $vpath . "formframe.php", $taskbarHeight + 1, $srcTaskBar, $srcTaskFrame, $srcStatusbar);
        } else {
            $frameSetTempl = file_get_contents("../viewerfiles/framesetnotaskbar.templ");
            $frameset = sprintf($frameSetTempl, $toolbarHeight, $statusbarHeight, $srcToolbar, $taskWidth, $vpath . "mapframe.php", $mapDefinitionUrl, $viewerType, $showLegend ? 1 : 0, $showProperties ? 1 : 0, $infoWidth, $locale, $webLayout->GetHyperlinkTarget(), $webLayout->GetHyperlinkTargetFrame(), $webLayout->IsZoomControlVisible() ? 1 : 0, $selectionColor, $mapImgFormat, $selImgFormat, $pointBuffer, $sessionParam, $srcTaskFrame, $vpath . "formframe.php", $srcStatusbar);
        }
        $homePageUrl = urldecode($taskPaneUrl);
        if (strlen($homePageUrl) < 8 || strncasecmp($homePageUrl, "http://", 7) != 0) {
            $homePageUrl = $vpath . $homePageUrl;
        }
        //load the HTML template and format it
        //
        $templ = Localize(file_get_contents("../viewerfiles/mainframe.templ"), $locale, GetClientOS());
        print sprintf($templ, $title, GetRootVirtualFolder() . "/mapagent/mapagent.fcgi", $enablePingServer ? 1 : 0, $site->GetSite()->GetSessionTimeout(), $locale, $showToolbar ? 1 : 0, $showStatusbar ? 1 : 0, $showTaskPane ? 1 : 0, $showTaskPane ? 0 : ($showTaskBar ? 1 : 0), $homePageUrl, $defHome ? "1" : "0", $webLayoutDefinition, $mapDef, $taskWidth, $center, $webLayout->GetScale(), StrEscape($title), $forDwf ? "1" : "0", $cmdObjects, $toolbarDef, $taskListDef, $ctxMenuDef, $userCode, $taskItemTexts, $selAwareCmds, $startupScriptCode, $vpath . "quickplotpanel.php", $vpath . "measureui.php", $vpath . "searchprompt.php", $vpath . "bufferui.php", $vpath . "selectwithinui.php", $userCodeCalls, $vpath . "viewoptions.php", $frameset);
    } catch (MgUserNotFoundException $e) {
        requestAuthentication();
    } catch (MgAuthenticationFailedException $e) {
        requestAuthentication();
    } catch (MgException $e) {
        // This should be a 500 error of some sort, but
        // in order to give a nice custom error message, it looks as
        // if we shortcut things by using a 200 status.
        $shortError = $e->GetExceptionMessage();
        $longErrorMsg = EscapeForHtml($e->GetDetails());
        header("HTTP/1.1 200 ");
        header('Content-Type: text/html; charset=utf-8');
        header("Status: 200 {$shortError}");
        echo "<html>\n<body>\n";
        echo $longErrorMsg;
        echo "</body>\n</html>\n";
    } catch (Exception $ne) {
        $errorMsg = EscapeForHtml($ne->GetMessage());
        echo $errorMsg;
    }
}
Example #4
0
 function GetUserForSession($paramSet)
 {
     try {
         global $previousSession;
         $site2 = new MgSite();
         $userInfo = new MgUserInformation();
         $userInfo->SetMgSessionId($previousSession);
         $site2->Open($userInfo);
         $userId = $site2->GetUserForSession();
         $site2->Close();
         return new Result($userId, "text/plain");
     } catch (MgException $e) {
         return new Result(get_class($e), "text/plain");
     } catch (SqliteException $s) {
         return new Result($s->GetExceptionMessage(), "text/plain");
     }
 }
Example #5
0
 function Login($username, $password)
 {
     $user = FALSE;
     $encryptedPassword = crypt($password, SALT);
     $result = $this->db->query('SELECT userid FROM users WHERE username = "******" and password = "******" and disabled = 0 and resetkey = ' . "''" . ';');
     try {
         if ($result) {
             $aRow = $result->fetch(SQLITE_ASSOC);
             $user = $this->GetUser($aRow['userid']);
         } else {
             //user was logged in by the MapGuide server if we got to here, we
             //need to kick them out.
             global $sessionID;
             $user = new MgUserInformation("Anonymous", "");
             $user->SetMgSessionId($sessionID);
         }
     } catch (MgException $e) {
         return "<Error>Login failed.</Error>";
     }
     return $user;
 }
Example #6
0
function LoadSessionVars()
{
    global $webConfigFile;
    global $adminSession;
    global $selectedUser;
    global $selectedGroup;
    global $selectedRole;
    global $selectedServer;
    global $selectedService;
    global $selectedLog;
    global $selectedPackage;
    global $selectedMapping;
    global $packageLoadErrorMsg;
    global $packageMakeErrorMsg;
    global $packageLoadConfirmationMsg;
    global $packageMakeConfirmationMsg;
    global $confirmationMsg;
    global $userInfo;
    global $clientAgent;
    global $clientIp;
    global $site;
    global $autoRefresh;
    global $autoRefreshFrequency;
    global $limitRefresh;
    global $numRecsToRefresh;
    global $popups;
    try {
        if (!array_key_exists('webConfigFile', $_SESSION)) {
            // if the user attempts to access a php page without logging in,
            // webConfigFile does not exist on the first load
            throw new AuthenticationFailedException("webConfigFile does not exist");
        }
        // Load the current vals of session vars.
        $webConfigFile = $_SESSION['webConfigFile'];
        $adminSession = $_SESSION['adminSession'];
        $selectedUser = $_SESSION['selectedUser'];
        $selectedGroup = $_SESSION['selectedGroup'];
        $selectedRole = $_SESSION['selectedRole'];
        $selectedServer = $_SESSION['selectedServer'];
        $selectedService = $_SESSION['selectedService'];
        $selectedLog = $_SESSION['selectedLog'];
        $selectedPackage = $_SESSION['selectedPackage'];
        $selectedMapping = $_SESSION['selectedMapping'];
        $packageLoadErrorMsg = $_SESSION['packageLoadErrorMsg'];
        $packageMakeErrorMsg = $_SESSION['packageMakeErrorMsg'];
        $packageLoadConfirmationMsg = $_SESSION['packageLoadConfirmationMsg'];
        $packageMakeConfirmationMsg = $_SESSION['packageMakeConfirmationMsg'];
        $confirmationMsg = $_SESSION['confirmationMsg'];
        $clientAgent = $_SESSION['clientAgent'];
        $clientIp = $_SESSION['clientIp'];
        $autoRefresh = $_SESSION['autoRefresh'];
        $autoRefreshFrequency = $_SESSION['autoRefreshFrequency'];
        $limitRefresh = $_SESSION['limitRefresh'];
        $numRecsToRefresh = $_SESSION['numRecsToRefresh'];
        $popups = $_SESSION['popups'];
        if (empty($webConfigFile)) {
            // if the user attempts to access a php page without logging in,
            // webConfigFile is empty (on all loads after the first one)
            throw new AuthenticationFailedException("webConfigFile is empty");
        }
        // Initialize web tier with the site configuration file.
        MgInitializeWebTier($webConfigFile);
        // Set up user info
        $userInfo = new MgUserInformation();
        $userInfo->SetMgSessionId($adminSession);
        $userInfo->SetClientAgent($clientAgent);
        $userInfo->SetClientIp($clientIp);
        // Create a Site object and open the Site Server.
        $site = new MgSite();
        $site->Open($userInfo);
    } catch (AuthenticationFailedException $e) {
        LogoutWithAuthenticationFailedException();
    } catch (Exception $e) {
        LogoutWithFatalException();
    }
}