mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-27 10:53:48 +01:00
121 lines
3.3 KiB
Text
121 lines
3.3 KiB
Text
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||
|
<chapter>
|
||
|
|
||
|
<title>Contribution</title>
|
||
|
|
||
|
<para>Comme tout projet libre qui se respecte, les contributions à LdapSaisie sont les bienvenues. Ce chapitre explique les possibilités de contribution.</para>
|
||
|
|
||
|
<sect1 id="contrib-LSaddons">
|
||
|
<title>LSaddons</title>
|
||
|
<para>Les &LSaddons; sont utilisés pour implémenter dans &LdapSaisie; des fonctionnalités spécifiques telque le support du famille d'attribut spécifiques (POSIX, Samba, ...) ou encore des tâches communes et génériques (envoi de mails, connexion FTP, ...). Les &LSaddons; vont permettront également d'adapter &LdapSaisie; à vos besoins en écrivrant par exemple les fonctions appelées par les déclencheurs.</para>
|
||
|
|
||
|
<sect2 id="contrib-LSaddons-structure">
|
||
|
<title>Structure d'écriture</title>
|
||
|
|
||
|
<para>L'écriture d'un &LSaddon; doit respecter une structure suffisament souple afin de ne pas être un frein à vos contributions, tout en permettant d'assurer la bonne intégration de votre contibution au projet. Le code que vous ecrirez sera répartis dans deux fichiers :</para>
|
||
|
<variablelist>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term>conf/LSaddons/config.LSaddons.[addon name].php</term>
|
||
|
<listitem><simpara>Ce fichier contiendra la configuration de votre LSadons. On y retrouvera la déclaration de constances et/ou variables de configuration permettant d'adapter votre LSaddon à une installation et à un environement.</simpara></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term>includes/addons/LSaddons.[addon name].php</term>
|
||
|
<listitem><simpara>Ce fichier contiendra le code à proprement dit de votre LSaddons.</simpara></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
</variablelist>
|
||
|
|
||
|
<programlisting linenumbering="unnumbered">
|
||
|
<citetitle>Structure du fichier includes/addons/LSaddons.[addon name].php</citetitle>
|
||
|
<![CDATA[<?php
|
||
|
|
||
|
// Messages d'erreur
|
||
|
|
||
|
// Support
|
||
|
LSerror :: defineError('MYADDON_SUPPORT_01',
|
||
|
_("MYADDON Support : first support error...")
|
||
|
);
|
||
|
|
||
|
LSerror :: defineError('MYADDON_SUPPORT_02',
|
||
|
_("MYADDON Support : second support error...")
|
||
|
);
|
||
|
|
||
|
// Autres erreurs
|
||
|
LSerror :: defineError('MYADDON_01',
|
||
|
_("MYADDON_01 : an error : %{msg}.")
|
||
|
);
|
||
|
|
||
|
LSerror :: defineError('MYADDON_02',
|
||
|
_("MYADDON_02 : an other error : %{msg}")
|
||
|
);
|
||
|
|
||
|
// Constantes
|
||
|
|
||
|
// Un constante
|
||
|
define('LS_MYADDON_CONST01',XXXXXXXX);
|
||
|
|
||
|
/**
|
||
|
* Verify support of my addon by LdapSaisie
|
||
|
*
|
||
|
* @author My Name <my.email@example.com>
|
||
|
*
|
||
|
* @retval boolean true if my addon is totaly supported, false in other cases
|
||
|
**/
|
||
|
function LSaddon_myaddon_support() {
|
||
|
|
||
|
$retval=true;
|
||
|
|
||
|
// Dependance de librairie
|
||
|
if ( !class_exists('mylib') ) {
|
||
|
if ( !LSsession::includeFile(LS_LIB_DIR . 'class.mylib.php') ) {
|
||
|
LSerror :: addErrorCode('MYADDON_SUPPORT_01');
|
||
|
$retval=false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
$MUST_DEFINE_CONST= array(
|
||
|
'LS_MYADDON_CONF_O1',
|
||
|
'LS_MYADDON_CONF_O2',
|
||
|
...
|
||
|
);
|
||
|
|
||
|
foreach($MUST_DEFINE_CONST as $const) {
|
||
|
if ( (!defined($const)) || (constant($const) == "")) {
|
||
|
LSerror :: addErrorCode('MYADDON_SUPPORT_02',$const);
|
||
|
$retval=false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Other check ...
|
||
|
|
||
|
return $retval;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Ma première fonction.
|
||
|
*
|
||
|
* Ce qu'elle fait.
|
||
|
*
|
||
|
* @author My Name <my.email@example.com>
|
||
|
*
|
||
|
* @retval [type valeur retournée] [Signification de la valeur retournée]
|
||
|
**/
|
||
|
function myaddon_first_function($arg1,$arg2) {
|
||
|
|
||
|
...
|
||
|
|
||
|
}
|
||
|
|
||
|
?>
|
||
|
]]>
|
||
|
</programlisting>
|
||
|
|
||
|
</sect2>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
</chapter>
|