public function testWritesInvalidate() { // elgg_delete_metadata $this->cache->inject($this->guid1, ['foo' => 'bar']); $this->cache->inject($this->guid2, ['bing' => 'bar']); elgg_delete_metadata(array('guid' => $this->guid1)); $this->assertFalse($this->cache->isLoaded($this->guid1)); $this->assertTrue($this->cache->isLoaded($this->guid2)); $this->cache->inject($this->guid1, ['foo' => 'bar']); $this->cache->inject($this->guid2, ['bing' => 'bar']); elgg_delete_metadata(['guids' => [$this->guid1, $this->guid2]]); $this->assertFalse($this->cache->isLoaded($this->guid1)); $this->assertFalse($this->cache->isLoaded($this->guid2)); // setMetadata $this->cache->inject($this->guid1, ['foo' => 'bar']); $this->obj1->setMetadata($this->name, $this->value); $this->assertFalse($this->cache->isLoaded($this->obj1)); // deleteMetadata $this->cache->inject($this->guid1, ['foo' => 'bar']); $this->obj1->deleteMetadata($this->name); $this->assertFalse($this->cache->isLoaded($this->guid1)); // create_metadata $this->cache->inject($this->guid1, ['foo' => 'bar']); create_metadata($this->guid1, 'foo', 'bar', 'text'); $this->assertFalse($this->cache->isLoaded($this->guid1)); // disableMetadata $this->obj1->setMetadata($this->name, $this->value); $this->cache->inject($this->guid1, ['foo' => 'bar']); $this->obj1->disableMetadata($this->name); $this->assertFalse($this->cache->isLoaded($this->guid1)); // enableMetadata $this->cache->inject($this->guid1, ['foo' => 'bar']); $this->obj1->enableMetadata($this->name); $this->assertFalse($this->cache->isLoaded($this->guid1)); }
function approve_content(\ElggObject $object) { $object->deleteMetadata(QUARANTINED); $access_id = $object->{ORIGINAL_ACCESS_ID}; // delete it so our update handler doesn't re-set it $object->deleteMetadata(ORIGINAL_ACCESS_ID); if ($access_id !== null) { $object->access_id = (int) $access_id; $handle = State::$handle_updates; State::$handle_updates = false; $object->save(); State::$handle_updates = $handle; } else { $access_id = $object->access_id; } // just in case plugins look at river.access_id update_river_access_by_object($object->guid, $access_id); }
/** * Downloads the thumbnail and saves into data folder * * @param ElggObject $item * @return bool */ function videolist_2012022501($item) { require_once elgg_get_plugins_path() . 'upgrade-tools/lib/upgrade_tools.php'; // get thumbnail image $thumbnail = file_get_contents($item->thumbnail); if (!$thumbnail) { return false; } $prefix = "videolist/" . $item->guid; $filehandler = new ElggFile(); $filehandler->owner_guid = $item->owner_guid; $filehandler->setFilename($prefix . ".jpg"); $filehandler->open("write"); $filehandler->write($thumbnail); $filehandler->close(); // update properties if ($item->url) { $item->video_url = $item->url; $item->deleteMetadata('url'); } if ($item->desc) { $item->description = $item->desc; $item->deleteMetadata('desc'); $item->save(); } if ($item->embedurl) { $item->deleteMetadata('embedurl'); } upgrade_change_subtype($item, 'videolist_item'); // update river $options = array('object_guid' => $item->guid); $river_items = elgg_get_river($options); foreach ($river_items as $river_item) { if ($river_item->action_type == 'create') { upgrade_update_river($river_item->id, 'river/object/videolist_item/create', $item->guid, 0); } } return true; }
public function testElggEntityMetadata() { // let's delete a non-existent metadata $this->assertFalse($this->entity->deleteMetadata('important')); // let's add the metadata $this->entity->important = 'indeed!'; $this->assertIdentical('indeed!', $this->entity->important); $this->entity->less_important = 'true, too!'; $this->assertIdentical('true, too!', $this->entity->less_important); // test deleting incorrectly // @link https://github.com/elgg/elgg/issues/2273 $this->assertNull($this->entity->deleteMetadata('impotent')); $this->assertEqual($this->entity->important, 'indeed!'); // get rid of one metadata $this->assertEqual($this->entity->important, 'indeed!'); $this->assertTrue($this->entity->deleteMetadata('important')); $this->assertNull($this->entity->important); // get rid of all metadata $this->assertTrue($this->entity->deleteMetadata()); $this->assertNull($this->entity->less_important); }
public function testWritesAreCached() { // delete should mark cache as known to be empty $this->obj1->deleteMetadata($this->name); $this->assertTrue($this->cache->isKnown($this->guid1, $this->name)); $this->assertNull($this->cache->load($this->guid1, $this->name)); // without name, delete should invalidate the entire entity $this->cache->save($this->guid1, $this->name, $this->value); elgg_delete_metadata(array('guid' => $this->guid1)); $this->assertFalse($this->cache->isKnown($this->guid1, $this->name)); // test set $this->obj1->setMetadata($this->name, $this->value); $this->assertIdentical($this->cache->load($this->guid1, $this->name), $this->value); // test set multiple $this->obj1->setMetadata($this->name, 1, 'integer', true); $this->assertIdentical($this->cache->load($this->guid1, $this->name), array($this->value, 1)); // writes when access is ignore should invalidate $tmp_ignore = elgg_set_ignore_access(true); $this->obj1->setMetadata($this->name, $this->value); $this->assertFalse($this->cache->isKnown($this->guid1, $this->name)); elgg_set_ignore_access($tmp_ignore); }
// If is below, bring all child elements forward if ($page_guid == $tree_page->guid) { $previous_parent = $page->parent_guid; $children = elgg_get_entities_from_metadata(array('metadata_name' => 'parent_guid', 'metadata_value' => $page->getGUID())); if ($children) { foreach ($children as $child) { $child->parent_guid = $previous_parent; } } } } $page->parent_guid = $parent_guid; } if ($page->save()) { //check in the page becaused the user just saved it if ($page->deleteMetadata("checkedOut")) { system_message(elgg_echo('pages:checked_in')); } else { system_message('Page could not be checked in. It is still locked for editing'); } elgg_clear_sticky_form('page'); // Now save description as an annotation $page->annotate('page', $page->description, $page->access_id); system_message(elgg_echo('pages:saved')); if ($new_page) { add_to_river('river/object/page/create', 'create', elgg_get_logged_in_user_guid(), $page->guid); } forward($page->getURL()); } else { register_error(elgg_echo('pages:error:notsaved')); forward(REFERER);
} if (!empty($metadata_hint)) { $field->metadata_hint = $metadata_hint; } elseif ($current_field) { unset($field->metadata_hint); } if (!empty($metadata_placeholder)) { $field->metadata_placeholder = $metadata_placeholder; } elseif ($current_field) { unset($field->metadata_placeholder); } $field->metadata_type = $metadata_type; if ($metadata_type == "dropdown" || $metadata_type == "go_radio" || $metadata_type == "multiselect") { $field->metadata_options = $new_options; } elseif ($current_field) { $field->deleteMetadata("metadata_options"); } if ($type == "profile") { $field->show_on_register = $show_on_register; $field->mandatory = $mandatory; $field->user_editable = $user_editable; } $field->admin_only = $admin_only; $field->output_as_tags = $output_as_tags; $field->blank_available = $blank_available; if (empty($current_field)) { $field->order = $max_fields; } if ($field->save()) { system_message(elgg_echo("profiles_go:actions:new:success")); } else {
} if (!empty($metadata_hint)) { $field->metadata_hint = $metadata_hint; } elseif ($current_field) { unset($field->metadata_hint); } if (!empty($metadata_placeholder)) { $field->metadata_placeholder = $metadata_placeholder; } elseif ($current_field) { unset($field->metadata_placeholder); } $field->metadata_type = $metadata_type; if (in_array($metadata_type, ['dropdown', 'radio', 'multiselect'])) { $field->metadata_options = $new_options; } elseif ($current_field) { $field->deleteMetadata('metadata_options'); } if ($type == 'profile') { $field->show_on_register = $show_on_register; $field->mandatory = $mandatory; $field->user_editable = $user_editable; } $field->admin_only = $admin_only; $field->output_as_tags = $output_as_tags; $field->blank_available = $blank_available; if (empty($current_field)) { $field->order = $max_fields; } if ($field->save()) { system_message(elgg_echo('profile_manager:actions:new:success')); } else {