# Annunaire ifsttar.directory = COA_INT # ------- Simple Form ----------# ifsttar.directory.5 = COA_INT ifsttar.directory.5.5 = TEXT ifsttar.directory.5.5.typolink.parameter.data = TSFE:id ifsttar.directory.5.5.typolink.returnLast = url ifsttar.directory.5.5.dataWrap (
) # Ajout COA pour le htmlSpecialChars (faille sécu) ifsttar.directory.5.10 = TEXT ifsttar.directory.5.10 { stdWrap.htmlSpecialChars = 1 wrap =
X
data = GP:wseils|qui } ifsttar.directory.5.12 = TEXT ifsttar.directory.5.12 { stdWrap.htmlSpecialChars = 1 wrap =
X
data = GP:wseils|fonction } # Ajout COA pour le htmlSpecialChars (faille sécu) ifsttar.directory.5.20 = TEXT ifsttar.directory.5.20 { stdWrap.htmlSpecialChars = 1 wrap =
X
data = GP:wseils|ou } # Ajout COA pour le htmlSpecialChars (faille sécu) ifsttar.directory.5.22 = TEXT ifsttar.directory.5.22 { stdWrap.htmlSpecialChars = 1 wrap =
X
data = GP:wseils|tel } # Ajout COA pour le htmlSpecialChars (faille sécu) ifsttar.directory.5.24 = TEXT ifsttar.directory.5.24 { stdWrap.htmlSpecialChars = 1 wrap =
X
data = GP:wseils|affectation } ifsttar.directory.5.25 = TEXT ifsttar.directory.5.25.preUserFunc = Wseils\Wseils\Utility\UserFuncs\Annuaire->displaySelectService ifsttar.directory.5.30 = TEXT ifsttar.directory.5.30.dataWrap (
) # ------------- result ------------- # # Condition if the name input is not empty [request && (traverse(request.getQueryParams(), 'wseils/qui') > 0 || traverse(request.getQueryParams(), 'wseils/tel') > 0 || traverse(request.getQueryParams(), 'wseils/fonction') > 0 || traverse(request.getQueryParams(), 'wseils/affectation') > 0 )] ifsttar.directory.9 = TEXT ifsttar.directory.9.value =

