fsource_sloodle__libmodules.php.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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>File Source for modules.php</title>
  7. <link rel="stylesheet" href="../media/stylesheet.css" />
  8. </head>
  9. <body>
  10. <h1>Source for file modules.php</h1>
  11. <p>Documentation is available at <a href="../sloodle/_lib---modules.php.html">modules.php</a></p>
  12. <div class="src-code">
  13. <div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php">&lt;?php</span></div></li>
  14. <li><div class="src-line"><a name="a2"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;the&nbsp;Sloodle&nbsp;project&nbsp;(www.sloodle.org)</span></div></li>
  15. <li><div class="src-line"><a name="a3"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  16. <li><div class="src-line"><a name="a4"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**</span></div></li>
  17. <li><div class="src-line"><a name="a5"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;file&nbsp;brings&nbsp;all&nbsp;of&nbsp;the&nbsp;Sloodle&nbsp;module&nbsp;classes&nbsp;together.</span></div></li>
  18. <li><div class="src-line"><a name="a6"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;It&nbsp;also&nbsp;provides&nbsp;functionality&nbsp;to&nbsp;create&nbsp;and&nbsp;load&nbsp;different&nbsp;module&nbsp;types.</span></div></li>
  19. <li><div class="src-line"><a name="a7"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*</span></div></li>
  20. <li><div class="src-line"><a name="a8"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@package</span><span class="src-doc">&nbsp;sloodle</span></div></li>
  21. <li><div class="src-line"><a name="a9"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@copyright</span><span class="src-doc">&nbsp;Copyright&nbsp;(c)&nbsp;2008&nbsp;Sloodle&nbsp;(various&nbsp;contributors)</span></div></li>
  22. <li><div class="src-line"><a name="a10"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@license</span><span class="src-doc">&nbsp;http://www.gnu.org/licenses/gpl-3.0.html&nbsp;GNU&nbsp;GPL&nbsp;v3</span></div></li>
  23. <li><div class="src-line"><a name="a11"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*</span></div></li>
  24. <li><div class="src-line"><a name="a12"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-tag">@contributor</span><span class="src-doc">&nbsp;Peter&nbsp;R.&nbsp;Bloomfield</span></div></li>
  25. <li><div class="src-line"><a name="a13"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></div></li>
  26. <li><div class="src-line"><a name="a14"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  27. <li><div class="src-line"><a name="a15"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  28. <li><div class="src-line"><a name="a16"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**&nbsp;Base&nbsp;module.&nbsp;*/</span></div></li>
  29. <li><div class="src-line"><a name="a17"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-inc">require_once</span><span class="src-sym">(</span><span class="src-id">SLOODLE_LIBROOT</span>.<span class="src-str">'/modules/module_base.php'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  30. <li><div class="src-line"><a name="a18"></a>&nbsp;</div></li>
  31. <li><div class="src-line"><a name="a19"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  32. <li><div class="src-line"><a name="a20"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Now&nbsp;we&nbsp;will&nbsp;go&nbsp;through&nbsp;every&nbsp;file&nbsp;in&nbsp;the&nbsp;&quot;lib/modules&quot;&nbsp;folder&nbsp;which&nbsp;starts&nbsp;&quot;module_&quot;,&nbsp;and&nbsp;include&nbsp;it.</span></div></li>
  33. <li><div class="src-line"><a name="a21"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$MODULESPATH&nbsp;</span>=&nbsp;<span class="src-id"><a href="../sloodle/_sl_config.php.html#defineSLOODLE_LIBROOT">SLOODLE_LIBROOT</a></span>.<span class="src-str">'/modules'</span><span class="src-sym">;</span></div></li>
  34. <li><div class="src-line"><a name="a22"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$modulefiles&nbsp;</span>=&nbsp;<a href="../sloodle/_lib---general.php.html#functionsloodle_get_files">sloodle_get_files</a><span class="src-sym">(</span><span class="src-var">$MODULESPATH</span><span class="src-sym">,&nbsp;</span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  35. <li><div class="src-line"><a name="a23"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Go&nbsp;through&nbsp;each&nbsp;file</span></div></li>
  36. <li><div class="src-line"><a name="a24"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$modulefiles</span><span class="src-sym">))&nbsp;</span><span class="src-sym">{</span></div></li>
  37. <li><div class="src-line"><a name="a25"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">foreach&nbsp;</span><span class="src-sym">(</span><span class="src-var">$modulefiles&nbsp;</span><span class="src-key">as&nbsp;</span><span class="src-var">$mf</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  38. <li><div class="src-line"><a name="a26"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Does&nbsp;this&nbsp;filename&nbsp;start&nbsp;with&nbsp;&quot;module_&quot;&nbsp;and&nbsp;end&nbsp;with&nbsp;&quot;.php&quot;?</span></div></li>
  39. <li><div class="src-line"><a name="a27"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><a href="http://www.php.net/strcasecmp">strcasecmp</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$mf</span><span class="src-sym">,&nbsp;</span><span class="src-num">0</span><span class="src-sym">,&nbsp;</span><span class="src-num">7</span><span class="src-sym">)</span><span class="src-sym">,&nbsp;</span><span class="src-str">'module_'</span><span class="src-sym">)&nbsp;</span>==&nbsp;<span class="src-num">0&nbsp;</span>&amp;&amp;&nbsp;<a href="http://www.php.net/strcasecmp">strcasecmp</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$mf</span><span class="src-sym">,&nbsp;</span>-<span class="src-num">4</span><span class="src-sym">)</span><span class="src-sym">,&nbsp;</span><span class="src-str">'.php'</span><span class="src-sym">)&nbsp;</span>==&nbsp;<span class="src-num">0</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  40. <li><div class="src-line"><a name="a28"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Yes&nbsp;-&nbsp;include&nbsp;it</span></div></li>
  41. <li><div class="src-line"><a name="a29"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-inc">include_once</span><span class="src-sym">(</span><span class="src-var">$MODULESPATH</span>.<span class="src-str">'/'</span>.<span class="src-var">$mf</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  42. <li><div class="src-line"><a name="a30"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  43. <li><div class="src-line"><a name="a31"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  44. <li><div class="src-line"><a name="a32"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  45. <li><div class="src-line"><a name="a33"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  46. <li><div class="src-line"><a name="a34"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;We&nbsp;will&nbsp;store&nbsp;an&nbsp;associative&nbsp;array&nbsp;of&nbsp;module&nbsp;types&nbsp;to&nbsp;module&nbsp;class&nbsp;names</span></div></li>
  47. <li><div class="src-line"><a name="a35"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;e.g.&nbsp;{&nbsp;'chat'=&gt;'SloodleModuleChat',&nbsp;'distributor'=&gt;'SloodleModuleDistributor',&nbsp;...}</span></div></li>
  48. <li><div class="src-line"><a name="a36"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">global&nbsp;</span><span class="src-var">$SLOODLE_MODULE_CLASS</span><span class="src-sym">;</span></div></li>
  49. <li><div class="src-line"><a name="a37"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$SLOODLE_MODULE_CLASS&nbsp;</span>=&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  50. <li><div class="src-line"><a name="a38"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Go&nbsp;through&nbsp;each&nbsp;declared&nbsp;class</span></div></li>
  51. <li><div class="src-line"><a name="a39"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$allclasses&nbsp;</span>=&nbsp;<a href="http://www.php.net/get_declared_classes">get_declared_classes</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  52. <li><div class="src-line"><a name="a40"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">foreach&nbsp;</span><span class="src-sym">(</span><span class="src-var">$allclasses&nbsp;</span><span class="src-key">as&nbsp;</span><span class="src-var">$c</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  53. <li><div class="src-line"><a name="a41"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Is&nbsp;this&nbsp;class&nbsp;a&nbsp;subclass&nbsp;of&nbsp;the&nbsp;Sloodle&nbsp;Module&nbsp;type?</span></div></li>
  54. <li><div class="src-line"><a name="a42"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><a href="http://www.php.net/strcasecmp">strcasecmp</a><span class="src-sym">(</span><a href="http://www.php.net/get_parent_class">get_parent_class</a><span class="src-sym">(</span><span class="src-var">$c</span><span class="src-sym">)</span><span class="src-sym">,&nbsp;</span><span class="src-str">'SloodleModule'</span><span class="src-sym">)&nbsp;</span>==&nbsp;<span class="src-num">0</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  55. <li><div class="src-line"><a name="a43"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Fetch&nbsp;the&nbsp;type&nbsp;name</span></div></li>
  56. <li><div class="src-line"><a name="a44"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$curtype&nbsp;</span>=&nbsp;<a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$c</span><span class="src-sym">,&nbsp;</span><span class="src-str">'get_type'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
  57. <li><div class="src-line"><a name="a45"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$curtype</span><span class="src-sym">))&nbsp;</span><span class="src-sym">{</span></div></li>
  58. <li><div class="src-line"><a name="a46"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Add&nbsp;it&nbsp;to&nbsp;our&nbsp;array&nbsp;with&nbsp;its&nbsp;type</span></div></li>
  59. <li><div class="src-line"><a name="a47"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$SLOODLE_MODULE_CLASS</span><span class="src-sym">[</span><span class="src-var">$curtype</span><span class="src-sym">]&nbsp;</span>=&nbsp;<span class="src-var">$c</span><span class="src-sym">;</span></div></li>
  60. <li><div class="src-line"><a name="a48"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  61. <li><div class="src-line"><a name="a49"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  62. <li><div class="src-line"><a name="a50"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  63. <li><div class="src-line"><a name="a51"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  64. <li><div class="src-line"><a name="a52"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  65. <li><div class="src-line"><a name="a53"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**</span></div></li>
  66. <li><div class="src-line"><a name="a54"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Constructs&nbsp;a&nbsp;appropriate&nbsp;Sloodle&nbsp;module&nbsp;object&nbsp;based&nbsp;on&nbsp;the&nbsp;named&nbsp;type.</span></div></li>
  67. <li><div class="src-line"><a name="a55"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@param&nbsp;</span><span class="src-doc-type">string&nbsp;</span><span class="src-doc-var">$type&nbsp;</span><span class="src-doc">The&nbsp;type&nbsp;of&nbsp;module&nbsp;to&nbsp;construct&nbsp;-&nbsp;typically&nbsp;a&nbsp;short&nbsp;name,&nbsp;such&nbsp;as&nbsp;'chat'&nbsp;or&nbsp;'blog'</span></div></li>
  68. <li><div class="src-line"><a name="a56"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@param&nbsp;</span><span class="src-doc-type">SloodleSession&nbsp;</span><span class="src-doc-var">&amp;$_session&nbsp;</span><span class="src-doc">The&nbsp;</span><span class="src-doc-inlinetag">{@link&nbsp;SloodleSession}</span><span class="src-doc">&nbsp;object&nbsp;to&nbsp;pass&nbsp;to&nbsp;the&nbsp;module&nbsp;on&nbsp;construction,&nbsp;or&nbsp;just&nbsp;null</span></div></li>
  69. <li><div class="src-line"><a name="a57"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@param&nbsp;</span><span class="src-doc-type">mixed&nbsp;</span><span class="src-doc-var">$id&nbsp;</span><span class="src-doc">The&nbsp;identifier&nbsp;of&nbsp;the&nbsp;module&nbsp;instance&nbsp;to&nbsp;load&nbsp;from&nbsp;the&nbsp;database&nbsp;(or&nbsp;null&nbsp;if&nbsp;there&nbsp;is&nbsp;no&nbsp;module&nbsp;data)</span></div></li>
  70. <li><div class="src-line"><a name="a58"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@return&nbsp;</span><span class="src-doc-type">SloodleModule</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc">Returns&nbsp;the&nbsp;cosntructed&nbsp;module&nbsp;object,&nbsp;or&nbsp;false&nbsp;if&nbsp;it&nbsp;fails</span></div></li>
  71. <li><div class="src-line"><a name="a59"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></div></li>
  72. <li><div class="src-line"><a name="a60"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">function&nbsp;</span><a href="../sloodle/_lib---modules.php.html#functionsloodle_load_module">sloodle_load_module</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">,&nbsp;</span><span class="src-sym">&amp;</span><span class="src-var">$_session</span><span class="src-sym">,&nbsp;</span><span class="src-var">$id&nbsp;</span>=&nbsp;<span class="src-id">null</span><span class="src-sym">)</span></div></li>
  73. <li><div class="src-line"><a name="a61"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">{</span></div></li>
  74. <li><div class="src-line"><a name="a62"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">global&nbsp;</span><span class="src-var">$SLOODLE_MODULE_CLASS</span><span class="src-sym">;</span></div></li>
  75. <li><div class="src-line"><a name="a63"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  76. <li><div class="src-line"><a name="a64"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Abort&nbsp;if&nbsp;the&nbsp;type&nbsp;is&nbsp;not&nbsp;recognised</span></div></li>
  77. <li><div class="src-line"><a name="a65"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/array_key_exists">array_key_exists</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">,&nbsp;</span><span class="src-var">$SLOODLE_MODULE_CLASS</span><span class="src-sym">))&nbsp;</span><span class="src-sym">{</span></div></li>
  78. <li><div class="src-line"><a name="a66"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../sloodle/_sl_config.php.html#functionsloodle_debug">sloodle_debug</a><span class="src-sym">(</span><span class="src-str">&quot;</span><span class="src-str">Module&nbsp;load&nbsp;failed&nbsp;-&nbsp;type&nbsp;\&quot;<span class="src-var">$type</span>\&quot;&nbsp;not&nbsp;recognised.&lt;br/&gt;</span><span class="src-str">&quot;</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  79. <li><div class="src-line"><a name="a67"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">return&nbsp;</span><span class="src-id">false</span><span class="src-sym">;</span></div></li>
  80. <li><div class="src-line"><a name="a68"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  81. <li><div class="src-line"><a name="a69"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Construct&nbsp;the&nbsp;object,&nbsp;based&nbsp;on&nbsp;the&nbsp;class&nbsp;name&nbsp;in&nbsp;our&nbsp;array</span></div></li>
  82. <li><div class="src-line"><a name="a70"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$module&nbsp;</span>=&nbsp;<span class="src-key">new&nbsp;</span><span class="src-var">$SLOODLE_MODULE_CLASS</span><span class="src-sym">[</span><span class="src-var">$type</span><span class="src-sym">]</span><span class="src-sym">(</span><span class="src-var">$_session</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  83. <li><div class="src-line"><a name="a71"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  84. <li><div class="src-line"><a name="a72"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Load&nbsp;the&nbsp;data&nbsp;from&nbsp;the&nbsp;database,&nbsp;if&nbsp;necessary</span></div></li>
  85. <li><div class="src-line"><a name="a73"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$id&nbsp;</span>!=&nbsp;<span class="src-id">null</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  86. <li><div class="src-line"><a name="a74"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$module</span><span class="src-sym">-&gt;</span><span class="src-id">load</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">))&nbsp;</span><span class="src-key">return&nbsp;</span><span class="src-var">$module</span><span class="src-sym">;</span></div></li>
  87. <li><div class="src-line"><a name="a75"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../sloodle/_sl_config.php.html#functionsloodle_debug">sloodle_debug</a><span class="src-sym">(</span><span class="src-str">&quot;</span><span class="src-str">Failed&nbsp;to&nbsp;load&nbsp;module&nbsp;data&nbsp;from&nbsp;database&nbsp;with&nbsp;ID&nbsp;<span class="src-var">$id</span>.&lt;br/&gt;</span><span class="src-str">&quot;</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  88. <li><div class="src-line"><a name="a76"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">return&nbsp;</span><span class="src-id">false</span><span class="src-sym">;</span></div></li>
  89. <li><div class="src-line"><a name="a77"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  90. <li><div class="src-line"><a name="a78"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  91. <li><div class="src-line"><a name="a79"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Everything&nbsp;seems&nbsp;OK</span></div></li>
  92. <li><div class="src-line"><a name="a80"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">return&nbsp;</span><span class="src-var">$module</span><span class="src-sym">;</span></div></li>
  93. <li><div class="src-line"><a name="a81"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  94. <li><div class="src-line"><a name="a82"></a>&nbsp;</div></li>
  95. <li><div class="src-line"><a name="a83"></a><span class="src-php">?&gt;</span></div></li>
  96. </ol></div>
  97. </div>
  98. <p class="notes" id="credit">
  99. Documentation generated on Mon, 07 Jul 2008 12:32:47 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a>
  100. </p>
  101. </body>
  102. </html>