public function run() { require_once 'include/connectors/utils/ConnectorUtils.php'; if (!ConnectorUtils::updateMetaDataFiles()) { $this->log('Cannot update metadata files for connectors'); } //Delete the custom connectors.php file if it exists so that it may be properly rebuilt if (file_exists('custom/modules/Connectors/metadata/connectors.php')) { unlink('custom/modules/Connectors/metadata/connectors.php'); } }
/** * action_SaveModifyMapping */ function action_SaveModifyMapping() { $mapping_sources = !empty($_REQUEST['mapping_sources']) ? explode(',', $_REQUEST['mapping_sources']) : array(); $mapping_values = !empty($_REQUEST['mapping_values']) ? explode(',', $_REQUEST['mapping_values']) : array(); //Build the source->module->fields mapping $source_modules_fields = array(); foreach ($mapping_values as $id) { $parts = explode(':', $id); $key_vals = explode('=', $parts[2]); //Note the strtolwer call... we are lowercasing the key values $source_modules_fields[$parts[0]][$parts[1]][strtolower($key_vals[0])] = $key_vals[1]; } //foreach foreach ($mapping_sources as $source_id) { if (empty($source_modules_fields[$source_id])) { $source = SourceFactory::getSource($source_id); $mapping = $source->getMapping(); foreach ($mapping['beans'] as $module => $entry) { $source_modules_fields[$source_id][$module] = array(); } } } //foreach require_once 'include/connectors/utils/ConnectorUtils.php'; $source_entries = ConnectorUtils::getConnectors(); require_once 'include/connectors/sources/SourceFactory.php'; foreach ($source_modules_fields as $id => $mapping_entry) { //Insert the id mapping foreach ($mapping_entry as $module => $entry) { $mapping_entry[$module]['id'] = 'id'; } $source = SourceFactory::getSource($id); $mapping = $source->getMapping(); $mapping['beans'] = $mapping_entry; //Now write the new mapping entry to the custom folder $dir = $source_entries[$id]['directory']; if (!preg_match('/^custom\\//', $dir)) { $dir = 'custom/' . $dir; } if (!file_exists("{$dir}")) { mkdir_recursive("{$dir}"); } if (!write_array_to_file('mapping', $mapping, "{$dir}/mapping.php")) { $GLOBALS['log']->fatal("Cannot write file {$dir}/mapping.php"); } $source->saveMappingHook($mapping); } //Rewrite the metadata files ConnectorUtils::updateMetaDataFiles(); // BEGIN SUGAR INT if (empty($_REQUEST['from_unit_test'])) { // END SUGAR INT header("Location: index.php?action=ConnectorSettings&module=Connectors"); // BEGIN SUGAR INT } // END SUGAR INT }
/** * upgrade_connectors * * This function handles support for upgrading connectors it is invoked from both end.php and silentUpgrade_step2.php * */ function upgrade_connectors() { require_once 'include/connectors/utils/ConnectorUtils.php'; if (!ConnectorUtils::updateMetaDataFiles()) { $GLOBALS['log']->fatal('Cannot update metadata files for connectors'); } //Delete the custom connectors.php file if it exists so that it may be properly rebuilt if (file_exists('custom/modules/Connectors/metadata/connectors.php')) { unlink('custom/modules/Connectors/metadata/connectors.php'); } }
foreach ($sources as $source_key => $source) { foreach ($previous_connectors as $previous_connector) { if (in_array($previous_connector, $default_modules_sources[$module])) { unset($default_modules_sources[$module][$previous_connector]); } } } } // Merge in the new connector default settings with the current settings foreach ($modules_sources as $module => $sources) { if (!empty($default_modules_sources[$module])) { $merged = array_merge($modules_sources[$module], $default_modules_sources[$module]); $default_modules_sources[$module] = $merged; } else { $default_modules_sources[$module] = $modules_sources[$module]; } } } if (!file_exists('custom/modules/Connectors/metadata')) { mkdir_recursive('custom/modules/Connectors/metadata'); } if (!write_array_to_file('connectors', $default_connectors, 'custom/modules/Connectors/metadata/connectors.php')) { $GLOBALS['log']->fatal('Cannot write file custom/modules/Connectors/metadata/connectors.php'); } if (!write_array_to_file('modules_sources', $default_modules_sources, 'custom/modules/Connectors/metadata/display_config.php')) { $GLOBALS['log']->fatal('Cannot write file custom/modules/Connectors/metadata/display_config.php'); } require_once 'include/connectors/utils/ConnectorUtils.php'; if (!ConnectorUtils::updateMetaDataFiles()) { $GLOBALS['log']->fatal('Cannot update metadata files for connectors'); }
function action_SaveModifyProperties() { require_once 'include/connectors/sources/SourceFactory.php'; $sources = array(); $properties = array(); foreach ($_REQUEST as $name => $value) { if (preg_match("/^source[0-9]+\$/", $name, $matches)) { $source_id = $value; $properties = array(); foreach ($_REQUEST as $arg => $val) { if (preg_match("/^{$source_id}_(.*?)\$/", $arg, $matches2)) { $properties[$matches2[1]] = $val; } } $source = SourceFactory::getSource($source_id); if (!empty($properties)) { $source->setProperties($properties); $source->saveConfig(); } } } require_once 'include/connectors/utils/ConnectorUtils.php'; ConnectorUtils::updateMetaDataFiles(); // BEGIN SUGAR INT if (empty($_REQUEST['from_unit_test'])) { // END SUGAR INT header("Location: index.php?action=ConnectorSettings&module=Connectors"); // BEGIN SUGAR INT } }