De meeste SPIP-bakens, met name die waarbij gegevens uit de database worden gelezen, voeren enkele automatische processen uit om kwaadaardige code te blokkeren die mogelijk door redacteuren werd toegevoegd toen zij hun artikelen schreven (PHP-code of JavaScript-scripts).
Naast deze standaardprocessen zijn er nog andere die voor elk SQL-veld kunnen worden gedefinieerd om deze processen systematisch toe te passen op het betreffende veld. Deze bewerkingen worden gedefinieerd in het ecrire/public/interfaces.php bestand met behulp van een globale tabel genaamd $table_des_traitements
.
De sleutel tot deze tabel is de naam van het baken, waarbij de waarde een bijbehorende tabel is:
- zijn "0" sleutel (de eerste
$table_des_traitements['BALISE'][]
) definieert een proces ongeacht de tabel in kwestie, - een "table_name" sleutel (
$table_des_traitements['BALISE'']['tabel_naam']
zonder tabelvoorvoegsel) definieert een proces voor een baken in die specifieke tabel.
De processen worden geleverd door het invoeren van een tekenreeks fonction(%s)
die expliciet verwijst naar de toe te passen functies. Binnen die functieoproep wordt "%s" vervangen door de inhoud van het veld.
$table_des_traitements['BALISE'][]= 'traitement(%s)';
$table_des_traitements['BALISE']['objets']= 'traitement(%s)';
Twee veelvoorkomende toepassingen van automatische filters, die bovendien zijn gedefinieerd met constanten, kunnen worden hergebruikt:
-
_TRAITEMENT_TYPO
heeft betrekking op de typografische processen van SPIP (bijvoorbeeld vetschrift toepassen), -
_TRAITEMENT_RACCOURCIS
past de typografische processen en vertalingen van SPIP links toe (bijvoorbeeld het toevoegen van het HTML attribuutclass="spip_out"
).