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() . ') &nbsp;<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());
 }
Exemplo n.º 2
0
 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];
 }
Exemplo n.º 3
0
     $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'];