if (isset($infoLesson)) { try { $result = eF_getTableData("user_times ut join users_to_lessons ul on ut.users_LOGIN=ul.users_LOGIN and ut.lessons_ID=ul.lessons_ID", "sum(time) as sum, count(distinct ul.users_LOGIN) as count", "completed=1 and ul.archive=0 and ut.lessons_ID=" . $infoLesson->lesson['id'], "", ""); if ($result[0]['sum']) { $smarty->assign("T_AVERAGE_COMPLETION_TIME", EfrontTimes::formatTimeForReporting($result[0]['sum'] / $result[0]['count'])); } require_once $path . "includes/statistics/stats_filters.php"; $directionsTree = new EfrontDirectionsTree(); $directionsPaths = $directionsTree->toPathString(); $roles = EfrontLessonUser::getLessonsRoles(true); $smarty->assign("T_ROLES_ARRAY", $roles); $rolesBasic = EfrontLessonUser::getLessonsRoles(); $smarty->assign("T_BASIC_ROLES_ARRAY", $rolesBasic); foreach ($rolesBasic as $key => $role) { $constraints = array('archive' => false, 'table_filters' => $stats_filters, 'condition' => 'ul.user_type = "' . $key . '"'); $numUsers = $infoLesson->countLessonUsers($constraints); if ($numUsers) { $usersPerRole[$key] = $numUsers; } //$role == 'student' ? $studentRoles[] = $key : $professorRoles[] = $key; } $infoLesson->lesson['users_per_role'] = $usersPerRole; $infoLesson->lesson['num_users'] = array_sum($usersPerRole); /* $constraints = array('archive' => false, 'table_filters' => $stats_filters, 'condition' => 'ul.user_type in ("'.implode('","', $studentRoles).'")'); $infoLesson -> lesson['num_students'] = ($infoLesson -> countLessonUsers($constraints)); $constraints = array('archive' => false, 'table_filters' => $stats_filters, 'condition' => 'ul.user_type in ("'.implode('","', $professorRoles).'")'); $infoLesson -> lesson['num_professors'] = ($infoLesson -> countLessonUsers($constraints)); */ $infoLesson->lesson['category_path'] = $directionsPaths[$infoLesson->lesson['directions_ID']]; $smarty->assign("T_CURRENT_LESSON_INFO", $infoLesson);