本文整理汇总了PHP中geni_loadUser函数的典型用法代码示例。如果您正苦于以下问题:PHP geni_loadUser函数的具体用法?PHP geni_loadUser怎么用?PHP geni_loadUser使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了geni_loadUser函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: doAuth
function doAuth($info, $trusted = null, $fail_cancels = false, $idpSelect = null)
{
if (!$info) {
// There is no authentication information, so bail
return authCancel(null);
}
if ($info->idSelect()) {
if ($idpSelect) {
$req_url = idURL($idpSelect);
} else {
$trusted = false;
}
} else {
$req_url = $info->identity;
}
$user = getLoggedInUser();
setRequestInfo($info);
if (!$info->idSelect() && $req_url != idURL($user)) {
return login_render(array(), $req_url, $req_url);
}
$trust_root = $info->trust_root;
if ($trusted) {
setRequestInfo();
$server =& getServer();
$response =& $info->answer(true, null, $req_url);
// Answer with some sample Simple Registration data.
global $portal_cert_file;
global $portal_private_key_file;
$geni_user = geni_loadUser();
$sreg_data = array();
if ($geni_user) {
$sreg_data['nickname'] = $geni_user->username;
$sreg_data['email'] = $geni_user->email();
}
if (empty($sreg_data)) {
error_log("OpenID: Unable to access user information.");
}
/*
$sreg_data = array(
'fullname' => 'Example User',
'nickname' => 'example',
'dob' => '1970-01-01',
'email' => '[email protected]',
'gender' => 'F',
'postcode' => '12345',
'country' => 'ES',
'language' => 'eu',
'timezone' => 'America/New_York');
*/
// Add the simple registration response values to the OpenID
// response message.
$sreg_request = Auth_OpenID_SRegRequest::fromOpenIDRequest($info);
$sreg_response = Auth_OpenID_SRegResponse::extractResponse($sreg_request, $sreg_data);
$sreg_response->toMessage($response->fields);
// Generate a response to send to the user agent.
$webresponse =& $server->encodeResponse($response);
$new_headers = array();
foreach ($webresponse->headers as $k => $v) {
$new_headers[] = $k . ": " . $v;
}
return array($new_headers, $webresponse->body);
} elseif ($fail_cancels) {
return authCancel($info);
} else {
return trust_render($info);
}
}
开发者ID:ahelsing,项目名称:geni-portal,代码行数:67,代码来源:common.php
示例2: geni_loadUser
// wireless_operations?operation=enable&project_name=X&project_id=XID
// enable project X for wireless operations
//
// wireless_operations?operation=disable&project_name=X&project_id=XID
// disable project X for wireless operations
//
?>
<?php
require_once 'user.php';
require_once 'sr_constants.php';
require_once 'sr_client.php';
require_once "pa_client.php";
require_once "pa_constants.php";
require_once "response_format.php";
$user = geni_loadUser();
if (!isset($user) || is_null($user) || !$user->isActive()) {
relative_redirect('home.php');
}
$ma_url = get_first_service_of_type(SR_SERVICE_TYPE::MEMBER_AUTHORITY);
$sa_url = get_first_service_of_type(SR_SERVICE_TYPE::SLICE_AUTHORITY);
// Invoke geni-sync-wireless tool on given project
function sync_object($object_type, $object_name)
{
# Should only provide error information on stderr: put stdout to syslog
$cmd = "geni-sync-wireless {$object_type} {$object_name}";
error_log("SYNC(cmd) " . $cmd);
$descriptors = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
$process = proc_open($cmd, $descriptors, $pipes);
$std_output = stream_get_contents($pipes[1]);
# Should be empty
开发者ID:ahelsing,项目名称:geni-portal,代码行数:31,代码来源:wireless_operations.php
示例3: show_header
function show_header($title, $load_user = 1, $show_cards = false)
{
global $in_maintenance_mode;
global $in_lockdown_mode;
global $has_maintenance_alert;
global $maintenance_alert;
global $user;
if ($load_user) {
global $user;
if (!isset($user)) {
$user = geni_loadUser();
}
check_km_authorization($user);
record_last_seen($user, $_SERVER['REQUEST_URI']);
}
show_html_head($title);
echo '<body>';
echo '<script>';
// For header interactivity
echo '$(document).ready(function(){';
echo '$(".has-sub").hover(function(){ $(this).find(\'ul\').show(); }, function(){ $(this).find(\'ul\').hide(); });';
echo '$("#hamburger").click(function(){';
echo '$("#dashboardtools").slideToggle();';
echo '});';
echo '});';
echo '</script>';
echo '<div id="dashboardheader">';
echo '<img id="globe" src="/images/geni_globe.png" alt="Geni Logo" style="height:45px; margin-left: 20px; float: left;"/>';
echo '<img id="hamburger" src="/images/menu.png" alt="optionsicon" style="height:20px; width: 20px; padding:15px; float: left;"/>';
echo '<h2 class="dashtext" style="float: left; line-height: 50px; text-align: center; margin: 0 20px; display: inline; height: 50px; cursor: pointer;"
onclick="window.location=\'dashboard.php\'">GENI Portal</h2>';
echo '<ul id="dashboardtools" class="floatright" style="vertical-align: top;">';
if ($load_user) {
echo "<li class='has-sub headerlink'>{$user->prettyName()}";
} else {
echo "<li class='has-sub headerlink'>User";
}
echo '<ul class="submenu">';
echo '<li><a href="profile.php">Profile</a></li>';
echo '<li><a href="profile.php#ssh">SSH Keys</a></li>';
echo '<li><a href="profile.php#rspecs">RSpecs</a></li>';
echo '<li><a href="profile.php#tools">Manage Accounts</a></li>';
echo '<li><a href="profile.php#preferences">Preferences</a></li>';
echo '<li><a href="' . relative_url("dologout.php") . '" >Logout</a></li>';
if ($load_user && $user->isAllowed(CS_ACTION::ADMINISTER_MEMBERS, CS_CONTEXT_TYPE::MEMBER, null)) {
echo '<li><a href="admin.php">Admin</a></li>';
}
echo '</ul></li>';
echo '<li class="headerlink has-sub"><a href="help.php">Help</a>';
echo '<ul class="submenu">';
echo '<li><a target="_blank" href="http://groups.geni.net/geni/wiki">GENI Wiki <i class="material-icons">launch</i></a></li>';
echo '<li><a target="_blank" href="http://groups.geni.net/geni/wiki/GENIExperimenter/GetHelp">GENI Help Wiki <i class="material-icons">launch</i></a></li>';
echo '<li><a target="_blank" href="http://gmoc.grnoc.iu.edu/gmoc/index/support/gmoc-operations-calendars.html">Outages <i class="material-icons">launch</i> </a></li>';
echo '<li><a target="_blank" href="http://groups.geni.net/geni/wiki/GENIGlossary">Glossary <i class="material-icons">launch</i></a></li>';
echo '<li><a target="_blank" href="http://groups.geni.net/geni/wiki/GENIBibliography">Bibliography<i class="material-icons">launch</i></a></li>';
echo '<li><a href="contact-us.php">Contact Us</a></li>';
echo '</ul></li>';
if ($load_user) {
if (!isset($jfed_button_start)) {
$jfedret = get_jfed_strs($user);
$jfed_script_text = $jfedret[0];
$jfed_button_start = $jfedret[1];
$jfed_button_part2 = $jfedret[2];
if (!is_null($jfed_button_start)) {
print $jfed_script_text;
}
}
}
echo '<li class="headerlink has-sub">Partners';
echo '<ul class="submenu">';
echo "<li><a href='https://www.cloudlab.us/login.php' target='_blank'>CloudLab <i class='material-icons'>launch</i></a></li>";
echo "<li><a href='http://gee-project.org/user' target='_blank'>GEE <i class='material-icons'>launch</i></a></li>";
echo "<li><a href='wireless_redirect.php?site=ORBIT' target='_blank'>ORBIT<i class='material-icons'>launch</i></a></li>";
echo "<li><a href='http://portal.savitestbed.ca/auth/login' target='_blank'>SAVI<i class='material-icons'>launch</i></a></li>";
echo "<li><a href='wireless_redirect.php?site=WITEST' target='_blank'>WiTest<i class='material-icons'>launch</i></a></li>";
echo '</ul></li>';
echo '<li class="headerlink has-sub">Tools';
echo '<ul class="submenu">';
echo "<li><a href='gemini.php' target='_blank'>GENI Desktop<i class='material-icons'>launch</i></a></li>";
if ($load_user && !is_null($jfed_button_start)) {
echo "<li>";
echo $jfed_button_start . getjFedSliceScript(NULL) . $jfed_button_part2 . ">jFed<i class='material-icons'>launch</i></button>";
echo "</li>";
}
echo "<li><a href='http://labwiki.casa.umass.edu' target='_blank'>LabWiki <i class='material-icons'>launch</i></a></li>";
echo "<li><a href='http://groups.geni.net/geni/wiki/GENIExperimenter/Tools' target='_blank' title='Omni, Geni-lib, VTS...'>Other Tools <i class='material-icons'>launch</i></a></li>";
echo '</ul></li>';
echo '<li class="headerlink has-sub"><a href="dashboard.php">Home</a>';
echo '<ul class="submenu">';
echo '<li><a href="dashboard.php#slices">Slices</a></li>';
echo '<li><a href="dashboard.php#projects">Projects</a></li>';
echo '</ul></li></ul>';
echo '</div>';
$cards_class = $show_cards ? 'content-cards' : 'one-card';
echo '<div style="clear:both; height: 50px;"> </div>';
if ($in_maintenance_mode) {
echo "<center><b>***** Maintenance Outage *****</b></center>";
}
if ($has_maintenance_alert) {
print "<p class='instruction' id='maintenance_alert'>{$maintenance_alert}</p>";
//.........这里部分代码省略.........
开发者ID:ahelsing,项目名称:geni-portal,代码行数:101,代码来源:header.php
示例4: do_security_check
function do_security_check($slice_id)
{
$user = geni_loadUser();
if (!isset($user) || is_null($user) || !$user->isActive()) {
exit_with_response("User not logged in.");
}
if (!$user->isAllowed(SA_ACTION::LOOKUP_SLICE, CS_CONTEXT_TYPE::SLICE, $slice_id)) {
exit_with_response("User " . $user->username . " not allowed to access this slice's information.");
}
}
开发者ID:ahelsing,项目名称:geni-portal,代码行数:10,代码来源:get_omni_invocation_data.php
示例5: error_log
// Test procedure for request infrastructure for SA, PA, MA
require_once 'util.php';
require_once 'rq_constants.php';
require_once 'rq_client.php';
require_once 'response_format.php';
require_once 'sr_constants.php';
require_once 'sr_client.php';
require_once 'pa_client.php';
require_once 'sa_client.php';
require_once 'cs_constants.php';
require_once 'user.php';
error_log("RQ TEST\n");
$sr_url = get_sr_url();
$sa_url = get_first_service_of_type(SR_SERVICE_TYPE::SLICE_AUTHORITY);
$ma_url = get_first_service_of_type(SR_SERVICE_TYPE::MEMBER_AUTHORITY);
$signer = geni_loadUser();
function dump_rows($rows)
{
foreach ($rows as $row) {
dump_row($row);
}
}
function dump_row($row)
{
error_log("Row = " . print_r($row, true));
}
function test_requests_for_url($url, $context_type, $context_id)
{
global $signer;
$insert_result = create_request($url, $signer, $context_type, $context_id, RQ_REQUEST_TYPE::JOIN, 'foobar', '');
error_log("IR = " . print_r($insert_result, true));
开发者ID:ahelsing,项目名称:geni-portal,代码行数:31,代码来源:request_test.php
示例6: get_jfed_strs
function get_jfed_strs($user)
{
global $portal_jquery_url;
global $portal_jqueryui_css_url;
global $portal_jqueryui_js_url;
$jfed_button_start = null;
$jfed_script_text = '';
$jfed_button_part2 = '';
$certkey = '';
$browser = getBrowser();
if (strpos(strtolower($browser["name"]), "chrom") !== false and strpos(strtolower($browser["platform"]), "mac") === 0) {
//error_log("User browser: " . $browser["name"] . " version " . $browser["version"] . " on " . $browser["platform"]);
// While interesting, this message appears every time a Chrome on Mac user displays this page. Too much.
//error_log("User running Chrome on Mac. Can't launch jFed. User should try Safari or Firefox.");
$jfed_button_start = "<button type='button' onclick='alert(\"jFed cannot run in Chrome on a Mac. Try Safari or Firefox.\")'";
return array($jfed_script_text, $jfed_button_start, '');
}
if (!isset($user)) {
$user = geni_loadUser();
}
if (!isset($ma_url)) {
$ma_url = get_first_service_of_type(SR_SERVICE_TYPE::MEMBER_AUTHORITY);
if (!isset($ma_url) || is_null($ma_url) || $ma_url == '') {
error_log("Found no MA in SR!'");
return array('', null);
}
}
// Code to set up jfed button
$certresult = ma_lookup_certificate($ma_url, $user, $user->account_id);
$expiration_key = 'expiration';
$has_certificate = False;
$has_key = False;
$expired = False;
$expiration = NULL;
if (!is_null($certresult)) {
$has_certificate = True;
$has_key = array_key_exists(MA_ARGUMENT::PRIVATE_KEY, $certresult);
if (array_key_exists($expiration_key, $certresult)) {
$expiration = $certresult[$expiration_key];
$now = new DateTime('now', new DateTimeZone("UTC"));
$expired = $expiration < $now;
}
}
if (!$has_certificate or $expired) {
$jfed_button_start = "<button type='button' onclick='alert(\"Generate an SSL (Omni) key pair to use jFed.\")'";
$jfed_button_part2 = '';
} else {
// Print the script tags needed
$params = '';
if ($has_key) {
$certstring = $certresult[MA_ARGUMENT::PRIVATE_KEY] . "\n" . $certresult[MA_ARGUMENT::CERTIFICATE];
$certkey = base64_encode($certstring);
// $params = ", params: {'login-certificate-string' : '" . base64_encode($certstring) . "' }";
}
$jfed_script_text = "\n <script>\n var config = {\n java8_jnlp: 'http://jfed.iminds.be/jfed-geni-java8.jnlp',\n java7_jnlp: 'http://jfed.iminds.be/jfed-geni-java7.jnlp'\n };\n var certkey = '{$certkey}';\n //var slice_urn = 'urn:publicid:IDN+ch.geni.net:CHtest+slice+vm1';\n var slice_urn = ''; // over-ridden in the onclick of the jFed button with the specific slice URN. launchjFed() uses this global. Tom says Gross!\n </script>\n <script src=\"//java.com/js/dtjava.js\"></script>\n <script src='https://authority.ilabt.iminds.be/js/jfed_webstart_geni.js'></script>\n<div id='java7Dialog' title=\"Old Java version detected\" style=\"display: none\">\n<p>The latest version of jFed is only compatible with Java 8 or higher. We detected that you are using an older version.</p>\n<p>Please upgrade to Java 8 to get access to the newest version of jFed. Otherwise, you can use jFed 5.3.2, which is Java 7-compatible.</p>\n</div>\n\n<div id='noJavaDialog' title=\"No Java detected\" style=\"display: none\">\n<p>jFed requires Java to run. We however couldn't detect a Java installation in your browser.</p>\n<p>Please install the latest version of Java to continue.</p>\n</div>\n";
// Brecht has id of 'start'
$jfed_button_start = "<button id='jfed' type='button' onclick='";
//launchjFed()'";
$jfed_button_part2 = " launchjFed()'";
}
return array($jfed_script_text, $jfed_button_start, $jfed_button_part2);
}
开发者ID:ahelsing,项目名称:geni-portal,代码行数:62,代码来源:tool-jfed.php
示例7: send_geni_user
function send_geni_user($server, $info)
{
$geni_user = geni_loadUser();
$req_url = idURL($geni_user->username);
$response =& $info->answer(true, null, $req_url);
// Answer with some sample Simple Registration data.
global $portal_cert_file;
global $portal_private_key_file;
$sreg_data = array();
if ($geni_user) {
$sreg_data['nickname'] = $geni_user->username;
$sreg_data['email'] = $geni_user->email();
}
if (empty($sreg_data)) {
error_log("OpenID: Unable to access user information.");
}
// Add the simple registration response values to the OpenID
// response message.
$sreg_request = Auth_OpenID_SRegRequest::fromOpenIDRequest($info);
$sreg_response = Auth_OpenID_SRegResponse::extractResponse($sreg_request, $sreg_data);
$sreg_response->toMessage($response->fields);
/*
* Attribute Exchange (AX) is an OpenID extension to pass additional
* attributes. This code was derived by looking at some client
* examples and the AX code. No server-side examples of PHP OpenID
* AX were found.
*
* AX seems to be fragile. Small changes to the code below can
* result in authentication failures.
*
* The user URN has '+' characters but these consistently caused
* authentication failures in testing. Replacing the '+' with '|'
* worked, so that is a necessary transformation below.
*/
$ax_request = Auth_OpenID_AX_FetchRequest::fromOpenIDRequest($info);
if ($ax_request and !Auth_OpenID_AX::isError($ax_request)) {
/* error_log("received AX request: " . print_r($ax_request, true)); */
$ax_response = new Auth_OpenID_AX_FetchResponse();
add_project_slice_info($geni_user, $projects, $slices);
foreach ($ax_request->iterTypes() as $ax_req_type) {
switch ($ax_req_type) {
case 'http://geni.net/projects':
$ax_response->setValues($ax_req_type, $projects);
break;
case 'http://geni.net/slices':
$ax_response->setValues($ax_req_type, $slices);
break;
case 'http://geni.net/user/urn':
$urn = $geni_user->urn();
$urn = str_replace('+', '|', $urn);
$ax_response->addValue('http://geni.net/user/urn', $urn);
break;
case 'http://geni.net/user/prettyname':
$ax_response->addValue($ax_req_type, $geni_user->prettyName());
break;
case 'http://geni.net/wimax/username':
case 'http://geni.net/wimax/wimax_username':
$wimax_name = null;
if (isset($geni_user->ma_member->wimax_username)) {
$wimax_name = $geni_user->ma_member->wimax_username;
}
/* Only send wimax name if it exists. */
if ($wimax_name) {
$ax_response->addValue($ax_req_type, $wimax_name);
}
break;
case 'http://geni.net/irods/username':
/* Get the iRODS username. Do we need to respect the
* 'irods_enabled' flag?
*/
$irods_username = null;
if (isset($geni_user->ma_member->irods_username)) {
$irods_username = $geni_user->ma_member->irods_username;
}
/* Only send it if it exists. */
if ($irods_username) {
error_log("Returning iRODS username {$irods_username} for user " . $geni_user->urn());
$ax_response->addValue($ax_req_type, $irods_username);
} else {
error_log("No iRODS username in OpenID for user " . $geni_user->urn());
}
break;
case 'http://geni.net/irods/zone':
/* Get the IRods zone for this user. */
$irods_zone = irods_default_zone();
/* Only send it if it exists. */
if ($irods_zone) {
error_log("Returning iRODS zone {$irods_zone} for user " . $geni_user->urn());
$ax_response->addValue($ax_req_type, $irods_zone);
} else {
error_log("No iRODS zone in OpenID for user " . $geni_user->urn());
}
break;
}
}
$ax_response->toMessage($response->fields);
}
// Generate a response to send to the user agent.
$webresponse =& $server->encodeResponse($response);
$new_headers = array();
//.........这里部分代码省略.........
开发者ID:ahelsing,项目名称:geni-portal,代码行数:101,代码来源:server.php
注:本文中的geni_loadUser函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论