#création ou modification actus [traverse(page, "uid") == {$createNews} || traverse(page, "uid") == {$editNews}] page.headerData.6587 = TEXT page.headerData.6587.value ( ) [global] #Sur la page d'édition d'une actu, on pré-rempli les différents champs [traverse(page, "uid") == {$editNews}] ifsttar.mesActus.mainCategories = TEXT ifsttar.mesActus.mainCategories.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getCategoryMain ifsttar.mesActus.mainCategories.preUserFunc.actuEventCatPID = {$actuEventCatPID} ifsttar.mesActus.mainCategories.preUserFunc.excludeUids = {$localiteCatUID},{$thematiqueEvtUID},{$sysDisplayUID} ifsttar.mesActus.mainCategories.preUserFunc.label = Catégories principales* ifsttar.mesActus.mainCategories.preUserFunc.id = categoriesTmp # Génération de la liste des catégories secondaire si actu ifsttar.mesActus.categoriesActu = TEXT ifsttar.mesActus.categoriesActu.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getSecondCategoryTree ifsttar.mesActus.categoriesActu.preUserFunc.actuEventCatPID = {$actuEventCatPID} ifsttar.mesActus.categoriesActu.preUserFunc.excludeUids = {$localiteCatUID},{$thematiqueEvtUID},{$sysDisplayUID} ifsttar.mesActus.categoriesActu.preUserFunc.label = Catégories secondaires ifsttar.mesActus.categoriesActu.preUserFunc.id = categoriesTmp2 #3959 - END # Liste des catégories des localités ifsttar.mesActus.localite = TEXT ifsttar.mesActus.localite.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getCategorySingle ifsttar.mesActus.localite.preUserFunc.actuEventCatPID = {$actuEventCatPID} ifsttar.mesActus.localite.preUserFunc.parentCatToDisplay = {$localiteCatUID} ifsttar.mesActus.localite.preUserFunc.label = Campus et établissements # Liste des catégories des thématiques d'événements ifsttar.mesActus.thematiqueEvt < ifsttar.mesActus.localite ifsttar.mesActus.thematiqueEvt.preUserFunc.parentCatToDisplay = {$thematiqueEvtUID} ifsttar.mesActus.thematiqueEvt.preUserFunc.label = Catégories d'événements # Prévisualisation de l'image ifsttar.mesActus.previewImage = TEXT ifsttar.mesActus.previewImage.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getImagePreview # Prévisualisation des fichiers ifsttar.mesActus.previewDoc = TEXT ifsttar.mesActus.previewDoc.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getFilePreview # On pré-rempli le champ Uid plugin.tx_powermail.settings.setup.prefill.uid = TEXT plugin.tx_powermail.settings.setup.prefill.uid.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getUid # On pré-rempli le champ user plugin.tx_powermail.settings.setup.prefill.user = TEXT plugin.tx_powermail.settings.setup.prefill.user.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getUser # On pré-rempli le champ Type (is_event) plugin.tx_powermail.settings.setup.prefill.is_event = TEXT plugin.tx_powermail.settings.setup.prefill.is_event.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getIsEvent # On pré-rempli le champ "Actu de l'intranet + Borne d'accueil" en fonction du tag "Bornes TV" renseigné plugin.tx_powermail.settings.setup.prefill.bornes_tv = TEXT plugin.tx_powermail.settings.setup.prefill.bornes_tv.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getTags # On pré-rempli le champ Titre plugin.tx_powermail.settings.setup.prefill.title = TEXT plugin.tx_powermail.settings.setup.prefill.title.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getTitle # On pré-rempli le champ Sous-titre plugin.tx_powermail.settings.setup.prefill.teaser = TEXT plugin.tx_powermail.settings.setup.prefill.teaser.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getTeaser # On pré-rempli le champ Date plugin.tx_powermail.settings.setup.prefill.datetime = TEXT plugin.tx_powermail.settings.setup.prefill.datetime.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getDatetime # On pré-rempli le champ Date de fin de publication plugin.tx_powermail.settings.setup.prefill.endtime = TEXT plugin.tx_powermail.settings.setup.prefill.endtime.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getEndtime # On pré-rempli le champ Date de début plugin.tx_powermail.settings.setup.prefill.event_start = TEXT plugin.tx_powermail.settings.setup.prefill.event_start.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getEventStart # On pré-rempli le champ Date de fin plugin.tx_powermail.settings.setup.prefill.event_end = TEXT plugin.tx_powermail.settings.setup.prefill.event_end.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getEventEnd # On pré-rempli le champ Lieu plugin.tx_powermail.settings.setup.prefill.location_simple = TEXT plugin.tx_powermail.settings.setup.prefill.location_simple.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getLocation # On pré-rempli le champ tags plugin.tx_powermail.settings.setup.prefill.keywords = TEXT plugin.tx_powermail.settings.setup.prefill.keywords.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getKeywords # On pré-rempli le champ Image par défaut ifsttar.mesActus.defaultImage = TEXT ifsttar.mesActus.defaultImage.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getDefaultImage ifsttar.mesActus.defaultImage.preUserFunc.newsDefaultImage = {$newsDefaultImage} # On pré-rempli le champ Decription plugin.tx_powermail.settings.setup.prefill.bodytext = TEXT plugin.tx_powermail.settings.setup.prefill.bodytext.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getBodytext # On pré-rempli le champ titlenews avec le titre de l'actualité (formulaire de "Mise en ligne" uniquement) plugin.tx_powermail.settings.setup.prefill.titlenews = TEXT plugin.tx_powermail.settings.setup.prefill.titlenews.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getNewsTitle # On pré-rempli le champ authorname (formulaire de "Mise en ligne" uniquement) plugin.tx_powermail.settings.setup.prefill.authoremail = TEXT plugin.tx_powermail.settings.setup.prefill.authoremail.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getAuthorEmail # On pré-rempli le champ caché keep_files plugin.tx_powermail.settings.setup.prefill.keep_files = TEXT plugin.tx_powermail.settings.setup.prefill.keep_files.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getKeepFiles # On pré-rempli le champ auteur plugin.tx_powermail.settings.setup.prefill.author = TEXT plugin.tx_powermail.settings.setup.prefill.author.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getAuthor [global] # valeur 4 => ID du formulaire Edition d'une news # valeur 7 => ID du formulaire Création d'une news [request && (traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.editNews} || traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.createNews})] page.9568 = LOAD_REGISTER page.9568 { keepFiles.data = GP:tx_powermail_pi1|field|keep_files } plugin.tx_powermail.settings.setup { # Save values to any table (example for tt_adress) dbEntry { 2 { # Enable or disable db entry for table tx_news_domain_model_news _enable = TEXT _enable.value = 1 # Set tableName to "tx_news_domain_model_news" _table = TEXT _table.value = tx_news_domain_model_news // On mets à jour si le champ uid existe _ifUnique.uid = update // uid uid = TEXT uid.field = uid // Date de mise à jour tstamp = TEXT tstamp.data = date:U // Titre title = TEXT title.field = title // path_segment (slug) path_segment = TEXT path_segment.wrap = {field:title} path_segment.insertData=1 path_segment.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getPathSegment // Sous-titre teaser = TEXT teaser.field = teaser // Date de l'actualité datetime = TEXT datetime.field = datetime datetime.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getDateTstamp // Date de l'actualité starttime = TEXT starttime.field = datetime starttime.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getDateTstamp // Date de fin de publication endtime = TEXT endtime.field = endtime endtime.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getDateTstamp // Date de début l'évènement event_start = TEXT event_start.field = event_start event_start.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getDateTstamp // Date de fin l'évènement event_end = TEXT event_end.field = event_end event_end.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getDateTstamp // Lieu de l'évènement location_simple = TEXT location_simple.field = location_simple // Texte de l'actualité bodytext = TEXT bodytext.field = bodytext // Catégories categories = TEXT categories.field = categories categories.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->updateCategories // Tags keywords = TEXT keywords.field = keywords // Image fal_media = TEXT fal_media.field = fal_media fal_media.required = 1 fal_media.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->updateImage fal_media.preUserFunc.uploadFolder = {$plugin.tx_powermail.settings.misc.uploadFolder} // Documents fal_related_files = TEXT fal_related_files.field = fal_related_files fal_related_files.required = 1 fal_related_files.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->updateFiles fal_related_files.preUserFunc.uploadFolder = {$plugin.tx_powermail.settings.misc.uploadFolder} // Actualité ou évènement is_event = TEXT is_event.field = is_event // Auteur libre author = TEXT author.field = author // User user = TEXT user.field = user pid = TEXT pid.value = {$newsRedacPID} // Tags (Balise d'actu) tags = TEXT tags.field = bornes_tv tags.postUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->updateTags default_image = TEXT default_image.field = default_image } } } plugin.tx_powermail.settings.setup.thx { overwrite { # Overwrite redirect with TypoScript cObject # Return a Number: Typolink to the pid # Return a URL: Link to an intern or extern URL # Return a File: Link to a file (within fileadmin folder) redirect = COA redirect { 10 = TEXT 10 { typolink.parameter = {$createNews} typolink.addQueryString = 1 typolink.returnLast = url typolink.no_cache = 1 } } } } [global] # Création Actualité [traverse(page, "uid") == {$createNews}] #affichage catégories ifsttar.mesActus.mainCategories = TEXT ifsttar.mesActus.mainCategories.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getCategoryMain ifsttar.mesActus.mainCategories.preUserFunc.actuEventCatPID = {$actuEventCatPID} ifsttar.mesActus.mainCategories.preUserFunc.excludeUids = {$localiteCatUID},{$thematiqueEvtUID},{$sysDisplayUID} ifsttar.mesActus.mainCategories.preUserFunc.label = Catégories principales* ifsttar.mesActus.mainCategories.preUserFunc.id = categoriesTmp # Génération de la liste des catégories secondaire si actu ifsttar.mesActus.categoriesActu = TEXT ifsttar.mesActus.categoriesActu.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getSecondCategoryTree ifsttar.mesActus.categoriesActu.preUserFunc.actuEventCatPID = {$actuEventCatPID} ifsttar.mesActus.categoriesActu.preUserFunc.excludeUids = {$localiteCatUID},{$thematiqueEvtUID},{$sysDisplayUID} ifsttar.mesActus.categoriesActu.preUserFunc.label = Catégories secondaires ifsttar.mesActus.categoriesActu.preUserFunc.id = categoriesTmp2 # Liste des catégories des localités ifsttar.mesActus.localite = TEXT ifsttar.mesActus.localite.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getCategorySingle ifsttar.mesActus.localite.preUserFunc.actuEventCatPID = {$actuEventCatPID} ifsttar.mesActus.localite.preUserFunc.parentCatToDisplay = {$localiteCatUID} ifsttar.mesActus.localite.preUserFunc.label = Campus et établissements # Liste des catégories des thématiques d'événements ifsttar.mesActus.thematiqueEvt < ifsttar.mesActus.localite ifsttar.mesActus.thematiqueEvt.preUserFunc.parentCatToDisplay = {$thematiqueEvtUID} ifsttar.mesActus.thematiqueEvt.preUserFunc.label = Catégories d’évènements ifsttar.mesActus.sysdisplay > ifsttar.mesActus.sysdisplay = TEXT # Formulaire de création donc on n'utilise pas ifUnique pour mettre à jour plugin.tx_powermail.settings.setup.dbEntry.2._ifUnique > # On n'a pas besoin de l'UID sur le formulaire de création plugin.tx_powermail.settings.setup.dbEntry.2.uid > // Date de création plugin.tx_powermail.settings.setup.dbEntry.2.crdate = TEXT plugin.tx_powermail.settings.setup.dbEntry.2.crdate.data = date:U ifsttar.mesActus.defaultImage = COA ifsttar.mesActus.defaultImage { 10 = TEXT 10 { value = } 20 = CONTENT 20 { wrap = table = tx_wseils_default_image_news select { pidInList = {$newsDefaultImage} where = hidden = 0 AND deleted = 0 } renderObj = TEXT renderObj { value = insertData = 1 } } } ifsttar.mesActus.previewImage > ifsttar.mesActus.previewImage = TEXT ifsttar.mesActus.previewDoc > ifsttar.mesActus.previewDoc = TEXT plugin.tx_powermail.settings.setup.prefill > [global] ##### Validation / Suppression d'une actualité #### [request && (traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.requestValidationNews} || traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.deleteNews})] # Génération du lien de prévisualisation lib.previewLink = TEXT lib.previewLink.preUserFunc = Wseils\Wseils\Utility\UserFuncs\MesActus->getPreviewLink lib.previewLink.preUserFunc.domain = {$site.domain} lib.previewLink.preUserFunc.admin = 1 # On pré-rempli le champ Uid de l'actualité plugin.tx_powermail.settings.setup.prefill.uid = TEXT plugin.tx_powermail.settings.setup.prefill.uid.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getUid # On modifie seulement le PID à "En attente de validation" plugin.tx_powermail.settings.setup { # Save values to any table dbEntry { 2 { # Enable or disable db entry for table tx_news_domain_model_news _enable = TEXT _enable.value = 1 # Set tableName to "tx_news_domain_model_news" _table = TEXT _table.value = tx_news_domain_model_news // On mets à jour si le champ uid existe _ifUnique.uid = update // uid uid = TEXT uid.field = uid pid = TEXT pid.value = {$newsValidPID} } } } # Redirection à la fin du formulaire plugin.tx_powermail.settings.setup.thx { overwrite { # Overwrite redirect with TypoScript cObject # Return a Number: Typolink to the pid # Return a URL: Link to an intern or extern URL # Return a File: Link to a file (within fileadmin folder) redirect = COA redirect { 10 = TEXT 10 { typolink.parameter = {$createNews} typolink.returnLast = url typolink.no_cache = 1 } } } } [global] ifsttar.validationNewsTools = COA_INT ifsttar.validationNewsTools { 10 = TEXT 10 { value ( ) } 20 = TEXT 20.value (
) } # On n'affiche les boutons de validation seulement à l'étape "En cours de rédaction" [Wseils\WseilsEtudiants\Utility\UserFuncs\MesActusConditions = {$newsValidPID}] ifsttar.validationNewsTools.20 > [global] # Lorsqu'une actualité est "en ligne", on propose seulement le bouton "supprimer" [Wseils\WseilsEtudiants\Utility\UserFuncs\MesActusConditions = {$newsMELPID}] ifsttar.validationNewsTools.20 > ifsttar.validationNewsTools.20 = TEXT ifsttar.validationNewsTools.20.value ( ) [global] # On affiche les boutons "admin" lorsque le paramètre "admin" = 1 [request && (traverse(request.getQueryParams(), 'admin') == 1)] ifsttar.validationNewsTools.20 > ifsttar.validationNewsTools.20 = TEXT ifsttar.validationNewsTools.20.value ( ) [global] # Lorsque l'actualité a été validé, on n'affiche plus le bouton de validation [request && (traverse(request.getQueryParams(), 'admin') == 1 && traverse(request.getQueryParams(), 'mel') == 1)] ifsttar.validationNewsTools.20 > ifsttar.validationNewsTools.20 = TEXT ifsttar.validationNewsTools.20.value ( ) [global] # Lorsque l'actualité a été rejetée, on n'affiche plus les boutons [request && (traverse(request.getQueryParams(), 'admin') == 1 && traverse(request.getQueryParams(), 'rejet') == 1)] ifsttar.validationNewsTools.20 > ifsttar.validationNewsTools.20 = TEXT [global] # Formulaire de suppression de l'actualité [request && (traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.deleteNews})] plugin.tx_powermail.settings.setup.dbEntry.2.deleted = TEXT plugin.tx_powermail.settings.setup.dbEntry.2.deleted.field = deleted [global] [request && (traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.validateNews} || traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.rejectNews})] # Génération du lien de prévisualisation lib.newsLink = TEXT lib.newsLink.preUserFunc = Wseils\Wseils\Utility\UserFuncs\MesActus->getPreviewLink lib.newsLink.preUserFunc.domain = {$site.domain} lib.newsLink.preUserFunc.admin = 0 [global] # Formulaire de publication d'une actu (MEL) [request && (traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.validateNews})] # On modifie seulement le PID à "Actualités - évènements" plugin.tx_powermail.settings.setup { # Save values to any table dbEntry { 2 { # Enable or disable db entry for table tx_news_domain_model_news _enable = TEXT _enable.value = 1 # Set tableName to "tx_news_domain_model_news" _table = TEXT _table.value = tx_news_domain_model_news // On mets à jour si le champ uid existe _ifUnique.uid = update // uid uid = TEXT uid.field = uid // pid "en ligne" pid = TEXT pid.value = {$newsMELPID} } } } # On redirige vers la page courante avec le paramètre mel plugin.tx_powermail.settings.setup.thx { overwrite { # Overwrite redirect with TypoScript cObject # Return a Number: Typolink to the pid # Return a URL: Link to an intern or extern URL # Return a File: Link to a file (within fileadmin folder) redirect = COA redirect { 10 = TEXT 10 { typolink.parameter = {$editNews} typolink.addQueryString = 1 typolink.addQueryString.exclude = cHash, tx_powermail_pi1, rejet typolink.additionalParams = &mel=1 typolink.returnLast = url typolink.no_cache = 1 } } } } [global] # Formulaire de rejet d'une actu [request && (traverse(request.getParsedBody(), 'tx_powermail_pi1/mail/form') == {$powermailFormID.rejectNews})] # On modifie seulement le PID à "En cours de rédaction" plugin.tx_powermail.settings.setup { # Save values to any table dbEntry { 2 { # Enable or disable db entry for table tx_news_domain_model_news _enable = TEXT _enable.value = 1 # Set tableName to "tx_news_domain_model_news" _table = TEXT _table.value = tx_news_domain_model_news // On mets à jour si le champ uid existe _ifUnique.uid = update // uid uid = TEXT uid.field = uid // pid "en cours de rédaction" pid = TEXT pid.value = {$newsRedacPID} } } } plugin.tx_powermail.settings.setup.thx { overwrite { # Overwrite redirect with TypoScript cObject # Return a Number: Typolink to the pid # Return a URL: Link to an intern or extern URL # Return a File: Link to a file (within fileadmin folder) redirect = COA redirect { 10 = TEXT 10 { typolink.parameter = {$editNews} typolink.addQueryString = 1 typolink.addQueryString.exclude = cHash, tx_powermail_pi1, mel typolink.additionalParams = &rejet=1 typolink.returnLast = url typolink.no_cache = 1 } } } } [global] ifsttar.mesActus.sysdisplay > ifsttar.mesActus.sysdisplay = TEXT [like(","~frontend.user.userGroupList~",", "*,{$groupContrib},*")] # Liste des catégories système d'affichage ifsttar.mesActus.sysdisplay < ifsttar.mesActus.localite ifsttar.mesActus.sysdisplay.preUserFunc.parentCatToDisplay = {$sysDisplayUID} ifsttar.mesActus.sysdisplay.preUserFunc.label = Système d'affichage [END] # On pré-rempli les validateurs plugin.tx_powermail.settings.setup.prefill.vosvalidateurs = TEXT plugin.tx_powermail.settings.setup.prefill.vosvalidateurs.preUserFunc = Wseils\WseilsEtudiants\Utility\UserFuncs\MesActus->getValidatorEmail # On envoi l'email aux validateurs de l'actualité plugin.tx_powermail.settings.setup.receiver.predefinedReceiver { validatorRecipients.email = TEXT validatorRecipients.email.data = GP:tx_powermail_pi1|field|vosvalidateurs }