diff --git a/assets/vue/composables/document/documentActionButtons.js b/assets/vue/composables/document/documentActionButtons.js index a1b49315d4..f3dfffc949 100644 --- a/assets/vue/composables/document/documentActionButtons.js +++ b/assets/vue/composables/document/documentActionButtons.js @@ -29,7 +29,7 @@ export function useDocumentActionButtons() { if (isAllowedToEdit) { if (!isCertificateMode.value) { showNewDocumentButton.value = true - showRecordAudioButton.value = "true" === platformConfigStore.getSetting("course.enable_record_audio") + showRecordAudioButton.value = true showUploadButton.value = true showNewFolderButton.value = true showNewCloudFileButton.value = true // enable_add_file_link ? diff --git a/public/main/exercise/exercise_show.php b/public/main/exercise/exercise_show.php index 3384485261..9837fc4bf4 100644 --- a/public/main/exercise/exercise_show.php +++ b/public/main/exercise/exercise_show.php @@ -141,7 +141,7 @@ if (!$is_allowedToEdit) { } } -$allowRecordAudio = 'true' === api_get_setting('enable_record_audio'); +$allowRecordAudio = true; $allowTeacherCommentAudio = ('true' === api_get_setting('exercise.allow_teacher_comment_audio')); //$js = ''; diff --git a/public/main/exercise/exercise_submit.php b/public/main/exercise/exercise_submit.php index 67d34449b2..8016a92014 100644 --- a/public/main/exercise/exercise_submit.php +++ b/public/main/exercise/exercise_submit.php @@ -77,10 +77,8 @@ if ('true' === api_get_setting('exercise.quiz_prevent_copy_paste')) { $htmlHeadXtra[] = ''; } -if ('true' === api_get_setting('enable_record_audio')) { - $htmlHeadXtra[] = ''; - $htmlHeadXtra[] = api_get_js('record_audio/record_audio.js'); -} +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = api_get_js('record_audio/record_audio.js'); $zoomOptions = api_get_setting('exercise.quiz_image_zoom', true); if (isset($zoomOptions['options']) && !in_array($origin, ['embeddable', 'mobileapp'])) { diff --git a/public/main/exercise/question.class.php b/public/main/exercise/question.class.php index 2e7715dc24..cc54ef952d 100644 --- a/public/main/exercise/question.class.php +++ b/public/main/exercise/question.class.php @@ -1097,10 +1097,6 @@ abstract class Question */ public static function get_question_type($type) { - if (ORAL_EXPRESSION == $type && 'true' !== api_get_setting('enable_record_audio')) { - return null; - } - return self::$questionTypes[$type]; } @@ -1109,10 +1105,6 @@ abstract class Question */ public static function getQuestionTypeList() { - if ('true' !== api_get_setting('enable_record_audio')) { - self::$questionTypes[ORAL_EXPRESSION] = null; - unset(self::$questionTypes[ORAL_EXPRESSION]); - } if ('true' !== api_get_setting('enable_quiz_scenario')) { self::$questionTypes[HOT_SPOT_DELINEATION] = null; unset(self::$questionTypes[HOT_SPOT_DELINEATION]); diff --git a/public/main/exercise/question_list_admin.inc.php b/public/main/exercise/question_list_admin.inc.php index 591063d9dd..c0bc38ff52 100644 --- a/public/main/exercise/question_list_admin.inc.php +++ b/public/main/exercise/question_list_admin.inc.php @@ -144,11 +144,11 @@ if (isset($exerciseId) && $exerciseId > 0) { // In building mode show all questions not render by teacher order. $objExercise->questionSelectionType = EX_Q_SELECTION_ORDERED; $allowQuestionOrdering = true; - $showPagination = api_get_setting('exercise.show_question_pagination'); - $length = api_get_setting('exercise.question_pagination_length'); + $showPagination = 'true' === api_get_setting('exercise.show_question_pagination'); + $length = (int) api_get_setting('exercise.question_pagination_length') ?: 30; $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; - if (!empty($showPagination) && $nbrQuestions > $showPagination) { + if ($showPagination && $nbrQuestions > $length) { $allowQuestionOrdering = false; $start = ($page - 1) * $length; $questionList = $objExercise->selectQuestionList(true, true); @@ -310,13 +310,15 @@ if (isset($exerciseId) && $exerciseId > 0) { echo ''; //question list div // Pagination navigation - $totalPages = ceil($nbrQuestions / $length); - echo ''; } else { echo Display::return_message(get_lang('Questions list (there is no question so far).'), 'warning'); } diff --git a/public/main/inc/lib/exercise.lib.php b/public/main/inc/lib/exercise.lib.php index 918f890dc9..c79021e061 100644 --- a/public/main/inc/lib/exercise.lib.php +++ b/public/main/inc/lib/exercise.lib.php @@ -201,15 +201,13 @@ class ExerciseLib break; case ORAL_EXPRESSION: // Add nanog - if ('true' === api_get_setting('enable_record_audio')) { - //@todo pass this as a parameter - global $exercise_stat_info; - if (!empty($exercise_stat_info)) { - echo $objQuestionTmp->returnRecorder((int) $exercise_stat_info['exe_id']); - $generatedFile = self::getOralFileAudio($exercise_stat_info['exe_id'], $questionId); - if (!empty($generatedFile)) { - echo $generatedFile; - } + //@todo pass this as a parameter + global $exercise_stat_info; + if (!empty($exercise_stat_info)) { + echo $objQuestionTmp->returnRecorder((int) $exercise_stat_info['exe_id']); + $generatedFile = self::getOralFileAudio($exercise_stat_info['exe_id'], $questionId); + if (!empty($generatedFile)) { + echo $generatedFile; } } diff --git a/public/main/install/profiles/prod.json b/public/main/install/profiles/prod.json index 428be66c4d..3977aba7c9 100644 --- a/public/main/install/profiles/prod.json +++ b/public/main/install/profiles/prod.json @@ -43,11 +43,6 @@ "subkey": "", "selected_value": "true" }, - { - "variable": "enabled_text2audio", - "subkey": "", - "selected_value": "true" - }, { "variable": "gradebook_score_display_coloring", "subkey": "", @@ -59,4 +54,4 @@ "selected_value": "true" } ] -} \ No newline at end of file +} diff --git a/public/main/lp/lp_add_audio.php b/public/main/lp/lp_add_audio.php index 3838c1227c..07fd028901 100644 --- a/public/main/lp/lp_add_audio.php +++ b/public/main/lp/lp_add_audio.php @@ -132,7 +132,7 @@ $tpl = new Template(get_lang('Add')); $tpl->assign('unique_file_id', api_get_unique_id()); $tpl->assign('course_code', api_get_course_id()); $tpl->assign('filename', $lp_item->get_title().'_nano.wav'); -$tpl->assign('enable_record_audio', 'true' === api_get_setting('enable_record_audio')); +$tpl->assign('enable_record_audio', true); $tpl->assign('cur_dir_path', '/audio'); $tpl->assign('lp_item_id', $lp_item_id); //$tpl->assign('lp_dir', api_remove_trailing_slash($lpPathInfo['dir'])); diff --git a/src/CoreBundle/Controller/PlatformConfigurationController.php b/src/CoreBundle/Controller/PlatformConfigurationController.php index c54e5b6450..5179d8c03c 100644 --- a/src/CoreBundle/Controller/PlatformConfigurationController.php +++ b/src/CoreBundle/Controller/PlatformConfigurationController.php @@ -76,7 +76,6 @@ class PlatformConfigurationController extends AbstractController 'course.course_validation', 'course.student_view_enabled', 'course.allow_edit_tool_visibility_in_session', - 'course.enable_record_audio', 'session.limit_session_admin_role', 'session.allow_session_admin_read_careers', 'session.limit_session_admin_list_users', diff --git a/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php b/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php index 79a7b421e8..d60d436d8a 100644 --- a/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php +++ b/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php @@ -363,11 +363,6 @@ class SettingsCurrentFixtures extends Fixture implements FixtureGroupInterface 'title' => 'Courses custom icons', 'comment' => 'Use course images as the course icon in courses lists (instead of the default green blackboard icon).', ], - [ - 'name' => 'enable_record_audio', - 'title' => 'Enable audio recorder', - 'comment' => 'Enables the WebRTC (flashless) audio recorder at several locations inside Chamilo', - ], [ 'name' => 'hide_scorm_copy_link', 'title' => 'Hide SCORM Copy', @@ -816,11 +811,6 @@ class SettingsCurrentFixtures extends Fixture implements FixtureGroupInterface 'title' => 'Enable Webcam Clip', 'comment' => 'Webcam Clip allow to users capture images from his webcam and send them to server in JPEG (.jpg or .jpeg) format', ], - [ - 'name' => 'enabled_text2audio', - 'title' => 'Enable online services for text to speech conversion', - 'comment' => 'Online tool to convert text to speech. Uses speech synthesis technology to generate audio files saved into your course.', - ], [ 'name' => 'pdf_export_watermark_by_course', 'title' => 'Enable watermark definition by course', diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20170627122900.php b/src/CoreBundle/Migrations/Schema/V200/Version20170627122900.php index 7a1ab61ce8..acddc37f96 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20170627122900.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20170627122900.php @@ -205,7 +205,6 @@ class Version20170627122900 extends AbstractMigrationChamilo 'server_type' => 'platform', 'show_official_code_whoisonline' => 'profile', 'show_terms_if_profile_completed' => 'ticket', - 'enable_record_audio' => 'course', 'add_users_by_coach' => 'session', 'allow_captcha' => 'security', 'allow_coach_to_edit_course_session' => 'session', @@ -236,7 +235,6 @@ class Version20170627122900 extends AbstractMigrationChamilo 'enable_webcam_clip' => 'document', 'enabled_support_pixlr' => 'editor', 'enabled_support_svg' => 'editor', - 'enabled_text2audio' => 'document', 'extend_rights_for_coach' => 'session', 'extend_rights_for_coach_on_survey' => 'survey', 'hide_course_group_if_no_tools_available' => 'group', diff --git a/src/CoreBundle/Settings/CourseSettingsSchema.php b/src/CoreBundle/Settings/CourseSettingsSchema.php index 916c932c3f..c611b340c0 100644 --- a/src/CoreBundle/Settings/CourseSettingsSchema.php +++ b/src/CoreBundle/Settings/CourseSettingsSchema.php @@ -85,7 +85,6 @@ class CourseSettingsSchema extends AbstractSettingsSchema 'course_images_in_courses_list' => 'true', 'teacher_can_select_course_template' => 'true', 'show_toolshortcuts' => '', - 'enable_record_audio' => 'false', 'lp_show_reduced_report' => 'false', 'course_creation_splash_screen' => 'true', 'block_registered_users_access_to_open_course_contents' => 'false', @@ -246,7 +245,6 @@ class CourseSettingsSchema extends AbstractSettingsSchema ->add('course_images_in_courses_list', YesNoType::class) ->add('teacher_can_select_course_template', YesNoType::class) ->add('show_toolshortcuts', YesNoType::class) - ->add('enable_record_audio', YesNoType::class) ->add('lp_show_reduced_report', YesNoType::class) ->add('course_creation_splash_screen', YesNoType::class) ->add('block_registered_users_access_to_open_course_contents', YesNoType::class) diff --git a/src/CoreBundle/Settings/DocumentSettingsSchema.php b/src/CoreBundle/Settings/DocumentSettingsSchema.php index 4ff0114882..b6c3797469 100644 --- a/src/CoreBundle/Settings/DocumentSettingsSchema.php +++ b/src/CoreBundle/Settings/DocumentSettingsSchema.php @@ -39,8 +39,6 @@ class DocumentSettingsSchema extends AbstractSettingsSchema 'students_export2pdf' => 'true', 'show_users_folders' => 'true', 'show_default_folders' => 'true', - 'enabled_text2audio' => 'false', - // 'enable_nanogong' => 'false', 'show_documents_preview' => 'false', 'enable_webcam_clip' => 'false', 'tool_visible_by_default_at_creation' => [ @@ -121,7 +119,6 @@ class DocumentSettingsSchema extends AbstractSettingsSchema ->add('students_export2pdf', YesNoType::class) ->add('show_users_folders', YesNoType::class) ->add('show_default_folders', YesNoType::class) - ->add('enabled_text2audio', YesNoType::class) // ->add('enable_nanogong', YesNoType::class) ->add('show_documents_preview', YesNoType::class) ->add('enable_webcam_clip', YesNoType::class) diff --git a/src/CoreBundle/Settings/SettingsManager.php b/src/CoreBundle/Settings/SettingsManager.php index b4db2b7831..d46bfbf71f 100644 --- a/src/CoreBundle/Settings/SettingsManager.php +++ b/src/CoreBundle/Settings/SettingsManager.php @@ -652,7 +652,6 @@ class SettingsManager implements SettingsManagerInterface 'show_users_folders' => 'Tools', 'show_default_folders' => 'Tools', 'show_chat_folder' => 'Tools', - 'enabled_text2audio' => 'Tools', 'course_hide_tools' => 'Course', 'enabled_support_pixlr' => 'Tools', 'show_groups_to_users' => 'Session', @@ -791,7 +790,6 @@ class SettingsManager implements SettingsManagerInterface 'messaging_gdc_project_number' => 'WebServices', 'messaging_gdc_api_key' => 'WebServices', 'teacher_can_select_course_template' => 'Course', - 'enable_record_audio' => 'Tools', 'allow_show_skype_account' => 'Platform', 'allow_show_linkedin_url' => 'Platform', 'enable_profile_user_address_geolocalization' => 'User', @@ -953,8 +951,6 @@ class SettingsManager implements SettingsManagerInterface 'enabled_support_svg' => 'editor', 'enabled_support_pixlr' => 'editor', 'enable_webcam_clip' => 'document', - 'enable_record_audio' => 'course', - 'enabled_text2audio' => 'document', 'permanently_remove_deleted_files' => 'document', 'allow_delete_attendance' => 'attendance', 'display_groups_forum_in_general_tool' => 'forum',