diff --git a/assets/css/app.scss b/assets/css/app.scss index f3e5dde6b8..9139441c3d 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -742,6 +742,54 @@ form .field { } } +.files-info-page { + .form-control { + @apply w-48 p-1 border border-gray-300 rounded; + } + + .btn-primary { + @apply bg-primary text-primary-button-text p-1 rounded; + } + + .btn-primary:hover { + @apply bg-secondary-hover; + } + + .modal { + @apply hidden fixed z-10 left-0 top-0 w-full h-full overflow-auto bg-black bg-opacity-50 pt-16; + } + + .modal-content { + @apply bg-white m-auto p-5 border border-gray-300 w-1/3; + } + + .close-button { + @apply text-fontdisabled float-right text-2xl font-bold; + } + + .close-button:hover, + .close-button:focus { + @apply text-black no-underline cursor-pointer; + } + + .pagination { + @apply flex justify-center my-5; + } + + .pagination a, + .pagination span { + @apply mx-1 px-4 py-2 text-primary border border-gray-25; + } + + .pagination a:hover { + @apply bg-gray-15; + } + + .pagination span { + @apply bg-primary text-white border-primary; + } +} + //@import 'primevue-md-light-indigo/theme.css'; //@import '~primevue/resources/primevue.min.css'; //@import '~primeflex/primeflex.css'; diff --git a/assets/css/scss/atoms/_messages.scss b/assets/css/scss/atoms/_messages.scss index 6836c62657..bb15065ef7 100644 --- a/assets/css/scss/atoms/_messages.scss +++ b/assets/css/scss/atoms/_messages.scss @@ -2,22 +2,65 @@ @apply mb-4 shadow-sm rounded-md border-0; &-wrapper { - @apply gap-3.5 py-3 px-4; + @apply flex items-center; // gap-3.5; } - &-close { - @apply rounded-full transition duration-200 min-w-[1rem] min-h-[1rem]; + & &-wrapper { + @apply py-3 px-4; + } + + &-icon { + @apply shrink-0; + } + + & &-icon { + @apply text-body-1 mr-2; - &:hover { + &:not(.p-message-close-icon) { + @apply w-6 h-6; } + } - &:focus { - @apply outline-none outline-offset-0 shadow-none; + &-close { + @apply flex items-center justify-center shrink-0; // rounded-full transition duration-200 min-w-[1rem] min-h-[1rem]; + + &.p-link { + @apply ml-auto overflow-hidden relative; } } - &-text { - @apply w-full; + & &-close { + @apply w-8 h-8 rounded-full bg-transparent transition-none outline-transparent + hover:bg-white/50 + focus-visible:outline-none focus-visible:outline-offset-0 focus-visible:drop-shadow-lg; + } + + &-enter-from { + @apply opacity-0; + } + + &-enter-active { + @apply transition-opacity duration-300; + } + + &.p-message-leave-from { + @apply max-h-96; + } + + &.p-message-leave-to { + @apply max-h-0 opacity-0 m-0; + } + + &-leave-active { + @apply overflow-hidden transition; + } + + &-leave-active &-close { + @apply hidden; + } + + & &-text { + @apply text-body-2 w-full; a { @apply font-semibold; @@ -29,7 +72,7 @@ } &.p-message-info { - @apply bg-primary text-white; + @apply bg-info text-white; .p-message-icon, .p-message-close { diff --git a/assets/css/scss/atoms/_toast.scss b/assets/css/scss/atoms/_toast.scss index b4b778d5c8..45c460d4f4 100644 --- a/assets/css/scss/atoms/_toast.scss +++ b/assets/css/scss/atoms/_toast.scss @@ -1,46 +1,101 @@ -$color_1: #01579B; -$color_2: #1B5E20; -$color_3: #7f6003; -$color_4: #B71C1C; - .p-toast { - @apply opacity-95; + @apply whitespace-pre-line break-words opacity-90 w-96; + + &.p-toast-top-center, &.p-toast-bottom-center { + @apply -translate-x-1/2; + } - &-message { - @apply rounded-md mb-3.5 shadow-gray-30 shadow-md; + &.p-toast-center { + @apply min-w-5 -translate-x-1/2 -translate-y-1/2; + } + + .p-toast-message { + @apply m-0 mb-4 drop-shadow-lg rounded-lg; - &-content { - @apply py-4 px-6 gap-2.5; + &.p-toast-message-enter-from { + @apply opacity-0 translate-y-1/2; + } + + &.p-toast-message-leave-from { + @apply max-h-96; + } + + &.p-toast-message-leave-to { + @apply max-h-0 opacity-0 mb-0 overflow-hidden; + } + + &-enter-active { + transition: transform 0.3s, opacity 0.3s; + } + + &-leave-active { + transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s; + } + + &-info { + @apply bg-primary text-white border-0; + + .p-toast-message-icon, .p-toast-icon-close { + @apply text-white; + } + } + + &-success { + @apply bg-success text-white border-0; + + .p-toast-message-icon, .p-toast-icon-close { + @apply text-white; + } + } + + &-warn { + @apply bg-warning bg-gray-90 border-0; + + .p-toast-message-icon, .p-toast-icon-close { + @apply bg-gray-90; + } + } + + &-error { + @apply bg-error text-white border-0; + + .p-toast-message-icon, .p-toast-icon-close { + @apply text-white; + } + } + + .p-toast-message-content { + @apply flex items-center p-4 border-0; .p-toast-message-text { - @apply text-body-1; + @apply flex-auto m-0 ml-4; } + .p-toast-message-icon { + @apply shrink-0 text-body-1; + + &.p-icon { + @apply w-8 h-8; + } } + .p-toast-summary { @apply font-semibold; } - .p-toast-detail { + + .p-toast-summary + .p-toast-detail { + @apply m-0 mt-2; } } .p-toast-icon-close { - @apply rounded-full transition duration-200 w-4 h-6 - focus:outline-none; - } + @apply flex items-center justify-center overflow-hidden relative w-8 h-8 rounded-lg bg-transparent transition-none outline-none + hover:bg-white/50 + focus-visible:outline-none drop-shadow-none; - &.p-toast-message-info { - @apply bg-primary text-white; - } - - &.p-toast-message-success { - @apply bg-success text-white; - } - &.p-toast-message-warn { - @apply bg-warning text-gray-90; - } - &.p-toast-message-error { - @apply bg-error text-white; + &.p-link { + @apply cursor-pointer; + } } } } diff --git a/assets/locales/ar.json b/assets/locales/ar.json index 09cb87313a..f308f712bc 100644 --- a/assets/locales/ar.json +++ b/assets/locales/ar.json @@ -552,5 +552,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "\u0627\u0633\u062a\u0643\u0634\u0627\u0641 \u0645\u0642\u0631\u0631\u0627\u062a \u0627\u0643\u062b\u0631", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "\u062a\u0648\u062c\u062f \u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0646\u0641\u0633 \u0627\u0644\u0627\u0633\u0645 \u0645\u0633\u0628\u0642\u0627", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "\u0644\u063a\u0631\u0636 \u062d\u0645\u0627\u064a\u0629 \u0645\u0648\u0642\u0639\u0643 \u0641\u0639\u0644\u064a\u0643 \u062c\u0639\u0644 {0} \u0627\u0644\u0645\u0633\u0627\u0631 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637 (chmod -R 0555 on Linux) \u0648\u0627\u062d\u0630\u0641 \u0647\u0630\u0627 {1} \u0627\u0644\u0645\u0633\u0627\u0631." } \ No newline at end of file diff --git a/assets/locales/ca_ES.json b/assets/locales/ca_ES.json index 8b4cbe469c..30835640be 100644 --- a/assets/locales/ca_ES.json +++ b/assets/locales/ca_ES.json @@ -532,5 +532,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Una base de dades amb el mateix nom ja existeix. El contingut de la base de dades es perdr\u00e0.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Per protegir la plataforma, fes el directori {0} sencer de nom\u00e9s lectura (chmod 0555 en Linux) i elimina el directori {1}." } \ No newline at end of file diff --git a/assets/locales/de.json b/assets/locales/de.json index fa82b07093..6a822d8650 100644 --- a/assets/locales/de.json +++ b/assets/locales/de.json @@ -415,7 +415,7 @@ "Checkbox 1": "Checkbox 1", "Checkbox 2": "Checkbox 2", "This is a text example": "This is a text example", - "Show dialog": "Show dialog", + "Show dialog": "Dialog anzeigen", "Dialog example": "Beispiel f\u00fcr einen Dialog", "Item 1": "Item 1", "Item 2": "Item 2", @@ -553,5 +553,7 @@ "Receiver profile picture": "Empf\u00e4ngerprofilbild", "Carbon copy receiver profile picture": "Empf\u00e4ngerprofilbild in Kopie", "Explore more courses": "Erkunden Sie weitere Kurse", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Eine Datenbank mit dem gleichen Namen existiert bereits!", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Um Ihre Installation zu sch\u00fctzen, setzen Sie das Verzeichnis {0} auf nur-lesen (oder chmod 0555 auf Linux-basierenden Systemen). Anschlie\u00dfend bitte das Verzeichnis {1} l\u00f6schen." } \ No newline at end of file diff --git a/assets/locales/el.json b/assets/locales/el.json index 8c6fe72c0b..d79fe8973c 100644 --- a/assets/locales/el.json +++ b/assets/locales/el.json @@ -527,5 +527,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "A database with the same name already exists.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "To protect your site, make the whole {0} directory read-only (chmod 0555 on Linux) and delete the {1} directory." } \ No newline at end of file diff --git a/assets/locales/en.json b/assets/locales/en.json index aa4e51f825..f7ab88fa89 100644 --- a/assets/locales/en.json +++ b/assets/locales/en.json @@ -553,5 +553,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "Explore more courses", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists<\/b>.": "A database with the same name already exists<\/b>.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "To protect your site, make the whole {0} directory read-only (chmod -R 0555 on Linux) and delete the {1} directory." } \ No newline at end of file diff --git a/assets/locales/es.json b/assets/locales/es.json index a5d9946464..ba260495ef 100644 --- a/assets/locales/es.json +++ b/assets/locales/es.json @@ -553,5 +553,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "Explorar m\u00e1s cursos", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Una base de datos con el mismo nombre ya existe. El contenido de la base de datos se perder\u00e1.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Para proteger su instalaci\u00f3n, ponga la carpeta {0} en solo lectura (chmod -R 0555 bajo Linux) y borre completamente la carpeta {1}." } \ No newline at end of file diff --git a/assets/locales/eu_ES.json b/assets/locales/eu_ES.json index 58e4c0df07..4d6f4dcb94 100644 --- a/assets/locales/eu_ES.json +++ b/assets/locales/eu_ES.json @@ -511,5 +511,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Bada lehendik izen bereko datu base bat.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Zure webgunea babesteko, sartu ezazu {0} direktorioa irakurtzeko solik (chmod -r0555 Linux-ean) eta ezabatu erabat {1} direktorioa." } \ No newline at end of file diff --git a/assets/locales/fr_FR.json b/assets/locales/fr_FR.json index c0b7538f4a..ebe1317745 100644 --- a/assets/locales/fr_FR.json +++ b/assets/locales/fr_FR.json @@ -415,7 +415,7 @@ "Checkbox 1": "Checkbox 1", "Checkbox 2": "Checkbox 2", "This is a text example": "This is a text example", - "Show dialog": "Show dialog", + "Show dialog": "Afficher la bo\u00eete de dialogue", "Dialog example": "Exemple de la bo\u00eete de dialogue", "Item 1": "Item 1", "Item 2": "Item 2", @@ -553,5 +553,7 @@ "Receiver profile picture": "Photo de profil du destinataire", "Carbon copy receiver profile picture": "Photo de profil du destinataire en copie carbone", "Explore more courses": "Explorer plus de cours", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Une base de donn\u00e9e du m\u00eame nom existe d\u00e9j\u00e0. Si vous utilisez cette base, son contenu actuel sera \u00e9cras\u00e9.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Pour prot\u00e9ger votre installation, mettez le r\u00e9pertoire {0} en lecture seule (chmod -R 0555 sous Linux) et supprimez compl\u00e8tement le r\u00e9pertoire {1}" } \ No newline at end of file diff --git a/assets/locales/fur.json b/assets/locales/fur.json index aa4e51f825..63ccb5dbae 100644 --- a/assets/locales/fur.json +++ b/assets/locales/fur.json @@ -553,5 +553,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "Explore more courses", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "A database with the same name already exists.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "To protect your site, make the whole {0} directory read-only (chmod -R 0555 on Linux) and delete the {1} directory." } \ No newline at end of file diff --git a/assets/locales/gl.json b/assets/locales/gl.json index aa4e51f825..63ccb5dbae 100644 --- a/assets/locales/gl.json +++ b/assets/locales/gl.json @@ -553,5 +553,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "Explore more courses", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "A database with the same name already exists.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "To protect your site, make the whole {0} directory read-only (chmod -R 0555 on Linux) and delete the {1} directory." } \ No newline at end of file diff --git a/assets/locales/he_IL.json b/assets/locales/he_IL.json index 5010b397bb..dddc55befc 100644 --- a/assets/locales/he_IL.json +++ b/assets/locales/he_IL.json @@ -547,5 +547,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "\u05d7\u05e7\u05d5\u05e8 \u05e7\u05d5\u05e8\u05e1\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "\u05de\u05e1\u05d3 \u05e0\u05ea\u05d5\u05e0\u05d9\u05dd \u05e2\u05dd \u05d0\u05d5\u05ea\u05d5 \u05e9\u05dd \u05db\u05d1\u05e8 \u05e7\u05d9\u05d9\u05dd.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "\u05db\u05d3\u05d9 \u05dc\u05d4\u05d2\u05df \u05e2\u05dc \u05d4\u05d0\u05ea\u05e8 \u05e9\u05dc\u05da, \u05d4\u05e4\u05d5\u05da \u05d0\u05ea \u05db\u05dc \u05e1\u05e4\u05e8\u05d9\u05d9\u05ea {0} \u05dc\u05e7\u05e8\u05d9\u05d0\u05d4 \u05d1\u05dc\u05d1\u05d3 (chmod -R 0555 \u05d1\u05dc\u05d9\u05e0\u05d5\u05e7\u05e1) \u05d5\u05de\u05d7\u05e7 \u05d0\u05ea \u05e1\u05e4\u05e8\u05d9\u05d9\u05ea {1}." } \ No newline at end of file diff --git a/assets/locales/it.json b/assets/locales/it.json index 0e1ea3278f..230d58d674 100644 --- a/assets/locales/it.json +++ b/assets/locales/it.json @@ -537,5 +537,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Un database con lo stesso nome esiste gi\u00e0.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Per proteggere il sito, imposta tutta la cartella {0} in sola lettura (chmod 0555 su Linux) ed elimina la cartella {1}." } \ No newline at end of file diff --git a/assets/locales/lv_LV.json b/assets/locales/lv_LV.json index c22ecdb8c8..d581fef497 100644 --- a/assets/locales/lv_LV.json +++ b/assets/locales/lv_LV.json @@ -505,5 +505,6 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Datub\u0101ze ar \u0161\u0101du nosaukumu, jau eksist\u0113" } \ No newline at end of file diff --git a/assets/locales/nl.json b/assets/locales/nl.json index 5d9d7426d9..80dc71d232 100644 --- a/assets/locales/nl.json +++ b/assets/locales/nl.json @@ -523,5 +523,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Er bestaat al een database met de naam.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Om uw site te beschermen, maak de gehele {0} map alleen-lezen (chmod -R 0555 op Linux) en verwijder de {1} map." } \ No newline at end of file diff --git a/assets/locales/oc.json b/assets/locales/oc.json index aa4e51f825..63ccb5dbae 100644 --- a/assets/locales/oc.json +++ b/assets/locales/oc.json @@ -553,5 +553,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "Explore more courses", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "A database with the same name already exists.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "To protect your site, make the whole {0} directory read-only (chmod -R 0555 on Linux) and delete the {1} directory." } \ No newline at end of file diff --git a/assets/locales/pl_PL.json b/assets/locales/pl_PL.json index e988345b23..de95784d4c 100644 --- a/assets/locales/pl_PL.json +++ b/assets/locales/pl_PL.json @@ -510,5 +510,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Bazy danych o tej samej nazwie ju\u017c istnieje.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Aby zabezpieczy\u0107 swoj\u0105 witryn\u0119, ustaw ca\u0142y katalog {0} tylko do odczytu (chmod 0555 na Linuksie) i usu\u0144 katalog {1}." } \ No newline at end of file diff --git a/assets/locales/pt_PT.json b/assets/locales/pt_PT.json index cf90aefa15..2da05a4503 100644 --- a/assets/locales/pt_PT.json +++ b/assets/locales/pt_PT.json @@ -518,5 +518,6 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Para proteger a sua instala\u00e7\u00e3o, fazer toda a {0} diret\u00f3rio somente leitura (chmod 0555 no Linux) e excluir o {1} diret\u00f3rio." } \ No newline at end of file diff --git a/assets/locales/ro_RO.json b/assets/locales/ro_RO.json index fb71eff29e..2c18f593bf 100644 --- a/assets/locales/ro_RO.json +++ b/assets/locales/ro_RO.json @@ -523,5 +523,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "O baza de date cu acelasi nume deja exista.Continutul bazei de date se vor pierde", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Pentru protejarea instalatie sale,puneti foldul {0} doar in citire (chmod -r 0555 bajo Linux) si stergeti complet foldul {1}." } \ No newline at end of file diff --git a/assets/locales/sk_SK.json b/assets/locales/sk_SK.json index adaec7d2e9..86b4cab535 100644 --- a/assets/locales/sk_SK.json +++ b/assets/locales/sk_SK.json @@ -530,5 +530,7 @@ "Sender profile picture": "Sender profile picture", "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Datab\u00e1za s rovnak\u00fdm n\u00e1zvom u\u017e existuje.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Ak chcete chr\u00e1ni\u0165 va\u0161u str\u00e1nku, nastavte cel\u00fd adres\u00e1r {0} iba na \u010d\u00edtanie (chmod 0555 na Linuxe) a odstr\u00e1\u0148te {1} adres\u00e1r." } \ No newline at end of file diff --git a/assets/locales/sl_SI.json b/assets/locales/sl_SI.json index c3261dadc3..25ddfb9add 100644 --- a/assets/locales/sl_SI.json +++ b/assets/locales/sl_SI.json @@ -552,5 +552,7 @@ "Receiver profile picture": "Receiver profile picture", "Carbon copy receiver profile picture": "Carbon copy receiver profile picture", "Explore more courses": "Razi\u0161\u010di ve\u010d te\u010dajev", - "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:" + "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:": "In order to enable the automatic version checking you have to register your portal on chamilo.org. The information obtained by clicking this button is only for internal use and only aggregated data will be publicly available (total number of portals, total number of Chamilo course, total number of Chamilo users, ...) (see {0}). When registering you will also appear on the worldwide list ({1}). If you do not want to appear in this list you have to check the checkbox below. The registration is as easy as it can be: you only have to click this button:", + "A database with the same name already exists.": "Podatkovna baza z istim imenom \u017ee obstaja.", + "To protect your site, make the whole %s directory read-only (chmod -R 0555 on Linux) and delete the %s directory.": "Za za\u0161\u010dito va\u0161ih strani naredite celotno mapo {0} zgolj bralno (chmod 0555 za Linux) in odstranite mapo {1} ." } \ No newline at end of file diff --git a/assets/vue/components/installer/Step4.vue b/assets/vue/components/installer/Step4.vue index d9724cb634..4206d729f5 100644 --- a/assets/vue/components/installer/Step4.vue +++ b/assets/vue/components/installer/Step4.vue @@ -132,10 +132,7 @@ :closable="false" severity="warn" > - - already exists - deleted - + - var/config/ + config/ main/install/ diff --git a/public/main/install/install.lib.php b/public/main/install/install.lib.php index 0fe3ebc178..24755794cb 100644 --- a/public/main/install/install.lib.php +++ b/public/main/install/install.lib.php @@ -815,62 +815,65 @@ function display_license_agreement(): array $license = api_htmlentities(@file_get_contents(api_get_path(SYMFONY_SYS_PATH).'public/documentation/license.txt')); $activtiesList = [ - 'Advertising/Marketing/PR', - 'Agriculture/Forestry', - 'Architecture', - 'Banking/Finance', - 'Biotech/Pharmaceuticals', - 'Business Equipment', - 'Business Services', - 'Construction', - 'Consulting/Research', - 'Education', - 'Engineering', - 'Environmental', - 'Government', - 'Health Care', - 'Hospitality/Lodging/Travel', - 'Insurance', - 'Legal', - 'Manufacturing', - 'Media/Entertainment', - 'Mortgage', - 'Non-Profit', - 'Real Estate', - 'Restaurant', - 'Retail', - 'Shipping/Transportation', - 'Technology', - 'Telecommunications', - 'Other', + ['Advertising/Marketing/PR'], + ['Agriculture/Forestry'], + ['Architecture'], + ['Banking/Finance'], + ['Biotech/Pharmaceuticals'], + ['Business Equipment'], + ['Business Services'], + ['Construction'], + ['Consulting/Research'], + ['Education'], + ['Engineering'], + ['Environmental'], + ['Government'], + ['Health Care'], + ['Hospitality/Lodging/Travel'], + ['Insurance'], + ['Legal'], + ['Manufacturing'], + ['Media/Entertainment'], + ['Mortgage'], + ['Non-Profit'], + ['Real Estate'], + ['Restaurant'], + ['Retail'], + ['Shipping/Transportation'], + ['Technology'], + ['Telecommunications'], + ['Other'], ]; $rolesList = [ - 'Administration', - 'CEO/President/ Owner', - 'CFO', - 'CIO/CTO', - 'Consultant', - 'Customer Service', - 'Engineer/Programmer', - 'Facilities/Operations', - 'Finance/ Accounting Manager', - 'Finance/ Accounting Staff', - 'General Manager', - 'Human Resources', - 'IS/IT Management', - 'IS/ IT Staff', - 'Marketing Manager', - 'Marketing Staff', - 'Partner/Principal', - 'Purchasing Manager', - 'Sales/ Business Dev. Manager', - 'Sales/ Business Dev.', - 'Vice President/Senior Manager', - 'Other', + ['Administration'], + ['CEO/President/ Owner'], + ['CFO'], + ['CIO/CTO'], + ['Consultant'], + ['Customer Service'], + ['Engineer/Programmer'], + ['Facilities/Operations'], + ['Finance/ Accounting Manager'], + ['Finance/ Accounting Staff'], + ['General Manager'], + ['Human Resources'], + ['IS/IT Management'], + ['IS/ IT Staff'], + ['Marketing Manager'], + ['Marketing Staff'], + ['Partner/Principal'], + ['Purchasing Manager'], + ['Sales/ Business Dev. Manager'], + ['Sales/ Business Dev.'], + ['Vice President/Senior Manager'], + ['Other'], ]; - $countriesList = get_countries_list_from_array(); + $countriesList = array_map( + fn ($country) => [$country], + get_countries_list_from_array() + ); $languagesList = [ ['bulgarian', 'Bulgarian'], diff --git a/public/main/template/default/admin/index.html.twig b/public/main/template/default/admin/index.html.twig index c93d3629bb..47d8cb4c0d 100644 --- a/public/main/template/default/admin/index.html.twig +++ b/public/main/template/default/admin/index.html.twig @@ -1,4 +1,4 @@ -{% set admin_chamilo_announcements_disable = 'announcement.admin_chamilo_announcements_disable'|api_get_setting == 'true' %} +{% set admin_chamilo_announcements_disable = 'admin.admin_chamilo_announcements_disable'|api_get_setting == 'true' %} {% block content %} {% autoescape false %} diff --git a/src/CoreBundle/Controller/Admin/AdminController.php b/src/CoreBundle/Controller/Admin/AdminController.php index af73560622..d5360063a7 100644 --- a/src/CoreBundle/Controller/Admin/AdminController.php +++ b/src/CoreBundle/Controller/Admin/AdminController.php @@ -7,18 +7,27 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Controller\Admin; use Chamilo\CoreBundle\Controller\BaseController; +use Chamilo\CoreBundle\Entity\ResourceFile; +use Chamilo\CoreBundle\Repository\ResourceNodeRepository; use Chamilo\CoreBundle\ServiceHelper\AccessUrlHelper; use Chamilo\CoreBundle\Settings\SettingsManager; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\Routing\Attribute\Route; +use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Security\Http\Attribute\IsGranted; +use Vich\UploaderBundle\Storage\StorageInterface; #[Route('/admin')] class AdminController extends BaseController { + private const ITEMS_PER_PAGE = 50; + public function __construct( - private readonly AccessUrlHelper $accessUrlHelper, + private EntityManagerInterface $entityManager, + private ResourceNodeRepository $resourceNodeRepository, + private StorageInterface $storage, + private AccessUrlHelper $accessUrlHelper ) {} #[IsGranted('ROLE_ADMIN')] @@ -38,4 +47,78 @@ class AdminController extends BaseController return new Response('', Response::HTTP_NO_CONTENT); } + + #[IsGranted('ROLE_ADMIN')] + #[Route('/files_info', name: 'admin_files_info', methods: ['GET'])] + public function listFilesInfo(Request $request): Response + { + $page = $request->query->getInt('page', 1); + $search = $request->query->get('search', ''); + $offset = ($page - 1) * self::ITEMS_PER_PAGE; + + $queryBuilder = $this->entityManager->getRepository(ResourceFile::class)->createQueryBuilder('rf') + ->leftJoin('rf.resourceNode', 'rn') + ->leftJoin('rn.resourceLinks', 'rl') + ->leftJoin('rl.course', 'c') + ->leftJoin('rl.user', 'u') + ->addSelect('rn', 'rl', 'c', 'u'); + + if ($search) { + $queryBuilder->where('rf.title LIKE :search') + ->orWhere('rf.originalName LIKE :search') + ->orWhere('c.title LIKE :search') + ->orWhere('u.username LIKE :search') + ->orWhere('rn.uuid LIKE :search') + ->setParameter('search', '%' . $search . '%'); + } + + $queryBuilder->orderBy('rf.id', 'DESC') + ->setFirstResult($offset) + ->setMaxResults(self::ITEMS_PER_PAGE); + + $files = $queryBuilder->getQuery()->getResult(); + + $totalItemsQuery = $this->entityManager->getRepository(ResourceFile::class) + ->createQueryBuilder('rf') + ->leftJoin('rf.resourceNode', 'rn') + ->leftJoin('rn.resourceLinks', 'rl') + ->leftJoin('rl.course', 'c') + ->leftJoin('rl.user', 'u') + ->select('COUNT(rf.id)'); + + if ($search) { + $totalItemsQuery->where('rf.title LIKE :search') + ->orWhere('rf.originalName LIKE :search') + ->orWhere('c.title LIKE :search') + ->orWhere('u.username LIKE :search') + ->orWhere('rn.uuid LIKE :search') + ->setParameter('search', '%' . $search . '%'); + } + + $totalItems = $totalItemsQuery->getQuery()->getSingleScalarResult(); + $totalPages = ceil($totalItems / self::ITEMS_PER_PAGE); + + $fileUrls = []; + $filePaths = []; + foreach ($files as $file) { + $resourceNode = $file->getResourceNode(); + if ($resourceNode) { + $fileUrls[$file->getId()] = $this->resourceNodeRepository->getResourceFileUrl($resourceNode); + $creator = $resourceNode->getCreator(); + } else { + $fileUrls[$file->getId()] = null; + $creator = null; + } + $filePaths[$file->getId()] = $this->resourceNodeRepository->getFilename($file); + } + + return $this->render('@ChamiloCore/Admin/files_info.html.twig', [ + 'files' => $files, + 'fileUrls' => $fileUrls, + 'filePaths' => $filePaths, + 'totalPages' => $totalPages, + 'currentPage' => $page, + 'search' => $search, + ]); + } } diff --git a/src/CoreBundle/Controller/Admin/IndexBlocksController.php b/src/CoreBundle/Controller/Admin/IndexBlocksController.php index ddb85383d7..6b914f91da 100644 --- a/src/CoreBundle/Controller/Admin/IndexBlocksController.php +++ b/src/CoreBundle/Controller/Admin/IndexBlocksController.php @@ -566,6 +566,12 @@ class IndexBlocksController extends BaseController 'label' => $this->translator->trans('Colors'), ]; + $items[] = [ + 'class' => 'item-file-info', + 'url' => '/admin/files_info', + 'label' => $this->translator->trans('File info'), + ]; + return $items; } diff --git a/src/CoreBundle/Controller/ResourceController.php b/src/CoreBundle/Controller/ResourceController.php index 49d93bcbdb..35dcacc80f 100644 --- a/src/CoreBundle/Controller/ResourceController.php +++ b/src/CoreBundle/Controller/ResourceController.php @@ -146,9 +146,10 @@ class ResourceController extends AbstractResourceController implements CourseCon $user = $this->userHelper->getCurrent(); $firstResourceLink = $resourceNode->getResourceLinks()->first(); - if ($firstResourceLink && $user) { + $firstResourceFile = $resourceNode->getResourceFiles()->first(); + if ($firstResourceLink && $user && $firstResourceFile) { $resourceLinkId = $firstResourceLink->getId(); - $url = $resourceNode->getResourceFiles()->first()->getOriginalName(); + $url = $firstResourceFile->getOriginalName(); $downloadRepository = $entityManager->getRepository(TrackEDownloads::class); $downloadRepository->saveDownload($user->getId(), $resourceLinkId, $url); } diff --git a/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php b/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php index 0fe2fc3425..6ecac42bc7 100644 --- a/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php +++ b/src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php @@ -1302,6 +1302,11 @@ class SettingsCurrentFixtures extends Fixture implements FixtureGroupInterface 'title' => 'Time limit for password reset token', 'comment' => 'The number of seconds before the generated token automatically expires and cannot be used anymore (a new token needs to be generated).', ], + [ + 'name' => 'access_to_personal_file_for_all', + 'title' => 'Access to personal file for all', + 'comment' => 'Allows access to all personal files without restriction', + ], ], 'tracking' => [ [ diff --git a/src/CoreBundle/Resources/views/Admin/files_info.html.twig b/src/CoreBundle/Resources/views/Admin/files_info.html.twig new file mode 100644 index 0000000000..0e6ba2de22 --- /dev/null +++ b/src/CoreBundle/Resources/views/Admin/files_info.html.twig @@ -0,0 +1,152 @@ +{% extends "@ChamiloCore/Layout/layout_one_col.html.twig" %} + +{% block content %} +
+

