Debug module builder
This commit is contained in:
parent
bd066b3211
commit
5d7b6c4f80
@ -401,27 +401,29 @@ if ($dirins && in_array($action, array('initapi', 'initphpunit', 'initpagecontac
|
|||||||
$modulename = ucfirst($module); // Force first letter in uppercase
|
$modulename = ucfirst($module); // Force first letter in uppercase
|
||||||
$objectname = $tabobj;
|
$objectname = $tabobj;
|
||||||
$varnametoupdate = '';
|
$varnametoupdate = '';
|
||||||
|
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
||||||
|
$destdir = $dirins.'/'.strtolower($module);
|
||||||
|
|
||||||
|
// Get list of existing objects
|
||||||
|
$objects = array();
|
||||||
|
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
||||||
|
foreach ($listofobject as $fileobj) {
|
||||||
|
if (preg_match('/^api_/', $fileobj['name'])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (preg_match('/^actions_/', $fileobj['name'])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmpcontent = file_get_contents($fileobj['fullname']);
|
||||||
|
$reg = array();
|
||||||
|
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
||||||
|
$objectnameloop = $reg[1];
|
||||||
|
$objects[$fileobj['fullname']] = $objectnameloop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($action == 'initapi') {
|
if ($action == 'initapi') {
|
||||||
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
|
||||||
$destdir = $dirins.'/'.strtolower($module);
|
|
||||||
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
|
||||||
$objects = array();
|
|
||||||
foreach ($listofobject as $fileobj) {
|
|
||||||
if (preg_match('/^api_/', $fileobj['name'])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (preg_match('/^actions_/', $fileobj['name'])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$tmpcontent = file_get_contents($fileobj['fullname']);
|
|
||||||
$reg = array();
|
|
||||||
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
|
||||||
$objectnameloop = $reg[1];
|
|
||||||
$objects[] = $objectnameloop;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (file_exists($dirins.'/'.strtolower($module).'/class/api_'.strtolower($module).'.class.php')) {
|
if (file_exists($dirins.'/'.strtolower($module).'/class/api_'.strtolower($module).'.class.php')) {
|
||||||
$result = dol_copy(DOL_DOCUMENT_ROOT.'/modulebuilder/template/class/api_mymodule.class.php', $dirins.'/'.strtolower($module).'/class/api_'.strtolower($module).'.class.php', 0, 1);
|
$result = dol_copy(DOL_DOCUMENT_ROOT.'/modulebuilder/template/class/api_mymodule.class.php', $dirins.'/'.strtolower($module).'/class/api_'.strtolower($module).'.class.php', 0, 1);
|
||||||
}
|
}
|
||||||
@ -482,6 +484,7 @@ if ($dirins && in_array($action, array('initapi', 'initphpunit', 'initpagecontac
|
|||||||
'MYOBJECT'=>strtoupper($objectname),
|
'MYOBJECT'=>strtoupper($objectname),
|
||||||
'---Put here your own copyright and developer email---'=>dol_print_date($now, '%Y').' '.$user->getFullName($langs).($user->email ? ' <'.$user->email.'>' : '')
|
'---Put here your own copyright and developer email---'=>dol_print_date($now, '%Y').' '.$user->getFullName($langs).($user->email ? ' <'.$user->email.'>' : '')
|
||||||
);
|
);
|
||||||
|
|
||||||
if (count($objects) > 1) {
|
if (count($objects) > 1) {
|
||||||
$file = $destfile;
|
$file = $destfile;
|
||||||
$content = file($file);
|
$content = file($file);
|
||||||
@ -927,14 +930,15 @@ if ($dirins && $action == 'addlanguage' && !empty($module)) {
|
|||||||
// Remove/delete File
|
// Remove/delete File
|
||||||
if ($dirins && $action == 'confirm_removefile' && !empty($module)) {
|
if ($dirins && $action == 'confirm_removefile' && !empty($module)) {
|
||||||
$objectname = $tabobj;
|
$objectname = $tabobj;
|
||||||
|
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
||||||
|
$destdir = $dirins.'/'.strtolower($module);
|
||||||
|
|
||||||
$relativefilename = dol_sanitizePathName(GETPOST('file', 'restricthtml'));
|
$relativefilename = dol_sanitizePathName(GETPOST('file', 'restricthtml'));
|
||||||
|
|
||||||
// Scan dir class to detect all classes of module $module and save them into $objects[]
|
// Get list of existing objects
|
||||||
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
// TODO ALI This part of code is common at several places and is autonomous. So replace it with $objects = dolGetListOfObjectclasses($destdir);
|
||||||
$destdir = $dirins.'/'.strtolower($module);
|
|
||||||
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
|
||||||
$objects = array();
|
$objects = array();
|
||||||
|
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
||||||
foreach ($listofobject as $fileobj) {
|
foreach ($listofobject as $fileobj) {
|
||||||
if (preg_match('/^api_/', $fileobj['name'])) {
|
if (preg_match('/^api_/', $fileobj['name'])) {
|
||||||
continue;
|
continue;
|
||||||
@ -942,11 +946,12 @@ if ($dirins && $action == 'confirm_removefile' && !empty($module)) {
|
|||||||
if (preg_match('/^actions_/', $fileobj['name'])) {
|
if (preg_match('/^actions_/', $fileobj['name'])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$tmpcontent = file_get_contents($fileobj['fullname']);
|
$tmpcontent = file_get_contents($fileobj['fullname']);
|
||||||
$reg = array();
|
$reg = array();
|
||||||
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
||||||
$objectnameloop = $reg[1];
|
$objectnameloop = $reg[1];
|
||||||
$objects[] = $objectnameloop;
|
$objects[$fileobj['fullname']] = $objectnameloop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2642,6 +2647,8 @@ if ($dirins && $action == 'addmenu' && empty($cancel)) {
|
|||||||
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
||||||
$destdir = $dirins.'/'.strtolower($module);
|
$destdir = $dirins.'/'.strtolower($module);
|
||||||
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
||||||
|
|
||||||
|
// Get list of existing objets
|
||||||
$objects = array();
|
$objects = array();
|
||||||
foreach ($listofobject as $fileobj) {
|
foreach ($listofobject as $fileobj) {
|
||||||
if (preg_match('/^api_/', $fileobj['name'])) {
|
if (preg_match('/^api_/', $fileobj['name'])) {
|
||||||
@ -2655,7 +2662,7 @@ if ($dirins && $action == 'addmenu' && empty($cancel)) {
|
|||||||
$reg = array();
|
$reg = array();
|
||||||
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
||||||
$objectnameloop = $reg[1];
|
$objectnameloop = $reg[1];
|
||||||
$objects[] = $objectnameloop;
|
$objects[$fileobj['fullname']] = $objectnameloop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4598,6 +4605,8 @@ if ($module == 'initmodule') {
|
|||||||
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
$dirins = $listofmodules[strtolower($module)]['moduledescriptorrootpath'];
|
||||||
$destdir = $dirins.'/'.strtolower($module);
|
$destdir = $dirins.'/'.strtolower($module);
|
||||||
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
$listofobject = dol_dir_list($destdir.'/class', 'files', 0, '\.class\.php$');
|
||||||
|
|
||||||
|
// Get list of existing objects
|
||||||
$objects = array();
|
$objects = array();
|
||||||
foreach ($listofobject as $fileobj) {
|
foreach ($listofobject as $fileobj) {
|
||||||
if (preg_match('/^api_/', $fileobj['name'])) {
|
if (preg_match('/^api_/', $fileobj['name'])) {
|
||||||
@ -4611,7 +4620,7 @@ if ($module == 'initmodule') {
|
|||||||
$reg = array();
|
$reg = array();
|
||||||
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
||||||
$objectnameloop = $reg[1];
|
$objectnameloop = $reg[1];
|
||||||
$objects[] = $objectnameloop;
|
$objects[$fileobj['fullname']] = $objectnameloop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$menus = $moduleobj->menu;
|
$menus = $moduleobj->menu;
|
||||||
@ -4857,7 +4866,7 @@ if ($module == 'initmodule') {
|
|||||||
|
|
||||||
$perms = $moduleobj->rights;
|
$perms = $moduleobj->rights;
|
||||||
|
|
||||||
// Scan for object class files
|
// Get list of existing objects
|
||||||
$dir = $dirread.'/'.$modulelowercase.'/class';
|
$dir = $dirread.'/'.$modulelowercase.'/class';
|
||||||
$listofobject = dol_dir_list($dir, 'files', 0, '\.class\.php$');
|
$listofobject = dol_dir_list($dir, 'files', 0, '\.class\.php$');
|
||||||
$objects = array('myobject');
|
$objects = array('myobject');
|
||||||
@ -4865,9 +4874,10 @@ if ($module == 'initmodule') {
|
|||||||
foreach ($listofobject as $fileobj) {
|
foreach ($listofobject as $fileobj) {
|
||||||
$tmpcontent = file_get_contents($fileobj['fullname']);
|
$tmpcontent = file_get_contents($fileobj['fullname']);
|
||||||
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) {
|
||||||
$objects[] = $reg[1];
|
$objects[$fileobj['fullname']] = $reg[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// declared select list for actions and labels permissions
|
// declared select list for actions and labels permissions
|
||||||
$crud = array('read'=>'CRUDRead', 'write'=>'CRUDCreateWrite', 'delete'=>'Delete');
|
$crud = array('read'=>'CRUDRead', 'write'=>'CRUDCreateWrite', 'delete'=>'Delete');
|
||||||
$labels = array("Read objects of ".$module, "Create/Update objects of ".$module, "Delete objects of ".$module);
|
$labels = array("Read objects of ".$module, "Create/Update objects of ".$module, "Delete objects of ".$module);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user