Bonjour,
J'ai un pc équipé de ubuntu 12.04 LTS et un mac équipé de mac os 10.9.
Sur mon pc (ordinateur sur lequel j'ai commencé le développement)
dolibarr affiche une page blanche que le module soit présent ou non.
J'ai changer le numéro plusieurs fois mais ça n'a rien fait.
J'ai même tout remis a zero dollibarr ainsi que la base de donnée j'ai
toujours cette page blanche quand je vais dans "modules" En plus, pas de
chance, syslog n'est pas actif par défaut. Est-ce quelque chose a faire
à l'avenir ?
Résultat : impossible de savoir s'il y a une erreur ou non.
Je me suis alors rabattus sur mon mac qui a dolimamp fonctionnel et j'ai
transférer le module mais là, la liste de modules apparaît mais sans le
mien.
ci-joint la nouvelle version faite sur le mac.
Merci d'avance pour votre aide
Salutations
mparchet
Le 21.11.13 08:25, rouabah mebrouk a écrit :
Oui, mais ce n'est pas un problème grave, tu devrais changer le numéro
de votre module ($this->numero = 50300) parce qu'il est en conflit
acec un autre et le tour est joué.
Prière me tenir informé dés que c'est fait.
Slt.
*/Wide Net Show/*
*/Fax: +213.35.68.39.30/*
*/Mob: +213.5.50.53.68.30/*
*/ +213.7.70.57.83.06/*
--------------------------------------
*M.ROUABAH *: *General Manager
*Web*:widenetshow.com
Forum:forum.widenetshow.com
Email:roua...@widenetshow.com
*--------------------------------------
------------------------------------------------------------------------
Date: Wed, 20 Nov 2013 23:05:54 +0100
From: mparc...@sunrise.ch
To: m_roua...@hotmail.com; dolibarr-dev@nongnu.org
Subject: Re: [Dolibarr-dev] module non reconnu
Bonjour,
Désolé mais je vous ai répondu trop vite. En effet, le module
s'affichait bien dans la page configuration -> modules de dolibarr
mais quand j'ai essayé d'activer le module en me disant que de toute
manière il ne faisait rien pour le moment j'ai obtenu une page blanche
mais depuis, la liste des modules ne s'affiche plus, même si le module
n'est plus installé. J'ai déjà obtenu ce comportement lorsqu'il y
avait une erreur dans un module. J'ai tenté de supprimer et de
réinstaller dolibarr sans oublier de restaurer ma base de donnée avec
phpmyadmin mais rien n'y fait.
En vous remerciant par avance pour votre aide, je vous adresse mes
meilleures salutations
mparchet
Le 18. 11. 13 19:19, rouabah mebrouk a écrit :
Tant mieux pour vous et toujours à votre service
*/Wide Net Show/*
*/Fax: +213.35.68.39.30/*
*/Mob: +213.5.50.53.68.30/*
*/ +213.7.70.57.83.06/*
--------------------------------------
*M.ROUABAH *: *General Manager
*Web*:widenetshow.com
Forum:forum.widenetshow.com
Email:roua...@widenetshow.com
*--------------------------------------
------------------------------------------------------------------------
Date: Mon, 18 Nov 2013 18:10:56 +0100
From: mparc...@sunrise.ch <mailto:mparc...@sunrise.ch>
To: m_roua...@hotmail.com <mailto:m_roua...@hotmail.com>
Subject: Re: FW: [Dolibarr-dev] module non reconnu
Bonjour.
Merci d'avoir corrigé mon code. Le module apparaît maintenant.
J'ai sauvegardé votre fichier d'abord sous un autre nom afin de
pouvoir créer un fichier .diff pour comparaison.
J'ai ensuite renommé correctement votre fichier et placer les
fichiers de comparaison ailleurs.
Merci encore infiniment.
Salutations
mparchet
Le 18. 11. 13 09:15, rouabah mebrouk a écrit :
*/Wide Net Show/*
*/Fax: +213.35.68.39.30/*
*/Mob: +213.5.50.53.68.30/*
*/+213.7.70.57.83.06/*
--------------------------------------
*M.ROUABAH *: *General Manager
*Web*:widenetshow.com
Forum:forum.widenetshow.com
Email:roua...@widenetshow.com
*--------------------------------------
------------------------------------------------------------------------
From: m_roua...@hotmail.com <mailto:m_roua...@hotmail.com>
To: dolibarr-dev@nongnu.org <mailto:dolibarr-dev@nongnu.org>
Subject: RE: [Dolibarr-dev] module non reconnu
Date: Mon, 18 Nov 2013 08:12:47 +0000
Bonjour Cher Ami,
Je ne sais pas si tu as réglé ton problème ou non.
j'ai de toutes façons traité ton module et j'ai effectué
quelques corrections pour que ça fonctionne.
donc tout est Ok. Vous pouvez récupérer votre fichier en
pièces jointes
Meilleures Salutation... *A La Prochaine.*
*/Wide Net Show/*
*/Fax: +213.35.68.39.30/*
*/Mob: +213.5.50.53.68.30/*
*/+213.7.70.57.83.06/*
--------------------------------------
*M.ROUABAH *: *General Manager
*Web*:widenetshow.com
Forum:forum.widenetshow.com
Email:roua...@widenetshow.com
*--------------------------------------
Date: Sun, 17 Nov 2013 22:10:26 +0100
From: mparc...@sunrise.ch <mailto:mparc...@sunrise.ch>
To: dolibarr-dev@nongnu.org <mailto:dolibarr-dev@nongnu.org>
Subject: [Dolibarr-dev] module non reconnu
Bonjour,
Je tente de développer un module dont le seul but et de créer un lien
entre la table commande et agenda (actioncommon).
Malheureusement, il semble avoir un problème que je ne connais pas dans
mon descripteur de module. En conséquence le module ne s'affiche nulle
part.
Pourriez-vous SVP l'examiner ci-joint ?
Merci pour votre réponse
Salutations
mparchet
_______________________________________________ Dolibarr-dev
mailing list Dolibarr-dev@nongnu.org
<mailto:Dolibarr-dev@nongnu.org>
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
<?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodol...@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <e...@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.hous...@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \defgroup commandEventLinker Module commandEventLinker
* \brief Example of a module descriptor.
* Such a file must be copied into htdocs/commandEventLinker/core/modules directory.
* \file htdocs/commandEventLinker/core/modules/modcommandEventLinker.class.php
* \ingroup commandEventLinker
* \brief Description and activation file for module commandEventLinker
*/
//include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php';
include_once(DOL_DOCUMENT_ROOT .'/includes/modules/DolibarrModules.class.php');
/**
* Description and activation class for module commandEventLinker
*/
class modCommandEventLinker extends DolibarrModules
{
/**
* Constructor. Define names, constants, directories, boxes, permissions
*
* @param DoliDB $db Database handler
*/
function modCommandEventLinker($DB)
{
global $langs,$conf;
$this->db = $db;
// Id for module (must be unique).
// Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id).
$this->numero = 50300;
// Make a link with database
- $this->db = $DB ;
// Key text used to identify module (for permissions, menus, etc...)
$this->rights_class = 'commandEventLinker';
// Family can be 'crm','financial','hr','projects','products','ecm','technic','other'
// It is used to group modules in module setup page
$this->family = "other";
// 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));
//$this->name = preg_replace('/modCommandEventLinker/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 = "Lien entre les commandes et l'agenda";
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = '1.0';
// Key used in llx_const table to save module status enabled/disabled (where commandEventLinker is value of property name of module in uppercase)
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Where to store the module in setup page (0=common,1=interface,2=others,3=very specific)
$this->special = 0;
// Name of image file used for this module.
// If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue'
// If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module'
$this->picto='generic';
$this->triggers = 0;
// Defined all module parts (triggers, login, substitutions, menus, css, etc...)
// for default path (eg: /commandEventLinker/core/xxxxx) (0=disable, 1=enable)
// for specific path of parts (eg: /commandEventLinker/core/modules/barcode)
// for specific css file (eg: /commandEventLinker/css/commandEventLinker.css.php)
//$this->module_parts = array(
// 'triggers' => 0, // Set this to 1 if module has its own trigger directory (core/triggers)
// 'login' => 0, // Set this to 1 if module has its own login method directory (core/login)
// 'substitutions' => 0, // Set this to 1 if module has its own substitution function file (core/substitutions)
// 'menus' => 0, // Set this to 1 if module has its own menus handler directory (core/menus)
// 'theme' => 0, // Set this to 1 if module has its own theme directory (core/theme)
// 'tpl' => 0, // Set this to 1 if module overwrite template dir (core/tpl)
// 'barcode' => 0, // Set this to 1 if module has its own barcode directory (core/modules/barcode)
// 'models' => 0, // Set this to 1 if module has its own models directory (core/modules/xxx)
// 'css' => array('/commandEventLinker/css/commandEventLinker.css.php'), // Set this to relative path of css file if module has its own css file
// 'js' => array('/commandEventLinker/js/commandEventLinker.js'), // Set this to relative path of js file if module must load a js on all pages
// 'hooks' => array('hookcontext1','hookcontext2') // Set here all hooks context managed by module
// 'dir' => array('output' => 'othermodulename'), // To force the default directories names
// 'workflow' => array('WORKFLOW_MODULE1_YOURACTIONTYPE_MODULE2'=>array('enabled'=>'! empty($conf->module1->enabled) && ! empty($conf->module2->enabled)', 'picto'=>'yourpicto@commandEventLinker')) // Set here all workflow context managed by module
// );
$this->module_parts = array();
// Data directories to create when module is enabled.
// Example: this->dirs = array("/commandEventLinker/temp");
$this->dirs = array("commandEventLinker/temp");
// Config pages. Put here list of php page, stored into commandEventLinker/admin directory, to use to setup module.
$this->config_page_url = array();
// Dependencies
$this->depends = array(); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->phpmin = array(5,0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module
$this->langfiles = array();
// Constants
// List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive)
// Example: $this->const=array(0=>array('commandEventLinker_MYNEWCONST1','chaine','myvalue','This is a constant to add',1),
// 1=>array('commandEventLinker_MYNEWCONST2','chaine','myvalue','This is another constant to add',0, 'current', 1)
// );
$this->const = array();
// Array to add new pages in new tabs
// Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@commandEventLinker:$user->rights->commandEventLinker->read:/commandEventLinker/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1
// 'objecttype:+tabname2:Title2:mylangfile@commandEventLinker:$user->rights->othermodule->read:/commandEventLinker/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2
// 'objecttype:-tabname':NU:conditiontoremove); // To remove an existing tab identified by code tabname
// where objecttype can be
// 'thirdparty' to add a tab in third party view
// 'intervention' to add a tab in intervention view
// 'order_supplier' to add a tab in supplier order view
// 'invoice_supplier' to add a tab in supplier invoice view
// 'invoice' to add a tab in customer invoice view
// 'order' to add a tab in customer order view
// 'product' to add a tab in product view
// 'stock' to add a tab in stock view
// 'propal' to add a tab in propal view
// 'member' to add a tab in fundation member view
// 'contract' to add a tab in contract view
// 'user' to add a tab in user view
// 'group' to add a tab in group view
// 'contact' to add a tab in contact view
// 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
$this->tabs = array();
// Dictionnaries
if (! isset($conf->commandEventLinker->enabled))
{
$conf->commandEventLinker=new stdClass();
$conf->commandEventLinker->enabled=0;
}
$this->dictionnaries=array();
/* Example:
if (! isset($conf->commandEventLinker->enabled)) $conf->commandEventLinker->enabled=0; // This is to avoid warnings
$this->dictionnaries=array(
'langs'=>'mylangfile@commandEventLinker',
'tabname'=>array(MAIN_DB_PREFIX."table1",MAIN_DB_PREFIX."table2",MAIN_DB_PREFIX."table3"), // List of tables we want to see into dictonnary editor
'tablib'=>array("Table1","Table2","Table3"), // Label of tables
'tabsql'=>array('SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table1 as f','SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table2 as f','SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table3 as f'), // Request to select fields
'tabsqlsort'=>array("label ASC","label ASC","label ASC"), // Sort order
'tabfield'=>array("code,label","code,label","code,label"), // List of fields (result of select to show dictionnary)
'tabfieldvalue'=>array("code,label","code,label","code,label"), // List of fields (list of fields to edit a record)
'tabfieldinsert'=>array("code,label","code,label","code,label"), // List of fields (list of fields for insert)
'tabrowid'=>array("rowid","rowid","rowid"), // Name of columns with primary key (try to always name it 'rowid')
'tabcond'=>array($conf->commandEventLinker->enabled,$conf->commandEventLinker->enabled,$conf->commandEventLinker->enabled) // Condition to show each dictionnary
);
*/
// Boxes
// Add here list of php file(s) stored in core/boxes that contains class to show a box.
$this->boxes = array(); // List of boxes
// Example:
//$this->boxes=array(array(0=>array('file'=>'myboxa.php','note'=>'','enabledbydefaulton'=>'Home'),1=>array('file'=>'myboxb.php','note'=>''),2=>array('file'=>'myboxc.php','note'=>'')););
// Permissions
$this->rights = array(); // Permission array used by this module
$r=0;
// Add here list of permission defined by an id, a label, a boolean and two constant strings.
// Example:
// $this->rights[$r][0] = 2000; // Permission id (must not be already used)
// $this->rights[$r][1] = 'Permision label'; // Permission label
// $this->rights[$r][3] = 1; // Permission by default for new user (0/1)
// $this->rights[$r][4] = 'level1'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
// $this->rights[$r][5] = 'level2'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
// $r++;
// Main menu entries
$this->menu = array(); // List of menus to add
$r=0;
// Add here entries to declare new menus
//
// Example to declare a new Top Menu entry and its Left menu entry:
// $this->menu[$r]=array( 'fk_menu'=>0, // Put 0 if this is a top menu
// 'type'=>'top', // This is a Top menu entry
// 'titre'=>'commandEventLinker top menu',
// 'mainmenu'=>'commandEventLinker',
// 'leftmenu'=>'commandEventLinker',
// 'url'=>'/commandEventLinker/pagetop.php',
// 'langs'=>'mylangfile@commandEventLinker', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
// 'position'=>100,
// 'enabled'=>'$conf->commandEventLinker->enabled', // Define condition to show or hide menu entry. Use '$conf->commandEventLinker->enabled' if entry must be visible if module is enabled.
// 'perms'=>'1', // Use 'perms'=>'$user->rights->commandEventLinker->level1->level2' if you want your menu with a permission rules
// 'target'=>'',
// 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
// $r++;
//
// Example to declare a Left Menu entry into an existing Top menu entry:
// $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=xxx', // Use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
// 'type'=>'left', // This is a Left menu entry
// 'titre'=>'commandEventLinker left menu',
// 'mainmenu'=>'xxx',
// 'leftmenu'=>'commandEventLinker',
// 'url'=>'/commandEventLinker/pagelevel2.php',
// 'langs'=>'mylangfile@commandEventLinker', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
// 'position'=>100,
// 'enabled'=>'$conf->commandEventLinker->enabled', // Define condition to show or hide menu entry. Use '$conf->commandEventLinker->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
// 'perms'=>'1', // Use 'perms'=>'$user->rights->commandEventLinker->level1->level2' if you want your menu with a permission rules
// 'target'=>'',
// 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
// $r++;
// Exports
$r=1;
// Example:
// $this->export_code[$r]=$this->rights_class.'_'.$r;
// $this->export_label[$r]='CustomersInvoicesAndInvoiceLines'; // Translation key (used only if key ExportDataset_xxx_z not found)
// $this->export_enabled[$r]='1'; // Condition to show export in list (ie: '$user->id==3'). Set to 1 to always show when module is enabled.
// $this->export_permission[$r]=array(array("facture","facture","export"));
// $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','s.fk_pays'=>'Country','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.price'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalTVA",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef');
// $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','s.fk_pays'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.price'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.fk_product'=>'product','p.ref'=>'product');
// $this->export_sql_start[$r]='SELECT DISTINCT ';
// $this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'facture as f, '.MAIN_DB_PREFIX.'facturedet as fd, '.MAIN_DB_PREFIX.'societe as s)';
// $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product as p on (fd.fk_product = p.rowid)';
// $this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_facture';
// $this->export_sql_order[$r] .=' ORDER BY s.nom';
// $r++;
}
/**
* Function called when module is enabled.
* The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database.
* It also creates data directories
*
* @param string $options Options when enabling module ('', 'noboxes')
* @return int 1 if OK, 0 if KO
*/
function init($options='')
{
$sql = array();
$result=$this->load_tables();
return $this->_init($sql, $options);
}
/**
* Function called when module is disabled.
* Remove from database constants, boxes and permissions from Dolibarr database.
* Data directories are not deleted
*
* @param string $options Options when enabling module ('', 'noboxes')
* @return int 1 if OK, 0 if KO
*/
function remove($options='')
{
$sql = array();
return $this->_remove($sql, $options);
}
/**
* Create tables, keys and data required by module
* Files llx_table1.sql, llx_table1.key.sql llx_data.sql with create table, create keys
* and create data commands must be stored in directory /commandEventLinker/sql/
* This function is called by this->init
*
* @return int <=0 if KO, >0 if OK
*/
function load_tables()
{
return $this->_load_tables('/commandEventLinker/sql/');
}
}
?>
_______________________________________________
Dolibarr-dev mailing list
Dolibarr-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev