Skip to content
Snippets Groups Projects
Commit 101460db authored by Peter Rotich's avatar Peter Rotich
Browse files

Add scripted task migrate API keys - post v1.6 RC1-4 to v1.6 RC5.

Allow to upgrader to roll through tasks during upgrade without bread (trusting the tasks to break)
parent 9a56a152
Branches
Tags
No related merge requests found
...@@ -39,12 +39,10 @@ class UpgraderAjaxAPI extends AjaxController { ...@@ -39,12 +39,10 @@ class UpgraderAjaxAPI extends AjaxController {
exit; exit;
} }
if($upgrader->getNumPendingTasks()) { if($upgrader->getNumPendingTasks() && $upgrader->doTasks()) {
if($upgrader->doTasks() && !$upgrader->getNumPendingTasks() && $ost->isUpgradePending()) { //More pending tasks - doTasks returns the number of pending tasks
//Just reporting done...with tasks - break in between patches with scripted tasks! Http::response(200, $upgrader->getNextAction());
Http::response(201, "TASKS DONE!"); exit;
exit;
}
} elseif($ost->isUpgradePending() && $upgrader->isUpgradable()) { } elseif($ost->isUpgradePending() && $upgrader->isUpgradable()) {
$version = $upgrader->getNextVersion(); $version = $upgrader->getNextVersion();
if($upgrader->upgrade()) { if($upgrader->upgrade()) {
...@@ -55,7 +53,7 @@ class UpgraderAjaxAPI extends AjaxController { ...@@ -55,7 +53,7 @@ class UpgraderAjaxAPI extends AjaxController {
} elseif(!$ost->isUpgradePending()) { } elseif(!$ost->isUpgradePending()) {
$upgrader->setState('done'); $upgrader->setState('done');
session_write_close(); session_write_close();
Http::response(201, "DONE!"); Http::response(201, "We're done!");
exit; exit;
} }
......
...@@ -196,7 +196,7 @@ class Upgrader extends SetupWizard { ...@@ -196,7 +196,7 @@ class Upgrader extends SetupWizard {
} }
} }
return (!$this->getPendingTasks()); return $this->getPendingTasks();
} }
function upgrade() { function upgrade() {
...@@ -261,6 +261,10 @@ class Upgrader extends SetupWizard { ...@@ -261,6 +261,10 @@ class Upgrader extends SetupWizard {
$tasks[] = array('func' => 'migrateSessionFile2DB', $tasks[] = array('func' => 'migrateSessionFile2DB',
'desc' => 'Transitioning to db-backed sessions'); 'desc' => 'Transitioning to db-backed sessions');
break; break;
case '98ae1ed2-e342f869': //v1.6 RC1-4 -> v1.6 RC5
$task[] = array('func' => 'migrateAPIKeys',
'desc' => 'Migrating API keys to a new table');
break;
} }
//Check IF SQL cleanup is exists. //Check IF SQL cleanup is exists.
...@@ -310,5 +314,24 @@ class Upgrader extends SetupWizard { ...@@ -310,5 +314,24 @@ class Upgrader extends SetupWizard {
osTicketSession::write(session_id(), session_encode()); osTicketSession::write(session_id(), session_encode());
return 0; return 0;
} }
function migrateAPIKeys($taskId) {
$res = db_query('SELECT api_whitelist, api_key FROM '.CONFIG_TABLE.' WHERE id=1');
if(!$res || !db_num_rows($res))
return 0; //Reporting success.
list($whitelist, $key) = db_fetch_row($res);
$ips=array_filter(explode(',', ereg_replace(' ', '', $whitelist)));
foreach($ips as $ip) {
$sql='INSERT INTO '.API_KEY_TABLE.' SET created=NOW(), updated=NOW(), isactive=1 '
.',ipaddr='.db_input($ip)
.',apikey='.db_input(strtoupper(md5($ip.md5($key))));
db_query($sql);
}
return 0;
}
} }
?> ?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment