}
 //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')) {