} //Professor and student common blocks if ($_professor_ || $_student_) { //Projects block if ($currentLesson->options['projects'] && EfrontUser::isOptionVisible('projects')) { if ($_professor_) { $result = eF_getTableData("users_to_projects as up,projects as p", "p.title,p.id,up.users_LOGIN,up.upload_timestamp,up.last_comment", "p.lessons_ID=" . $_SESSION['s_lessons_ID'] . " and p.id=up.projects_ID and filename!=''", "up.upload_timestamp desc"); $currentLesson = new EfrontLesson($GLOBALS['currentLesson']->lesson['id']); $lessonUsers = $currentLesson->getUsers('student'); foreach ($result as $value) { if (in_array($value['users_LOGIN'], array_keys($lessonUsers))) { $projects[] = $value; } } } else { $projects = $currentLesson->getProjects(false, $currentUser->user['login']); $projectsInControlPanel = $projects; foreach ($projects as $key => $value) { if ($value['deadline'] < time() || $value['filename']) { unset($projects[$key]); //We unset the expired projects, instead of not retrieving them in the first place, because we want them all to determine whether to show the 'projects' icon } } } $smarty->assign("T_PROJECTS", $projects); $projectOptions = array(array('text' => _GOTOPROJECTS, 'image' => "16x16/go_into.png", 'href' => basename($_SERVER['PHP_SELF']) . "?ctg=projects")); $smarty->assign("T_PROJECTS_OPTIONS", $projectOptions); $smarty->assign("T_PROJECTS_LINK", basename($_SERVER['PHP_SELF']) . "?ctg=projects"); } //New forum messages block if (EfrontUser::isOptionVisible('forum')) {