From 92218a89a43e1e08a2fa5a999377e60842cfcf93 Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Tue, 10 May 2016 10:47:07 +0200 Subject: [PATCH] Add link in group_space if tool is enabled + group setting is on. BT#11014 Added bbb plugin setting "enable_conference_in_course_groups". --- main/group/group_space.php | 11 +++++++++ main/img/icons/32/bbb.png | Bin 0 -> 1793 bytes main/img/icons/32/bbb_na.png | Bin 0 -> 946 bytes plugin/bbb/changelog.md | 11 +++++---- plugin/bbb/lib/bbb.lib.php | 6 ++++- plugin/bbb/lib/bbb_plugin.class.php | 36 +++++++++++++++------------- 6 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 main/img/icons/32/bbb.png create mode 100644 main/img/icons/32/bbb_na.png diff --git a/main/group/group_space.php b/main/group/group_space.php index 9187178cb5..84b5a27433 100755 --- a/main/group/group_space.php +++ b/main/group/group_space.php @@ -204,6 +204,17 @@ if (api_is_allowed_to_edit(false, true) || } } + $enabled = api_get_plugin_setting('bbb', 'tool_enable'); + if ($enabled === 'true') { + $bbb = new bbb(); + if ($bbb->hasGroupSupport()) { + $actions_array[] = array( + 'url' => api_get_path(WEB_PLUGIN_PATH)."bbb/start.php?".api_get_cidreq(), + 'content' => Display::return_icon('bbb.png', get_lang('VideoConference'), array(), 32) + ); + } + } + if (!empty($actions_array)) { echo Display::actions($actions_array); } diff --git a/main/img/icons/32/bbb.png b/main/img/icons/32/bbb.png new file mode 100644 index 0000000000000000000000000000000000000000..6810a03756a474e1b86ebe389fe2194550bec2d8 GIT binary patch literal 1793 zcmV+c2mbhpP)o)4y%&5x{{L?+_Ja4dibh{Lc76PnZ+!bb^AZ2-0LI40I-@VV7%LVElnOZt#Uhz(wi=7YuPVf3*LBD0&E~~=qcz@aHYdvq zi?fe^_S4P(3c%OD^S$&(5A3d;S<-NNdYPM>V{T@eTBS_TZDJFUwhgjLn|wM+Z#F}^ zrw2P0ZwOtV4W*p)ykOi5f{Ri{W16l{=JTa12lw1tTNA(w$9{2VJ{3PVWesA+lej^I z8%q38;YZ*pffp)Tu1Bp_W3e(%y;8<+ETDT0;>x4PkYpV}Heu7(-$$f$_U${EKCt)R z#)^-z8bEI*JzTHXFb9(aQW46CP%5N~2xUau4O!|2v^lCCLM@Cq z=Xx}oZSJ2wP12obWb@WO;PwDL$>gS)xp_>(BNIbg*HtuBvJ}-LlHFr zhOXfl8kVl135X&^WIE&xgKD+Qj_r3Z-RQF_Kq3(zX}JMC3Tke^=;;||>K-G7IJ<{4 z#7!LlUq-lrr0q+ZZb;J$Y59_d7Z61t1o&Y{IuTKclsDYpzpy3%$FfFRfucO$fJu80(jl- z;Mv8HPaPWMjma8+nW6&~t%hX!JM+J+^@m5JZYFT85A^0wATjbh}*~+nQJt zz?Z)EO}o0ZnA^R1h#&r8g87z@t}Tac<-VdoMpWBAm6nff2ojcoyao{|KxkxzOTF15 znM#bW31H`k?&z!4YK&e`cxLh@(_2Xs5J*L>8?Z8669T0PvYJP;)n@(1p^LW#_|bDe zBOZ6wO;2A%WHyi#8ZuHu*Gj4)P$-nTHHe`JQjS5=(lK?75Q9R?!*e}KeWeMd6hesA z0Y3BS5nlfFs~gLW4(m4-P=SvO6=4`HUs54MNf<`RYn#&woULn=Qa1UxManU-bPX?p z?5sx>*t})S)Q#q=wm=9r*CNT#P==t}T{a4q(=KI%3>1Ns%j0WsC`Bn|QA$|k9g~!; zV+ujDn4BjiBNp!vM>+%D2qSyI;KY%i|n=_|Wsf z^8jZj%GUY6y}6~+>FlyBdtYOzvcp_-x0TQRDIS_JDxQnX=J5(e!hv-->(-IWq$xQD zY2aL^f$w?PiR8?h01iKV=pUXxxS`|&Z!4wFKKcD0v}R|o&JGWM;9FByXTCdq^-ABs zx*_s`PwnlusHS?D3ni}$L2tgq(9kgRm3dsZOTKU5!kPeXrJuiieAg47f8uz%*~m>z zUE$Qp-!3o12$mKX5ePI*$1qJa%i`$KqhGBwr|zDbJ-f@T`Wr0UVPxxF&-}~3WB^Z( zzPSC=?_ND!U09%6tzz32&1Q>sr-SSHNGUN4lTro25V&rKR3b(u zoxpWHYPB|V0*N4Epnr&;JpCMp9(w4{zVAPJ;`l2U0rj5(+!SEbvU`tw z;*)p9V%C1!w)Uq}$$Jv<*uXpQj3LpU8h!SeFF)|$gNv`7IPsnzq{OuqmD#yx@AgLy jA9(;synnv@ztGkdg00002VoOIv0RM-N z%)bBt010qNS#tmY3ljhU3ljkVnw%H_000McNliru-~|c@Di@z-#$f;e14BtfK~zY` z-IYsh8$}q$f3v$@uh;81kGf4Apl>UsJW`a3lt{hs5QrXlTncBzwHHnt5T~Btg18`Y zLqNmOsv_st9b zQ}!hQ7w$_Vc6NVy%c|68%5#^?AN&6bP;7mX%8_F){VVnYCI4n)x>0mX)#W$be*kzt zd!|;wq0AChJTxpaWErH7R6|>qrJxv2%bR*>&)k!>9)PcoXa59?h>!?LOhk(sRaS6m zBQQzfuph-lcA^1bYzOo|daEc zM|DCJXe2NY#OP#LU~FwevjgB9^@wTl3v2A-FeVTY65!(z;Gqz-$q@(nY7c;Uv`v}s z8RZEg0zyInG!h6BgtTcBVn9Wx9)S2joifiLy4gcaOpHVlAv+$0HovLa0q{m{^CCs& zaEUv)8>FxhL`WiHK;V;{?E!cRCg0MR!WgXM^VFNcy@EF3wWLH4%InG z)X6sLmMtR2Ad7>Afn*&h%!}PM5XagS@H@io7)1sLha`d)Gw7VI^eAFjP^@AzK$4iC za~~uT3DRV+u`swzj9C+{UVyJpXu-+ak&+f-Vc{@H27?GeiWD|!bXJHk%Uh~0;2X|P zF$FW`?}gU5Ik9#!e&m|1)52khJQ)T^W8f2DFZBSN?X-v5TvLC1*j!pZ@ZS6fi^C%* zZjm7Z_V6GTeD+=M0obx{$IoAMhvvD0La~ZKkig*FJGI9a#_I=@6h8gSCk>{?e)z4* z3Q63~eMsOi#4M+7<$mnD^3?TwbM)#x0B$5c5xc@cYtn*&B0e6PEDGV*~jht4b(@Uzy0j$rThM{1P1-5#$I}wH2+7t19)Xr U&bGy3m;e9(07*qoM6N<$g4C3zjsO4v literal 0 HcmV?d00001 diff --git a/plugin/bbb/changelog.md b/plugin/bbb/changelog.md index 86ed797e33..edf37fe39f 100644 --- a/plugin/bbb/changelog.md +++ b/plugin/bbb/changelog.md @@ -1,16 +1,17 @@ -Version 2.4 +Version 2.4 2016-05 ------------------------ Changes: -* Global conference support (Requires to turn on, in plugin settings) -* Course group conference support. - * Requires a DB change: "ALTER TABLE plugin_bbb_meeting ADD COLUMN group_id INT DEFAULT 0" +* Global conference support (Requires to update the plugin settings). +* Course group conference support + * Requires a database change: "ALTER TABLE plugin_bbb_meeting ADD COLUMN group_id INT DEFAULT 0" + * Requires to update the plugin settings. Version 2.3 - 2015-05-18 ------------------------ Changes: * Added support for variable voiceBridge to be sent on meeting creation. See https://code.google.com/p/bigbluebutton/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Component%20Summary&groupby=&sort=&id=1186 and https://support.chamilo.org/issues/7669 for details. -* Requires a DB change: "ALTER TABLE plugin_bbb_meeting ADD COLUMN voice_bridge INT NOT NULL DEFAULT 1;" +* Requires a database change: "ALTER TABLE plugin_bbb_meeting ADD COLUMN voice_bridge INT NOT NULL DEFAULT 1;" Version 2.2 - 2014-10-15 ------------------------ diff --git a/plugin/bbb/lib/bbb.lib.php b/plugin/bbb/lib/bbb.lib.php index 10b35ac0f4..8c7597521a 100755 --- a/plugin/bbb/lib/bbb.lib.php +++ b/plugin/bbb/lib/bbb.lib.php @@ -53,6 +53,10 @@ class bbb $columns = Database::listTableColumns($this->table); $this->groupSupport = isset($columns['group_id']) ? true : false; + if ($this->groupSupport) { + $this->groupSupport = (bool) $plugin->get('enable_conference_in_course_groups'); + } + if ($bbbPlugin === true) { $userInfo = api_get_user_info(); $this->user_complete_name = $userInfo['complete_name']; @@ -998,7 +1002,7 @@ class bbb return api_get_course_id().'-'.api_get_session_id().'-'.api_get_group_id(); } - + return api_get_course_id().'-'.api_get_session_id(); } diff --git a/plugin/bbb/lib/bbb_plugin.class.php b/plugin/bbb/lib/bbb_plugin.class.php index 9e7ff4e75a..fd7bb6df51 100755 --- a/plugin/bbb/lib/bbb_plugin.class.php +++ b/plugin/bbb/lib/bbb_plugin.class.php @@ -37,6 +37,7 @@ class BBBPlugin extends Plugin 'host' => 'text', 'salt' => 'text', 'enable_global_conference' => 'boolean', + 'enable_conference_in_course_groups' => 'boolean', ] ); } @@ -76,7 +77,7 @@ class BBBPlugin extends Plugin )"; Database::query($sql); - //Installing course settings + // Installing course settings $this->install_course_fields_in_all_courses(); } @@ -89,25 +90,26 @@ class BBBPlugin extends Plugin $t_options = Database::get_main_table(TABLE_MAIN_SETTINGS_OPTIONS); $t_tool = Database::get_course_table(TABLE_TOOL_LIST); - // New settings - $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_tool_enable'"; - Database::query($sql); - $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_salt'"; - Database::query($sql); - $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_host'"; - Database::query($sql); + $variables = [ + 'bbb_salt', + 'bbb_host', + 'bbb_tool_enable', + 'enable_global_conference', + 'enable_conference_in_course_groups', + 'bbb_plugin', + 'bbb_plugin_host', + 'bbb_plugin_salt' + ]; + + foreach ($variables as $variable) { + $sql = "DELETE FROM $t_settings WHERE variable = '$variable'"; + Database::query($sql); + } - //Old settings deleting just in case - $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_plugin'"; - Database::query($sql); $sql = "DELETE FROM $t_options WHERE variable = 'bbb_plugin'"; Database::query($sql); - $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_plugin_host'"; - Database::query($sql); - $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_plugin_salt'"; - Database::query($sql); - //hack to get rid of Database::query warning (please add c_id...) + // hack to get rid of Database::query warning (please add c_id...) $sql = "DELETE FROM $t_tool WHERE name = 'bbb' AND c_id != 0"; Database::query($sql); @@ -115,7 +117,7 @@ class BBBPlugin extends Plugin $sql = "DROP TABLE IF EXISTS $t"; Database::query($sql); - //Deleting course settings + // Deleting course settings $this->uninstall_course_fields_in_all_courses($this->course_settings); } }