Actualización
This commit is contained in:
113
main/mySpace/calendar_plan.php
Normal file
113
main/mySpace/calendar_plan.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
/* For licensing terms, see /license.txt */
|
||||
|
||||
use Chamilo\CoreBundle\Component\Utils\ChamiloApi;
|
||||
|
||||
$cidReset = true;
|
||||
|
||||
require_once __DIR__.'/../inc/global.inc.php';
|
||||
|
||||
api_block_anonymous_users();
|
||||
|
||||
$studentList = UserManager::getUsersFollowedByStudentBoss(api_get_user_id());
|
||||
|
||||
$current_course_tool = TOOL_CALENDAR_EVENT;
|
||||
$this_section = SECTION_MYAGENDA;
|
||||
|
||||
$timezone = new DateTimeZone(api_get_timezone());
|
||||
$now = new DateTime('now', $timezone);
|
||||
$currentYear = (int) $now->format('Y');
|
||||
|
||||
$searchYear = isset($_GET['year']) ? (int) $_GET['year'] : $currentYear;
|
||||
$currentOrder = isset($_GET['order']) && 'desc' === $_GET['order'] ? 'desc' : 'asc';
|
||||
|
||||
if (api_is_western_name_order()) {
|
||||
$orderBy = "firstname";
|
||||
} else {
|
||||
$orderBy = "lastname";
|
||||
}
|
||||
|
||||
$students = UserManager::getUsersFollowedByUser(
|
||||
api_get_user_id(),
|
||||
STUDENT,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
$orderBy,
|
||||
$currentOrder,
|
||||
null,
|
||||
null,
|
||||
api_is_student_boss() ? STUDENT_BOSS : COURSEMANAGER
|
||||
);
|
||||
|
||||
if ('desc' === $currentOrder) {
|
||||
$order = 'asc';
|
||||
} else {
|
||||
$order = 'desc';
|
||||
}
|
||||
|
||||
$userInfo = api_get_user_info();
|
||||
$userId = $userInfo['id'];
|
||||
|
||||
$globalColors = ChamiloApi::getColorPalette(false, true, 500);
|
||||
$sessionColors = [];
|
||||
$sessionColorName = [];
|
||||
|
||||
foreach ($students as &$student) {
|
||||
$student = api_get_user_info($student['user_id']);
|
||||
$sessionsList = UserManager::getSubscribedSessionsByYear($student, $searchYear);
|
||||
$sessions = UserManager::getSessionsCalendarByYear($sessionsList, $searchYear);
|
||||
$personalColors = [];
|
||||
$counter = 0;
|
||||
foreach ($sessions as &$session) {
|
||||
if (!isset($sessionColors[$session['id']])) {
|
||||
$session['color'] = $globalColors[$counter];
|
||||
$sessionColors[$session['id']] = $session['color'];
|
||||
$sessionColorName[$session['color']] = $session['name'];
|
||||
} else {
|
||||
$session['color'] = $sessionColors[$session['id']];
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
$student['sessions'] = $sessions;
|
||||
//$colors = ChamiloApi::getColorPalette(false, true, count($sessions));
|
||||
//$student['colors'] = $colors;
|
||||
}
|
||||
|
||||
$table = new HTML_Table(['class' => 'table table-responsive']);
|
||||
$headers = [
|
||||
get_lang('SessionName'),
|
||||
get_lang('Color'),
|
||||
];
|
||||
$row = 0;
|
||||
$column = 0;
|
||||
foreach ($headers as $header) {
|
||||
$table->setHeaderContents($row, $column, $header);
|
||||
$column++;
|
||||
}
|
||||
$row++;
|
||||
foreach ($sessionColorName as $color => $name) {
|
||||
$table->setCellContents($row, 0, $name);
|
||||
$table->setCellContents($row, 1, "<div style='background:$color '> </div>");
|
||||
$row++;
|
||||
}
|
||||
|
||||
$agenda = new Agenda('personal');
|
||||
$actions = $agenda->displayActions('list', $userId);
|
||||
|
||||
$toolName = get_lang('SessionsPlanCalendar');
|
||||
|
||||
$template = new Template($toolName);
|
||||
$template->assign('toolbar', $actions);
|
||||
$template->assign('student_id', $userId);
|
||||
$template->assign('search_year', $searchYear);
|
||||
$template->assign('students', $students);
|
||||
$template->assign('legend', $table->toHtml());
|
||||
$template->assign('order', $order);
|
||||
$template->assign('current_order', $currentOrder);
|
||||
|
||||
$layout = $template->get_template('agenda/student_boss_planification.tpl');
|
||||
$template->display($layout);
|
||||
Reference in New Issue
Block a user