/usr/share/drupal6/modules/openid_provider/openid_provider.pages.inc is in drupal6-mod-openid-provider 1.0~beta2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | <?php
// $Id: openid_provider.pages.inc,v 1.1.2.4 2010/02/15 21:13:15 walkah Exp $
/**
* @file
* Page callbacks for OpenID Provider.
*/
/**
* Primary endpoint callback - serves op_endpoint.
*
* @param array $request (Optional) request parameters.
*/
function openid_provider_endpoint($request = array()) {
module_load_include('inc', 'openid');
module_load_include('inc', 'openid_provider');
if (count($request) == 0) {
$request = _openid_response();
}
if (isset($request['openid.mode'])) {
switch ($request['openid.mode']) {
case 'associate':
openid_provider_association_response($request);
return;
case 'checkid_immediate':
case 'checkid_setup':
return openid_provider_authentication_response($request);
case 'check_authentication':
openid_provider_verification_response($request);
break;
}
}
}
/**
* Callback page for OpenID Identifier. This page is primarily used for
* discovery when someone is logging in from a Relying Party.
*/
function openid_provider_page($account) {
return t('This is the OpenID page for %user.', array('%user' => $account->name));
}
/**
* Menu callback to continue authentication process after user login. This
* callback is encountered when a user tries to login to an RP but does not yet
* have a valid local session
*/
function openid_provider_continue() {
module_load_include('inc', 'openid');
if (isset($_SESSION['openid_provider']['request'])) {
$request = $_SESSION['openid_provider']['request'];
unset($_SESSION['openid_provider']['request']);
return openid_provider_endpoint($request);
}
else {
drupal_set_message(t('Session expired'));
drupal_goto();
}
}
/**
* Page callback for processing openid_provider_form.
*/
function openid_provider_send() {
return drupal_get_form('openid_provider_form');
}
/**
* Page callback for OpenID Sites form where users can configure the
* auto_release status of RP's they have logged into.
*
* @param object $account User account object for the user.
*/
function openid_provider_sites($account) {
drupal_set_title(check_plain($account->name));
return drupal_get_form('openid_provider_sites_form', $account);
}
/**
* Form builder function for openid_provider_sites
*/
function openid_provider_sites_form($form_state, $user = NULL) {
if (!$user) {
global $user;
}
module_load_include('inc', 'openid_provider');
$result = pager_query("SELECT * FROM {openid_provider_relying_party} WHERE uid=%d ORDER BY last_time DESC", 50, 0, NULL, $user->uid);
$form['description'] = array(
'#type' => 'item',
'#description' => t('Those are the sites you have used your OpenID on. Access control determines determines if you will be asked for approval when login into those sites using your OpenID. You can also completely deny access to those sites if you think they are malicious.'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Update'),
);
$form['auto_release']['#tree'] = TRUE;
while ($rp = db_fetch_object($result)) {
$rps[$rp->rpid] = '';
$form['site'][$rp->rpid] = array(
'#value' => l($rp->realm, $rp->realm),
);
$form['last_access'][$rp->rpid] = array(
'#value' => $rp->last_time,
);
$form['auto_release'][$rp->rpid] = array(
'#type' => 'checkbox',
'#default_value' => $rp->auto_release,
);
}
$form['pager'] = array('#value' => theme('pager', NULL, 50, 0));
$form['#theme'] = 'openid_provider_sites';
return $form;
}
/**
* Form submit callback for openid_provider_sites.
*/
function openid_provider_sites_form_submit($form, &$form_state) {
foreach ($form_state['values']['auto_release'] as $key => $value) {
db_query("UPDATE {openid_provider_relying_party} SET auto_release=%d WHERE rpid=%d", $value, $key);
}
drupal_set_message(t('Settings saved.'));
}
/**
* Theme openid sites overview.
*
* @ingroup themeable
*/
function theme_openid_provider_sites($form) {
// If there are rows in this form, then $form['title'] contains a list of
// the title form elements.
$header = array(t('Auto release'), t('Site'), t('Last access'));
foreach (element_children($form['site']) as $key) {
$row = array();
$row[] = drupal_render($form['auto_release'][$key]);
$row[] = drupal_render($form['site'][$key]);
$row[] = format_date(drupal_render(($form['last_access'][$key])));
$rows[] = $row;
}
unset($form['last_access']);
$output .= theme('table', $header, $rows);
if ($form['pager']['#value']) {
$output .= drupal_render($form['pager']);
}
$output .= drupal_render($form);
return $output;
}
|