-
Notifications
You must be signed in to change notification settings - Fork 24
/
StartupAPI.php
114 lines (100 loc) · 3.72 KB
/
StartupAPI.php
1
2
3
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
require_once(dirname(__FILE__).'/User.php');
/**
* StartupAPI class contains some global static functions and entry points for API
*/
class StartupAPI {
// just a proxy to static methods in User class
static function getUser() {
return User::get();
}
// just a proxy to static methods in User class
static function requireLogin() {
return User::requireLogin();
}
/**
* This finction should be called within the head of HTML to insert
* styles, scripts and potentially meta-tags into the head of the pages on the site
*/
static function head() {
?><link rel="style/css" href="<?php echo UserConfig::$USERSROOTURL ?>/startupapi.css"><?php
}
/**
* This finction renders the power strip (navigation bar at the top right corner)
*/
static function power_strip()
{
$current_user = User::get();
$current_account = null;
$accounts = array();
if (UserConfig::$useAccounts && !is_null($current_user)) {
$accounts = Account::getUserAccounts($current_user);
$current_account = Account::getCurrentAccount($current_user);
}
?>
<div id="userbase-navbox">
<?php if (!is_null($current_user))
{
if ($current_user->isImpersonated()) {
?><b id="userbase-navbox-impersonating"><a href="<?php echo UserConfig::$USERSROOTURL ?>/admin/stopimpersonation.php" title="Impersonated by <?php echo UserTools::escape($current_user->getImpersonator()->getName())?>">Stop Impersonation</a></b> | <?php
}
if ($current_user->isAdmin()) {
?><b id="userbase-navbox-admin"><a href="<?php echo UserConfig::$USERSROOTURL ?>/admin/">Admin</a></b> | <?php
}
if (count($accounts) > 1)
{
$destination = "'+encodeURIComponent(document.location)+'";
if (!is_null(UserConfig::$accountSwitchDestination)) {
$destination = UserConfig::$accountSwitchDestination;
}
?><select id="userbase-navbox-account-picker" name="account" onchange="document.location.href='<?php echo UserConfig::$USERSROOTURL ?>/change_account.php?return=<?php echo $destination ?>&account='+this.value"><?php
foreach ($accounts as $account)
{
?><option value="<?php echo $account->getID()?>"<?php if ($current_account->isTheSameAs($account)) { echo ' selected'; } ?>><?php echo UserTools::escape($account->getName())?></option><?php
}
?></select>
<?php
}
if (!is_null(UserConfig::$onLoginStripLinks)) {
$links = call_user_func_array(
UserConfig::$onLoginStripLinks,
array($current_user, $current_account)
);
foreach ($links as $link) {
?><span<?php
if (array_key_exists('id', $link)) {
?> id="<?php echo $link['id'] ?>"<?php
}
?>><a href="<?php echo $link['url'] ?>"<?php
if (array_key_exists('title', $link)) {
?> title="<?php echo $link['title'] ?>"<?php
}
if (array_key_exists('target', $link)) {
?> target="<?php echo $link['target'] ?>"<?php
}
?>><?php echo $link['text'] ?></a></span> | <?php
}
}
?>
<span id="userbase-navbox-username"><a href="<?php echo UserConfig::$USERSROOTURL ?>/edit.php" title="<?php echo UserTools::escape($current_user->getName())?>'s user information"><?php echo UserTools::escape($current_user->getName()) ?></a></span> |
<span id="userbase-navbox-logout"><a href="<?php echo UserConfig::$USERSROOTURL ?>/logout.php">logout</a></span>
<?php
}
else
{
?>
<span id="userbase-navbox-signup"><a href="<?php echo UserConfig::$USERSROOTURL ?>/register.php">Sign Up Now!</a></span> |
<span id="userbase-navbox-login"><a href="<?php echo UserConfig::$USERSROOTURL ?>/login.php">log in</a></span>
<?php
}
?>
</div>
<?php
}
/**
* This function should be called after all configuration is loaded to initialize the system.
*/
static function _init() {
//currently empty
}
}