~vierbergenlars/remotecp-panel/trunk

« back to all changes in this revision

Viewing changes to openid/login.php

  • Committer: Lars Vierbergen
  • Date: 2011-09-06 16:33:44 UTC
  • mfrom: (160.1.8 openid)
  • Revision ID: lars_vierbergen-20110906163344-cp20gr6vkslzoydm
Merge the OpenId branch, adding OpenID RP support

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
define('NO_UURL',true);
 
3
define('__DEBUG__',true);
 
4
$identity='';
 
5
$attributes=array();
 
6
chdir(__DIR__.'/..'); // Our root is at the parent directory!
 
7
require 'inc/controllers.php';
 
8
require 'inc/openid/rp.php';
 
9
try {
 
10
    $openid = new LightOpenID;
 
11
    if(!$openid->mode) {
 
12
        if(isset($_POST['openid_identifier'])) {
 
13
            $openid->identity = $_POST['openid_identifier'];
 
14
            $openid->optional=array('pref/language','contact/email','namePerson/friendly');
 
15
            header('Location: ' . $openid->authUrl());
 
16
            exit;
 
17
 
 
18
        }
 
19
?>
 
20
<!DOCTYPE html>
 
21
<html>
 
22
<head>
 
23
        <title><?php echo $t->_('OpenID Login'); ?></title>
 
24
        <!-- Simple OpenID Selector -->
 
25
        <link type="text/css" rel="stylesheet" href="<?php echo URL_STATIC ?>/css/openid.css" />
 
26
        <script type="text/javascript" src="<?php echo DOMAIN; ?>/scripts.js"></script>
 
27
        <script type="text/javascript" src="<?php echo URL_STATIC; ?>/public_js/openid-jquery.js"></script>
 
28
        <script type="text/javascript" src="<?php echo URL_SCRIPTS; ?>/openid.js"></script>
 
29
        <script type="text/javascript">
 
30
                $(document).ready(function() {
 
31
                        openid.init('openid_identifier');
 
32
                });
 
33
        </script>
 
34
        <!-- /Simple OpenID Selector -->
 
35
        <style type="text/css">
 
36
                /* Basic page formatting */
 
37
                body {
 
38
                        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
 
39
                }
 
40
        </style>
 
41
</head>
 
42
 
 
43
<body>
 
44
        <form action="/openid/login.php" target="_blank" method="post" id="openid_form">
 
45
                <input type="hidden" name="action" value="verify" />
 
46
                        <div id="openid_choice">
 
47
                                <p>Please click your account provider:</p>
 
48
                                <div id="openid_btns"></div>
 
49
                        </div>
 
50
                        <div id="openid_input_area">
 
51
                                <input id="openid_identifier" name="openid_identifier" type="text" value="http://" />
 
52
                                <input id="openid_submit" type="submit" value="Sign-In"/>
 
53
                        </div>
 
54
        </form>
 
55
</body>
 
56
</html>
 
57
<?php
 
58
    } elseif($openid->mode == 'cancel') {
 
59
        echo '<script>window.opener.notice.error("OpenID login cancelled","If you didn\'t cancel authentication, contact your provider");self.close()</script>';
 
60
    } else {
 
61
        $v=$openid->validate();
 
62
        $identity=$openid->identity;
 
63
        $attributes=$openid->getAttributes();
 
64
        if(!session::isBoundOpenId(sha1($identity))) {
 
65
                echo '<script>$=window.opener.$;$("#dlg_openid").html("This OpenID is not yet bound to any account.<br><a onclick=\'$(\"#dlg_openid\").load(\"openid/create_account.php\")\' class=\'link\'>Create an account</a> or <a onclick=\'$(\"#dlg_openid\").load(\"openid/link_account.php\")\' class=\'link\'>link</a> this OpenID to your account.").dialog(\'moveToTop\');self.close()</script>';
 
66
        }
 
67
        else {
 
68
                echo '<script>$=window.opener.$;window.opener.refreshFrames();$("#dlg_login").dialog("close");$("#dlg_openid").dialog("destroy");window.opener.notice.message("OpenID auto login successful","'.$_SESSION['openid']['identity'].'"); window.opener.$("#dlg_log-in").dialog("close"); self.close();</script>';
 
69
        }
 
70
        $_SESSION['auth_type']='openid';
 
71
        $_SESSION['openid']['identity']=$identity;
 
72
        $_SESSION['openid']['attributes']=$attributes;
 
73
        session::init();
 
74
 
 
75
    }
 
76
} catch(ErrorException $e) {
 
77
    echo $e->getMessage();
 
78
}
 
79