]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #2573 upgrade script for new user validation approach
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 16 Nov 2010 02:12:57 +0000 (02:12 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 16 Nov 2010 02:12:57 +0000 (02:12 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7326 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/upgrades/2010111501.php [new file with mode: 0644]
version.php

diff --git a/engine/lib/upgrades/2010111501.php b/engine/lib/upgrades/2010111501.php
new file mode 100644 (file)
index 0000000..15e4a7d
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Set validation metadata on unvalidated users to false rather than 
+ * not existing. This is needed because of the change in how validation is
+ * being handled.
+ */
+
+// turn off system log because of all the metadata this can create
+elgg_unregister_event_handler('all', 'all', 'system_log_listener');
+elgg_unregister_event_handler('log', 'systemlog', 'system_log_default_logger');
+
+$ia = elgg_set_ignore_access(TRUE);
+$hidden_entities = access_get_show_hidden_status();
+access_show_hidden_entities(TRUE);
+
+$validated_id = get_metastring_id('validated');
+$one_id = get_metastring_id(1);
+
+$query = "SELECT guid FROM {$CONFIG->dbprefix}entities e
+                       WHERE e.type = 'user' AND e.enabled = 'no' AND
+                       NOT EXISTS (
+                               SELECT 1 FROM {$CONFIG->dbprefix}metadata md
+                               WHERE md.entity_guid = e.guid
+                               AND md.name_id = $validated_id
+                               AND md.value_id = $one_id)";
+
+$user_guids = mysql_query($query);
+while ($user_guid = mysql_fetch_object($user_guids)) {
+       create_metadata($user_guid->guid, 'validated', false, '', 0, ACCESS_PUBLIC, false);
+}
+
+access_show_hidden_entities($hidden_entities);
+elgg_set_ignore_access($ia);
index 4c0fd15411f1bc7689967c9315045cb7d1940c26..89dd26f69eede707a0ef167e13d58ae12e91b304 100644 (file)
@@ -11,7 +11,7 @@
 
 // YYYYMMDD = Elgg Date
 // XX = Interim incrementer
-$version = 2010100500;
+$version = 2010111501;
 
 // Human-friendly version name
 $release = '1.8-svn';