From 53305ecf5ccd83618faebedb1ae9ef8e0ce61d8c Mon Sep 17 00:00:00 2001 From: brettp Date: Fri, 18 Jun 2010 21:19:11 +0000 Subject: Merged r6506:6509 from 1.7 to trunk. git-svn-id: http://code.elgg.org/elgg/trunk@6516 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/upgrades/2010061501.php | 70 ++++++++++++++++++++++++++++++++++++++ engine/lib/views.php | 3 ++ engine/start.php | 2 ++ mod/groups/actions/invite.php | 2 +- version.php | 2 +- 5 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 engine/lib/upgrades/2010061501.php diff --git a/engine/lib/upgrades/2010061501.php b/engine/lib/upgrades/2010061501.php new file mode 100644 index 000000000..19d6467ed --- /dev/null +++ b/engine/lib/upgrades/2010061501.php @@ -0,0 +1,70 @@ +dbhost, $CONFIG->dbuser, $CONFIG->dbpass, TRUE); + mysql_select_db($CONFIG->dbname, $link); + + $q = "SHOW VARIABLES LIKE 'character_set_client'"; + $r = mysql_query($q); + $client = mysql_fetch_assoc($r); + + $q = "SHOW VARIABLES LIKE 'character_set_connection'"; + $r = mysql_query($q); + $connection = mysql_fetch_assoc($r); + + // only run upgrade if not already talking utf8 + if ($client['Value'] != 'utf8' && $connection['Value'] != 'utf8') { + $qs = array(); + $qs[] = "SET NAMES utf8"; + + $qs[] = "ALTER TABLE {$CONFIG->dbprefix}users_entity DISABLE KEYS"; + $qs[] = "REPLACE INTO {$CONFIG->dbprefix}users_entity (guid, name, username, password, salt, email, language, code, + banned, last_action, prev_last_action, last_login, prev_last_login) + SELECT guid, name, unhex(hex(convert(username using latin1))), password, salt, email, language, code, + banned, last_action, prev_last_action, last_login, prev_last_login + FROM {$CONFIG->dbprefix}users_entity"; + + $qs[] = "ALTER TABLE {$CONFIG->dbprefix}users_entity ENABLE KEYS"; + + foreach ($qs as $q) { + if (!update_data($q)) { + throw new Exception('Couldn\'t execute upgrade query: ' . $q); + } + } + + global $DB_QUERY_CACHE, $DB_PROFILE, $ENTITY_CACHE; + + /** + Upgrade file locations + */ + // new connection to force into utf8 mode to get the old name + $link = mysql_connect($CONFIG->dbhost, $CONFIG->dbuser, $CONFIG->dbpass, TRUE); + mysql_select_db($CONFIG->dbname, $link); + + // must be the first command + mysql_query("SET NAMES utf8"); + + $users = mysql_query("SELECT guid, username FROM {$CONFIG->dbprefix}users_entity WHERE username != ''", $link); + while ($user = mysql_fetch_object($users)) { + $DB_QUERY_CACHE = $DB_PROFILE = $ENTITY_CACHE = array(); + + $to = $CONFIG->dataroot . user_file_matrix($user->guid); + foreach (array('1_0', '1_1', '1_6') as $version) { + $function = "file_matrix_$version"; + $from = $CONFIG->dataroot . $function($user->username); + merge_directories($from, $to, $move=TRUE, $preference='from'); + } + } + } +} \ No newline at end of file diff --git a/engine/lib/views.php b/engine/lib/views.php index b7dc2016c..035038641 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -400,6 +400,9 @@ function elgg_view_regenerate_simplecache($viewtype = NULL) { elgg_set_viewtype($original_viewtype); + // needs to be set for links in html head + $CONFIG->lastcache = $lastcached; + unset($CONFIG->pagesetupdone); } diff --git a/engine/start.php b/engine/start.php index d31090427..442222dc8 100644 --- a/engine/start.php +++ b/engine/start.php @@ -141,4 +141,6 @@ if (($installed) && ($db_installed) && !(defined('upgrading') && upgrading == 'u if ($lastupdate == 0 || $lastcached < $lastupdate) { elgg_view_regenerate_simplecache($oldview); } + // needs to be set for links in html head + $CONFIG->lastcache = $lastcached; } diff --git a/mod/groups/actions/invite.php b/mod/groups/actions/invite.php index d2fd75c28..ba63b8e14 100644 --- a/mod/groups/actions/invite.php +++ b/mod/groups/actions/invite.php @@ -31,7 +31,7 @@ if (sizeof($user_guid)) if ( $user && $group) { - if (get_loggedin_userid() == $group->owner_guid) + if (($group instanceof ElggGroup) && ($group->canEdit())) { if (!check_entity_relationship($group->guid, 'invited', $user->guid)) { diff --git a/version.php b/version.php index 11a678d5b..6fc5f8f50 100644 --- a/version.php +++ b/version.php @@ -12,7 +12,7 @@ // YYYYMMDD = Elgg Date // XX = Interim incrementer -$version = 2010060401; +$version = 2010061501; // Human-friendly version name $release = '1.8-svn'; -- cgit v1.2.3