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

Répondre à