Internal: Remove enabled_text2audio & force enable_record_audio active

pull/6065/head
Christian Beeznest 7 months ago
parent 68813ee8ff
commit 333b52ea6a
  1. 2
      assets/vue/composables/document/documentActionButtons.js
  2. 2
      public/main/exercise/exercise_show.php
  3. 6
      public/main/exercise/exercise_submit.php
  4. 8
      public/main/exercise/question.class.php
  5. 20
      public/main/exercise/question_list_admin.inc.php
  6. 16
      public/main/inc/lib/exercise.lib.php
  7. 7
      public/main/install/profiles/prod.json
  8. 2
      public/main/lp/lp_add_audio.php
  9. 1
      src/CoreBundle/Controller/PlatformConfigurationController.php
  10. 10
      src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php
  11. 2
      src/CoreBundle/Migrations/Schema/V200/Version20170627122900.php
  12. 2
      src/CoreBundle/Settings/CourseSettingsSchema.php
  13. 3
      src/CoreBundle/Settings/DocumentSettingsSchema.php
  14. 4
      src/CoreBundle/Settings/SettingsManager.php

@ -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 ?

@ -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 = '<script>'.api_get_language_translate_html().'</script>';

@ -77,10 +77,8 @@ if ('true' === api_get_setting('exercise.quiz_prevent_copy_paste')) {
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_JS_PATH).'jquery.nocopypaste.js"></script>';
}
if ('true' === api_get_setting('enable_record_audio')) {
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_JS_PATH).'rtc/RecordRTC.js"></script>';
$htmlHeadXtra[] = api_get_js('record_audio/record_audio.js');
}
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_JS_PATH).'rtc/RecordRTC.js"></script>';
$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'])) {

@ -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]);

@ -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 '</div>'; //question list div
// Pagination navigation
$totalPages = ceil($nbrQuestions / $length);
echo '<div class="pagination flex justify-center mt-4">';
for ($i = 1; $i <= $totalPages; $i++) {
$isActive = ($i == $page) ? 'bg-primary text-white' : 'border-gray-300 text-gray-700 hover:bg-gray-200';
echo '<a href="?'.http_build_query(array_merge($_GET, ['page' => $i])).'" class="mx-1 px-4 py-2 border '.$isActive.' rounded">'.$i.'</a>';
if ($showPagination && $nbrQuestions > $length) {
$totalPages = ceil($nbrQuestions / $length);
echo '<div class="pagination flex justify-center mt-4">';
for ($i = 1; $i <= $totalPages; $i++) {
$isActive = ($i == $page) ? 'bg-primary text-white' : 'border-gray-300 text-gray-700 hover:bg-gray-200';
echo '<a href="?' . http_build_query(array_merge($_GET, ['page' => $i])) . '" class="mx-1 px-4 py-2 border ' . $isActive . ' rounded">' . $i . '</a>';
}
echo '</div>';
}
echo '</div>';
} else {
echo Display::return_message(get_lang('Questions list (there is no question so far).'), 'warning');
}

@ -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;
}
}

@ -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"
}
]
}
}

@ -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']));

@ -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',

@ -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',

@ -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',

@ -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)

@ -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)

@ -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',

Loading…
Cancel
Save