diff options
Diffstat (limited to 'engine/lib/upgrades/2011031300-1.8_svn-twitter_api-12b832a5a7a3e1bd.php')
| -rw-r--r-- | engine/lib/upgrades/2011031300-1.8_svn-twitter_api-12b832a5a7a3e1bd.php | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/engine/lib/upgrades/2011031300-1.8_svn-twitter_api-12b832a5a7a3e1bd.php b/engine/lib/upgrades/2011031300-1.8_svn-twitter_api-12b832a5a7a3e1bd.php index 0774cbea4..df60892a6 100644 --- a/engine/lib/upgrades/2011031300-1.8_svn-twitter_api-12b832a5a7a3e1bd.php +++ b/engine/lib/upgrades/2011031300-1.8_svn-twitter_api-12b832a5a7a3e1bd.php @@ -6,47 +6,49 @@ * Updates the database for twitterservice to twitter_api changes. */ -// make sure we have updated plugins -elgg_generate_plugin_entities(); - -$db_prefix = elgg_get_config('dbprefix'); - -// find the old settings for twitterservice and copy them to the new one -$options = array( - 'type' => 'object', - 'subtype' => 'plugin', - 'joins' => array("JOIN {$db_prefix}objects_entity oe ON e.guid = oe.guid"), - 'wheres' => array('title = "twitterservice"') -); -$objs = elgg_get_entities($options); +$ia = elgg_set_ignore_access(true); -if (!$objs) { - return true; -} +// make sure we have updated plugins +elgg_generate_plugin_entities(); -$service = $objs[0]; +$show_hidden = access_get_show_hidden_status(); +access_show_hidden_entities(true); -$api = elgg_get_plugin_from_id('twitter_api'); +$db_prefix = elgg_get_config('dbprefix'); +$site_guid = elgg_get_site_entity()->getGUID(); +$old = elgg_get_plugin_from_id('twitterservice'); +$new = elgg_get_plugin_from_id('twitter_api'); +$has_settings = false; -if (!$api) { +// if not loaded, don't bother. +if (!$old || !$new) { return true; } $settings = array('consumer_key', 'consumer_secret', 'sign_on', 'new_users'); foreach ($settings as $setting) { - $api->setSetting($setting, $service->getSetting($setting)); + $value = $old->getSetting($setting); + if ($value) { + $has_settings = true; + $new->setSetting($setting, $value); + } } // update the user settings $q = "UPDATE {$db_prefix}private_settings - SET name = replace('twitterservice', 'twitter_api', name) + SET name = replace(name, 'twitterservice', 'twitter_api') WHERE name like '%twitterservice%'"; update_data($q); -if ($service->isActive()) { - $api->activate(); - $service->deactivate(); +// if there were settings, emit a notice to re-enable twitter_api +if ($has_settings) { + elgg_add_admin_notice('twitter_api:disabled', elgg_echo('update:twitter_api:deactivated')); } + +$old->delete(); + +access_show_hidden_entities($show_hidden); +elgg_set_ignore_access($ia);
\ No newline at end of file |
