function _migrateRegistrationConfig() { // add config column in profiletype table self::_add_column('config', 'text NOT NULL', '#__xipt_profiletypes'); // get the parameters of registration email checks from settings table $db = JFactory::getDBO(); $query = 'SELECT ' . $db->nameQuote('params') . ' FROM ' . $db->nameQuote('#__xipt_settings') . ' WHERE ' . $db->nameQuote('name') . ' = ' . $db->Quote('settings'); $db->setQuery($query); $result = $db->loadResult(); // get the required params in array form $params = new XiptParameter(); $params->bind($result); $regconfig['jspt_restrict_reg_check'] = $params->get('jspt_restrict_reg_check', 0); $regconfig['jspt_prevent_username'] = $params->get('jspt_prevent_username', 'moderator; admin; support; owner; employee'); $regconfig['jspt_allowed_email'] = $params->get('jspt_allowed_email', ''); $regconfig['jspt_prevent_email'] = $params->get('jspt_prevent_email', ''); // convert email settings into INI $regParams = new XiptParameter(); $regParams->loadArray($regconfig); $regINI = $regParams->toString('XiptINI'); // update the profile types table foe column config $query = 'UPDATE ' . $db->nameQuote('#__xipt_profiletypes') . ' SET ' . $db->nameQuote('config') . ' = ' . $db->Quote($regINI); $db->setQuery($query); $result = $db->query(); // unsetthe email params which are not required for settings table $settingParamsArray = $params->toArray(); unset($settingParamsArray['jspt_restrict_reg_check']); unset($settingParamsArray['jspt_prevent_username']); unset($settingParamsArray['jspt_allowed_email']); unset($settingParamsArray['jspt_prevent_email']); $settingParams = new XiptParameter(); $settingParams->loadarray($settingParamsArray); $settingsINI = $settingParams->toString('XiptINI'); // save again the whole params (filtered by email params) in settings table $query = 'UPDATE ' . $db->nameQuote('#__xipt_settings') . ' SET ' . $db->nameQuote('params') . ' = ' . $db->Quote($settingsINI); $db->setQuery($query); $result = $db->query(); }