/** * When a blog is removed also remove it's icons * * @param string $event 'delete' * @param string $type 'object' * @param ElggObject $object The ElggObject being removed * * @return void */ public static function cleanupBlogIcon($event, $type, $object) { if (!elgg_instanceof($object, "object", "blog", "ElggBlog")) { return; } blog_tools_remove_blog_icon($object); }
// assign values to the entity, stopping on error. if (!$error) { foreach ($values as $name => $value) { if (FALSE === ($blog->{$name} = $value)) { $error = elgg_echo('blog:error:cannot_save' . "{$name}={$value}"); break; } } } // only try to save base entity if no errors if (!$error) { if ($blog->save()) { // handle icon upload if (get_input("remove_icon") == "yes") { // remove existing icons blog_tools_remove_blog_icon($blog); } elseif (($icon_file = get_resized_image_from_uploaded_file("icon", 100, 100)) && ($icon_sizes = elgg_get_config("icon_sizes"))) { // create icon $prefix = "blogs/" . $blog->getGUID(); $fh = new ElggFile(); $fh->owner_guid = $blog->getOwnerGUID(); foreach ($icon_sizes as $icon_name => $icon_info) { if ($icon_file = get_resized_image_from_uploaded_file("icon", $icon_info["w"], $icon_info["h"], $icon_info["square"], $icon_info["upscale"])) { $fh->setFilename($prefix . $icon_name . ".jpg"); if ($fh->open("write")) { $fh->write($icon_file); $fh->close(); } } } $blog->icontime = time();
function blog_tools_delete_handler($event, $type, $object) { if (elgg_instanceof($object, "object", "blog", "ElggBlog")) { blog_tools_remove_blog_icon($object); } }