]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
blog plugin uses on_activate to set its class or the upgrade event
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 1 Mar 2011 03:09:12 +0000 (03:09 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 1 Mar 2011 03:09:12 +0000 (03:09 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8526 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/blog/manifest.xml
mod/blog/start.php

index 6bc57044964a348bab76128981f97fe39e67b184..b241d2651ac90e49a18e3c906ded8800ee9ca94b 100644 (file)
@@ -14,4 +14,5 @@
        </requires>
        <admin_interface>simple</admin_interface>
        <activate_on_install>true</activate_on_install>
+               <on_activate>blog_on_activate</on_activate>
 </plugin_manifest>
index 04197aa4eaa43259d30a806856730c959ff61057..437970de420ffb051129c1fa452c9a18cec910d2 100644 (file)
@@ -25,8 +25,7 @@ function blog_init() {
        $item = new ElggMenuItem('blog', elgg_echo('blog:blogs'), 'pg/blog/all');
        elgg_register_menu_item('site', $item);
 
-       // run the setup upon activations or to upgrade old installations.
-       run_function_once('blog_runonce', '1269370108');
+       elgg_register_event_handler('upgrade', 'upgrade', 'blog_run_upgrades');
 
        // add to the main css
        elgg_extend_view('css/screen', 'blog/css');
@@ -68,15 +67,6 @@ function blog_init() {
        elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook');
 }
 
-/**
- * Register entity class for object:blog -> ElggBlog
- */
-function blog_runonce() {
-       if (!update_subtype('object', 'blog', 'ElggBlog')) {
-               add_subtype('object', 'blog', 'ElggBlog');
-       }
-}
-
 /**
  * Dispatches blog pages.
  * URLs take the form of
@@ -198,3 +188,20 @@ function blog_ecml_views_hook($hook, $entity_type, $return_value, $params) {
 
        return $return_value;
 }
+
+/**
+ * Runs when blog plugin is activated. See manifest file.
+ */
+function blog_on_activate() {
+       add_subtype('object', 'blog', 'ElggBlog');
+}
+
+/**
+ * When upgrading, check if the ElggBlog class has been registered as this
+ * was added in Elgg 1.8
+ */
+function blog_run_upgrades() {
+       if (!update_subtype('object', 'blog', 'ElggBlog')) {
+               add_subtype('object', 'blog', 'ElggBlog');
+       }
+}