pour appeler une fonction: pnModURL()
pnModURL('joinproject', 'user', 'main')
pour rediriger la page: pnRedirect()
pnRedirect(pnModURL('joinproject', 'admin', 'main'));
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");
Postnuke a un système de gestion des exceptions: "system" et "user" et il est recommandé de l'utiliser.
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
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();