Merge branch 'MDL-68286-master' of git://github.com/andrewnicols/moodle
[moodle.git] / badges / upgradelib.php
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/>.
17 /**
18  * Contains upgrade and install functions for badges.
19  *
20  * @package    core_badges
21  * @copyright  2019 Damyon Wiese
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 defined('MOODLE_INTERNAL') || die();
27 /**
28  * Called on install or upgrade to create default list of backpacks a user can connect to.
29  * Don't use the global defines from badgeslib because this is for install/upgrade.
30  *
31  * @return void
32  */
33 function badges_install_default_backpacks() {
34     global $DB;
36     $record = new stdClass();
37     $record->backpackweburl = 'https://backpack.openbadges.org';
38     $record->backpackapiurl = 'https://backpack.openbadges.org';
39     $record->apiversion = 1;
40     $record->sortorder = 0;
41     $record->password = '';
43     if (!($bp = $DB->get_record('badge_external_backpack', array('backpackapiurl' => $record->backpackapiurl)))) {
44         $bpid = $DB->insert_record('badge_external_backpack', $record);
45     } else {
46         $bpid = $bp->id;
47     }
48     set_config('badges_site_backpack', $bpid);
50     // All existing backpacks default to V1.
51     $DB->set_field('badge_backpack', 'externalbackpackid', $bpid);
53     $record = new stdClass();
54     $record->backpackapiurl = 'https://api.badgr.io/v2';
55     $record->backpackweburl = 'https://badgr.io';
56     $record->apiversion = 2;
57     $record->sortorder = 1;
58     $record->password = '';
60     if (!$DB->record_exists('badge_external_backpack', array('backpackapiurl' => $record->backpackapiurl))) {
61         $DB->insert_record('badge_external_backpack', $record);
62     }
64 }