From ea84ece2d13c0cd5b19732db2fce2613d99fb957 Mon Sep 17 00:00:00 2001 From: juan-cortizas-ponte Date: Thu, 16 Sep 2021 17:25:05 +0200 Subject: [PATCH 1/7] bbb plugin add option to close all meetings on cron cron_close_meeting.php process --- main/install/configuration.dist.php | 3 +++ plugin/bbb/cron_close_meeting.php | 4 +++- plugin/bbb/lib/bbb.lib.php | 14 ++++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/main/install/configuration.dist.php b/main/install/configuration.dist.php index 7b98d8c290..c635b3c785 100755 --- a/main/install/configuration.dist.php +++ b/main/install/configuration.dist.php @@ -1992,6 +1992,9 @@ VALUES (21, 13, 'send_notification_at_a_specific_date', 'Send notification at a // Ckeditor settings. //$_configuration['editor_settings'] = ['config' => ['youtube_responsive' => true]]; +// Configuration setting to force a cron process on all campus on a multisite enviroment +//$_configuration['multiple_urls_cron_apply_to_all'] = false; + // KEEP THIS AT THE END // -------- Custom DB changes // Add user activation by confirmation email diff --git a/plugin/bbb/cron_close_meeting.php b/plugin/bbb/cron_close_meeting.php index a94f3b5e86..ae0f2f6d21 100644 --- a/plugin/bbb/cron_close_meeting.php +++ b/plugin/bbb/cron_close_meeting.php @@ -10,9 +10,11 @@ $plugin = BBBPlugin::create(); $meetingTable = Database::get_main_table('plugin_bbb_meeting'); $roomTable = Database::get_main_table('plugin_bbb_room'); +$applyAllUrls = api_get_configuration_value('multiple_urls_cron_apply_to_all'); + $bbb = new bbb(); if ($bbb->pluginEnabled) { - $activeSessions = $bbb->getActiveSessions(); + $activeSessions = $bbb->getActiveSessions($applyAllUrls); if (!empty($activeSessions)) { foreach ($activeSessions as $value) { diff --git a/plugin/bbb/lib/bbb.lib.php b/plugin/bbb/lib/bbb.lib.php index 15c1d6b537..b575dc5697 100755 --- a/plugin/bbb/lib/bbb.lib.php +++ b/plugin/bbb/lib/bbb.lib.php @@ -1844,13 +1844,23 @@ class bbb /** * Get active session in the all platform + * + * @param boolean $allSites Parameter to indicate whether to get the result from all sites + * + * @return array */ - public function getActiveSessions() + public function getActiveSessions($allSites = false) { + $where = ['where' => ['status = ?' => 1]]; + + if (!$allSites) { + $where['where'][' AND access_url = ?'] = $this->accessUrl; + } + $meetingList = Database::select( '*', $this->table, - array('where' => array('status = ? AND access_url = ?' => array(1, $this->accessUrl))) + $where ); return $meetingList; From e3f5c8e79ce98438543bb0c6301754e63e32f01d Mon Sep 17 00:00:00 2001 From: juan-cortizas-ponte Date: Thu, 16 Sep 2021 17:26:24 +0200 Subject: [PATCH 2/7] fix configuration option description --- main/install/configuration.dist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/install/configuration.dist.php b/main/install/configuration.dist.php index c635b3c785..b3e9f48999 100755 --- a/main/install/configuration.dist.php +++ b/main/install/configuration.dist.php @@ -1992,7 +1992,7 @@ VALUES (21, 13, 'send_notification_at_a_specific_date', 'Send notification at a // Ckeditor settings. //$_configuration['editor_settings'] = ['config' => ['youtube_responsive' => true]]; -// Configuration setting to force a cron process on all campus on a multisite enviroment +// Configuration setting to force a cron process on all campus on a multisite environment //$_configuration['multiple_urls_cron_apply_to_all'] = false; // KEEP THIS AT THE END From 6a4dff3ebac8e9c5cb2398437e8afd13677b5604 Mon Sep 17 00:00:00 2001 From: juan-cortizas-ponte Date: Thu, 21 Oct 2021 23:08:05 +0200 Subject: [PATCH 3/7] remove previously added multiple_urls_cron_apply_to_all configuration parameter --- main/install/configuration.dist.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/main/install/configuration.dist.php b/main/install/configuration.dist.php index b3e9f48999..7b98d8c290 100755 --- a/main/install/configuration.dist.php +++ b/main/install/configuration.dist.php @@ -1992,9 +1992,6 @@ VALUES (21, 13, 'send_notification_at_a_specific_date', 'Send notification at a // Ckeditor settings. //$_configuration['editor_settings'] = ['config' => ['youtube_responsive' => true]]; -// Configuration setting to force a cron process on all campus on a multisite environment -//$_configuration['multiple_urls_cron_apply_to_all'] = false; - // KEEP THIS AT THE END // -------- Custom DB changes // Add user activation by confirmation email From b9f68903c7551d6a8933865b9f2ef21a7766881e Mon Sep 17 00:00:00 2001 From: juan-cortizas-ponte Date: Thu, 21 Oct 2021 23:12:37 +0200 Subject: [PATCH 4/7] add config option to manage the application of close rooms cron job to all campuses on a multisite --- plugin/bbb/lib/bbb_plugin.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/bbb/lib/bbb_plugin.class.php b/plugin/bbb/lib/bbb_plugin.class.php index 16c137c730..7d65d09103 100755 --- a/plugin/bbb/lib/bbb_plugin.class.php +++ b/plugin/bbb/lib/bbb_plugin.class.php @@ -74,6 +74,7 @@ class BBBPlugin extends Plugin 'bbb_force_record_generation' => 'checkbox', 'disable_course_settings' => 'boolean', 'meeting_duration' => 'text', + 'plugin_bbb_multiple_urls_cron_apply_to_all' => 'checkbox', ] ); From 5b1a4ba80b0646e5de76cf0a70ca130286f77f3b Mon Sep 17 00:00:00 2001 From: juan-cortizas-ponte Date: Thu, 21 Oct 2021 23:29:08 +0200 Subject: [PATCH 5/7] update the config var to force closure on all campuses --- plugin/bbb/cron_close_meeting.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/bbb/cron_close_meeting.php b/plugin/bbb/cron_close_meeting.php index ae0f2f6d21..43b6a3d426 100644 --- a/plugin/bbb/cron_close_meeting.php +++ b/plugin/bbb/cron_close_meeting.php @@ -10,7 +10,7 @@ $plugin = BBBPlugin::create(); $meetingTable = Database::get_main_table('plugin_bbb_meeting'); $roomTable = Database::get_main_table('plugin_bbb_room'); -$applyAllUrls = api_get_configuration_value('multiple_urls_cron_apply_to_all'); +$applyAllUrls = $plugin->get('plugin_bbb_multiple_urls_cron_apply_to_all'); $bbb = new bbb(); if ($bbb->pluginEnabled) { From 8b67419dc2fb2cd15edacf45550d092e2f666662 Mon Sep 17 00:00:00 2001 From: juan-cortizas-ponte Date: Thu, 21 Oct 2021 23:30:22 +0200 Subject: [PATCH 6/7] add new translations --- plugin/bbb/lang/english.php | 2 ++ plugin/bbb/lang/spanish.php | 2 ++ 2 files changed, 4 insertions(+) diff --git a/plugin/bbb/lang/english.php b/plugin/bbb/lang/english.php index b12120fd2c..26b5327629 100755 --- a/plugin/bbb/lang/english.php +++ b/plugin/bbb/lang/english.php @@ -74,3 +74,5 @@ $strings['RoomClosed'] = 'Room closed'; $strings['RoomClosedComment'] = ' '; $strings['meeting_duration'] = 'Meeting duration (in minutes)'; $strings['big_blue_button_students_start_conference_in_groups'] = 'Allow students to start conference in their groups.'; +$strings['plugin_bbb_multiple_urls_cron_apply_to_all'] = 'Automatically closes all rooms on ALL campuses.'; +$strings['plugin_bbb_multiple_urls_cron_apply_to_all_help'] = 'Option for multi-url environments. Allows the CRON task to close all open rooms on mother and child campus.'; diff --git a/plugin/bbb/lang/spanish.php b/plugin/bbb/lang/spanish.php index dfd4dddde6..6be449b6d8 100755 --- a/plugin/bbb/lang/spanish.php +++ b/plugin/bbb/lang/spanish.php @@ -67,3 +67,5 @@ $strings['CreatedAt'] = 'Creado el'; $strings['ThereIsNoVideoConferenceActive'] = "No hay una videoconferencia actualmente activa"; $strings['meeting_duration'] = 'Duración de la reunión (en minutos)'; $strings['big_blue_button_students_start_conference_in_groups'] = 'Permitir a los estudiantes iniciar una videoconferencia en sus grupos.'; +$strings['plugin_bbb_multiple_urls_cron_apply_to_all'] = 'Cerrar automáticamente todas las salas sin actividad en TODOS los campus.'; +$strings['plugin_bbb_multiple_urls_cron_apply_to_all_help'] = 'Opción para entornos multi-url. Permite a la tarea CRON cerrar todas las salas abiertas del campus madre e hijos.'; From 63df6dca609e1e95535e19fd7fdeba37c04ba0bc Mon Sep 17 00:00:00 2001 From: juan-cortizas-ponte Date: Thu, 21 Oct 2021 23:38:09 +0200 Subject: [PATCH 7/7] fix changelog version number --- plugin/bbb/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugin/bbb/CHANGELOG.md b/plugin/bbb/CHANGELOG.md index 0ea24ac144..8adc96ca21 100644 --- a/plugin/bbb/CHANGELOG.md +++ b/plugin/bbb/CHANGELOG.md @@ -1,3 +1,7 @@ +Version 3.0 - 2021-10 +--------------------- +* Add option to close all rooms on all campus on a multi-url enviroment + Version 2.9 - 2021-08 --------------------- * Remove interface option (HTML5/Flash)