[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/blocks/recent_activity/db/ -> upgrade.php (source)

   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  /**
  18   * This file keeps track of upgrades to the recent activity block
  19   *
  20   * Sometimes, changes between versions involve alterations to database structures
  21   * and other major things that may break installations.
  22   *
  23   * The upgrade function in this file will attempt to perform all the necessary
  24   * actions to upgrade your older installation to the current version.
  25   *
  26   * If there's something it cannot do itself, it will tell you what you need to do.
  27   *
  28   * The commands in here will all be database-neutral, using the methods of
  29   * database_manager class
  30   *
  31   * Please do not forget to use upgrade_set_timeout()
  32   * before any action that may take longer time to finish.
  33   *
  34   * @package   block_recent_activity
  35   * @copyright 2014 Marina Glancy
  36   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  37   */
  38  
  39  /**
  40   * Upgrade code for the recent activity block.
  41   *
  42   * @global moodle_database $DB
  43   * @param int $oldversion
  44   * @param object $block
  45   */
  46  function xmldb_block_recent_activity_upgrade($oldversion, $block) {
  47      global $CFG, $DB;
  48  
  49      $dbman = $DB->get_manager(); // loads ddl manager and xmldb classes
  50  
  51      if ($oldversion < 2014012000) {
  52  
  53          // Define table block_recent_activity to be created.
  54          $table = new xmldb_table('block_recent_activity');
  55  
  56          // Adding fields to table block_recent_activity.
  57          $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
  58          $table->add_field('courseid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null);
  59          $table->add_field('cmid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null);
  60          $table->add_field('timecreated', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null);
  61          $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null);
  62          $table->add_field('action', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, null);
  63          $table->add_field('modname', XMLDB_TYPE_CHAR, '20', null, null, null, null);
  64  
  65          // Adding keys to table block_recent_activity.
  66          $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));
  67  
  68          // Adding indexes to table block_recent_activity.
  69          $table->add_index('coursetime', XMLDB_INDEX_NOTUNIQUE, array('courseid', 'timecreated'));
  70  
  71          // Conditionally launch create table for block_recent_activity.
  72          if (!$dbman->table_exists($table)) {
  73              $dbman->create_table($table);
  74              // Insert dummy log record for each existing course to notify that their logs need to be migrated.
  75              $DB->execute('INSERT INTO {block_recent_activity} (timecreated, userid, courseid, cmid, action) '.
  76                      'SELECT ?, 0, id, 0, 3 FROM {course}',
  77                      array(time()));
  78          }
  79  
  80          // Recent_activity savepoint reached.
  81          upgrade_block_savepoint(true, 2014012000, 'recent_activity');
  82      }
  83  
  84      // Moodle v2.7.0 release upgrade line.
  85      // Put any upgrade step following this.
  86  
  87      // Moodle v2.8.0 release upgrade line.
  88      // Put any upgrade step following this.
  89  
  90      return true;
  91  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1