# 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 =
data = GP:wseils|qui } # Statut ifsttar.directory.5.12 > ifsttar.directory.5.12 = TEXT ifsttar.directory.5.12 { wrap =
|
preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->displayUserStatut } #fonctions ifsttar.directory.5.13 = TEXT ifsttar.directory.5.13 { wrap =
preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->displayUserFunction } # Suppression des champs provenant de l'intranet agent # Ajout COA pour le htmlSpecialChars (faille sécu) ifsttar.directory.5.20 > ifsttar.directory.5.20 = TEXT ifsttar.directory.5.20 { wrap =
|
preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->displayUserCampus preUserFunc.schoolLinksId = {$schoolLinksId} } ifsttar.directory.5.21 = TEXT ifsttar.directory.5.21 { stdWrap.htmlSpecialChars = 1 wrap =
data = GP:wseils|school } ifsttar.directory.5.22 > # Ajout COA pour le htmlSpecialChars (faille sécu) ifsttar.directory.5.24 = TEXT ifsttar.directory.5.24 { stdWrap.htmlSpecialChars = 1 wrap =
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') || traverse(request.getQueryParams(), 'wseils/ou') || traverse(request.getQueryParams(), 'wseils/statut') || traverse(request.getQueryParams(), 'wseils/fonction') || traverse(request.getQueryParams(), 'wseils/school') || traverse(request.getQueryParams(), 'wseils/affectation'))] ifsttar.directory.9 = TEXT ifsttar.directory.9.value =

ifsttar.directory.11 > 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\WseilsEtudiants\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 { data = TSFE:fe_user|user|image wrap = Profile Picture 10 = IMG_RESOURCE 10.file = EXT:wseils/Resources/Public/Images/Annuaire/profil-Madame.png if.isFalse.data = TSFE:fe_user|user|image if.isPositive = 1 if.isPositive.if { isFalse.data = TSFE:fe_user|user|avatar isInList.data = TSFE:fe_user|user|title value = Mme,Mlle } } # Cas silhouette = Monsieur (champ title M.) 20 = COA 20 { data = TSFE:fe_user|user|image wrap = Profile Picture 10 = IMG_RESOURCE 10.file = EXT:wseils/Resources/Public/Images/Annuaire/profil-Monsieur.png if.isFalse.data = TSFE:fe_user|user|image if.isPositive = 1 if.isPositive.if { isFalse.data = TSFE:fe_user|user|avatar isInList.data = TSFE:fe_user|user|title value = M. } } # Cas silhouette = Monsieur (champ title vide) 30 = COA 30 { data = TSFE:fe_user|user|image wrap = Profile Picture 10 = IMG_RESOURCE 10.file = EXT:wseils/Resources/Public/Images/Annuaire/profil-Monsieur.png if.isFalse.data = TSFE:fe_user|user|image if.isPositive = 1 if.isPositive.if { isFalse.data = TSFE:fe_user|user|avatar isPositive = 1 isPositive.if { isFalse.data = TSFE:fe_user|user|title } } } } 40 > } 20 = COA 20 { wrap =
|
1 = LOAD_REGISTER 1 { user.field = email } 5 > 8 > 8 = COA_INT 8 { 10 = TEXT 10 { value =
if.value.field = address if.equals = student } 20 = TEXT 20 { value =
if.value.field = address if.equals = student if.negate = 1 } } #Prénom Nom 10 = TEXT 10 { value =

{field:first_name} {field:name}

insertData = 1 } 13 = COA_INT 13 { 10 = TEXT 10 { value = Personnel if.value.field = address if.equals = teacher } 15 = TEXT 15 { value = Etudiant if.value.field = address if.equals = student } 20 = TEXT 20 { value = Personnel if.isFalse.field = address } } 15 = TEXT 15 { field = roles preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->getRoles wrap =  | if.isTrue.field = roles } 18 = TEXT 18.value =
20 = COA 20 { wrap =

|

#Mail 10> #Fonction 20 > 25 > #Ville 30 > #Téléphone 40 > #Bureau 50 > 55 = TEXT 55 { field = city wrap = | -  if.isTrue.field = city } 60 = TEXT 60 { field = school preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->getSchool wrap = | if.isTrue.field = school } 70 = TEXT 70 { field = tx_ifsttar_service preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->getSchoolAgent wrap = | if.isTrue.field = tx_ifsttar_service } } 30 > } stdWrap { typolink { parameter = {$pagePerso} additionalParams { field = uid wrap = &userid=| } ATagParams = class="list-group-item" target = _blank useCacheHash = 1 } } } } ifsttar.directory.20 = TEXT ifsttar.directory.20.value = [END] [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";"Fonction";"Campus";"Ecole" ) } # 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 = "|"; } 23 = COA_INT 23 { 10 = TEXT 10 { value = Personnel if.value.field = address if.equals = teacher } 15 = TEXT 15 { value = Etudiant if.value.field = address if.equals = student } 20 = TEXT 20 { value = Personnel if.isFalse.field = address } } 25 = TEXT 25 { field = roles preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->getRoles wrap = "|"; } # Email 30 > # Fonction 40 > # Site 50 > # Téléphone 60 > # Bureau 70 > # Campus 75 = TEXT 75 { field = city wrap = "|"; } # Affectation 80 > #Ecole 85 = TEXT 85 { field = school preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->getSchool wrap = "|" } 87 = TEXT 87 { field = tx_ifsttar_service preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\Annuaire->getSchoolAgent wrap = | if.isTrue.field = tx_ifsttar_service } #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]