<?xml version="1.0" encoding="utf-8"?>
<form xmlns="http://jelix.org/ns/forms/1.1">

    <!-- interface -->
    <input ref="appName" type="string" required="true" defaultvalue="Lizmap">
      <label locale="admin~admin.form.admin_services.appName.label"/>
    </input>

    <menulist ref="onlyMaps" required="true">
        <label locale="admin~admin.form.admin_services.onlyMaps.label"/>
        <item value="off" selected="true" locale="admin~admin.form.admin_services.off.label"/>
        <item value="on" locale="admin~admin.form.admin_services.on.label"/>
        <help locale="admin~admin.form.admin_services.onlyMaps.help"/>
    </menulist>

    <menulist ref="projectSwitcher" required="true">
        <label locale="admin~admin.form.admin_services.projectSwitcher.label"/>
        <item value="off" selected="true" locale="admin~admin.form.admin_services.off.label"/>
        <item value="on" locale="admin~admin.form.admin_services.on.label"/>
        <help locale="admin~admin.form.admin_services.projectSwitcher.help"/>
    </menulist>

    <input ref="googleTag" type="string" pattern="/^G-\w+$/">
        <label locale="admin~admin.form.admin_services.googleTag.label"/>
        <help locale="admin~admin.form.admin_services.googleTag.help"/>
    </input>

    <!-- projects -->
    <input ref="rootRepositories">
        <label locale="admin~admin.form.admin_services.rootRepositories.label"/>
        <help locale="admin~admin.form.admin_services.rootRepositories.help"/>
    </input>

    <menulist ref="defaultRepository">
        <label locale="admin~admin.form.admin_services.defaultRepository.label"/>
        <datasource class="admin~listRepositoryDatasource" />
    </menulist>

    <menulist ref="defaultProject">
        <label locale="admin~admin.form.admin_services.defaultProject.label"/>
        <datasource class="admin~listProjectDatasource" criteriafrom="defaultRepository"/>
    </menulist>

    <input ref="wmsServerURL" type="string" required="true" defaultvalue="http://127.0.0.1/cgi-bin/qgis_mapserv.fcgi">
      <label locale="admin~admin.form.admin_services.wmsServerURL.label"/>
    </input>

    <input ref="wmsPublicUrlList" type="string" required="false" defaultvalue="">
      <label locale="admin~admin.form.admin_services.wmsPublicUrlList.label"/>
    </input>

    <menulist ref="relativeWMSPath">
        <label locale="admin~admin.form.admin_services.relativeWMSPath.label"/>
        <item value="0" selected="true" locale="admin~admin.form.admin_services.no.label"/>
        <item value="1" locale="admin~admin.form.admin_services.yes.label"/>
    </menulist>

    <input ref="wmsMaxWidth" type="integer" required="false" defaultvalue="3000" minvalue="256" maxvalue="256000">
      <label locale="admin~admin.form.admin_services.wmsMaxWidth.label"/>
    </input>

    <input ref="wmsMaxHeight" type="integer" required="false" defaultvalue="3000" minvalue="256" maxvalue="256000">
      <label locale="admin~admin.form.admin_services.wmsMaxHeight.label"/>
    </input>

    <input ref="lizmapPluginAPIURL" type="string">
        <label locale="admin~admin.form.admin_services.lizmapPluginAPIURL.label"/>
    </input>

    <!-- cache -->

    <menulist ref="cacheStorageType" required="true">
      <label locale="admin~admin.form.admin_services.cacheStorageType.label"/>
      <item value="sqlite" selected="true" locale="admin~admin.form.admin_services.cacheStorageType.sqlite.label"/>
      <item value="file" locale="admin~admin.form.admin_services.cacheStorageType.file.label"/>
      <item value="redis" locale="admin~admin.form.admin_services.cacheStorageType.redis.label"/>
    </menulist>

    <input ref="cacheRootDirectory" type="string" required="true">
        <label locale="admin~admin.form.admin_services.cacheRootDirectory.label"/>
        <help locale="admin~admin.form.admin_services.cacheRootDirectory.help"/>
    </input>

    <input ref="cacheRedisHost" type="string" defaultvalue="localhost">
        <label locale="admin~admin.form.admin_services.cacheRedisHost.label"/>
        <help locale="admin~admin.form.admin_services.cacheRedisHost.help"/>
    </input>

    <input ref="cacheRedisPort" type="integer" defaultvalue="6379" minvalue="1">
        <label locale="admin~admin.form.admin_services.cacheRedisPort.label"/>
        <help locale="admin~admin.form.admin_services.cacheRedisPort.help"/>
    </input>

    <input ref="cacheRedisDb" type="integer" defaultvalue="0" minvalue="0">
        <label locale="admin~admin.form.admin_services.cacheRedisDb.label"/>
        <help locale="admin~admin.form.admin_services.cacheRedisDb.help"/>
    </input>

    <input ref="cacheRedisKeyPrefix" type="string">
        <label locale="admin~admin.form.admin_services.cacheRedisKeyPrefix.label"/>
        <help locale="admin~admin.form.admin_services.cacheRedisKeyPrefix.help"/>
    </input>

    <input ref="cacheExpiration" type="integer" required="true" defaultvalue="2592000">
        <label locale="admin~admin.form.admin_services.cacheExpiration.label"/>
        <help locale="admin~admin.form.admin_services.cacheExpiration.help"/>
    </input>

    <!-- system -->

    <menulist ref="debugMode" required="true">
        <label locale="admin~admin.form.admin_services.debugMode.label"/>
        <item value="0" selected="true" locale="admin~admin.form.admin_services.debugMode.0.label"/>
        <item value="1" locale="admin~admin.form.admin_services.debugMode.1.label"/>
    </menulist>

    <group ref="requestProxyEnabled" withcheckbox="true">
        <oncheckvalue locale="admin~admin.form.admin_services.requestProxy.enabled" value="1"/>
        <onuncheckvalue locale="admin~admin.form.admin_services.requestProxy.disabled" value="0" />
        <label locale="admin~admin.form.admin_services.requestProxy.label"/>
        <input ref="requestProxyHost" required="true">
            <label locale="admin~admin.form.admin_services.requestProxyHost.label"/>
        </input>
        <input  type="integer" ref="requestProxyPort" required="true">
            <label locale="admin~admin.form.admin_services.requestProxyPort.label"/>
        </input>
        <radiobuttons ref="requestProxyType">
            <label locale="admin~admin.form.admin_services.requestProxyType.label"/>
            <item value="http">http</item>
            <item value="socks5">socks5</item>
        </radiobuttons>
        <input ref="requestProxyUser">
            <label locale="admin~admin.form.admin_services.requestProxyUser.label"/>
        </input>
        <secret ref="requestProxyPassword">
            <label locale="admin~admin.form.admin_services.requestProxyPassword.label"/>
        </secret>
        <input ref="requestProxyNotForDomain">
            <label locale="admin~admin.form.admin_services.requestProxyNotForDomain.label"/>
        </input>
    </group>


    <!-- emails -->
    <input ref="adminSenderEmail" type="email">
        <label locale="admin~admin.form.admin_services.adminSenderEmail.label"/>
        <help locale="admin~admin.form.admin_services.adminSenderEmail.help"/>
        <alert type="required" locale="admin~admin.form.admin_services.adminSenderEmail.error.required"/>
    </input>

    <input ref="adminSenderName" maxlength="250">
        <label locale="admin~admin.form.admin_services.adminSenderName.label"/>
        <help locale="admin~admin.form.admin_services.adminSenderName.help"/>
    </input>


    <menulist ref="allowUserAccountRequests">
      <label locale="admin~admin.form.admin_services.allowUserAccountRequests.label"/>
      <item value="off" selected="true" locale="admin~admin.form.admin_services.off.label"/>
      <item value="on" locale="admin~admin.form.admin_services.on.label"/>
    </menulist>

    <input ref="adminContactEmail" type="email">
        <label locale="admin~admin.form.admin_services.adminContactEmail.label"/>
        <help locale="admin~admin.form.admin_services.adminContactEmail.help"/>
    </input>

    <!-- uploaded images properties -->
    <input ref="uploadedImageMaxWidthHeight" type="integer" minvalue="480" maxvalue="3840">
        <label locale="admin~admin.form.admin_services.uploadedImageMaxWidthHeight.label"/>
        <help locale="admin~admin.form.admin_services.uploadedImageMaxWidthHeight.help"/>
    </input>

    <submit ref="_submit">
        <label locale="admin~admin.form.admin_services.submit.label"/>
    </submit>
</form>
