diff options
author | Paweł Sroka <srokap@gmail.com> | 2013-10-27 05:17:55 -0700 |
---|---|---|
committer | Paweł Sroka <srokap@gmail.com> | 2013-10-27 05:17:55 -0700 |
commit | e0b7270c6e770338259b1aa4bb919c81bb71eb13 (patch) | |
tree | 6d11ea37f618c4758331f3f4ae9659a5509c05a1 /engine/lib/metadata.php | |
parent | 882866430efa4374206fc7289e2a7ab70ac5abf8 (diff) | |
parent | 8a79dc3904a2fda8081216fdf52be6a462db2709 (diff) | |
download | elgg-e0b7270c6e770338259b1aa4bb919c81bb71eb13.tar.gz elgg-e0b7270c6e770338259b1aa4bb919c81bb71eb13.tar.bz2 |
Merge pull request #6184 from Srokap/pr/6121
#5952 - fix infinite loop when disabling > 50 annotations or metadata
Diffstat (limited to 'engine/lib/metadata.php')
-rw-r--r-- | engine/lib/metadata.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php index d2f8d4cd4..fdb1b85f6 100644 --- a/engine/lib/metadata.php +++ b/engine/lib/metadata.php @@ -333,9 +333,13 @@ function elgg_disable_metadata(array $options) { } elgg_get_metadata_cache()->invalidateByOptions('disable', $options); + + // if we can see hidden (disabled) we need to use the offset + // otherwise we risk an infinite loop if there are more than 50 + $inc_offset = access_get_show_hidden_status(); $options['metastring_type'] = 'metadata'; - return elgg_batch_metastring_based_objects($options, 'elgg_batch_disable_callback', false); + return elgg_batch_metastring_based_objects($options, 'elgg_batch_disable_callback', $inc_offset); } /** |