ifsttar.directory.11 = CONTENT ifsttar.directory.11 { wrap =
|
table = fe_users select { pidInList = {$user} #join = tx_ifsttar_affectation ON tx_ifsttar_affectation.responsable = fe_users.uid #exclude testing fe_users "wseils" n°7 where = (uid != "7") where.cObject = TEXT where.cObject.preUserFunc = Wseils\Wseils\Utility\UserFuncs\Annuaire->user_directoryMatchWhere groupBy = username orderBy = name } renderObj = COA_INT renderObj { # Silouhète / Avatar ou Photo 10 = COA 10 { wrap =
|
// S'il y a un avatar mais qu'il n'y a pas d'image 10 = TEXT 10 { field = avatar wrap = Profile Picture if.isTrue.field = avatar if.isFalse.field = image } # S'il y a une image, on affiche l'image 20 = COA_INT 20 { if.isTrue.field = image 10 = TEXT 10 { field = image wrap = } } # Si pas d'image et pas d'avatar on affiche la silhouette en fonction du sexe 30 = COA 30 { # Cas silhouette = Madame 10 = COA 10 { wrap = Profile Picture 10 = IMG_RESOURCE 10.file = EXT:wseils/Resources/Public/Images/Annuaire/profil-Madame.png if.isFalse.field = image if.isPositive = 1 if.isPositive.if { isFalse.field = avatar isInList.field = title value = Mme,Mlle } } # Cas silhouette = Monsieur (champ title M.) 20 = COA 20 { wrap = Profile Picture 10 = IMG_RESOURCE 10.file = EXT:wseils/Resources/Public/Images/Annuaire/profil-Monsieur.png if.isFalse.field = image if.isPositive = 1 if.isPositive.if { isFalse.field = avatar isInList.field = title value = M. } } # Cas silhouette = Monsieur (champ title vide) 30 = COA 30 { wrap = Profile Picture2 10 = IMG_RESOURCE 10.file = EXT:wseils/Resources/Public/Images/Annuaire/profil-Monsieur.png if.isFalse.field = image if.isPositive = 1 if.isPositive.if { isFalse.field = avatar isPositive = 1 isPositive.if { isFalse.field = title } } } } 40 = TEXT 40 { value = #if.equals.field = uid #if.value.data = TSFE:fe_user|user|uid if.isTrue.cObject = TEXT if.isTrue.cObject { field = uid preUserFunc = Wseils\Wseils\Utility\UserFuncs\Annuaire->whoIsOnline } } stdWrap.typolink { parameter = {$pagePerso} additionalParams.dataWrap = &userid=|{field:uid} target = _blank useCacheHash = 1 } } 20 = COA 20 { wrap =
|
1 = LOAD_REGISTER 1 { user.field = email } 5 = COA 5 { wrap =

Liste rouge

10 = IMG_RESOURCE 10.file = EXT:wseils/Resources/Public/Icons/liste-rouge.png if.isTrue.field = tx_ifsttar_excludedirectory } #Prénom Nom 10 = TEXT 10 { value =

{field:first_name} {field:name}

insertData = 1 typolink { parameter = {$pagePerso} additionalParams.dataWrap = &userid=|{field:uid} ATagParams = class="redirection-page-perso" target = _blank useCacheHash = 1 } } 20 = COA 20 { wrap =

|

#Mail 10 = TEXT 10 { field = email stdWrap.typolink { parameter.field = email parameter.wrap = mailto:| ATagParams = class="redirection-contact" } wrap = |
if.isTrue.field = email } #Fonction 20 = TEXT 20 { field = tx_ifsttar_infoscompl noTrimWrap = |Fonction : | | if.isTrue.field = tx_ifsttar_infoscompl } 25 = TEXT 25 { if.isTrue.field = tx_ifsttar_infoscompl value =  |  } #Ville 30 = TEXT 30 { field = city preUserFunc = user_various->user_liensite wrap = Site : | | Tel :  } #Téléphone 40 = COA 40 { 10 = TEXT 10 { field = telephone preUserFunc = Wseils\Wseils\Utility\UserFuncs\Annuaire->phoneNumberFormat wrap = | |  stdWrap.typolink { parameter.field = telephone parameter.wrap = tel:| parameter.stdWrap.replacement { 10 { search.char = 32 replace = wrap = | } } ATagParams = class="redirection-contact" } } } #Bureau 50 = TEXT 50 { field = tx_ifsttar_bureau wrap = Bur : | } } 30 = TEXT 30 { field = tx_ifsttar_service preUserFunc = Wseils\Wseils\Utility\UserFuncs\Annuaire->user_nomAffectation2 wrap =

|

} } stdWrap { wrap =
|
} } } ifsttar.directory.20 = TEXT ifsttar.directory.20.value = [GLOBAL] [request && (traverse(request.getQueryParams(), 'exportCSV') == 1)] #Construction de l'objet pour l'export CSV lib.annuaire.csv = COA lib.annuaire.csv { 10 = TEXT 10 { value ( "Nom";"Prénom";"Email";"Fonction";"Site";"Téléphone";"Bureau";"Affectation" ) } # On récupère le CONTENT de la recherche puis on surchage le rendu pour obtenir le CSV 20 < ifsttar.directory.11 20 { wrap > renderObj > renderObj = COA_INT renderObj { # Nom 10 = TEXT 10 { field = name wrap = "|"; stdWrap.case = upper } # Prénom 20 = TEXT 20 { field = first_name wrap = "|"; } # Email 30 = TEXT 30 { field = email wrap = "|"; } # Fonction 40 = TEXT 40 { field = tx_ifsttar_infoscompl wrap = "|"; } # Site 50 = TEXT 50 { field = city preUserFunc = user_various->user_liensite wrap = "|"; } # Téléphone 60 = COA 60 { 10 = TEXT 10 { field = telephone substring = 0,2 noTrimWrap = |"| | } 20 = TEXT 20 { field = telephone substring = 2,2 noTrimWrap = || | } 30 = TEXT 30 { field = telephone substring = 4,2 noTrimWrap = || | } 40 = TEXT 40 { field = telephone substring = 6,2 noTrimWrap = || | } 50 = TEXT 50 { field = telephone substring = 8,2 noTrimWrap = || ";| } } # Bureau 70 = TEXT 70 { field = tx_ifsttar_bureau wrap = "|"; } # Affectation 80 = TEXT 80 { field = tx_ifsttar_service preUserFunc = Wseils\Wseils\Utility\UserFuncs\Annuaire->user_nomAffectation2 wrap = "|"; } #Saut de ligne 90 = TEXT 90 { value ( ) } } } } # On génère le fichier CSV annuaireCSV = PAGE annuaireCSV { typeNum = 889 config { disableAllHeaderCode = 1 xhtml_cleaning = 0 admPanel = 0 debug = 0 no_cache = 1 metaCharset = iso-8859-1 additionalHeaders = Content-type:text/csv;charset=iso-8859-1|Content-Disposition:attachment; filename="annuaire.csv" } 10 < lib.annuaire.csv } [global]