| @@ 47-133 (lines=87) @@ | ||
| 44 | * @throws \coding_exception |
|
| 45 | * @throws \dml_exception |
|
| 46 | */ |
|
| 47 | public static function bbbsession_set($context, &$session) { |
|
| 48 | ||
| 49 | global $CFG, $USER; |
|
| 50 | ||
| 51 | $session['username'] = fullname($USER); |
|
| 52 | $session['userID'] = $USER->id; |
|
| 53 | $session['administrator'] = is_siteadmin($session['userID']); |
|
| 54 | $participantlist = bigbluebuttonbn_get_participant_list($session['bigbluebuttonbn'], $context); |
|
| 55 | $session['moderator'] = bigbluebuttonbn_is_moderator($context, $participantlist); |
|
| 56 | $session['managerecordings'] = ($session['administrator'] |
|
| 57 | || has_capability('mod/bigbluebuttonbn:managerecordings', $context)); |
|
| 58 | $session['importrecordings'] = ($session['managerecordings']); |
|
| 59 | $session['modPW'] = $session['bigbluebuttonbn']->moderatorpass; |
|
| 60 | $session['viewerPW'] = $session['bigbluebuttonbn']->viewerpass; |
|
| 61 | $session['meetingid'] = $session['bigbluebuttonbn']->meetingid.'-'.$session['course']->id.'-'. |
|
| 62 | $session['bigbluebuttonbn']->id; |
|
| 63 | $session['meetingname'] = $session['bigbluebuttonbn']->name; |
|
| 64 | $session['meetingdescription'] = $session['bigbluebuttonbn']->intro; |
|
| 65 | $session['userlimit'] = intval((int)\mod_bigbluebuttonbn\locallib\config::get('userlimit_default')); |
|
| 66 | if ((boolean)\mod_bigbluebuttonbn\locallib\config::get('userlimit_editable')) { |
|
| 67 | $session['userlimit'] = intval($session['bigbluebuttonbn']->userlimit); |
|
| 68 | } |
|
| 69 | $session['voicebridge'] = $session['bigbluebuttonbn']->voicebridge; |
|
| 70 | if ($session['bigbluebuttonbn']->voicebridge > 0) { |
|
| 71 | $session['voicebridge'] = 70000 + $session['bigbluebuttonbn']->voicebridge; |
|
| 72 | } |
|
| 73 | $session['wait'] = $session['bigbluebuttonbn']->wait; |
|
| 74 | $session['record'] = $session['bigbluebuttonbn']->record; |
|
| 75 | ||
| 76 | $session['recordallfromstart'] = $CFG->bigbluebuttonbn_recording_all_from_start_default; |
|
| 77 | if ($CFG->bigbluebuttonbn_recording_all_from_start_editable) { |
|
| 78 | $session['recordallfromstart'] = $session['bigbluebuttonbn']->recordallfromstart; |
|
| 79 | } |
|
| 80 | ||
| 81 | $session['recordhidebutton'] = $CFG->bigbluebuttonbn_recording_hide_button_default; |
|
| 82 | if ($CFG->bigbluebuttonbn_recording_hide_button_editable) { |
|
| 83 | $session['recordhidebutton'] = $session['bigbluebuttonbn']->recordhidebutton; |
|
| 84 | } |
|
| 85 | ||
| 86 | $session['welcome'] = $session['bigbluebuttonbn']->welcome; |
|
| 87 | if (!isset($session['welcome']) || $session['welcome'] == '') { |
|
| 88 | $session['welcome'] = get_string('mod_form_field_welcome_default', 'bigbluebuttonbn'); |
|
| 89 | } |
|
| 90 | if ($session['bigbluebuttonbn']->record) { |
|
| 91 | // Check if is enable record all from start. |
|
| 92 | if ($session['recordallfromstart']) { |
|
| 93 | $session['welcome'] .= '<br><br>'.get_string('bbbrecordallfromstartwarning', |
|
| 94 | 'bigbluebuttonbn'); |
|
| 95 | } else { |
|
| 96 | $session['welcome'] .= '<br><br>'.get_string('bbbrecordwarning', 'bigbluebuttonbn'); |
|
| 97 | } |
|
| 98 | } |
|
| 99 | $session['openingtime'] = $session['bigbluebuttonbn']->openingtime; |
|
| 100 | $session['closingtime'] = $session['bigbluebuttonbn']->closingtime; |
|
| 101 | $session['muteonstart'] = $session['bigbluebuttonbn']->muteonstart; |
|
| 102 | // Lock settings. |
|
| 103 | $session['disablecam'] = $session['bigbluebuttonbn']->disablecam; |
|
| 104 | $session['disablemic'] = $session['bigbluebuttonbn']->disablemic; |
|
| 105 | $session['disableprivatechat'] = $session['bigbluebuttonbn']->disableprivatechat; |
|
| 106 | $session['disablepublicchat'] = $session['bigbluebuttonbn']->disablepublicchat; |
|
| 107 | $session['disablenote'] = $session['bigbluebuttonbn']->disablenote; |
|
| 108 | $session['hideuserlist'] = $session['bigbluebuttonbn']->hideuserlist; |
|
| 109 | $session['lockedlayout'] = $session['bigbluebuttonbn']->lockedlayout; |
|
| 110 | $session['lockonjoin'] = $session['bigbluebuttonbn']->lockonjoin; |
|
| 111 | $session['lockonjoinconfigurable'] = $session['bigbluebuttonbn']->lockonjoinconfigurable; |
|
| 112 | ||
| 113 | $session['context'] = $context; |
|
| 114 | $session['origin'] = 'Moodle'; |
|
| 115 | $session['originVersion'] = $CFG->release; |
|
| 116 | $parsedurl = parse_url($CFG->wwwroot); |
|
| 117 | $session['originServerName'] = $parsedurl['host']; |
|
| 118 | $session['originServerUrl'] = $CFG->wwwroot; |
|
| 119 | $session['originServerCommonName'] = ''; |
|
| 120 | $session['originTag'] = 'moodle-mod_bigbluebuttonbn ('.get_config('mod_bigbluebuttonbn', 'version').')'; |
|
| 121 | $session['bnserver'] = bigbluebuttonbn_is_bn_server(); |
|
| 122 | $session['clienttype'] = \mod_bigbluebuttonbn\locallib\config::get('clienttype_default'); |
|
| 123 | ||
| 124 | if (\mod_bigbluebuttonbn\locallib\config::get('clienttype_editable')) { |
|
| 125 | $session['clienttype'] = $session['bigbluebuttonbn']->clienttype; |
|
| 126 | } |
|
| 127 | ||
| 128 | if (!\mod_bigbluebuttonbn\locallib\config::clienttype_enabled()) { |
|
| 129 | $session['clienttype'] = BIGBLUEBUTTON_CLIENTTYPE_FLASH; |
|
| 130 | } |
|
| 131 | ||
| 132 | return($session); |
|
| 133 | } |
|
| 134 | ||
| 135 | /** |
|
| 136 | * Build url for join to session. |
|
| @@ 3511-3599 (lines=89) @@ | ||
| 3508 | * @param array $bbbsession |
|
| 3509 | * @return void |
|
| 3510 | */ |
|
| 3511 | function bigbluebuttonbn_view_bbbsession_set($context, &$bbbsession) { |
|
| 3512 | global $CFG, $USER; |
|
| 3513 | // User data. |
|
| 3514 | $bbbsession['username'] = fullname($USER); |
|
| 3515 | $bbbsession['userID'] = $USER->id; |
|
| 3516 | // User roles. |
|
| 3517 | $bbbsession['administrator'] = is_siteadmin($bbbsession['userID']); |
|
| 3518 | $participantlist = bigbluebuttonbn_get_participant_list($bbbsession['bigbluebuttonbn'], $context); |
|
| 3519 | $bbbsession['moderator'] = bigbluebuttonbn_is_moderator($context, $participantlist); |
|
| 3520 | $bbbsession['managerecordings'] = ($bbbsession['administrator'] |
|
| 3521 | || has_capability('mod/bigbluebuttonbn:managerecordings', $context)); |
|
| 3522 | $bbbsession['importrecordings'] = ($bbbsession['managerecordings']); |
|
| 3523 | // Server data. |
|
| 3524 | $bbbsession['modPW'] = $bbbsession['bigbluebuttonbn']->moderatorpass; |
|
| 3525 | $bbbsession['viewerPW'] = $bbbsession['bigbluebuttonbn']->viewerpass; |
|
| 3526 | // Database info related to the activity. |
|
| 3527 | $bbbsession['meetingid'] = $bbbsession['bigbluebuttonbn']->meetingid . '-' . $bbbsession['course']->id . '-' . |
|
| 3528 | $bbbsession['bigbluebuttonbn']->id; |
|
| 3529 | $bbbsession['meetingname'] = $bbbsession['bigbluebuttonbn']->name; |
|
| 3530 | $bbbsession['meetingdescription'] = $bbbsession['bigbluebuttonbn']->intro; |
|
| 3531 | // Extra data for setting up the Meeting. |
|
| 3532 | $bbbsession['userlimit'] = intval((int) \mod_bigbluebuttonbn\locallib\config::get('userlimit_default')); |
|
| 3533 | if ((boolean) \mod_bigbluebuttonbn\locallib\config::get('userlimit_editable')) { |
|
| 3534 | $bbbsession['userlimit'] = intval($bbbsession['bigbluebuttonbn']->userlimit); |
|
| 3535 | } |
|
| 3536 | $bbbsession['voicebridge'] = $bbbsession['bigbluebuttonbn']->voicebridge; |
|
| 3537 | if ($bbbsession['bigbluebuttonbn']->voicebridge > 0) { |
|
| 3538 | $bbbsession['voicebridge'] = 70000 + $bbbsession['bigbluebuttonbn']->voicebridge; |
|
| 3539 | } |
|
| 3540 | $bbbsession['wait'] = $bbbsession['bigbluebuttonbn']->wait; |
|
| 3541 | $bbbsession['record'] = $bbbsession['bigbluebuttonbn']->record; |
|
| 3542 | $bbbsession['recordallfromstart'] = $CFG->bigbluebuttonbn_recording_all_from_start_default; |
|
| 3543 | if ($CFG->bigbluebuttonbn_recording_all_from_start_editable) { |
|
| 3544 | $bbbsession['recordallfromstart'] = $bbbsession['bigbluebuttonbn']->recordallfromstart; |
|
| 3545 | } |
|
| 3546 | ||
| 3547 | $bbbsession['recordhidebutton'] = $CFG->bigbluebuttonbn_recording_hide_button_default; |
|
| 3548 | if ($CFG->bigbluebuttonbn_recording_hide_button_editable) { |
|
| 3549 | $bbbsession['recordhidebutton'] = $bbbsession['bigbluebuttonbn']->recordhidebutton; |
|
| 3550 | } |
|
| 3551 | ||
| 3552 | $bbbsession['welcome'] = $bbbsession['bigbluebuttonbn']->welcome; |
|
| 3553 | if (!isset($bbbsession['welcome']) || $bbbsession['welcome'] == '') { |
|
| 3554 | $bbbsession['welcome'] = get_string('mod_form_field_welcome_default', 'bigbluebuttonbn'); |
|
| 3555 | } |
|
| 3556 | if ($bbbsession['bigbluebuttonbn']->record) { |
|
| 3557 | // Check if is enable record all from start. |
|
| 3558 | if ($bbbsession['recordallfromstart']) { |
|
| 3559 | $bbbsession['welcome'] .= '<br><br>' . get_string( |
|
| 3560 | 'bbbrecordallfromstartwarning', |
|
| 3561 | 'bigbluebuttonbn' |
|
| 3562 | ); |
|
| 3563 | } else { |
|
| 3564 | $bbbsession['welcome'] .= '<br><br>' . get_string('bbbrecordwarning', 'bigbluebuttonbn'); |
|
| 3565 | } |
|
| 3566 | } |
|
| 3567 | $bbbsession['openingtime'] = $bbbsession['bigbluebuttonbn']->openingtime; |
|
| 3568 | $bbbsession['closingtime'] = $bbbsession['bigbluebuttonbn']->closingtime; |
|
| 3569 | $bbbsession['muteonstart'] = $bbbsession['bigbluebuttonbn']->muteonstart; |
|
| 3570 | // Lock settings. |
|
| 3571 | $bbbsession['disablecam'] = $bbbsession['bigbluebuttonbn']->disablecam; |
|
| 3572 | $bbbsession['disablemic'] = $bbbsession['bigbluebuttonbn']->disablemic; |
|
| 3573 | $bbbsession['disableprivatechat'] = $bbbsession['bigbluebuttonbn']->disableprivatechat; |
|
| 3574 | $bbbsession['disablepublicchat'] = $bbbsession['bigbluebuttonbn']->disablepublicchat; |
|
| 3575 | $bbbsession['disablenote'] = $bbbsession['bigbluebuttonbn']->disablenote; |
|
| 3576 | $bbbsession['hideuserlist'] = $bbbsession['bigbluebuttonbn']->hideuserlist; |
|
| 3577 | $bbbsession['lockedlayout'] = $bbbsession['bigbluebuttonbn']->lockedlayout; |
|
| 3578 | $bbbsession['lockonjoin'] = $bbbsession['bigbluebuttonbn']->lockonjoin; |
|
| 3579 | $bbbsession['lockonjoinconfigurable'] = $bbbsession['bigbluebuttonbn']->lockonjoinconfigurable; |
|
| 3580 | // Additional info related to the course. |
|
| 3581 | $bbbsession['context'] = $context; |
|
| 3582 | // Metadata (origin). |
|
| 3583 | $bbbsession['origin'] = 'Moodle'; |
|
| 3584 | $bbbsession['originVersion'] = $CFG->release; |
|
| 3585 | $parsedurl = parse_url($CFG->wwwroot); |
|
| 3586 | $bbbsession['originServerName'] = $parsedurl['host']; |
|
| 3587 | $bbbsession['originServerUrl'] = $CFG->wwwroot; |
|
| 3588 | $bbbsession['originServerCommonName'] = ''; |
|
| 3589 | $bbbsession['originTag'] = 'moodle-mod_bigbluebuttonbn (' . get_config('mod_bigbluebuttonbn', 'version') . ')'; |
|
| 3590 | $bbbsession['bnserver'] = bigbluebuttonbn_is_bn_server(); |
|
| 3591 | // Setting for clienttype, assign flash if not enabled, or default if not editable. |
|
| 3592 | $bbbsession['clienttype'] = BIGBLUEBUTTON_CLIENTTYPE_FLASH; |
|
| 3593 | if (\mod_bigbluebuttonbn\locallib\config::clienttype_enabled()) { |
|
| 3594 | $bbbsession['clienttype'] = \mod_bigbluebuttonbn\locallib\config::get('clienttype_default'); |
|
| 3595 | } |
|
| 3596 | if (\mod_bigbluebuttonbn\locallib\config::get('clienttype_editable') && isset($bbbsession['bigbluebuttonbn']->clienttype)) { |
|
| 3597 | $bbbsession['clienttype'] = $bbbsession['bigbluebuttonbn']->clienttype; |
|
| 3598 | } |
|
| 3599 | } |
|
| 3600 | ||
| 3601 | /** |
|
| 3602 | * Return the status of an activity [open|not_started|ended]. |
|