]> wagnertech.de Git - timetracker.git/blobdiff - dbinstall.php
Expense Item description - Follow-up to pull request #22 (#23)
[timetracker.git] / dbinstall.php
index c32695d5a51fb49cf4ba24393872ee3ff9178b8e..9f579947aa8889214c9fbc21b6a28f3b14c32fed 100755 (executable)
@@ -55,6 +55,16 @@ if ($request->isGet()) {
   // Require the configuration file with application settings.
   if (file_exists(APP_DIR."/WEB-INF/config.php")) {
     echo('WEB-INF/config.php file exists.<br>');
   // Require the configuration file with application settings.
   if (file_exists(APP_DIR."/WEB-INF/config.php")) {
     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.
+    $file = fopen(APP_DIR.'/WEB-INF/config.php', 'r');
+    $line = fgets($file);
+    if (strcmp('<?php'.PHP_EOL, $line) !== 0) {
+      echo('<font color="red">Error: WEB-INF/config.php file does not start with PHP opening tag.</font><br>');
+    }
+    fclose($file);
   } else {
     echo('<font color="red">Error: WEB-INF/config.php file does not exist.</font><br>');
   }
   } else {
     echo('<font color="red">Error: WEB-INF/config.php file does not exist.</font><br>');
   }
@@ -67,6 +77,14 @@ if ($request->isGet()) {
     echo('<font color="red">Error: DSN value is not defined. Check your config.php file.</font><br>');
   }
 
     echo('<font color="red">Error: DSN value is not defined. Check your config.php file.</font><br>');
   }
 
+  // Check if PHP version is good enough.
+  $required_version = '5.2.1'; // Something in TCPDF library does not work below this one.
+  if (version_compare(phpversion(), $required_version, '>=')) {
+    echo('PHP version: '.phpversion().', good enough.<br>');
+  } else {
+    echo('<font color="red">Error: PHP version is not high enough: '.phpversion().'. Required: '.$required_version.'.</font><br>');
+  }
+
   // Depending on DSN, require either mysqli or mysql extensions.
   if (strrpos(DSN, 'mysqli://', -strlen(DSN)) !== FALSE) {
     if (extension_loaded('mysqli')) {
   // Depending on DSN, require either mysqli or mysql extensions.
   if (strrpos(DSN, 'mysqli://', -strlen(DSN)) !== FALSE) {
     if (extension_loaded('mysqli')) {
@@ -587,7 +605,18 @@ if ($_POST) {
     setChange("ALTER TABLE tt_fav_reports ADD COLUMN `show_client` tinyint(4) NOT NULL default '0'");
     setChange("ALTER TABLE tt_fav_reports ADD COLUMN `show_invoice` tinyint(4) NOT NULL default '0'");
     setChange("ALTER TABLE tt_fav_reports ADD COLUMN `group_by` varchar(20) default NULL");
     setChange("ALTER TABLE tt_fav_reports ADD COLUMN `show_client` tinyint(4) NOT NULL default '0'");
     setChange("ALTER TABLE tt_fav_reports ADD COLUMN `show_invoice` tinyint(4) NOT NULL default '0'");
     setChange("ALTER TABLE tt_fav_reports ADD COLUMN `group_by` varchar(20) default NULL");
-    setChange("CREATE TABLE `tt_expense_items` (`id` bigint NOT NULL auto_increment, `date` date NOT NULL, `user_id` int(11) NOT NULL, `client_id` int(11) default NULL, `project_id` int(11) default NULL, `name` varchar(255) NOT NULL, `cost` decimal(10,2) default '0.00', `invoice_id` int(11) default NULL, PRIMARY KEY  (`id`))");
+    
+    setChange("CREATE TABLE `tt_expense_items` (`id` bigint NOT NULL auto_increment, `date` date NOT NULL,
+    `user_id` int(11) NOT NULL, `client_id` int(11) default NULL, `project_id` int(11) default NULL, 
+    
+   /* Kimberly Keown suggested revision to increase character length of expenses.php and expense_edit.php $cl_item_name textarea.
+   Updated mysql.sql also.
+   Original: `name` varchar(255) NOT NULL, */
+    `name` text NOT NULL, 
+    
+    `cost` decimal(10,2) default '0.00', `invoice_id` int(11) default NULL, 
+    PRIMARY KEY  (`id`))");
+    
     setChange("create index date_idx on tt_expense_items(date)");
     setChange("create index user_idx on tt_expense_items(user_id)");
     setChange("create index client_idx on tt_expense_items(client_id)");
     setChange("create index date_idx on tt_expense_items(date)");
     setChange("create index user_idx on tt_expense_items(user_id)");
     setChange("create index client_idx on tt_expense_items(client_id)");
@@ -767,4 +796,4 @@ if ($_POST) {
 </form>
 </div>
 </body>
 </form>
 </div>
 </body>
-</html>
\ No newline at end of file
+</html>