1<?php
2
3require_once "Auth.php";
4require_once 'Log.php';
5require_once 'Log/observer.php';
6
7// Callback function to display login form
8function loginFunction($username = null, $status = null, &$auth = null)
9{
10	/*
11	 * Change the HTML output so that it fits to your
12	 * application.
13	 */
14	echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";
15	echo "Username: <input type=\"text\" name=\"username\"><br/>";
16	echo "Password: <input type=\"password\" name=\"password\"><br/>";
17	echo "<input type=\"submit\">";
18	echo "</form>";
19}
20
21class Auth_Log_Observer extends Log_observer {
22
23	var $messages = array();
24
25	function notify($event) {
26
27		$this->messages[] = $event;
28
29	}
30
31}
32
33$options = array(
34	'enableLogging' => true,
35	array(
36		'type' => 'Array',
37		'options' => array(
38			'cryptType' => 'md5',
39			'users' => array(
40				'guest' => md5('password'),
41			),
42		),
43	),
44	array(
45		'type' => 'Array',
46		'options' => array(
47			'cryptType' => 'md5',
48			'users' => array(
49				'admin' => md5('password'),
50			),
51		),
52	),
53);
54$a = new Auth("Multiple", $options, "loginFunction");
55
56$infoObserver = new Auth_Log_Observer(AUTH_LOG_INFO);
57
58$a->attachLogObserver($infoObserver);
59
60$debugObserver = new Auth_Log_Observer(AUTH_LOG_DEBUG);
61
62$a->attachLogObserver($debugObserver);
63
64$a->start();
65
66if ($a->checkAuth()) {
67	/*
68	 * The output of your site goes here.
69	 */
70	print "Authentication Successful.<br/>";
71}
72
73print '<h3>Logging Output:</h3>'
74	.'<b>AUTH_LOG_INFO level messages:</b><br/>';
75
76foreach ($infoObserver->messages as $event) {
77	print $event['priority'].': '.$event['message'].'<br/>';
78}
79
80print '<br/>'
81	.'<b>AUTH_LOG_DEBUG level messages:</b><br/>';
82
83foreach ($debugObserver->messages as $event) {
84	print $event['priority'].': '.$event['message'].'<br/>';
85}
86
87print '<br/>';
88
89?>
90