private function doSynchronizeCourseLessons() { $smarty = $this->getSmartyVar(); $currentUser = $this->getCurrentUser(); $courses = array(); foreach (EfrontCourse::getCourses() as $value) { $courses[$value['id']] = $value['name']; } $form = new HTML_QuickForm("file_encodings_form", "post", basename($_SERVER['PHP_SELF']) . "?ctg=module&op=module_administrator_tools&tab=sync_course_lessons&do=learning", "", null, true); $form->addElement('static', '', _MODULE_ADMINISTRATOR_TOOLS_THISWILLPROPAGATECOMPLETIONSTATUSFROMACOURSETOITSLESSONSFORALLUSERS); $form->addElement('select', 'course', _COURSE, $courses); $form->addElement('advcheckbox', 'set_completed', _MODULE_ADMINISTRATOR_TOOLS_UPDATECOMPLETEDLESSONS . '</span>'); $form->addElement('static', '', _MODULE_ADMINISTRATOR_TOOLS_SETCOMPLETEDLESSONSTOTHESAMEDATE); $form->addElement('submit', 'submit', _SUBMIT, 'class = "flatButton"'); if ($form->isSubmitted() && $form->validate()) { try { $updates = 0; $stats = EfrontStats::getUsersCourseStatus($form->exportValue('course')); foreach ($stats[$form->exportValue('course')] as $value) { if ($value['completed']) { foreach ($value['lesson_status'] as $lesson_id => $lesson_status) { if (!$lesson_status['completed'] || $form->exportValue('set_completed')) { eF_updateTableData("users_to_lessons", array('completed' => 1, 'to_timestamp' => $value['completion_date'], 'score' => $value['score']), "lessons_ID={$lesson_id} and users_LOGIN='******'login'] . "'"); $updates++; } } } } $message = str_replace("%x", $updates, _MODULE_ADMINISTRATOR_TOOLS_PERFORMEDXUPDATES); $message_type = 'success'; } catch (Exception $e) { $smarty->assign("T_EXCEPTION_TRACE", $e->getTraceAsString()); $message = $e->getMessage() . ' (' . $e->getCode() . ') <a href = "javascript:void(0)" onclick = "eF_js_showDivPopup(event, \'' . _ERRORDETAILS . '\', 2, \'error_details\')">' . _MOREINFO . '</a>'; $message_type = 'failure'; } $this->setMessageVar($message, $message_type); } $smarty->assign("T_SYNC_COURSE_LESSONS_FORM", $form->toArray()); }
protected function getCourseByName($courses_name) { if (!$courseNamesToIds) { $courses = EfrontCourse::getCourses(); foreach ($courses as $course) { if (!isset($courseNamesToIds[$course['name']])) { $courseNamesToIds[$course['name']] = array($course['id']); } else { $courseNamesToIds[$course['name']][] = $course['id']; } } } return $courseNamesToIds[$courses_name]; }
$smarty->assign("T_ASSIGNED_COURSES_SIZE", sizeof($courses)); if (isset($_GET['limit']) && eF_checkParameter($_GET['limit'], 'int')) { isset($_GET['offset']) && eF_checkParameter($_GET['offset'], 'int') ? $offset = $_GET['offset'] : ($offset = 0); $courses = array_slice($courses, $offset, $limit); } //foreach ($courses as $key => $course) { //$courses[$key]['languages_NAME'] = $languages[$course['languages_NAME']]; //} $smarty->assign("T_ASSIGNED_COURSES_DATA", $courses); $smarty->display('administrator.tpl'); exit; } if (isset($_GET['ajax']) && $_GET['ajax'] == 'coursesTable') { $directionsTree = new EfrontDirectionsTree(); $directionPaths = $directionsTree->toPathString(); $courses = EfrontCourse::getCourses(); if ($_SESSION['s_type'] == 'administrator') { $editedUser = EfrontUserFactory::factory($_GET['user']); } else { $editedUser = EfrontUserFactory::factory($_SESSION['s_login']); } $userCourses = $editedUser->getUserCourses(); foreach ($courses as $key => $course) { $courses[$key]['partof'] = 0; $courses[$key]['directions_name'] = $directionPaths[$course['directions_ID']]; $courses[$key]['user_type'] = $editedUser->user['user_types_ID'] ? $editedUser->user['user_types_ID'] : $editedUser->user['user_type']; if (in_array($course['id'], array_keys($userCourses))) { $courses[$key]['from_timestamp'] = $userCourses[$key]->course['active_in_course']; $courses[$key]['partof'] = 1; $courses[$key]['user_type'] = $userCourses[$key]->course['user_type']; $courses[$key]['completed'] = $userCourses[$key]->course['completed'];