/** * @param $rev */ public function upgrade_3_4_beta3($rev) { // do the regular upgrade $upgrade = new CRM_Upgrade_Form(); $upgrade->processSQL($rev); if ($upgrade->multilingual) { // rebuild schema, because due to a CRM-7854 mis-fix some indices might be missing CRM_Core_I18n_Schema::rebuildMultilingualSchema($upgrade->locales, $rev); // turn a set of columns singlelingual $config = CRM_Core_Config::singleton(); $tables = array('civicrm_address', 'civicrm_contact', 'civicrm_mailing', 'civicrm_mailing_component'); $triggers = array(array('when' => 'before', 'event' => 'update'), array('when' => 'before', 'event' => 'insert')); // FIXME: Doing require_once is a must here because a call like CRM_Core_I18n_SchemaStructure_3_4_beta2 makes // class loader look for file like - CRM/Core/I18n/SchemaStructure/3/4/beta2.php which is not what we want to be loaded require_once "CRM/Core/I18n/SchemaStructure_3_4_beta2.php"; foreach ($tables as $table) { CRM_Core_I18n_Schema::makeSinglelingualTable($config->lcMessages, $table, 'CRM_Core_I18n_SchemaStructure_3_4_beta2', $triggers); } } }