From dd71fdc82f26f88c202f86040baf20c753e4cc3d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 8 May 2017 21:00:23 +0200 Subject: [PATCH] Work on modulebuilder template --- htdocs/langs/en_US/modulebuilder.lang | 4 +- htdocs/modulebuilder/index.php | 62 +- htdocs/modulebuilder/template/.editorconfig | 19 + htdocs/modulebuilder/template/.gitattributes | 23 + htdocs/modulebuilder/template/.gitignore | 16 + htdocs/modulebuilder/template/.tx/config | 9 + htdocs/modulebuilder/template/COPYING | 621 +++++ htdocs/modulebuilder/template/README.md | 221 ++ htdocs/modulebuilder/template/admin/about.php | 94 + htdocs/modulebuilder/template/admin/setup.php | 79 + .../template/build/doxygen/mymodule.doxyfile | 2419 +++++++++++++++++ .../template/build/makepack-dolibarrmodule.pl | 388 +++ .../template/build/makepack-mymodule.conf | 26 + .../template/class/MyTrigger.php | 51 + .../template/class/ParsedownDolibarr.php | 48 + .../template/class/actions_mymodule.class.php | 85 + .../template/class/myclass.class.php | 361 +++ .../template/core/boxes/mybox.php | 195 ++ .../core/modules/modMyModule.class.php | 719 +++++ .../template/core/tpl/mytemplate.tpl.php | 28 + ...terface_99_modMyModule_MyTrigger.class.php | 580 ++++ .../modulebuilder/template/css/mycss.css.php | 27 + .../template/dev/codesniffer/DolibarrPSR2.xml | 12 + .../template/dev/dolistore/README.md | 87 + .../template/dev/dolistore/keywords-de.txt | 0 .../template/dev/dolistore/keywords-en.txt | 0 .../template/dev/dolistore/keywords-es.txt | 0 .../template/dev/dolistore/keywords-fr.txt | 0 .../template/dev/dolistore/keywords-it.txt | 0 .../template/dev/dolistore/long_desc-de.html | 0 .../template/dev/dolistore/long_desc-en.html | 0 .../template/dev/dolistore/long_desc-es.html | 0 .../template/dev/dolistore/long_desc-fr.html | 0 .../template/dev/dolistore/long_desc-it.html | 0 .../template/dev/dolistore/name-de.txt | 1 + .../template/dev/dolistore/name-en.txt | 1 + .../template/dev/dolistore/name-es.txt | 1 + .../template/dev/dolistore/name-fr.txt | 1 + .../template/dev/dolistore/name-it.txt | 1 + .../template/dev/dolistore/short_desc-de.html | 0 .../template/dev/dolistore/short_desc-en.html | 0 .../template/dev/dolistore/short_desc-es.html | 0 .../template/dev/dolistore/short_desc-fr.html | 0 .../template/dev/dolistore/short_desc-it.html | 0 .../template/dev/git-hooks/post-commit | 2 + .../template/dev/git-hooks/pre-commit | 2 + .../template/dev/git-hooks/pre-push | 2 + .../modulebuilder/template/dev/img/README.md | 53 + .../template/dev/img/gfdl-129x44.png | Bin 0 -> 4709 bytes .../template/dev/img/gfdl-66x23.png | Bin 0 -> 2453 bytes .../template/dev/img/gfdl-logo.svg | 110 + .../template/dev/img/gpl-v3-logo.svg | 389 +++ .../template/dev/img/gplv3-127x51.png | Bin 0 -> 3471 bytes .../template/dev/img/gplv3-88x31.png | Bin 0 -> 2666 bytes .../template/dev/img/mymodule.svg | 70 + .../modulebuilder/template/dev/newmodule.sh | 68 + .../modulebuilder/template/doc/user/Makefile | 225 ++ .../modulebuilder/template/doc/user/make.bat | 281 ++ .../template/doc/user/source/conf.py | 428 +++ .../template/doc/user/source/index.rst | 22 + htdocs/modulebuilder/template/img/gfdl.png | Bin 0 -> 4709 bytes htdocs/modulebuilder/template/img/gplv3.png | Bin 0 -> 2666 bytes .../modulebuilder/template/img/mymodule.png | Bin 0 -> 683 bytes .../template/img/object_mymodule.png | Bin 0 -> 360 bytes htdocs/modulebuilder/template/js/myjs.js.php | 27 + .../template/langs/en_US/mymodule.lang | 51 + .../template/langs/fr_FR/mymodule.lang | 51 + .../template/lib/mymodule.lib.php | 61 + htdocs/modulebuilder/template/mypage.php | 135 + htdocs/modulebuilder/template/phpdoc.dist.xml | 30 + .../template/scripts/myscript.php | 203 ++ htdocs/modulebuilder/template/sql/data.sql | 19 + .../template/sql/llx_mytable.key.sql | 17 + .../template/sql/llx_mytable.sql | 22 + .../template/sql/update_x.x.x-y.y.y.sql | 15 + .../functional/MyModuleFunctionalTest.php | 291 ++ .../template/test/unit/MyClassTest.php | 104 + htdocs/theme/eldy/style.css.php | 5 +- 78 files changed, 8853 insertions(+), 9 deletions(-) create mode 100644 htdocs/modulebuilder/template/.editorconfig create mode 100644 htdocs/modulebuilder/template/.gitattributes create mode 100644 htdocs/modulebuilder/template/.gitignore create mode 100644 htdocs/modulebuilder/template/.tx/config create mode 100644 htdocs/modulebuilder/template/COPYING create mode 100644 htdocs/modulebuilder/template/README.md create mode 100644 htdocs/modulebuilder/template/admin/about.php create mode 100644 htdocs/modulebuilder/template/admin/setup.php create mode 100644 htdocs/modulebuilder/template/build/doxygen/mymodule.doxyfile create mode 100644 htdocs/modulebuilder/template/build/makepack-dolibarrmodule.pl create mode 100644 htdocs/modulebuilder/template/build/makepack-mymodule.conf create mode 100644 htdocs/modulebuilder/template/class/MyTrigger.php create mode 100644 htdocs/modulebuilder/template/class/ParsedownDolibarr.php create mode 100644 htdocs/modulebuilder/template/class/actions_mymodule.class.php create mode 100644 htdocs/modulebuilder/template/class/myclass.class.php create mode 100644 htdocs/modulebuilder/template/core/boxes/mybox.php create mode 100644 htdocs/modulebuilder/template/core/modules/modMyModule.class.php create mode 100644 htdocs/modulebuilder/template/core/tpl/mytemplate.tpl.php create mode 100644 htdocs/modulebuilder/template/core/triggers/interface_99_modMyModule_MyTrigger.class.php create mode 100644 htdocs/modulebuilder/template/css/mycss.css.php create mode 100644 htdocs/modulebuilder/template/dev/codesniffer/DolibarrPSR2.xml create mode 100644 htdocs/modulebuilder/template/dev/dolistore/README.md create mode 100644 htdocs/modulebuilder/template/dev/dolistore/keywords-de.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/keywords-en.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/keywords-es.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/keywords-fr.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/keywords-it.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/long_desc-de.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/long_desc-en.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/long_desc-es.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/long_desc-fr.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/long_desc-it.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/name-de.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/name-en.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/name-es.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/name-fr.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/name-it.txt create mode 100644 htdocs/modulebuilder/template/dev/dolistore/short_desc-de.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/short_desc-en.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/short_desc-es.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/short_desc-fr.html create mode 100644 htdocs/modulebuilder/template/dev/dolistore/short_desc-it.html create mode 100644 htdocs/modulebuilder/template/dev/git-hooks/post-commit create mode 100644 htdocs/modulebuilder/template/dev/git-hooks/pre-commit create mode 100644 htdocs/modulebuilder/template/dev/git-hooks/pre-push create mode 100644 htdocs/modulebuilder/template/dev/img/README.md create mode 100644 htdocs/modulebuilder/template/dev/img/gfdl-129x44.png create mode 100644 htdocs/modulebuilder/template/dev/img/gfdl-66x23.png create mode 100644 htdocs/modulebuilder/template/dev/img/gfdl-logo.svg create mode 100644 htdocs/modulebuilder/template/dev/img/gpl-v3-logo.svg create mode 100644 htdocs/modulebuilder/template/dev/img/gplv3-127x51.png create mode 100644 htdocs/modulebuilder/template/dev/img/gplv3-88x31.png create mode 100644 htdocs/modulebuilder/template/dev/img/mymodule.svg create mode 100644 htdocs/modulebuilder/template/dev/newmodule.sh create mode 100644 htdocs/modulebuilder/template/doc/user/Makefile create mode 100644 htdocs/modulebuilder/template/doc/user/make.bat create mode 100644 htdocs/modulebuilder/template/doc/user/source/conf.py create mode 100644 htdocs/modulebuilder/template/doc/user/source/index.rst create mode 100644 htdocs/modulebuilder/template/img/gfdl.png create mode 100644 htdocs/modulebuilder/template/img/gplv3.png create mode 100644 htdocs/modulebuilder/template/img/mymodule.png create mode 100644 htdocs/modulebuilder/template/img/object_mymodule.png create mode 100644 htdocs/modulebuilder/template/js/myjs.js.php create mode 100644 htdocs/modulebuilder/template/langs/en_US/mymodule.lang create mode 100644 htdocs/modulebuilder/template/langs/fr_FR/mymodule.lang create mode 100644 htdocs/modulebuilder/template/lib/mymodule.lib.php create mode 100644 htdocs/modulebuilder/template/mypage.php create mode 100644 htdocs/modulebuilder/template/phpdoc.dist.xml create mode 100644 htdocs/modulebuilder/template/scripts/myscript.php create mode 100644 htdocs/modulebuilder/template/sql/data.sql create mode 100644 htdocs/modulebuilder/template/sql/llx_mytable.key.sql create mode 100644 htdocs/modulebuilder/template/sql/llx_mytable.sql create mode 100644 htdocs/modulebuilder/template/sql/update_x.x.x-y.y.y.sql create mode 100644 htdocs/modulebuilder/template/test/functional/MyModuleFunctionalTest.php create mode 100644 htdocs/modulebuilder/template/test/unit/MyClassTest.php diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index 9979760bc4f..ef86062bbd0 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -1,2 +1,4 @@ # Dolibarr language file - Source file is en_US - loan -ModuleBuilderDesc=This tools give you utilites to build your own module. Your modules will be generated into the first alternative directory: %s. +ModuleBuilderDesc=This tools give you utilites to build your own module. +ModuleBuilderDesc2=Path were modules are generated (first alternative directory defined into %s): %s. +They are detected when the file %s exists in root of module directory. diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index 182268a5f06..38339d643c1 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2010 Laurent Destailleur + * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2005-2010 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -29,9 +29,43 @@ $langs->load("admin"); $langs->load("modulebuilder"); $langs->load("other"); +$action=GETPOST('action','alpha'); +$confirm=GETPOST('confirm','alpha'); + // Security check if (! $user->admin && empty($conf->global->MODULEBUILDER_FOREVERYONE)) accessforbidden('ModuleBuilderNotAllowed'); +$modulename=dol_sanitizeFileName(GETPOST('modulename','alpha')); + +// Dir for custom dirs +$tmp=explode(',', $dolibarr_main_document_root_alt); +$dircustom = $tmp[0]; + + + +/* + * Actions + */ + +if ($dircustom && $action == 'initmodule' && $modulename) +{ + $srcfile = DOL_DOCUMENT_ROOT.'/modulebuilder/skeletons'; + $destfile = $dircustom.'/'.$modulename; + //$result = dolCopyDir($srcfile, $destfile, 0, 0); + + dol_mkdir($destfile); + + fopen($destfile, $mode) + + if ($result > 0) + { + setEventMessages('ModuleInitialized', null); + } + else + { + setEventMessages($langs->trans("ErrorFailedToCopyDir"), null, 'errors'); + } +} /* @@ -48,14 +82,24 @@ $text=$langs->trans("ModuleBuilder"); print load_fiche_titre($text, '', 'title_setup'); -$tmp=explode(',', $dolibarr_main_document_root_alt); -$dircustom = $tmp[0]; - // Show description of content -print $langs->trans("ModuleBuilderDesc", $dircustom).'

'; +print $langs->trans("ModuleBuilderDesc").'
'; +print $langs->trans("ModuleBuilderDesc2", 'conf/conf.php', $dircustom).'
'; +print '
'; +// New module +print '
'; +print '
'; +print ''; +print ''; +print ''; +print ''; +print '
'; +print '
'; + +$listofmodules=array(); /* if (!empty($conf->modulebuilder->enabled) && $mainmenu == 'modulebuilder') // Entry for Module builder { @@ -73,7 +117,7 @@ if (!empty($conf->modulebuilder->enabled) && $mainmenu == 'modulebuilder') // En $fullname = $dircustom['fullname']; if (dol_is_file($fullname.'/modulebuilder.txt')) { - print '
'.$module.'
'; + $listofmodules[$module]=$fullname; } } } @@ -84,7 +128,11 @@ if (!empty($conf->modulebuilder->enabled) && $mainmenu == 'modulebuilder') // En $newmenu->add('', 'NoGeneratedModuleFound', 0, 0); }*/ - +foreach($listofmodules as $modules => $fullname) +{ + print '