Plugin: Google Meet: Merging into Chamilo - refs #3293
@ -0,0 +1,14 @@ |
||||
Google Meet plugin |
||||
============================ |
||||
This plugin allows you to have videoconference rooms in each course using Google Meet. |
||||
This is only a light integration, meaning you will still need to go to Google Meet and |
||||
have a Google account in order to create a meeting *and* students will need to be |
||||
connected to their Google account to connect. However, we believe there is still value |
||||
in making this plugin available for our community at large. |
||||
|
||||
# Changelog |
||||
|
||||
## Version 1.0 - 2020-07-09 |
||||
|
||||
Initial release. Includes the possibility to create meetings manually, through |
||||
a link to https://meet.google.com/ |
@ -1,11 +1,10 @@ |
||||
|
||||
<?php |
||||
/** |
||||
* Config the plugin. |
||||
* |
||||
* @author Alex Aragón Calixto <alex.aragon@tunqui.pe> |
||||
* |
||||
* @package chamilo.plugin.googlemeet |
||||
* @package chamilo.plugin.google_meet |
||||
*/ |
||||
require_once __DIR__.'/../../main/inc/global.inc.php'; |
||||
require_once 'src/googlemeet_plugin.class.php'; |
||||
require_once 'src/google_meet_plugin.class.php'; |
@ -0,0 +1,24 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
|
||||
$strings['plugin_title'] = 'Google Meet'; |
||||
$strings['plugin_comment'] = 'Google Meet is the videoconference system from Google.'; |
||||
$strings['tool_title'] = 'Tool name'; |
||||
$strings['tool_title_help'] = 'You can change the tool name to something else than "Google Meet". For example: Videoconference'; |
||||
$strings['google_meet_enabled'] = 'Enable the Google Meet tool'; |
||||
$strings['google_meet_enabled_help'] = 'Choose whether you want to enable this tool. This will make a new tool available on the homepage of every course.'; |
||||
$strings['CourseDoesNotHaveAccountGoogleMeet'] = 'This course does not have a meeting configured.'; |
||||
$strings['ManageMeetAccounts'] = 'Add a new Google Meet meeting'; |
||||
$strings['AddMeet'] = 'Register a new meeting'; |
||||
$strings['EditMeet'] = 'Edit meeting'; |
||||
$strings['MeetName'] = 'Name of the meeting'; |
||||
$strings['MeetNameHelp'] = 'Assign a name for the meeting (e.g. Room 1 - Strategy)'; |
||||
$strings['GoogleMeetURL'] = 'Meeting URL'; |
||||
$strings['GoogleMeetURLHelp'] = 'This is the URL to start a new instant meeting with Google Meet. If you do not have a meeting URL yet, <a href="%s" target="_blank">click here</a> to create one, then save the URL and put it in this field.'; |
||||
$strings['AccessMeeting'] = 'Access the meeting'; |
||||
$strings['MeetingDescription'] = 'Description'; |
||||
$strings['MeetingDescriptionHelp'] = '(Optional) Add a short description for the meeting.'; |
||||
$strings['MeetColor'] = 'Color of Meet'; |
||||
$strings['MeetColorHelp'] = '(Optional)'; |
||||
|
||||
|
@ -0,0 +1,24 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
|
||||
$strings['plugin_title'] = 'Google Meet'; |
||||
$strings['plugin_comment'] = 'Google Meet est le système de vidéoconférence de Google.'; |
||||
$strings['tool_title'] = "Nom de l'outil"; |
||||
$strings['tool_title_help'] = 'Vous pouvez modifier le nom de cet outil dans les cours à autre chose que "Google Meet". Par exemple: Vidéoconférence'; |
||||
$strings['google_meet_enabled'] = "Activer l'outil"; |
||||
$strings['google_meet_enabled_help'] = "Choisissez si vous souhaitez activer/désactiver cet outil. L'activer rendra un nouvel outil disponible sur la page principale de chaque cours."; |
||||
$strings['CourseDoesNotHaveAccountGoogleMeet'] = "Ce cours n'a encore aucune réunion configurée."; |
||||
$strings['ManageMeetAccounts'] = 'Ajouter une nouvelle réunion Google Meet'; |
||||
$strings['AddMeet'] = 'Enregistrer une nouvelle réunion'; |
||||
$strings['EditMeet'] = 'Éditer la réunion'; |
||||
$strings['MeetName'] = 'Titre de la réunion'; |
||||
$strings['MeetNameHelp'] = 'Assignez-lui un nom (ex: Salle 1 - Stratégie)'; |
||||
$strings['GoogleMeetURL'] = 'URL de la réunion'; |
||||
$strings['GoogleMeetURLHelp'] = 'Il s\'agit de l\'URL de démarrage de la réunion sur Google Meet. Si vous n\'avez pas encore d\'URL, <a href="%s" target="_blank">cliquez ici</a> pour en créer une, puis copiez son URL et collez-la dans ce champs.'; |
||||
$strings['AccessMeeting'] = 'Accéder à la réunion'; |
||||
$strings['MeetingDescription'] = 'Description'; |
||||
$strings['MeetingDescriptionHelp'] = '(Optionnel) Ajouter une brève description.'; |
||||
$strings['MeetColor'] = 'Couleur de la réunion'; |
||||
$strings['MeetColorHelp'] = '(Optionnel)'; |
||||
|
||||
|
@ -0,0 +1,24 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
|
||||
$strings['plugin_title'] = 'Google Meet'; |
||||
$strings['plugin_comment'] = 'Google Meet es el sistema de videoconferencia de Google.'; |
||||
$strings['tool_title'] = 'Nombre de la herramienta'; |
||||
$strings['tool_title_help'] = 'Puede cambiar el nombre de la herramienta Google Meet. Ejemplo: Videoconferencia'; |
||||
$strings['google_meet_enabled'] = 'Activar herramienta Google Meet'; |
||||
$strings['google_meet_enabled_help'] = 'Escoja si desea activar el plugin en esta plataforma. Esta acción activará una herramienta extra en la página principal del curso.'; |
||||
$strings['CourseDoesNotHaveAccountGoogleMeet'] = 'Este curso no tiene configurado una reunión Google Meet.'; |
||||
$strings['ManageMeetAccounts'] = 'Agregar una reunión Google Meet'; |
||||
$strings['AddMeet'] = 'Registrar reunión Google Meet'; |
||||
$strings['EditMeet'] = 'Editar reunión Google Meet'; |
||||
$strings['MeetName'] = 'Nombre de la reunión'; |
||||
$strings['MeetNameHelp'] = 'Asigne un nombre para la reunión. Ejemplo: Sala 1'; |
||||
$strings['GoogleMeetURL'] = 'URL del Meet'; |
||||
$strings['GoogleMeetURLHelp'] = 'Es la URL para iniciar una reunión instantánea con Google Meet. Si no tiene una URL de reunión todavía, <a href=\"%s\" target=\"_blank\">haga clic aquí</a> para crear una, luego guarde la URL y colóquela en el campo arriba.'; |
||||
$strings['AccessMeeting'] = 'Acceder a la reunión'; |
||||
$strings['MeetingDescription'] = 'Descripción'; |
||||
$strings['MeetingDescriptionHelp'] = '(Opcional) Añada una breve descripción sobre la reunión.'; |
||||
$strings['MeetColor'] = 'Color de Meet'; |
||||
$strings['MeetColorHelp'] = '(Opcional)'; |
||||
|
||||
|
@ -0,0 +1,148 @@ |
||||
.plugin_logo{ |
||||
text-align: center; |
||||
padding-top: 1rem; |
||||
padding-bottom: 1rem; |
||||
} |
||||
.plugin_logo .img-responsive{ |
||||
margin: auto; |
||||
} |
||||
.tools{ |
||||
margin-bottom: 2rem; |
||||
margin-top: 1rem; |
||||
} |
||||
.card{ |
||||
position: relative; |
||||
display: flex; |
||||
flex-direction: column; |
||||
min-width: 0; |
||||
word-wrap: break-word; |
||||
border: 1px solid rgba(0,0,0,.05); |
||||
border-radius: .375rem; |
||||
background-color: #fff; |
||||
background-clip: border-box; |
||||
} |
||||
.card-meet{ |
||||
margin-bottom: 30px; |
||||
border: 0; |
||||
box-shadow: 0 0 2rem 0 rgba(136,152,170,.15); |
||||
} |
||||
.card-meet:hover{ |
||||
border-left: .25rem solid #cdcdcd !important; |
||||
} |
||||
.card-meet .card-body { |
||||
padding: 1rem 1.5rem; |
||||
} |
||||
.row-meet { |
||||
display: block; |
||||
} |
||||
|
||||
.description{ |
||||
padding-left: 1rem; |
||||
padding-right: 1rem; |
||||
padding-top: 2rem; |
||||
font-size: 12px; |
||||
color: #666666; |
||||
display: grid; |
||||
} |
||||
.description .title{ |
||||
font-size: 1.45rem; |
||||
font-weight: 600!important; |
||||
color: #32325d; |
||||
overflow:hidden; |
||||
white-space:nowrap; |
||||
text-overflow: ellipsis; |
||||
width: 100%; |
||||
display: inline-block; |
||||
} |
||||
.description .text{ |
||||
display: grid; |
||||
padding-bottom: 1rem; |
||||
} |
||||
.rounded-circle { |
||||
border-radius: 50%!important; |
||||
} |
||||
.shadow { |
||||
box-shadow: 0 0 2rem 0 rgba(136,152,170,.15)!important; |
||||
} |
||||
.icon { |
||||
width: 5rem; |
||||
height: 5rem; |
||||
} |
||||
.icon-shape { |
||||
display: inline-flex; |
||||
padding: 12px; |
||||
text-align: center; |
||||
border-radius: 50%; |
||||
align-items: center; |
||||
justify-content: center; |
||||
position: absolute; |
||||
right: 40%; |
||||
top: -20px; |
||||
} |
||||
.icon-shape .fa{ |
||||
font-size: 20px; |
||||
} |
||||
|
||||
.text-white { |
||||
color: #fff!important; |
||||
} |
||||
.btn-meet{ |
||||
color: #fff; |
||||
border-color: #5e72e4; |
||||
background-color: #5e72e4; |
||||
box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08); |
||||
} |
||||
.btn-meet:hover { |
||||
color: #fff; |
||||
border-color: #5e72e4; |
||||
background-color: #5e72e4; |
||||
} |
||||
.btn:hover { |
||||
transform: translateY(-1px); |
||||
box-shadow: 0 7px 14px rgba(50,50,93,.1), 0 3px 6px rgba(0,0,0,.08); |
||||
} |
||||
.float-right { |
||||
position: absolute; |
||||
top: 5px; |
||||
right: 5px; |
||||
} |
||||
.btn-add-meet{ |
||||
color: #fff; |
||||
border-color: #1cc88a; |
||||
background-color: #1cc88a; |
||||
font-weight: bold; |
||||
} |
||||
.btn-add-meet:hover { |
||||
color: #fff; |
||||
border-color: #17a673; |
||||
background-color: #169b6b; |
||||
} |
||||
.meet-list{ |
||||
display: grid; |
||||
grid-template-columns: repeat(3, 1fr); |
||||
} |
||||
.meet-list .meet-item{ |
||||
margin: 10px; |
||||
} |
||||
.meet-list .meet-item .card-meet{ |
||||
min-height: 220px; |
||||
} |
||||
@media (min-width: 768px) and (max-width: 979px) { |
||||
.meet-list { |
||||
display: grid; |
||||
grid-template-columns: repeat(2, 1fr); |
||||
} |
||||
} |
||||
@media (max-width: 767px) { |
||||
.meet-list { |
||||
display: grid; |
||||
grid-template-columns: repeat(2, 1fr); |
||||
} |
||||
} |
||||
/* Landscape phones and down */ |
||||
@media (max-width: 480px) { |
||||
.meet-list { |
||||
display: grid; |
||||
grid-template-columns: repeat(1, 1fr); |
||||
} |
||||
} |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
@ -1,5 +1,4 @@ |
||||
|
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
require_once __DIR__.'/config.php'; |
||||
GoogleMeetPlugin::create()->uninstall(); |
||||
GoogleMeetPlugin::create()->uninstall(); |
@ -1,26 +0,0 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
|
||||
$strings['plugin_title'] = 'Hangouts Meet'; |
||||
$strings['plugin_comment'] = 'Google Hangouts Meet es el sistema de videoconferencia de Google, Conformado por a la app de Hangouts Meet y el Hardware de videoconferencia.'; |
||||
$strings['tool_title'] = 'Nombre de la herramienta'; |
||||
$strings['tool_title_help'] = 'Puede cambiar el nombre de la herramienta Google Meet; Ejemplo: Videoconferencia'; |
||||
$strings['google_meet_enabled'] = 'Activar Herramienta Google Meet'; |
||||
$strings['google_meet_enabled_help'] = 'Escoga si desea activar el plugin en su plataforma Chamilo, esta acción activara una herramienta extra en las herramienta del curso.'; |
||||
$strings['CourseDoesNotHaveAccountGoogleMeet'] = 'Este curso no tiene configurado una reunión Google Meet.'; |
||||
$strings['ManageMeetAccounts'] = 'Agregar una reunión Google Meet'; |
||||
$strings['AddMeet'] = 'Registrar reunión Google Meet'; |
||||
$strings['EditMeet'] = 'Editar reunión Google Meet'; |
||||
$strings['MeetName'] = 'Nombre de la reunión'; |
||||
$strings['MeetNameHelp'] = 'Asigna un nombre para la reunión. Ejemplo: Sala 1'; |
||||
$strings['GoogleMeetURL'] = "URL del Meet"; |
||||
$strings['GoogleMeetURLHelp'] = "Es la URL para iniciar una reunión instantánea conn Google Meet"; |
||||
$strings['AccessMeeting'] = "Accede a la reunión"; |
||||
$strings['MeetingDescription'] = "Descripción"; |
||||
$strings['MeetingDescriptionHelp'] = "(Opcional) Añade una breve descripción sobre la reunión."; |
||||
$strings['MeetColor'] = "Color Meet"; |
||||
$strings['MeetColorHelp'] = "(Opcional)"; |
||||
$strings['StartDateMeet'] = "Fecha de inicio"; |
||||
$strings['EndDateMeet'] = "Fecha de fin"; |
||||
|
||||
|
@ -1,148 +0,0 @@ |
||||
.plugin_logo{ |
||||
text-align: center; |
||||
padding-top: 1rem; |
||||
padding-bottom: 1rem; |
||||
} |
||||
.plugin_logo .img-responsive{ |
||||
margin: auto; |
||||
} |
||||
.tools{ |
||||
margin-bottom: 2rem; |
||||
margin-top: 1rem; |
||||
} |
||||
.card{ |
||||
position: relative; |
||||
display: flex; |
||||
flex-direction: column; |
||||
min-width: 0; |
||||
word-wrap: break-word; |
||||
border: 1px solid rgba(0,0,0,.05); |
||||
border-radius: .375rem; |
||||
background-color: #fff; |
||||
background-clip: border-box; |
||||
} |
||||
.card-meet{ |
||||
margin-bottom: 30px; |
||||
border: 0; |
||||
box-shadow: 0 0 2rem 0 rgba(136,152,170,.15); |
||||
} |
||||
.card-meet:hover{ |
||||
border-left: .25rem solid #cdcdcd !important; |
||||
} |
||||
.card-meet .card-body { |
||||
padding: 1rem 1.5rem; |
||||
} |
||||
.row-meet { |
||||
display: block; |
||||
} |
||||
|
||||
.description{ |
||||
padding-left: 1rem; |
||||
padding-right: 1rem; |
||||
padding-top: 2rem; |
||||
font-size: 12px; |
||||
color: #666666; |
||||
display: grid; |
||||
} |
||||
.description .title{ |
||||
font-size: 1.45rem; |
||||
font-weight: 600!important; |
||||
color: #32325d; |
||||
overflow:hidden; |
||||
white-space:nowrap; |
||||
text-overflow: ellipsis; |
||||
width: 100%; |
||||
display: inline-block; |
||||
} |
||||
.description .text{ |
||||
display: grid; |
||||
padding-bottom: 1rem; |
||||
} |
||||
.rounded-circle { |
||||
border-radius: 50%!important; |
||||
} |
||||
.shadow { |
||||
box-shadow: 0 0 2rem 0 rgba(136,152,170,.15)!important; |
||||
} |
||||
.icon { |
||||
width: 5rem; |
||||
height: 5rem; |
||||
} |
||||
.icon-shape { |
||||
display: inline-flex; |
||||
padding: 12px; |
||||
text-align: center; |
||||
border-radius: 50%; |
||||
align-items: center; |
||||
justify-content: center; |
||||
position: absolute; |
||||
right: 40%; |
||||
top: -20px; |
||||
} |
||||
.icon-shape .fa{ |
||||
font-size: 20px; |
||||
} |
||||
|
||||
.text-white { |
||||
color: #fff!important; |
||||
} |
||||
.btn-meet{ |
||||
color: #fff; |
||||
border-color: #5e72e4; |
||||
background-color: #5e72e4; |
||||
box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08); |
||||
} |
||||
.btn-meet:hover { |
||||
color: #fff; |
||||
border-color: #5e72e4; |
||||
background-color: #5e72e4; |
||||
} |
||||
.btn:hover { |
||||
transform: translateY(-1px); |
||||
box-shadow: 0 7px 14px rgba(50,50,93,.1), 0 3px 6px rgba(0,0,0,.08); |
||||
} |
||||
.float-right { |
||||
position: absolute; |
||||
top: 5px; |
||||
right: 5px; |
||||
} |
||||
.btn-add-meet{ |
||||
color: #fff; |
||||
border-color: #1cc88a; |
||||
background-color: #1cc88a; |
||||
font-weight: bold; |
||||
} |
||||
.btn-add-meet:hover { |
||||
color: #fff; |
||||
border-color: #17a673; |
||||
background-color: #169b6b; |
||||
} |
||||
.meet-list{ |
||||
display: grid; |
||||
grid-template-columns: repeat(3, 1fr); |
||||
} |
||||
.meet-list .meet-item{ |
||||
margin: 10px; |
||||
} |
||||
.meet-list .meet-item .card-meet{ |
||||
min-height: 220px; |
||||
} |
||||
@media (min-width: 768px) and (max-width: 979px) { |
||||
.meet-list { |
||||
display: grid; |
||||
grid-template-columns: repeat(2, 1fr); |
||||
} |
||||
} |
||||
@media (max-width: 767px) { |
||||
.meet-list { |
||||
display: grid; |
||||
grid-template-columns: repeat(2, 1fr); |
||||
} |
||||
} |
||||
/* Landscape phones and down */ |
||||
@media (max-width: 480px) { |
||||
.meet-list { |
||||
display: grid; |
||||
grid-template-columns: repeat(1, 1fr); |
||||
} |
||||
} |