diff options
author | Florian Pritz <bluewind@xinu.at> | 2016-07-04 07:42:05 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2016-07-04 07:58:15 +0200 |
commit | 1ac83a99d3c7188f74ca4ecdec77a98ec9cef338 (patch) | |
tree | 216e960f4ddbd75c448311c399dad61142d33d65 | |
parent | 6b7fd633b9866806a37beca1e9a099a0dc24d68d (diff) |
service\files->get_multipaste_history: Add sort order from DB
Keep this field private for now. I may be exposed at a later time.
The returned values are already normalized so they can be safely
exposed.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
-rw-r--r-- | application/controllers/api/v1/file.php | 5 | ||||
-rw-r--r-- | application/controllers/api/v2/file.php | 6 | ||||
-rw-r--r-- | application/service/files.php | 9 |
3 files changed, 18 insertions, 2 deletions
diff --git a/application/controllers/api/v1/file.php b/application/controllers/api/v1/file.php index dae053db2..784f42555 100644 --- a/application/controllers/api/v1/file.php +++ b/application/controllers/api/v1/file.php @@ -62,6 +62,11 @@ class file extends \controllers\api\api_controller { foreach ($history['items'] as $key => $item) { unset($history['items'][$key]['thumbnail']); } + foreach ($history['multipaste_items'] as $key => $multipaste_item) { + foreach ($multipaste_item['items'] as $inner_key => $item) { + unset($history['multipaste_items'][$key]['items'][$inner_key]['sort_order']); + } + } return $history; } diff --git a/application/controllers/api/v2/file.php b/application/controllers/api/v2/file.php index ba80ae309..ebe717f73 100644 --- a/application/controllers/api/v2/file.php +++ b/application/controllers/api/v2/file.php @@ -59,10 +59,14 @@ class file extends \controllers\api\api_controller { { $this->muser->require_access("apikey"); $history = \service\files::history($this->muser->get_userid()); - # APIv1-cleanup: Remove this foreach ($history['multipaste_items'] as $key => $item) { + # APIv1-cleanup: Remove this unset($history['multipaste_items'][$key]['user_id']); unset($history['multipaste_items'][$key]['multipaste_id']); + + foreach ($item['items'] as $inner_key => $item) { + unset($history['multipaste_items'][$key]['items'][$inner_key]['sort_order']); + } } return $history; } diff --git a/application/service/files.php b/application/service/files.php index 8f7595c50..d1318c4d4 100644 --- a/application/service/files.php +++ b/application/service/files.php @@ -70,10 +70,17 @@ class files { ->join("multipaste_file_map mfm", "m.multipaste_id = mfm.multipaste_id") ->join("files f", "f.id = mfm.file_url_id") ->where("m.user_id", $user) + ->order_by("mfm.sort_order") ->get()->result_array(); + $counter = 0; + foreach ($multipaste_items_query as $item) { - $multipaste_info[$item["url_id"]]["items"][$item["id"]] = array("id" => $item["id"]); + $multipaste_info[$item["url_id"]]["items"][$item["id"]] = array( + "id" => $item["id"], + // normalize sort_order value so we don't leak any information + "sort_order" => $counter++, + ); } // No idea why, but this can/could happen so be more forgiving and clean up |