fsource_sloodle__modpresenter-2.0linker.php.html 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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="../sloodle/_mod---presenter-2.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;</div></li>
  15. <li><div class="src-line"><a name="a3"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**</span></div></li>
  16. <li><div class="src-line"><a name="a4"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Sloodle&nbsp;Presenter&nbsp;linker.</span></div></li>
  17. <li><div class="src-line"><a name="a5"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Allows&nbsp;a&nbsp;Sloodle&nbsp;Presenter&nbsp;object&nbsp;in-world&nbsp;to&nbsp;request&nbsp;a&nbsp;list&nbsp;of&nbsp;entries&nbsp;for&nbsp;a&nbsp;presentation.</span></div></li>
  18. <li><div class="src-line"><a name="a6"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*</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">@package</span><span class="src-doc">&nbsp;sloodle</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">@copyright</span><span class="src-doc">&nbsp;Copyright&nbsp;(c)&nbsp;2007-8&nbsp;Sloodle&nbsp;(various&nbsp;contributors)</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">@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>
  22. <li><div class="src-line"><a name="a10"></a><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;*</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;ID&nbsp;of&nbsp;a&nbsp;presenter</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;The&nbsp;following&nbsp;parameter&nbsp;is&nbsp;optional:</span></div></li>
  32. <li><div class="src-line"><a name="a20"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;sloodleslidenum&nbsp;=&nbsp;the&nbsp;number&nbsp;of&nbsp;a&nbsp;slide&nbsp;within&nbsp;a&nbsp;presentation&nbsp;(this&nbsp;is&nbsp;a&nbsp;1&nbsp;based&nbsp;number,&nbsp;so&nbsp;1&nbsp;is&nbsp;the&nbsp;first&nbsp;slide,&nbsp;2&nbsp;is&nbsp;the&nbsp;second,&nbsp;and&nbsp;so&nbsp;on)</span></div></li>
  33. <li><div class="src-line"><a name="a21"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  34. <li><div class="src-line"><a name="a22"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Status&nbsp;code&nbsp;1&nbsp;will&nbsp;be&nbsp;returned&nbsp;on&nbsp;success&nbsp;of&nbsp;any&nbsp;request.</span></div></li>
  35. <li><div class="src-line"><a name="a23"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;The&nbsp;first&nbsp;line&nbsp;will&nbsp;always&nbsp;contain&nbsp;the&nbsp;following&nbsp;data:</span></div></li>
  36. <li><div class="src-line"><a name="a24"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  37. <li><div class="src-line"><a name="a25"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;num_slides|name</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;&quot;name&quot;&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;presentation,&nbsp;and&nbsp;&quot;num_slides&quot;&nbsp;is&nbsp;the&nbsp;total&nbsp;number&nbsp;of&nbsp;slides&nbsp;currently&nbsp;in&nbsp;the&nbsp;presentation.</span></div></li>
  40. <li><div class="src-line"><a name="a28"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;The&nbsp;second&nbsp;data&nbsp;line&nbsp;will&nbsp;contain&nbsp;data&nbsp;about&nbsp;a&nbsp;particular&nbsp;slide&nbsp;in&nbsp;the&nbsp;presentation,&nbsp;as&nbsp;follows:</span></div></li>
  41. <li><div class="src-line"><a name="a29"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  42. <li><div class="src-line"><a name="a30"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;num|type|source|name</span></div></li>
  43. <li><div class="src-line"><a name="a31"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  44. <li><div class="src-line"><a name="a32"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;num&nbsp;=&nbsp;the&nbsp;number&nbsp;of&nbsp;slide&nbsp;within&nbsp;the&nbsp;presentation,&nbsp;starting&nbsp;at&nbsp;1</span></div></li>
  45. <li><div class="src-line"><a name="a33"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;type&nbsp;=&nbsp;the&nbsp;mimetype&nbsp;of&nbsp;the&nbsp;slide,&nbsp;such&nbsp;as&nbsp;&quot;video/*&quot;</span></div></li>
  46. <li><div class="src-line"><a name="a34"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;source&nbsp;=&nbsp;the&nbsp;source&nbsp;of&nbsp;the&nbsp;slide,&nbsp;which&nbsp;will&nbsp;usually&nbsp;be&nbsp;a&nbsp;URL&nbsp;(although&nbsp;we&nbsp;might&nbsp;use&nbsp;it&nbsp;for&nbsp;other&nbsp;things&nbsp;later)</span></div></li>
  47. <li><div class="src-line"><a name="a35"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;name&nbsp;=&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;slide</span></div></li>
  48. <li><div class="src-line"><a name="a36"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  49. <li><div class="src-line"><a name="a37"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;By&nbsp;default,&nbsp;the&nbsp;first&nbsp;slide's&nbsp;data&nbsp;will&nbsp;always&nbsp;be&nbsp;returned.</span></div></li>
  50. <li><div class="src-line"><a name="a38"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;However,&nbsp;by&nbsp;including&nbsp;the&nbsp;&quot;sloodleslidenum&quot;&nbsp;parameter&nbsp;in&nbsp;the&nbsp;request,&nbsp;a&nbsp;specific&nbsp;slide&nbsp;can&nbsp;be&nbsp;requested.i</span></div></li>
  51. <li><div class="src-line"><a name="a39"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  52. <li><div class="src-line"><a name="a40"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;In&nbsp;the&nbsp;event&nbsp;that&nbsp;the&nbsp;Presenter&nbsp;plugins&nbsp;fail&nbsp;to&nbsp;load&nbsp;at&nbsp;all,&nbsp;the&nbsp;response&nbsp;will&nbsp;be&nbsp;status&nbsp;code&nbsp;-131.</span></div></li>
  53. <li><div class="src-line"><a name="a41"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;If&nbsp;the&nbsp;presentation&nbsp;is&nbsp;empty&nbsp;(no&nbsp;slides&nbsp;at&nbsp;all)&nbsp;then&nbsp;the&nbsp;response&nbsp;will&nbsp;be&nbsp;status&nbsp;code&nbsp;-10501.</span></div></li>
  54. <li><div class="src-line"><a name="a42"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;If&nbsp;a&nbsp;particular&nbsp;slide's&nbsp;plugin&nbsp;cannot&nbsp;be&nbsp;loaded,&nbsp;then&nbsp;the&nbsp;main&nbsp;status&nbsp;code&nbsp;will&nbsp;still&nbsp;be&nbsp;1&nbsp;and&nbsp;the&nbsp;basic&nbsp;presenter&nbsp;data&nbsp;will&nbsp;be&nbsp;given.&nbsp;But&nbsp;there&nbsp;will&nbsp;be&nbsp;side&nbsp;effect&nbsp;code&nbsp;-132,&nbsp;and&nbsp;the&nbsp;'type'&nbsp;field&nbsp;for&nbsp;the&nbsp;slide&nbsp;will&nbsp;say&nbsp;'ERROR'.&nbsp;(This&nbsp;allows&nbsp;the&nbsp;presentation&nbsp;to&nbsp;continue&nbsp;to&nbsp;work&nbsp;--&nbsp;the&nbsp;specific&nbsp;slide&nbsp;can&nbsp;simply&nbsp;be&nbsp;skipped.)</span></div></li>
  55. <li><div class="src-line"><a name="a43"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  56. <li><div class="src-line"><a name="a44"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Future&nbsp;modifications&nbsp;may&nbsp;include:</span></div></li>
  57. <li><div class="src-line"><a name="a45"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-&nbsp;text-based&nbsp;display&nbsp;in&nbsp;SL</span></div></li>
  58. <li><div class="src-line"><a name="a46"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-&nbsp;UUID-based&nbsp;texture&nbsp;or&nbsp;object&nbsp;loading&nbsp;in&nbsp;SL</span></div></li>
  59. <li><div class="src-line"><a name="a47"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;-&nbsp;aspect&nbsp;ratio&nbsp;specified&nbsp;for&nbsp;each&nbsp;slide</span></div></li>
  60. <li><div class="src-line"><a name="a48"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//</span></div></li>
  61. <li><div class="src-line"><a name="a49"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  62. <li><div class="src-line"><a name="a50"></a>&nbsp;</div></li>
  63. <li><div class="src-line"><a name="a51"></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>
  64. <li><div class="src-line"><a name="a52"></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>
  65. <li><div class="src-line"><a name="a53"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  66. <li><div class="src-line"><a name="a54"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**&nbsp;Grab&nbsp;the&nbsp;Sloodle/Moodle&nbsp;configuration.&nbsp;*/</span></div></li>
  67. <li><div class="src-line"><a name="a55"></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>
  68. <li><div class="src-line"><a name="a56"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-doc">/**&nbsp;Include&nbsp;the&nbsp;Sloodle&nbsp;PHP&nbsp;API.&nbsp;*/</span></div></li>
  69. <li><div class="src-line"><a name="a57"></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>
  70. <li><div class="src-line"><a name="a58"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  71. <li><div class="src-line"><a name="a59"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Authenticate&nbsp;the&nbsp;request,&nbsp;and&nbsp;load&nbsp;a&nbsp;slideshow&nbsp;module</span></div></li>
  72. <li><div class="src-line"><a name="a60"></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>
  73. <li><div class="src-line"><a name="a61"></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>
  74. <li><div class="src-line"><a name="a62"></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-id"><a href="../sloodle/_sl_config.php.html#defineSLOODLE_TYPE_PRESENTER">SLOODLE_TYPE_PRESENTER</a></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>
  75. <li><div class="src-line"><a name="a63"></a>&nbsp;</div></li>
  76. <li><div class="src-line"><a name="a64"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Load&nbsp;the&nbsp;necessary&nbsp;Presenter&nbsp;plugins</span></div></li>
  77. <li><div class="src-line"><a name="a65"></a>&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;Loading&nbsp;Presenter&nbsp;plugins\n&quot;</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  78. <li><div class="src-line"><a name="a66"></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">plugins</span><span class="src-sym">-&gt;</span><span class="src-id">load_plugins</span><span class="src-sym">(</span><span class="src-str">'presenter'</span><span class="src-sym">))&nbsp;</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">quick_output</span><span class="src-sym">(</span>-<span class="src-num">131</span><span class="src-sym">,&nbsp;</span><span class="src-str">'PLUGIN'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'Failed&nbsp;to&nbsp;load&nbsp;any&nbsp;SLOODLE&nbsp;Presenter&nbsp;plugins.&nbsp;Please&nbsp;check&nbsp;your&nbsp;&quot;sloodle/plugin&quot;&nbsp;folder.'</span><span class="src-sym">,&nbsp;</span><span class="src-id">false</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-key">exit</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;<span class="src-sym">}</span></div></li>
  82. <li><div class="src-line"><a name="a70"></a>&nbsp;</div></li>
  83. <li><div class="src-line"><a name="a71"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Get&nbsp;all&nbsp;the&nbsp;slides&nbsp;in&nbsp;this&nbsp;presentation</span></div></li>
  84. <li><div class="src-line"><a name="a72"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$slides&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">get_slides</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  85. <li><div class="src-line"><a name="a73"></a>&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/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$slides</span><span class="src-sym">)&nbsp;</span>||&nbsp;<a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$slides</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>
  86. <li><div class="src-line"><a name="a74"></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">quick_output</span><span class="src-sym">(</span>-<span class="src-num">10501</span><span class="src-sym">,&nbsp;</span><span class="src-str">'PRESENTER'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'There&nbsp;are&nbsp;no&nbsp;slides&nbsp;in&nbsp;this&nbsp;presentation'</span><span class="src-sym">,&nbsp;</span><span class="src-id">false</span><span class="src-sym">)</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;<span class="src-key">exit</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;<span class="src-sym">}</span></div></li>
  89. <li><div class="src-line"><a name="a77"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$numslides&nbsp;</span>=&nbsp;<a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$slides</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  90. <li><div class="src-line"><a name="a78"></a>&nbsp;&nbsp;</div></li>
  91. <li><div class="src-line"><a name="a79"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Has&nbsp;a&nbsp;particular&nbsp;slide&nbsp;been&nbsp;requested?</span></div></li>
  92. <li><div class="src-line"><a name="a80"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$sloodleslidenum&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">optional_param</span><span class="src-sym">(</span><span class="src-str">'sloodleslidenum'</span><span class="src-sym">,&nbsp;</span><span class="src-num">0</span><span class="src-sym">)</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">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$sloodleslidenum&nbsp;</span>&lt;&nbsp;<span class="src-num">1&nbsp;</span>||&nbsp;<span class="src-var">$sloodleslidenum&nbsp;</span>&gt;&nbsp;<span class="src-var">$numslides</span><span class="src-sym">)&nbsp;</span><span class="src-var">$sloodleslidenum&nbsp;</span>=&nbsp;<span class="src-num">1</span><span class="src-sym">;</span></div></li>
  94. <li><div class="src-line"><a name="a82"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  95. <li><div class="src-line"><a name="a83"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Figure&nbsp;out&nbsp;which&nbsp;slide&nbsp;we&nbsp;are&nbsp;going&nbsp;to&nbsp;output</span></div></li>
  96. <li><div class="src-line"><a name="a84"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$outputslide&nbsp;</span>=&nbsp;<span class="src-id">null</span><span class="src-sym">;</span></div></li>
  97. <li><div class="src-line"><a name="a85"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$curslidenum&nbsp;</span>=&nbsp;<span class="src-num">1</span><span class="src-sym">;</span></div></li>
  98. <li><div class="src-line"><a name="a86"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">foreach&nbsp;</span><span class="src-sym">(</span><span class="src-var">$slides&nbsp;</span><span class="src-key">as&nbsp;</span><span class="src-var">$curslide</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  99. <li><div class="src-line"><a name="a87"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;If&nbsp;this&nbsp;is&nbsp;the&nbsp;current&nbsp;slide&nbsp;we&nbsp;are&nbsp;after,&nbsp;then&nbsp;output&nbsp;it</span></div></li>
  100. <li><div class="src-line"><a name="a88"></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">$curslidenum&nbsp;</span>==&nbsp;<span class="src-var">$sloodleslidenum</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  101. <li><div class="src-line"><a name="a89"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$outputslide&nbsp;</span>=&nbsp;<span class="src-var">$curslide</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;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">break</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-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">$curslidenum</span>++<span class="src-sym">;</span></div></li>
  105. <li><div class="src-line"><a name="a93"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
  106. <li><div class="src-line"><a name="a94"></a>&nbsp;</div></li>
  107. <li><div class="src-line"><a name="a95"></a>&nbsp;</div></li>
  108. <li><div class="src-line"><a name="a96"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Output&nbsp;the&nbsp;basic&nbsp;presenter&nbsp;information</span></div></li>
  109. <li><div class="src-line"><a name="a97"></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">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>
  110. <li><div class="src-line"><a name="a98"></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">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>
  111. <li><div class="src-line"><a name="a99"></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">add_data_line</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$numslides</span><span class="src-sym">,&nbsp;</span><a href="../sloodle/_lib---general.php.html#functionsloodle_clean_for_output">sloodle_clean_for_output</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_name</span><span class="src-sym">(</span><span class="src-sym">))))</span><span class="src-sym">;</span></div></li>
  112. <li><div class="src-line"><a name="a100"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
  113. <li><div class="src-line"><a name="a101"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Our&nbsp;plugin&nbsp;data&nbsp;will&nbsp;be&nbsp;store&nbsp;in&nbsp;these&nbsp;variables</span></div></li>
  114. <li><div class="src-line"><a name="a102"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$slidetype&nbsp;</span>=&nbsp;<span class="src-str">''</span><span class="src-sym">;&nbsp;</span><span class="src-var">$slidesource&nbsp;</span>=&nbsp;<span class="src-str">''</span><span class="src-sym">;</span></div></li>
  115. <li><div class="src-line"><a name="a103"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Attempt&nbsp;to&nbsp;load&nbsp;the&nbsp;plugin&nbsp;required&nbsp;by&nbsp;our&nbsp;current&nbsp;slide</span></div></li>
  116. <li><div class="src-line"><a name="a104"></a>&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">Attempting&nbsp;to&nbsp;load&nbsp;plugin&nbsp;\&quot;{<span class="src-var">$outputslide</span></span><span class="src-sym">-&gt;</span><span class="src-id">type</span><span class="src-str"></span><span class="src-sym">}</span>\&quot;...</span><span class="src-str">&quot;</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-var">$slideplugin&nbsp;</span>=&nbsp;<span class="src-var">$sloodle</span><span class="src-sym">-&gt;</span><span class="src-id">plugins</span><span class="src-sym">-&gt;</span><span class="src-id">get_plugin</span><span class="src-sym">(</span><span class="src-var">$outputslide</span><span class="src-sym">-&gt;</span><span class="src-id">type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  118. <li><div class="src-line"><a name="a106"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$slideplugin&nbsp;</span>===&nbsp;<span class="src-id">false</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
  119. <li><div class="src-line"><a name="a107"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Indicate&nbsp;the&nbsp;error&nbsp;as&nbsp;a&nbsp;side&nbsp;effect,&nbsp;and&nbsp;specify&nbsp;the&nbsp;type&nbsp;as&nbsp;an&nbsp;error</span></div></li>
  120. <li><div class="src-line"><a name="a108"></a>&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;Failed&nbsp;to&nbsp;load&nbsp;plugin\n&quot;</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;&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_side_effect</span><span class="src-sym">(</span>-<span class="src-num">132</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;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$slidetype&nbsp;</span>=&nbsp;<span class="src-str">'ERROR'</span><span class="src-sym">;</span></div></li>
  123. <li><div class="src-line"><a name="a111"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$slidesource&nbsp;</span>=&nbsp;<span class="src-str">''</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-sym">}&nbsp;</span><span class="src-key">else&nbsp;</span><span class="src-sym">{</span></div></li>
  125. <li><div class="src-line"><a name="a113"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Load&nbsp;the&nbsp;slide&nbsp;data&nbsp;from&nbsp;the&nbsp;plugin</span></div></li>
  126. <li><div class="src-line"><a name="a114"></a>&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;Loaded&nbsp;plugin&nbsp;OK\n&quot;</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
  127. <li><div class="src-line"><a name="a115"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list<span class="src-sym">(</span><span class="src-var">$slidetype</span><span class="src-sym">,&nbsp;</span><span class="src-var">$slidesource</span><span class="src-sym">)&nbsp;</span>=&nbsp;<span class="src-var">$slideplugin</span><span class="src-sym">-&gt;</span><span class="src-id">render_slide_for_sl</span><span class="src-sym">(</span><span class="src-var">$outputslide</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-sym">}</span></div></li>
  129. <li><div class="src-line"><a name="a117"></a>&nbsp;</div></li>
  130. <li><div class="src-line"><a name="a118"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;Output&nbsp;the&nbsp;slide&nbsp;data</span></div></li>
  131. <li><div class="src-line"><a name="a119"></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">add_data_line</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$sloodleslidenum</span><span class="src-sym">,&nbsp;</span><a href="../sloodle/_lib---general.php.html#functionsloodle_clean_for_output">sloodle_clean_for_output</a><span class="src-sym">(</span><span class="src-var">$slidetype</span><span class="src-sym">)</span><span class="src-sym">,&nbsp;</span><a href="../sloodle/_lib---general.php.html#functionsloodle_clean_for_output">sloodle_clean_for_output</a><span class="src-sym">(</span><span class="src-var">$slidesource</span><span class="src-sym">)</span><span class="src-sym">,&nbsp;</span><a href="../sloodle/_lib---general.php.html#functionsloodle_clean_for_output">sloodle_clean_for_output</a><span class="src-sym">(</span><span class="src-var">$outputslide</span><span class="src-sym">-&gt;</span><span class="src-id">name</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
  132. <li><div class="src-line"><a name="a120"></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>
  133. <li><div class="src-line"><a name="a121"></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">;</span></div></li>
  134. <li><div class="src-line"><a name="a122"></a>&nbsp;</div></li>
  135. <li><div class="src-line"><a name="a123"></a><span class="src-php">?&gt;</span></div></li>
  136. </ol></div>
  137. </div>
  138. <p class="notes" id="credit">
  139. Documentation generated on Fri, 17 Jul 2009 11:01:45 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a>
  140. </p>
  141. </body>
  142. </html>