The real release 0.46 :-)
[awl.git] / docs / api / awl / Session / Session.html
blob08e1fb145a48716dba09340f40418461ccf6d679
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <!-- template designed by Marco Von Ballmoos -->
6 <title>Docs For Class Session</title>
7 <link rel="stylesheet" href="../../media/stylesheet.css" />
8 <script src="../../media/lib/classTree.js"></script>
9 <script language="javascript" type="text/javascript">
10 var imgPlus = new Image();
11 var imgMinus = new Image();
12 imgPlus.src = "../../media/images/plus.png";
13 imgMinus.src = "../../media/images/minus.png";
15 function showNode(Node){
16 switch(navigator.family){
17 case 'nn4':
18 // Nav 4.x code fork...
19 var oTable = document.layers["span" + Node];
20 var oImg = document.layers["img" + Node];
21 break;
22 case 'ie4':
23 // IE 4/5 code fork...
24 var oTable = document.all["span" + Node];
25 var oImg = document.all["img" + Node];
26 break;
27 case 'gecko':
28 // Standards Compliant code fork...
29 var oTable = document.getElementById("span" + Node);
30 var oImg = document.getElementById("img" + Node);
31 break;
33 oImg.src = imgMinus.src;
34 oTable.style.display = "block";
37 function hideNode(Node){
38 switch(navigator.family){
39 case 'nn4':
40 // Nav 4.x code fork...
41 var oTable = document.layers["span" + Node];
42 var oImg = document.layers["img" + Node];
43 break;
44 case 'ie4':
45 // IE 4/5 code fork...
46 var oTable = document.all["span" + Node];
47 var oImg = document.all["img" + Node];
48 break;
49 case 'gecko':
50 // Standards Compliant code fork...
51 var oTable = document.getElementById("span" + Node);
52 var oImg = document.getElementById("img" + Node);
53 break;
55 oImg.src = imgPlus.src;
56 oTable.style.display = "none";
59 function nodeIsVisible(Node){
60 switch(navigator.family){
61 case 'nn4':
62 // Nav 4.x code fork...
63 var oTable = document.layers["span" + Node];
64 break;
65 case 'ie4':
66 // IE 4/5 code fork...
67 var oTable = document.all["span" + Node];
68 break;
69 case 'gecko':
70 // Standards Compliant code fork...
71 var oTable = document.getElementById("span" + Node);
72 break;
74 return (oTable && oTable.style.display == "block");
77 function toggleNodeVisibility(Node){
78 if (nodeIsVisible(Node)){
79 hideNode(Node);
80 }else{
81 showNode(Node);
84 </script>
85 </head>
86 <body>
87 <div class="page-body">
88 <h2 class="class-name"><img src="../../media/images/Class_logo.png"
89 alt=" Class"
90 title=" Class"
91 style="vertical-align: middle"> Session</h2>
93 <a name="sec-description"></a>
94 <div class="info-box">
95 <div class="info-box-title">Description</div>
96 <div class="nav-bar">
97 <span class="disabled">Description</span> |
98 <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
99 | <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
101 </div>
102 <div class="info-box-body">
103 <!-- ========== Info from phpDoc block ========= -->
104 <p class="short-description">A class for creating and holding session information.</p>
105 <p class="notes">
106 Located in <a class="field" href="_Session.php.html">/Session.php</a> (line <span class="field">58</span>)
107 </p>
110 <pre></pre>
112 </div>
113 </div>
117 <a name="sec-var-summary"></a>
118 <div class="info-box">
119 <div class="info-box-title">Variable Summary</span></div>
120 <div class="nav-bar">
121 <a href="#sec-description">Description</a> |
122 <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
124 <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
126 </div>
127 <div class="info-box-body">
128 <div class="var-summary">
129 <div class="var-title">
130 <img src="../../media/images/Variable.png" alt=" " />
131 <span class="var-type">int</span>
132 <a href="#$email" title="details" class="var-name">$email</a>
133 </div>
134 <div class="var-title">
135 <img src="../../media/images/Variable.png" alt=" " />
136 <span class="var-type">int</span>
137 <a href="#$fullname" title="details" class="var-name">$fullname</a>
138 </div>
139 <div class="var-title">
140 <img src="../../media/images/Variable.png" alt=" " />
141 <span class="var-type">boolean</span>
142 <a href="#$just_logged_in" title="details" class="var-name">$just_logged_in</a>
143 </div>
144 <div class="var-title">
145 <img src="../../media/images/Variable.png" alt=" " />
146 <span class="var-type">string</span>
147 <a href="#$last_session_end" title="details" class="var-name">$last_session_end</a>
148 </div>
149 <div class="var-title">
150 <img src="../../media/images/Variable.png" alt=" " />
151 <span class="var-type">string</span>
152 <a href="#$last_session_start" title="details" class="var-name">$last_session_start</a>
153 </div>
154 <div class="var-title">
155 <img src="../../media/images/Variable.png" alt=" " />
156 <span class="var-type">int</span>
157 <a href="#$logged_in" title="details" class="var-name">$logged_in</a>
158 </div>
159 <div class="var-title">
160 <img src="../../media/images/Variable.png" alt=" " />
161 <span class="var-type">int</span>
162 <a href="#$session_id" title="details" class="var-name">$session_id</a>
163 </div>
164 <div class="var-title">
165 <img src="../../media/images/Variable.png" alt=" " />
166 <span class="var-type">int</span>
167 <a href="#$username" title="details" class="var-name">$username</a>
168 </div>
169 <div class="var-title">
170 <img src="../../media/images/Variable.png" alt=" " />
171 <span class="var-type">int</span>
172 <a href="#$user_no" title="details" class="var-name">$user_no</a>
173 </div>
174 </div>
175 </div>
176 </div>
178 <a name="sec-method-summary"></a>
179 <div class="info-box">
180 <div class="info-box-title">Method Summary</span></div>
181 <div class="nav-bar">
182 <a href="#sec-description">Description</a> |
183 <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
186 <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
187 </div>
188 <div class="info-box-body">
189 <div class="method-summary">
191 <div class="method-definition">
192 <img src="../../media/images/StaticMethod.png" alt=" "/>
193 static <span class="method-result">void</span>
194 <a href="#_CheckLogout" title="details" class="method-name">_CheckLogout</a>
196 </div>
198 <div class="method-definition">
199 <img src="../../media/images/Constructor.png" alt=" "/>
200 <span class="method-result">Session</span>
201 <a href="#Session" title="details" class="method-name">Session</a>
202 ([<span class="var-type">string</span>&nbsp;<span class="var-name">$sid</span> = <span class="var-default">&quot;&quot;</span>])
203 </div>
205 <div class="method-definition">
206 <img src="../../media/images/Method.png" alt=" "/>
207 <span class="method-result">boolean</span>
208 <a href="#AllowedTo" title="details" class="method-name">AllowedTo</a>
209 (<span class="var-type">string</span>&nbsp;<span class="var-name">$whatever</span>)
210 </div>
212 <div class="method-definition">
213 <img src="../../media/images/Method.png" alt=" "/>
214 <span class="method-result">void</span>
215 <a href="#AssignSessionDetails" title="details" class="method-name">AssignSessionDetails</a>
216 (<span class="var-type">object</span>&nbsp;<span class="var-name">$u</span>)
217 </div>
219 <div class="method-definition">
220 <img src="../../media/images/Method.png" alt=" "/>
221 <span class="method-result">string</span>
222 <a href="#BuildConfirmationHash" title="details" class="method-name">BuildConfirmationHash</a>
223 (<span class="var-type">string</span>&nbsp;<span class="var-name">$method</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$varname</span>)
224 </div>
226 <div class="method-definition">
227 <img src="../../media/images/Method.png" alt=" "/>
228 <span class="method-result">string</span>
229 <a href="#CheckConfirmationHash" title="details" class="method-name">CheckConfirmationHash</a>
230 (<span class="var-type">string</span>&nbsp;<span class="var-name">$method</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$varname</span>)
231 </div>
233 <div class="method-definition">
234 <img src="../../media/images/Method.png" alt=" "/>
235 <span class="method-result">void</span>
236 <a href="#Dbg" title="details" class="method-name">Dbg</a>
237 (<span class="var-type">string</span>&nbsp;<span class="var-name">$whatever</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$group</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$whatever...</span>)
238 </div>
240 <div class="method-definition">
241 <img src="../../media/images/Method.png" alt=" "/>
242 <span class="method-result">void</span>
243 <a href="#EmailTemporaryPassword" title="details" class="method-name">EmailTemporaryPassword</a>
244 (<span class="var-type"></span>&nbsp;<span class="var-name">$username</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$email_address</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$body_template</span> = <span class="var-default">&quot;&quot;</span>])
245 </div>
247 <div class="method-definition">
248 <img src="../../media/images/Method.png" alt=" "/>
249 <span class="method-result">string</span>
250 <a href="#FormattedDate" title="details" class="method-name">FormattedDate</a>
251 (<span class="var-type">string</span>&nbsp;<span class="var-name">$indate</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$type</span> = <span class="var-default">'date'</span>])
252 </div>
254 <div class="method-definition">
255 <img src="../../media/images/Method.png" alt=" "/>
256 <span class="method-result">void</span>
257 <a href="#GetRoles" title="details" class="method-name">GetRoles</a>
259 </div>
261 <div class="method-definition">
262 <img src="../../media/images/Method.png" alt=" "/>
263 <span class="method-result">void</span>
264 <a href="#Log" title="details" class="method-name">Log</a>
265 (<span class="var-type">string</span>&nbsp;<span class="var-name">$whatever</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$whatever...</span>)
266 </div>
268 <div class="method-definition">
269 <img src="../../media/images/Method.png" alt=" "/>
270 <span class="method-result">boolean</span>
271 <a href="#Login" title="details" class="method-name">Login</a>
272 (<span class="var-type">string</span>&nbsp;<span class="var-name">$username</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$password</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$authenticated</span> = <span class="var-default">false</span>])
273 </div>
275 <div class="method-definition">
276 <img src="../../media/images/Method.png" alt=" "/>
277 <span class="method-result">boolean</span>
278 <a href="#LoginRequired" title="details" class="method-name">LoginRequired</a>
279 ([<span class="var-type">string</span>&nbsp;<span class="var-name">$groups</span> = <span class="var-default">&quot;&quot;</span>])
280 </div>
282 <div class="method-definition">
283 <img src="../../media/images/Method.png" alt=" "/>
284 <span class="method-result">boolean</span>
285 <a href="#LSIDLogin" title="details" class="method-name">LSIDLogin</a>
286 (<span class="var-type">string</span>&nbsp;<span class="var-name">$lsid</span>)
287 </div>
289 <div class="method-definition">
290 <img src="../../media/images/Method.png" alt=" "/>
291 <span class="method-result">string</span>
292 <a href="#RenderLoginPanel" title="details" class="method-name">RenderLoginPanel</a>
294 </div>
296 <div class="method-definition">
297 <img src="../../media/images/Method.png" alt=" "/>
298 <span class="method-result">void</span>
299 <a href="#SendTemporaryPassword" title="details" class="method-name">SendTemporaryPassword</a>
301 </div>
303 <div class="method-definition">
304 <img src="../../media/images/Method.png" alt=" "/>
305 <span class="method-result">void</span>
306 <a href="#_CheckLogin" title="details" class="method-name">_CheckLogin</a>
308 </div>
309 </div>
310 </div>
311 </div>
313 <a name="sec-vars"></a>
314 <div class="info-box">
315 <div class="info-box-title">Variables</div>
316 <div class="nav-bar">
317 <a href="#sec-description">Description</a> |
318 <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
322 <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
324 </div>
325 <div class="info-box-body">
327 <a name="var$email" id="$email"><!-- --></A>
328 <div class="oddrow">
330 <div class="var-header">
331 <img src="../../media/images/Variable.png" />
332 <span class="var-title">
333 <span class="var-type">int</span>
334 <span class="var-name">$email</span>
335 = <span class="var-default"> ''</span> (line <span class="line-number">99</span>)
336 </span>
337 </div>
339 <!-- ========== Info from phpDoc block ========= -->
340 <p class="short-description">The user's email address from their usr record.</p>
341 <ul class="tags">
342 <li><span class="field">access:</span> public</li>
343 </ul>
349 </div>
350 <a name="var$fullname" id="$fullname"><!-- --></A>
351 <div class="evenrow">
353 <div class="var-header">
354 <img src="../../media/images/Variable.png" />
355 <span class="var-title">
356 <span class="var-type">int</span>
357 <span class="var-name">$fullname</span>
358 = <span class="var-default"> 'Guest'</span> (line <span class="line-number">93</span>)
359 </span>
360 </div>
362 <!-- ========== Info from phpDoc block ========= -->
363 <p class="short-description">The user's full name from their usr record.</p>
364 <ul class="tags">
365 <li><span class="field">access:</span> public</li>
366 </ul>
372 </div>
373 <a name="var$just_logged_in" id="$just_logged_in"><!-- --></A>
374 <div class="oddrow">
376 <div class="var-header">
377 <img src="../../media/images/Variable.png" />
378 <span class="var-title">
379 <span class="var-type">boolean</span>
380 <span class="var-name">$just_logged_in</span>
381 = <span class="var-default"> false</span> (line <span class="line-number">113</span>)
382 </span>
383 </div>
385 <!-- ========== Info from phpDoc block ========= -->
386 <p class="short-description">Whether the user logged in to view the current page. Perhaps some details on the login form might pollute an editable form and result in an unplanned submit. This can be used to program around such a problem.</p>
387 <ul class="tags">
388 <li><span class="field">access:</span> public</li>
389 </ul>
395 </div>
396 <a name="var$last_session_end" id="$last_session_end"><!-- --></A>
397 <div class="evenrow">
399 <div class="var-header">
400 <img src="../../media/images/Variable.png" />
401 <span class="var-title">
402 <span class="var-type">string</span>
403 <span class="var-name">$last_session_end</span>
404 (line <span class="line-number">126</span>)
405 </span>
406 </div>
408 <!-- ========== Info from phpDoc block ========= -->
409 <p class="short-description">The date and time that the user requested their last page during their last session.</p>
410 <ul class="tags">
411 <li><span class="field">access:</span> public</li>
412 </ul>
418 </div>
419 <a name="var$last_session_start" id="$last_session_start"><!-- --></A>
420 <div class="oddrow">
422 <div class="var-header">
423 <img src="../../media/images/Variable.png" />
424 <span class="var-title">
425 <span class="var-type">string</span>
426 <span class="var-name">$last_session_start</span>
427 (line <span class="line-number">119</span>)
428 </span>
429 </div>
431 <!-- ========== Info from phpDoc block ========= -->
432 <p class="short-description">The date and time that the user logged on during their last session.</p>
433 <ul class="tags">
434 <li><span class="field">access:</span> public</li>
435 </ul>
441 </div>
442 <a name="var$logged_in" id="$logged_in"><!-- --></A>
443 <div class="evenrow">
445 <div class="var-header">
446 <img src="../../media/images/Variable.png" />
447 <span class="var-title">
448 <span class="var-type">int</span>
449 <span class="var-name">$logged_in</span>
450 = <span class="var-default"> false</span> (line <span class="line-number">105</span>)
451 </span>
452 </div>
454 <!-- ========== Info from phpDoc block ========= -->
455 <p class="short-description">Whether this user has actually logged in.</p>
456 <ul class="tags">
457 <li><span class="field">access:</span> public</li>
458 </ul>
464 </div>
465 <a name="var$session_id" id="$session_id"><!-- --></A>
466 <div class="oddrow">
468 <div class="var-header">
469 <img src="../../media/images/Variable.png" />
470 <span class="var-title">
471 <span class="var-type">int</span>
472 <span class="var-name">$session_id</span>
473 = <span class="var-default"> 0</span> (line <span class="line-number">81</span>)
474 </span>
475 </div>
477 <!-- ========== Info from phpDoc block ========= -->
478 <p class="short-description">A unique id for this user's logged-in session.</p>
479 <ul class="tags">
480 <li><span class="field">access:</span> public</li>
481 </ul>
487 </div>
488 <a name="var$username" id="$username"><!-- --></A>
489 <div class="evenrow">
491 <div class="var-header">
492 <img src="../../media/images/Variable.png" />
493 <span class="var-title">
494 <span class="var-type">int</span>
495 <span class="var-name">$username</span>
496 = <span class="var-default"> 'guest'</span> (line <span class="line-number">87</span>)
497 </span>
498 </div>
500 <!-- ========== Info from phpDoc block ========= -->
501 <p class="short-description">The user's username used to log in.</p>
502 <ul class="tags">
503 <li><span class="field">access:</span> public</li>
504 </ul>
510 </div>
511 <a name="var$user_no" id="$user_no"><!-- --></A>
512 <div class="oddrow">
514 <div class="var-header">
515 <img src="../../media/images/Variable.png" />
516 <span class="var-title">
517 <span class="var-type">int</span>
518 <span class="var-name">$user_no</span>
519 (line <span class="line-number">75</span>)
520 </span>
521 </div>
523 <!-- ========== Info from phpDoc block ========= -->
524 <p class="short-description">The user_no of the logged in user.</p>
525 <ul class="tags">
526 <li><span class="field">access:</span> public</li>
527 </ul>
533 </div>
535 </div>
536 </div>
538 <a name="sec-methods"></a>
539 <div class="info-box">
540 <div class="info-box-title">Methods</div>
541 <div class="nav-bar">
542 <a href="#sec-description">Description</a> |
543 <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
544 <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
546 </div>
547 <div class="info-box-body">
548 <A NAME='method_detail'></A>
549 <a name="method_CheckLogout" id="_CheckLogout"><!-- --></a>
550 <div class="evenrow">
552 <div class="method-header">
553 <img src="../../media/images/StaticMethod.png" />
554 <span class="method-title">static _CheckLogout</span> (line <span class="line-number">795</span>)
555 </div>
557 <!-- ========== Info from phpDoc block ========= -->
559 <div class="method-signature">
560 static <span class="method-result">void</span>
561 <span class="method-name">
562 _CheckLogout
563 </span>
565 </div>
569 </div>
570 <a name="methodSession" id="Session"><!-- --></a>
571 <div class="oddrow">
573 <div class="method-header">
574 <img src="../../media/images/Constructor.png" />
575 <span class="method-title">Constructor Session</span> (line <span class="line-number">145</span>)
576 </div>
578 <!-- ========== Info from phpDoc block ========= -->
579 <p class="short-description">Create a new Session object.</p>
580 <p class="description"><p>If a session identifier is supplied, or we can find one in a cookie, we validate it and consider the person logged in. We read some useful session and user data in passing as we do this.</p><p>The session identifier contains a random value, hashed, to provide validation. This could be hijacked if the traffic was sniffable so sites who are paranoid about security should only do this across SSL.</p><p>A worthwhile enhancement would be to add some degree of external configurability to that read.</p></p>
582 <div class="method-signature">
583 <span class="method-result">Session</span>
584 <span class="method-name">
585 Session
586 </span>
587 ([<span class="var-type">string</span>&nbsp;<span class="var-name">$sid</span> = <span class="var-default">&quot;&quot;</span>])
588 </div>
590 <ul class="parameters">
591 <li>
592 <span class="var-type">string</span>
593 <span class="var-name">$sid</span><span class="var-description">: A session identifier.</span> </li>
594 </ul>
597 </div>
598 <a name="methodAllowedTo" id="AllowedTo"><!-- --></a>
599 <div class="evenrow">
601 <div class="method-header">
602 <img src="../../media/images/Method.png" />
603 <span class="method-title">AllowedTo</span> (line <span class="line-number">260</span>)
604 </div>
606 <!-- ========== Info from phpDoc block ========= -->
607 <p class="short-description">Checks whether a user is allowed to do something.</p>
608 <p class="description"><p>The check is performed to see if the user has that role.</p></p>
609 <ul class="tags">
610 <li><span class="field">return:</span> Whether or not the user has the specified role.</li>
611 </ul>
613 <div class="method-signature">
614 <span class="method-result">boolean</span>
615 <span class="method-name">
616 AllowedTo
617 </span>
618 (<span class="var-type">string</span>&nbsp;<span class="var-name">$whatever</span>)
619 </div>
621 <ul class="parameters">
622 <li>
623 <span class="var-type">string</span>
624 <span class="var-name">$whatever</span><span class="var-description">: The role we want to know if the user has.</span> </li>
625 </ul>
628 </div>
629 <a name="methodAssignSessionDetails" id="AssignSessionDetails"><!-- --></a>
630 <div class="oddrow">
632 <div class="method-header">
633 <img src="../../media/images/Method.png" />
634 <span class="method-title">AssignSessionDetails</span> (line <span class="line-number">283</span>)
635 </div>
637 <!-- ========== Info from phpDoc block ========= -->
638 <p class="short-description">Internal function used to assign the session details to a user's new session.</p>
640 <div class="method-signature">
641 <span class="method-result">void</span>
642 <span class="method-name">
643 AssignSessionDetails
644 </span>
645 (<span class="var-type">object</span>&nbsp;<span class="var-name">$u</span>)
646 </div>
648 <ul class="parameters">
649 <li>
650 <span class="var-type">object</span>
651 <span class="var-name">$u</span><span class="var-description">: The user+session object we (probably) read from the database.</span> </li>
652 </ul>
655 </div>
656 <a name="methodBuildConfirmationHash" id="BuildConfirmationHash"><!-- --></a>
657 <div class="evenrow">
659 <div class="method-header">
660 <img src="../../media/images/Method.png" />
661 <span class="method-title">BuildConfirmationHash</span> (line <span class="line-number">882</span>)
662 </div>
664 <!-- ========== Info from phpDoc block ========= -->
665 <p class="short-description">Build a hash which we can use for confirmation that we didn't get e-mailed a bogus link by someone, and that we actually got here by traversing the website.</p>
666 <ul class="tags">
667 <li><span class="field">return:</span> A string we can use as either a GET or POST value (i.e. a hidden field, or a varname=hash pair.</li>
668 </ul>
670 <div class="method-signature">
671 <span class="method-result">string</span>
672 <span class="method-name">
673 BuildConfirmationHash
674 </span>
675 (<span class="var-type">string</span>&nbsp;<span class="var-name">$method</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$varname</span>)
676 </div>
678 <ul class="parameters">
679 <li>
680 <span class="var-type">string</span>
681 <span class="var-name">$method</span><span class="var-description">: Either 'GET' or 'POST' depending on the way we will use this.</span> </li>
682 <li>
683 <span class="var-type">string</span>
684 <span class="var-name">$varname</span><span class="var-description">: The name of the variable which we will confirm</span> </li>
685 </ul>
688 </div>
689 <a name="methodCheckConfirmationHash" id="CheckConfirmationHash"><!-- --></a>
690 <div class="oddrow">
692 <div class="method-header">
693 <img src="../../media/images/Method.png" />
694 <span class="method-title">CheckConfirmationHash</span> (line <span class="line-number">905</span>)
695 </div>
697 <!-- ========== Info from phpDoc block ========= -->
698 <p class="short-description">Check a hash which we created through BuildConfirmationHash</p>
699 <ul class="tags">
700 <li><span class="field">return:</span> A string we can use as either a GET or POST value (i.e. a hidden field, or a varname=hash pair.</li>
701 </ul>
703 <div class="method-signature">
704 <span class="method-result">string</span>
705 <span class="method-name">
706 CheckConfirmationHash
707 </span>
708 (<span class="var-type">string</span>&nbsp;<span class="var-name">$method</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$varname</span>)
709 </div>
711 <ul class="parameters">
712 <li>
713 <span class="var-type">string</span>
714 <span class="var-name">$method</span><span class="var-description">: Either 'GET' or 'POST' depending on the way we will use this.</span> </li>
715 <li>
716 <span class="var-type">string</span>
717 <span class="var-name">$varname</span><span class="var-description">: The name of the variable which we will confirm</span> </li>
718 </ul>
721 </div>
722 <a name="methodDbg" id="Dbg"><!-- --></a>
723 <div class="evenrow">
725 <div class="method-header">
726 <img src="../../media/images/Method.png" />
727 <span class="method-title">Dbg</span> (line <span class="line-number">230</span>)
728 </div>
730 <!-- ========== Info from phpDoc block ========= -->
731 <p class="short-description">DEPRECATED Utility function to log debug stuff with printf expansion, and the ability to enable it selectively.</p>
732 <p class="description"><p>The enabling is done by setting a variable &quot;$debuggroups[$group] = 1&quot;</p></p>
734 <div class="method-signature">
735 <span class="method-result">void</span>
736 <span class="method-name">
738 </span>
739 (<span class="var-type">string</span>&nbsp;<span class="var-name">$whatever</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$group</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$whatever...</span>)
740 </div>
742 <ul class="parameters">
743 <li>
744 <span class="var-type">string</span>
745 <span class="var-name">$group</span><span class="var-description">: The name of an arbitrary debug group.</span> </li>
746 <li>
747 <span class="var-type">string</span>
748 <span class="var-name">$whatever</span><span class="var-description">: A log string</span> </li>
749 <li>
750 <span class="var-type">mixed</span>
751 <span class="var-name">$whatever...</span><span class="var-description">: Further parameters to be replaced into the log string a la printf</span> </li>
752 </ul>
755 </div>
756 <a name="methodEmailTemporaryPassword" id="EmailTemporaryPassword"><!-- --></a>
757 <div class="oddrow">
759 <div class="method-header">
760 <img src="../../media/images/Method.png" />
761 <span class="method-title">EmailTemporaryPassword</span> (line <span class="line-number">631</span>)
762 </div>
764 <!-- ========== Info from phpDoc block ========= -->
765 <p class="short-description">E-mails a temporary password in response to a request from a user.</p>
766 <p class="description"><p>This could be called from somewhere within the application that allows someone to set up a user and invite them.</p><p>This function includes EMail.php to actually send the password.</p></p>
768 <div class="method-signature">
769 <span class="method-result">void</span>
770 <span class="method-name">
771 EmailTemporaryPassword
772 </span>
773 (<span class="var-type"></span>&nbsp;<span class="var-name">$username</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$email_address</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$body_template</span> = <span class="var-default">&quot;&quot;</span>])
774 </div>
776 <ul class="parameters">
777 <li>
778 <span class="var-type"></span>
779 <span class="var-name">$username</span> </li>
780 <li>
781 <span class="var-type"></span>
782 <span class="var-name">$email_address</span> </li>
783 <li>
784 <span class="var-type"></span>
785 <span class="var-name">$body_template</span> </li>
786 </ul>
789 </div>
790 <a name="methodFormattedDate" id="FormattedDate"><!-- --></a>
791 <div class="evenrow">
793 <div class="method-header">
794 <img src="../../media/images/Method.png" />
795 <span class="method-title">FormattedDate</span> (line <span class="line-number">842</span>)
796 </div>
798 <!-- ========== Info from phpDoc block ========= -->
799 <p class="short-description">Function to reformat an ISO date to something nicer and possibly more localised</p>
800 <ul class="tags">
801 <li><span class="field">return:</span> The nicely formatted date.</li>
802 </ul>
804 <div class="method-signature">
805 <span class="method-result">string</span>
806 <span class="method-name">
807 FormattedDate
808 </span>
809 (<span class="var-type">string</span>&nbsp;<span class="var-name">$indate</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$type</span> = <span class="var-default">'date'</span>])
810 </div>
812 <ul class="parameters">
813 <li>
814 <span class="var-type">string</span>
815 <span class="var-name">$indate</span><span class="var-description">: The ISO date to be formatted.</span> </li>
816 <li>
817 <span class="var-type">string</span>
818 <span class="var-name">$type</span><span class="var-description">: If 'timestamp' then the time will also be shown.</span> </li>
819 </ul>
822 </div>
823 <a name="methodGetRoles" id="GetRoles"><!-- --></a>
824 <div class="oddrow">
826 <div class="method-header">
827 <img src="../../media/images/Method.png" />
828 <span class="method-title">GetRoles</span> (line <span class="line-number">268</span>)
829 </div>
831 <!-- ========== Info from phpDoc block ========= -->
832 <p class="short-description">Internal function used to get the user's roles from the database.</p>
834 <div class="method-signature">
835 <span class="method-result">void</span>
836 <span class="method-name">
837 GetRoles
838 </span>
840 </div>
844 </div>
845 <a name="methodLog" id="Log"><!-- --></a>
846 <div class="evenrow">
848 <div class="method-header">
849 <img src="../../media/images/Method.png" />
850 <span class="method-title">Log</span> (line <span class="line-number">202</span>)
851 </div>
853 <!-- ========== Info from phpDoc block ========= -->
854 <p class="short-description">DEPRECATED Utility function to log stuff with printf expansion.</p>
855 <p class="description"><p>This function could be expanded to log something identifying the session, but somewhat strangely this has not yet been done.</p></p>
857 <div class="method-signature">
858 <span class="method-result">void</span>
859 <span class="method-name">
861 </span>
862 (<span class="var-type">string</span>&nbsp;<span class="var-name">$whatever</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$whatever...</span>)
863 </div>
865 <ul class="parameters">
866 <li>
867 <span class="var-type">string</span>
868 <span class="var-name">$whatever</span><span class="var-description">: A log string</span> </li>
869 <li>
870 <span class="var-type">mixed</span>
871 <span class="var-name">$whatever...</span><span class="var-description">: Further parameters to be replaced into the log string a la printf</span> </li>
872 </ul>
875 </div>
876 <a name="methodLogin" id="Login"><!-- --></a>
877 <div class="oddrow">
879 <div class="method-header">
880 <img src="../../media/images/Method.png" />
881 <span class="method-title">Login</span> (line <span class="line-number">311</span>)
882 </div>
884 <!-- ========== Info from phpDoc block ========= -->
885 <p class="short-description">Attempt to perform a login action.</p>
886 <p class="description"><p>This will validate the user's username and password. If they are OK then a new session id will be created and the user will be cookied with it for subsequent pages. A logged in session will be created, and the $_POST array will be cleared of the username, password and submit values. submit will also be cleared from $_GET and $GLOBALS, just in case.</p></p>
887 <ul class="tags">
888 <li><span class="field">return:</span> Whether or not the user correctly guessed a temporary password within the necessary window of opportunity.</li>
889 </ul>
891 <div class="method-signature">
892 <span class="method-result">boolean</span>
893 <span class="method-name">
894 Login
895 </span>
896 (<span class="var-type">string</span>&nbsp;<span class="var-name">$username</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$password</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$authenticated</span> = <span class="var-default">false</span>])
897 </div>
899 <ul class="parameters">
900 <li>
901 <span class="var-type">string</span>
902 <span class="var-name">$username</span><span class="var-description">: The user's login name, or at least what they entered it as.</span> </li>
903 <li>
904 <span class="var-type">string</span>
905 <span class="var-name">$password</span><span class="var-description">: The user's password, or at least what they entered it as.</span> </li>
906 <li>
907 <span class="var-type">string</span>
908 <span class="var-name">$authenticated</span><span class="var-description">: If true, then authentication has already happened and the password is not checked, though the user must still exist.</span> </li>
909 </ul>
912 </div>
913 <a name="methodLoginRequired" id="LoginRequired"><!-- --></a>
914 <div class="evenrow">
916 <div class="method-header">
917 <img src="../../media/images/Method.png" />
918 <span class="method-title">LoginRequired</span> (line <span class="line-number">581</span>)
919 </div>
921 <!-- ========== Info from phpDoc block ========= -->
922 <p class="short-description">Checks that this user is logged in, and presents a login screen if they aren't.</p>
923 <p class="description"><p>The function can optionally confirm whether they are a member of one of a list of groups, and deny access if they are not a member of any of them.</p></p>
924 <ul class="tags">
925 <li><span class="field">return:</span> Whether or not the user is logged in and is a member of one of the required groups.</li>
926 </ul>
928 <div class="method-signature">
929 <span class="method-result">boolean</span>
930 <span class="method-name">
931 LoginRequired
932 </span>
933 ([<span class="var-type">string</span>&nbsp;<span class="var-name">$groups</span> = <span class="var-default">&quot;&quot;</span>])
934 </div>
936 <ul class="parameters">
937 <li>
938 <span class="var-type">string</span>
939 <span class="var-name">$groups</span><span class="var-description">: The list of groups that the user must be a member of one of to be allowed to proceed.</span> </li>
940 </ul>
943 </div>
944 <a name="methodLSIDLogin" id="LSIDLogin"><!-- --></a>
945 <div class="oddrow">
947 <div class="method-header">
948 <img src="../../media/images/Method.png" />
949 <span class="method-title">LSIDLogin</span> (line <span class="line-number">436</span>)
950 </div>
952 <!-- ========== Info from phpDoc block ========= -->
953 <p class="short-description">Attempts to logs in using a long-term session ID</p>
954 <p class="description"><p>This is all horribly insecure, but its hard not to be.</p></p>
955 <ul class="tags">
956 <li><span class="field">return:</span> Whether or not the user's lsid cookie got them in the door.</li>
957 </ul>
959 <div class="method-signature">
960 <span class="method-result">boolean</span>
961 <span class="method-name">
962 LSIDLogin
963 </span>
964 (<span class="var-type">string</span>&nbsp;<span class="var-name">$lsid</span>)
965 </div>
967 <ul class="parameters">
968 <li>
969 <span class="var-type">string</span>
970 <span class="var-name">$lsid</span><span class="var-description">: The user's value of the lsid cookie.</span> </li>
971 </ul>
974 </div>
975 <a name="methodRenderLoginPanel" id="RenderLoginPanel"><!-- --></a>
976 <div class="evenrow">
978 <div class="method-header">
979 <img src="../../media/images/Method.png" />
980 <span class="method-title">RenderLoginPanel</span> (line <span class="line-number">527</span>)
981 </div>
983 <!-- ========== Info from phpDoc block ========= -->
984 <p class="short-description">Renders some HTML for a basic login panel</p>
985 <ul class="tags">
986 <li><span class="field">return:</span> The HTML to display a login panel.</li>
987 </ul>
989 <div class="method-signature">
990 <span class="method-result">string</span>
991 <span class="method-name">
992 RenderLoginPanel
993 </span>
995 </div>
999 </div>
1000 <a name="methodSendTemporaryPassword" id="SendTemporaryPassword"><!-- --></a>
1001 <div class="oddrow">
1003 <div class="method-header">
1004 <img src="../../media/images/Method.png" />
1005 <span class="method-title">SendTemporaryPassword</span> (line <span class="line-number">723</span>)
1006 </div>
1008 <!-- ========== Info from phpDoc block ========= -->
1009 <p class="short-description">Sends a temporary password in response to a request from a user.</p>
1010 <p class="description"><p>This is probably only going to be called from somewhere internal. An external caller will probably just want the e-mail, without the HTML that this displays.</p></p>
1012 <div class="method-signature">
1013 <span class="method-result">void</span>
1014 <span class="method-name">
1015 SendTemporaryPassword
1016 </span>
1018 </div>
1022 </div>
1023 <a name="method_CheckLogin" id="_CheckLogin"><!-- --></a>
1024 <div class="evenrow">
1026 <div class="method-header">
1027 <img src="../../media/images/Method.png" />
1028 <span class="method-title">_CheckLogin</span> (line <span class="line-number">808</span>)
1029 </div>
1031 <!-- ========== Info from phpDoc block ========= -->
1033 <div class="method-signature">
1034 <span class="method-result">void</span>
1035 <span class="method-name">
1036 _CheckLogin
1037 </span>
1039 </div>
1043 </div>
1045 </div>
1046 </div>
1049 <p class="notes" id="credit">
1050 Documentation generated on Tue, 28 Dec 2010 02:01:36 +1300 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
1051 </p>
1052 </div></body>
1053 </html>