first commit

This commit is contained in:
CHIEFSOFT\ameye
2024-09-30 18:11:26 -04:00
commit e592ca6823
27270 changed files with 5002257 additions and 0 deletions
@@ -0,0 +1,71 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/element_text_with_copy
This template renders a text input form element with a copy link next to it.
Context variables required for this template:
* label
* required
* advanced
* helpbutton
* error
* element
* id
* name
Example context (json):
{
"label": "Course full name",
"required": true,
"advanced": false,
"error": null,
"element": {
"wrapperid": "fitem_id_fullname",
"id": "id_fullname",
"name": "fullname",
"iderror": "id_error"
}
}
}}
{{< core_form/element-template }}
{{$element}}
<input type="text"
class="form-control {{#error}}is-invalid{{/error}}"
name="{{element.name}}"
{{#element.frozen}}
readonly {{#element.hardfrozen}}disabled{{/element.hardfrozen}}
{{/element.frozen}}
id="{{element.id}}"
value="{{element.value}}"
{{#element.size}}size="{{element.size}}"{{/element.size}}
{{#error}}
autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
<button id="{{element.id}}-button"
data-action="copytoclipboard" data-clipboard-target="#{{element.id}}"
data-clipboard-success-message="{{#str}}success{{/str}}"
class="btn btn-link bigbluebuttonbn_icon_btn bigbluebuttonbn_cp_info_btn">
{{#pix}}t/copy, core{{/pix}} {{copylabel}}
</button>
{{/element}}
{{/ core_form/element-template }}
{{#js}}
require(['core/copy_to_clipboard']);
{{/js}}
@@ -0,0 +1,41 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/end_session_button
This template renders the End session button.
Example context (json):
{
"statusrunning": true,
"bigbluebuttonbnid": 12345,
"groupid": 98765
}
}}
{{#statusrunning}}
<a {{!
}} href="#"{{!
}} id="end_button_input"{{!
}} data-action="end"{{!
}} data-bbb-id="{{bigbluebuttonbnid}}"{{!
}} data-group-id="{{groupid}}"{{!
}} class="btn btn-outline-dark bbb-btn-action m-1"{{!
}}>
{{#str}}view_conference_action_end, mod_bigbluebuttonbn{{/str}}
</a>
{{/statusrunning}}
@@ -0,0 +1,39 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/guest_links
This template renders the mobile page.
Example context (json):
{
"guestaccessenabled": 1,
"guestjoinurl": "http://moodle.org/",
"guestpassword": "password"
}
}}
<button class="btn btn-link m-1" type="button" data-action="show-guest-access">
{{#pix}}t/add, core{{/pix}}{{#str}}guestaccess_add, mod_bigbluebuttonbn{{/str}}
</button>
{{#js}}
require(['mod_bigbluebuttonbn/guest_access_modal'], function(GuestLinkAccess) {
GuestLinkAccess.init({
id: "{{ bigbluebuttonbnid }}",
groupid: "{{ groupid }}"
});
});
{{/js}}
@@ -0,0 +1,77 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/import_view
This template renders the import recordings page.
Example context (json):
{
"bbbid": 3,
"has_selected_course": 0,
"back_button": {
"method" : "get",
"url" : "#",
"primary" : 1,
"tooltip" : "This is a tooltip",
"label" : "This is a the button text",
"id": "thisismybutton",
"attributes": [{
"name": "data-attribute",
"value": "yeah"
}]
}
}
}}
<div class="mod_bigbluebuttonbn_import_view">
<div class="d-flex flex-row">
<div>
<span class="p-1">{{#str}}view_recording_list_course, mod_bigbluebuttonbn{{/str}}</span>
{{#course_select}}
{{>core/single_select}}
{{/course_select}}
</div>
<div>
{{#bbb_select}}
<span class="p-1">{{#str}}view_recording_activity, mod_bigbluebuttonbn{{/str}}</span>
{{>core/single_select}}
{{/bbb_select}}
</div>
</div>
{{#has_selected_course}}
{{< mod_bigbluebuttonbn/recordings_table}}
{{$title}}{{#str}} view_recording_button_import, mod_bigbluebuttonbn {{/str}}{{/title}}
{{$tools}}import{{/tools}}
{{$removeimportedid}}{{bbboriginid}}{{/removeimportedid}}
{{$otherattributes}} {{!
}} id="bigbluebuttonbn-recording-table-{{uniqid}}" {{!
}} data-import-mode="1" {{!
}} data-bbb-source-course-id="{{sourcecourseid}}" {{!
}} data-bbb-source-instance-id="{{bbbsourceid}}" {{!
}} {{/otherattributes}}
{{/mod_bigbluebuttonbn/recordings_table}}
{{/has_selected_course}}
{{^has_selected_course}}
<span class="text-warning">{{#str}} view_recording_select_course, mod_bigbluebuttonbn {{/str}}</span>
{{/has_selected_course}}
<div class="mt-3">
{{#back_button}}
{{>core/single_button}}
{{/back_button}}
</div>
</div>
@@ -0,0 +1,70 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/instance_updated_message.mustache
This template renders a message used to inform users that an activity has been created or updated.
Example context (json):
{
"link": "https://example.com/mod/bigbluebuttonbn/view.php?id=12345",
"is_create": 1,
"is_update": 0,
"name": "Daily standup",
"description": "A place to discuss daily progress, blockers, and the weather.",
"openingtime": 1234556623,
"closingtime": 1234559623
}
}}
{{#is_create}}
<p>{{#str}} notification_instance_created_intro, mod_bigbluebuttonbn, {
"name": {{#quote}}{{name}}{{/quote}},
"link": {{#quote}}{{{link}}}{{/quote}}
} {{/str}}
{{/is_create}}
{{#is_update}}
<p>{{#str}} notification_instance_updated_intro, mod_bigbluebuttonbn, {
"name": {{#quote}}{{name}}{{/quote}},
"link": {{#quote}}{{link}}{{/quote}}
} {{/str}}
{{/is_update}}
<table style="margin: 5px 0 0 20px;border: 0px">
<tbody>
<tr>
<th>{{#str}}notification_instance_name, mod_bigbluebuttonbn{{/str}}</th>
<td>name</td>
</tr>
<tr>
<th>{{#str}}notification_instance_description, mod_bigbluebuttonbn{{/str}}</th>
<td>{{{description}}}</td>
</tr>
{{#openingtime}}
<tr>
<th>{{#str}}notification_instance_start_date, mod_bigbluebuttonbn{{/str}}</th>
<td>{{#userdate}} {{openingtime}} , {{#str}}strftimedatetime, langconfig{{/str}} {{/userdate}} </td>
</tr>
{{/openingtime}}
{{#closingtime}}
<tr>
<th>{{#str}}notification_instance_end_date, mod_bigbluebuttonbn{{/str}}</th>
<td>{{#userdate}} {{closingtime}} , {{#str}}strftimedatetime, langconfig{{/str}} {{/userdate}} </td>
</tr>
{{/closingtime}}
</tbody>
</table>
@@ -0,0 +1,34 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/mobile_view_error
This template renders the error for mobile page.
Example context (json):
{
"error": "This is wrong!"
}
}}
{{=<% %>=}}
<div>
<ion-list>
<ion-item class="ion-text-wrap" text-wrap>
<ion-label><% error %></ion-label>
</ion-item>
</ion-list>
</div>
@@ -0,0 +1,51 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/mobile_view_notification
This template renders the notifications for mobile page.
Example context (json):
{
"bigbluebuttonbn.intro": "foo",
"cmid": 3,
"message": "A message",
"not_started": [
{"not_started.starts_at": "aaa", "not_started.starts_at": "bbb"},
{"not_started.starts_at": "aaa", "not_started.starts_at": "bbb"}
]
}
}}
{{=<% %>=}}
<div>
<core-course-module-description description="<% bigbluebuttonbn.intro %>" component="mod_bigbluebuttonbn" componentId="<% cmid %>"></core-course-module-description>
<ion-list>
<ion-item class="ion-text-wrap" text-wrap>
<ion-label><% message %></ion-label>
</ion-item>
<%#not_started%>
<ion-item class="ion-text-wrap" text-wrap>
<ion-label>
<p><% not_started.starts_at %></p>
<p><% not_started.ends_at %></p>
</ion-label>
</ion-item>
<%/not_started%>
<span core-site-plugins-call-ws-on-load
name="mod_bigbluebuttonbn_can_join" [params]="{cmid: <% cmid %>}" (onSuccess)="onCanJoinReturns($event)"></span>
</ion-list>
</div>
@@ -0,0 +1,62 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/mobile_view_page_ionic3
This template renders the mobile page.
Example context (json):
{
"bigbluebuttonbn.intro": "foo",
"cmid": 3,
"message": "A message",
"errors": [
{"error": "aaa"},
{"error": "bbb"}
],
"urltojoin": "http://foo"
}
}}
{{=<% %>=}}
<div>
<%#msjgroup%>
<div style="color:#856404; background-color: #fff3cd; padding-right: 35px; border-color: #ffeeba; padding: 15px; margin-bottom: 20px;">
<% message %>
</div>
<%/msjgroup%>
<div id="bigbluebuttonbn-mobile-notifications" style="display:none; color:#31708f; background-color: #d9edf7; padding-right: 35px; border-color: #bce8f1; padding: 15px; margin-bottom: 20px;">
{{ 'plugin.mod_bigbluebuttonbn.view_mobile_message_reload_page_creation_time_meeting' | translate }}
</div>
<core-course-module-description description="<% bigbluebuttonbn.intro %>" component="mod_bigbluebuttonbn" componentId="<% cmid %>"></core-course-module-description>
<ion-list>
<%#errors%>
<ion-item text-wrap>
<% error %>
</ion-item>
<%/errors%>
<%^errors%>
<ion-item text-wrap id="bigbluebuttonbn-mobile-meetingready">
{{ 'plugin.mod_bigbluebuttonbn.view_message_conference_room_ready' | translate }}
</ion-item>
<ion-item>
<button id="bigbluebuttonbn-mobile-join" ion-button block onclick="window.open('<% urltojoin %>', '_system');">
{{ 'plugin.mod_bigbluebuttonbn.view_conference_action_join' | translate }}
</button>
</ion-item>
<%/errors%>
</ion-list>
</div>
@@ -0,0 +1,64 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/mobile_view_page_latest
This template renders the mobile page.
Example context (json):
{
"bigbluebuttonbn.intro": "foo",
"cmid": 3,
"message": "A message",
"errors": [
{"error": "aaa"},
{"error": "bbb"}
],
"urltojoin": "http://foo"
}
}}
{{=<% %>=}}
<div>
<%#msjgroup%>
<div style="color:#856404; background-color: #fff3cd; padding-right: 35px; border-color: #ffeeba; padding: 15px; margin-bottom: 20px;">
<% message %>
</div>
<%/msjgroup%>
<div id="bigbluebuttonbn-mobile-notifications" style="display:none; color:#31708f; background-color: #d9edf7; padding-right: 35px; border-color: #bce8f1; padding: 15px; margin-bottom: 20px;">
{{ 'plugin.mod_bigbluebuttonbn.view_mobile_message_reload_page_creation_time_meeting' | translate }}
</div>
<core-course-module-description description="<% bigbluebuttonbn.intro %>" component="mod_bigbluebuttonbn" componentId="<% cmid %>"></core-course-module-description>
<ion-list>
<%#errors%>
<ion-item class="ion-text-wrap">
<ion-label>
<% error %>
</ion-label>
</ion-item>
<%/errors%>
<%^errors%>
<ion-item class="ion-text-wrap" id="bigbluebuttonbn-mobile-meetingready">
<ion-label>
{{ 'plugin.mod_bigbluebuttonbn.view_message_conference_room_ready' | translate }}
</ion-label>
</ion-item>
<ion-button id="bigbluebuttonbn-mobile-join" class="ion-margin" expand="block" onclick="window.open('<% urltojoin %>', '_system');">
{{ 'plugin.mod_bigbluebuttonbn.view_conference_action_join' | translate }}
</ion-button>
<%/errors%>
</ion-list>
</div>
@@ -0,0 +1,49 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/participant_form
This template renders a row in the participant add form
Example context (json):
{
"instanceTypeProfiles": [{}],
"select": {},
"participanttype": "student",
"participantvalue": "",
"roles": [],
"canRemove": true
}
}}
<div class="participant-form">
{{#selectionType}}
{{> mod_bigbluebuttonbn/participant_single_select}}
{{/selectionType}}
{{#selectionParticipant}}
{{> mod_bigbluebuttonbn/participant_single_select}}
{{/selectionParticipant}}
{{#action}}
<button type="submit" class="btn {{#primary}}btn-primary{{/primary}}{{^primary}}btn-secondary{{/primary}}"
id="{{id}}"
title={{#quote}}{{tooltip}}{{/quote}}
{{#disabled}}disabled{{/disabled}}
{{#attributes}} {{name}}={{#quote}}{{value}}{{/quote}} {{/attributes}}>{{label}}</button>
{{/action}}
<table id="participant_list_table" class="generaltable">
<tbody></tbody>
</table>
</div>
@@ -0,0 +1,57 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/participant_form_add
This template renders a row in the participant add form
Example context (json):
{
"selectiontypevalue": "example",
"selectionvalue": "example",
"participanttype": "student",
"participantvalue": "",
"roles": [],
"canRemove": true
}
}}
<tr id="participant_list_tr_{{selectiontypevalue}}-{{selectionvalue}}">
<td class="participant_list_c0">
<b><i>{{participanttype}}</i></b>
</td>
<td class="participant_list_c1">
{{participantvalue}}
</td>
<td class="participant_list_c2">
<i>{{#str}}mod_form_field_participant_list_text_as, mod_bigbluebuttonbn{{/str}}</i>
</td>
<td class="participant_list_c3">
<select class="participant-select custom-select" name="select-for-{{selectiontypevalue}}-{{selectionvalue}}">
{{#roles}}
<option value="{{id}}" {{#isselected}}selected{{/isselected}}>{{label}}</option>
{{/roles}}
</select>
</td>
<td class="participant_list_c4">
{{#canRemove}}
<a class='btn btn-secondary btn-sm remove-button'>
{{#pix}}t/delete, core, {{#str}}mod_form_field_participant_list_action_remove, mod_bigbluebuttonbn{{/str}}{{/pix}}
</a>
{{/canRemove}}
</td>
</tr>
@@ -0,0 +1,120 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/participant_single_select
Moodle template for a single select without the form and autosubmit
@see template core/single_select
The original select form produced two embedded form tags and would produce random
bugs (https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#form-owner)
Context variables required for this template:
* name - Element name.
* method - get or post.
* action - the action url to submit to.
* classes - Element classes.
* label - Element label.
* disabled - true if this element is disabled.
* title - Element title.
* formid - optional id value for the form.
* id - id for the element.
* params - array of params with name and value attributes.
* options - Array of options for the select with value, name , slected and optgroup properites.
* labelattributes - Label attributes.
* helpicon - Help icon.
Example context (json):
{
"name": "lang",
"method": "get",
"action": "http://localhost/stable_master/mod/scorm/player.php",
"classes": "langmenu",
"label": "Zombies are coming...",
"disabled": false,
"title": null,
"formid": "randomid",
"id": "single_select5833dd4f4b08d108",
"params": [
{
"name": "scoid",
"value": "12"
},
{
"name": "cm",
"value": "15"
},
{
"name": "mode",
"value": "review"
},
{
"name": "currentorg",
"value": "eXeMapADrive4823c6301cf72b22b72"
}
],
"options": [
{
"value": "en",
"name": "English (en)",
"selected": true,
"optgroup": false
},
{
"value": "ar",
"name": "Muhaaaa..",
"selected": false,
"optgroup": false
}
],
"labelattributes": [],
"helpicon": false
}
}}
<div class="{{classes}} d-inline-block">
{{#params}}
<input type="hidden" name="{{name}}" value="{{value}}">
{{/params}}
{{#label}}
<label for="{{id}}"{{#labelattributes}} {{name}}="{{value}}"{{/labelattributes}}>
{{{label}}}
</label>
{{/label}}
{{#helpicon}}
{{>core/help_icon}}
{{/helpicon}}
<select {{#attributes}}{{name}}="{{value}}" {{/attributes}} id="{{id}}" class="custom-select {{classes}}" name="{{name}}"
{{#title}}title="{{.}}"{{/title}} {{#disabled}}disabled{{/disabled}}>
{{#options}}
{{#optgroup}}
<optgroup label="{{name}}">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
{{/options}}
</optgroup>
{{/optgroup}}
{{^optgroup}}
<option {{ignore}} value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
{{/optgroup}}
{{/options}}
</select>
<noscript>
<input type="submit" class="btn btn-secondary ml-1" value="{{#str}}go, core{{/str}}">
</noscript>
</div>
@@ -0,0 +1,58 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/recentactivity
This template will render the Bigbluebutton Activity inside a recent activity report.
Variables requirer for this template:
* userpicture - User fullname and picture
* grade - User grade
* userdate - Submission date
Example context (json):
{
"userpicture": "<a href=\"#\"> </a>",
"eventname": "Joined meeting",
"userdate": "Wednesday, 27 January 2021, 9:54 AM",
"userurl": "http://localhost/m/stable_master/user/view.php?id=3&course=6",
"fullname": "Lukáš Svoboda"
}
}}
<table class="bigbluebuttonbn-recent">
<tbody>
<tr>
<td class="userpicture">{{{userpicture}}}</td>
<td>
<div class="title">
{{#modinfo}}
{{modicon}}<a href="{{modurl}}">{{modname}}</a>
{{/modinfo}}
</div>
{{#eventname}}
<div class="event">
{{eventname}}
</div>
{{/eventname}}
<div class="user">
<a href="{{userurl}}">{{fullname}}</a> - {{#userdate}} {{submissiontimestamp}}, {{#str}} strftimedatetime {{/str}} {{/userdate}}
</div>
</td>
</tr>
</tbody>
</table>
@@ -0,0 +1,53 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/recording_row_actionbar.mustache
This template renders the mobile page.
Example context (json):
{
"id":"1",
"recordingid":"1",
"tools":[
{
"disabled":false,
"url":"#",
"id":"test-id",
"classes":"btn btn-link",
"attributes":[
{
"name":"title",
"value":"Action link's title",
"class":"'btn btn-sm btn-default",
"data-action":"play"
}
],
"text":"This is an action link"
}
]
}
}}
<div id="{{id}}" data-recordingid="{{recordingid}}">
<div class="d-flex flex-row">
{{#tools}}
<div>
{{>core/action_link}}
</div>
{{/tools}}
</div>
</div>
@@ -0,0 +1,52 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/recording_row_playback.mustache
This template renders the mobile page.
Example context (json):
{
"id":"1",
"recordingid":"1",
"tools":[
{
"disabled":false,
"url":"#",
"id":"test-id",
"classes":"btn btn-link",
"attributes":[
{
"name":"title",
"value":"Action link's title",
"class":"'btn btn-sm btn-default",
"data-action":"play"
}
],
"text":"This is an action link"
}
]
}
}}
<div id="{{id}}" data-imported="{{dataimported}}" data-recordingid="{{recordingid}}" data-additionaloptions="{{additionaloptions}}"
title="{{#dataimported}}{{#str}}view_recording_link_warning, bigbluebuttonbn{{/str}}{{/dataimported}}">
{{#playbacks}}
<span class="p-1">
{{>core/action_link}}
</span>
{{/playbacks}}
</div>
@@ -0,0 +1,60 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/recording_row_preview.mustache
This template renders the mobile page.
Example context (json):
{
"id":"1",
"recordingid":"1",
"tools":[
{
"disabled":false,
"url":"#",
"id":"test-id",
"classes":"btn btn-link",
"attributes":[
{
"name":"title",
"value":"Action link's title",
"class":"'btn btn-sm btn-default",
"data-action":"play"
}
],
"text":"This is an action link"
}
]
}
}}
<div id="{{id}}" {{#hidden}}hidden="hidden"{{/hidden}}>
{{#recordingpreviews}}
<div class="container-fluid">
<div class="row">
{{#thumbnails}}
<img src="{{.}}" class="recording-thumbnail pull-left"/>
{{/thumbnails}}
<div class="row">
<div class="text-center text-muted small">
{{#str}}view_recording_preview_help, mod_bigbluebuttonbn{{/str}}
</div>
</div>
</div>
</div>
{{/recordingpreviews}}
</div>
@@ -0,0 +1,51 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/recordings_session
This template renders the mobile page.
Example context (json):
{
"bbbid" : 3,
"has_records": true,
"search_input": {},
"import_button": {
"method" : "get",
"url" : "#",
"primary" : 1,
"tooltip" : "This is a tooltip",
"label" : "This is a the button text",
"id": "thisismybutton",
"attributes": [{
"name": "data-attribute",
"value": "yeah"
}]
}
}
}}
<div class="mod_bigbluebuttonbn_recordings_section">
{{< mod_bigbluebuttonbn/recordings_table}}
{{$title}}{{#str}}view_section_title_recordings, mod_bigbluebuttonbn{{/str}}{{/title}}
{{/mod_bigbluebuttonbn/recordings_table}}
<div class="mt-3">
{{#import_button}}
{{>core/single_button}}
{{/import_button}}
</div>
</div>
@@ -0,0 +1,69 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/recordings_table
This template renders the mobile page.
Example context (json):
{
"bbbid" : 3,
"has_records": true,
"search_input": {}
}
}}
<div class="mod_bigbluebuttonbn_recordings_table">
{{#has_recordings}}
<div>
<h4>{{$title}}{{/title}}</h4>
</div>
<div class="mt-3">
{{#recordingwarnings}}
{{>core/notification}}
{{/recordingwarnings}}
</div>
<div>
{{#search}}
{{>mod_bigbluebuttonbn/search_input_recordings}}
{{/search}}
<div {{!
}} id="bigbluebuttonbn-recording-table-{{uniqid}}"{{!
}} data-bbbid="{{bbbid}}"{{!
}} data-tools="{{$tools}}protect,unprotect,publish,unpublish,delete{{/tools}}"{{!
}} data-group-id="{{groupid}}"{{!
}} {{$otherattributes}}{{/otherattributes}}{{!
}}></div>
</div>
{{/has_recordings}}
{{^has_recordings}}
<div id="bigbluebuttonbn_recordings_table">{{#str}}view_message_norecordings, mod_bigbluebuttonbn{{/str}}</div>
<div class="mt-3">
{{#recordingwarnings}}
{{>core/notification}}
{{/recordingwarnings}}
</div>
{{/has_recordings}}
</div>
{{#has_recordings}}
{{#js}}
require(['mod_bigbluebuttonbn/recordings'], function(recordings) {
recordings.init('#bigbluebuttonbn-recording-table-{{uniqid}}', '#searchform-auto-{{uniqid}}');
});
require(['core/inplace_editable']);
{{/js}}
{{/has_recordings}}
@@ -0,0 +1,115 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/room_view
This template renders the mobile page.
Example context (json):
{
"bigbluebuttonbnid": 1,
"groupid": 0,
"statusclosed": true,
"statusclosed": false,
"openingtime": 123456789,
"closingtime": 987654321
}
}}
<div id="bigbluebuttonbn-room-view" class="box py-3 generalbox boxaligncenter d-flex flex-column flex-md-row" data-bbb-id="{{bigbluebuttonbnid}}"
data-group-id="{{groupid}}">
<div id="bigbluebuttonbn-information">
<div id="bigbluebuttonbn-status-bar" class="text-wrap">
{{#statusrunning}}
<div>
<span class="font-weight-bold">{{#str}}view_message_session_started_at, mod_bigbluebuttonbn{{/str}}:</span>
<span>{{#userdate}} {{startedat}}, {{#str}} strftimetime, core_langconfig{{/str}} {{/userdate}}.</span>
<span class="status-message">{{statusmessage}}</span>
</div>
{{/statusrunning}}
{{^statusrunning}}
<div class="status-message">{{statusmessage}}</div>
{{/statusrunning}}
<div class="conf-opening-time">
{{#openingtime}}
<span class="conf-opening">
<span class="font-weight-bold">{{#str}}mod_form_field_openingtime, bigbluebuttonbn{{/str}}:</span>
{{#userdate}} {{.}}, {{#str}} strftimedaydatetime, langconfig {{/str}} {{/userdate}}
</span>
{{/openingtime}}
{{#closingtime}}
<div class="conf-closing">
<span class="font-weight-bold">{{#str}}mod_form_field_closingtime, bigbluebuttonbn{{/str}}:</span>
{{#userdate}} {{.}}, {{#str}} strftimedaydatetime, langconfig {{/str}} {{/userdate}}
</div>
{{/closingtime}}
</div>
{{#statusrunning}}
<div>
<span class="font-weight-bold">
{{#moderatorplural}}{{#str}}view_message_moderators, mod_bigbluebuttonbn{{/str}}{{/moderatorplural}}
{{^moderatorplural}}{{#str}}view_message_moderator, mod_bigbluebuttonbn{{/str}}{{/moderatorplural}}:
</span>
<span>{{moderatorcount}}</span>
</div>
<div>
<span class="font-weight-bold">
{{#viewerplural}}{{#str}}view_message_viewers, mod_bigbluebuttonbn{{/str}}{{/viewerplural}}
{{^viewerplural}}{{#str}}view_message_viewer, mod_bigbluebuttonbn{{/str}}{{/viewerplural}}:
</span>
<span>{{participantcount}}</span>
</div>
{{/statusrunning}}
</div>
<div id="bigbluebuttonbn-room-view-control-panel" data-bbb-id="{{bigbluebuttonbnid}}" class="mt-2">
{{#haspresentations}}
<h5>{{#str}}view_section_title_presentation, mod_bigbluebuttonbn{{/str}}</h5>
<div class="list-group list-group-flush">
{{#presentations}}
<a href="{{url}}" target="_blank" class="list-group-item list-group-item-action">
{{#pix}}{{iconname}},core, {{icondesc}}{{/pix}}
{{name}}
</a>
{{/presentations}}
</div>
{{/haspresentations}}
</div>
</div>
<div id="bigbluebuttonbn-view-action-button-box" class="mt-0 ml-auto mr-auto mr-md-0">
<div id="bigbluebuttonbn-room-view-action-buttons"
class="d-flex flex-column-reverse flex-md-row">
{{#ismoderator}}
{{#guestaccessenabled}}
{{> mod_bigbluebuttonbn/guest_links}}
{{/guestaccessenabled}}
{{> mod_bigbluebuttonbn/end_session_button}}
{{/ismoderator}}
{{#canjoin}}
<a {{!
}} href="{{{joinurl}}}"{{!
}} class="btn btn-primary bbb-btn-action m-1"{{!
}} data-action="join"{{!
}} target="_blank"{{!
}}>
{{#str}}view_conference_action_join, mod_bigbluebuttonbn{{/str}}
</a>
{{/canjoin}}
</div>
</div>
</div>
@@ -0,0 +1,62 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/search_input_recordings
Search input that auto searches. Inspired from the core/search_input_auto but
does not use a unique id for the search input.
Add a submit button and clear button.
Example context (json):
{
"action": "https://moodle.local/admin/search.php",
"extraclasses": "my-2",
"inputname": "search",
"searchstring": "Search settings",
"sesskey": "sesskey",
"value": "policy",
"btnclass": "primary",
"hiddenfields": [
{
"name": "course",
"value": "11"
}
]
}
}}
<div id="searchform-auto-{{uniqid}}" class="d-flex flex-wrap align-items-center simplesearchform">
<div class="input-group searchbar" role="search">
<label for="mod_bigbluebutton_search-{{uniqid}}">
<span class="sr-only">{{$label}}{{#str}} search, core {{/str}}{{/label}}</span>
</label>
<input
type="text"
id="mod_bigbluebutton_search-{{uniqid}}"
data-region="input"
data-action="search"
class="form-control withclear"
placeholder="{{$placeholder}}{{#str}} search, core {{/str}}{{/placeholder}}"
name="search"
value="{{$value}}{{/value}}"
autocomplete="off"
>
<button type="submit" class="btn {{^btnclass}}btn-submit{{/btnclass}} {{ btnclass }} search-icon">
{{#pix}} a/search, core {{/pix}}
<span class="sr-only">{{ searchstring }}</span>
</button>
</div>
</div>
@@ -0,0 +1,75 @@
{{!
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/>.
}}
{{!
@template mod_bigbluebuttonbn/view_page
This template renders the /view.php page.
Example context (json):
{
"instanceid": 1234,
"meetingname": "My first meeting",
"meetingdescription": "This is my <strong>first</strong> meeting!",
"serverwarning": true,
"sitenotification": {
"message": "Unlock premium feature",
"actions": [
{
"url": "https://example.com/",
"name": "action",
"value": "buy",
"title": "Upgrade now"
}
]
},
"pollinterval": 5
}
}}
{{{groupselector}}}
{{#serverwarning}}
{{>core/notification}}
{{/serverwarning}}
{{#sitenotification}}
{{>core/local/notification/cta}}
{{/sitenotification}}
<h3>{{meetingname}}</h3>
<h5>{{{meetingdescription}}}</h5>
{{#room}}
{{>mod_bigbluebuttonbn/room_view}}
{{/room}}
{{#recordings}}
{{>mod_bigbluebuttonbn/recordings_session}}
{{/recordings}}
{{#js}}
require(['mod_bigbluebuttonbn/rooms'], function(rooms) {
// Register action on all buttons.
rooms.init(
{{instanceid}},
{{pollinterval}}
);
});
{{/js}}