diff --git a/app/pages/dashboard.php b/app/pages/dashboard.php index 12c955a..ae6313e 100644 --- a/app/pages/dashboard.php +++ b/app/pages/dashboard.php @@ -11,199 +11,199 @@ if ($response['db'] === null) { } else { $db = $response['db']; -// -// dashboard widget listings -// + // + // dashboard widget listings + // -//// -// monthly usage -$conferenceObject = new Conference($db); -$participantObject = new Participant($db); - -// monthly conferences for the last year -$fromMonth = (new DateTime())->sub(new DateInterval('P1Y')); -$fromMonth->modify('first day of this month'); -$thisMonth = new DateTime(); -$from_time = $fromMonth->format('Y-m-d'); -$until_time = $thisMonth->format('Y-m-d'); - -$widget['records'] = array(); - -// loop 1 year in the past -$i = 0; -while ($fromMonth < $thisMonth) { - - $untilMonth = clone $fromMonth; - $untilMonth->modify('last day of this month'); + //// + // monthly usage + $conferenceObject = new Conference($db); + $participantObject = new Participant($db); + // monthly conferences for the last year + $fromMonth = (new DateTime())->sub(new DateInterval('P1Y')); + $fromMonth->modify('first day of this month'); + $thisMonth = new DateTime(); $from_time = $fromMonth->format('Y-m-d'); - $until_time = $untilMonth->format('Y-m-d'); + $until_time = $thisMonth->format('Y-m-d'); - $searchConferenceNumber = $conferenceObject->conferenceNumber($from_time, $until_time); - $searchParticipantNumber = $participantObject->participantNumber($from_time, $until_time); - - // pretty format for displaying the month in the widget - $month = $fromMonth->format('F Y'); - - // populate the records - $widget['records'][$i] = array( - 'from_time' => $from_time, - 'until_time' => $until_time, - 'table_headers' => $month, - 'conferences' => $searchConferenceNumber[0]['conferences'], - 'participants' => $searchParticipantNumber[0]['participants'], - ); - - // move everything one month in future - $untilMonth->add(new DateInterval('P1M')); - $fromMonth->add(new DateInterval('P1M')); - $i++; -} - -$time_range_specified = true; - -// prepare the widget -$widget['full'] = false; -$widget['name'] = 'LastYearMonths'; -$widget['title'] = 'Conferences monthly stats for the last year'; -$widget['collapsible'] = true; -$widget['collapsed'] = false; -$widget['filter'] = false; -if (!empty($searchConferenceNumber) && !empty($searchParticipantNumber)) { - $widget['full'] = true; -} -$widget['pagination'] = false; - - -// display the widget -include '../app/templates/widget-monthly.php'; - - -//// -// conferences in last 2 days - -// time range limit -$from_time = date('Y-m-d', time() - 60 * 60 * 24 * 2); -$until_time = date('Y-m-d', time()); -$time_range_specified = true; - -// prepare the result -$search = $conferenceObject->conferencesAllFormatted($from_time, $until_time); - -if (!empty($search)) { - $conferences = array(); - $conferences['records'] = array(); - - foreach ($search as $item) { - extract($item); - - // we don't have duration field, so we calculate it - if (!empty($start) && !empty($end)) { - $duration = gmdate("H:i:s", abs(strtotime($end) - strtotime($start))); - } else { - $duration = ''; - } - $conference_record = array( - // assign title to the field in the array record - 'component' => $jitsi_component, - 'start' => $start, - 'end' => $end, - 'duration' => $duration, - 'conference ID' => $conference_id, - 'conference name' => $conference_name, - 'participants' => $participants, - 'name count' => $name_count, - 'conference host' => $conference_host - ); - // populate the result array - array_push($conferences['records'], $conference_record); - } -} - -// prepare the widget -$widget['full'] = false; -$widget['name'] = 'LastDays'; -$widget['title'] = 'Conferences for the last 2 days'; -$widget['collapsible'] = true; -$widget['collapsed'] = false; -$widget['filter'] = false; -if (!empty($conferences['records'])) { - $widget['full'] = true; - $widget['table_headers'] = array_keys($conferences['records'][0]); - $widget['table_records'] = $conferences['records']; -} -$widget['pagination'] = false; - -// display the widget -include '../app/templates/widget.php'; - - -//// -// last 10 conferences - -// all time -$from_time = '0000-01-01'; -$until_time = '9999-12-31'; -$time_range_specified = false; -// number of conferences to show -$conference_number = 10; - -// prepare the result -$search = $conferenceObject->conferencesAllFormatted($from_time, $until_time); - -if (!empty($search)) { - $conferences = array(); - $conferences['records'] = array(); + $widget['records'] = array(); + // loop 1 year in the past $i = 0; - foreach ($search as $item) { - extract($item); + while ($fromMonth < $thisMonth) { - // we don't have duration field, so we calculate it - if (!empty($start) && !empty($end)) { - $duration = gmdate("H:i:s", abs(strtotime($end) - strtotime($start))); - } else { - $duration = ''; - } - $conference_record = array( - // assign title to the field in the array record - 'component' => $jitsi_component, - 'start' => $start, - 'end' => $end, - 'duration' => $duration, - 'conference ID' => $conference_id, - 'conference name' => $conference_name, - 'participants' => $participants, - 'name count' => $name_count, - 'conference host' => $conference_host + $untilMonth = clone $fromMonth; + $untilMonth->modify('last day of this month'); + + $from_time = $fromMonth->format('Y-m-d'); + $until_time = $untilMonth->format('Y-m-d'); + + $searchConferenceNumber = $conferenceObject->conferenceNumber($from_time, $until_time); + $searchParticipantNumber = $participantObject->participantNumber($from_time, $until_time); + + // pretty format for displaying the month in the widget + $month = $fromMonth->format('F Y'); + + // populate the records + $widget['records'][$i] = array( + 'from_time' => $from_time, + 'until_time' => $until_time, + 'table_headers' => $month, + 'conferences' => $searchConferenceNumber[0]['conferences'], + 'participants' => $searchParticipantNumber[0]['participants'], ); - // populate the result array - array_push($conferences['records'], $conference_record); - // we only take the first 10 results + // move everything one month in future + $untilMonth->add(new DateInterval('P1M')); + $fromMonth->add(new DateInterval('P1M')); $i++; - if ($i == 10) break; } -} -// prepare the widget -$widget['full'] = false; -$widget['name'] = 'LastConferences'; -$widget['title'] = 'The last ' . $conference_number . ' conferences'; -$widget['collapsible'] = true; -$widget['collapsed'] = false; -$widget['filter'] = false; -$widget['pagination'] = false; + $time_range_specified = true; -if (!empty($conferences['records'])) { - $widget['full'] = true; - $widget['table_headers'] = array_keys($conferences['records'][0]); - $widget['table_records'] = $conferences['records']; -} + // prepare the widget + $widget['full'] = false; + $widget['name'] = 'LastYearMonths'; + $widget['title'] = 'Conferences monthly stats for the last year'; + $widget['collapsible'] = true; + $widget['collapsed'] = false; + $widget['filter'] = false; + if (!empty($searchConferenceNumber) && !empty($searchParticipantNumber)) { + $widget['full'] = true; + } + $widget['pagination'] = false; -// display the widget -include '../app/templates/widget.php'; + + // display the widget + include '../app/templates/widget-monthly.php'; + + + //// + // conferences in last 2 days + + // time range limit + $from_time = date('Y-m-d', time() - 60 * 60 * 24 * 2); + $until_time = date('Y-m-d', time()); + $time_range_specified = true; + + // prepare the result + $search = $conferenceObject->conferencesAllFormatted($from_time, $until_time); + + if (!empty($search)) { + $conferences = array(); + $conferences['records'] = array(); + + foreach ($search as $item) { + extract($item); + + // we don't have duration field, so we calculate it + if (!empty($start) && !empty($end)) { + $duration = gmdate("H:i:s", abs(strtotime($end) - strtotime($start))); + } else { + $duration = ''; + } + $conference_record = array( + // assign title to the field in the array record + 'component' => $jitsi_component, + 'start' => $start, + 'end' => $end, + 'duration' => $duration, + 'conference ID' => $conference_id, + 'conference name' => $conference_name, + 'participants' => $participants, + 'name count' => $name_count, + 'conference host' => $conference_host + ); + // populate the result array + array_push($conferences['records'], $conference_record); + } + } + + // prepare the widget + $widget['full'] = false; + $widget['name'] = 'LastDays'; + $widget['title'] = 'Conferences for the last 2 days'; + $widget['collapsible'] = true; + $widget['collapsed'] = false; + $widget['filter'] = false; + if (!empty($conferences['records'])) { + $widget['full'] = true; + $widget['table_headers'] = array_keys($conferences['records'][0]); + $widget['table_records'] = $conferences['records']; + } + $widget['pagination'] = false; + + // display the widget + include '../app/templates/widget.php'; + + + //// + // last 10 conferences + + // all time + $from_time = '0000-01-01'; + $until_time = '9999-12-31'; + $time_range_specified = false; + // number of conferences to show + $conference_number = 10; + + // prepare the result + $search = $conferenceObject->conferencesAllFormatted($from_time, $until_time); + + if (!empty($search)) { + $conferences = array(); + $conferences['records'] = array(); + + $i = 0; + foreach ($search as $item) { + extract($item); + + // we don't have duration field, so we calculate it + if (!empty($start) && !empty($end)) { + $duration = gmdate("H:i:s", abs(strtotime($end) - strtotime($start))); + } else { + $duration = ''; + } + $conference_record = array( + // assign title to the field in the array record + 'component' => $jitsi_component, + 'start' => $start, + 'end' => $end, + 'duration' => $duration, + 'conference ID' => $conference_id, + 'conference name' => $conference_name, + 'participants' => $participants, + 'name count' => $name_count, + 'conference host' => $conference_host + ); + // populate the result array + array_push($conferences['records'], $conference_record); + + // we only take the first 10 results + $i++; + if ($i == 10) break; + } + } + + // prepare the widget + $widget['full'] = false; + $widget['name'] = 'LastConferences'; + $widget['title'] = 'The last ' . $conference_number . ' conferences'; + $widget['collapsible'] = true; + $widget['collapsed'] = false; + $widget['filter'] = false; + $widget['pagination'] = false; + + if (!empty($conferences['records'])) { + $widget['full'] = true; + $widget['table_headers'] = array_keys($conferences['records'][0]); + $widget['table_records'] = $conferences['records']; + } + + // display the widget + include '../app/templates/widget.php'; }