Made durations like 15m legal.
[timetracker.git] / WEB-INF / lib / ttUser.class.php
index 7ace196..b433e6e 100644 (file)
@@ -41,6 +41,7 @@ class ttUser {
   var $date_format = null;      // Date format.
   var $time_format = null;      // Time format.
   var $week_start = 0;          // Week start day.
+  var $show_holidays = 0;       // Whether to show holidays in calendar.
   var $tracking_mode = 0;       // Tracking mode.
   var $project_required = 0;    // Whether project selection is required on time entires.
   var $task_required = 0;       // Whether task selection is required on time entires.
@@ -49,11 +50,11 @@ class ttUser {
   var $bcc_email = null;        // Bcc email.
   var $currency = null;         // Currency.
   var $plugins = null;          // Comma-separated list of enabled plugins.
+  var $config = null;           // Comma-separated list of miscellaneous config options.
   var $team = null;             // Team name.
   var $custom_logo = 0;         // Whether to use a custom logo for team.
-  var $address = null;          // Address for invoices.
   var $lock_spec = null;        // Cron specification for record locking.
-  var $workday_hours = 8;       // Number of work hours in a regular day.
+  var $workday_minutes = 480;   // Number of work minutes in a regular day.
   var $rights = 0;              // A mask of user rights.
 
   // Constructor.
@@ -66,9 +67,9 @@ class ttUser {
     $mdb2 = getConnection();
 
     $sql = "SELECT u.id, u.login, u.name, u.team_id, u.role, u.client_id, u.email, t.name as team_name, 
-      t.address, t.currency, t.lang, t.decimal_mark, t.date_format, t.time_format, t.week_start,
+      t.currency, t.lang, t.decimal_mark, t.date_format, t.time_format, t.week_start,
       t.tracking_mode, t.project_required, t.task_required, t.record_type, t.uncompleted_indicators,
-      t.bcc_email, t.plugins, t.lock_spec, t.workday_hours, t.custom_logo
+      t.bcc_email, t.plugins, t.config, t.lock_spec, t.workday_minutes, t.custom_logo
       FROM tt_users u LEFT JOIN tt_teams t ON (u.team_id = t.id) WHERE ";
     if ($id)
       $sql .= "u.id = $id";
@@ -102,13 +103,16 @@ class ttUser {
       $this->uncompleted_indicators = $val['uncompleted_indicators'];
       $this->bcc_email = $val['bcc_email'];
       $this->team = $val['team_name'];
-      $this->address = $val['address'];
       $this->currency = $val['currency'];
       $this->plugins = $val['plugins'];
       $this->lock_spec = $val['lock_spec'];
-      $this->workday_hours = $val['workday_hours'];
+      $this->workday_minutes = $val['workday_minutes'];
       $this->custom_logo = $val['custom_logo'];
 
+      // Set user config options.
+      $this->config = $val['config'];
+      $this->show_holidays = in_array('show_holidays', explode(',', $this->config));
+
       // Set "on behalf" id and name.
       if (isset($_SESSION['behalf_id'])) {
           $this->behalf_id = $_SESSION['behalf_id'];
@@ -196,7 +200,7 @@ class ttUser {
       require_once(LIBRARY_DIR.'/tdcron/class.tdcron.entry.php');
 
       // Calculate the last occurrence of a lock.
-      $last = tdCron::getLastOccurrence($this->lock_spec, mktime());
+      $last = tdCron::getLastOccurrence($this->lock_spec, time());
       $lockdate = new DateAndTime(DB_DATEFORMAT, strftime('%Y-%m-%d', $last));
       if ($date->before($lockdate)) {
         return true;