SloodleSession.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  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 SloodleSession</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";
  14. function showNode(Node){
  15. switch(navigator.family){
  16. case 'nn4':
  17. // Nav 4.x code fork...
  18. var oTable = document.layers["span" + Node];
  19. var oImg = document.layers["img" + Node];
  20. break;
  21. case 'ie4':
  22. // IE 4/5 code fork...
  23. var oTable = document.all["span" + Node];
  24. var oImg = document.all["img" + Node];
  25. break;
  26. case 'gecko':
  27. // Standards Compliant code fork...
  28. var oTable = document.getElementById("span" + Node);
  29. var oImg = document.getElementById("img" + Node);
  30. break;
  31. }
  32. oImg.src = imgMinus.src;
  33. oTable.style.display = "block";
  34. }
  35. function hideNode(Node){
  36. switch(navigator.family){
  37. case 'nn4':
  38. // Nav 4.x code fork...
  39. var oTable = document.layers["span" + Node];
  40. var oImg = document.layers["img" + Node];
  41. break;
  42. case 'ie4':
  43. // IE 4/5 code fork...
  44. var oTable = document.all["span" + Node];
  45. var oImg = document.all["img" + Node];
  46. break;
  47. case 'gecko':
  48. // Standards Compliant code fork...
  49. var oTable = document.getElementById("span" + Node);
  50. var oImg = document.getElementById("img" + Node);
  51. break;
  52. }
  53. oImg.src = imgPlus.src;
  54. oTable.style.display = "none";
  55. }
  56. function nodeIsVisible(Node){
  57. switch(navigator.family){
  58. case 'nn4':
  59. // Nav 4.x code fork...
  60. var oTable = document.layers["span" + Node];
  61. break;
  62. case 'ie4':
  63. // IE 4/5 code fork...
  64. var oTable = document.all["span" + Node];
  65. break;
  66. case 'gecko':
  67. // Standards Compliant code fork...
  68. var oTable = document.getElementById("span" + Node);
  69. break;
  70. }
  71. return (oTable && oTable.style.display == "block");
  72. }
  73. function toggleNodeVisibility(Node){
  74. if (nodeIsVisible(Node)){
  75. hideNode(Node);
  76. }else{
  77. showNode(Node);
  78. }
  79. }
  80. </script>
  81. </head>
  82. <body>
  83. <div class="page-body">
  84. <h2 class="class-name"><img src="../media/images/Class_logo.png"
  85. alt=" Class"
  86. title=" Class"
  87. style="vertical-align: middle"> SloodleSession</h2>
  88. <a name="sec-description"></a>
  89. <div class="info-box">
  90. <div class="info-box-title">Description</div>
  91. <div class="nav-bar">
  92. <span class="disabled">Description</span> |
  93. <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
  94. | <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
  95. </div>
  96. <div class="info-box-body">
  97. <!-- ========== Info from phpDoc block ========= -->
  98. <p class="short-description">The primary API class, which manages all other parts.</p>
  99. <p class="notes">
  100. Located in <a class="field" href="_sloodle---lib---sloodle_session.php.html">/sloodle/lib/sloodle_session.php</a> (line <span class="field"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a32">32</a></span>)
  101. </p>
  102. <pre></pre>
  103. </div>
  104. </div>
  105. <a name="sec-var-summary"></a>
  106. <div class="info-box">
  107. <div class="info-box-title">Variable Summary</span></div>
  108. <div class="nav-bar">
  109. <a href="#sec-description">Description</a> |
  110. <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
  111. |
  112. <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
  113. </div>
  114. <div class="info-box-body">
  115. <div class="var-summary">
  116. <div class="var-title">
  117. <img src="../media/images/Variable.png" alt=" " />
  118. <span class="var-type"><a href="../sloodle/SloodleCourse.html">SloodleCourse</a></span>
  119. <a href="#$course" title="details" class="var-name">$course</a>
  120. </div>
  121. <div class="var-title">
  122. <img src="../media/images/Variable.png" alt=" " />
  123. <span class="var-type"><a href="../sloodle/SloodleModule.html">SloodleModule</a></span>
  124. <a href="#$module" title="details" class="var-name">$module</a>
  125. </div>
  126. <div class="var-title">
  127. <img src="../media/images/Variable.png" alt=" " />
  128. <span class="var-type"><a href="../sloodle/SloodleRequest.html">SloodleRequest</a></span>
  129. <a href="#$request" title="details" class="var-name">$request</a>
  130. </div>
  131. <div class="var-title">
  132. <img src="../media/images/Variable.png" alt=" " />
  133. <span class="var-type"><a href="../sloodle/SloodleResponse.html">SloodleResponse</a></span>
  134. <a href="#$response" title="details" class="var-name">$response</a>
  135. </div>
  136. <div class="var-title">
  137. <img src="../media/images/Variable.png" alt=" " />
  138. <span class="var-type"><a href="../sloodle/SloodleUser.html">SloodleUser</a></span>
  139. <a href="#$user" title="details" class="var-name">$user</a>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. <a name="sec-method-summary"></a>
  145. <div class="info-box">
  146. <div class="info-box-title">Method Summary</span></div>
  147. <div class="nav-bar">
  148. <a href="#sec-description">Description</a> |
  149. <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
  150. |
  151. <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
  152. </div>
  153. <div class="info-box-body">
  154. <div class="method-summary">
  155. <div class="method-definition">
  156. <img src="../media/images/Constructor.png" alt=" "/>
  157. <span class="method-result">SloodleSession</span>
  158. <a href="#SloodleSession" title="details" class="method-name">SloodleSession</a>
  159. ([<span class="var-type">bool</span>&nbsp;<span class="var-name">$process</span> = <span class="var-default">true</span>])
  160. </div>
  161. <div class="method-definition">
  162. <img src="../media/images/Method.png" alt=" "/>
  163. <span class="method-result">bool</span>
  164. <a href="#authenticate_request" title="details" class="method-name">authenticate_request</a>
  165. ([<span class="var-type">bool</span>&nbsp;<span class="var-name">$require</span> = <span class="var-default">true</span>])
  166. </div>
  167. <div class="method-definition">
  168. <img src="../media/images/Method.png" alt=" "/>
  169. <span class="method-result">bool</span>
  170. <a href="#load_module" title="details" class="method-name">load_module</a>
  171. (<span class="var-type">string</span>&nbsp;<span class="var-name">$type</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$db</span>, [<span class="var-type">bool</span>&nbsp;<span class="var-name">$require</span> = <span class="var-default">true</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$override_access</span> = <span class="var-default">false</span>])
  172. </div>
  173. <div class="method-definition">
  174. <img src="../media/images/Method.png" alt=" "/>
  175. <span class="method-result">bool</span>
  176. <a href="#validate_user" title="details" class="method-name">validate_user</a>
  177. ([<span class="var-type">bool</span>&nbsp;<span class="var-name">$require</span> = <span class="var-default">true</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$suppress_autoreg</span> = <span class="var-default">false</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$suppress_autoenrol</span> = <span class="var-default">false</span>])
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. <a name="sec-vars"></a>
  183. <div class="info-box">
  184. <div class="info-box-title">Variables</div>
  185. <div class="nav-bar">
  186. <a href="#sec-description">Description</a> |
  187. <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
  188. |
  189. <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
  190. </div>
  191. <div class="info-box-body">
  192. <a name="var$course" id="$course"><!-- --></A>
  193. <div class="oddrow">
  194. <div class="var-header">
  195. <img src="../media/images/Variable.png" />
  196. <span class="var-title">
  197. <span class="var-type"><a href="../sloodle/SloodleCourse.html">SloodleCourse</a></span>
  198. <span class="var-name">$course</span>
  199. = <span class="var-default"> null</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a62">62</a></span>)
  200. </span>
  201. </div>
  202. <!-- ========== Info from phpDoc block ========= -->
  203. <p class="short-description">The Sloodle course structure for the course this session is accessing</p>
  204. <ul class="tags">
  205. <li><span class="field">access:</span> public</li>
  206. </ul>
  207. </div>
  208. <a name="var$module" id="$module"><!-- --></A>
  209. <div class="evenrow">
  210. <div class="var-header">
  211. <img src="../media/images/Variable.png" />
  212. <span class="var-title">
  213. <span class="var-type"><a href="../sloodle/SloodleModule.html">SloodleModule</a></span>
  214. <span class="var-name">$module</span>
  215. = <span class="var-default"> null</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a70">70</a></span>)
  216. </span>
  217. </div>
  218. <!-- ========== Info from phpDoc block ========= -->
  219. <p class="short-description">The Sloodle module this session relates to, if any.</p>
  220. <p class="description"><p>Note: this may be the base Sloodle module class, or a derivative.</p></p>
  221. <ul class="tags">
  222. <li><span class="field">access:</span> public</li>
  223. </ul>
  224. </div>
  225. <a name="var$request" id="$request"><!-- --></A>
  226. <div class="oddrow">
  227. <div class="var-header">
  228. <img src="../media/images/Variable.png" />
  229. <span class="var-title">
  230. <span class="var-type"><a href="../sloodle/SloodleRequest.html">SloodleRequest</a></span>
  231. <span class="var-name">$request</span>
  232. = <span class="var-default"> null</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a41">41</a></span>)
  233. </span>
  234. </div>
  235. <!-- ========== Info from phpDoc block ========= -->
  236. <p class="short-description">Incoming HTTP request.</p>
  237. <ul class="tags">
  238. <li><span class="field">access:</span> public</li>
  239. </ul>
  240. </div>
  241. <a name="var$response" id="$response"><!-- --></A>
  242. <div class="evenrow">
  243. <div class="var-header">
  244. <img src="../media/images/Variable.png" />
  245. <span class="var-title">
  246. <span class="var-type"><a href="../sloodle/SloodleResponse.html">SloodleResponse</a></span>
  247. <span class="var-name">$response</span>
  248. = <span class="var-default"> null</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a48">48</a></span>)
  249. </span>
  250. </div>
  251. <!-- ========== Info from phpDoc block ========= -->
  252. <p class="short-description">Outgoing response - can be rendered to HTTP or as a string.</p>
  253. <ul class="tags">
  254. <li><span class="field">access:</span> public</li>
  255. </ul>
  256. </div>
  257. <a name="var$user" id="$user"><!-- --></A>
  258. <div class="oddrow">
  259. <div class="var-header">
  260. <img src="../media/images/Variable.png" />
  261. <span class="var-title">
  262. <span class="var-type"><a href="../sloodle/SloodleUser.html">SloodleUser</a></span>
  263. <span class="var-name">$user</span>
  264. = <span class="var-default"> null</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a55">55</a></span>)
  265. </span>
  266. </div>
  267. <!-- ========== Info from phpDoc block ========= -->
  268. <p class="short-description">Current user information.</p>
  269. <ul class="tags">
  270. <li><span class="field">access:</span> public</li>
  271. </ul>
  272. </div>
  273. </div>
  274. </div>
  275. <a name="sec-methods"></a>
  276. <div class="info-box">
  277. <div class="info-box-title">Methods</div>
  278. <div class="nav-bar">
  279. <a href="#sec-description">Description</a> |
  280. <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
  281. <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
  282. </div>
  283. <div class="info-box-body">
  284. <A NAME='method_detail'></A>
  285. <a name="methodSloodleSession" id="SloodleSession"><!-- --></a>
  286. <div class="evenrow">
  287. <div class="method-header">
  288. <img src="../media/images/Constructor.png" />
  289. <span class="method-title">Constructor SloodleSession</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a79">79</a></span>)
  290. </div>
  291. <!-- ========== Info from phpDoc block ========= -->
  292. <p class="short-description">Constructor - initialises members</p>
  293. <div class="method-signature">
  294. <span class="method-result">SloodleSession</span>
  295. <span class="method-name">
  296. SloodleSession
  297. </span>
  298. ([<span class="var-type">bool</span>&nbsp;<span class="var-name">$process</span> = <span class="var-default">true</span>])
  299. </div>
  300. <ul class="parameters">
  301. <li>
  302. <span class="var-type">bool</span>
  303. <span class="var-name">$process</span><span class="var-description">: If true (default) then basic request data will be processed immediately. Otherwise, it can be done manually by calling $request-&gt;process_request_data()</span> </li>
  304. </ul>
  305. </div>
  306. <a name="methodauthenticate_request" id="authenticate_request"><!-- --></a>
  307. <div class="oddrow">
  308. <div class="method-header">
  309. <img src="../media/images/Method.png" />
  310. <span class="method-title">authenticate_request</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a132">132</a></span>)
  311. </div>
  312. <!-- ========== Info from phpDoc block ========= -->
  313. <p class="short-description">Verifies security for the incoming request (but does not check user access).</p>
  314. <p class="description"><p>Initially ensures that the request is coming in on a valid and enabled course/controller (rejects it if not). The password is then checked, and it can handle prim-passwords and object-specific passwords.</p></p>
  315. <ul class="tags">
  316. <li><span class="field">return:</span> true if successful in authenticating the request, or false if not.</li>
  317. </ul>
  318. <div class="method-signature">
  319. <span class="method-result">bool</span>
  320. <span class="method-name">
  321. authenticate_request
  322. </span>
  323. ([<span class="var-type">bool</span>&nbsp;<span class="var-name">$require</span> = <span class="var-default">true</span>])
  324. </div>
  325. <ul class="parameters">
  326. <li>
  327. <span class="var-type">bool</span>
  328. <span class="var-name">$require</span><span class="var-description">: If true, the function will NOT return on authentication failure. Rather, it will terminate the script with an error message.</span> </li>
  329. </ul>
  330. </div>
  331. <a name="methodload_module" id="load_module"><!-- --></a>
  332. <div class="evenrow">
  333. <div class="method-header">
  334. <img src="../media/images/Method.png" />
  335. <span class="method-title">load_module</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a101">101</a></span>)
  336. </div>
  337. <!-- ========== Info from phpDoc block ========= -->
  338. <p class="short-description">Constructs and loads the appropriate module part of the session.</p>
  339. <p class="description"><p>Note that this function will fail if the current VLE user (in the $user member) does not have permission to access it.</p></p>
  340. <ul class="tags">
  341. <li><span class="field">return:</span> True if successful, or false otherwise. (Note, if parameter $require was true, then the script will terminate before this function returns if something goes wrong)</li>
  342. </ul>
  343. <div class="method-signature">
  344. <span class="method-result">bool</span>
  345. <span class="method-name">
  346. load_module
  347. </span>
  348. (<span class="var-type">string</span>&nbsp;<span class="var-name">$type</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$db</span>, [<span class="var-type">bool</span>&nbsp;<span class="var-name">$require</span> = <span class="var-default">true</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$override_access</span> = <span class="var-default">false</span>])
  349. </div>
  350. <ul class="parameters">
  351. <li>
  352. <span class="var-type">string</span>
  353. <span class="var-name">$type</span><span class="var-description">: The expected type of module - function fails if type is not correctly matched</span> </li>
  354. <li>
  355. <span class="var-type">bool</span>
  356. <span class="var-name">$db</span><span class="var-description">: If true then the system will also try to load appropriate data from the database, as specified in the module ID request parameter</span> </li>
  357. <li>
  358. <span class="var-type">bool</span>
  359. <span class="var-name">$require</span><span class="var-description">: If true, then if something goes wrong, the script will be terminated with an error message</span> </li>
  360. <li>
  361. <span class="var-type">bool</span>
  362. <span class="var-name">$override_access</span><span class="var-description">: If true, then the user access permissions will be overriden to force access (not implemented yet)</span> </li>
  363. </ul>
  364. </div>
  365. <a name="methodvalidate_user" id="validate_user"><!-- --></a>
  366. <div class="oddrow">
  367. <div class="method-header">
  368. <img src="../media/images/Method.png" />
  369. <span class="method-title">validate_user</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibsloodle_session.php.html#a254">254</a></span>)
  370. </div>
  371. <!-- ========== Info from phpDoc block ========= -->
  372. <p class="short-description">Validates the user account and enrolment (ensures there is an avatar linked to a VLE account, and that the VLE account is enrolled in the current course).</p>
  373. <p class="description"><p>Attempts auto-registration/enrolment if that is allowed and required, and logs-in the user. Server access level is checked if it is specified in the request parameters. Note: if the request indicates that it relates to an object, then the validation fails.</p></p>
  374. <ul class="tags">
  375. <li><span class="field">return:</span> Returns true if validation and/or autoregistration were successful. Returns false on failure (unless $require was true).</li>
  376. </ul>
  377. <div class="method-signature">
  378. <span class="method-result">bool</span>
  379. <span class="method-name">
  380. validate_user
  381. </span>
  382. ([<span class="var-type">bool</span>&nbsp;<span class="var-name">$require</span> = <span class="var-default">true</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$suppress_autoreg</span> = <span class="var-default">false</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$suppress_autoenrol</span> = <span class="var-default">false</span>])
  383. </div>
  384. <ul class="parameters">
  385. <li>
  386. <span class="var-type">bool</span>
  387. <span class="var-name">$require</span><span class="var-description">: If true, the script will be terminated with an error message if validation fails</span> </li>
  388. <li>
  389. <span class="var-type">bool</span>
  390. <span class="var-name">$suppress_autoreg</span><span class="var-description">: If true, auto-registration will be completely suppressed for this function call</span> </li>
  391. <li>
  392. <span class="var-type">bool</span>
  393. <span class="var-name">$suppress_autoenrol</span><span class="var-description">: If true, auto-enrolment will be completely suppressed for this function call</span> </li>
  394. </ul>
  395. </div>
  396. </div>
  397. </div>
  398. <p class="notes" id="credit">
  399. Documentation generated on Mon, 16 Jun 2008 15:57:00 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a>
  400. </p>
  401. </div></body>
  402. </html>