Merge pull request #1446 from jloguercio/1.10.x

Added date filter to admin record list in videoconference - Refs BT#11636
1.10.x
José Loguercio 9 years ago committed by GitHub
commit d44d469c4a
  1. 31
      plugin/bbb/admin.php
  2. 7
      plugin/bbb/admin.tpl
  3. 2
      plugin/bbb/lang/spanish.php
  4. 16
      plugin/bbb/lib/bbb.lib.php

@ -19,7 +19,26 @@ $tool_name = $plugin->get_lang('Videoconference');
$bbb = new bbb('', '');
$action = isset($_GET['action']) ? $_GET['action'] : null;
$meetings = $bbb->getMeetings(0, 0, 0, true);
$form = new FormValidator(get_lang('Search'));
$form->addDatePicker('search_meeting', get_lang('Date'));
$form->addButtonSearch(get_lang('Search'));
$actions = [];
if ($form->validate()) {
$date = $form->getSubmitValue('search_meeting');
$meetings = $bbb->getMeetings(0, 0, 0, true, $date);
$actions[] = Display::toolbarButton(
$plugin->get_lang('ReturnToFullList'),
api_get_self(),
'list',
'primary'
);
} else {
$meetings = $bbb->getMeetings(0, 0, 0, true);
}
foreach ($meetings as &$meeting) {
$participants = $bbb->findMeetingParticipants($meeting['id']);
@ -35,12 +54,12 @@ if ($action) {
switch ($action) {
case 'export':
$dataToExport = [
[$tool_name, get_lang('RecordList')],
[$tool_name, $plugin->get_lang('RecordList')],
[],
[
get_lang('CreatedAt'),
get_lang('Status'),
get_lang('Records'),
$plugin->get_lang('Records'),
get_lang('Course'),
get_lang('Session'),
get_lang('Participants'),
@ -50,7 +69,7 @@ if ($action) {
foreach ($meetings as $meeting) {
$dataToExport[] = [
$meeting['created_at'],
$meeting['status'] == 1 ? get_lang('MeetingOpened') : get_lang('MeetingClosed'),
$meeting['status'] == 1 ? $plugin->get_lang('MeetingOpened') : $plugin->get_lang('MeetingClosed'),
$meeting['record'] == 1 ? get_lang('Yes') : get_lang('No'),
$meeting['course'] ? $meeting['course']->getTitle() : '-',
$meeting['session'] ? $meeting['session']->getName() : '-',
@ -81,9 +100,9 @@ $htmlHeadXtra[] = "<script>var _p = {web_plugin: '" . api_get_path(WEB_PLUGIN_PA
$tpl = new Template($tool_name);
$tpl->assign('meetings', $meetings);
$tpl->assign('search_form', $form->returnForm());
$content = $tpl->fetch('bbb/admin.tpl');
$actions = [];
if ($meetings) {
$actions[] = Display::toolbarButton(
@ -94,7 +113,7 @@ if ($meetings) {
);
}
$tpl->assign('header', get_lang('RecordList'));
$tpl->assign('header', $plugin->get_lang('RecordList'));
$tpl->assign('actions', implode('', $actions));
$tpl->assign('content', $content);
$tpl->display_one_col_template();

@ -1,9 +1,10 @@
{{ search_form }}
<table class="table table-hover table-striped">
<thead>
<tr>
<th>{{ 'CreatedAt'|get_lang }}</th>
<th>{{ 'Status'|get_lang }}</th>
<th>{{ 'Records'|get_lang }}</th>
<th>{{ 'Records'|get_plugin_lang('BBBPlugin') }}</th>
<th>{{ 'Course'|get_lang }}</th>
<th>{{ 'Session'|get_lang }}</th>
<th>{{ 'Participants'|get_lang }}</th>
@ -20,9 +21,9 @@
{% endif %}
<td>
{% if meeting.status == 1 %}
<span class="label label-success">{{ 'MeetingOpened'|get_lang }}</span>
<span class="label label-success">{{ 'MeetingOpened'|get_plugin_lang('BBBPlugin') }}</span>
{% else %}
<span class="label label-info">{{ 'MeetingClosed'|get_lang }}</span>
<span class="label label-info">{{ 'MeetingClosed'|get_plugin_lang('BBBPlugin') }}</span>
{% endif %}
</td>
<td>

@ -51,3 +51,5 @@ $strings['NoRecording'] = 'No hay grabación';
$strings['ClickToContinue'] = 'Hacer click para continuar';
$strings['AdminView'] = 'Vista para administradores';
$strings['ReturnToFullList'] = 'Regresar a la lista completa';

@ -486,7 +486,7 @@ class bbb
* Gets all the course meetings saved in the plugin_bbb_meeting table
* @return array Array of current open meeting rooms
*/
public function getMeetings($courseId = 0, $sessionId = 0, $groupId = 0, $isAdminReport = false)
public function getMeetings($courseId = 0, $sessionId = 0, $groupId = 0, $isAdminReport = false, $date = '')
{
$em = Database::getManager();
$pass = $this->getUserMeetingPassword();
@ -508,6 +508,20 @@ class bbb
}
}
if (!empty($date)) {
$date = date_create($date);
$dateStart = date_format($date, 'Y-m-d H:i:s');
$date = $date->add(new DateInterval('P1D'));
$dateEnd = date_format($date, 'Y-m-d H:i:s');
$conditions = array(
'where' => array(
'created_at BETWEEN ? AND ? ' => array($dateStart, $dateEnd),
),
);
}
$meetingList = Database::select(
'*',
$this->table,

Loading…
Cancel
Save