<?php /* For licensing terms, see /license.txt */ use ChamiloSession as Session; /** * This file allows record wav files. * * @package chamilo.document * * @author Juan Carlos RaƱa Trabado herodoto@telefonica.net * * @since 7/jun/2012 * @Updated 04/09/2015 Upgrade to WebCamJS */ require_once __DIR__.'/../inc/global.inc.php'; $_SESSION['whereami'] = 'document/webcamclip'; $this_section = SECTION_COURSES; $nameTools = get_lang('WebCamClip'); $htmlHeadXtra[] = api_get_js_simple(api_get_path(WEB_PATH).'web/assets/webcamjs/webcam.js'); $htmlHeadXtra[] = api_get_js('webcam_recorder.js'); $groupRights = Session::read('group_member_with_upload_rights'); api_protect_course_script(); api_block_anonymous_users(); $userId = api_get_user_id(); $courseCode = api_get_course_id(); $groupId = api_get_group_id(); $sessionId = api_get_session_id(); $documentData = DocumentManager::get_document_data_by_id($_GET['id'], $courseCode, true); if (empty($documentData)) { if (api_is_in_group()) { $groupProperties = GroupManager::get_group_properties($groupId); $documentId = DocumentManager::get_document_id( api_get_course_info(), $groupProperties['directory'] ); $documentData = DocumentManager::get_document_data_by_id($documentId, $courseCode); } } $documentId = $documentData['id']; $dir = $documentData['path']; //make some vars $webcamdir = $dir; if ($webcamdir == "/") { $webcamdir = ''; } $isAllowedToEdit = api_is_allowed_to_edit(null, true); // Please, do not modify this dirname formatting if (strstr($dir, '..')) { $dir = '/'; } if ($dir[0] == '.') { $dir = substr($dir, 1); } if ($dir[0] != '/') { $dir = '/'.$dir; } if ($dir[strlen($dir) - 1] != '/') { $dir .= '/'; } $filepath = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document'.$dir; if (!is_dir($filepath)) { $filepath = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document/'; $dir = '/'; } if (!empty($groupId)) { $interbreadcrumb[] = [ "url" => "../group/group_space.php?".api_get_cidreq(), "name" => get_lang('GroupSpace'), ]; $noPHP_SELF = true; $group = GroupManager::get_group_properties($groupId); $path = explode('/', $dir); if ('/'.$path[1] != $group['directory']) { api_not_allowed(true); } } $interbreadcrumb[] = [ "url" => "./document.php?id=".$documentId."&".api_get_cidreq(), "name" => get_lang('Documents'), ]; if (!api_is_allowed_in_course()) { api_not_allowed(true); } $isMySharedFolder = DocumentManager::is_my_shared_folder($userId, Security::remove_XSS($dir), $sessionId); if (!($isAllowedToEdit || $groupRights || $isMySharedFolder)) { api_not_allowed(true); } /* Header */ Event::event_access_tool(TOOL_DOCUMENT); $displayDir = $dir; if (isset($group)) { $displayDir = explode('/', $dir); unset($displayDir[0]); unset($displayDir[1]); $displayDir = implode('/', $displayDir); } // Interbreadcrumb for the current directory root path $counter = 0; if (isset($documentData['parents'])) { foreach ($documentData['parents'] as $documentSubData) { //fixing double group folder in breadcrumb if ($groupId) { if ($counter == 0) { $counter++; continue; } } $interbreadcrumb[] = [ 'url' => $documentSubData['document_url'], 'name' => $documentSubData['title'], ]; $counter++; } } $actions = Display::toolbarAction( 'webcam_toolbar', [ Display::url( Display::return_icon( 'back.png', get_lang('BackTo').' '.get_lang('DocumentsOverview'), [], ICON_SIZE_MEDIUM ), 'document.php?id='.$documentId.'&'.api_get_cidreq() ), ] ); $template = new Template($nameTools); $template->assign('webcam_dir', $webcamdir); $template->assign('user_id', $userId); $template->assign('filename', 'video_clip.jpg'); $layout = $template->get_template('document/webcam.tpl'); $content = $template->fetch($layout); $template->assign('header', get_lang('TakeYourPhotos')); $template->assign('actions', $actions); $template->assign('content', $content); $template->display_one_col_template();