|
|
@ -6,13 +6,13 @@ |
|
|
|
href="index.php" |
|
|
|
href="index.php" |
|
|
|
> |
|
|
|
> |
|
|
|
<img |
|
|
|
<img |
|
|
|
:src="'/themes/chamilo/images/header-logo.svg'" |
|
|
|
|
|
|
|
alt="Chamilo" |
|
|
|
alt="Chamilo" |
|
|
|
|
|
|
|
src="/main/install/header-logo.svg" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
<ol> |
|
|
|
<ol> |
|
|
|
<li |
|
|
|
<li |
|
|
|
v-for="{step, stepTitle} in steps" |
|
|
|
v-for="{ step, stepTitle } in steps" |
|
|
|
:key="step" |
|
|
|
:key="step" |
|
|
|
:class="{ 'install-steps__step--active': step === installerData.currentStep }" |
|
|
|
:class="{ 'install-steps__step--active': step === installerData.currentStep }" |
|
|
|
class="install-steps__step" |
|
|
|
class="install-steps__step" |
|
|
@ -30,7 +30,7 @@ |
|
|
|
aria-hidden="true" |
|
|
|
aria-hidden="true" |
|
|
|
class="p-button-icon p-button-icon-left mdi mdi-text-box-search-outline" |
|
|
|
class="p-button-icon p-button-icon-left mdi mdi-text-box-search-outline" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<span class="p-button-text">{{ t('Read the installation guide') }}</span> |
|
|
|
<span class="p-button-text">{{ t("Read the installation guide") }}</span> |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</aside> |
|
|
|
</aside> |
|
|
@ -45,7 +45,7 @@ |
|
|
|
v-else-if="'update' === installerData.installType" |
|
|
|
v-else-if="'update' === installerData.installType" |
|
|
|
v-t="{ |
|
|
|
v-t="{ |
|
|
|
path: 'Update from Chamilo {versions}', |
|
|
|
path: 'Update from Chamilo {versions}', |
|
|
|
args: { 'versions': installerData.upgradeFromVersion.join(' | ') } |
|
|
|
args: { versions: installerData.upgradeFromVersion.join(' | ') }, |
|
|
|
}" |
|
|
|
}" |
|
|
|
class="mb-4" |
|
|
|
class="mb-4" |
|
|
|
/> |
|
|
|
/> |
|
|
@ -64,152 +64,152 @@ |
|
|
|
:value="installerData.updatePath" |
|
|
|
:value="installerData.updatePath" |
|
|
|
name="updatePath" |
|
|
|
name="updatePath" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.urlAppendPath" |
|
|
|
:value="installerData.urlAppendPath" |
|
|
|
name="urlAppendPath" |
|
|
|
name="urlAppendPath" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.pathForm" |
|
|
|
:value="installerData.pathForm" |
|
|
|
name="pathForm" |
|
|
|
name="pathForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.urlForm" |
|
|
|
:value="installerData.urlForm" |
|
|
|
name="urlForm" |
|
|
|
name="urlForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.dbHostForm" |
|
|
|
:value="installerData.dbHostForm" |
|
|
|
name="dbHostForm" |
|
|
|
name="dbHostForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.dbPortForm" |
|
|
|
:value="installerData.dbPortForm" |
|
|
|
name="dbPortForm" |
|
|
|
name="dbPortForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.dbUsernameForm" |
|
|
|
:value="installerData.dbUsernameForm" |
|
|
|
name="dbUsernameForm" |
|
|
|
name="dbUsernameForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.dbPassForm" |
|
|
|
:value="installerData.dbPassForm" |
|
|
|
name="dbPassForm" |
|
|
|
name="dbPassForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.dbNameForm" |
|
|
|
:value="installerData.dbNameForm" |
|
|
|
name="dbNameForm" |
|
|
|
name="dbNameForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.allowSelfReg" |
|
|
|
:value="installerData.allowSelfReg" |
|
|
|
name="allowSelfReg" |
|
|
|
name="allowSelfReg" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.allowSelfRegProf" |
|
|
|
:value="installerData.allowSelfRegProf" |
|
|
|
name="allowSelfRegProf" |
|
|
|
name="allowSelfRegProf" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.emailForm" |
|
|
|
:value="installerData.emailForm" |
|
|
|
name="emailForm" |
|
|
|
name="emailForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.adminLastName" |
|
|
|
:value="installerData.adminLastName" |
|
|
|
name="adminLastName" |
|
|
|
name="adminLastName" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.adminFirstName" |
|
|
|
:value="installerData.adminFirstName" |
|
|
|
name="adminFirstName" |
|
|
|
name="adminFirstName" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.adminPhoneForm" |
|
|
|
:value="installerData.adminPhoneForm" |
|
|
|
name="adminPhoneForm" |
|
|
|
name="adminPhoneForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.loginForm" |
|
|
|
:value="installerData.loginForm" |
|
|
|
name="loginForm" |
|
|
|
name="loginForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.passForm" |
|
|
|
:value="installerData.passForm" |
|
|
|
name="passForm" |
|
|
|
name="passForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.languageForm" |
|
|
|
:value="installerData.languageForm" |
|
|
|
name="languageForm" |
|
|
|
name="languageForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.campusForm" |
|
|
|
:value="installerData.campusForm" |
|
|
|
name="campusForm" |
|
|
|
name="campusForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.educationForm" |
|
|
|
:value="installerData.educationForm" |
|
|
|
name="educationForm" |
|
|
|
name="educationForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.institutionForm" |
|
|
|
:value="installerData.institutionForm" |
|
|
|
name="institutionForm" |
|
|
|
name="institutionForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.institutionUrlForm" |
|
|
|
:value="installerData.institutionUrlForm" |
|
|
|
name="institutionUrlForm" |
|
|
|
name="institutionUrlForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.checkEmailByHashSent" |
|
|
|
:value="installerData.checkEmailByHashSent" |
|
|
|
name="checkEmailByHashSent" |
|
|
|
name="checkEmailByHashSent" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.showEmailNotCheckedToStudent" |
|
|
|
:value="installerData.showEmailNotCheckedToStudent" |
|
|
|
name="ShowEmailNotCheckedToStudent" |
|
|
|
name="ShowEmailNotCheckedToStudent" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.userMailCanBeEmpty" |
|
|
|
:value="installerData.userMailCanBeEmpty" |
|
|
|
name="userMailCanBeEmpty" |
|
|
|
name="userMailCanBeEmpty" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.encryptPassForm" |
|
|
|
:value="installerData.encryptPassForm" |
|
|
|
name="encryptPassForm" |
|
|
|
name="encryptPassForm" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.session_lifetime" |
|
|
|
:value="installerData.session_lifetime" |
|
|
|
name="session_lifetime" |
|
|
|
name="session_lifetime" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.old_version" |
|
|
|
:value="installerData.old_version" |
|
|
|
name="old_version" |
|
|
|
name="old_version" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.new_version" |
|
|
|
:value="installerData.new_version" |
|
|
|
name="new_version" |
|
|
|
name="new_version" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
<input |
|
|
|
<input |
|
|
|
:value="installerData.installationProfile" |
|
|
|
:value="installerData.installationProfile" |
|
|
|
name="installationProfile" |
|
|
|
name="installationProfile" |
|
|
|
type="hidden" |
|
|
|
type="hidden" |
|
|
|
> |
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
<Step1 v-if="1 === installerData.currentStep" /> |
|
|
|
<Step1 v-if="1 === installerData.currentStep" /> |
|
|
|
|
|
|
|
|
|
|
@ -233,67 +233,63 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script setup> |
|
|
|
<script setup> |
|
|
|
import { useI18n } from 'vue-i18n'; |
|
|
|
import { useI18n } from "vue-i18n" |
|
|
|
import { onMounted, provide, ref } from 'vue'; |
|
|
|
import { onMounted, provide, ref } from "vue" |
|
|
|
|
|
|
|
|
|
|
|
import Step1 from './components/installer/Step1'; |
|
|
|
import Step1 from "./components/installer/Step1" |
|
|
|
import Step2 from './components/installer/Step2'; |
|
|
|
import Step2 from "./components/installer/Step2" |
|
|
|
import Step3 from './components/installer/Step3'; |
|
|
|
import Step3 from "./components/installer/Step3" |
|
|
|
import Step4 from './components/installer/Step4'; |
|
|
|
import Step4 from "./components/installer/Step4" |
|
|
|
import Step5 from './components/installer/Step5'; |
|
|
|
import Step5 from "./components/installer/Step5" |
|
|
|
import Step6 from './components/installer/Step6'; |
|
|
|
import Step6 from "./components/installer/Step6" |
|
|
|
import Step7 from './components/installer/Step7'; |
|
|
|
import Step7 from "./components/installer/Step7" |
|
|
|
|
|
|
|
|
|
|
|
const { t } = useI18n(); |
|
|
|
const { t } = useI18n() |
|
|
|
|
|
|
|
|
|
|
|
const installerData = ref(window.installerData); |
|
|
|
const installerData = ref(window.installerData) |
|
|
|
|
|
|
|
|
|
|
|
provide('installerData', installerData); |
|
|
|
provide("installerData", installerData) |
|
|
|
|
|
|
|
|
|
|
|
const steps = ref([ |
|
|
|
const steps = ref([ |
|
|
|
{ |
|
|
|
{ |
|
|
|
step: 1, |
|
|
|
step: 1, |
|
|
|
stepTitle: t('Installation language') |
|
|
|
stepTitle: t("Installation language"), |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
step: 2, |
|
|
|
step: 2, |
|
|
|
stepTitle: t('Requirements') |
|
|
|
stepTitle: t("Requirements"), |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
step: 3, |
|
|
|
step: 3, |
|
|
|
stepTitle: t('Licence') |
|
|
|
stepTitle: t("Licence"), |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
step: 4, |
|
|
|
step: 4, |
|
|
|
stepTitle: t('Database settings') |
|
|
|
stepTitle: t("Database settings"), |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
step: 5, |
|
|
|
step: 5, |
|
|
|
stepTitle: t('Config settings') |
|
|
|
stepTitle: t("Config settings"), |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
step: 6, |
|
|
|
step: 6, |
|
|
|
stepTitle: t('Show Overview') |
|
|
|
stepTitle: t("Show Overview"), |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
step: 7, |
|
|
|
step: 7, |
|
|
|
stepTitle: t('Install') |
|
|
|
stepTitle: t("Install"), |
|
|
|
}, |
|
|
|
}, |
|
|
|
]); |
|
|
|
]) |
|
|
|
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
|
onMounted(() => { |
|
|
|
const txtIsExecutable = document.getElementById('is_executable'); |
|
|
|
const txtIsExecutable = document.getElementById("is_executable") |
|
|
|
|
|
|
|
|
|
|
|
if (!txtIsExecutable) { |
|
|
|
if (!txtIsExecutable) { |
|
|
|
return; |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
document.querySelectorAll('button') |
|
|
|
document |
|
|
|
.forEach( |
|
|
|
.querySelectorAll("button") |
|
|
|
button => button.addEventListener( |
|
|
|
.forEach((button) => button.addEventListener("click", () => (txtIsExecutable.value = button.name))) |
|
|
|
'click', |
|
|
|
}) |
|
|
|
() => txtIsExecutable.value = button.name |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
</script> |
|
|
|
</script> |
|
|
|