X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=dbinstall.php;h=4e93ec36fafb91fb97ab4259532f64b273f8add7;hb=56fd29cc5a2b6a67ed24b19d0d4213a6458a9723;hp=65a6776daeeac7ac571be240bfe041ce2e3f3466;hpb=7aced3f6210fcd9bad8db0f6ff7d12d1f9daf62e;p=timetracker.git
diff --git a/dbinstall.php b/dbinstall.php
index 65a6776d..4e93ec36 100644
--- a/dbinstall.php
+++ b/dbinstall.php
@@ -47,6 +47,25 @@ function ttExecute($sql) {
print "Successful update.
\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 "
Generated keys for $numGroups groups.
\n";
+}
+
if ($request->isGet()) {
echo('
Environment Checks
');
@@ -72,12 +91,15 @@ if ($request->isGet()) {
echo('WEB-INF/config.php file exists.
');
// 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("Error: WEB-INF/config.php file does not start with PHP opening tag.
');
+ echo('Error: WEB-INF/config.php file does not start with a PHP opening tag. See explanation.
');
}
fclose($file);
} else {
@@ -972,7 +994,7 @@ if ($_POST) {
print "Updated $tt_expense_items_updated tt_expense_items records...
\n";
}
- if ($_POST["convert11797to11851"]) {
+ 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`");
@@ -1123,10 +1145,21 @@ if ($_POST) {
ttExecute("drop index timesheet_idx on tt_expense_items");
ttExecute("ALTER TABLE `tt_expense_items` DROP `timesheet_id`");
ttExecute("UPDATE `tt_site_config` SET param_value = '1.18.51', modified = now() where param_name = 'version_db' and param_value = '1.18.50'");
+ ttExecute("CREATE TABLE `tt_templates` (`id` int(11) NOT NULL auto_increment,`group_id` int(11) default NULL,`org_id` int(11) default NULL,`name` varchar(80) COLLATE utf8mb4_bin NOT NULL,`content` text,`created` datetime default NULL,`created_ip` varchar(45) default NULL,`created_by` int(11) default NULL,`modified` datetime default NULL,`modified_ip` varchar(45) default NULL,`modified_by` int(11) default NULL,`status` tinyint(4) default 1,PRIMARY KEY (`id`))");
+ ttExecute("UPDATE `tt_site_config` SET param_value = '1.18.54', modified = now() where param_name = 'version_db' and param_value = '1.18.51'");
+ ttExecute("ALTER TABLE `tt_templates` ADD `description` varchar(255) default NULL AFTER `name`");
+ ttExecute("UPDATE `tt_site_config` SET param_value = '1.18.55', modified = now() where param_name = 'version_db' and param_value = '1.18.54'");
+ ttExecute("CREATE TABLE `tt_files` (`id` int(10) unsigned NOT NULL auto_increment,`group_id` int(10) unsigned,`org_id` int(10) unsigned,`remote_id` bigint(20) unsigned,`entity_type` varchar(32),`entity_id` int(10) unsigned,`file_name` varchar(80) COLLATE utf8mb4_bin NOT NULL,`description` varchar(255) default NULL,`created` datetime default NULL,`created_ip` varchar(45) default NULL,`created_by` int(10) unsigned,`modified` datetime default NULL,`modified_ip` varchar(45) default NULL,`modified_by` int(10) unsigned,`status` tinyint(1) default 1,PRIMARY KEY (`id`))");
+ 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();
@@ -1150,6 +1183,7 @@ if ($_POST) {
ttExecute("OPTIMIZE TABLE tt_invoices");
ttExecute("OPTIMIZE TABLE tt_log");
ttExecute("OPTIMIZE TABLE tt_monthly_quotas");
+ ttExecute("OPTIMIZE TABLE tt_templates");
ttExecute("OPTIMIZE TABLE tt_predefined_expenses");
ttExecute("OPTIMIZE TABLE tt_project_task_binds");
ttExecute("OPTIMIZE TABLE tt_projects");
@@ -1159,6 +1193,7 @@ if ($_POST) {
ttExecute("OPTIMIZE TABLE tt_user_project_binds");
ttExecute("OPTIMIZE TABLE tt_users");
ttExecute("OPTIMIZE TABLE tt_roles");
+ ttExecute("OPTIMIZE TABLE tt_files");
}
print "Done.
\n";
@@ -1171,7 +1206,7 @@ if ($_POST) {
DB Install
@@ -1216,8 +1251,8 @@ if ($_POST) {
- Update database structure (v1.17.97 to v1.18.51) |
- |
+ Update database structure (v1.17.97 to v1.18.61) |
+ |