print "Successful update.<br>\n";
}
+// ttGenerateKeys - generates keys for groups that do not have them.
+function ttGenerateKeys() {
+ $mdb2 = getConnection();
+ $sql = "select id from tt_groups where group_key is null and status = 1";
+ $res = $mdb2->query($sql);
+ if (is_a($res, 'PEAR_Error')) die($res->getMessage());
+
+ $numGroups = 0;
+ while ($val = $res->fetchRow()) {
+ $group_id = $val['id'];
+ $group_key = $mdb2->quote(ttRandomString());
+ $sql = "update tt_groups set group_key = $group_key where id = $group_id";
+ $affected = $mdb2->exec($sql);
+ if (is_a($affected, 'PEAR_Error')) die($affected->getMessage());
+ $numGroups++;
+ }
+ print "<br>Generated keys for $numGroups groups.<br>\n";
+}
+
if ($request->isGet()) {
echo('<h2>Environment Checks</h2>');
print "Updated $tt_expense_items_updated tt_expense_items records...<br>\n";
}
- if ($_POST["convert11797to11860"]) {
+ if ($_POST["convert11797to11861"]) {
ttExecute("ALTER TABLE `tt_fav_reports` CHANGE `group_by` `group_by1` varchar(20) default NULL");
ttExecute("ALTER TABLE `tt_fav_reports` ADD `group_by2` varchar(20) default NULL AFTER `group_by1`");
ttExecute("ALTER TABLE `tt_fav_reports` ADD `group_by3` varchar(20) default NULL AFTER `group_by2`");
ttExecute("UPDATE `tt_site_config` SET param_value = '1.18.59', modified = now() where param_name = 'version_db' and param_value = '1.18.55'");
ttExecute("ALTER TABLE `tt_files` ADD `file_key` varchar(32) AFTER `remote_id`");
ttExecute("UPDATE `tt_site_config` SET param_value = '1.18.60', modified = now() where param_name = 'version_db' and param_value = '1.18.59'");
+ ttExecute("ALTER TABLE `tt_groups` ADD `group_key` varchar(32) AFTER `org_id`");
+ ttExecute("UPDATE `tt_site_config` SET param_value = '1.18.61', modified = now() where param_name = 'version_db' and param_value = '1.18.60'");
+
+ ttGenerateKeys();
}
if ($_POST["cleanup"]) {
-
$mdb2 = getConnection();
$inactive_orgs = ttOrgHelper::getInactiveOrgs();
ttExecute("OPTIMIZE TABLE tt_user_project_binds");
ttExecute("OPTIMIZE TABLE tt_users");
ttExecute("OPTIMIZE TABLE tt_roles");
+ ttExecute("OPTIMIZE TABLE tt_files");
}
print "Done.<br>\n";
<h2>DB Install</h2>
<table width="80%" border="1" cellpadding="10" cellspacing="0">
<tr>
- <td width="80%"><b>Create database structure (v1.18.60)</b>
+ <td width="80%"><b>Create database structure (v1.18.61)</b>
<br>(applies only to new installations, do not execute when updating)</br></td><td><input type="submit" name="crstructure" value="Create"></td>
</tr>
</table>
</tr>
</tr>
<tr valign="top">
- <td>Update database structure (v1.17.97 to v1.18.60)</td>
- <td><input type="submit" name="convert11797to11860" value="Update"></td>
+ <td>Update database structure (v1.17.97 to v1.18.61)</td>
+ <td><input type="submit" name="convert11797to11861" value="Update"></td>
</tr>
</table>