aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/upgrades/2011031300-1.8_svn-twitter_api-12b832a5a7a3e1bd.php
diff options
context:
space:
mode:
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.php37
1 files changed, 26 insertions, 11 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 1d82c4995..61f09aef5 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,23 +6,35 @@
* Updates the database for twitterservice to twitter_api changes.
*/
+
+$ia = elgg_set_ignore_access(true);
+
// 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
-$service = elgg_get_plugin_from_id('twitterservice');
-$api = elgg_get_plugin_from_id('twitter_api');
+$show_hidden = access_get_show_hidden_status();
+access_show_hidden_entities(true);
-if (!$api || !$service) {
+$db_prefix = elgg_get_config('dbprefix');
+$site_guid = elgg_get_site_entity()->getGUID();
+$old = elgg_get_plugin_from_id('twitterservice');
+$old_guid = $old->getGUID();
+$new = elgg_get_plugin_from_id('twitter_api');
+$has_settings = false;
+
+// 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
@@ -32,9 +44,12 @@ $q = "UPDATE {$db_prefix}private_settings
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'));
}
-$service->delete(); \ No newline at end of file
+$old->delete();
+
+access_show_hidden_entities($show_hidden);
+elgg_set_ignore_access($ia); \ No newline at end of file