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>');
echo('WEB-INF/config.php file exists.<br>');
// Config file must start with the PHP opening tag. We are checking this because
- // a Unicode editor may insert a byte order mark (BOM) before it. This is not good as it will
- // spit white space before output in some situations such as in PDF reports.
+ // a Unicode editor may insert a byte order mark (BOM) before it.
+ // This is not good as it is printed as unintentional white space in output.
+ // Consequences:
+ // 1) PHP redirects may stop working, depending on server settings.
+ // 2) PDF reports and attachment downloads will become unusable (cannot open files).
$file = fopen(APP_DIR.'/WEB-INF/config.php', 'r');
$line = fgets($file);
if (strcmp("<?php\n", $line) !== 0 && strcmp("<?php\r\n", $line) !== 0) {
- echo('<font color="red">Error: WEB-INF/config.php file does not start with PHP opening tag.</font><br>');
+ echo('<font color="red">Error: WEB-INF/config.php file does not start with a PHP opening tag.</font> See <a href="https://www.anuko.com/lp/tt_33.htm" target="_blank">explanation</a>.<br>');
}
fclose($file);
} else {
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";