/** * Find custom address fields added to modules that modulebuilder created and deployed */ public function upgradeVardefsInDeployedModules() { //Created for access to a field's vardef_map $tempField = new TemplateField(); foreach (glob('modules/*/vardefs.php') as $file) { //Get module name from file name $fileParts = explode('/', $file); $module = $fileParts[1]; require $file; if (!empty($dictionary[$module]['fields'])) { //Set up vardef extension save mechanism $bean = BeanFactory::getBean($module); if (empty($bean)) { continue; } $df = new DynamicField($module); $df->setup($bean); //Find all custom street fields foreach ($dictionary[$module]['fields'] as $fieldName => $field) { if ($this->validateStreetField($dictionary[$module]['fields'], $fieldName)) { $upgradeField = new stdClass(); $upgradeField->type = 'text'; $upgradeField->dbType = 'varchar'; $upgradeField->name = $fieldName; $upgradeField->vardef_map = $tempField->vardef_map; $upgradeField->vardef_map['dbType'] = 'dbType'; $df->saveExtendedAttributes($upgradeField, array()); } } } } }