// +---------------------------------------------------------------------------------------+
//  2002-2005 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
// +---------------------------------------------------------------------------------------+
// $Id: includes.txt,v 1.2 2005/05/12 08:08:08 gautier Exp $

AIDE POUR LES DEVELOPPEURS

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Ce fichier aborde deux points importants de programmation :
	Inlude/require 
	Minimum ncessaire

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Problme des inlude/require :
 
include gnre un warning si fichier inaccessible
require gnre une erreur
 
IL FAUT DONC UTILISER require.
------------------------------

require inclus et parse le fichier
require_once inclus et parse si a n'a pas encore t fait, autrement dit :
 
	require_once ("fichier avec fonctions ou classes dedans.php");
	require_once ("fichier avec fonctions ou classes dedans.php");
	
	ne posera aucun problme
 
l o :
 
	require ("fichier avec fonctions ou classes dedans.php"); 
	require ("fichier avec fonctions ou classes dedans.php");
	
	va vous faire une erreur de cannot redeclare ....

IL FAUT DONC UTILISER require_once
----------------------------------

Les chemins et tout le ncessaire sont paramtrs dans includes/init.inc.php
 
Vous devez donc crire en dbut de chacun de vos fichiers racines (celui que vous voyez dans l'url) :
	// dfinition du minimum ncssaire 
	$base_path=".";                            
	$base_auth = "ADMINISTRATION_AUTH";  
	$base_title = "\$msg[7]";    
	require_once ("$base_path/includes/init.inc.php");  
	
	// les requis par toto.php ou ses sous modules
	...
	
Si vous n'tes pas  la racine de PMB/ :
	// dfinition du minimum ncssaire 
	$base_path="../..";                            
	$base_auth = "ADMINISTRATION_AUTH";  
	$base_title = "";    
	require_once ("$base_path/includes/init.inc.php");  
	
	// les requis par toto.php ou ses sous modules
	require_once("$include_path/tot.inc.php");
	
 
Avec cette faon d'inclure : 
	Vous n'avez plus  vous soucier du chemin d'accs, faites simplement :
		require_once("$class_path/ma_classe.inc.php");
	Vos classes ainsi dveloppes deviendront accessible en dehors de la racine !
	Si, par le truchement des inclusions, il y a plusieurs require_once au mme fichier, vous ne sortirez pas en carafe !
	
	
*-*-*-*-*    Tir de includes/init.inc.php    *-*-*-*-*-*-*-

// Cet include permet de rduire considrablement les trucs  mettre au dpart d'un script
// Six paramtres  fournir en fixant les valeurs avant l'include de ce fichier
//	$base_path="../.."; par ex : = chemin pour accder  la racine de l'applic PMB
//	$base_auth = "SAUV_AUTH|ADMINISTRATION_AUTH"; les droits du user  tester
//	$base_title = "Titre de la fentre"; le titre de la page : facultatif
//		si besoin d'une variable : $base_title = "\$msg[28]";
//	$base_noheader = 0; par dfaut, pas obligatoire, si non vide : pas d'envoi du dbut de page (header & co)
//	$base_nocheck = 0; par dfaut, pas obligatoire : si non vide : pas de checkuser ( session, droits )
//	$base_nobody = 0; par dfaut, pas obligatoire : si non vide : pas de <body> aprs le header envoy
//
//	l'exemple ci-dessus correspond  l'inclusion dans le fichier : admin/sauvegarde/launch.php :
//		$base_path="../.."; 
//		$base_auth = "SAUV_AUTH|ADMINISTRATION_AUTH";
//		$base_title = "Lancement d'une sauvegarde"; 
//		require_once ("$base_path/includes/init.inc.php");
//	l'exemple ci-dessus correspond  l'inclusion dans le fichier : catalog/z3950/z_progession_main.php :
//		J'ai besoin du header mais pas du <body>  cause des frames
//		$base_path="../..";
//		$base_auth = "CIRCULATION_AUTH";  
//		$base_title = "";    
//		$base_nobody = 1;    
//		require_once ("$base_path/includes/init.inc.php");  
