diff options
Diffstat (limited to 'engine/lib')
-rw-r--r-- | engine/lib/annotations.php | 2 | ||||
-rw-r--r-- | engine/lib/metadata.php | 2 | ||||
-rw-r--r-- | engine/lib/metastrings.php | 32 |
3 files changed, 32 insertions, 4 deletions
diff --git a/engine/lib/annotations.php b/engine/lib/annotations.php index 7eb72612f..5049d455b 100644 --- a/engine/lib/annotations.php +++ b/engine/lib/annotations.php @@ -237,7 +237,7 @@ function elgg_disable_annotations(array $options) { return false; } - $options['metastrings_type'] = 'annotations'; + $options['metastring_type'] = 'annotations'; return elgg_batch_metastring_based_objects($options, 'elgg_batch_disable_callback'); } diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php index a097cd3ef..19e8aa3c8 100644 --- a/engine/lib/metadata.php +++ b/engine/lib/metadata.php @@ -324,7 +324,7 @@ function elgg_disable_metadata(array $options) { return false; } - $options['metastrings_type'] = 'metadata'; + $options['metastring_type'] = 'metadata'; return elgg_batch_metastring_based_objects($options, 'elgg_batch_disable_callback'); } diff --git a/engine/lib/metastrings.php b/engine/lib/metastrings.php index d8fef6f1c..62b60e279 100644 --- a/engine/lib/metastrings.php +++ b/engine/lib/metastrings.php @@ -727,10 +727,38 @@ function elgg_batch_metastring_based_objects(array $options, $callback) { return false; } - $batch = new ElggBatch('elgg_get_metastring_based_objects', $options, $callback); - $r = $batch->callbackResult; + switch($options['metastring_type']) { + case 'metadata': + $objects = elgg_get_metadata($options); + break; + + case 'annotations': + $objects = elgg_get_annotations($options); + break; + + default: + return false; + } + + if (!is_array($objects)) { + $r = false; + } elseif (empty($objects)) { + // ElggBatch returns null if the results are an empty array + $r = null; + } else { + $r = true; + foreach($objects as $object) { + $r = $r && $callback($object); + } + } return $r; + +// // @todo restore once ElggBatch supports callbacks that delete rows. +// $batch = new ElggBatch('elgg_get_metastring_based_objects', $options, $callback); +// $r = $batch->callbackResult; +// +// return $r; } /** |