diff options
author | Brett Profitt <brett.profitt@gmail.com> | 2011-08-25 10:34:52 -0700 |
---|---|---|
committer | Brett Profitt <brett.profitt@gmail.com> | 2011-08-25 10:34:52 -0700 |
commit | 2363de0ba2fa5cbf3037452d6119d614d988efce (patch) | |
tree | c037f21c2fe8f4c1f06eab6fc7afcd1cf15abf14 /mod/blog/start.php | |
parent | 003cb81c7888f4d2fd763e5814027c6f8d71186f (diff) | |
download | elgg-2363de0ba2fa5cbf3037452d6119d614d988efce.tar.gz elgg-2363de0ba2fa5cbf3037452d6119d614d988efce.tar.bz2 |
Fixing blog upgrades for excerpt.
Diffstat (limited to 'mod/blog/start.php')
-rw-r--r-- | mod/blog/start.php | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/mod/blog/start.php b/mod/blog/start.php index b9911aa74..d00196bfd 100644 --- a/mod/blog/start.php +++ b/mod/blog/start.php @@ -225,11 +225,37 @@ function blog_ecml_views_hook($hook, $entity_type, $return_value, $params) { } /** - * When upgrading, check if the ElggBlog class has been registered as this - * was added in Elgg 1.8 + * Upgrade from 1.7 to 1.8. */ -function blog_run_upgrades() { - if (!update_subtype('object', 'blog', 'ElggBlog')) { - add_subtype('object', 'blog', 'ElggBlog'); +function blog_run_upgrades($event, $type, $details) { + $blog_upgrade_version = get_plugin_setting('upgrade_version', 'blogs'); + + if (!$blog_upgrade_version) { + // When upgrading, check if the ElggBlog class has been registered as this + // was added in Elgg 1.8 + if (!update_subtype('object', 'blog', 'ElggBlog')) { + add_subtype('object', 'blog', 'ElggBlog'); + } + + // only run this on the first migration to 1.8 + if ($details->to >= 2011061200) { + // add excerpt to all blogs that don't have it. + $ia = elgg_set_ignore_access(true); + $options = array( + 'type' => 'object', + 'subtype' => 'blog' + ); + + $blogs = new ElggBatch($options); + foreach ($blogs as $blog) { + if (!$blog->excerpt) { + $blog->excerpt = elgg_get_excerpt($blog->description); + } + } + + elgg_set_ignore_access($ia); + } + + elgg_set_plugin_setting('upgrade_version', 1, 'blogs'); } } |