PageRenderTime 26ms CodeModel.GetById 31ms RepoModel.GetById 0ms app.codeStats 0ms

/mod/glossary/db/postgres7.php

https://bitbucket.org/ciceidev/cicei_moodle_conditional_activities
PHP | 217 lines | 164 code | 31 blank | 22 comment | 34 complexity | ad2ed6077218ef975b7f759bbfa60d40 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause
  1. <?php // $Id$
  2. // THIS FILE IS DEPRECATED! PLEASE DO NOT MAKE CHANGES TO IT!
  3. //
  4. // IT IS USED ONLY FOR UPGRADES FROM BEFORE MOODLE 1.7, ALL
  5. // LATER CHANGES SHOULD USE upgrade.php IN THIS DIRECTORY.
  6. function glossary_upgrade($oldversion) {
  7. /// This function does anything necessary to upgrade
  8. /// older versions to match current functionality
  9. global $CFG;
  10. if ($oldversion < 2004022200) {
  11. if (!empty($CFG->textfilters)) {
  12. $CFG->textfilters = str_replace("dynalink.php", "filter.php", $CFG->textfilters);
  13. set_config("textfilters", $CFG->textfilters);
  14. }
  15. }
  16. if ($oldversion < 2004050900) {
  17. table_column("glossary","","rsstype","integer","2", "unsigned", "0", "", "entbypage");
  18. table_column("glossary","","rssarticles","integer","2", "unsigned", "0", "", "rsstype");
  19. set_config("glossary_enablerssfeeds",0);
  20. }
  21. if ( $oldversion < 2004051400 ) {
  22. print_simple_box("This update might take several seconds.<p>The more glossaries, entries and aliases you have created, the more it will take so please be patient.","center", "50%", '', "20", "noticebox");
  23. if ( $entries = get_records("glossary_entries", '', '', '', 'id,concept')) {
  24. foreach($entries as $entry) {
  25. set_field("glossary_entries","concept",addslashes(trim($entry->concept)),"id",$entry->id);
  26. }
  27. }
  28. if ( $aliases = get_records("glossary_alias")) {
  29. foreach($aliases as $alias) {
  30. set_field("glossary_alias","alias",addslashes(trim($alias->alias)),"id",$alias->id);
  31. }
  32. }
  33. }
  34. if ( $oldversion < 2004072300) {
  35. table_column("glossary_alias", "alias", "alias", "VARCHAR", "255", "", "", "NOT NULL");
  36. }
  37. if ( $oldversion < 2004072400) {
  38. //Create new table glossary_formats to store format info
  39. execute_sql("CREATE TABLE {$CFG->prefix}glossary_formats (
  40. id SERIAL8 PRIMARY KEY,
  41. name VARCHAR(50) NOT NULL,
  42. popupformatname VARCHAR(50) NOT NULL,
  43. visible int2 NOT NULL default '1',
  44. showgroup int2 NOT NULL default '1',
  45. defaultmode VARCHAR(50) NOT NULL default '',
  46. defaulthook VARCHAR(50) NOT NULL default '',
  47. sortkey VARCHAR(50) NOT NULL default '',
  48. sortorder VARCHAR(50) NOT NULL default ''
  49. ) ");
  50. //Define current 0-6 format names
  51. $formatnames = array('dictionary','continuous','fullwithauthor','encyclopedia',
  52. 'faq','fullwithoutauthor','entrylist');
  53. //Fill the new table from the old one (only 'valid', 0-6, formats)
  54. if ($formats = get_records('glossary_displayformats')) {
  55. foreach ($formats as $format) {
  56. //Format names
  57. if ($format->fid >= 0 && $format->fid <= 6) {
  58. $format->name = $formatnames[$format->fid];
  59. }
  60. //Format popupformatname
  61. $format->popupformatname = 'dictionary'; //Default format
  62. if ($format->relatedview >= 0 && $format->relatedview <= 6) {
  63. $format->popupformatname = $formatnames[$format->relatedview];
  64. }
  65. //Insert the new record
  66. //Only if $format->name is set (ie. formats 0-6)
  67. if ($format->name) {
  68. insert_record('glossary_formats',$format);
  69. }
  70. }
  71. }
  72. //Drop the old formats table
  73. execute_sql("DROP TABLE {$CFG->prefix}glossary_displayformats");
  74. //Modify the glossary->displayformat field
  75. table_column('glossary', 'displayformat', 'displayformat', 'VARCHAR', '50', '', 'dictionary', 'NOT NULL');
  76. //Update glossary->displayformat field
  77. if ($glossaries = get_records('glossary')) {
  78. foreach($glossaries as $glossary) {
  79. $displayformat = 'dictionary'; //Default format
  80. if ($glossary->displayformat >= 0 && $glossary->displayformat <= 6) {
  81. $displayformat = $formatnames[$glossary->displayformat];
  82. }
  83. set_field('glossary','displayformat',$displayformat,'id',$glossary->id);
  84. }
  85. }
  86. }
  87. if ( $oldversion < 2004080800) {
  88. table_column("glossary","","editalways","integer","2", "unsigned", "0", "", "entbypage");
  89. }
  90. //Activate editalways in old secondary glossaries (old behaviour)
  91. if ( $oldversion < 2004080900) {
  92. set_field('glossary','editalways','1','mainglossary','0');
  93. }
  94. if ($oldversion < 2004111200) {
  95. execute_sql("DROP INDEX {$CFG->prefix}glossary_course_idx;",false);
  96. execute_sql("DROP INDEX {$CFG->prefix}glossary_alias_entryid_idx;",false);
  97. execute_sql("DROP INDEX {$CFG->prefix}glossary_categories_glossaryid_idx;",false);
  98. execute_sql("DROP INDEX {$CFG->prefix}glossary_comments_entryid_idx;",false);
  99. execute_sql("DROP INDEX {$CFG->prefix}glossary_comments_userid_idx;",false);
  100. execute_sql("DROP INDEX {$CFG->prefix}glossary_entries_glossaryid_idx;",false);
  101. execute_sql("DROP INDEX {$CFG->prefix}glossary_entries_userid_idx;",false);
  102. execute_sql("DROP INDEX {$CFG->prefix}glossary_entries_concept_idx;",false);
  103. execute_sql("DROP INDEX {$CFG->prefix}glossary_entries_categories_category_idx;",false);
  104. execute_sql("DROP INDEX {$CFG->prefix}glossary_entries_categories_entryid_idx;",false);
  105. execute_sql("DROP INDEX {$CFG->prefix}glossary_ratings_userid_idx;",false);
  106. execute_sql("DROP INDEX {$CFG->prefix}glossary_ratings_entryid_idx;",false);
  107. modify_database('','CREATE INDEX prefix_glossary_course_idx ON prefix_glossary (course);');
  108. modify_database('','CREATE INDEX prefix_glossary_alias_entryid_idx ON prefix_glossary_alias (entryid);');
  109. modify_database('','CREATE INDEX prefix_glossary_categories_glossaryid_idx ON prefix_glossary_categories (glossaryid);');
  110. modify_database('','CREATE INDEX prefix_glossary_comments_entryid_idx ON prefix_glossary_comments (entryid);');
  111. modify_database('','CREATE INDEX prefix_glossary_comments_userid_idx ON prefix_glossary_comments (userid);');
  112. modify_database('','CREATE INDEX prefix_glossary_entries_glossaryid_idx ON prefix_glossary_entries (glossaryid);');
  113. modify_database('','CREATE INDEX prefix_glossary_entries_userid_idx ON prefix_glossary_entries (userid);');
  114. modify_database('','CREATE INDEX prefix_glossary_entries_concept_idx ON prefix_glossary_entries (concept);');
  115. modify_database('','CREATE INDEX prefix_glossary_entries_categories_category_idx ON prefix_glossary_entries_categories (categoryid);');
  116. modify_database('','CREATE INDEX prefix_glossary_entries_categories_entryid_idx ON prefix_glossary_entries_categories (entryid);');
  117. modify_database('','CREATE INDEX prefix_glossary_ratings_userid_idx ON prefix_glossary_ratings (userid);');
  118. modify_database('','CREATE INDEX prefix_glossary_ratings_entryid_idx ON prefix_glossary_ratings (entryid);');
  119. }
  120. //Delete orphaned categories (bug 2140)
  121. if ($oldversion < 2005011100) {
  122. $categories = get_records('glossary_categories', '', '', '', 'id, glossaryid');
  123. if ($categories) {
  124. foreach ($categories as $category) {
  125. $glossary = get_record('glossary', 'id', "$category->glossaryid");
  126. if (!$glossary) {
  127. delete_records('glossary_categories', 'id', "$category->id");
  128. }
  129. }
  130. }
  131. }
  132. //Allowprintview flag
  133. if ($oldversion < 2005011200) {
  134. table_column('glossary','','allowprintview','integer','2', 'unsigned', '1', '', 'allowcomments');
  135. $glossaries = get_records('glossary', '', '', '', 'id, name');
  136. if ($glossaries) {
  137. foreach ($glossaries as $glossary) {
  138. set_field('glossary', 'allowprintview', '1', 'id', "$glossary->id");
  139. }
  140. }
  141. }
  142. if ($oldversion < 2005031001) {
  143. modify_database('',"INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('glossary', 'view entry', 'glossary_entries', 'concept');");
  144. }
  145. if ($oldversion < 2005041100) { // replace wiki-like with markdown
  146. include_once( "$CFG->dirroot/lib/wiki_to_markdown.php" );
  147. $wtm = new WikiToMarkdown();
  148. // update glossary_entries->definition
  149. $sql = "select course from {$CFG->prefix}glossary,{$CFG->prefix}glossary_entries ";
  150. $sql .= "where {$CFG->prefix}glossary.id = {$CFG->prefix}glossary_entries.glossaryid ";
  151. $sql .= "and {$CFG->prefix}glossary_entries.id = ";
  152. $wtm->update( 'glossary_entries','definition','format' );
  153. // update glossary_comments->text
  154. $sql = "select course from {$CFG->prefix}glossary,{$CFG->prefix}glossary_entries,{$CFG->prefix}glossary_comments ";
  155. $sql .= "where {$CFG->prefix}glossary.id = {$CFG->prefix}glossary_entries.glossaryid ";
  156. $sql .= "and {$CFG->prefix}glossary_entries.id = {$CFG->prefix}glossary_comments.entryid ";
  157. $sql .= "and {$CFG->prefix}glossary_comments.id = ";
  158. $wtm->update( 'glossary_comments','text','format',$sql );
  159. }
  160. if ($oldversion < 2005041901) { // Mass cleanup of bad postgres upgrade scripts
  161. table_column('glossary','allowprintview','allowprintview','smallint','4','unsigned','1');
  162. }
  163. if ($oldversion < 2006082600) {
  164. $sql1 = "UPDATE {$CFG->prefix}glossary_entries SET definition = REPLACE(definition, '".TRUSTTEXT."', '');";
  165. $sql2 = "UPDATE {$CFG->prefix}glossary_comments SET comment = REPLACE(comment, '".TRUSTTEXT."', '');";
  166. $likecond = sql_ilike()." '%".TRUSTTEXT."%'";
  167. while (true) {
  168. if (!count_records_select('glossary_entries', "definition $likecond")) {
  169. break;
  170. }
  171. execute_sql($sql1);
  172. }
  173. while (true) {
  174. if (!count_records_select('glossary_comments', "comment $likecond")) {
  175. break;
  176. }
  177. execute_sql($sql2);
  178. }
  179. }
  180. if ($oldversion < 2006090400) {
  181. table_column('glossary_comments', 'comment', 'entrycomment', 'text', '', '', '');
  182. }
  183. ////// DO NOT ADD NEW THINGS HERE!! USE upgrade.php and the lib/ddllib.php functions.
  184. return true;
  185. }
  186. ?>