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=utf8mb4');
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 top groups (organizations).
46 // When false, a Time Tracker server is managed by admin, who creates top groups (one or many).
48 // Available values are true or false.
50 define('MULTITEAM_MODE', true);
54 // If you install time tracker into a sub-directory of your site reflect this in the APP_NAME parameter.
55 // For example, for http://localhost/timetracker/ define APP_NAME as 'timetracker'.
57 // define('APP_NAME', 'timetracker');
59 define('APP_NAME', '');
64 // You may need to set this option if you migrate an older version of TT installation to a new server.
65 // Older versions of TT used mysql password function to hash user passwords. Newer versions use md5.
66 // Because the password function may behave differently between servers, the OLD_PASSWORD settings
67 // gives you an opportunity to control it, if needed.
69 // define('OLD_PASSWORDS', true);
74 // This option defines which days are highlighted with weekend color.
75 // 6 means Saturday. For Saudi Arabia, etc. set it to 4 for Thursday and Friday to be weekend days.
77 define('WEEKEND_START_DAY', 6);
82 // Lifetime in seconds for tt_PHPSESSID cookie. Time to live is extended by this value
83 // with each visit to the site so that users don't have to re-login.
84 // define('PHPSESSID_TTL', 86400);
86 // Note: see also PHP_SESSION_PATH below as you may have to use it together with
87 // PHPSESSID_TTL to avoid premature session expirations.
91 // Local file system path for PHP sessions. Use it to isolate session deletions
92 // (garbage collection interference) by other PHP scripts potentially running on the system.
93 // define('PHP_SESSION_PATH', '/tmp/timetracker'); // Directory must exist and be writable.
96 // Forum and help links from the main menu.
98 define('FORUM_LINK', 'https://www.anuko.com/forum/viewforum.php?f=4');
99 define('HELP_LINK', 'https://www.anuko.com/time_tracker/user_guide/index.htm');
102 // Default sender for mail.
104 define('SENDER', '"Anuko Time Tracker" <no-reply@timetracker.anuko.com>');
107 // MAIL_MODE - mail sending mode. Can be 'mail' or 'smtp'.
108 // 'mail' - sending through php mail() function.
109 // 'smtp' - sending directly through SMTP server.
110 // See https://www.anuko.com/time_tracker/install_guide/mail.htm
112 define('MAIL_MODE', 'smtp');
113 define('MAIL_SMTP_HOST', 'localhost'); // For gmail use 'ssl://smtp.gmail.com' instead of 'localhost' and port 465.
114 // define('MAIL_SMTP_PORT', '465');
115 // define('MAIL_SMTP_USER', 'yourname@yourdomain.com');
116 // define('MAIL_SMTP_PASSWORD', 'yourpassword');
117 // define('MAIL_SMTP_AUTH', true);
118 // define('MAIL_SMTP_DEBUG', true);
121 // CSS files. They are located in the root of Time Tracker installation.
123 define('DEFAULT_CSS', 'default.css');
124 define('RTL_CSS', 'rtl.css'); // For right to left languages.
127 // Default date format. Behaviour with not included formats is undefined. Possible values:
132 define('DATE_FORMAT_DEFAULT', '%Y-%m-%d');
135 // Default time format. Behaviour with not included formats is undefined. Possible values:
138 define('TIME_FORMAT_DEFAULT', '%H:%M');
141 // Default week start day.
142 // Possible values: 0 - 6. 0 means Sunday.
144 define('WEEK_START_DEFAULT', 0);
147 // Default language of the application.
148 // Possible values: en, fr, nl, etc. Empty string means the language is defined by user browser.
150 define('LANG_DEFAULT', '');
153 // Default currency symbol. Use €, £, a more specific dollar like US$, CAD, etc.
155 define('CURRENCY_DEFAULT', '$');
158 // EXPORT_DECIMAL_DURATION - defines whether time duration values are decimal in CSV and XML data exports (1.25 or 1,25 vs 1:15).
160 define('EXPORT_DECIMAL_DURATION', true);
163 // REPORT_FOOTER - defines whether to use a footer on reports.
165 define('REPORT_FOOTER', true);
168 // Authentication module (see WEB-INF/lib/auth/)
169 // Possible authentication methods:
170 // db - internal database, logins and password hashes are stored in time tracker database.
171 // ldap - authentication against an LDAP directory such as OpenLDAP or Windows Active Directory.
172 define('AUTH_MODULE', 'db');
174 // LDAP authentication examples.
175 // Go to https://www.anuko.com/time_tracker/install_guide/ldap_auth/index.htm for detailed configuration instructions.
177 // Configuration example for OpenLDAP server:
178 // define('AUTH_MODULE', 'ldap');
179 // $GLOBALS['AUTH_MODULE_PARAMS'] = array(
180 // 'server' => '127.0.0.1', // OpenLDAP server address or name. For secure LDAP use ldaps://hostname:port here.
181 // 'type' => 'openldap', // Type of server. openldap type should also work with Sun Directory Server when member_of is empty.
182 // It may work with other (non Windows AD) LDAP servers. For Windows AD use the 'ad' type.
183 // 'base_dn' => 'ou=People,dc=example,dc=com', // Base distinguished name in LDAP catalog.
184 // 'default_domain' => 'example.com', // Default domain.
185 // 'member_of' => array()); // List of groups, membership in which is required for user to be authenticated.
188 // Configuration example for Windows domains with Active Directory:
189 // define('AUTH_MODULE', 'ldap');
190 // $GLOBALS['AUTH_MODULE_PARAMS'] = array(
191 // 'server' => '127.0.0.1', // Domain controller IP address or name. For secure LDAP use ldaps://hostname:port here.
192 // 'type' => 'ad', // Type of server.
193 // 'base_dn' => 'DC=example,DC=com', // Base distinguished name in LDAP catalog.
194 // 'default_domain' => 'example.com', // Default domain.
195 // 'member_of' => array()); // List of groups, membership in which is required for user to be authenticated.
196 // Leave it empty if membership is not necessary. Otherwise list CN parts only.
198 // array('Ldap Testers') means that the user must be a member Ldap Testers group.
199 // array('Ldap Testers', 'Ldap Users') means the user must be a member of both Ldap Testers and Ldap Users groups.
201 // 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.
204 // Team managers can set monthly work hour quota for years between the following values.
205 // define('MONTHLY_QUOTA_YEAR_START', 2010); // If nothing is specified, it falls back to 2015.
206 // define('MONTHLY_QUOTA_YEAR_END', 2025); // If nothing is specified, it falls back to 2030.
208 // Height in pixels for the note input field in time.php. Defaults to 40.
209 // define('NOTE_INPUT_HEIGHT', 100);
211 // A temporary config option while development of subgroup support is ongoing. To be removed later.
212 // define('SUBGROUP_DEBUG', false);