_sloodle---lib---general.php.html 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  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 page general.php</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="file-name"><img src="../media/images/Page_logo.png" alt="File" style="vertical-align: middle">/sloodle/lib/general.php</h2>
  85. <a name="sec-description"></a>
  86. <div class="info-box">
  87. <div class="info-box-title">Description</div>
  88. <div class="nav-bar">
  89. <span class="disabled">Description</span> |
  90. <a href="#sec-includes">Includes</a>
  91. | <a href="#sec-functions">Functions</a>
  92. </div>
  93. <div class="info-box-body">
  94. <!-- ========== Info from phpDoc block ========= -->
  95. <p class="short-description">Sloodle general library.</p>
  96. <p class="description"><p>Provides various utility functionality for general Sloodle purposes.</p></p>
  97. <ul class="tags">
  98. <li><span class="field">copyright:</span> Copyright (c) 2007-8 Sloodle (various contributors)</li>
  99. <li><span class="field">contributor:</span> Edmund Edgar</li>
  100. <li><span class="field">contributor:</span> Peter R. Bloomfield</li>
  101. <li><span class="field">filesource:</span> <a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html">Source Code for this file</a></li>
  102. <li><span class="field">license:</span> <a href="http://www.gnu.org/licenses/gpl-3.0.html">GNU GPL v3</a></li>
  103. </ul>
  104. </div>
  105. </div>
  106. <a name="sec-includes"></a>
  107. <div class="info-box">
  108. <div class="info-box-title">Includes</div>
  109. <div class="nav-bar">
  110. <a href="#sec-description">Description</a> |
  111. <span class="disabled">Includes</span>
  112. | <a href="#sec-functions">Functions</a>
  113. </div>
  114. <div class="info-box-body">
  115. <a name="_SLOODLE_LIBROOT_/mail_php"><!-- --></a>
  116. <div class="evenrow">
  117. <div>
  118. <img src="../media/images/Page.png" alt=" " />
  119. <span class="include-title">
  120. <span class="include-type">require_once</span>
  121. (<span class="include-name">SLOODLE_LIBROOT.'/mail.php'</span>)
  122. (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a21">21</a></span>)
  123. </span>
  124. </div>
  125. <!-- ========== Info from phpDoc block ========= -->
  126. <p class="short-description">Include our email functionality.</p>
  127. </div>
  128. </div>
  129. </div>
  130. <a name="sec-functions"></a>
  131. <div class="info-box">
  132. <div class="info-box-title">Functions</div>
  133. <div class="nav-bar">
  134. <a href="#sec-description">Description</a> |
  135. <a href="#sec-includes">Includes</a>
  136. | <span class="disabled">Functions</span>
  137. </div>
  138. <div class="info-box-body">
  139. <a name="functionsloodle_add_to_log" id="functionsloodle_add_to_log"><!-- --></a>
  140. <div class="oddrow">
  141. <div>
  142. <img src="../media/images/Function.png" />
  143. <span class="method-title">sloodle_add_to_log</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a138">138</a></span>)
  144. </div>
  145. <!-- ========== Info from phpDoc block ========= -->
  146. <p class="short-description">Old logging function</p>
  147. <ul class="tags">
  148. <li><span class="field">todo:</span> <strong>May require update?</strong></li>
  149. </ul>
  150. <div class="method-signature">
  151. <span class="method-result">void</span>
  152. <span class="method-name">
  153. sloodle_add_to_log
  154. </span>
  155. ([<span class="var-type"></span>&nbsp;<span class="var-name">$courseid</span> = <span class="var-default">null</span>], [<span class="var-type"></span>&nbsp;<span class="var-name">$module</span> = <span class="var-default">null</span>], [<span class="var-type"></span>&nbsp;<span class="var-name">$action</span> = <span class="var-default">null</span>], [<span class="var-type"></span>&nbsp;<span class="var-name">$url</span> = <span class="var-default">null</span>], [<span class="var-type"></span>&nbsp;<span class="var-name">$cmid</span> = <span class="var-default">null</span>], [<span class="var-type"></span>&nbsp;<span class="var-name">$info</span> = <span class="var-default">null</span>])
  156. </div>
  157. <ul class="parameters">
  158. <li>
  159. <span class="var-type"></span>
  160. <span class="var-name">$courseid</span> </li>
  161. <li>
  162. <span class="var-type"></span>
  163. <span class="var-name">$module</span> </li>
  164. <li>
  165. <span class="var-type"></span>
  166. <span class="var-name">$action</span> </li>
  167. <li>
  168. <span class="var-type"></span>
  169. <span class="var-name">$url</span> </li>
  170. <li>
  171. <span class="var-type"></span>
  172. <span class="var-name">$cmid</span> </li>
  173. <li>
  174. <span class="var-type"></span>
  175. <span class="var-name">$info</span> </li>
  176. </ul>
  177. </div>
  178. <a name="functionsloodle_array_to_vector" id="functionsloodle_array_to_vector"><!-- --></a>
  179. <div class="evenrow">
  180. <div>
  181. <img src="../media/images/Function.png" />
  182. <span class="method-title">sloodle_array_to_vector</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a272">272</a></span>)
  183. </div>
  184. <!-- ========== Info from phpDoc block ========= -->
  185. <p class="short-description">Converts an array vector to a string vector.</p>
  186. <p class="description"><p>Array vector should be associative, containing elements 'x', 'y', and 'z'. Converts to a string vector of format &quot;&lt;x,y,z&gt;&quot;.</p></p>
  187. <ul class="tags">
  188. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_round_vector">sloodle_round_vector()</a></li>
  189. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_vector_to_array">sloodle_vector_to_array()</a></li>
  190. </ul>
  191. <div class="method-signature">
  192. <span class="method-result">string</span>
  193. <span class="method-name">
  194. sloodle_array_to_vector
  195. </span>
  196. (<span class="var-type"></span>&nbsp;<span class="var-name">$arr</span>)
  197. </div>
  198. <ul class="parameters">
  199. <li>
  200. <span class="var-type"></span>
  201. <span class="var-name">$arr</span> </li>
  202. </ul>
  203. </div>
  204. <a name="functionsloodle_autoenrol_enabled_site" id="functionsloodle_autoenrol_enabled_site"><!-- --></a>
  205. <div class="oddrow">
  206. <div>
  207. <img src="../media/images/Function.png" />
  208. <span class="method-title">sloodle_autoenrol_enabled_site</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a84">84</a></span>)
  209. </div>
  210. <!-- ========== Info from phpDoc block ========= -->
  211. <p class="short-description">Determines whether or not auto-enrolment is allowed for the site.</p>
  212. <ul class="tags">
  213. <li><span class="field">return:</span> True if auto-enrolment is allowed on the site, or false otherwise.</li>
  214. </ul>
  215. <div class="method-signature">
  216. <span class="method-result">bool</span>
  217. <span class="method-name">
  218. sloodle_autoenrol_enabled_site
  219. </span>
  220. ()
  221. </div>
  222. </div>
  223. <a name="functionsloodle_autoreg_enabled_site" id="functionsloodle_autoreg_enabled_site"><!-- --></a>
  224. <div class="evenrow">
  225. <div>
  226. <img src="../media/images/Function.png" />
  227. <span class="method-title">sloodle_autoreg_enabled_site</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a75">75</a></span>)
  228. </div>
  229. <!-- ========== Info from phpDoc block ========= -->
  230. <p class="short-description">Determines whether or not auto-registration is allowed for the site.</p>
  231. <ul class="tags">
  232. <li><span class="field">return:</span> True if auto-reg is allowed on the site, or false otherwise.</li>
  233. </ul>
  234. <div class="method-signature">
  235. <span class="method-result">bool</span>
  236. <span class="method-name">
  237. sloodle_autoreg_enabled_site
  238. </span>
  239. ()
  240. </div>
  241. </div>
  242. <a name="functionsloodle_check_course_module_instance_type" id="functionsloodle_check_course_module_instance_type"><!-- --></a>
  243. <div class="oddrow">
  244. <div>
  245. <img src="../media/images/Function.png" />
  246. <span class="method-title">sloodle_check_course_module_instance_type</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a320">320</a></span>)
  247. </div>
  248. <!-- ========== Info from phpDoc block ========= -->
  249. <p class="short-description">Determines if the specified course module instance is of the named type.</p>
  250. <p class="description"><p>For example, this can check if a particular instance is a &quot;forum&quot; or a &quot;chat&quot;.</p></p>
  251. <ul class="tags">
  252. <li><span class="field">return:</span> True if the module is of the specified type, or false otherwise</li>
  253. </ul>
  254. <div class="method-signature">
  255. <span class="method-result">bool</span>
  256. <span class="method-name">
  257. sloodle_check_course_module_instance_type
  258. </span>
  259. (<span class="var-type">int</span>&nbsp;<span class="var-name">$id</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$module_name</span>)
  260. </div>
  261. <ul class="parameters">
  262. <li>
  263. <span class="var-type">int</span>
  264. <span class="var-name">$id</span><span class="var-description">: The integer ID of a course module instance</span> </li>
  265. <li>
  266. <span class="var-type">string</span>
  267. <span class="var-name">$module_name</span><span class="var-description">: Module type to check (must be the exact name of an installed module, e.g. 'sloodle' or 'quiz')</span> </li>
  268. </ul>
  269. </div>
  270. <a name="functionsloodle_finished_login_coordinates" id="functionsloodle_finished_login_coordinates"><!-- --></a>
  271. <div class="evenrow">
  272. <div>
  273. <img src="../media/images/Function.png" />
  274. <span class="method-title">sloodle_finished_login_coordinates</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a390">390</a></span>)
  275. </div>
  276. <!-- ========== Info from phpDoc block ========= -->
  277. <p class="short-description">Generates teleport coordinates for a user who has already finished the LoginZone process.</p>
  278. <ul class="tags">
  279. <li><span class="field">return:</span> bool An associative array vector containing a teleport location, or false if the operation fails.</li>
  280. </ul>
  281. <div class="method-signature">
  282. <span class="method-result">array,</span>
  283. <span class="method-name">
  284. sloodle_finished_login_coordinates
  285. </span>
  286. (<span class="var-type">string</span>&nbsp;<span class="var-name">$pos</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$size</span>)
  287. </div>
  288. <ul class="parameters">
  289. <li>
  290. <span class="var-type">string</span>
  291. <span class="var-name">$pos</span><span class="var-description">: A string vector giving the position of the LoginZone</span> </li>
  292. <li>
  293. <span class="var-type">string</span>
  294. <span class="var-name">$size</span><span class="var-description">: A string vector giving the size of the LoginZone</span> </li>
  295. </ul>
  296. </div>
  297. <a name="functionsloodle_get_config" id="functionsloodle_get_config"><!-- --></a>
  298. <div class="oddrow">
  299. <div>
  300. <img src="../media/images/Function.png" />
  301. <span class="method-title">sloodle_get_config</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a55">55</a></span>)
  302. </div>
  303. <!-- ========== Info from phpDoc block ========= -->
  304. <p class="short-description">Gets a Sloodle configuration value from Moodle's &quot;config&quot; table.</p>
  305. <p class="description"><p>This function does not necessarily need to be used. All configuration data is available as named members of Moodle's $CFG global variable. <strong>NOTE:</strong> in Sloodle debug mode, this function will terminate the script with an error if the name is not prefixed with &quot;sloodle_&quot;.</p></p>
  306. <ul class="tags">
  307. <li><span class="field">return:</span> A string containing the configuration value, or false if the query failed (e.g. if the named value didn't exist)</li>
  308. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_set_config">sloodle_set_config()</a></li>
  309. </ul>
  310. <div class="method-signature">
  311. <span class="method-result">mixed</span>
  312. <span class="method-name">
  313. sloodle_get_config
  314. </span>
  315. (<span class="var-type">string</span>&nbsp;<span class="var-name">$name</span>)
  316. </div>
  317. <ul class="parameters">
  318. <li>
  319. <span class="var-type">string</span>
  320. <span class="var-name">$name</span><span class="var-description">: The name of the value to be stored (should be prefixed with &quot;sloodle_&quot;)</span> </li>
  321. </ul>
  322. </div>
  323. <a name="functionsloodle_get_course_module_instance" id="functionsloodle_get_course_module_instance"><!-- --></a>
  324. <div class="evenrow">
  325. <div>
  326. <img src="../media/images/Function.png" />
  327. <span class="method-title">sloodle_get_course_module_instance</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a283">283</a></span>)
  328. </div>
  329. <!-- ========== Info from phpDoc block ========= -->
  330. <p class="short-description">Obtains the identified course module instance database record.</p>
  331. <ul class="tags">
  332. <li><span class="field">return:</span> A database record if successful, or false if it could not be found</li>
  333. </ul>
  334. <div class="method-signature">
  335. <span class="method-result">mixed</span>
  336. <span class="method-name">
  337. sloodle_get_course_module_instance
  338. </span>
  339. (<span class="var-type">int</span>&nbsp;<span class="var-name">$id</span>)
  340. </div>
  341. <ul class="parameters">
  342. <li>
  343. <span class="var-type">int</span>
  344. <span class="var-name">$id</span><span class="var-description">: The integer ID of a course module instance</span> </li>
  345. </ul>
  346. </div>
  347. <a name="functionsloodle_get_module_id" id="functionsloodle_get_module_id"><!-- --></a>
  348. <div class="oddrow">
  349. <div>
  350. <img src="../media/images/Function.png" />
  351. <span class="method-title">sloodle_get_module_id</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a341">341</a></span>)
  352. </div>
  353. <!-- ========== Info from phpDoc block ========= -->
  354. <p class="short-description">Obtains the ID number of the specified module (type not instance).</p>
  355. <ul class="tags">
  356. <li><span class="field">return:</span> Integer containing module ID, or false if it is not installed</li>
  357. </ul>
  358. <div class="method-signature">
  359. <span class="method-result">mixed</span>
  360. <span class="method-name">
  361. sloodle_get_module_id
  362. </span>
  363. (<span class="var-type">string</span>&nbsp;<span class="var-name">$name</span>)
  364. </div>
  365. <ul class="parameters">
  366. <li>
  367. <span class="var-type">string</span>
  368. <span class="var-name">$name</span><span class="var-description">: The name of the module type to check, e.g. 'sloodle' or 'forum'</span> </li>
  369. </ul>
  370. </div>
  371. <a name="functionsloodle_get_value" id="functionsloodle_get_value"><!-- --></a>
  372. <div class="evenrow">
  373. <div>
  374. <img src="../media/images/Function.png" />
  375. <span class="method-title">sloodle_get_value</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a661">661</a></span>)
  376. </div>
  377. <!-- ========== Info from phpDoc block ========= -->
  378. <p class="short-description">Extracts a value from a name-value associative array if it is set.</p>
  379. <p class="description"><p>(The array should associate name to value).</p></p>
  380. <ul class="tags">
  381. <li><span class="field">return:</span> The value from the input array, or the $default parameter</li>
  382. </ul>
  383. <div class="method-signature">
  384. <span class="method-result">mixed</span>
  385. <span class="method-name">
  386. sloodle_get_value
  387. </span>
  388. (<span class="var-type">array</span>&nbsp;<span class="var-name">$settings</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$name</span>, [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$default</span> = <span class="var-default">null</span>])
  389. </div>
  390. <ul class="parameters">
  391. <li>
  392. <span class="var-type">array</span>
  393. <span class="var-name">$settings</span><span class="var-description">: The array of names and values</span> </li>
  394. <li>
  395. <span class="var-type">string</span>
  396. <span class="var-name">$name</span><span class="var-description">: The name of the value to retrieve</span> </li>
  397. <li>
  398. <span class="var-type">mixed</span>
  399. <span class="var-name">$default</span><span class="var-description">: The default value to return if the specified value was not found</span> </li>
  400. </ul>
  401. </div>
  402. <a name="functionsloodle_is_course_module_instance_visible" id="functionsloodle_is_course_module_instance_visible"><!-- --></a>
  403. <div class="oddrow">
  404. <div>
  405. <img src="../media/images/Function.png" />
  406. <span class="method-title">sloodle_is_course_module_instance_visible</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a294">294</a></span>)
  407. </div>
  408. <!-- ========== Info from phpDoc block ========= -->
  409. <p class="short-description">Determines whether or not the specified course module instance is visible.</p>
  410. <p class="description"><p>Checks that the instance itself and the course section are both valid.</p></p>
  411. <ul class="tags">
  412. <li><span class="field">return:</span> True if visible, or false if invisible or not found</li>
  413. </ul>
  414. <div class="method-signature">
  415. <span class="method-result">bool</span>
  416. <span class="method-name">
  417. sloodle_is_course_module_instance_visible
  418. </span>
  419. (<span class="var-type">int</span>&nbsp;<span class="var-name">$id</span>)
  420. </div>
  421. <ul class="parameters">
  422. <li>
  423. <span class="var-type">int</span>
  424. <span class="var-name">$id</span><span class="var-description">: The integer ID of a course module instance.</span> </li>
  425. </ul>
  426. </div>
  427. <a name="functionsloodle_is_installed" id="functionsloodle_is_installed"><!-- --></a>
  428. <div class="evenrow">
  429. <div>
  430. <img src="../media/images/Function.png" />
  431. <span class="method-title">sloodle_is_installed</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a179">179</a></span>)
  432. </div>
  433. <!-- ========== Info from phpDoc block ========= -->
  434. <p class="short-description">Determines whether or not Sloodle is installed.</p>
  435. <p class="description"><p>Queries Moodle's modules table for a Sloodle entry. <strong>NOTE:</strong> does not check for the presence of the Sloodle files.</p></p>
  436. <ul class="tags">
  437. <li><span class="field">return:</span> True if Sloodle is installed, or false otherwise.</li>
  438. </ul>
  439. <div class="method-signature">
  440. <span class="method-result">bool</span>
  441. <span class="method-name">
  442. sloodle_is_installed
  443. </span>
  444. ()
  445. </div>
  446. </div>
  447. <a name="functionsloodle_login_notification" id="functionsloodle_login_notification"><!-- --></a>
  448. <div class="oddrow">
  449. <div>
  450. <img src="../media/images/Function.png" />
  451. <span class="method-title">sloodle_login_notification</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a572">572</a></span>)
  452. </div>
  453. <!-- ========== Info from phpDoc block ========= -->
  454. <p class="short-description">Stores a pending login notification for an auto-registered user.</p>
  455. <p class="description"><p>A cron job will process the pending notification queue.</p></p>
  456. <ul class="tags">
  457. <li><span class="field">return:</span> True if successful, or false otherwise</li>
  458. </ul>
  459. <div class="method-signature">
  460. <span class="method-result">bool</span>
  461. <span class="method-name">
  462. sloodle_login_notification
  463. </span>
  464. (<span class="var-type">string</span>&nbsp;<span class="var-name">$destination</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$avatar</span>, <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>)
  465. </div>
  466. <ul class="parameters">
  467. <li>
  468. <span class="var-type">string</span>
  469. <span class="var-name">$destination</span><span class="var-description">: Identifies the destination of the notification (for SL, this will be the object UUID. The send function will construct the email address)</span> </li>
  470. <li>
  471. <span class="var-type">string</span>
  472. <span class="var-name">$avatar</span><span class="var-description">: Identifier for the avatar being notified</span> </li>
  473. <li>
  474. <span class="var-type">string</span>
  475. <span class="var-name">$username</span><span class="var-description">: The username to notify the user of</span> </li>
  476. <li>
  477. <span class="var-type">string</span>
  478. <span class="var-name">$password</span><span class="var-description">: The (plaintext) password to notify the user of</span> </li>
  479. </ul>
  480. </div>
  481. <a name="functionsloodle_login_zone_bounds" id="functionsloodle_login_zone_bounds"><!-- --></a>
  482. <div class="evenrow">
  483. <div>
  484. <img src="../media/images/Function.png" />
  485. <span class="method-title">sloodle_login_zone_bounds</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a471">471</a></span>)
  486. </div>
  487. <!-- ========== Info from phpDoc block ========= -->
  488. <p class="short-description">Calculates the maximum and minimum bounds of the specified LoginZone Returns the bounds as a numeric array of two associate array vectors: ($max, $min).</p>
  489. <p class="description"><p>(Or returns false if no LoginZone position/size could be found in the Moodle configuration table).</p></p>
  490. <div class="method-signature">
  491. <span class="method-result">array</span>
  492. <span class="method-name">
  493. sloodle_login_zone_bounds
  494. </span>
  495. (<span class="var-type">string</span>&nbsp;<span class="var-name">$pos</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$size</span>)
  496. </div>
  497. <ul class="parameters">
  498. <li>
  499. <span class="var-type">string</span>
  500. <span class="var-name">$pos</span><span class="var-description">: A string vector giving the position of the LoginZone</span> </li>
  501. <li>
  502. <span class="var-type">string</span>
  503. <span class="var-name">$size</span><span class="var-description">: A string vector giving the size of the LoginZone</span> </li>
  504. </ul>
  505. </div>
  506. <a name="functionsloodle_position_is_in_login_zone" id="functionsloodle_position_is_in_login_zone"><!-- --></a>
  507. <div class="oddrow">
  508. <div>
  509. <img src="../media/images/Function.png" />
  510. <span class="method-title">sloodle_position_is_in_login_zone</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a358">358</a></span>)
  511. </div>
  512. <!-- ========== Info from phpDoc block ========= -->
  513. <p class="short-description">Checks if the specified position is in the current (site-wide) loginzone.</p>
  514. <ul class="tags">
  515. <li><span class="field">return:</span> True if position is in LoginZone, or false if not</li>
  516. <li><span class="field">see:</span> sloodle_login_zone_coordinates()</li>
  517. <li><span class="field">todo:</span> Update or remove... no longer valid</li>
  518. </ul>
  519. <div class="method-signature">
  520. <span class="method-result">bool</span>
  521. <span class="method-name">
  522. sloodle_position_is_in_login_zone
  523. </span>
  524. (<span class="var-type">mixed</span>&nbsp;<span class="var-name">$pos</span>)
  525. </div>
  526. <ul class="parameters">
  527. <li>
  528. <span class="var-type">mixed</span>
  529. <span class="var-name">$pos</span><span class="var-description">: A string vector or an associated array vector</span> </li>
  530. </ul>
  531. </div>
  532. <a name="functionsloodle_print_access_level_options" id="functionsloodle_print_access_level_options"><!-- --></a>
  533. <div class="evenrow">
  534. <div>
  535. <img src="../media/images/Function.png" />
  536. <span class="method-title">sloodle_print_access_level_options</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a678">678</a></span>)
  537. </div>
  538. <!-- ========== Info from phpDoc block ========= -->
  539. <p class="short-description">Outputs the standard form elements for access levels in object configuration.</p>
  540. <p class="description"><p>Each part can be optionally hidden, and default values can be provided. (Note: the server access level must be communicated from the object back to Moodle... rubbish implementation, but it works!)</p></p>
  541. <div class="method-signature">
  542. <span class="method-result">void</span>
  543. <span class="method-name">
  544. sloodle_print_access_level_options
  545. </span>
  546. (<span class="var-type">array</span>&nbsp;<span class="var-name">$current_config</span>, [<span class="var-type">bool</span>&nbsp;<span class="var-name">$show_use_object</span> = <span class="var-default">true</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$show_control_object</span> = <span class="var-default">true</span>], [<span class="var-type">bool</span>&nbsp;<span class="var-name">$show_server</span> = <span class="var-default">true</span>])
  547. </div>
  548. <ul class="parameters">
  549. <li>
  550. <span class="var-type">array</span>
  551. <span class="var-name">$current_config</span><span class="var-description">: An associative array of setting names to values, containing defaults. (Ignored if null).</span> </li>
  552. <li>
  553. <span class="var-type">bool</span>
  554. <span class="var-name">$show_use_object</span><span class="var-description">: Determines whether or not the &quot;Use Object&quot; setting is shown</span> </li>
  555. <li>
  556. <span class="var-type">bool</span>
  557. <span class="var-name">$show_control_object</span><span class="var-description">: Determines whether or not the &quot;Control Object&quot; setting is shown</span> </li>
  558. <li>
  559. <span class="var-type">bool</span>
  560. <span class="var-name">$show_server</span><span class="var-description">: Determines whether or not the server access setting is shown</span> </li>
  561. </ul>
  562. </div>
  563. <a name="functionsloodle_process_login_notifications" id="functionsloodle_process_login_notifications"><!-- --></a>
  564. <div class="oddrow">
  565. <div>
  566. <img src="../media/images/Function.png" />
  567. <span class="method-title">sloodle_process_login_notifications</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a611">611</a></span>)
  568. </div>
  569. <!-- ========== Info from phpDoc block ========= -->
  570. <p class="short-description">Processes pending login notifications, up to a certain limit.</p>
  571. <p class="description"><p>Retrieves the requests one-at-a-time for processing. This is slower, but ensures minimal damage if the process is terminated, e.g. due to server timeout.</p></p>
  572. <div class="method-signature">
  573. <span class="method-result">void</span>
  574. <span class="method-name">
  575. sloodle_process_login_notifications
  576. </span>
  577. ([<span class="var-type">int</span>&nbsp;<span class="var-name">$limit</span> = <span class="var-default">25</span>])
  578. </div>
  579. <ul class="parameters">
  580. <li>
  581. <span class="var-type">int</span>
  582. <span class="var-name">$limit</span><span class="var-description">: The maximum number of pending requests to process.</span> </li>
  583. </ul>
  584. </div>
  585. <a name="functionsloodle_random_position_in_zone" id="functionsloodle_random_position_in_zone"><!-- --></a>
  586. <div class="evenrow">
  587. <div>
  588. <img src="../media/images/Function.png" />
  589. <span class="method-title">sloodle_random_position_in_zone</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a413">413</a></span>)
  590. </div>
  591. <!-- ========== Info from phpDoc block ========= -->
  592. <p class="short-description">Generates a random position within a cuboid zone of the specified size.</p>
  593. <p class="description"><p>(Note: leaves a 2 metre margin round the outside)</p></p>
  594. <ul class="tags">
  595. <li><span class="field">return:</span> An associative vector array</li>
  596. </ul>
  597. <div class="method-signature">
  598. <span class="method-result">array</span>
  599. <span class="method-name">
  600. sloodle_random_position_in_zone
  601. </span>
  602. (<span class="var-type">array</span>&nbsp;<span class="var-name">$size</span>)
  603. </div>
  604. <ul class="parameters">
  605. <li>
  606. <span class="var-type">array</span>
  607. <span class="var-name">$size</span><span class="var-description">: Associative array giving the size of the zone</span> </li>
  608. </ul>
  609. </div>
  610. <a name="functionsloodle_random_prim_password" id="functionsloodle_random_prim_password"><!-- --></a>
  611. <div class="oddrow">
  612. <div>
  613. <img src="../media/images/Function.png" />
  614. <span class="method-title">sloodle_random_prim_password</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a237">237</a></span>)
  615. </div>
  616. <!-- ========== Info from phpDoc block ========= -->
  617. <p class="short-description">Generates a random prim password (7 to 9 digit number).</p>
  618. <ul class="tags">
  619. <li><span class="field">return:</span> The password as a string</li>
  620. </ul>
  621. <div class="method-signature">
  622. <span class="method-result">string</span>
  623. <span class="method-name">
  624. sloodle_random_prim_password
  625. </span>
  626. ()
  627. </div>
  628. </div>
  629. <a name="functionsloodle_random_security_token" id="functionsloodle_random_security_token"><!-- --></a>
  630. <div class="evenrow">
  631. <div>
  632. <img src="../media/images/Function.png" />
  633. <span class="method-title">sloodle_random_security_token</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a191">191</a></span>)
  634. </div>
  635. <!-- ========== Info from phpDoc block ========= -->
  636. <p class="short-description">Generates a random login security token.</p>
  637. <p class="description"><p>Uses mixed-case letters and numbers to generate a random 16-character string.</p></p>
  638. <ul class="tags">
  639. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_random_web_password">sloodle_random_web_password()</a></li>
  640. </ul>
  641. <div class="method-signature">
  642. <span class="method-result">string</span>
  643. <span class="method-name">
  644. sloodle_random_security_token
  645. </span>
  646. ()
  647. </div>
  648. </div>
  649. <a name="functionsloodle_random_web_password" id="functionsloodle_random_web_password"><!-- --></a>
  650. <div class="oddrow">
  651. <div>
  652. <img src="../media/images/Function.png" />
  653. <span class="method-title">sloodle_random_web_password</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a215">215</a></span>)
  654. </div>
  655. <!-- ========== Info from phpDoc block ========= -->
  656. <p class="short-description">Generates a random web password Uses mixed-case letters and numbers to generate a random 8-character string.</p>
  657. <ul class="tags">
  658. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_random_security_token">sloodle_random_security_token()</a></li>
  659. </ul>
  660. <div class="method-signature">
  661. <span class="method-result">string</span>
  662. <span class="method-name">
  663. sloodle_random_web_password
  664. </span>
  665. ()
  666. </div>
  667. </div>
  668. <a name="functionsloodle_round_vector" id="functionsloodle_round_vector"><!-- --></a>
  669. <div class="evenrow">
  670. <div>
  671. <img src="../media/images/Function.png" />
  672. <span class="method-title">sloodle_round_vector</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a436">436</a></span>)
  673. </div>
  674. <!-- ========== Info from phpDoc block ========= -->
  675. <p class="short-description">Rounds the specified 3d vector integer values.</p>
  676. <p class="description"><p>Can handle/return a string vector, or an array vector. (Output type matches input type).</p></p>
  677. <div class="method-signature">
  678. <span class="method-result">mixed</span>
  679. <span class="method-name">
  680. sloodle_round_vector
  681. </span>
  682. (<span class="var-type">mixed</span>&nbsp;<span class="var-name">$pos</span>)
  683. </div>
  684. <ul class="parameters">
  685. <li>
  686. <span class="var-type">mixed</span>
  687. <span class="var-name">$pos</span><span class="var-description">: Either a string vector or an array vector</span> </li>
  688. </ul>
  689. </div>
  690. <a name="functionsloodle_send_login_notification" id="functionsloodle_send_login_notification"><!-- --></a>
  691. <div class="oddrow">
  692. <div>
  693. <img src="../media/images/Function.png" />
  694. <span class="method-title">sloodle_send_login_notification</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a598">598</a></span>)
  695. </div>
  696. <!-- ========== Info from phpDoc block ========= -->
  697. <p class="short-description">Send a login notification.</p>
  698. <ul class="tags">
  699. <li><span class="field">return:</span> True if successful, or false otherwise</li>
  700. </ul>
  701. <div class="method-signature">
  702. <span class="method-result">bool</span>
  703. <span class="method-name">
  704. sloodle_send_login_notification
  705. </span>
  706. (<span class="var-type">string</span>&nbsp;<span class="var-name">$destination</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$avatar</span>, <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>)
  707. </div>
  708. <ul class="parameters">
  709. <li>
  710. <span class="var-type">string</span>
  711. <span class="var-name">$destination</span><span class="var-description">: Identifies the destination of the notification (for SL, this will be the object UUID. The target email address will be constructed)</span> </li>
  712. <li>
  713. <span class="var-type">string</span>
  714. <span class="var-name">$avatar</span><span class="var-description">: Identifier for the avatar being notified</span> </li>
  715. <li>
  716. <span class="var-type">string</span>
  717. <span class="var-name">$username</span><span class="var-description">: The username to notify the user of</span> </li>
  718. <li>
  719. <span class="var-type">string</span>
  720. <span class="var-name">$password</span><span class="var-description">: The (plaintext) password to notify the user of</span> </li>
  721. </ul>
  722. </div>
  723. <a name="functionsloodle_send_xmlrpc_message" id="functionsloodle_send_xmlrpc_message"><!-- --></a>
  724. <div class="evenrow">
  725. <div>
  726. <img src="../media/images/Function.png" />
  727. <span class="method-title">sloodle_send_xmlrpc_message</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a96">96</a></span>)
  728. </div>
  729. <!-- ========== Info from phpDoc block ========= -->
  730. <p class="short-description">Sends an XMLRPC message into Second Life.</p>
  731. <ul class="tags">
  732. <li><span class="field">return:</span> True if successful, or false if an error occurs</li>
  733. </ul>
  734. <div class="method-signature">
  735. <span class="method-result">bool</span>
  736. <span class="method-name">
  737. sloodle_send_xmlrpc_message
  738. </span>
  739. (<span class="var-type">string</span>&nbsp;<span class="var-name">$channel</span>, <span class="var-type">int</span>&nbsp;<span class="var-name">$intval</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$strval</span>)
  740. </div>
  741. <ul class="parameters">
  742. <li>
  743. <span class="var-type">string</span>
  744. <span class="var-name">$channel</span><span class="var-description">: A string containing a UUID identifying the XMLRPC channel in SL to be used</span> </li>
  745. <li>
  746. <span class="var-type">int</span>
  747. <span class="var-name">$intval</span><span class="var-description">: An integer value to be sent in the message</span> </li>
  748. <li>
  749. <span class="var-type">string</span>
  750. <span class="var-name">$strval</span><span class="var-description">: A string value to be sent in the message</span> </li>
  751. </ul>
  752. </div>
  753. <a name="functionsloodle_set_config" id="functionsloodle_set_config"><!-- --></a>
  754. <div class="oddrow">
  755. <div>
  756. <img src="../media/images/Function.png" />
  757. <span class="method-title">sloodle_set_config</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a34">34</a></span>)
  758. </div>
  759. <!-- ========== Info from phpDoc block ========= -->
  760. <p class="short-description">Sets a Sloodle configuration value.</p>
  761. <p class="description"><p>This data will be stored in Moodle's &quot;config&quot; table, so it will persist even after Sloodle is uninstalled. After being set, it will be available (read-only) as a named member of Moodle's $CFG variable. <strong>NOTE:</strong> in Sloodle debug mode, this function will terminate the script with an error if the name is not prefixed with &quot;sloodle_&quot;.</p></p>
  762. <ul class="tags">
  763. <li><span class="field">return:</span> True on success, or false on failure (may fail if database query encountered an error)</li>
  764. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_get_config">sloodle_get_config()</a></li>
  765. </ul>
  766. <div class="method-signature">
  767. <span class="method-result">bool</span>
  768. <span class="method-name">
  769. sloodle_set_config
  770. </span>
  771. (<span class="var-type">string</span>&nbsp;<span class="var-name">$name</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$value</span>)
  772. </div>
  773. <ul class="parameters">
  774. <li>
  775. <span class="var-type">string</span>
  776. <span class="var-name">$name</span><span class="var-description">: The name of the value to be stored (should be prefixed with &quot;sloodle_&quot;)</span> </li>
  777. <li>
  778. <span class="var-type">string</span>
  779. <span class="var-name">$value</span><span class="var-description">: The string representation of the value to be stored</span> </li>
  780. </ul>
  781. </div>
  782. <a name="functionsloodle_validate_prim_password" id="functionsloodle_validate_prim_password"><!-- --></a>
  783. <div class="evenrow">
  784. <div>
  785. <img src="../media/images/Function.png" />
  786. <span class="method-title">sloodle_validate_prim_password</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a499">499</a></span>)
  787. </div>
  788. <!-- ========== Info from phpDoc block ========= -->
  789. <p class="short-description">Checks if the given prim password is valid.</p>
  790. <ul class="tags">
  791. <li><span class="field">return:</span> True if it is valid, or false otherwise.</li>
  792. </ul>
  793. <div class="method-signature">
  794. <span class="method-result">bool</span>
  795. <span class="method-name">
  796. sloodle_validate_prim_password
  797. </span>
  798. (<span class="var-type">string</span>&nbsp;<span class="var-name">$password</span>)
  799. </div>
  800. <ul class="parameters">
  801. <li>
  802. <span class="var-type">string</span>
  803. <span class="var-name">$password</span><span class="var-description">: The password string to check</span> </li>
  804. </ul>
  805. </div>
  806. <a name="functionsloodle_validate_prim_password_verbose" id="functionsloodle_validate_prim_password_verbose"><!-- --></a>
  807. <div class="oddrow">
  808. <div>
  809. <img src="../media/images/Function.png" />
  810. <span class="method-title">sloodle_validate_prim_password_verbose</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a525">525</a></span>)
  811. </div>
  812. <!-- ========== Info from phpDoc block ========= -->
  813. <p class="short-description">Checks if the given prim password is valid, and provides feedback.</p>
  814. <p class="description"><p>An array is written to by reference, each element containing error codes. Each error code is a word. The full text of the error message may be obtained from the string file by looking for &quot;primpass:errorcode&quot;.</p></p>
  815. <ul class="tags">
  816. <li><span class="field">return:</span> True if the prim password is valid, or false otherwise</li>
  817. </ul>
  818. <div class="method-signature">
  819. <span class="method-result">bool</span>
  820. <span class="method-name">
  821. sloodle_validate_prim_password_verbose
  822. </span>
  823. (<span class="var-type">string</span>&nbsp;<span class="var-name">$password</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">&$errors</span>)
  824. </div>
  825. <ul class="parameters">
  826. <li>
  827. <span class="var-type">string</span>
  828. <span class="var-name">$password</span><span class="var-description">: The password to validate</span> </li>
  829. <li>
  830. <span class="var-type">array</span>
  831. <span class="var-name">&$errors</span><span class="var-description">: An array (passed by reference) which will contain any error messages</span> </li>
  832. </ul>
  833. </div>
  834. <a name="functionsloodle_vector_to_array" id="functionsloodle_vector_to_array"><!-- --></a>
  835. <div class="evenrow">
  836. <div>
  837. <img src="../media/images/Function.png" />
  838. <span class="method-title">sloodle_vector_to_array</span> (line <span class="line-number"><a href="../__filesource/fsource_sloodle__sloodlelibgeneral.php.html#a252">252</a></span>)
  839. </div>
  840. <!-- ========== Info from phpDoc block ========= -->
  841. <p class="short-description">Converts a string vector to an array vector.</p>
  842. <p class="description"><p>String vector should be of format &quot;&lt;x,y,z&gt;&quot;. Converts to associative array with members 'x', 'y', and 'z'. Returns false if input parameter was not of correct format.</p></p>
  843. <ul class="tags">
  844. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_round_vector">sloodle_round_vector()</a></li>
  845. <li><span class="field">see:</span> <a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_array_to_vector">sloodle_array_to_vector()</a></li>
  846. </ul>
  847. <div class="method-signature">
  848. <span class="method-result">mixed</span>
  849. <span class="method-name">
  850. sloodle_vector_to_array
  851. </span>
  852. (<span class="var-type">string</span>&nbsp;<span class="var-name">$vector</span>)
  853. </div>
  854. <ul class="parameters">
  855. <li>
  856. <span class="var-type">string</span>
  857. <span class="var-name">$vector</span><span class="var-description">: A string vector of format &quot;&lt;x,y,z&gt;&quot;.</span> </li>
  858. </ul>
  859. </div>
  860. </div>
  861. </div>
  862. <p class="notes" id="credit">
  863. Documentation generated on Mon, 16 Jun 2008 15:56:19 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a>
  864. </p>
  865. </div></body>
  866. </html>