| @@ 176-249 (lines=74) @@ | ||
| 173 | * @throws \coding_exception |
|
| 174 | * @throws \dml_exception |
|
| 175 | */ |
|
| 176 | public static function view_bbbsession_set($context, &$session) { |
|
| 177 | ||
| 178 | global $CFG, $USER; |
|
| 179 | ||
| 180 | $session['username'] = fullname($USER); |
|
| 181 | $session['userID'] = $USER->id; |
|
| 182 | $session['administrator'] = is_siteadmin($session['userID']); |
|
| 183 | $participantlist = bigbluebuttonbn_get_participant_list($session['bigbluebuttonbn'], $context); |
|
| 184 | $session['moderator'] = bigbluebuttonbn_is_moderator($context, $participantlist); |
|
| 185 | $session['managerecordings'] = ($session['administrator'] |
|
| 186 | || has_capability('mod/bigbluebuttonbn:managerecordings', $context)); |
|
| 187 | $session['importrecordings'] = ($session['managerecordings']); |
|
| 188 | $session['modPW'] = $session['bigbluebuttonbn']->moderatorpass; |
|
| 189 | $session['viewerPW'] = $session['bigbluebuttonbn']->viewerpass; |
|
| 190 | $session['meetingid'] = $session['bigbluebuttonbn']->meetingid.'-'.$session['course']->id.'-'. |
|
| 191 | $session['bigbluebuttonbn']->id; |
|
| 192 | $session['meetingname'] = $session['bigbluebuttonbn']->name; |
|
| 193 | $session['meetingdescription'] = $session['bigbluebuttonbn']->intro; |
|
| 194 | $session['userlimit'] = intval((int) config::get('userlimit_default')); |
|
| 195 | if ((boolean) config::get('userlimit_editable')) { |
|
| 196 | $session['userlimit'] = intval($session['bigbluebuttonbn']->userlimit); |
|
| 197 | } |
|
| 198 | $session['voicebridge'] = $session['bigbluebuttonbn']->voicebridge; |
|
| 199 | if ($session['bigbluebuttonbn']->voicebridge > 0) { |
|
| 200 | $session['voicebridge'] = 70000 + $session['bigbluebuttonbn']->voicebridge; |
|
| 201 | } |
|
| 202 | $session['wait'] = $session['bigbluebuttonbn']->wait; |
|
| 203 | $session['record'] = $session['bigbluebuttonbn']->record; |
|
| 204 | ||
| 205 | $session['recordallfromstart'] = $CFG->bigbluebuttonbn_recording_all_from_start_default; |
|
| 206 | if ($CFG->bigbluebuttonbn_recording_all_from_start_editable) { |
|
| 207 | $session['recordallfromstart'] = $session['bigbluebuttonbn']->recordallfromstart; |
|
| 208 | } |
|
| 209 | ||
| 210 | $session['recordhidebutton'] = $CFG->bigbluebuttonbn_recording_hide_button_default; |
|
| 211 | if ($CFG->bigbluebuttonbn_recording_hide_button_editable) { |
|
| 212 | $session['recordhidebutton'] = $session['bigbluebuttonbn']->recordhidebutton; |
|
| 213 | } |
|
| 214 | ||
| 215 | $session['welcome'] = $session['bigbluebuttonbn']->welcome; |
|
| 216 | if (!isset($session['welcome']) || $session['welcome'] == '') { |
|
| 217 | $session['welcome'] = get_string('mod_form_field_welcome_default', 'bigbluebuttonbn'); |
|
| 218 | } |
|
| 219 | if ($session['bigbluebuttonbn']->record) { |
|
| 220 | // Check if is enable record all from start. |
|
| 221 | if ($session['recordallfromstart']) { |
|
| 222 | $session['welcome'] .= '<br><br>'.get_string('bbbrecordallfromstartwarning', |
|
| 223 | 'bigbluebuttonbn'); |
|
| 224 | } else { |
|
| 225 | $session['welcome'] .= '<br><br>'.get_string('bbbrecordwarning', 'bigbluebuttonbn'); |
|
| 226 | } |
|
| 227 | } |
|
| 228 | $session['openingtime'] = $session['bigbluebuttonbn']->openingtime; |
|
| 229 | $session['closingtime'] = $session['bigbluebuttonbn']->closingtime; |
|
| 230 | $session['muteonstart'] = $session['bigbluebuttonbn']->muteonstart; |
|
| 231 | $session['context'] = $context; |
|
| 232 | $session['origin'] = 'Moodle'; |
|
| 233 | $session['originVersion'] = $CFG->release; |
|
| 234 | $parsedurl = parse_url($CFG->wwwroot); |
|
| 235 | $session['originServerName'] = $parsedurl['host']; |
|
| 236 | $session['originServerUrl'] = $CFG->wwwroot; |
|
| 237 | $session['originServerCommonName'] = ''; |
|
| 238 | $session['originTag'] = 'moodle-mod_bigbluebuttonbn ('.get_config('mod_bigbluebuttonbn', 'version').')'; |
|
| 239 | $session['bnserver'] = bigbluebuttonbn_is_bn_server(); |
|
| 240 | $session['clienttype'] = config::get('clienttype_default'); |
|
| 241 | ||
| 242 | if (config::get('clienttype_editable')) { |
|
| 243 | $session['clienttype'] = $session['bigbluebuttonbn']->clienttype; |
|
| 244 | } |
|
| 245 | ||
| 246 | if (!config::clienttype_enabled()) { |
|
| 247 | $session['clienttype'] = BIGBLUEBUTTON_CLIENTTYPE_FLASH; |
|
| 248 | } |
|
| 249 | } |
|
| 250 | ||
| 251 | /** |
|
| 252 | * Can join meeting. |
|
| @@ 3116-3192 (lines=77) @@ | ||
| 3113 | * @param array $bbbsession |
|
| 3114 | * @return void |
|
| 3115 | */ |
|
| 3116 | function bigbluebuttonbn_view_bbbsession_set($context, &$bbbsession) { |
|
| 3117 | global $CFG, $USER; |
|
| 3118 | // User data. |
|
| 3119 | $bbbsession['username'] = fullname($USER); |
|
| 3120 | $bbbsession['userID'] = $USER->id; |
|
| 3121 | // User roles. |
|
| 3122 | $bbbsession['administrator'] = is_siteadmin($bbbsession['userID']); |
|
| 3123 | $participantlist = bigbluebuttonbn_get_participant_list($bbbsession['bigbluebuttonbn'], $context); |
|
| 3124 | $bbbsession['moderator'] = bigbluebuttonbn_is_moderator($context, $participantlist); |
|
| 3125 | $bbbsession['managerecordings'] = ($bbbsession['administrator'] |
|
| 3126 | || has_capability('mod/bigbluebuttonbn:managerecordings', $context)); |
|
| 3127 | $bbbsession['importrecordings'] = ($bbbsession['managerecordings']); |
|
| 3128 | // Server data. |
|
| 3129 | $bbbsession['modPW'] = $bbbsession['bigbluebuttonbn']->moderatorpass; |
|
| 3130 | $bbbsession['viewerPW'] = $bbbsession['bigbluebuttonbn']->viewerpass; |
|
| 3131 | // Database info related to the activity. |
|
| 3132 | $bbbsession['meetingid'] = $bbbsession['bigbluebuttonbn']->meetingid.'-'.$bbbsession['course']->id.'-'. |
|
| 3133 | $bbbsession['bigbluebuttonbn']->id; |
|
| 3134 | $bbbsession['meetingname'] = $bbbsession['bigbluebuttonbn']->name; |
|
| 3135 | $bbbsession['meetingdescription'] = $bbbsession['bigbluebuttonbn']->intro; |
|
| 3136 | // Extra data for setting up the Meeting. |
|
| 3137 | $bbbsession['userlimit'] = intval((int)\mod_bigbluebuttonbn\locallib\config::get('userlimit_default')); |
|
| 3138 | if ((boolean)\mod_bigbluebuttonbn\locallib\config::get('userlimit_editable')) { |
|
| 3139 | $bbbsession['userlimit'] = intval($bbbsession['bigbluebuttonbn']->userlimit); |
|
| 3140 | } |
|
| 3141 | $bbbsession['voicebridge'] = $bbbsession['bigbluebuttonbn']->voicebridge; |
|
| 3142 | if ($bbbsession['bigbluebuttonbn']->voicebridge > 0) { |
|
| 3143 | $bbbsession['voicebridge'] = 70000 + $bbbsession['bigbluebuttonbn']->voicebridge; |
|
| 3144 | } |
|
| 3145 | $bbbsession['wait'] = $bbbsession['bigbluebuttonbn']->wait; |
|
| 3146 | $bbbsession['record'] = $bbbsession['bigbluebuttonbn']->record; |
|
| 3147 | $bbbsession['recordallfromstart'] = $CFG->bigbluebuttonbn_recording_all_from_start_default; |
|
| 3148 | if ($CFG->bigbluebuttonbn_recording_all_from_start_editable) { |
|
| 3149 | $bbbsession['recordallfromstart'] = $bbbsession['bigbluebuttonbn']->recordallfromstart; |
|
| 3150 | } |
|
| 3151 | $bbbsession['recordhidebutton'] = $CFG->bigbluebuttonbn_recording_hide_button_default; |
|
| 3152 | if ($CFG->bigbluebuttonbn_recording_hide_button_editable) { |
|
| 3153 | $bbbsession['recordhidebutton'] = $bbbsession['bigbluebuttonbn']->recordhidebutton; |
|
| 3154 | } |
|
| 3155 | $bbbsession['welcome'] = $bbbsession['bigbluebuttonbn']->welcome; |
|
| 3156 | if (!isset($bbbsession['welcome']) || $bbbsession['welcome'] == '') { |
|
| 3157 | $bbbsession['welcome'] = get_string('mod_form_field_welcome_default', 'bigbluebuttonbn'); |
|
| 3158 | } |
|
| 3159 | if ($bbbsession['bigbluebuttonbn']->record) { |
|
| 3160 | // Check if is enable record all from start. |
|
| 3161 | if ($bbbsession['recordallfromstart']) { |
|
| 3162 | $bbbsession['welcome'] .= '<br><br>'.get_string('bbbrecordallfromstartwarning', |
|
| 3163 | 'bigbluebuttonbn'); |
|
| 3164 | } else { |
|
| 3165 | $bbbsession['welcome'] .= '<br><br>'.get_string('bbbrecordwarning', 'bigbluebuttonbn'); |
|
| 3166 | } |
|
| 3167 | } |
|
| 3168 | $bbbsession['openingtime'] = $bbbsession['bigbluebuttonbn']->openingtime; |
|
| 3169 | $bbbsession['closingtime'] = $bbbsession['bigbluebuttonbn']->closingtime; |
|
| 3170 | $bbbsession['muteonstart'] = $bbbsession['bigbluebuttonbn']->muteonstart; |
|
| 3171 | // Additional info related to the course. |
|
| 3172 | $bbbsession['context'] = $context; |
|
| 3173 | // Metadata (origin). |
|
| 3174 | $bbbsession['origin'] = 'Moodle'; |
|
| 3175 | $bbbsession['originVersion'] = $CFG->release; |
|
| 3176 | $parsedurl = parse_url($CFG->wwwroot); |
|
| 3177 | $bbbsession['originServerName'] = $parsedurl['host']; |
|
| 3178 | $bbbsession['originServerUrl'] = $CFG->wwwroot; |
|
| 3179 | $bbbsession['originServerCommonName'] = ''; |
|
| 3180 | $bbbsession['originTag'] = 'moodle-mod_bigbluebuttonbn ('.get_config('mod_bigbluebuttonbn', 'version').')'; |
|
| 3181 | $bbbsession['bnserver'] = bigbluebuttonbn_is_bn_server(); |
|
| 3182 | // Setting for clienttype, assign flash if not enabled, or default if not editable. |
|
| 3183 | $bbbsession['clienttype'] = BIGBLUEBUTTON_CLIENTTYPE_FLASH; |
|
| 3184 | if (\mod_bigbluebuttonbn\locallib\config::clienttype_enabled()) { |
|
| 3185 | $bbbsession['clienttype'] = \mod_bigbluebuttonbn\locallib\config::get('clienttype_default'); |
|
| 3186 | } |
|
| 3187 | if (\mod_bigbluebuttonbn\locallib\config::get('clienttype_editable') && isset($bbbsession['bigbluebuttonbn']->clienttype)) { |
|
| 3188 | $bbbsession['clienttype'] = $bbbsession['bigbluebuttonbn']->clienttype; |
|
| 3189 | } |
|
| 3190 | } |
|
| 3191 | ||
| 3192 | /** |
|
| 3193 | * Return the status of an activity [open|not_started|ended]. |
|
| 3194 | * |
|
| 3195 | * @param array $bbbsession |
|