forked from MaharaProject/moodle-assignsubmission_mahara
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lib.php
70 lines (64 loc) · 2.42 KB
/
lib.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?PHP
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* This file contains the moodle hooks for the submission Mahara plugin
*
* @package assignsubmission_mahara
* @copyright 2012 Lancaster University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
// Statuses for locking setting.
define('ASSIGNSUBMISSION_MAHARA_SETTING_DONTLOCK', 0);
define('ASSIGNSUBMISSION_MAHARA_SETTING_KEEPLOCKED', 1);
define('ASSIGNSUBMISSION_MAHARA_SETTING_UNLOCK', 2);
define('ASSIGNSUBMISSION_MAHARA_SETTING_UNLOCKDATE', 3);
/**
* Get the list of MNet hosts that we are allowed to retrieve Mahara pages from.
* (Only hosts that subscribe to the correct flags)
*
* @return array
*/
function assignsubmission_mahara_sitelist() {
global $DB, $CFG;
$sql = "
SELECT DISTINCT
h.id,
h.name
FROM
{mnet_host} h,
{mnet_application} a,
{mnet_host2service} h2s_IDP,
{mnet_service} s_IDP,
{mnet_host2service} h2s_SP,
{mnet_service} s_SP
WHERE
h.id != :mnet_localhost_id AND
h.id = h2s_IDP.hostid AND
h.deleted = 0 AND
h.applicationid = a.id AND
h2s_IDP.serviceid = s_IDP.id AND
s_IDP.name = 'sso_idp' AND
h2s_IDP.publish = '1' AND
h.id = h2s_SP.hostid AND
h2s_SP.serviceid = s_SP.id AND
s_SP.name = 'sso_idp' AND
h2s_SP.publish = '1' AND
a.name = 'mahara'
ORDER BY
h.name";
return $DB->get_records_sql_menu($sql, array('mnet_localhost_id'=>$CFG->mnet_localhost_id));
}