Line 26:
Line 26:
Le processus démarre par l'appel de la page que l'on souhaite voir. Par exemple, la page d'accueil htdocs/index.php. Mais ce n'est pas ce fichier qui assure la demande d'authentification. En fait toute page de Dolibarr inclut un fichier main.inc.php qui lui même inclut le fichier master.inc.php.
Le processus démarre par l'appel de la page que l'on souhaite voir. Par exemple, la page d'accueil htdocs/index.php. Mais ce n'est pas ce fichier qui assure la demande d'authentification. En fait toute page de Dolibarr inclut un fichier main.inc.php qui lui même inclut le fichier master.inc.php.
Nous avons donc:
Nous avons donc:
−
<source lang="php">
+
−
<mapage.php>
+
{{Template:CodeSampleForLoginProcess}}
−
<main.inc.php>
−
<master.inc.php>
−
#1#
−
</master.inc.php>
−
#2#
−
if (! isset($_SESSION["dol_login"]))
−
{
−
// Set goontestloop to true if we are coming from a post of the login page ($_POST["username"] and $_POST["actionlogin"] is defined.
−
// We may also set goontestloop to true for some other cases depending on the authentication mode (see next chapter)
−
$goontestloop = ...
−
if ($goontestloop)
−
{
−
...
−
// if user and pass are ok, we set $login
−
$login=
−
}
−
if (! $login)
−
{
−
// We show login page
−
include_once(DOL_DOCUMENT_ROOT."/lib/security.lib.php");
−
dol_loginfunction($langs,$conf,$mysoc);
−
exit;
−
}
−
...
−
}
−
</main.inc.php>
−
#3#
−
</mapage.php>
−
</source>
Le #1# représente le chargement de tout un tas de librairie que nous utiliserons par la suite, ainsi que l'initialisation du contexte d'exécution du code PHP (langue, configuration, utilisateur vierge).
Le #1# représente le chargement de tout un tas de librairie que nous utiliserons par la suite, ainsi que l'initialisation du contexte d'exécution du code PHP (langue, configuration, utilisateur vierge).