switch ($_GET['for_type']) { case 'image': $mode = true; $filter = array_keys(FileSystemTree::getFileTypes('image')); break; case 'java': $mode = true; $filter = array_keys(FileSystemTree::getFileTypes('java')); break; case 'media': $mode = true; $filter = array_keys(FileSystemTree::getFileTypes('media')); break; case 'document': $mode = true; $filter = array_keys(FileSystemTree::getFileTypes('document')); break; case 'files': $mode = false; $filter = array(); break; default: $mode = true; $filter = array(); break; } $filesystem = new FileSystemTree($directory['path'], true); //$directory != $rootDir ? $tree = $filesystem -> seekNode($directory['path']) : $tree = $filesystem -> tree; // Changed because of #2634 $tree = $filesystem->tree; foreach (new EfrontDirectoryOnlyFilterIterator(new EfrontNodeFilterIterator(new ArrayIterator($tree, RecursiveIteratorIterator::SELF_FIRST))) as $key => $value) { $value['image'] = $value->getTypeImage();
if (!isset($currentContent)) { $currentContent = new EfrontContentTree($currentLesson); } foreach ($treeStructure as $key => $value) { end($value); $units[implode("/", $value)] = key($value); } $offset = str_replace($currentLesson->getDirectory(), "", $file['path']); $offsetDir = str_replace($currentLesson->getDirectory(), "", $file['directory']); $parentId = $units[dirname($offset)]; $fields = array('name' => eFront_basename($file['name'], '.' . $pathParts['extension']), 'lessons_ID' => $currentLesson->lesson['id'], 'parent_content_ID' => $parentId ? $parentId : 0); $pathParts['extension'] = strtolower($pathParts['extension']); if ($pathParts['extension'] == 'pdf') { $fields['data'] = '<iframe src="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" name="pdfaccept" width="100%" height="600"></iframe>'; $unit = $currentContent->insertNode($fields); } elseif (in_array($pathParts['extension'], array_keys(FileSystemTree::getFileTypes('image')))) { $fields['data'] = '<img src="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" border="0" />'; $unit = $currentContent->insertNode($fields); } elseif (strpos(EfrontFile::$mimeTypes[$pathParts['extension']], "x-m4v") !== false) { $fields['data'] = '<object height="400" width="500" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0" classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b"><param name="src" value="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" /><embed height="400" width="400" src="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" type="video/quicktime"></embed></object>'; $unit = $currentContent->insertNode($fields); } elseif (strpos(EfrontFile::$mimeTypes[$pathParts['extension']], "mp4") !== false) { $fields['data'] = '<object height="400" width="500" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0" classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b"><param name="src" value="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" /><embed height="400" width="400" src="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" type="video/quicktime"></embed></object>'; $unit = $currentContent->insertNode($fields); } elseif (strpos(EfrontFile::$mimeTypes[$pathParts['extension']], "mpeg") !== false) { $fields['data'] = '<object width="500" height="400" data="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" type="video/quicktime"><param name="url" value="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" /><param name="src" value="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" /></object>'; $unit = $currentContent->insertNode($fields); } elseif ($pathParts['extension'] == 'class') { $fields['data'] = '<table width="632" height="345" rules="rows" frame="box" cellspacing="4" cellpadding="4" border="2" style="border-style: dotted; border-width: 3px; vertical-align: top; color: rgb(51, 51, 51); background-color: rgb(204, 255, 153);"><tbody><tr><td align="center" valign="center"><applet codebase="' . $currentLesson->getDirectoryUrl() . '/' . $offsetDir . '" code="' . $currentLesson->getDirectoryUrl() . '/' . $offset . '" width="632" height="345"/></applet><img src="images/file_types/java.gif" /></td></tr></tbody></table>'; $unit = $currentContent->insertNode($fields); } elseif (strpos(EfrontFile::$mimeTypes[$pathParts['extension']], "html") !== false) {
//By default, only 2 pairs of choices given. $form->addElement('text', 'grid[0]', null, 'class = "inputText inputText_QuestionChoice"'); $form->addElement('text', 'grid_column[0]', null, 'class = "inputText inputText_QuestionChoice"'); //$form -> addElement('text', 'answers_explanation[0]', null, 'class = "inputText inputText_QuestionChoice" style = "display:none"'); $form->addElement('text', 'grid[1]', null, 'class = "inputText inputText_QuestionChoice"'); $form->addElement('text', 'grid_column[1]', null, 'class = "inputText inputText_QuestionChoice"'); //$form -> addElement('text', 'answers_explanation[1]', null, 'class = "inputText inputText_QuestionChoice" style = "display:none"'); $form->addRule('grid[0]', _THEFIELD . ' ' . _ISMANDATORY, 'required', null, 'client'); $form->addRule('grid_column[0]', _THEFIELD . ' ' . _ISMANDATORY, 'required', null, 'client'); } break; case 'hotspot': $form->addElement('button', 'generate_area', _CLEAR, 'class = "flatButton" onclick = "jQuery(\'#hotspot_answer\').val(\'\')"'); $form->addElement('text', "answer", _COORDINATES, 'class = "inputText" id="hotspot_answer" style = "width:500px" readonly'); //By default, only 2 pairs of choices given. $filter = array_keys(FileSystemTree::getFileTypes('image')); $filesystem = new FileSystemTree(G_LESSONSPATH . $_SESSION['s_lessons_ID'], false); $filesystem_initial = new FileSystemTree(G_LESSONSPATH . $_SESSION['s_lessons_ID'], true); foreach (new EfrontDirectoryOnlyFilterIterator($filesystem_initial->tree) as $key => $value) { if (is_file($value['path'] . '/imsmanifest.xml')) { unset($filesystem->tree[$key]); } } $tree = $filesystem->tree; $files[0] = _SELECTIMAGETOMARKAREA; foreach (new EfrontFileOnlyFilterIterator(new EfrontFileTypeFilterIterator(new EfrontNodeFilterIterator(new RecursiveIteratorIterator($filesystem->tree, RecursiveIteratorIterator::SELF_FIRST)), $filter, true)) as $key => $value) { $files[str_replace(G_LESSONSPATH, '', $value['path'])] = str_replace(G_LESSONSPATH . $_SESSION['s_lessons_ID'] . '/', '', $value['path']); } $form->addElement('select', 'options', null, $files, 'class = "inputSelectLong" onchange = "var prepend = \'' . G_LESSONSLINK . '/' . '\'; prepend=prepend.concat(this.options[this.selectedIndex].value); if (this.options[this.selectedIndex].value!=0){$(\'hotspotSpace\').src=prepend;$(\'hotspotSpace\').show()} else {$(\'hotspotSpace\').hide();jQuery(\'div[class^=imgareaselect-]\').hide();}"'); if ($form->isSubmitted() || isset($currentQuestion)) { if (isset($currentQuestion) && !$form->isSubmitted()) {