2 // +----------------------------------------------------------------------+
 
   3 // | Anuko Time Tracker
 
   4 // +----------------------------------------------------------------------+
 
   5 // | Copyright (c) Anuko International Ltd. (https://www.anuko.com)
 
   6 // +----------------------------------------------------------------------+
 
   7 // | LIBERAL FREEWARE LICENSE: This source code document may be used
 
   8 // | by anyone for any purpose, and freely redistributed alone or in
 
   9 // | combination with other software, provided that the license is obeyed.
 
  11 // | There are only two ways to violate the license:
 
  13 // | 1. To redistribute this code in source form, with the copyright
 
  14 // |    notice or license removed or altered. (Distributing in compiled
 
  15 // |    forms without embedded copyright notices is permitted).
 
  17 // | 2. To redistribute modified versions of this code in *any* form
 
  18 // |    that bears insufficient indications that the modifications are
 
  19 // |    not the work of the original author(s).
 
  21 // | This license applies to this document only, not any other software
 
  22 // | that it may be combined with.
 
  24 // +----------------------------------------------------------------------+
 
  26 // | https://www.anuko.com/time_tracker/credits.htm
 
  27 // +----------------------------------------------------------------------+
 
  30 // Set include path for PEAR and its modules, which we include in the distribution.
 
  32 set_include_path(realpath(dirname(__FILE__).'/lib/pear') . PATH_SEPARATOR . get_include_path());
 
  35 // Database connection parameters.
 
  37 // CHANGE 3 PARAMETERS HERE!
 
  38 // In this example: "root" is username, "no" is password, "dbname" is database name.
 
  40 define('DSN', 'mysqli://root:no@localhost/dbname?charset=utf8');
 
  41 // Do NOT change charset unless you upgraded from an older Time Tracker where charset was NOT specified
 
  42 // and now you see some corrupted characters. See http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html
 
  45 // MULTITEAM_MODE option defines whether users can create their own teams.
 
  47 // Available values are true or false.
 
  48 // If true users can create their own teams.
 
  49 // If false only admin can create teams.
 
  51 define('MULTITEAM_MODE', true);
 
  55 // If you install time tracker into a sub-directory of your site reflect this in the APP_NAME parameter.
 
  56 // For example, for http://localhost/timetracker/ define APP_NAME as 'timetracker'.
 
  58 // define('APP_NAME', 'timetracker');
 
  60 define('APP_NAME', '');
 
  65 // You may need to set this option if you migrate an older version of TT installation to a new server.
 
  66 // Older versions of TT used mysql password function to hash user passwords. Newer versions use md5.
 
  67 // Because the password function may behave differently between servers, the OLD_PASSWORD settings
 
  68 // gives you an opportunity to control it, if needed.
 
  70 // define('OLD_PASSWORDS', true);
 
  73 // Holidays. At this time holiday days are defined in the localization files (one file per language).
 
  74 // The SHOW_HOLIDAYS option defines whether holidays are highlighted with holiday color.
 
  76 define('SHOW_HOLIDAYS', true);
 
  79 // COST_ON_REPORTS - defines the availability of the Cost field on the Reports page.
 
  81 define('COST_ON_REPORTS', true);
 
  84 // READONLY_START_FINISH - defines whether the start and finish fields on time entry pages are read-only.
 
  85 // This applies to regular users only. Manager and co-managers can edit these values.
 
  87 // define('READONLY_START_FINISH', false);
 
  90 // FUTURE_ENTRIES - defines whether users can create entries for future dates. Defaults to true.
 
  92 // define('FUTURE_ENTRIES', false);
 
  95 // ALLOW_OVERLAP - defines whether overlapping time entries are allowed. Defaults to false.
 
  97 // define('ALLOW_OVERLAP', true);
 
 102 // This option defines which days are highlighted with weekend color.
 
 103 // 6 means Saturday. For Saudi Arabia, etc. set it to 4 for Thursday and Friday to be weekend days.
 
 105 define('WEEKEND_START_DAY', 6);
 
 110 // Lifetime in seconds for tt_PHPSESSID cookie. Time to live is extended by this value
 
 111 // with each visit to the site so that users don't have to re-login. 
 
 112 // define('PHPSESSID_TTL', 86400);
 
 114 // Note: see also PHP_SESSION_PATH below as you may have to use it together with
 
 115 // PHPSESSID_TTL to avoid premature session expirations.
 
 119 // Local file system path for PHP sessions. Use it to isolate session deletions
 
 120 // (garbage collection interference) by other PHP scripts potentially running on the system.
 
 121 // define('PHP_SESSION_PATH', '/tmp/timetracker'); // Directory must exist and be writable.
 
 124 // Forum and help links from the main menu.
 
 126 define('FORUM_LINK', 'https://www.anuko.com/forum/viewforum.php?f=4');
 
 127 define('HELP_LINK', 'https://www.anuko.com/time_tracker/user_guide/index.htm');
 
 130 // Default sender for mail.
 
 132 define('SENDER', '"Anuko Time Tracker" <no-reply@timetracker.anuko.com>');
 
 135 // MAIL_MODE - mail sending mode. Can be 'mail' or 'smtp'.
 
 136 // 'mail' - sending through php mail() function.
 
 137 // 'smtp' - sending directly through SMTP server.
 
 138 // See https://www.anuko.com/time_tracker/install_guide/mail.htm
 
 140 define('MAIL_MODE', 'smtp');
 
 141 define('MAIL_SMTP_HOST', 'localhost'); // For gmail use 'ssl://smtp.gmail.com' instead of 'localhost' and port 465.
 
 142 // define('MAIL_SMTP_PORT', '465');
 
 143 // define('MAIL_SMTP_USER', 'yourname@yourdomain.com');
 
 144 // define('MAIL_SMTP_PASSWORD', 'yourpassword');
 
 145 // define('MAIL_SMTP_AUTH', true);
 
 146 // define('MAIL_SMTP_DEBUG', true);
 
 149 // CSS files. They are located in the root of Time Tracker installation.
 
 151 define('DEFAULT_CSS', 'default.css');
 
 152 define('RTL_CSS', 'rtl.css'); // For right to left languages.
 
 155 // Default date format. Behaviour with not included formats is undefined. Possible values:
 
 160 define('DATE_FORMAT_DEFAULT', '%Y-%m-%d');
 
 163 // Default time format. Behaviour with not included formats is undefined. Possible values:
 
 166 define('TIME_FORMAT_DEFAULT', '%H:%M');
 
 169 // Default week start day.
 
 170 // Possible values: 0 - 6. 0 means Sunday.
 
 172 define('WEEK_START_DEFAULT', 0);
 
 175 // Default language of the application.
 
 176 // Possible values: en, fr, nl, etc. Empty string means the language is defined by user browser.
 
 178 define('LANG_DEFAULT', '');
 
 181 // Default currency symbol. Use €, £, a more specific dollar like US$, CAD, etc.
 
 183 define('CURRENCY_DEFAULT', '$');
 
 186 // EXPORT_DECIMAL_DURATION - defines whether time duration values are decimal in CSV and XML data exports (1.25 or 1,25 vs 1:15).
 
 188 define('EXPORT_DECIMAL_DURATION', true);
 
 191 // REPORT_FOOTER - defines whether to use a footer on reports.
 
 193 define('REPORT_FOOTER', true);
 
 196 // Authentication module (see WEB-INF/lib/auth/)
 
 197 // Possible authentication methods:
 
 198 //   db - internal database, logins and password hashes are stored in time tracker database.
 
 199 //   ldap - authentication against an LDAP directory such as OpenLDAP or Windows Active Directory.
 
 200 define('AUTH_MODULE', 'db');
 
 202 // LDAP authentication examples.
 
 203 // Go to https://www.anuko.com/time_tracker/install_guide/ldap_auth/index.htm for detailed configuration instructions.
 
 205 // Configuration example for OpenLDAP server:
 
 206 // define('AUTH_MODULE', 'ldap');
 
 207 // $GLOBALS['AUTH_MODULE_PARAMS'] = array(
 
 208 //  'server' => '127.0.0.1',                    // OpenLDAP server address or name. For secure LDAP use ldaps://hostname:port here.
 
 209 //  'type' => 'openldap',                       // Type of server. openldap type should also work with Sun Directory Server when member_of is empty.
 
 210                                                 // It may work with other (non Windows AD) LDAP servers. For Windows AD use the 'ad' type.
 
 211 //  'base_dn' => 'ou=People,dc=example,dc=com', // Base distinguished name in LDAP catalog.
 
 212 //  'default_domain' => 'example.com',          // Default domain.
 
 213 //  'member_of' => array());                    // List of groups, membership in which is required for user to be authenticated.
 
 216 // Configuration example for Windows domains with Active Directory:
 
 217 // define('AUTH_MODULE', 'ldap');
 
 218 // $GLOBALS['AUTH_MODULE_PARAMS'] = array(
 
 219 //  'server' => '127.0.0.1',            // Domain controller IP address or name. For secure LDAP use ldaps://hostname:port here.
 
 220 //  'type' => 'ad',                     // Type of server.
 
 221 //  'base_dn' => 'DC=example,DC=com',   // Base distinguished name in LDAP catalog.
 
 222 //  'default_domain' => 'example.com',  // Default domain.
 
 223 //  'member_of' => array());            // List of groups, membership in which is required for user to be authenticated.
 
 224                                         // Leave it empty if membership is not necessary. Otherwise list CN parts only.
 
 226                                         // array('Ldap Testers') means that the user must be a member Ldap Testers group.
 
 227                                         // array('Ldap Testers', 'Ldap Users') means the user must be a member of both Ldap Testers and Ldap Users groups.
 
 229 // define('AUTH_DEBUG', false); // Note: enabling AUTH_DEBUG breaks redirects as debug output is printed before setting redirect header. Do not enable on production systems.
 
 232 // Team managers can set monthly work hour quota for years between the following  values.
 
 233 // define('MONTHLY_QUOTA_YEAR_START', 2010); // If nothing is specified, it falls back to 2015.
 
 234 // define('MONTHLY_QUOTA_YEAR_END', 2025);   // If nothing is specified, it falls back to 2030.
 
 236 // Height in pixels for the note input field in time.php. Defaults to 40.
 
 237 // define('NOTE_INPUT_HEIGHT', 100);