dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] A propos de l'isolement des modules


From: Laurent Destailleur (Eldy)
Subject: Re: [Dolibarr-dev] A propos de l'isolement des modules
Date: Sat, 17 Apr 2010 20:24:40 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.1.9) Gecko/20100317 Lightning/1.0b1 Thunderbird/3.0.4

Le 17/04/2010 09:57, Régis Houssin a écrit :
>   
>> Une chose cependant m'étonne, c'est que les tableaux de clefs soit
>> ré-régénérer à chaque chargement de page.
>> Et pourquoi indiquer le fichier de lang dans dans le fichier modxxxxxxx.php 
>> si
>> on ne charge pas se fichier de langue une fois pour toute jusqu'à la 
>> prochaine
>> reconstruction du tableau lors de l'activation ou de la désactivation d'un
>> module ?
>>     
> On recharge les fichiers de langue dans les pages pour éviter de surcharger
> la mémoire. Il existe une constante cachée qui permet d'optimiser le
> chargement en mémoire: MAIN_OPTIMIZE_SPEED
>   

Et surtout, il n'existe aucune solution technique en PHP pour conserver
en mémoire entre session.
En effet, la session php est elle meme un fichier et sauver les langues
en session reviens a lire le fichier session ce qui donne les meme perf
que lire les fichiers langues.
Bref, seul une sauvegarde en mémoire évite cela et seul la variable
MAIN_OPTMIZE_SPEED le permet mais necessite des compétences techniques
pour la maitriser.


