landing.php 2.31 KB
Newer Older
1 2
<?php
#
3
# Copyright (c) 2000-2018 University of Utah and the Flux Group.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
# 
# {{{EMULAB-LICENSE
# 
# This file is part of the Emulab network testbed software.
# 
# This file is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at
# your option) any later version.
# 
# This file is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
# License for more details.
# 
# You should have received a copy of the GNU Affero General Public License
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
# 
# }}}
#
chdir("..");
include("defs.php3");
include_once("geni_defs.php");
chdir("apt");
include("quickvm_sup.php");
29
include_once("instance_defs.php");
30
include_once("profile_defs.php");
31 32 33 34 35 36 37 38 39 40

#
# Get current user but make sure coming in on SSL.
#
RedirectSecure();
$this_user = CheckLogin($check_status);

#
# Verify page arguments.
#
41 42 43 44 45 46 47 48 49 50 51
$optargs = OptionalPageArguments("login", PAGEARG_BOOLEAN);

if (! ($CHECKLOGIN_STATUS & CHECKLOGIN_LOGGEDIN)) {
    if ($ISEMULAB && !$login) {
        header("Location: frontpage.php");
    }
    else {
        header("Location: login.php");
    }
    return;
}
52 53 54 55 56

#
# Redirect logged in user.
#
if ($this_user) {
57
    if ($CHECKLOGIN_STATUS & CHECKLOGIN_UNAPPROVED) {
58 59 60
        # Take them to the myaccount page, they will see a banner
        # message there.
	header("Location: $APTBASE/myaccount.php");
61
    }
62 63 64
    elseif ($this_user->IsNonLocal() && $this_user->webonly()) {
	header("Location: $APTBASE/nomembership.php");
    }
65
    elseif (Instance::UserHasInstances($this_user)) {
66
	header("Location: $APTBASE/user-dashboard.php");
67
    }
68 69 70
    elseif (Profile::UserHasProfiles($this_user)) {
	header("Location: $APTBASE/user-dashboard.php#profiles");
    }
71 72 73 74 75 76
    elseif ($ISEMULAB && $this_user->PCsInUse()) {
	header("Location: $APTBASE/user-dashboard.php");
    }
    elseif ($ISEMULAB && $this_user->ExperimentList(0)) {
	header("Location: $APTBASE/user-dashboard.php#profiles");
    }
77
    else {
78
	header("Location: $APTBASE/user-dashboard.php#profiles");
79 80 81 82 83 84
    }
    return;
}

header("Location: $APTBASE/instantiate.php");
?>