diff --git a/enrol/guest/db/install.php b/enrol/guest/db/install.php new file mode 100644 index 0000000000000..c5e8c68d8f462 --- /dev/null +++ b/enrol/guest/db/install.php @@ -0,0 +1,35 @@ +. + +/** + * Guest enrol plugin installation. + * + * @package enrol + * @subpackage guest + * @copyright 2011 Petr Skoda {@link http://skodak.org} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +function xmldb_enrol_guest_install() { + global $CFG, $DB; + + // migrate settings during 2.0 upgrade + + // convert all null passwords to empty strings + $DB->set_field('enrol', 'password', '', array('enrol'=>'guest', 'password'=>null)); +} diff --git a/enrol/guest/db/upgrade.php b/enrol/guest/db/upgrade.php new file mode 100644 index 0000000000000..d04b36ee5d1c7 --- /dev/null +++ b/enrol/guest/db/upgrade.php @@ -0,0 +1,43 @@ +. + +/** + * This file keeps track of upgrades to the guest enrolment plugin + * + * @package enrol + * @subpackage guest + * @copyright 2011 Petr Skoda {@link http://skodak.org + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +function xmldb_enrol_guest_upgrade($oldversion) { + global $CFG, $DB, $OUTPUT; + + $dbman = $DB->get_manager(); + + if ($oldversion < 2011112901) { + // convert all null passwords to empty strings + $DB->set_field('enrol', 'password', '', array('enrol'=>'guest', 'password'=>null)); + + upgrade_plugin_savepoint(true, 2011112901, 'enrol', 'guest'); + } + + return true; +} + + diff --git a/enrol/guest/lib.php b/enrol/guest/lib.php index ac4a5cf8963e2..da1d2f168007c 100644 --- a/enrol/guest/lib.php +++ b/enrol/guest/lib.php @@ -327,6 +327,22 @@ public function course_updated($inserted, $course, $data) { } } + /** + * Add new instance of enrol plugin. + * @param object $course + * @param array instance fields + * @return int id of new instance, null if can not be created + */ + public function add_instance($course, array $fields = NULL) { + $fields = (array)$fields; + + if (!isset($fields['password'])) { + $fields['password'] = ''; + } + + return parent::add_instance($course, $fields); + } + /** * Add new instance of enrol plugin with default settings. * @param object $course diff --git a/enrol/guest/version.php b/enrol/guest/version.php index 0f235c6a0d6e0..125592f212b51 100644 --- a/enrol/guest/version.php +++ b/enrol/guest/version.php @@ -25,6 +25,6 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2011112900; // The current plugin version (Date: YYYYMMDDXX) +$plugin->version = 2011112901; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2011112900; // Requires this Moodle version $plugin->component = 'enrol_guest'; // Full name of the plugin (used for diagnostics)