>
>   
>> Vous faite du SUPER travail, en plus le source est commenter et clair, un 
>> vrai
>> travail de PRO et je m'y connais.
>> Cordialement,
>> Alain
>>
>> Le 17 avril 2010 01:25, Alain Ivars <address@hidden> a écrit :
>>     
>>> Je confirme : même avec :
>>> $this->langfiles = array("@diodm");
>>> le fichier est celui de : /htdocs/langs/fr_FR/diodm.lang
>>> et non celui de : /htdocs/diodm/langs/fr_FR/diodm.lang
>>> demain, je jetterai un oeil pour trouver pourquoi, mais là je ne sais pas
>>> trop ou chercher, peut tu m'indiquer la fonction qui traite cela si tu t'en
>>> souviens ?  :-)
>>>
>>> Pour ce qui est de la page de setup du module:
>>> $this->config_page_url = array("address@hidden");
>>> fonctionne Nickel :-) Merci
>>>
>>>
>>> Le 16 avril 2010 20:33, Régis Houssin <address@hidden> a
>>> écrit :
>>>       
>>>>
>>>>         
>>>>> Merci mais ca marche pas avec ma version 2.9dev d'il y à 2 jours, doit-je
>>>>> l'updater ?
>>>>>           
>>>> Ca fonctionne chez moi
>>>>
>>>>         
>>>>> Pour le fichier /monmodule/admin/setup_page.php cela sera pareil avec
>>>>> $this->config_page_url = array("@monmodule_setup_page.php");?
>>>>>           
>>>> Non c'est:
>>>>
>>>> $this->config_page_url = 'address@hidden';
>>>>
>>>> Soit address@hidden
>>>>
>>>>
>>>>         
>>>>> Le 16 avril 2010 19:18, Régis Houssin <address@hidden> a
>>>>> écrit
>>>>> :
>>>>>           
>>>>>> Non ceci tu peux le mettre dans le fichier de langue de ton module sous
>>>>>> /htdocs/mymodule/langs/fr_FR/mymodule.lang
>>>>>>
>>>>>> Et dans le fichier de conf du module tu ajoute ceci :
>>>>>>
>>>>>> $this->langfiles = array("@mymodule");
>>>>>>
>>>>>> L¹arobase détermine que le fichier de langue ³mymodule.lang² est dans le
>>>>>> répertoire en question
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Le 16/04/10 18:31, « Alain Ivars » <address@hidden
>>>>>> <http://address@hidden <http://gmail.com> > > a écrit :
>>>>>>
>>>>>>             
>>>>>>> Encore un autre point pour la séparation du système et des module, le
>>>>>>> fichier "admin.lang", je suis obliger d'y ajouter:
>>>>>>>
>>>>>>> ModulexxxName = DI : Ordres de Mission
>>>>>>> ModulexxxDesc = Diagnostic Immobilier : Interface de gestion des Ordres
>>>>>>> de
>>>>>>> missions
>>>>>>> et
>>>>>>> Permissionxxxx = Récupérer le résultat d'un export
>>>>>>> Permissionxxxx = Créer/Modifier un export
>>>>>>>
>>>>>>> Alors que j'ai déja données ces information dans : "modXXXXXX.class.php
>>>>>>> aux
>>>>>>> lignes:
>>>>>>>
>>>>>>> // Module label (no space allowed), used if translation string
>>>>>>> 'ModulexxxName' not found (where xxx is value of numeric property
>>>>>>> 'numero'
>>>>>>> of module)
>>>>>>> $this->name = preg_replace('/^mod/i','',get_class($this));
>>>>>>> // Module description, used if translation string 'ModulexxxDesc' not
>>>>>>> found
>>>>>>> (where xxx is value of numeric property 'numero' of module)
>>>>>>> $this->description = "(Diagnostic Immobilier) Interface de gestion des
>>>>>>> ordres de mission";
>>>>>>>
>>>>>>> A première vue c'est en préparation mais pas encore fait, si quelqu'un
>>>>>>> travaille sur la séparation système/modules, il faudra qu'il rajoute le
>>>>>>> traitement de ces 2 items.
>>>>>>>
>>>>>>>
>>>>>>> Le 16 avril 2010 17:51, Alain Ivars <address@hidden
>>>>>>> <http://address@hidden <http://gmail.com> > > a écrit :
>>>>>>>               
>>>>>>>> Merci pour tes réponses :-)
>>>>>>>>
>>>>>>>> Le 15 avril 2010 00:39, Laurent Destailleur (eldy) <address@hidden
>>>>>>>> <http://address@hidden <http://destailleur.fr> > > a écrit :
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Pour 1,2 3 tu peux créer une page d'admin des délais indépendante en
>>>>>>>>> attendant qu'on mette en place un systeme exploitable par tout module.
>>>>>>>>>
>>>>>>>>> Pour 4, cela doit se faire en automatique. Pas besoin d'ajouter ces
>>>>>>>>> lignes.
>>>>>>>>>
>>>>>>>>> Pour 5 et 6, tu peux utiliser ne direct
>>>>>>>>> ($this->global->MAIN_DELAY_DI_ODMS_TO_BILL*24*60*60) dans ton code. 
>>>>>>>>> Les
>>>>>>>>> constantes dans ->warning_xxx ont été ajouté dans le conf pour des
>>>>>>>>> raisons
>>>>>>>>> historiques mais autant exploité directement ta constante.
>>>>>>>>>
>>>>>>>>> Pour 7,8,9,13 je refléchirais a une solution apres la 2.9.
>>>>>>>>>
>>>>>>>>> Pour 10 et 11, cela ne devrait pas etre nécessaire. La partie 
>>>>>>>>> générique
>>>>>>>>> du
>>>>>>>>> code devrait fonctionner
>>>>>>>>>
>>>>>>>>> Pour 12, faut que je modifie pour avoir un else finale générique qui
>>>>>>>>> focntionne pour tout module
>>>>>>>>>
>>>>>>>>> Pour le 14, ce n'est pas nécessaire. tu peux deja ajouter tes propres
>>>>>>>>> liens vers ton propre js an mettant la liste des js dans un tableau
>>>>>>>>> passé
>>>>>>>>> en paramètre de la fonction llx_header.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> PS: Avec la 2.9, de nombreuses classes dans htdocs sont déplacées dans
>>>>>>>>> htocs/xxx, il faudra modifier les includes pour etre compatible avec 
>>>>>>>>> la
>>>>>>>>> future 2.9
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Alain Ivars a écrit :
>>>>>>>>>                   
>>>>>>>>>> Salut à tous,
>>>>>>>>>>
>>>>>>>>>> En cour de développement d'un module spécialisé pour les
>>>>>>>>>> Diagnostiqueurs
>>>>>>>>>> Immobilier, j'ai plusieurs points à présenter sur lesquels on devra
>>>>>>>>>> surement faire des aménagements pour permettre une meuilleure
>>>>>>>>>> isolation:
>>>>>>>>>>
>>>>>>>>>> Dans:
>>>>>>>>>> ******
>>>>>>>>>> 1/ htdocs/admin/delais.php ligne 55: j'ai besoin de rajouter:
>>>>>>>>>> ***********************************************************
>>>>>>>>>>   if ($_POST["di_odmsToBill"]) dolibarr_set_const($db,
>>>>>>>>>> "MAIN_DELAY_DI_ODMS_TO_BILL",$_POST["di_odmsToBill"],'chaine',0,'',$co
>>>>>>>>>> nf-
>>>>>>>>>>                     
>>>>>>>>>>> entity);
>>>>>>>>>>>                       
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> delais1.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>>>>>> par
>>>>>>>>>> la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 2/ htdocs/admin/delais.php ligne 172: j'ai besoin de rajouter:
>>>>>>>>>> ********************************************************************
>>>>>>>>>>     if ($conf->di_odm->enabled)
>>>>>>>>>>     {
>>>>>>>>>>         $var=!$var;
>>>>>>>>>>         print '<tr '.$bc[$var].'>';
>>>>>>>>>>         print '<td width="20px">'.img_object('','propal').'</td>';
>>>>>>>>>>         print
>>>>>>>>>> '<td>'.$langs->trans("di_odmDelaysOfToleranceToBill").'</td><td>';
>>>>>>>>>>         print '<input size="5" name="di_odmsToBill" value="'.
>>>>>>>>>> ($conf->global->MAIN_DELAY_DI_ODMS_TO_BILL+0) . '"> ' .
>>>>>>>>>> $langs->trans("days") . '</td></tr>';
>>>>>>>>>>     }
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> delais2.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>>>>>> par
>>>>>>>>>> la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 3/ htdocs/admin/delais.php ligne 292: j'ai besoin de rajouter:
>>>>>>>>>> ********************************************************************
>>>>>>>>>>     if ($conf->di_odm->enabled)
>>>>>>>>>>     {
>>>>>>>>>>         $var=!$var;
>>>>>>>>>>         print '<tr '.$bc[$var].'>';
>>>>>>>>>>         print '<td width="20px">'.img_object('','service').'</td>';
>>>>>>>>>>         print
>>>>>>>>>> '<td>'.$langs->trans("di_odmDelaysOfToleranceToBill").'</td><td>' .
>>>>>>>>>> ($conf->global->MAIN_DELAY_DI_ODMS_TO_BILL+0) . ' ' .
>>>>>>>>>> $langs->trans("days") . '</td></tr>';
>>>>>>>>>>     }
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> delais3.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>>>>>> par
>>>>>>>>>> la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 4/ htdocs/core/conf.class.php ligne 273: j'ai besoin de rajouter:
>>>>>>>>>>
>>>>>>>>>>                     
> **********************************************************************>>>>>>>>>
> *
>   
>>>>>>>>>>         $this->di_odm->dir_output=DOL_DATA_ROOT."/di_odm";
>>>>>>>>>>         $this->di_odm->dir_temp  =DOL_DATA_ROOT."/di_odm/temp";
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> conf.class1.php qui contiendra cette ligne et qui sera inclus si
>>>>>>>>>> trouvé
>>>>>>>>>> par la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 5/ htdocs/core/conf.class.php ligne 407: j'ai besoin de rajouter:
>>>>>>>>>>
>>>>>>>>>>                     
> **********************************************************************>>>>>>>>>
> *
>   
>>>>>>>>>>       
>>>>>>>>>>  
>>>>>>>>>> $this->di_odm->facturation->warning_delay=$this->global->MAIN_DELAY_D
>>>>>>>>>> I_O
>>>>>>>>>> DMS_TO_BILL*24*60*60;
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> conf.class1.php qui contiendra cette ligne et qui sera inclus si
>>>>>>>>>> trouvé
>>>>>>>>>> par la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 6/ htdocs/core/conf.class.php ligne 407: j'ai besoin de rajouter:
>>>>>>>>>>
>>>>>>>>>>                     
> **********************************************************************>>>>>>>>>
> *
>   
>>>>>>>>>>       
>>>>>>>>>>  
>>>>>>>>>> $this->di_odm->facturation->warning_delay=$this->global->MAIN_DELAY_D
>>>>>>>>>> I_O
>>>>>>>>>> DMS_TO_BILL*24*60*60;
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> conf.class2.php qui contiendra cette ligne et qui sera inclus si
>>>>>>>>>> trouvé
>>>>>>>>>> par la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 7/ htdocs/product/stats/fiche.php ligne 164: j'ai besoin de rajouter:
>>>>>>>>>> **********************************************************************
>>>>>>>>>> ***
>>>>>>>>>> **
>>>>>>>>>>         'di_odm'           
>>>>>>>>>> =>array('modulepart'=>'di_odmproductstats',
>>>>>>>>>>         'file' => $product->id.'/di_odm12m.png',
>>>>>>>>>>         'label' =>
>>>>>>>>>> ($mode=='byunit'?$langs->trans("di_odmNumberOfUnits"):$langs->trans("d
>>>>>>>>>> i_o
>>>>>>>>>> dmNumberOf"))),
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> fiche1.php qui contiendra cette ligne et qui sera inclus si trouvé 
>>>>>>>>>> par
>>>>>>>>>> la
>>>>>>>>>> boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 8/ htdocs/product/stats/fiche.php ligne 188: j'ai besoin de rajouter:
>>>>>>>>>> **********************************************************************
>>>>>>>>>> ***
>>>>>>>>>> **
>>>>>>>>>>                 if ($key == 'di_odm')            $graph_data =
>>>>>>>>>> $product->get_nb_di_odm($socid,$mode);
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> fiche2.php qui contiendra cette ligne et qui sera inclus si trouvé 
>>>>>>>>>> par
>>>>>>>>>> la
>>>>>>>>>> boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 9/ htdocs/product/stats/fiche.php ligne 222: j'ai besoin de rajouter:
>>>>>>>>>> **********************************************************************
>>>>>>>>>> ***
>>>>>>>>>> **
>>>>>>>>>>             if ($graphfiles == 'di_odm' && !
>>>>>>>>>> $user->right->di_odm->lire)
>>>>>>>>>> continue;
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> fiche3.php qui contiendra cette ligne et qui sera inclus si trouvé 
>>>>>>>>>> par
>>>>>>>>>> la
>>>>>>>>>> boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 10/ htdocs/commonObject.php ligne 805: j'ai besoin de rajouter:
>>>>>>>>>> **********************************************************************
>>>>>>>>>> ***
>>>>>>>>>> 805: if ($this->element == 'di_odm') $fieldtva='total_tva';
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> commonObject1.php qui contiendra cette ligne et qui sera inclus si
>>>>>>>>>> trouvé
>>>>>>>>>> par la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 11/ htdocs/document.php ligne 805: j'ai besoin de rajouter:
>>>>>>>>>> **********************************************************************
>>>>>>>>>> ***
>>>>>>>>>>     // Wrapping pour les di_odm
>>>>>>>>>>     if ($modulepart == 'di_odm')
>>>>>>>>>>     {
>>>>>>>>>>         $user->getrights('di_odm');
>>>>>>>>>>         if ($user->rights->di_odm->lire ||
>>>>>>>>>> preg_match('/^specimen/i',$original_file))
>>>>>>>>>>         {
>>>>>>>>>>             $accessallowed=1;
>>>>>>>>>>         }
>>>>>>>>>>         $original_file=$conf->di_odm->dir_output.'/'.$original_file;
>>>>>>>>>>         $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM
>>>>>>>>>> ".MAIN_DB_PREFIX."di_ordremission WHERE ref='$refname'";
>>>>>>>>>>     }
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> commonObject1.php qui contiendra cette ligne et qui sera inclus si
>>>>>>>>>> trouvé
>>>>>>>>>> par la boucle d'include.
>>>>>>>>>>
>>>>>>>>>> 12/ htdocs/html.formfile.class.php ligne 282: j'ai besoin de 
>>>>>>>>>> rajouter:
>>>>>>>>>> **********************************************************************
>>>>>>>>>>             else if ($modulepart == 'di_odm')
>>>>>>>>>>             {
>>>>>>>>>>                 if (is_array($genallowed)) $modellist=$genallowed;
>>>>>>>>>>                 else
>>>>>>>>>>                 {
>>>>>>>>>>                   
>>>>>>>>>>  
>>>>>>>>>> include_once(DOL_DOCUMENT_ROOT.'/includes/modules/di_odm/di_odm_Model
>>>>>>>>>> ePD
>>>>>>>>>> F.php');
>>>>>>>>>>                     $model=new di_odm_ModelePDF();
>>>>>>>>>>                     $modellist=$model->liste_modeles($this->db);
>>>>>>>>>>                 }
>>>>>>>>>>             }
>>>>>>>>>>
>>>>>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>>>>>> html.formfile.class1.php  qui contiendra cette ligne et qui sera
>>>>>>>>>> inclus
>>>>>>>>>> si trouvé par la boucle d'include.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 13/ htdocs/index.php ligne j'ai besoin de rajouter:
>>>>>>>>>> ********************************************************
>>>>>>>>>> 128:     ! empty($conf->di_odm->enabled) &&
>>>>>>>>>> $user->rights->di_odm->lire
>>>>>>>>>> 142:     DOL_DOCUMENT_ROOT."/di_odm/di_odm.class.php"
>>>>>>>>>> 156:                   'di_odm_model'
>>>>>>>>>> 198:                  "di_odmTitreMenu"
>>>>>>>>>> 212:    DOL_URL_ROOT.'/di_odm/di_odm.php?mainmenu=commercial'
>>>>>>>>>> 226:                    "di_odm"
>>>>>>>>>> 568 à 617:
>>>>>>>>>> // Nbre di_odm ouvertes (expirees)
>>>>>>>>>> if ($conf->di_odm->enabled && $user->rights->di_odm->lire)
>>>>>>>>>> {
>>>>>>>>>>     $langs->load("di_odm");
>>>>>>>>>>     include_once(DOL_DOCUMENT_ROOT."/di_odm/di_odm.class.php");
>>>>>>>>>>     $board=new di_odm_model($db);
>>>>>>>>>>     $board->load_board($user,"opened");
>>>>>>>>>>     $var=!$var;
>>>>>>>>>>     print '<tr '.$bc[$var].'><td
>>>>>>>>>> width="16">'.img_object($langs->trans("di_odmsToClose"),"propal").'</t
>>>>>>>>>> d><
>>>>>>>>>> td>'.$langs->trans("di_odmsToClose").'</td>';
>>>>>>>>>>     print '<td align="right"><a
>>>>>>>>>> href="'.DOL_URL_ROOT.'/di_odm/di_odm_view.php?viewstatut=1">'.$board->
>>>>>>>>>> nbt
>>>>>>>>>> odo.'</a></td>';
>>>>>>>>>>     print '<td align="right">';
>>>>>>>>>>     print '<a
>>>>>>>>>> href="'.DOL_URL_ROOT.'/di_odm/di_odm_view.php?viewstatut=1">';
>>>>>>>>>>     print $board->nbtodolate;
>>>>>>>>>>     print '</a></td><td nowrap align="right">';
>>>>>>>>>>     print ' 
>>>>>>>>>> (>'.ceil($conf->di_odm->cloture->warning_delay/60/60/24).'
>>>>>>>>>> '.$langs->trans("days").')';
>>>>>>>>>>     print '</td>';
>>>>>>>>>>     print '<td>';
>>>>>>>>>>     if ($board->nbtodolate > 0) { print
>>>>>>>>>> img_picto($langs->trans("NActionsLate",$board->nbtodolate),"warning");
>>>>>>>>>> $nboflate+=$board->nbtodolate; }
>>>>>>>>>>     else print '&nbsp;';
>>>>>>>>>>     print '</td>';
>>>>>>>>>>     print '</tr>';
>>>>>>>>>> }
>>>>>>>>>> // Nbre di_odm fermees signees (a facturer)
>>>>>>>>>> if ($conf->di_odm->enabled && $user->rights->di_odm->lire)
>>>>>>>>>> {
>>>>>>>>>>     $langs->load("di_odm");
>>>>>>>>>>     include_once(DOL_DOCUMENT_ROOT."/di_odm/di_odm.class.php");
>>>>>>>>>>     $board=new di_odm_model($db);
>>>>>>>>>>     $board->load_board($user,"signed");
>>>>>>>>>>     $var=!$var;
>>>>>>>>>>     print '<tr '.$bc[$var].'><td
>>>>>>>>>> width="16">'.img_object($langs->trans("di_odmToBill"),"propal").'</td>
>>>>>>>>>> <td
>>>>>>>>>>                     
>>>>>>>>>>> '.$langs->trans("di_odmToBill").'</td>';
>>>>>>>>>>>                       
>>>>>>>>>>     print '<td align="right"><a
>>>>>>>>>> href="'.DOL_URL_ROOT.'/comm/propal.php?viewstatut=2">'.$board->nbtodo.
>>>>>>>>>> '</
>>>>>>>>>> a></td>';
>>>>>>>>>>     print '<td align="right">';
>>>>>>>>>>     print '<a
>>>>>>>>>> href="'.DOL_URL_ROOT.'/di_odm/di_odm_view.php?viewstatut=2">';
>>>>>>>>>>     print $board->nbtodolate;
>>>>>>>>>>     print '</a></td><td nowrap align="right">';
>>>>>>>>>>     print '
>>>>>>>>>> (>'.ceil($conf->di_odm->facturation->warning_delay/60/60/24).'
>>>>>>>>>> '.$langs->trans("days").')';
>>>>>>>>>>     print '</td>';
>>>>>>>>>>     print '<td>';
>>>>>>>>>>     if ($board->nbtodolate > 0) { print
>>>>>>>>>> img_picto($langs->trans("NActionsLate",$board->nbtodolate),"warning");
>>>>>>>>>> $nboflate+=$board->nbtodolate; }
>>>>>>>>>>     else print '&nbsp;';
>>>>>>>>>>     print '</td>';
>>>>>>>>>>     print '</tr>';
>>>>>>>>>>     print "\n";
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> La je ne sais pas quoi proposer
>>>>>>>>>>
>>>>>>>>>> 14/ htdocs/main.inc.php lj'ai besoin de rajouter:
>>>>>>>>>> ******************************************************
>>>>>>>>>>             print '<script type="text/javascript"
>>>>>>>>>> src="'.DOL_URL_ROOT.'/di_odm/js/jquery-1.4.2.js"></script>'."\n";
>>>>>>>>>> //TODO:
>>>>>>>>>> Needed for di_odm
>>>>>>>>>>             print '<script type="text/javascript"
>>>>>>>>>> src="'.DOL_URL_ROOT.'/di_odm/js/jquery-ui-1.8.custom.min.js"></script>
>>>>>>>>>> '."
>>>>>>>>>> \n"; //TODO: Needed for di_odm
>>>>>>>>>>             print '<script type="text/javascript"
>>>>>>>>>> src="'.DOL_URL_ROOT.'/di_odm/js/imbc.js"></script>'."\n"; //TODO:
>>>>>>>>>> Needed
>>>>>>>>>> for di_odm
>>>>>>>>>>
>>>>>>>>>> Pour ce point la c'est assez simple : jquery sera peut etre rajouter 
>>>>>>>>>> à
>>>>>>>>>> Dolibarr, mais il faut quand même une possibilité de rajouter au 
>>>>>>>>>> moins
>>>>>>>>>> un
>>>>>>>>>> .js par module, peut-etre comme le .css dans le fichier
>>>>>>>>>> modMonModule.php
>>>>>>>>>>
>>>>>>>>>> Y a t'il des solutions qui existe déjà dans la 2.8 ou la 2.9 car je
>>>>>>>>>> suis
>>>>>>>>>> en 2.7.1 en ce moment ?
>>>>>>>>>> Mon module est-il le seul à avoir ce type de besoin ?
>>>>>>>>>>
>>>>>>>>>>                     
>>>> --
>>>> Régis Houssin
>>>> ------------------------------------------------------
>>>> Cap-Networks
>>>> 30, Quai de Verdun
>>>> 71700 Tournus
>>>> Tél. +33 6 33 02 07 97
>>>> Web: http://www.cap-networks.com
>>>> Email: address@hidden
>>>>
>>>> Développeur Dolibarr : address@hidden
>>>> Portail francophone : www.dolibarr.fr <http://www.dolibarr.fr>
>>>> Offres SaaS de Dolibarr : www.dolibox.fr <http://www.dolibox.fr>
>>>> Development platform : www.dolibarr.pro <http://www.dolibarr.pro>
>>>> ------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Dolibarr-dev mailing list
>>>> address@hidden
>>>> http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
>>>>
>>>>         
>>>
>>>       
>   
>
>
> _______________________________________________
> Dolibarr-dev mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
>   


-- 
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: address@hidden
Web: http://www.destailleur.fr

Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: address@hidden
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: address@hidden
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]