{{ 'File Information'|trans }}

+ +
+ + +
+ + + + + + + + + + + + + {% for file in files %} + + + + + + + + {% endfor %} + +
{{ 'Title'|trans }}{{ 'Original Name'|trans }}{{ 'Course'|trans }}{{ 'User'|trans }}{{ 'Actions'|trans }}
{{ file.title }}{{ file.originalName }} + {% if file.resourceNode and file.resourceNode.resourceLinks|length > 0 %} + {{ file.resourceNode.resourceLinks|first.course.title ?? 'N/A' }} + {% else %} + {{ 'N/A'|trans }} + {% endif %} + + {% if file.resourceNode and file.resourceNode.resourceLinks|length > 0 %} + {{ file.resourceNode.resourceLinks|first.user.username ?? 'N/A' }} + {% elseif file.resourceNode and file.resourceNode.creator %} + {{ file.resourceNode.creator.username ?? 'N/A' }} + {% else %} + {{ 'N/A'|trans }} + {% endif %} + + + {{ 'View'|trans }} + +
+ + + + + +
+ + +{% endblock %} diff --git a/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php b/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php index c5c8867a6d..2b1ec3927f 100644 --- a/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php +++ b/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php @@ -11,6 +11,7 @@ use Chamilo\CoreBundle\Entity\ResourceLink; use Chamilo\CoreBundle\Entity\ResourceNode; use Chamilo\CoreBundle\Entity\ResourceRight; use Chamilo\CoreBundle\Entity\Session; +use Chamilo\CoreBundle\Settings\SettingsManager; use Chamilo\CourseBundle\Entity\CGroup; use ChamiloSession; use Laminas\Permissions\Acl\Acl; @@ -41,14 +42,11 @@ class ResourceNodeVoter extends Voter public const ROLE_CURRENT_COURSE_SESSION_TEACHER = 'ROLE_CURRENT_COURSE_SESSION_TEACHER'; public const ROLE_CURRENT_COURSE_SESSION_STUDENT = 'ROLE_CURRENT_COURSE_SESSION_STUDENT'; - private RequestStack $requestStack; - private Security $security; - - public function __construct(Security $security, RequestStack $requestStack) - { - $this->security = $security; - $this->requestStack = $requestStack; - } + public function __construct( + private Security $security, + private RequestStack $requestStack, + private SettingsManager $settingsManager + ) {} public static function getReaderMask(): int { @@ -170,6 +168,11 @@ class ResourceNodeVoter extends Voter if (0 === $groupId && $firstLink->getGroup() instanceof CGroup) { $groupId = (int) $firstLink->getGroup()->getIid(); } + if ($firstLink->getUser() instanceof UserInterface + && 'true' === $this->settingsManager->getSetting('security.access_to_personal_file_for_all') + ) { + return true; + } } $linkFound = 0; diff --git a/src/CoreBundle/Settings/SecuritySettingsSchema.php b/src/CoreBundle/Settings/SecuritySettingsSchema.php index cf2bdb684c..a8b9e4f11d 100644 --- a/src/CoreBundle/Settings/SecuritySettingsSchema.php +++ b/src/CoreBundle/Settings/SecuritySettingsSchema.php @@ -42,6 +42,7 @@ class SecuritySettingsSchema extends AbstractSettingsSchema 'allow_online_users_by_status' => '', 'security_session_cookie_samesite_none' => 'false', 'anonymous_autoprovisioning' => 'false', + 'access_to_personal_file_for_all' => 'false', ] ); $allowedTypes = [ @@ -161,6 +162,7 @@ class SecuritySettingsSchema extends AbstractSettingsSchema ) ->add('security_session_cookie_samesite_none', YesNoType::class) ->add('anonymous_autoprovisioning', YesNoType::class) + ->add('access_to_personal_file_for_all', YesNoType::class) ; $this->updateFormFieldsFromSettingsInfo($builder); diff --git a/tests/CoreBundle/Controller/ThemeControllerTest.php b/tests/CoreBundle/Controller/ThemeControllerTest.php index 21a9147613..8f00adfa0b 100644 --- a/tests/CoreBundle/Controller/ThemeControllerTest.php +++ b/tests/CoreBundle/Controller/ThemeControllerTest.php @@ -24,7 +24,7 @@ class ThemeControllerTest extends WebTestCase { $client = static::createClient(); - $client->request('GET', '/themes/chamilo/default.css'); + $client->request('GET', '/themes/chamilo/nonexistent.css'); $this->assertResponseStatusCodeSame(Response::HTTP_NOT_FOUND); }