UP PREVIOUS NEXT   Technologies Internet et Education, © TECFA
  5. Interface admin et utilisateur

5. Interface admin et utilisateur

Interface admin:

Interface utilisateur:

5.1 Séparer fonctions GUI et API

GUI: pnadmin.php, pnuser.php

API: pnadminapi.php, pnuserapi.php

5.2 tout en fonctions ou classes

Dans les fichiers pnadmin.php et pnadminapi.php :

Dans les fichiers pnuser.php et pnuserapi.php :

5.3 Utiliser les fonctions API (doc!)

pour appeler une fonction: pnModURL()

	pnModURL('joinproject', 'user', 'main')

pour rediriger la page: pnRedirect()

	pnRedirect(pnModURL('joinproject', 'admin', 'main'));

5.4 Pour SQL utiliser la librairie ADODB (doc!)

Postnuke utilise pour SQL la librairie ADODB et ci-dessous on voit le minimum des commandes dont on a besoin:
 
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
$projectstable = $pntable['joinproject_projects'];
$result1=$dbconn->Execute("SELECT * FROM $projectstable");

5.5 Gérer les exceptions (doc!)

Postnuke a un système de gestion des exceptions: "system" et "user" et il est recommandé de l'utiliser.

5.6 Sécurité et permissions

Postnuke a un système assez évolué pour gérer les permissions (voir le manuel en ligne). On les gère facilement grâce à une fonction de l'API et on suggère de le faire au début de chaque fonction pour éviter les trous de sécurité:

  if (!pnSecAuthAction(0, 'joinproject::', '::', ACCESS_ADMIN)) {
    $output->Text(_TEMPLATENOAUTH);
    return $output->GetOutput(); }

Il y a plusieurs niveaux d'accès:

ACCESS_NONE No access
ACCESS_OVERVIEW Allowed to get an overview of the content
ACCESS_READ Allowed to read the content
ACCESS_COMMENT Allowed to comment on the content
ACCESS_MODERATE Allowed to moderate the content
ACCESS_EDIT Allowed to edit the content
ACCESS_ADD Allowed to add content
ACCESS_DELETE Allowed to delete content
ACCESS_ADMIN Full access

5.7 Pour HTML utiliser l'objet pnHTML et ses méthodes (doc!)

Jamais de "echo" ou "print", à la place utilisez les méthodes du pnHTML.

Il y en a pour tout les éléments HTML.

  	$output = new pnHTML();
  	$output->Start();
	$output->End();
  	$output->TableStart();
  	$output->TableEnd();
  	$output->TableAddRow();
  	$output->Text();
  	$output->Title();
  	$output->BoldText();
  	$output->FormStart();
  	$output->FormEnd();
  	$output->FormText();
  	$output->FormTextArea();
  	$output->FormHidden();
  	$output->FormList();
  	$output->FormSubmit();
  	$output->PrintPage();
  	$output->setInputMode();
  	$output->setOutputMode();
  	$output->Redirect();
  	$output->LineBreak();
  	$output->URL();
  	return $output->GetOutput();

UP PREVIOUS NEXT -- TIE