Browse Source

Merge branch '1.11.x' of github.com:chamilo/chamilo-lms into 1.11.x

Julio Montoya 6 years ago
parent
commit
3f0d6f95c1

+ 4 - 0
main/admin/skills_import.php

@@ -61,12 +61,16 @@ function save_data($skills)
 {
     if (is_array($skills)) {
         $parents = [];
+        $urlId = api_get_current_access_url_id();
         foreach ($skills as $index => $skill) {
             if (isset($parents[$skill['parent_id']])) {
                 $skill['parent_id'] = $parents[$skill['parent_id']];
             } else {
                 $skill['parent_id'] = 1;
             }
+            if (empty($skill['access_url_id'])) {
+                $skill['access_url_id'] = $urlId;
+            }
             $skill['a'] = 'add';
             $saved_id = $skill['id'];
             $skill['id'] = null;

+ 99 - 1
main/lang/italian/trad4all.inc.php

@@ -7657,4 +7657,102 @@ $ExportBadges = "Esporta i badge";
 $LanguagesDisableAllExceptDefault = "Abilita solo la lingua d default della piattaforma";
 $ThereAreUsersUsingThisLanguagesDisableItManually = "Alcuni utenti usano questa lingua: è necessario disabilitarla manualmente";
 $ExportToChamiloFormat = "Esporta un Modulo didattico";
-?>
+$AdditionallyYouHaveObtainedTheFollowingSkills="Hai inoltre acquisito le seguenti competenze";
+$AssignmentLinkstoStudentsPage="Accesso al lavoro redatto dagli studenti";
+$AssignCoach="Assegnare un tutor";
+$AssignSkill="Assegna l''abilità";
+$AssignedTo="Assegnato a";
+$AssignUser="Assegnare l''utente";
+$Assign="Assegnare";
+$AssignedTo="Assegnato a";
+$CalendarStartDate="Data di inizio";
+$Contacts="Contatti";
+$ContactsList="Lista di contatti";
+$Contact="Contatto";
+$CurrentPasswordEmptyOrIncorrect="La password inserita è errata";
+$CurrentPassword="Password attuale";
+$DearXComma="Caro/Cara %s,";
+$DocumentAutoLaunch="Collegamento a Documenti";
+$DoubleValidationMessage="Conferma di voler aderire alla presente piattaforma";
+$FilesUpload="documenti inviati";
+$FollowedStudentBosses="Tutor che ha seguito gli studenti";
+$HisProfileIs="Il suo profilo è";
+$LastConnection="Ultima connessione";
+$LegalAccepted="Accordo legale accettato";
+$Map="Carta";
+$MyGeneralCertificate="Il mio certificato generale";
+$MyLocation="La mia posizione";
+$NewPasswordRequirementsNotMatched="La nuova password non rispetta i prerequisiti minimi di sicurezza";
+$OralExpressionHelpText="Durante la registrazione, puoi fare una pausa quando desideri. Se non sei soddisfatto, registrati di nuovo. La nuova registrazione si sovrascriverà a quella precedente. Soddisfatto? Per trasmettere la registrazione clicca su « Salva audio registrato ».";
+$PasswordVeryWeak="Molto debole";
+$PauseRecordingAudio="Interrompere la registrazione";
+$PersonalEmail="Indirizzo e-mail personale";
+$PlayRecordingAudio="Riprendere la registrazione";
+$PriorityNormal="Normale";
+$PriorityHigh="Alta";
+$PriorityLow="Bassa";
+$Priority="Priorità";
+$PriorityHigh="Alta";
+$PriorityLow="Bassa";
+$PriorityNormal="Normale";
+$ProfileIsNotCompleted="Per continuare è necessario completare il profilo";
+$QuoteMessage="Cita questo messaggio";
+$ReadingComprehension="Comprensione della lettura";
+$ReadingComprehensionLevelX="%s di parole al minuto";
+$ReadingComprehensionLevelX="%s di parole al minuto";
+$ReadingQuestionCongratsSpeedXNotReachedForYWords="Purtroppo, sembra che la velocità di %s parole/minuto sia troppo rapida per te al momento, questa volta su un testo di %s parole.";
+$ReadingQuestionCongratsSpeedXReachedForYWords="Congratulazioni, hai raggiunto la velocità %s parole/minuto comprendendo correttamente un testo di %s parole.";
+$RecordAudio="Registrazione audio";
+$RegistrationConfirmation="Conferma dell''iscrizione";
+$RegistrationConfirmationEmailMessage="Per completare la tua iscrizione alla piattaforma, è necessario confermare il tuo account cliccando sul seguente link";
+$RegistrationConfirmationEmailMessage="Per completare la tua iscrizione alla piattaforma, è necessario confermare il tuo account cliccando sul seguente link";
+$RegistrationRoleFollowCourses="Seguire delle lezioni";
+$RegistrationRoleTeachCourses="Insegnare";
+$RegistrationRoleWhatDoYouWantToDo="Che cosa desideri fare?";
+$RemainingXAttempts="Numero di tentativi rimasti: %s";
+$ReSendConfirmationMail="Inviare una nuova mail di conferma";
+$SaveRecordedAudio="Salvare l''audio registrato";
+$ScoreNote="Nota";
+$ScoreTest="Test";
+$SelectWeeksSpan="Seleziona la durata in settimane";
+$SendLegal="Invia l''accordo legale";
+$SendLegalDescriptionToUrlX="Sottoscrivi le nostre condizioni legali qui: %s";
+$SendTermsDescriptionToUrlX="Buongiorno, <br />Il tuo tutor ti ha inviato l''accordo legale. Lo puoi firmare seguendo la URL: %s";
+$SendTermsSubject="Il tuo accordo legale sta per essere firmato.";
+$SessionDurationNotStartedMaxX="Questa sessione ha una durata massima di %s giorni.";
+$SessionDurationXDaysTotal="Questa sessione ha una durata limitata a %s giorni.";
+$ShortName="Nome abbreviato";
+$SrcEmail="E-mail";
+$SrcPhone="Telefono";
+$StartRecordingAudio="Inizio della registrazione";
+$StudentCourseProgressX="Progresso: %s % %";
+$StudentCourseScoreX="Punteggio: %s % %";
+$StudentHadEnoughSkills="Lo studente ha ottenuto il numero di competenze secondarie necessarie a convalidare la competenza principale.";
+$StudentXHadEnoughSkillsToGetSkillXToAssignClickHereX="Lo studente %s ha ottenuto il numero sufficiente di competenze secondarie per ottenere la competenza %s. Per assegnargliela cliccare qui: %s";
+$StudentXIsNotSubscribedToCourse="Lo/La studente/ssa %s non è iscritto/a a questo corso";
+$TeacherPicture="Fotografia del docente";
+$TemplateCertificateComment="Esempio di certificato";
+$TemplateCertificateTitle="Certificato";
+$TemplateTitleAssigment="Descrizione dell''attività";
+$TemplateTitleFAQ="Domande frequenti";
+$TemplateTitleGlossary="Glossario";
+$TemplateTitleCertificateDescription="Attestato di fine corso";
+$TermYourProfileIsNotCompleted="Per abilitare la convalida dell''accordo legale devi competare il tuo profilo.";
+$TicketEnrollment="Iscrizione";
+$UserXHasBeenAssignedToBoss="L''allievo %s ti è stato assegnato";
+$UserXHasBeenAssignedToBossWithUrlX="Sei stato assegnato come tutor per l''allievo %s.<br/>";
+$UserXHasFilledTheDiagnosis="L''utente %s ha completato la diagnosi";
+$UserXHasFilledTheDiagnosisDescription="L''utente %s ha completato la diagnosi sulla piattaforma e attende una tua revisione.";
+$UserXSignedTheAgreement="L''utente %s ha firmato l''accordo legale.";
+$UserXSignedTheAgreementTheY="L''utente %s ha firmato l''accordo legale il %s.";
+$UseThisBadge="Usa questo simbolo";
+$VideoConference="Videoconferenza";
+$WebRTCDialogHelp="Per attivare la videochat sul tuo browser (se è supportata), assicurati di cliccare sull''icona nella parte sinistra della barra degli indirizzi del browser, e quindi permetti l''uso della webcam e del microfono.";
+$YouNeedConfirmYourAccountViaEmailToAccessThePlatform="Per accedere alla piattaforma devi confermare via e-mail il tuo account";
+$YouNeedToConfirmYourAgreementCheckYourEmail="Per poter procedere devi confermare l''approvazione delle nostre condizioni di utilizzo. Controlla il tuo indirizzo e-mail.";
+$YourChoice="La tua scelta";
+$YourPasswordCannotBeTheSameAsYourEmail="La tua password deve essere diversa dal tuo indirizzo e-mail";
+$YourSessionTimeHasExpired="Sei già registrato ma il tuo periodo di accesso al corso è scaduto.";
+$YourSessionTimeIsExpired="La sessione è scaduta.";
+$YouWillReceivedASecondEmail="Riceverai una nuova mail con la tua password.";
+?>

+ 122 - 0
tests/scripts/multi_url_conversion.php

@@ -0,0 +1,122 @@
+<?php
+// For licensing terms, see /license.txt
+/**
+ * This script takes a single-URL portal and changes the database so the
+ * original portal becomes a secondary URL (not the main admin URL).
+ * This means creating a new URL of ID 1 and moving all previous records
+ * referencing ID 1 to ID 2.
+ */
+require __DIR__.'/../../main/inc/global.inc.php';
+
+$tableAccessUrl = Database::get_main_table(TABLE_MAIN_ACCESS_URL);
+$tableUserRelCourseVote = Database::get_main_table(TABLE_MAIN_USER_REL_COURSE_VOTE);
+$tableTrackOnline = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ONLINE);
+$tableAnnouncement = Database::get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
+$tableSkill = Database::get_main_table(TABLE_MAIN_SKILL);
+$tableAccessUrlRelCourse = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
+$tableAccessUrlRelCourseCategory = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY);
+$tableAccessUrlRelSession = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
+$tableAccessUrlRelUser = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
+$tableAccessUrlRelUserGroup = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USERGROUP);
+
+// Usage
+echo "This script converts a single-URL portal to a multi-URL portal by making".PHP_EOL;
+echo "the current URL into the secondary URL and creating a new URL as admin URL.".PHP_EOL;
+echo "Please take a database backup before launching this script.".PHP_EOL;PHP_EOL;
+
+$adminUrl = '';
+if (!empty($argv[1])) {
+    $adminUrl = Database::escape_string($argv[1]);
+} else {
+    echo "New admin URL was not defined. Please try again, passing it as argument to this script".PHP_EOL;
+    echo "Usage: php multi_url_conversion.php URL [admin-username]".PHP_EOL;
+    echo "  URL         The URL (with http(s):// and trailing slash of the (new) admin portal".PHP_EOL;
+    echo "  username    The username of the global admin (to be set as admin of new portal)".PHP_EOL.PHP_EOL;
+    exit();
+}
+
+$userId = 1;
+if (!empty($argv[2])) {
+    $username = $argv[2];
+    $user = api_get_user_info_from_username($username);
+    $userId = $user['id'];
+} else {
+    echo "No admin username provided. Using admin of ID 1".PHP_EOL;
+}
+
+$mainUrl = api_get_path(WEB_PATH);
+
+echo "Converting portal to multi-URL. Processing...".PHP_EOL;
+$sql = "SELECT id FROM $tableAccessUrl";
+$result = Database::query($sql);
+if (Database::num_rows($result) > 1) {
+    echo "There are already more than one URL on this portal. Process cancelled".PHP_EOL;
+    exit();
+}
+
+echo "Updating default URL to ".$mainUrl.PHP_EOL;
+while ($row = Database::fetch_assoc($result)) {
+    $sqlU = "UPDATE $tableAccessUrl SET url = '$adminUrl', description = 'The main admin URL' WHERE id = ".$row['id'];
+    $resU = Database::query($sqlU);
+    if ($resU === false) {
+        echo "Found issue executing the following query. Process cancelled: $sqlU".PHP_EOL;
+        exit();
+    } else {
+        $adminUrlId = $row['id'];
+        echo "...done!".PHP_EOL;
+        break;
+    }
+}
+
+$date = api_get_utc_datetime();
+$oldUrlId = $adminUrlId + 1;
+echo "Creating new URL and converting previous URL (".$adminUrlId.") to secondary. Processing...".PHP_EOL;
+
+$sqlI = "INSERT INTO $tableAccessUrl (id, url, description, active, created_by, tms, url_type)".
+        " VALUES ($oldUrlId, '$mainUrl', '', 1, 1, '$date', null)";
+$resI = Database::query($sqlI);
+
+echo "Updating all relevant tables to define the secondary URL".PHP_EOL;
+
+$sqlU = "UPDATE $tableUserRelCourseVote SET url_id = $oldUrlId WHERE url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableUserRelCourseVote updated".PHP_EOL;
+
+$sqlU = "UPDATE $tableTrackOnline SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableTrackOnline updated".PHP_EOL;
+
+$sqlU = "UPDATE $tableAnnouncement SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableAnnouncement updated".PHP_EOL;
+
+$sqlU = "UPDATE $tableSkill SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableSkill updated".PHP_EOL;
+
+//$sqlU = "UPDATE settings_current SET access_url = $oldUrlId WHERE access_url = $adminUrlId";
+
+$sqlU = "UPDATE $tableAccessUrlRelCourse SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableAccessUrlRelCourse updated".PHP_EOL;
+
+$sqlU = "UPDATE $tableAccessUrlRelCourseCategory SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableAccessUrlRelCourseCategory updated".PHP_EOL;
+
+$sqlU = "UPDATE $tableAccessUrlRelSession SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableAccessUrlRelSession updated".PHP_EOL;
+
+$sqlU = "UPDATE $tableAccessUrlRelUser SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+$sqlI = "INSERT INTO $tableAccessUrlRelUser (access_url_id, user_id) VALUES ($adminUrlId, $userId)";
+$resI = Database::query($sqlI);
+echo "Table $tableAccessUrlRelUser updated".PHP_EOL;
+
+$sqlU = "UPDATE $tableAccessUrlRelUserGroup SET access_url_id = $oldUrlId WHERE access_url_id = $adminUrlId";
+$resU = Database::query($sqlU);
+echo "Table $tableAccessUrlRelUserGroup updated".PHP_EOL;
+
+echo "Database updated.".PHP_EOL;
+echo "Please set \$_configuration['multiple_access_urls'] to true in the app/config/configuration.php file".PHP_EOL;