#209 Write migration to populate the xref table
This commit is contained in:
parent
6be1d32a54
commit
98ee61ff6d
@ -23,6 +23,8 @@ if ($task == 'ip-email-bans') {
|
||||
print json_encode($jsonToSend);
|
||||
} elseif ($task == 'migrate-bans') {
|
||||
migrateBans($_POST['user']);
|
||||
} elseif ($task == 'initialize-statuses') {
|
||||
initializeXrefTable();
|
||||
} else {
|
||||
$response = 'The task "'.$task.'" was not recognized. Check your spelling and try again.';
|
||||
print $response;
|
||||
|
||||
@ -120,6 +120,10 @@ function printRow($version) {
|
||||
<td>Migrate IP / Email Bans</td>
|
||||
<td><i id="spinner-banmigrate" class="fa fa-spinner"></i> <span id="span-banmigrate">Waiting...</span></td>
|
||||
</tr>
|
||||
<tr id="row-initialize-statuses">
|
||||
<td>Initialize Statuses</td>
|
||||
<td><i id="spinner-initialize-statuses" class="fa fa-spinner"></i> <span id="span-initialize-statuses">Waiting...</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php } ?>
|
||||
|
||||
@ -62,7 +62,9 @@ function executeUpdate(version, cssclass, formattedVersion) {
|
||||
success: function(data) {
|
||||
markUpdateAsSuccess(cssclass, formattedVersion);
|
||||
if (version == 200) {
|
||||
migrateIpEmailBans('banmigrate', cssclass);
|
||||
migrateIpEmailBans('banmigrate', 'banmigrate');
|
||||
} else if (version == 240) {
|
||||
initializeStatuses('initialize-statuses', 'initialize-statuses');
|
||||
} else {
|
||||
processUpdates(version);
|
||||
}
|
||||
@ -83,7 +85,6 @@ function migrateIpEmailBans(version, cssclass) {
|
||||
data: { task: 'ip-email-bans' },
|
||||
success: function(data) {
|
||||
var parsedData = $.parseJSON(data);
|
||||
console.info(parsedData);
|
||||
if (parsedData.status == 'ATTENTION') {
|
||||
appendToInstallConsole('<tr><td><span class="label label-warning">WARNING</span></td><td>Your response is needed. Please check above.</td></tr>');
|
||||
markUpdateAsAttention(version);
|
||||
@ -94,11 +95,33 @@ function migrateIpEmailBans(version, cssclass) {
|
||||
},
|
||||
error: function(data) {
|
||||
appendToInstallConsole('<tr><td><span class="label label-danger">ERROR</span></td><td>' + data.responseText + '</td></tr>');
|
||||
markUpdateAsFailure(cssclass);
|
||||
markUpdateAsFailure(version);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function initializeStatuses(version, cssclass) {
|
||||
startVersionUpgrade(version);
|
||||
appendToInstallConsole('<tr><td><span class="label label-info">INFO</span></td><td>Initializing Statuses</td></tr>');
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'ajax/task-ajax.php',
|
||||
data: { task: 'initialize-statuses' },
|
||||
success: function(data) {
|
||||
markUpdateAsSuccess(cssclass, 'Initializing Statuses');
|
||||
statusesInitialized();
|
||||
},
|
||||
error: function(data) {
|
||||
appendToInstallConsole('<tr><td><span class="label label-danger">ERROR</span></td><td>' + data.responseText + '</td></tr>');
|
||||
markUpdateAsFailure(version);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function statusesInitialized() {
|
||||
processUpdates(240);
|
||||
}
|
||||
|
||||
|
||||
function runMigration() {
|
||||
// Get user ID that is selected
|
||||
|
||||
@ -584,11 +584,19 @@ function execute240Scripts() {
|
||||
function initializeXrefTable() {
|
||||
global $hesk_settings, $hesklang;
|
||||
|
||||
/*
|
||||
* TODO:
|
||||
* 1. Get each key from the DB
|
||||
* 2. For each language, insert a xref record for the key
|
||||
*/
|
||||
$languages = array();
|
||||
foreach ($hesk_settings['languages'] as $key => $value) {
|
||||
$languages[$key] = $hesk_settings['languages'][$key]['folder'];
|
||||
}
|
||||
|
||||
$statusesRs = executeQuery("SELECT `ID`, `Key` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses`");
|
||||
while ($row = hesk_dbFetchAssoc($statusesRs)) {
|
||||
foreach ($languages as $language => $languageCode) {
|
||||
$sql = "INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."text_to_status_xref` (`language`, `text`, `status_id`)
|
||||
VALUES ('".hesk_dbEscape($language)."', '".hesk_dbEscape($hesklang[$row['Key']])."', ".intval($row['ID']).")";
|
||||
executeQuery($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function execute240FileUpdate() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user