Exemplo n.º 1
0
 function edit()
 {
     $registry = Registry::getInstance();
     $application = Application::getInstance();
     $locale = $registry->get('locale');
     $locales = LocaleManager::getLocales();
     $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
     $lesson = new Lesson($id);
     if (!$lesson->id) {
         $course = new Course(filter_input(INPUT_GET, 'course_id', FILTER_VALIDATE_INT));
     } else {
         $course = new Course($lesson->courseId);
     }
     if (!$course->id) {
         header('Location: /cms/course/list');
         exit;
     }
     if ('save' == filter_input(INPUT_POST, 'action')) {
         if (!$lesson->id) {
             $lesson->courseId = $course->id;
         }
         foreach (array_keys($locales) as $localeId) {
             $lesson->l10n->loadDataFromArray($localeId, ['name' => trim($_POST['name_' . $localeId]), 'meta' => trim($_POST['meta_' . $localeId]), 'description' => trim($_POST['description_' . $localeId]), 'brief' => trim($_POST['brief_' . $localeId]), 'url' => trim($_POST['url_' . $localeId]), 'title' => trim($_POST['title_' . $localeId])]);
         }
         $lesson->save();
         header('Location: /cms/course/edit?id=' . $lesson->courseId);
         exit;
     } else {
         $i18n = new I18n($registry->get('i18n_path') . 'lesson.xml');
         $data['lesson'] = $lesson;
         $data['exercises'] = Exercise::getList();
         $data['stages'] = Stage::getList($lesson->id);
         $renderer = new Renderer(Page::MODE_NORMAL);
         $pTitle = $i18n->get($lesson->id ? 'update_mode' : 'append_mode');
         $renderer->page->set('title', $pTitle)->set('h1', $pTitle)->set('content', LessonEditView::get($data));
         $renderer->loadPage();
         $renderer->output();
     }
 }
Exemplo n.º 2
0
 function renumber()
 {
     $application = Application::getInstance();
     $lessonId = intval($application->segment[3]);
     if ($lessonId) {
         Stage::renumberAll($_POST['order']);
         echo 'OK';
     } else {
         echo 'No LessonID';
     }
     exit;
 }
Exemplo n.º 3
0
 static function createStage($lessonId, $execiseId)
 {
     $stage = new Stage();
     $stage->lessonId = $lessonId;
     $stage->exerciseId = $execiseId;
     $stage->name = 'unitTest-' . microtime();
     $stage->l10n = self::createLocale();
     $stage->save();
     return $stage;
 }
Exemplo n.º 4
0
 function test_cleanUp()
 {
     $registry = Registry::getInstance();
     $setup = $registry->get(self::REG_KEY);
     Material::delete($setup['id']);
     Stage::delete($setup['stageId']);
     Lesson::delete($setup['lessonId']);
     Course::delete($setup['courseId']);
     Admin::delete($setup['ownerId']);
     $db = $registry->get(Material::DB);
     $db->query("DELETE FROM `" . MaterialL10n::TABLE . "` WHERE `parent_id`={$setup['id']}") or die($db->lastError);
     #        $db->query("DELETE FROM `".MaterialL10n::TABLE."` WHERE `original_file_name`='gcode.gif'") or die($db->lastError);
     $db->query("DELETE FROM `" . Material::TABLE . "` WHERE `name` LIKE 'unitTest%'") or die($db->lastError);
     $db->query("DELETE FROM `" . Stage::TABLE . "` WHERE `name` LIKE 'unitTest%'") or die($db->lastError);
     $db->query("DELETE FROM `" . Exercise::TABLE . "` WHERE `name` LIKE 'unitTest%'") or die($db->lastError);
     $db->query("DELETE FROM `" . Lesson::TABLE . "` WHERE EXISTS(SELECT * FROM `" . LessonL10n::TABLE . "` `s` WHERE `parent_id`=`" . Lesson::TABLE . "`.`id` AND `s`.`name` LIKE 'unitTest%')") or die($db->lastError);
     $registry->set(self::REG_KEY, null);
 }