invalidateByOptions() public method

Invalidate based on options passed to the global *_metadata functions
public invalidateByOptions ( array $options ) : void
$options array Options passed to elgg_(delete|disable|enable)_metadata "guid" if given, invalidation will be limited to this entity
return void
Exemplo n.º 1
0
 public function testDirectInvalidation()
 {
     $cache = new MetadataCache(ElggSession::getMock());
     $cache->inject(1, ['foo1' => 'bar']);
     $cache->inject(2, []);
     $cache->invalidateByOptions(['guid' => 1]);
     $this->assertFalse($cache->isLoaded(1));
     $this->assertTrue($cache->isLoaded(2));
     $cache->invalidateByOptions([]);
     $this->assertFalse($cache->isLoaded(1));
     $this->assertFalse($cache->isLoaded(2));
 }
Exemplo n.º 2
0
 /**
  * Enables metadata based on $options.
  *
  * @warning Unlike elgg_get_metadata() this will not accept an empty options array!
  *
  * @warning In order to enable metadata, you must first use
  * {@link access_show_hidden_entities()}.
  *
  * @param array $options An options array. {@link elgg_get_metadata()}
  * @return bool|null true on success, false on failure, null if no metadata enabled.
  */
 function enableAll(array $options)
 {
     if (!$options || !is_array($options)) {
         return false;
     }
     $this->cache->invalidateByOptions($options);
     $options['metastring_type'] = 'metadata';
     return _elgg_batch_metastring_based_objects($options, 'elgg_batch_enable_callback');
 }