sloodle.patch 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. diff -rupN --exclude=.svn sloodle_moodle_1_9_compat/lang/en_utf8/sloodle.php sloodle_moodle_2_0_compat/lang/en_utf8/sloodle.php
  2. --- sloodle_moodle_1_9_compat/lang/en_utf8/sloodle.php 2011-06-20 08:58:12.000000000 +0000
  3. +++ sloodle_moodle_2_0_compat/lang/en_utf8/sloodle.php 2011-06-20 08:25:20.000000000 +0000
  4. @@ -6,6 +6,8 @@
  5. * @package sloodlelang
  6. */
  7. +$string['pluginname'] = 'SLOODLE';
  8. +
  9. $string['accesslevel'] = 'Access Level';
  10. $string['accesslevel:public'] = 'Public';
  11. $string['accesslevel:owner'] = 'Owner';
  12. diff -rupN --exclude=.svn sloodle_moodle_1_9_compat/lib/capability.php sloodle_moodle_2_0_compat/lib/capability.php
  13. --- sloodle_moodle_1_9_compat/lib/capability.php 1970-01-01 00:00:00.000000000 +0000
  14. +++ sloodle_moodle_2_0_compat/lib/capability.php 2011-06-20 08:47:58.000000000 +0000
  15. @@ -0,0 +1,17 @@
  16. +<?php
  17. +/* capability.php
  18. +Edmund Edgar, 2010-06-18
  19. +Moodle capability wrapper
  20. +We should be able to get rid of this - the legacy thing is already deprecated as of 1.something
  21. +*/
  22. +
  23. +function sloodle_has_capability($capability = null, $contextid = null, $userid = null, $kill = null) {
  24. + global $CFG;
  25. + if ($CFG->version > 2010060800) {
  26. + if ( $capability == 'moodle/legacy:guest' ) {
  27. + return false;
  28. + }
  29. + }
  30. + return has_capability($capability, $contextid, $userid, $kill );
  31. +}
  32. +?>
  33. diff -rupN --exclude=.svn sloodle_moodle_1_9_compat/lib/db.php sloodle_moodle_2_0_compat/lib/db.php
  34. --- sloodle_moodle_1_9_compat/lib/db.php 1970-01-01 00:00:00.000000000 +0000
  35. +++ sloodle_moodle_2_0_compat/lib/db.php 2011-06-20 08:24:39.000000000 +0000
  36. @@ -0,0 +1,165 @@
  37. +<?php
  38. +/* db.lib
  39. +Edmund Edgar, 2010-06-18
  40. +Sloodle database compatibility wrappers
  41. +For reasons best known to themselves, Moodle decided to suddenly rip out all their old db functions and put in a bunch of near-identical ones with slightly different syntax.
  42. +To avoid the need for a different release, we'll go through a layer of sloodle_ functions which wrap the appropriate Moodle database call.
  43. +We'll probably want to switch these out for the regular Moodle 2.0 calls when people have had a change to upgrade to Moodle 2.
  44. +*/
  45. +
  46. +function sloodle_do_use_db_object() {
  47. + global $CFG;
  48. + return ($CFG->version > 2010060800);
  49. +}
  50. +
  51. +function sloodle_get_record($p1=null, $p2=null, $p3=null, $p4=null, $p5=null, $p6=null, $p7=null, $p8='*') {
  52. + global $DB;
  53. + if ( sloodle_do_use_db_object() ) {
  54. + return $DB->get_record($p1, sloodle_conditions_to_array($p2,$p3,$p4,$p5,$p6,$p7) );
  55. + } else {
  56. + return get_record($p1, $p2, $p3, $p4, $p5, $p6, $p6, $p8);
  57. + }
  58. +}
  59. +
  60. +function sloodle_record_exists($p1=null, $p2=null, $p3=null, $p4=null, $p5=null, $p6=null, $p7=null) {
  61. + global $DB;
  62. + if ( sloodle_do_use_db_object() ) {
  63. + return $DB->record_exists($p1, sloodle_conditions_to_array($p2,$p3,$p4,$p5,$p6,$p7) );
  64. + } else {
  65. + return record_exists($p1, $p2, $p3, $p4, $p5, $p6, $p7);
  66. + }
  67. +}
  68. +
  69. +function sloodle_get_records($p1=null, $p2=null, $p3=null, $p4=null, $p5='*', $p6=null, $p7=null) {
  70. + if ( sloodle_do_use_db_object() ) {
  71. + global $DB;
  72. + return $DB->get_records($p1, sloodle_conditions_to_array( $p2, $p3), $p4, $p5, $p6, $p7 );
  73. + } else {
  74. + return get_records($p1, $p2, $p3, $p4, $p5, $p6, $p7);
  75. + }
  76. +}
  77. +
  78. +function sloodle_get_records_sql($p1=null, $p2=null) {
  79. + if ( sloodle_do_use_db_object() ) {
  80. + global $DB;
  81. + return $DB->get_records_sql($p1, $p2);
  82. + } else {
  83. + return get_records_sql($p1, $p2);
  84. + }
  85. +}
  86. +
  87. +function sloodle_get_records_select( $p1=null, $p2=null, $p3=null, $p4='*', $p5=null, $p6=null) {
  88. + if ( sloodle_do_use_db_object() ) {
  89. + global $DB;
  90. + return $DB->get_records_select($p1, $p2, array(), $p3, $p4, $p5, $p6); // get_records_select now has an option to pass in an array of params
  91. + } else {
  92. + return get_records_select($p1, $p2, $p3, $p4, $p5, $p6);
  93. + }
  94. +}
  95. +
  96. +function sloodle_insert_record($p1=null, $p2=null, $returnid=true, $primarykey='id') {
  97. + if ( sloodle_do_use_db_object() ) {
  98. + global $DB;
  99. + return $DB->insert_record($p1, $p2, $returnid, false); // if we need that primarykey field, I guess something will break
  100. + } else {
  101. + return insert_record($p1, $p2, $returnid, $primarykey );
  102. + }
  103. +}
  104. +
  105. +function sloodle_update_record($p1=null, $p2=null) {
  106. + if ( sloodle_do_use_db_object() ) {
  107. + global $DB;
  108. + return $DB->update_record($p1, $p2);
  109. + } else {
  110. + return update_record($p1, $p2);
  111. + }
  112. +}
  113. +
  114. +function sloodle_count_records($p1=null, $p2=null, $p3=null) {
  115. + if ( sloodle_do_use_db_object() ) {
  116. + global $DB;
  117. + return $DB->count_records($p1, array( $p2=>$p3 ) );
  118. + } else {
  119. + return count_records($p1, $p2, $p3);
  120. + }
  121. +}
  122. +
  123. +function sloodle_delete_records($p1=null, $p2=null, $p3=null, $p4=null, $p5=null, $p6=null, $p7=null) {
  124. + if ( sloodle_do_use_db_object() ) {
  125. + global $DB;
  126. + return $DB->delete_records($p1, sloodle_conditions_to_array($p2, $p3, $p4, $p5, $p6, $p7) );
  127. + } else {
  128. + return delete_records($p1, $p2, $p3, $p4, $p5, $p6, $p7);
  129. + }
  130. +}
  131. +
  132. +function sloodle_delete_records_select($p1=null, $p2=null) {
  133. + if ( sloodle_do_use_db_object() ) {
  134. + global $DB;
  135. + return $DB->delete_records($p1, $p2);
  136. + } else {
  137. + return delete_records($p1, $p2);
  138. + }
  139. +}
  140. +
  141. +
  142. +function sloodle_delete_record($p1=null, $p2=null, $p3=null, $p4=null, $p5=null, $p6=null, $p7=null) {
  143. + if ( sloodle_do_use_db_object() ) {
  144. + global $DB;
  145. + return $DB->delete_record($p1, array($p2=>$p3, $p4=>$p5, $p6=>$p7) );
  146. + } else {
  147. + return delete_record($p1, $p2, $p3, $p4, $p5, $p6, $p7);
  148. + }
  149. +}
  150. +
  151. +function sloodle_get_field($p1=null, $p2=null, $p3=null, $p4=null, $p5=null, $p6=null, $p7=null, $p8=null) {
  152. + if ( sloodle_do_use_db_object() ) {
  153. + global $DB;
  154. + return $DB->get_field($p1, $p2, sloodle_conditions_to_array($p3, $p4, $p5, $p6, $p7, $p8) );
  155. + } else {
  156. + return get_field($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8);
  157. + }
  158. +}
  159. +
  160. +function sloodle_get_field_sql($p1=null) {
  161. + if ( sloodle_do_use_db_object() ) {
  162. + global $DB;
  163. + return $DB->sloodle_get_field_sql($p1);
  164. + } else {
  165. + return sloodle_get_field_sql($p1);
  166. + }
  167. +}
  168. +
  169. +function sloodle_set_field($p1=null, $p2=null, $p3=null, $p4=null, $p5=null, $p6=null, $p7=null, $p8=null) {
  170. + if ( sloodle_do_use_db_object() ) {
  171. + global $DB;
  172. + return $DB->set_field($p1, $p2, $p3, sloodle_conditions_to_array( $p4, $p5, $p6, $p7, $p8) );
  173. + } else {
  174. + return set_field($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8);
  175. + }
  176. +}
  177. +
  178. +function sloodle_sql_ilike($p1=null) {
  179. + if ( sloodle_do_use_db_object() ) {
  180. + global $DB;
  181. + return $DB->sql_ilike();
  182. + } else {
  183. + return sql_ilike();
  184. + }
  185. +
  186. +}
  187. +
  188. +function sloodle_conditions_to_array($c1 = null, $c2 = null, $c3 = null, $c4 = null, $c5 = null, $c6 = null) {
  189. + $conditions = array();
  190. + if ($c1) {
  191. + $conditions[$c1] = $c2;
  192. + }
  193. + if ($c3) {
  194. + $conditions[$c3] = $c4;
  195. + }
  196. + if ($c5) {
  197. + $conditions[$c5] = $c6;
  198. + }
  199. + return $conditions;
  200. +}
  201. +?>
  202. diff -rupN --exclude=.svn sloodle_moodle_1_9_compat/lib.php sloodle_moodle_2_0_compat/lib.php
  203. --- sloodle_moodle_1_9_compat/lib.php 2011-06-20 08:58:15.000000000 +0000
  204. +++ sloodle_moodle_2_0_compat/lib.php 2011-06-20 08:49:38.000000000 +0000
  205. @@ -471,5 +471,14 @@
  206. }
  207. +function sloodle_supports($feature) {
  208. + switch($feature) {
  209. + case FEATURE_MOD_INTRO: return true;
  210. + //case FEATURE_BACKUP_MOODLE2: return true; // not sure
  211. +
  212. + default: return null;
  213. + }
  214. +}
  215. +
  216. ?>
  217. diff -rupN --exclude=.svn sloodle_moodle_1_9_compat/mod_form.php sloodle_moodle_2_0_compat/mod_form.php
  218. --- sloodle_moodle_1_9_compat/mod_form.php 2011-06-20 08:58:15.000000000 +0000
  219. +++ sloodle_moodle_2_0_compat/mod_form.php 2011-06-20 08:27:23.000000000 +0000
  220. @@ -84,15 +84,20 @@ class mod_sloodle_mod_form extends moodl
  221. // Set a client-size rule that an entry is required
  222. $mform->addRule('name', null, 'required', null, 'client');
  223. - // Create an HTML editor for module description (intro text)
  224. - $mform->addElement('htmleditor', 'intro', get_string('description'));
  225. - // Make it raw type (so the HTML isn't filtered out)
  226. - $mform->setType('intro', PARAM_RAW);
  227. - // Make it required
  228. - //$mform->addRule('intro', get_string('required'), 'required', null, 'client'); // Don't require description - PRB
  229. - // Provide an HTML editor help button
  230. - $mform->setHelpButton('intro', array('writing', 'questions', 'richtext'), false, 'editorhelpbutton');
  231. -
  232. +
  233. + if (method_exists($this,'add_intro_editor')) {
  234. + $this->add_intro_editor(true);
  235. + } else {
  236. + // Create an HTML editor for module description (intro text)
  237. + $mform->addElement('htmleditor', 'intro', get_string('description'));
  238. + // Make it raw type (so the HTML isn't filtered out)
  239. + $mform->setType('intro', PARAM_RAW);
  240. + // Make it required
  241. + $mform->addRule('intro', get_string('required'), 'required', null, 'client'); // Don't require description - PRB
  242. + // Provide an HTML editor help button
  243. + $mform->setHelpButton('intro', array('writing', 'questions', 'richtext'), false, 'editorhelpbutton');
  244. + }
  245. +
  246. //-------------------------------------------------------------------------------
  247. diff -rupN --exclude=.svn sloodle_moodle_1_9_compat/sl_config.php sloodle_moodle_2_0_compat/sl_config.php
  248. --- sloodle_moodle_1_9_compat/sl_config.php 2011-06-20 08:58:15.000000000 +0000
  249. +++ sloodle_moodle_2_0_compat/sl_config.php 2011-06-20 08:48:21.000000000 +0000
  250. @@ -11,6 +11,8 @@
  251. // Pull in the main moodle config
  252. // NB the following is necessary for when we pull in this config.php from a module under sloodle/mod
  253. require_once (realpath(dirname(__FILE__) . "/" . "../../config.php"));
  254. + require_once (realpath(dirname(__FILE__) . "/" . "lib/db.php"));
  255. + require_once (realpath(dirname(__FILE__) . "/" . "lib/capability.php"));
  256. // Is this a linker script?
  257. if (defined('SLOODLE_LINKER_SCRIPT')) {
  258. diff -rupN --exclude=.svn sloodle_moodle_1_9_compat/version.php sloodle_moodle_2_0_compat/version.php
  259. --- sloodle_moodle_1_9_compat/version.php 2011-06-20 08:58:15.000000000 +0000
  260. +++ sloodle_moodle_2_0_compat/version.php 2011-06-20 08:29:34.000000000 +0000
  261. @@ -6,7 +6,9 @@
  262. ////////////////////////////////////////////////////////////////////////////////
  263. $module->version = 2010022202;
  264. -$module->requires = 2007021500; // Requires Moodle 1.8
  265. +//$module->requires = 2007021500; // Requires Moodle 1.8
  266. +// 2.0 INCOMPATIBILITY
  267. +$module->requires = 2010000000;
  268. $module->cron = 60;
  269. ?>