コード例 #1
0
 public function tearDown()
 {
     SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
     unset($GLOBALS['current_user']);
     require_once 'ModuleInstall/ModuleInstaller.php';
     $moduleInstaller = new ModuleInstaller();
     $moduleInstaller->silent = true;
     // make sure that the ModuleInstaller->log() function doesn't echo while rebuilding the layoutdefs
     $moduleInstaller->rebuild_layoutdefs();
 }
コード例 #2
0
ファイル: SubPanel.php プロジェクト: recci/SuiteCRM
 function saveSubPanelDefOverride($panel, $subsection, $override)
 {
     global $layout_defs, $beanList;
     //save the new subpanel
     $name = "subpanel_layout['list_fields']";
     //bugfix: load looks for moduleName/metadata/subpanels, not moduleName/subpanels
     $path = 'custom/modules/' . $panel->_instance_properties['module'] . '/metadata/subpanels';
     //bug# 40171: "Custom subpanels not working as expected"
     //each custom subpanel needs to have a unique custom def file
     $filename = $panel->parent_bean->object_name . "_subpanel_" . $panel->name;
     //bug 42262 (filename with $panel->_instance_properties['get_subpanel_data'] can create problem if had word "function" in it)
     $oldName1 = '_override' . $panel->parent_bean->object_name . $panel->_instance_properties['module'] . $panel->_instance_properties['subpanel_name'];
     $oldName2 = '_override' . $panel->parent_bean->object_name . $panel->_instance_properties['get_subpanel_data'];
     if (file_exists('custom/Extension/modules/' . $panel->parent_bean->module_dir . "/Ext/Layoutdefs/{$oldName1}.php")) {
         unlink('custom/Extension/modules/' . $panel->parent_bean->module_dir . "/Ext/Layoutdefs/{$oldName1}.php");
     }
     if (file_exists('custom/Extension/modules/' . $panel->parent_bean->module_dir . "/Ext/Layoutdefs/{$oldName2}.php")) {
         unlink('custom/Extension/modules/' . $panel->parent_bean->module_dir . "/Ext/Layoutdefs/{$oldName2}.php");
     }
     $extname = '_override' . $filename;
     //end of bug# 40171
     mkdir_recursive($path, true);
     write_array_to_file($name, $override, $path . '/' . $filename . '.php');
     //save the override for the layoutdef
     //tyoung 10.12.07 pushed panel->name to lowercase to match case in subpaneldefs.php files -
     //gave error on bad index 'module' as this override key didn't match the key in the subpaneldefs
     $name = "layout_defs['" . $panel->parent_bean->module_dir . "']['subpanel_setup']['" . strtolower($panel->name) . "']";
     //  	$GLOBALS['log']->debug('SubPanel.php->saveSubPanelDefOverride(): '.$name);
     $newValue = override_value_to_string($name, 'override_subpanel_name', $filename);
     mkdir_recursive('custom/Extension/modules/' . $panel->parent_bean->module_dir . '/Ext/Layoutdefs', true);
     $fp = sugar_fopen('custom/Extension/modules/' . $panel->parent_bean->module_dir . "/Ext/Layoutdefs/{$extname}.php", 'w');
     fwrite($fp, "<?php\n//auto-generated file DO NOT EDIT\n{$newValue}\n?>");
     fclose($fp);
     require_once 'ModuleInstall/ModuleInstaller.php';
     $moduleInstaller = new ModuleInstaller();
     $moduleInstaller->silent = true;
     // make sure that the ModuleInstaller->log() function doesn't echo while rebuilding the layoutdefs
     $moduleInstaller->rebuild_layoutdefs();
     if (file_exists('modules/' . $panel->parent_bean->module_dir . '/layout_defs.php')) {
         include 'modules/' . $panel->parent_bean->module_dir . '/layout_defs.php';
     }
     if (file_exists('custom/modules/' . $panel->parent_bean->module_dir . '/Ext/Layoutdefs/layoutdefs.ext.php')) {
         include 'custom/modules/' . $panel->parent_bean->module_dir . '/Ext/Layoutdefs/layoutdefs.ext.php';
     }
 }
コード例 #3
0
 /**
  * Rebuild extension cache for updated modules.
  * Need for covering class by test.
  * @param array $modules
  */
 protected function rebuildExtensions($modules)
 {
     if (!empty($modules)) {
         $mi = new ModuleInstaller();
         $mi->modules = $modules;
         $mi->rebuild_layoutdefs();
     }
 }
コード例 #4
0
 function saveSubPanelDefOverride($panel, $subsection, $override)
 {
     global $layout_defs, $beanList;
     //save the new subpanel
     $name = "subpanel_layout['list_fields']";
     $path = 'custom/modules/' . $panel->_instance_properties['module'] . '/subpanels';
     $filename = $panel->parent_bean->object_name . $panel->_instance_properties['subpanel_name'];
     $extname = $panel->parent_bean->object_name . $panel->_instance_properties['module'] . $panel->_instance_properties['subpanel_name'];
     mkdir_recursive('custom/modules/' . $panel->_instance_properties['module'] . '/subpanels', true);
     write_array_to_file($name, $override, $path . '/' . $filename . '.php');
     //save the override for the layoutdef
     $name = "layout_defs['" . $panel->parent_bean->module_dir . "']['subpanel_setup']['" . $panel->name . "']";
     $newValue = override_value_to_string($name, 'override_subpanel_name', $filename);
     mkdir_recursive('custom/Extension/modules/' . $panel->parent_bean->module_dir . '/Ext/Layoutdefs', true);
     $fp = fopen('custom/Extension/modules/' . $panel->parent_bean->module_dir . "/Ext/Layoutdefs/{$extname}.php", 'w');
     fwrite($fp, "<?php\n//auto-generated file DO NOT EDIT\n{$newValue}\n?>");
     fclose($fp);
     require_once 'ModuleInstall/ModuleInstaller.php';
     $moduleInstaller = new ModuleInstaller();
     $moduleInstaller->rebuild_layoutdefs();
     include 'modules/' . $panel->parent_bean->module_dir . '/layout_defs.php';
     include 'custom/modules/' . $panel->parent_bean->module_dir . '/Ext/Layoutdefs/layoutdefs.ext.php';
 }