mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-23 08:53:47 +01:00
a8e2ecc343
It's permit to be sure to translate message in the right user language, even if its context isn't loaded at error emission time.
120 lines
3.3 KiB
XML
120 lines
3.3 KiB
XML
<?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>
|