} elseif ($_GET['value'] == 'popup' && strpos($currentUnit['data'], 'iframe') !== false) { preg_match("/src.*onload/U", $currentUnit['data'], $matches); $scormValue = str_replace(array('src = "', '" onload'), "", $matches[0]); $currentUnit['data'] = ' <div style = "text-align:center;height:300px"> <span>##CLICKTOSTARTUNIT##</span><br/> <input type = "button" value = "##STARTUNIT##" class = "flatButton" onclick = \'window.open("' . $scormValue . '", "scormFrameName", "width=800,height=600,scrollbars=no,resizable=yes,status=yes,toolbar=no,location=no,menubar=no,top="+(parseInt(parseInt(screen.height)/2) - 300)+",left="+(parseInt(parseInt(screen.width)/2) - 400)+"")\' > </div>'; } $currentUnit->persist(); } else { if ($_GET['option'] == 'popup_parameters') { $currentUnit = new EfrontUnit($key); preg_match("/\"scormFrameName\".*\"\\)'/U", $currentUnit['data'], $matches); $currentUnit['data'] = preg_replace("/\"scormFrameName\".*\"\\)'/U", '"scormFrameName", "' . $_GET['value'] . '")\'', $currentUnit['data']); $currentUnit->persist(); } else { if ($_GET['option'] == 'reentry_action') { $value['options'][$_GET['option']] = $_GET['value']; $value->persist(); } else { if (isset($value['options'][$_GET['option']])) { $value['options'][$_GET['option']] = $_GET['value']; $value->persist(); } } } } } } }
} $valid12Units[] = $value['id']; } else { if ($value['package_ID'] == $value['content_ID']) { //This is SCORM 2004 content's root (package) unit $options['custom'][$value['id']] = '<img style = "margin-left:30px" src = "images/16x16/refresh.png" alt = "' . _RESETSCORMDATA . '" title = "' . _RESETSCORMDATA . '" onclick = "resetScorm(this, ' . $value['id'] . ')" class = "ajaxHandle"/>'; $valid2004Units[] = $value['id']; } } } try { //Set scorm content type through AJAX call if (isset($_GET['set_type']) && isset($_GET['id']) && in_array($_GET['id'], $valid12Units)) { $unit = new EfrontUnit($_GET['id']); $unit['ctg_type'] == 'scorm_test' ? $unit['ctg_type'] = 'scorm' : ($unit['ctg_type'] = 'scorm_test'); $unit->persist(); echo json_encode(array('id' => $unit['id'], 'ctg_type' => $unit['ctg_type'])); exit; } if (isset($_GET['reset_scorm']) && isset($_GET['id']) && in_array($_GET['id'], $valid12Units)) { //eF_deleteTableData("scorm_data", "id=".$_GET['delete']); //$user = EfrontUserFactory::factory($scormData[0]['users_LOGIN']); //$user -> setSeenUnit($scormData[0]['content_ID'], $currentLesson, false); } //Reset scorm data if (isset($_GET['reset_scorm']) && isset($_GET['id']) && in_array($_GET['id'], $valid2004Units)) { if (isset($_GET['login']) && eF_checkParameter($_GET['login'], 'login')) { //EfrontContentTreeSCORM :: resetSCORMContentOrganization($currentLesson, $_GET['id'], $_GET['login']); } else { EfrontContentTreeSCORM::resetSCORMContentOrganization($currentLesson, $_GET['id']); }
} else { $testOptions = array('duration' => 0, 'redoable' => 1, 'onebyone' => 0, 'only_forward' => 0, 'given_answers' => 0, 'show_score' => 0, 'show_answers_if_pass' => 0, 'maintain_history' => 1, 'answers' => 0, 'redirect' => 1, 'shuffle_answers' => 0, 'shuffle_questions' => 0, 'pause_test' => 0, 'display_list' => 0, 'display_weights' => 0, 'answer_all' => 1, 'test_password' => '', 'custom_class' => '', 'redo_wrong' => 0, 'general_threshold' => 0, 'assign_to_new' => 0, 'automatic_assignment' => 0, 'student_results' => 0); //skill-gap option } if (isset($_GET['edit_test']) && !isset($values['submit_test_new'])) { $currentTest->test['publish'] = $values['publish']; $currentTest->test['keep_best'] = $values['keep_best']; $currentTest->test['description'] = applyEditorOffset($values['description']); $currentTest->test['mastery_score'] = $values['mastery_score'] ? $values['mastery_score'] : 0; $currentTest->test['name'] = $values['name']; $currentTest->options = array_merge($currentTest->options, $testOptions); $currentTest->persist(); if (!$skillgap_tests) { $testUnit['name'] = $values['name']; $testUnit['parent_content_ID'] = $values['parent_content']; $testUnit->persist(); } if ($_GET['ctg'] != 'feedback') { $messageString = _SUCCESFULLYMODIFIEDTEST; } else { $messageString = _SUCCESFULLYMODIFIEDFEEDBACK; } EfrontCache::getInstance()->deleteCache("content_tree:{$_SESSION['s_lessons_ID']}"); eF_redirect("" . ltrim(basename($_SERVER['PHP_SELF']), "/") . "?ctg=" . $_GET['ctg'] . "&from_unit=" . $_GET['from_unit'] . "&message=" . urlencode($messageString) . "&message_type=success"); } else { $contentFields = array('data' => '', 'name' => $values['name'], 'lessons_ID' => $currentLesson->lesson['id'], 'ctg_type' => $_GET['ctg'], 'active' => 1, 'timestamp' => time(), 'parent_content_ID' => $values['parent_content']); $testFields = array('active' => 1, 'lessons_ID' => isset($currentLesson->lesson['id']) ? $currentLesson->lesson['id'] : 0, 'content_ID' => $test_content_ID, 'description' => applyEditorOffset($values['description']), 'options' => serialize($testOptions), 'name' => $values['name'], 'publish' => $values['publish'], 'keep_best' => $values['keep_best'], 'mastery_score' => $values['mastery_score'] ? $values['mastery_score'] : 0); if (!$skillgap_tests) { $newUnit = $currentContent->insertNode($contentFields); $newTest = EfrontTest::createTest($newUnit, $testFields); } else {