Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/public/main/admin/periodic_export.php

97 lines
2.8 KiB

<?php
/* For licensing terms, see /license.txt */
exit;
$cidReset = true;
require_once __DIR__.'/../inc/global.inc.php';
api_protect_admin_script(true);
api_set_more_memory_and_time_limits();
$this_section = SECTION_PLATFORM_ADMIN;
$interbreadcrumb[] = ['url' => 'index.php', 'name' => get_lang('Administration')];
$nameTools = get_lang('PeriodicExports');
$export = '';
Display::display_header($nameTools);
echo Display::page_header($nameTools);
$form = new FormValidator('special_exports', 'post');
$form->addDateRangePicker('date', get_lang('Dates'));
$form->addButtonSearch(get_lang('Search'));
$form->display();
if ($form->validate()) {
$values = $form->getSubmitValues();
$urlId = api_get_current_access_url_id();
$startDate = $values['date_start'];
$endDate = $values['date_end'];
// Count active users in the platform
$countUsers = UserManager::get_number_of_users(null, $urlId, 1);
// Count user connected in those dates
$connectedUsers = Statistics::getLoginCount($startDate, $endDate);
$activeCourses = CourseManager::countActiveCourses($urlId);
$totalCourses = CourseManager::count_courses($urlId);
$total = Tracking::getTotalTimeSpentOnThePlatform();
$now = api_get_utc_datetime();
$beforeDateStart = new DateTime('-90 days', new DateTimeZone('UTC'));
$end = $beforeDateStart->format('Y-m-d H:i:s');
$thisTrimester = Tracking::getTotalTimeSpentOnThePlatform($end, $now);
$beforeDateEnd = new DateTime('-180 days', new DateTimeZone('UTC'));
$start = $beforeDateEnd->format('Y-m-d H:i:s');
$lastTrimester = Tracking::getTotalTimeSpentOnThePlatform($start, $end);
//var_dump($countUsers, $connectedUsers, $activeCourses, $totalCourses, $total, $thisTrimester, $lastTrimester);
$courses = Statistics::getCoursesWithActivity($startDate, $endDate);
$totalUsers = 0;
$totalCertificates = 0;
foreach ($courses as $courseId) {
$courseInfo = api_get_course_info_by_id($courseId);
$countUsers = CourseManager::get_user_list_from_course_code(
$courseInfo['code'],
0,
null,
null,
null,
true
);
$totalUsers += $countUsers;
$categories = Category::load(
null,
null,
$courseInfo['code'],
null,
false,
0
);
$category = null;
$certificateCount = 0;
if (!empty($categories)) {
$category = current($categories);
// @todo use count
$certificateCount = count(GradebookUtils::get_list_users_certificates($categoryId));
$totalCertificates += $certificateCount;
}
}
$totalUsersCourses = CourseManager::totalSubscribedUsersInCourses($urlId);
}
Display::display_footer();