From e2bfe6c411a05e3332d754e01ae2ad46a0bcb770 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 2 Jun 2014 20:03:27 +0200 Subject: Continue to show minilinux download status even when refreshing the page --- inc/message.inc.php | 20 ++++++++++++++++++++ inc/property.inc.php | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/message.inc.php b/inc/message.inc.php index b62f234f..9405457d 100644 --- a/inc/message.inc.php +++ b/inc/message.inc.php @@ -107,6 +107,26 @@ class Message self::$flushed = true; } + /** + * Get all queued messages, flushing the queue. + * Useful in api/ajax mode. + */ + public static function asString() + { + global $error_text; + $return = ''; + foreach (self::$list as $item) { + $message = $error_text[$item['id']]; + foreach ($item['params'] as $index => $text) { + $message = str_replace('{{' . $index . '}}', $text, $message); + } + $return .= '[' . $item['type'] . ']: ' . $message . "\n"; + self::$alreadyDisplayed[] = $item; + } + self::$list = array(); + return $return; + } + /** * Deserialize any messages from the current HTTP request and * place them in the message queue. diff --git a/inc/property.inc.php b/inc/property.inc.php index 0aa1841e..d62bbcb9 100644 --- a/inc/property.inc.php +++ b/inc/property.inc.php @@ -111,7 +111,7 @@ class Property 'url' => CONFIG_REMOTE_ML . '/list.php' )); if (!isset($task['id'])) - return false; + return 'Could not start list download (' . Message::asString() . ')'; if ($task['statusCode'] !== TASK_FINISHED) { $task = Taskmanager::waitComplete($task['id']); } @@ -126,7 +126,7 @@ class Property public static function setVersionCheckInformation($value) { - self::set('versioncheck-data', json_encode($value)); + self::set('versioncheck-data', json_encode($value), 1); } public static function getVmStoreConfig() -- cgit v1.2.3-55-g7522