fsource_sloodlechat__sloodlemodprimdrop-1.0linker.php.html 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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 linker.php</title>
  7. <link rel="stylesheet" href="../media/stylesheet.css" />
  8. </head>
  9. <body>
  10. <h1>Source for file linker.php</h1>
  11. <p>Documentation is available at <a href="../sloodlechat/_sloodle---mod---primdrop-1.0---linker.php.html">linker.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-doc">/**</span></div></li>
  15. <li><div class="src-line"><a name="a3"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Sloodle&nbsp;PrimDrop&nbsp;linker&nbsp;(for&nbsp;Sloodle&nbsp;0.3).</span></div></li>
  16. <li><div class="src-line"><a name="a4"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Allows&nbsp;a&nbsp;Sloodle&nbsp;PrimDrop&nbsp;object&nbsp;to&nbsp;interact&nbsp;with&nbsp;a&nbsp;'Sloodle&nbsp;Object'&nbsp;assignment&nbsp;type.</span></div></li>
  17. <li><div class="src-line"><a name="a5"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*</span></div></li>
  18. <li><div class="src-line"><a name="a6"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span class="src-doc-coretag">@package</span><span class="src-doc">&nbsp;sloodlechat</span></div></li>
  19. <li><div class="src-line"><a name="a7"></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;2007-8&nbsp;Sloodle&nbsp;(various&nbsp;contributors)</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">@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>
  21. <li><div class="src-line"><a name="a9"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*</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-tag">@contributor</span><span class="src-doc">&nbsp;Jeremy&nbsp;Kemp</span></div></li>
  23. <li><div class="src-line"><a name="a11"></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>
  24. <li><div class="src-line"><a name="a12"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></div></li>
  25. <li><div class="src-line"><a name="a13"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  26. <li><div class="src-line"><a name="a14"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;This&nbsp;script&nbsp;should&nbsp;be&nbsp;called&nbsp;with&nbsp;the&nbsp;following&nbsp;parameters:</span></div></li>
  27. <li><div class="src-line"><a name="a15"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodlecontrollerid&nbsp;=&nbsp;ID&nbsp;of&nbsp;a&nbsp;Sloodle&nbsp;Controller&nbsp;through&nbsp;which&nbsp;to&nbsp;access&nbsp;Moodle</span></div></li>
  28. <li><div class="src-line"><a name="a16"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodlepwd&nbsp;=&nbsp;the&nbsp;prim&nbsp;password&nbsp;or&nbsp;object-specific&nbsp;session&nbsp;key&nbsp;to&nbsp;authenticate&nbsp;the&nbsp;request</span></div></li>
  29. <li><div class="src-line"><a name="a17"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodlemoduleid&nbsp;=&nbsp;cmID&nbsp;of&nbsp;an&nbsp;assignment</span></div></li>
  30. <li><div class="src-line"><a name="a18"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  31. <li><div class="src-line"><a name="a19"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;If&nbsp;accessed&nbsp;with&nbsp;only&nbsp;the&nbsp;above&nbsp;paramters,&nbsp;then&nbsp;the&nbsp;script&nbsp;will&nbsp;return&nbsp;information&nbsp;about&nbsp;the&nbsp;assignment.</span></div></li>
  32. <li><div class="src-line"><a name="a20"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Status&nbsp;code&nbsp;will&nbsp;be&nbsp;1,&nbsp;and&nbsp;the&nbsp;first&nbsp;data&nbsp;line&nbsp;will&nbsp;contain&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;assignment.</span></div></li>
  33. <li><div class="src-line"><a name="a21"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;The&nbsp;second&nbsp;data&nbsp;line&nbsp;will&nbsp;contain&nbsp;the&nbsp;description&nbsp;of&nbsp;the&nbsp;assignment.</span></div></li>
  34. <li><div class="src-line"><a name="a22"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  35. <li><div class="src-line"><a name="a23"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;To&nbsp;check&nbsp;whether&nbsp;or&nbsp;not&nbsp;a&nbsp;user&nbsp;can&nbsp;submit&nbsp;an&nbsp;assignment,&nbsp;the&nbsp;following&nbsp;details&nbsp;should&nbsp;also&nbsp;be&nbsp;provided:</span></div></li>
  36. <li><div class="src-line"><a name="a24"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleuuid&nbsp;=&nbsp;UUID&nbsp;of&nbsp;the&nbsp;avatar&nbsp;who&nbsp;created&nbsp;the&nbsp;submission</span></div></li>
  37. <li><div class="src-line"><a name="a25"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleavname&nbsp;=&nbsp;name&nbsp;of&nbsp;the&nbsp;avatar&nbsp;who&nbsp;created&nbsp;the&nbsp;submission</span></div></li>
  38. <li><div class="src-line"><a name="a26"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  39. <li><div class="src-line"><a name="a27"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;The&nbsp;status&nbsp;code&nbsp;returned&nbsp;will&nbsp;be&nbsp;as&nbsp;follows&nbsp;(no&nbsp;data):</span></div></li>
  40. <li><div class="src-line"><a name="a28"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;1&nbsp;=&nbsp;OK</span></div></li>
  41. <li><div class="src-line"><a name="a29"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-10201&nbsp;=&nbsp;User&nbsp;is&nbsp;not&nbsp;authorised&nbsp;to&nbsp;submit&nbsp;assignments</span></div></li>
  42. <li><div class="src-line"><a name="a30"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-10202&nbsp;=&nbsp;Assignment&nbsp;is&nbsp;not&nbsp;yet&nbsp;open&nbsp;for&nbsp;submissions</span></div></li>
  43. <li><div class="src-line"><a name="a31"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-10203&nbsp;=&nbsp;Assignment&nbsp;due&nbsp;date&nbsp;has&nbsp;passed,&nbsp;and&nbsp;is&nbsp;closed&nbsp;for&nbsp;submissions</span></div></li>
  44. <li><div class="src-line"><a name="a32"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-10204&nbsp;=&nbsp;Assignment&nbsp;due&nbsp;date&nbsp;has&nbsp;passed,&nbsp;but&nbsp;is&nbsp;still&nbsp;accepting&nbsp;submissions</span></div></li>
  45. <li><div class="src-line"><a name="a33"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-10205&nbsp;=&nbsp;User&nbsp;has&nbsp;already&nbsp;submitted,&nbsp;and&nbsp;resubmissions&nbsp;are&nbsp;not&nbsp;being&nbsp;accepted</span></div></li>
  46. <li><div class="src-line"><a name="a34"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  47. <li><div class="src-line"><a name="a35"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;To&nbsp;report&nbsp;a&nbsp;submission,&nbsp;the&nbsp;following&nbsp;parameters&nbsp;(in&nbsp;addition&nbsp;to&nbsp;all&nbsp;above)&nbsp;should&nbsp;be&nbsp;provided:</span></div></li>
  48. <li><div class="src-line"><a name="a36"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleobjname&nbsp;=&nbsp;Name&nbsp;of&nbsp;the&nbsp;object&nbsp;being&nbsp;submitted</span></div></li>
  49. <li><div class="src-line"><a name="a37"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleprimcount&nbsp;=&nbsp;Number&nbsp;of&nbsp;prims&nbsp;in&nbsp;the&nbsp;object&nbsp;being&nbsp;submitted</span></div></li>
  50. <li><div class="src-line"><a name="a38"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleprimdropname&nbsp;=&nbsp;Name&nbsp;of&nbsp;the&nbsp;PrimDrop&nbsp;object&nbsp;being&nbsp;submitted&nbsp;to</span></div></li>
  51. <li><div class="src-line"><a name="a39"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleprimdropuuid&nbsp;=&nbsp;UUID&nbsp;of&nbsp;the&nbsp;PrimDrop&nbsp;object&nbsp;being&nbsp;submitted&nbsp;to</span></div></li>
  52. <li><div class="src-line"><a name="a40"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleregion&nbsp;=&nbsp;region&nbsp;in&nbsp;which&nbsp;the&nbsp;PrimDrop&nbsp;is&nbsp;located</span></div></li>
  53. <li><div class="src-line"><a name="a41"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodlepos&nbsp;=&nbsp;position&nbsp;of&nbsp;the&nbsp;PrimDrop&nbsp;(vector&nbsp;&lt;x,y,z&gt;)</span></div></li>
  54. <li><div class="src-line"><a name="a42"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  55. <li><div class="src-line"><a name="a43"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;If&nbsp;the&nbsp;submission&nbsp;was&nbsp;successful,&nbsp;the&nbsp;status&nbsp;code&nbsp;will&nbsp;be&nbsp;1.</span></div></li>
  56. <li><div class="src-line"><a name="a44"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Otherwise,&nbsp;the&nbsp;codes&nbsp;above&nbsp;may&nbsp;be&nbsp;returned&nbsp;(although&nbsp;-10204&nbsp;will&nbsp;only&nbsp;appear&nbsp;as&nbsp;a&nbsp;side&nbsp;effect).</span></div></li>
  57. <li><div class="src-line"><a name="a45"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Status&nbsp;code&nbsp;-103&nbsp;will&nbsp;appear&nbsp;if&nbsp;some&nbsp;assignment&nbsp;submission&nbsp;to&nbsp;the&nbsp;database&nbsp;fails.</span></div></li>
  58. <li><div class="src-line"><a name="a46"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  59. <li><div class="src-line"><a name="a47"></a>&nbsp;</div></li>
  60. <li><div class="src-line"><a name="a48"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**&nbsp;Lets&nbsp;Sloodle&nbsp;know&nbsp;we&nbsp;are&nbsp;in&nbsp;a&nbsp;linker&nbsp;script.&nbsp;*/</span></div></li>
  61. <li><div class="src-line"><a name="a49"></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.php.net/define">define</a><span class="src-sym">(</span><span class="src-str">'SLOODLE_LINKER_SCRIPT'</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>
  62. <li><div class="src-line"><a name="a50"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  63. <li><div class="src-line"><a name="a51"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**&nbsp;Grab&nbsp;the&nbsp;Sloodle/Moodle&nbsp;configuration.&nbsp;*/</span></div></li>
  64. <li><div class="src-line"><a name="a52"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-inc">require_once</span><span class="src-sym">(</span><span class="src-str">'../../sl_config.php'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  65. <li><div class="src-line"><a name="a53"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**&nbsp;Include&nbsp;the&nbsp;Sloodle&nbsp;PHP&nbsp;API.&nbsp;*/</span></div></li>
  66. <li><div class="src-line"><a name="a54"></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">'/sloodle_session.php'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  67. <li><div class="src-line"><a name="a55"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  68. <li><div class="src-line"><a name="a56"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Authenticate&nbsp;the&nbsp;request,&nbsp;load&nbsp;the&nbsp;Sloodle&nbsp;Object&nbsp;assignment&nbsp;module,&nbsp;and&nbsp;validate&nbsp;the&nbsp;user</span></div></li>
  69. <li><div class="src-line"><a name="a57"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle&nbsp;</span>=&nbsp;<span class="src-key">new&nbsp;</span><span class="src-id"><a href="../sloodle/SloodleSession.html">SloodleSession</a></span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  70. <li><div class="src-line"><a name="a58"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">authenticate_request</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  71. <li><div class="src-line"><a name="a59"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">load_module</span><span class="src-sym">(</span><span class="src-str">'sloodleobject'</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>
  72. <li><div class="src-line"><a name="a60"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  73. <li><div class="src-line"><a name="a61"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Has&nbsp;user&nbsp;data&nbsp;been&nbsp;omitted?</span></div></li>
  74. <li><div class="src-line"><a name="a62"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$uuid&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">get_avatar_uuid</span><span class="src-sym">(</span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  75. <li><div class="src-line"><a name="a63"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$avname&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">get_avatar_name</span><span class="src-sym">(</span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  76. <li><div class="src-line"><a name="a64"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$uuid&nbsp;</span>==&nbsp;<span class="src-id">null&nbsp;</span>&amp;&amp;&nbsp;<span class="src-var">$avname&nbsp;</span>==&nbsp;<span class="src-id">null</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  77. <li><div class="src-line"><a name="a65"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Just&nbsp;query&nbsp;the&nbsp;assignment&nbsp;details</span></div></li>
  78. <li><div class="src-line"><a name="a66"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_code</span><span class="src-sym">(</span><span class="src-num">1</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;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_descriptor</span><span class="src-sym">(</span><span class="src-str">'OK'</span><span class="src-sym">)</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-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">add_data_line</span><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">get_name</span><span class="src-sym">(</span><span class="src-sym">))</span><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-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">add_data_line</span><span class="src-sym">(</span><a href="http://www.php.net/strip_tags">strip_tags</a><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">get_intro</span><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</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">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">render_to_output</span><span class="src-sym">(</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;<span class="src-key">exit</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  84. <li><div class="src-line"><a name="a72"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  85. <li><div class="src-line"><a name="a73"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  86. <li><div class="src-line"><a name="a74"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Some&nbsp;user&nbsp;data&nbsp;has&nbsp;been&nbsp;provided,&nbsp;so&nbsp;make&nbsp;sure&nbsp;we&nbsp;can&nbsp;validate&nbsp;the&nbsp;user</span></div></li>
  87. <li><div class="src-line"><a name="a75"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">validate_user</span><span class="src-sym">(</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;</div></li>
  89. <li><div class="src-line"><a name="a77"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Check&nbsp;the&nbsp;requirements&nbsp;for&nbsp;allowing&nbsp;submissions</span></div></li>
  90. <li><div class="src-line"><a name="a78"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$status&nbsp;</span>=&nbsp;<span class="src-num">1</span><span class="src-sym">;&nbsp;</span><span class="src-comm">//&nbsp;This&nbsp;means&nbsp;it's&nbsp;OK</span></div></li>
  91. <li><div class="src-line"><a name="a79"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">user_can_submit</span><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">user</span><span class="src-sym">))&nbsp;</span><span class="src-var">$status&nbsp;</span>=&nbsp;-<span class="src-num">10201</span><span class="src-sym">;</span></div></li>
  92. <li><div class="src-line"><a name="a80"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">else&nbsp;</span><span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">user_has_submitted</span><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">user</span><span class="src-sym">)&nbsp;</span>==&nbsp;<span class="src-id">true&nbsp;</span>&amp;&amp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">resubmit_allowed</span><span class="src-sym">(</span><span class="src-sym">)&nbsp;</span>==&nbsp;<span class="src-id">false</span><span class="src-sym">)&nbsp;</span><span class="src-var">$status&nbsp;</span>=&nbsp;-<span class="src-num">10205</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-key">else&nbsp;</span><span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">is_too_early</span><span class="src-sym">(</span><span class="src-sym">))&nbsp;</span><span class="src-var">$status&nbsp;</span>=&nbsp;-<span class="src-num">10202</span><span class="src-sym">;</span></div></li>
  94. <li><div class="src-line"><a name="a82"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">else&nbsp;</span><span class="src-sym">{</span></div></li>
  95. <li><div class="src-line"><a name="a83"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$late&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">is_too_late</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  96. <li><div class="src-line"><a name="a84"></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">$late&nbsp;</span>&gt;&nbsp;<span class="src-num">0</span><span class="src-sym">)&nbsp;</span><span class="src-var">$status&nbsp;</span>=&nbsp;-<span class="src-num">10203</span><span class="src-sym">;</span></div></li>
  97. <li><div class="src-line"><a name="a85"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">else&nbsp;</span><span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$late&nbsp;</span>&lt;&nbsp;<span class="src-num">0</span><span class="src-sym">)&nbsp;</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">add_side_effect</span><span class="src-sym">(</span>-<span class="src-num">10204</span><span class="src-sym">)</span><span class="src-sym">;&nbsp;</span><span class="src-comm">//&nbsp;Still&nbsp;OK...&nbsp;just&nbsp;late!&nbsp;:-)</span></div></li>
  98. <li><div class="src-line"><a name="a86"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  99. <li><div class="src-line"><a name="a87"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  100. <li><div class="src-line"><a name="a88"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;If&nbsp;the&nbsp;status&nbsp;was&nbsp;bad,&nbsp;then&nbsp;report&nbsp;it</span></div></li>
  101. <li><div class="src-line"><a name="a89"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$status&nbsp;</span>&lt;&nbsp;<span class="src-num">1</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  102. <li><div class="src-line"><a name="a90"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_code</span><span class="src-sym">(</span><span class="src-var">$status</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  103. <li><div class="src-line"><a name="a91"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_descriptor</span><span class="src-sym">(</span><span class="src-str">'ASSIGNMENT'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  104. <li><div class="src-line"><a name="a92"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">render_to_output</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  105. <li><div class="src-line"><a name="a93"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">exit</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  106. <li><div class="src-line"><a name="a94"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  107. <li><div class="src-line"><a name="a95"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  108. <li><div class="src-line"><a name="a96"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Has&nbsp;an&nbsp;object&nbsp;name&nbsp;been&nbsp;provided?</span></div></li>
  109. <li><div class="src-line"><a name="a97"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodleobjname&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">optional_param</span><span class="src-sym">(</span><span class="src-str">'sloodleobjname'</span><span class="src-sym">,&nbsp;</span><span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  110. <li><div class="src-line"><a name="a98"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$sloodleobjname&nbsp;</span>==&nbsp;<span class="src-id">null&nbsp;</span>||&nbsp;<span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$sloodleobjname</span><span class="src-sym">))&nbsp;</span><span class="src-sym">{</span></div></li>
  111. <li><div class="src-line"><a name="a99"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;No&nbsp;-&nbsp;just&nbsp;checking&nbsp;if&nbsp;the&nbsp;user&nbsp;can&nbsp;submit</span></div></li>
  112. <li><div class="src-line"><a name="a100"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_code</span><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  113. <li><div class="src-line"><a name="a101"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_descriptor</span><span class="src-sym">(</span><span class="src-str">'OK'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  114. <li><div class="src-line"><a name="a102"></a><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">add_data_line</span><span class="src-sym">(</span><span class="src-str">'Checked&nbsp;assignment&nbsp;status'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  115. <li><div class="src-line"><a name="a103"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">render_to_output</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  116. <li><div class="src-line"><a name="a104"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">exit</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  117. <li><div class="src-line"><a name="a105"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  118. <li><div class="src-line"><a name="a106"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  119. <li><div class="src-line"><a name="a107"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Object&nbsp;being&nbsp;submitted&nbsp;-&nbsp;fetch&nbsp;our&nbsp;other&nbsp;data</span></div></li>
  120. <li><div class="src-line"><a name="a108"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodleprimcount&nbsp;</span>=&nbsp;(int)<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">required_param</span><span class="src-sym">(</span><span class="src-str">'sloodleprimcount'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  121. <li><div class="src-line"><a name="a109"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodleprimdropname&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">required_param</span><span class="src-sym">(</span><span class="src-str">'sloodleprimdropname'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  122. <li><div class="src-line"><a name="a110"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodleprimdropuuid&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">required_param</span><span class="src-sym">(</span><span class="src-str">'sloodleprimdropuuid'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  123. <li><div class="src-line"><a name="a111"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodleregion&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">required_param</span><span class="src-sym">(</span><span class="src-str">'sloodleregion'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  124. <li><div class="src-line"><a name="a112"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodlepos&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">request</span><span class="src-sym">-&gt;</span><span class="src-id">required_param</span><span class="src-sym">(</span><span class="src-str">'sloodlepos'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  125. <li><div class="src-line"><a name="a113"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  126. <li><div class="src-line"><a name="a114"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Make&nbsp;sure&nbsp;the&nbsp;position&nbsp;is&nbsp;valid</span></div></li>
  127. <li><div class="src-line"><a name="a115"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$arr&nbsp;</span>=&nbsp;<a href="../sloodle/_sloodle---lib---general.php.html#functionsloodle_vector_to_array">sloodle_vector_to_array</a><span class="src-sym">(</span><span class="src-var">$sloodlepos</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  128. <li><div class="src-line"><a name="a116"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$arr</span><span class="src-sym">)&nbsp;</span><span class="src-var">$sloodlepos&nbsp;</span>=&nbsp;<span class="src-str">'&lt;0.0,0.0,0.0&gt;'</span><span class="src-sym">;</span></div></li>
  129. <li><div class="src-line"><a name="a117"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  130. <li><div class="src-line"><a name="a118"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Submit&nbsp;all&nbsp;the&nbsp;data</span></div></li>
  131. <li><div class="src-line"><a name="a119"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">module</span><span class="src-sym">-&gt;</span><span class="src-id">submit</span><span class="src-sym">(</span><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">user</span><span class="src-sym">,&nbsp;</span><span class="src-var">$sloodleobjname</span><span class="src-sym">,&nbsp;</span><span class="src-var">$sloodleprimcount</span><span class="src-sym">,&nbsp;</span><span class="src-var">$sloodleprimdropname</span><span class="src-sym">,&nbsp;</span><span class="src-var">$sloodleprimdropuuid</span><span class="src-sym">,&nbsp;</span><span class="src-var">$sloodleregion</span><span class="src-sym">,&nbsp;</span><span class="src-var">$sloodlepos</span><span class="src-sym">))&nbsp;</span><span class="src-sym">{</span></div></li>
  132. <li><div class="src-line"><a name="a120"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;OK</span></div></li>
  133. <li><div class="src-line"><a name="a121"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_code</span><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  134. <li><div class="src-line"><a name="a122"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_descriptor</span><span class="src-sym">(</span><span class="src-str">'OK'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  135. <li><div class="src-line"><a name="a123"></a><span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">add_data_line</span><span class="src-sym">(</span><span class="src-str">'SUBMITTED&nbsp;OBJECT'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  136. <li><div class="src-line"><a name="a124"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}&nbsp;</span><span class="src-key">else&nbsp;</span><span class="src-sym">{</span></div></li>
  137. <li><div class="src-line"><a name="a125"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Error</span></div></li>
  138. <li><div class="src-line"><a name="a126"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_code</span><span class="src-sym">(</span>-<span class="src-num">103</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  139. <li><div class="src-line"><a name="a127"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">set_status_descriptor</span><span class="src-sym">(</span><span class="src-str">'SYSTEM'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  140. <li><div class="src-line"><a name="a128"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">add_data_line</span><span class="src-sym">(</span><span class="src-str">'Failed&nbsp;to&nbsp;add&nbsp;assignment&nbsp;data&nbsp;into&nbsp;database.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  141. <li><div class="src-line"><a name="a129"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  142. <li><div class="src-line"><a name="a130"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  143. <li><div class="src-line"><a name="a131"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Render&nbsp;the&nbsp;response</span></div></li>
  144. <li><div class="src-line"><a name="a132"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">response</span><span class="src-sym">-&gt;</span><span class="src-id">render_to_output</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  145. <li><div class="src-line"><a name="a133"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">exit</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;&nbsp;&nbsp;&nbsp;&nbsp;</span></div></li>
  146. <li><div class="src-line"><a name="a134"></a><span class="src-php">?&gt;</span></div></li>
  147. </ol></div>
  148. </div>
  149. <p class="notes" id="credit">
  150. Documentation generated on Mon, 16 Jun 2008 15:56:35 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a>
  151. </p>
  152. </body>
  153. </html>