Initial commit: Kimai TMS

Kimai time management system (PHP 5.6 / MySQL) with custom extensions:
- Budget tracking (ki_budget)
- Change request form (ki_changerequest)
- Invoice generation (ki_invoice)
- Expense tracking (ki_expenses)
- Flexi time (ki_flexitime)
- Export, admin panel, timesheets, tasks, summary

Database: ~900K time entries, 2,000+ users, 439 projects.
Config: includes/autoconf.php — localhost/kimai/kimai
This commit is contained in:
TMS
2026-06-18 21:20:26 +00:00
commit eb299c9131
1099 changed files with 359817 additions and 0 deletions

35
skins/standard/buzzer.css Normal file
View File

@@ -0,0 +1,35 @@
#buzzer {
position:absolute;
top:7px;
right:10px;
width: 75px;
height: 75px;
overflow: hidden;
}
#buzzer div {
display: block;
background: url(grfx/g3_buzzer.png) no-repeat 0 0px;
width: 75px;
height: 75px;
text-indent: -1000px;
}
#buzzer div:hover {
cursor: pointer;
background: url(grfx/g3_buzzer.png) no-repeat 0 -75px;
}
#buzzer.act div {
background: url(grfx/g3_buzzer.png) no-repeat 0 -150px;
}
#buzzer.act div:hover {
cursor: pointer;
background: url(grfx/g3_buzzer.png) no-repeat 0 -225px;
}
#buzzer.disabled div, #buzzer.disabled div:hover {
cursor: auto;
background: url(grfx/g3_buzzer.png) no-repeat 0 -300px;
}

View File

@@ -0,0 +1,166 @@
.ui-datepicker {
width: 298px;
background-color: #333;
border: 1px solid #000;
z-index:500 !important;
display:none;
}
.ui-datepicker-title {
color: #FFF;
font-size: 14px;
text-align: center;
margin: 2px 0 8px 0;
padding-top:3px;
height: 22px;
width: 302px;
}
.ui-datepicker-prev {
position: absolute;
top: 0;
left: 6px;
width: 65px;
height: 20px;
margin-top: 5px;
margin-left: 1px;
}
.ui-datepicker-prev {
float: left;
width: 15px;
height: 15px;
}
/* Opera needs the rules to be this specific otherwise it doesn't change the cursor back to pointer after you have disabled and re-enabled a link */
.ui-datepicker-prev,
.ui-datepicker-next {
cursor: pointer;
}
.ui-datepicker-prev .disabled,
.ui-datepicker-next .disabled {
cursor: default;
}
.ui-datepicker-next {
position: absolute;
top: 0px;
right: 5px;
width: 66px;
height: 20px;
margin-top: 5px;
margin-right: 1px;
}
.ui-datepicker-next {
float: right;
width: 15px;
height: 15px;
}
.ui-state-disabled {
cursor: default;
color: #aaa;
opacity: 0.3;
-moz-opacity: 0.3;
filter:alpha(opacity=30);
}
.ui-datepicker-prev {
background: url(grfx/picker_buttons.png) no-repeat -40px 0;
display: block;
padding-top: 5px;
padding-right: 25px;
}
.ui-datepicker-next {
background: url(grfx/picker_buttons.png) no-repeat -80px 0;
display: block;
padding-top: 5px;
padding-right: 25px;
font-size: 0;
line-height: 0;
margin-right: 3px;
}
.ui-datepicker-calendar td {
cursor: pointer;
}
.ui-datepicker-calendar th {
background: url(grfx/picker_bg_weekdays.png) no-repeat;
width: 40px;
height: 40px;
color: #fff;
font-weight: bold;
}
.ui-datepicker-calendar th.ui-datepicker-week-end {
background: url(grfx/picker_bg_weekend.png) no-repeat;
}
.ui-datepicker-calendar td {
background: url(grfx/picker_bg_norm.png) no-repeat;
width: 40px;
height: 40px;
color: #000;
text-align: center;
}
.ui-datepicker-calendar td.ui-datepicker-other-month {
background: url(grfx/picker_bg_otherMonth.png) no-repeat;
color: #aaa;
}
.ui-datepicker-calendar td.ui-datepicker-other-month:hover {
background: url(grfx/picker_bg_otherMonth.png) no-repeat;
color: #888;
}
.ui-datepicker-calendar td.ui-datepicker-unselectable {
cursor: default;
}
.ui-datepicker-calendar a {
color: #000;
text-decoration:none;
}
.ui-datepicker-calendar td:hover {
background: url(grfx/picker_bg_hover.png) no-repeat;
color: #000;
}
.ui-datepicker-calendar td.ui-datepicker-today {
background: url(grfx/picker_bg_today.png) no-repeat;
font-weight: bold;
}
.ui-datepicker-calendar td.ui-datepicker-today:hover {
background: url(grfx/picker_bg_today_hover.png) no-repeat;
}
.ui-datepicker-calendar td.ui-datepicker-today a {
color: #fff;
}
.ui-datepicker-calendar td.ui-datepicker-current-day,
.ui-datepicker-calendar td.ui-datepicker-current-day:hover
{
background: url(grfx/picker_bg_selected.png) no-repeat;
}
.ui-datepicker-calendar td.ui-datepicker-current-day a {
color:#fff;
}

