De processen

Wanneer alle controles zijn uitgevoerd, worden de processen uitgevoerd.
Vaak roepen deze processen functies aan die in hetzelfde bestand bestaan, of functies uit een bibliotheek in de inc/ directory. Soms zal de handeling bestaan uit het eenvoudigweg uitvoeren van de eigen hoofdfunctie van het bestand.

Voorbeeld van het toekennen van moderatierechten aan een artikel

// Pas de moderatierechten aan van het publieke formulier op artikel x
function action_regler_moderation_dist()
{
	include_spip('inc/autoriser');
 
	$securiser_action = charger_fonction('securiser_action', 'inc');
	$arg = $securiser_action();
 
	if (!preg_match(",^\W*(\d+)$,", $arg, $r)) {
		spip_log("action_regler_moderation_dist $arg pas compris");
		return;
	}
 
	$id_article = $r[1];
	if (!autoriser('modererforum', 'article', $id_article))
		return;
 
	// traitements - processes
	$statut = _request('change_accepter_forum');
	sql_updateq("spip_articles", array("accepter_forum" => $statut), "id_article=". $id_article);
	if ($statut == 'abo') {
		ecrire_meta('accepter_visiteurs', 'oui');
	}
	include_spip('inc/invalideur');
	suivre_invalideur("id='id_forum/a$id_article'");
}

De uitgevoerde processen wijzigen de tabel spip_articles in de database om een nieuwe status voor forumbeheer toe te kennen. Wanneer een forum op inschrijving wordt aangevraagd, wat betekent dat je ingelogd moet zijn om te posten, moeten we er absoluut zeker van zijn dat de site daadwerkelijk bezoekersregistraties accepteert, wat wordt gecontroleerd door ecrire_meta('accepter_visiteurs', 'oui');.

En tot slot wordt een oproep om de bestanden in de cache ongeldig te maken uitgevoerd door de functie suivre_invalideur() aan te roepen. De cache wordt opnieuw aangemaakt (merk op dat sinds SPIP 2.0 alleen het relevante deel van de cache ongeldig wordt gemaakt).

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands