id="${id}"#if><#if params!=''> ${params}#if>>
<#else>
id="${id}"#if><#if params!=''> ${params}#if>>
#if>
<#nested>
#macro>
<#-- LISTS -->
<#macro ul id='' params='' class='' hide=[] align=''>
<#local class += alignmentSettings(align) />
<#local class += displaySettings(hide,'block') />
class="${class}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#macro li id='' params='' class='' hide=[] align=''>
<#local class += alignmentSettings(align) />
<#local class += displaySettings(hide,'block') />
class="${class}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- PARAGRAPH -->
<#macro p id='' params='' class='' hide=[] align=''>
<#local class += alignmentSettings(align) />
<#local class += displaySettings(hide,'block') />
class="${class}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- SPAN -->
<#macro span id='' params='' class='' hide=[] align=''>
<#local class += alignmentSettings(align) />
<#local class += displaySettings(hide,'inline-flex') />
class="${class}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- PRE -->
<#macro pre id='' params='' class='' hide=[] align=''>
<#local class += alignmentSettings(align) />
<#local class += displaySettings(hide,'block') />
class="${class}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- TABS -->
<#-- Tab Container -->
<#macro tabs color='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- Tabs List -->
<#-- type: tabs/tabs nav-justified/pills/pills nav-stacked/pills nav-justified -->
<#macro tabList type='tabs' vertical=false id='' params='' color=''>
id="${id}"#if><#if params!=''> ${params}#if> role="tablist">
<#nested>
#macro>
<#-- Tabs -->
<#-- type: -->
<#macro tabLink class='' hide=[] id='' active=false href='' title='' tabIcon='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#local tabLinkClass = class + ' nav-link' />
<#if active><#local tabLinkClass += ' active' />#if>
<#local tabLinkSettings = 'role="tab" aria-expanded="${active?c}" aria-controls="${href?remove_beginning("#")}"' />
<#if href?contains('#') && href?contains('.jsp') == false>
<#local tabLinkSettings += ' data-toggle="tab"' />
<#local tabLinkId = '${href?remove_beginning("#")}-tab' />
<#else>
<#local tabLinkId = href?keep_after_last('/')?keep_before('.')?lower_case />
#if>
<@link class=tabLinkClass?trim href=href id=tabLinkId title=title params=tabLinkSettings>
<#if tabIcon!=''><@icon style=tabIcon />#if> ${title}
@link>
#macro>
<#-- TAB Content -->
<#macro tabContent id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- Tab Panel BS4 -->
<#macro tabPanel id params='' active=false>
${params}#if>>
<#nested>
#macro>
<#-- ACCORDION -->
<#-- The accordionContainer is the container for accordionPanel, which itself is the container for accordionHeader and accordionBody -->
<#-- The childId argument in accordionPanel is meant to be used in the two sub-macros: accordionHeader and accordionBody -->
<#macro accordionContainer id params=''>
${params}#if>>
<#assign parentId = id>
<#nested>
#macro>
<#macro accordionPanel color='' collapsed=true childId='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if collapsed>
<#assign aClass = 'collapsed'>
<#assign expanded = 'false'>
<#assign childClass = 'collapse'>
<#else>
<#assign aClass = ''>
<#assign expanded = 'true'>
<#assign childClass = 'collapse show'>
#if>
<#assign childId = childId>
<#nested>
#macro>
<#-- ACCORDION ELEMENT -->
<#-- The boxTools parameter is unused, kept for backwards compatibility -->
<#macro accordionHeader id='' title='' parentId=parentId childId=childId boxTools=false params='' headerIcon='' >
#macro>
<#macro accordionBody id=childId class=childClass expanded=expanded params=''>
${params}#if>>
<@boxBody>
<#nested>
@boxBody>
#macro>
<#macro progressBar description='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if description!=''>
${description}
#if>
#macro>
<#macro progress color='primary' id='' params='' value=0 min=0 max=100 text=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if text=''>${value}%<#else>${text}#if>
#macro>
<#-- INFO-BOX AdminTLE (widget) -->
<#-- color: only for the left side showing the icon. -->
<#-- bgColor: for the right side containing the text -->
<#macro infoBox color='' boxText='' boxIcon='' boxNumber='' unit='' bgColor='' progressBar='' progressDescription='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<@icon style=boxIcon />
${boxText}
${boxNumber?string(",000")}<#if unit!=''> ${unit} #if>
<#if bgColor!='' && progressBar!=''>
#if>
<#if progressDescription!=''>
${progressDescription}
#if>
#macro>
<#-- TAG -->
<#-- color: default/primary/success/info/warning/danger/ -->
<#macro tag color='default' size='' title='' tagIcon='' id='' params=''>
title='${title}'#if><#if id!=''>id='${id}'#if><#if params!=''>${params}#if>>
<#if tagIcon !=''>
<@icon style=tagIcon />
#if>
<#nested>
#macro>
<#-- BUTTON -->
<#-- bootstrap 4 : size: sm for small buttons/empty for medium buttons/lg for large buttons -->
<#-- color: default[bootstrap4 : secondary]/primary/success/warning/danger/info -->
<#-- color (upcoming bootstrap 4): btn-outline-default/btn-outline-primary/btn-outline-success/btn-outline-warning/btn-outline-danger/btn-outline-info/ -->
<#-- AdminLTE colors: black/gray-dark/gray/light/indigo/navy/purple/fuchsia/pink/maroon/orange/lime/teal/olive -->
<#-- style: card-control/btn-block/btn-flat/close/navbar-toggle/collapsed... -->
<#-- type: button/submit/reset -->
<#-- params: data-toggle/data-target/data-dismiss... -->
<#-- buttonIcon: icon name ex: info/check/comment/envelope... -->
<#-- iconPosition: left/right -->
<#-- cancel: switch to true for a cancellation form button. Adds the "formnovalidate" attribute to the button, as well as the right class -->
<#-- form: contains the form ID if the button is outside of the form -->
<#macro button name='' id='' type='button' size='' color='' style='' class='' params='' value='' title='' tabIndex='' hideTitle=[] buttonIcon='' disabled=false iconPosition='left' dropdownMenu=false cancel=false form=''>
<#-- Visibility of button title -->
<#local displayTitleClass = displaySettings(hideTitle,'inline') />
<#if cancel || color = 'default'>
<#local buttonColor = 'btn-secondary' />
<#elseif !cancel && color=''>
<#local buttonColor = 'bg-indigo' />
<#else>
<#if color == 'primary' || color == 'secondary' || color == 'success' || color == 'info' || color == 'warning' || color == 'danger'>
<#local buttonColor = 'btn-' + color />
<#else>
<#local buttonColor = 'bg-' + color />
#if>
#if>
<#if size = 'xs'>
<#local size = 'sm' />
#if>
<#if style != ''>
<#if style?contains('card-control')>
<#local btnStyle = 'btn-tool' />
<#if style?contains('collapse')>
<#local widgetAction = 'collapse' />
<#else>
<#local widgetAction = 'remove' />
#if>
<#else>
<#local btnStyle = style />
#if>
#if>
<#if dropdownMenu>
#if>
<#if dropdownMenu>
<#else>
<#nested>
#if>
#macro>
<#-- A BUTTON (LINK STYLED AS A BUTTON) -->
<#-- size: sm/lg/or EMPTY for medium size-->
<#-- Bootstrap colors: default/primary/success/warning/danger/info -->
<#-- AdminLTE colors: black/gray-dark/gray/light/indigo/navy/purple/fuchsia/pink/maroon/orange/lime/teal/olive -->
<#-- style: btn-block/btn-flat/disabled/btn-app -->
<#-- icon: icon name ex: info/check/comment/envelope... -->
<#-- ShowTitleXs is UNUSED in Bootstrap 4. -->
<#macro aButton name='' id='' href='' size='' color='primary' style='btn' align='' class='' params='' title='' tabIndex='' hideTitle=[] buttonIcon='' disabled=false iconPosition='left' dropdownMenu=false>
<#-- Visibility of button title -->
<#local displayTitleClass = displaySettings(hideTitle,'inline') />
<#if color = 'default'>
<#assign buttonColor = 'btn-secondary' />
<#elseif color=''>
<#assign buttonColor = 'bg-indigo' />
<#else>
<#if color == 'primary' || color == 'secondary' || color == 'success' || color == 'info' || color == 'warning' || color == 'danger'>
<#assign buttonColor = 'btn-' + color />
<#else>
<#assign buttonColor = 'bg-' + color />
#if>
#if>
<#if style='card-control'>
<#assign style='text-right btn-link' />
#if>
<#if size = 'xs'>
<#local size = 'sm' />
#if>
<#local class += alignmentSettings(align) />
<#if dropdownMenu>
#if>
#macro>
<#macro dropdownItem>
<#nested>
#macro>
<#-- BTN TOOLBAR -->
<#macro btnToolbar id='' params='' ariaLabel=''>
aria-label="${ariaLabel}"#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- BTN GROUP -->
<#-- size: sm/empty/lg -->
<#-- align: left/center/right -->
<#macro btnGroup id='' class='' align='' size='' params='' ariaLabel='' hide=[]>
<#local displayClass = displaySettings(hide,'inline-flex') />
<#local class = class + alignmentSettings(align) />
aria-label="${ariaLabel}"#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro actionButtons button1Name='' button2Name='' i18nValue1Key='portal.admin.message.buttonValidate' i18nValue2Key='portal.admin.message.buttonCancel' url1='' url2='' icon1='check' icon2='close' offset=3 >
<@formGroup rows=2>
<#if url1 != ''>
<@aButton href='${url1}' buttonIcon='${icon1}' title='#i18n{${i18nValue1Key}}' />
<#else>
<@button type='submit' name='${button1Name}' buttonIcon='${icon1}' title='#i18n{${i18nValue1Key}}' />
#if>
<#if url2 != ''>
<@aButton href='${url2}' buttonIcon='${icon2}' title='#i18n{${i18nValue2Key}}' color='secondary' />
<#else>
<#if button2Name != ''>
<@button type='submit' name='${button2Name}' buttonIcon='${icon2}' title='#i18n{${i18nValue2Key}}' color='secondary' />
#if>
#if>
@formGroup>
#macro>
<#-- Radio button/Checkbox as buttons (to use with btnGroup) -->
<#-- type: radio/checkbox -->
<#macro btnGroupRadioCheckbox type='checkbox' color='primary' size='' name='' id='' params='' ariaLabel='' labelFor='' labelKey='' labelParams='' tabIndex='' value='' checked=false>
${labelParams}#if>>
value="${value}"#if><#if params!=''> ${params}#if><#if tabIndex!=''> tabindex="${tabIndex}"#if><#if checked> checked#if> /><#if labelKey!=''>${labelKey}#if>
#macro>
<#-- Simple links a href, anchors -->
<#macro link href='' class='' id='' name='' title='' alt='' target='' params=''>
class="${class}"#if><#if id!=''> id="${id}"#if><#if name!=''> name="${name}"#if><#if target!=''> target="${target}"#if><#if title!=''> title="${title}"#if><#if alt!=''> alt="${alt}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- MODAL -->
<#-- bgColor: modal-default/modal-primary/modal-info/modal-warning/modal-danger -->
<#macro modal id params='' bgColor=''>
#macro>
<#macro modalHeader titleLevel='h4' modalTitle='' id='' params=''>
#macro>
<#macro modalBody id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro modalFooter id='' params=''>
#macro>
<#-- BREADCRUMBS -->
<#macro breadcrumbs id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- CALLOUT -->
<#-- AdminLTE classes: info/warning/danger/success -->
<#macro callOut color='' titleLevel='h3' title='' callOutIcon='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if title!=''><${titleLevel}><@icon style=callOutIcon /> ${title}${titleLevel}>#if>
<#nested>
#macro>
<#-- ALERT -->
<#-- classes: alert-success/alert-info/alert-warning/alert-danger + alert-dismissible -->
<#-- color: primary/success/info/warning/danger -->
<#macro alert class='' color='' titleLevel='h3' title='' iconTitle='' dismissible=false id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if dismissible>
×
#if>
<#if title!=''>
<${titleLevel}>
<#if iconTitle!=''><@icon style=iconTitle />#if>
${title}
${titleLevel}>
#if>
<#nested>
#macro>
<#---------------------------------------------------------->
<#-- Card as Box -->
<#-- color: default/primary/info/success/warning/danger -->
<#-- style: solid (no top border) -->
<#-- collapsed: true/false -->
<#---------------------------------------------------------->
<#macro box color='' id='' style='' class='' params='' collapsed=false>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- The boxTools parameter is unused, kept for backwards compatibility -->
<#macro boxHeader title='' i18nTitleKey='' hideTitle=[] showTitle=true id='' params='' boxTools=false titleLevel='h5'>
#macro>
<#macro boxBody class='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro boxFooter class='' id='' params=''>
#macro>
<#---------------------------------------->
<#-- AdminLTE Small Box -->
<#-- color: Bootstrap + AdminLTE colors -->
<#-- unit: %,... -->
<#macro smallBox color='' title='' text='' boxIcon='' titleLevel='h3' unit='' url='' urlText='' id='' params='' fontSize='40px'>
id="${id}"#if><#if params!=''> ${params}#if>>
<${titleLevel} style="font-size:${fontSize};">${title}<#if unit!=''> ${unit}#if>${titleLevel}>
${text}
<@icon style=boxIcon />
<#if url!=''>
#if>
#macro>
<#-- AdminLTE Error Page -->
<#-- Error Type: 500,404... -->
<#-- Color: primary/blue/navy/aqua/teal/green/orange/yellow/red/purple/maroon/gray/black... -->
<#macro errorPage color='' errorType='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
${errorType}
<@icon style='warning' class='text-${color}' />
<#if errorType=='404'>
#i18n{portal.util.error404.title}
<#elseif errorType='500'>
#i18n{portal.util.error500.title}
<#else>...
#if>
<#if errorType=='404'>
#i18n{portal.util.error404.text}
<#elseif errorType='500'>
#i18n{portal.util.error500.text}
<#else>...
#if>
<@aButton href='' size='' color='bg-${color}' style='btn-flat'>
<@icon style='home' />
#i18n{portal.util.labelBackHome}
@aButton>
#macro>
<#-- CONTEXTUAL BACKGROUND P-->
<#-- Bootstrap colors: primary/success/info/warning/danger -->
<#-- AdminTLE colors: gray/gray-light/black/red/yellow/aqua/blue/light-blue/green/navy/teal/olive/lime/orange/fuchsia/purple/maroon -->
<#macro coloredBg color='' type='p' id='' params=''>
<${type} class="bg-${color}"<#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
${type}>
#macro>
<#macro listGroup id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro listGroupItem id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro unstyledList id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#assign liClass = "margin">
<#nested>
#macro>
<#-- DROPDOWN MENU LIST -->
<#macro dropdownList id='' params=''>
#macro>
<#macro dropdownItem class='' href='' title='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>${title}
#macro>
<#-- CARDS -->
<#macro card header=false headerTitle='' headerIcon=false headerTitleIcon=''>
<#if header>#if>
<#nested>
#macro>
<#-- FUNCTION: DISPLAY -->
<#-- This function returns a "visible" or "hidden" class for any component -->
<#-- breakpoints: "all" || "xs"/"sm"/"md"/"lg"/"xl" -->
<#-- display: inline/inline-block/block/table/table-cell/table-row/flex/inline-flex -->
<#function displaySettings breakPoints=[] display=''>
<#local breakPointsOrdered = [] />
<#if breakPoints?seq_contains('all')>
<#local breakPointsOrdered += ['all'] />
#if>
<#if breakPoints?seq_contains('xs')>
<#local breakPointsOrdered += ['xs'] />
#if>
<#if breakPoints?seq_contains('sm')>
<#local breakPointsOrdered += ['sm'] />
#if>
<#if breakPoints?seq_contains('md')>
<#local breakPointsOrdered += ['md'] />
#if>
<#if breakPoints?seq_contains('lg')>
<#local breakPointsOrdered += ['lg'] />
#if>
<#if breakPoints?seq_contains('xl')>
<#local breakPointsOrdered += ['xl'] />
#if>
<#local displayClass = '' />
<#if breakPointsOrdered?? && breakPointsOrdered?size > 0>
<#list breakPointsOrdered as breakPoint>
<#if breakPoint = 'xs' || breakPoint = 'all'>
<#local displayClass += 'd-none' />
<#if breakPoint = 'xs'>
<#if !breakPointsOrdered?seq_contains('sm')>
<#local displayClass += ' d-md-${display}' />
#if>
#if>
<#elseif breakPoint = 'sm' || breakPoint = 'md' || breakPoint = 'lg' || breakPoint = 'xl'>
<#if breakPoint = 'sm'>
<#if displayClass = ''>
<#local displayClass += ' d-' + breakPoint + '-none' />
<#elseif displayClass = 'd-none'>
<#local displayClass += ' d-md-${display}' />
#if>
<#elseif breakPoint = 'md'>
<#if !breakPointsOrdered?seq_contains('sm')>
<#local displayClass += ' d-' + breakPoint + '-none' />
#if>
<#if !breakPointsOrdered?seq_contains('lg')>
<#local displayClass += ' d-lg-${display}' />
#if>
<#elseif breakPoint = 'lg'>
<#if !breakPointsOrdered?seq_contains('md')>
<#local displayClass += ' d-' + breakPoint + '-none' />
#if>
<#local displayClass += ' d-xl-${display}' />
<#elseif breakPoint = 'xl'>
<#if !breakPointsOrdered?seq_contains('lg')>
<#local displayClass += ' d-' + breakPoint + '-none' />
#if>
#if>
<#else>
<#local displayClass += ' undefined_breakpoint' />
#if>
#list>
#if>
<#return displayClass?trim>
#function>
<#function alignmentSettings align=''>
<#local x = ''>
<#if align !=''>
<#if align = 'left'>
<#local x = 'float-left' />
<#elseif align = 'right'>
<#local x = 'float-right' />
<#elseif align = 'center'>
<#local x = 'mx-auto' />
#if>
#if>
<#return x>
#function>
<#-- -------------------------------------------------
-- MACRO ADMIN STRUCTURE - HEADER + NAVBAR + FOOTER --
-------------------------------------------------- -->
<#-- MACRO adminHeader -->
<#macro adminHeader site_name=site_name>
#macro>
<#-- MACRO adminHome -->
<#macro adminHome >
#macro>
<#-- adminContentHeader -->
<#macro adminContentHeader >
#macro>
<#-- adminLoginPage -->
<#macro adminLoginPage title='' site_name='SITE_NAME'>
#macro>
<#-- adminHeaderDocumentationLink -->
<#macro adminHeaderDocumentationLink >
<#if feature_documentation?has_content >
<#if feature_documentation?exists>
#if>
#if>
#macro>
<#macro adminSiteColumnOutline columnid=''>
${i18n("portal.site.columnId",columnid)}
<#nested>
#macro>
<#-- adminMessagePage -->
<#macro adminMessagePage title=''>
<#assign title=title />
<#assign alerttype="secondary" />
<#assign icontype="fa-info-circle" />
<#if title??>
<#if title?trim='' >
<#assign title="Information" />
#if>
#if>
<#if message.type == 2 >
<#assign alerttype="danger" />
<#assign icontype="fa-question-circle" />
<#elseif message.type == 3 >
<#assign alerttype="warning" />
<#assign icontype="fa-exclamation-circle" />
<#elseif message.type == 4 >
<#assign alerttype="warning" />
<#assign icontype="fa-question-circle" />
<#elseif message.type == 5 >
<#assign alerttype="danger" />
<#assign icontype="fa-ban" />
#if>
${title!}
${text!}
<#nested>
#macro>
<#-- fieldSet -->
<#macro fieldSet legend=''>
<#if legend!=''>
${legend}
#if>
<#nested>
#macro>
<#--Badge : BS badge + label -->
<#macro badge color='primary' badgeIcon='' title='' htmlEl='deprecated' type='deprecated' style='deprecated' class='deprecated' >
title="${title}" #if> >
<#if badgeIcon !=''>
<@icon style=badgeIcon />
#if>
<#nested>
#macro>
<#-- HELPERS -->
<#-- FLOAT -->
<#-- Float right -->
<#macro fright> float-right#macro>
<#-- Float left -->
<#macro fright> float-left#macro>
<#-- Clearfix -->
<#macro fright> clearfix#macro>
<#-- RESPONSIVE -->
<#-- HTML ELEMENTS -->
<#macro img url='' alt='' title='' class='' id='' params=''>
#macro>
<#-- Email Default Template -->
<#macro emailTemplate title='Lutece' footer_link='https://fr.lutece.paris.fr'>
#macro>
<#macro adminLanguage languages lang action='jsp/admin/DoChangeLanguage.jsp' >
<@tform method='post' action=action class='form-inline'>
<@input type='hidden' name='token' value='${token}' />
<@row>
<@columns class="mx-4">
<@icon style='language' /> #i18n{portal.admin.admin_home.language}
@columns>
@row>
<@row>
<#list languages as language>
<@columns>
<#if lang=language.code>
<#assign islocale='check-circle text-success pl-4'>
<#assign title=' Selectionné '>
<#else>
<#assign islocale=''>
<#assign title=''>
#if>
<@button color='' class='${language.code}' type='submit' name='language' value='${language.code}' title='${language.name?capitalize}${title}' buttonIcon='${islocale}' hideTitle=['all'] />
@columns>
#list>
@row>
@tform>
#macro>
<#macro adminAccessibilityMode>
<@tform method='post' action='jsp/admin/DoModifyAccessibilityMode.jsp' class="ml-2">
<@input type='hidden' name='token' value='${token}' />
<#if user.accessibilityMode>
<@button color='link text-dark' size='sm' type='submit' buttonIcon='eye' title='#i18n{portal.users.admin_header.labelDeactivateAccessibilityMode}'/>
<#else>
<@button color='link text-dark' size='sm' type='submit' buttonIcon='eye-slash' title='#i18n{portal.users.admin_header.labelActivateAccessibilityMode}'/>
#if>
@tform>
#macro>
<#-- adminContentHeader -->
<#macro adminContentHeader >