View File

@@ -0,0 +1,51 @@
#selector div.dropdown {
position:relative;
display:block;
z-index:110;
left:17px;
top:20px;
background-color:white;
padding:3px;
border:1px solid black;
display:none;
overflow:auto;
opacity:.9;
}
#selector div.dropdown {
width:180px;
}
#selector span.entry {
font-size:12px;
padding:0;
margin:0;
height:16;
margin-bottom:3px;
display:block;
}
#selector span.entry:hover {
color:red;
}
#selector img.icon {
vertical-align:middle;
padding:0;
margin:0;
height:16px;
width:16px;
}
#selector a,
#selector a:visited
{
color:#000;
text-decoration:none;
}

154
skins/standard/floater.css Normal file
View File

@@ -0,0 +1,154 @@
#floater {
border:1px solid #fff;
position: absolute;
padding:5px;
background: url("grfx/floaterborder.png");
z-index: 500;
display:none;
}
.floater_content {
color: #FFFFFF;
font-size:11px;
}
.floater_content a,
.floater_content a:visited {
color:#fff;
}
#floater_innerwrap {
background-color:#444;
border: 1px solid #222;
}
#floater_tabs {
padding:10px;
overflow: auto;
}
/* forms */
#floater_innerwrap form {
clear:both; /* because of tab selection */
margin:5px;
}
#floater_innerwrap fieldset {
border:none;
}
#floater_innerwrap fieldset label {
margin-right:5px;
width:110px;
float:left;
text-align:right;
}
#floater_innerwrap fieldset ul {
margin:0;
padding:0;
list-style:none;
}
#floater_innerwrap fieldset li {
border-bottom:1px dotted #666;
padding: 5px 0;
}
#floater_innerwrap select,
#floater_innerwrap input,
#floater_innerwrap textarea
{
background-color:#fff;
border:3px double #bbb;
}
/* BUTTONS */
#formbuttons {
margin-top:10px;
}
#formbuttons .btn_ok {
cursor: pointer;
background-color:#4AA917;
font-weight:bold;
color:#fff;
}
#formbuttons .btn_norm {
cursor: pointer;
background-color:#B72917;
font-weight:bold;
color:#fff;
}
#floater div#help {
cursor: pointer;
font-size:10px;
background-color:#666;
border-bottom:1px solid #777;
}
#floater div#help div.content {
padding:10px;
color:#fff;
}
/* Floater Handle */
#floater_handle {
background: url("grfx/g3_table_header.png");
border-bottom:1px solid #555;
padding:2px;
padding-left:10px;
font-weight:bold;
line-height:18px;
color: #FFFFFF;
height:20px;
}
#floater_handle:hover {
cursor: move;
}
#floater_handle div.right {
position:absolute;
overflow:hidden;
width:80px;
height:16px;
top:9px;
right:10px;
}
#floater_handle div.right a {
cursor: pointer;
margin-left:2px;
float:right;
overflow:hidden;
display:block;
width:22px;
height:16px;
text-indent:-500px;
}
#floater_handle div.right a.close {
background: url('grfx/close.png') no-repeat;
}
#floater_handle div.right a.options.down {
background: url('grfx/options2.png') no-repeat 0 0;
}
#floater_handle div.right a.options.up {
background: url('grfx/options2.png') no-repeat 0 -16px;
}
#floater_handle div.right a.help {
background: url('grfx/help.png') no-repeat 0 0;
}
.ui-tabs .ui-tabs-hide {
display:none;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
skins/standard/grfx/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
skins/standard/grfx/bg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

BIN
skins/standard/grfx/cal.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

BIN
skins/standard/grfx/off.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

BIN
skins/standard/grfx/on.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

Some files were not shown because too many files have changed in this diff Show More