-
82271ba85b
Add Field class to replace AbstractFilter::field
chylex
2020-08-17 22:21:45 +0200
-
6afbf0cf77
Make Text component use htmlspecialchars, add Html component, update & fix uses
chylex
2020-08-17 18:59:29 +0200
-
3f498335ac
Fix a few design and browser compatibility issues
chylex
2020-08-17 14:48:35 +0200
-
2677a1321b
Add milestone delete page
chylex
2020-08-17 10:53:12 +0200
-
2bd92c991d
Allow setting table filters from code
chylex
2020-08-17 10:51:52 +0200
-
5b42253c81
Add milestone edit page & tweak milestone list
chylex
2020-08-16 23:06:45 +0200
-
8b131a889c
Reuse LoadIssueId handler for generic numeric IDs
chylex
2020-08-16 21:03:38 +0200
-
c04887170a
Split FieldOneOf into a nullable and non-nullable version & use correct ones in existing code
chylex
2020-08-16 17:27:38 +0200
-
caa111fd59
Add per-tracker milestone ID to avoid leaking global IDs
chylex
2020-08-16 14:01:29 +0200
-
c381c594fa
Fix or suppress several 'unused' IDE inspections
chylex
2020-08-16 11:33:46 +0200
-
4f1680677b
Fix doubled htmlspecialchars in FormComponent fill method calls
chylex
2020-08-16 11:06:35 +0200
-
0222574f74
Add special tracker owner role
chylex
2020-08-16 09:15:33 +0200
-
617c00f082
Add transaction handling to update migration script
chylex
2020-08-16 09:13:32 +0200
-
562c518a66
Add 'special' role flag
chylex
2020-08-16 09:10:51 +0200
-
bf61835a6f
Add getLastInsertId utility function
chylex
2020-08-16 08:28:26 +0200
-
eb668a0279
Refactor AbstractFilter to use IWhereCondition instead of multiple overrides & cleanup
chylex
2020-08-15 21:11:17 +0200
-
3af33f180c
Refactor Request to include a convenience getAction method & use it
chylex
2020-08-15 19:53:16 +0200
-
17ba93a623
Make tracker deletion a separate page with additional checks
chylex
2020-08-15 14:56:29 +0200
-
b317d48091
Allow .icon class to be placed on <a> tags
chylex
2020-08-15 14:54:53 +0200
-
046c115a43
Add detection and table filtering support for MySQL 8's utf8mb4_0900_ai_ci collation
utf8mb4_0900_ai_ci
chylex
2020-08-15 11:12:15 +0200
-
-
6241b06ab8
Add form multiselect overflow slicing & fix excessive callbacks
chylex
2020-08-15 07:16:49 +0200
-
01e9cf8d64
Fix formatting in forms.js & add old browser innerText workaround
chylex
2020-08-14 19:10:43 +0200
-
f1cead5265
Fix cookie path & login return path to properly handle base path folders
chylex
2020-08-14 16:50:39 +0200
-
43148e91cc
Sanitize login return url & add login requirement to certain tracker pages
chylex
2020-08-14 14:38:43 +0200
-
f0704fd7d4
Allow FormComponents to have duplicate names without duplicate IDs
chylex
2020-08-12 21:04:09 +0200
-
400071a419
Fix broken reset button on table filters
chylex
2020-08-12 19:10:12 +0200
-
4260d2ae50
Ensure calling optional FormSelect with null value resets previous value
chylex
2020-08-12 17:07:39 +0200
-
2c03cb4db0
Ensure FormNumberField initial value is within range & workaround step validation
chylex
2020-08-12 17:06:46 +0200
-
3b6c687b93
Add 404 favicon route
chylex
2020-08-12 16:46:09 +0200
-
43cf12125d
Change color of small issue scale tag
chylex
2020-08-12 16:21:47 +0200
-
fc81c271f2
Fix broken table single-line filter layout & tweak its design further
chylex
2020-08-12 16:19:42 +0200
-
da78cbca0b
Work on issue list page (show ID & last update w/ sorting), tweak collapsed column layout
chylex
2020-08-12 15:34:16 +0200
-
35b58d958f
Fix broken default table sorting rules
chylex
2020-08-12 15:24:07 +0200
-
0b2541bfbe
Add filters for trackers, users, issues, and tracker members
chylex
2020-08-12 14:58:48 +0200
-
f1f239b68f
Implement SQL filtering & remove old code
chylex
2020-08-12 00:13:06 +0200
-
62c1fdd39d
Remove table name parameter from AbstractFilter completely
chylex
2020-08-11 23:32:03 +0200
-
7959c170d7
Move Filtering, Sorting, and Pagination classes
chylex
2020-08-11 22:45:18 +0200
-
b6eb12cb45
Implement a filtering system w/ integration into table component (no SQL yet)
chylex
2020-08-11 20:30:55 +0200
-
d239064235
Change sorting URLs to simplify code
chylex
2020-08-11 17:06:13 +0200
-
afe1b7d25a
Cleanup code (formatting, missing 'final' modifiers)
chylex
2020-08-11 13:23:42 +0200
-
a40e1002bf
Add multiselect form component (dropdown w/ checkboxes)
chylex
2020-08-11 11:14:27 +0200
-
1a2ea4ae9a
Introduce common interface for AbstractIssueTag and IssueType
chylex
2020-08-11 03:28:34 +0200
-
43aa6c7eda
Redesign issue task strikethrough
chylex
2020-08-10 22:55:15 +0200
-
8c43d40ccb
Change some string functions to use mbstring
chylex
2020-08-10 22:51:42 +0200
-
fb35d3cc13
Implement sorting in all tables & tweak default sorting rules
chylex
2020-08-10 22:16:00 +0200
-
f10689fac9
Remove AbstractFilter table name parameter from ORDER BY clauses
chylex
2020-08-10 22:14:58 +0200
-
7adc5208ad
Refactor AbstractFilter setup
chylex
2020-08-10 21:33:10 +0200
-
e6338a2ae2
Implement a sorting system w/ integration into table component
chylex
2020-08-10 20:52:44 +0200
-
03a1654a30
Add missing length validation to several fields
chylex
2020-08-10 16:26:10 +0200
-
441deec263
Add account page with appearance settings
chylex
2020-08-10 16:21:00 +0200
-
96e68a01b8
Allow changing position of form messages & update existing forms
chylex
2020-08-10 16:16:04 +0200
-
0671789417
Move pagination elements per page property to a cookie
chylex
2020-08-10 15:05:49 +0200
-
dcaaa09224
Implement client-side table layout fix to enable cell ellipsis
chylex
2020-08-10 14:28:56 +0200
-
d8ad14ca08
Add missing column width % definitions
chylex
2020-08-10 14:25:38 +0200
-
81e8f7047f
Tweak <article> and table icon layout
chylex
2020-08-10 14:25:20 +0200
-
3681228a5f
Add resource versioning system
chylex
2020-08-10 11:35:43 +0200
-
ef537673d2
Work on design (icons, buttons, milestone widget, accessibility)
chylex
2020-08-10 10:45:31 +0200
-
3226d4299b
Finish CSRF protection (adding Origin header check alongside existing SameSite=Lax login token cookie)
chylex
2020-08-10 00:22:33 +0200
-
9b4c40d62e
Fix wrong navigation links on invalid tracker pages
chylex
2020-08-09 22:14:16 +0200
-
ed32adbfec
Fix base URL trailing slash & PHP version detection in PHP 5 and older
chylex
2020-08-09 21:42:02 +0200
-
45e9cd88cf
Add README
chylex
2020-08-09 21:09:16 +0200
-
67471ff6ad
Fix missing htmlspecialchars on most form fields
chylex
2020-08-09 21:03:05 +0200
-
d6ac74358a
Tweak progress bar design to avoid tearing in stripes
chylex
2020-08-09 20:32:06 +0200
-
79b608b54b
Change new issue properties & temporarily work around <input> range step validation
chylex
2020-08-09 18:33:57 +0200
-
dd0ecce66f
Turn issue tags into constants
chylex
2020-08-09 18:31:32 +0200
-
e620c20ced
Improve automatic issue task handling
chylex
2020-08-09 17:34:31 +0200
-
d309496986
Add support for older MySQL versions with low InnoDB key size limits
chylex
2020-08-09 16:41:07 +0200
-
9494f1480e
Work around garbage default spl_autoload_register implementation
chylex
2020-08-09 15:57:57 +0200
-
cdd79a9878
Cleanup code and address minor TODOs and IDE inspections
chylex
2020-08-09 14:29:46 +0200
-
655d3b1e7e
Add update migration system
chylex
2020-08-09 13:33:25 +0200
-
820a05a3de
Fix crash when login token cookie is present but incorrect/expired
chylex
2020-08-09 12:53:28 +0200
-
2597b7edd4
Add installation procedure w/ old installation detection
chylex
2020-08-09 00:14:03 +0200
-
2fdace70b2
Move development server files to a separate folder
chylex
2020-08-08 18:08:55 +0200
-
302516f37a
Enable file caching & disable direct access to folders and php files
chylex
2020-08-08 18:05:08 +0200
-
30ee02cd4d
Remove icomoon.svg, add icomoon.woff2, fix format order
chylex
2020-08-08 17:33:34 +0200
-
88df6bbaf3
Add license
Daniel Chýlek
2020-08-08 17:46:17 +0200
-
dc7180240c
Add initial tracker permissions & fix broken logic
chylex
2020-08-08 15:26:29 +0200
-
db8fd77ac4
Add per-tracker user settings & implement active milestone
chylex
2020-08-08 14:07:46 +0200
-
95556f9eab
Ensure issues cannot be assigned milestones from other trackers
chylex
2020-08-08 14:05:42 +0200
-
2f58d6fceb
Fix empty side menu showing empty space in split pages
chylex
2020-08-08 13:21:53 +0200
-
45ab784500
Implement milestone update date based on most recently updated issue
chylex
2020-08-08 10:24:54 +0200
-
2176ac0891
Fix issue update date not updating when issue tasks change
chylex
2020-08-08 10:24:03 +0200
-
f107dceba7
Minor code formatting fixes
chylex
2020-08-08 10:03:23 +0200
-
5bac7dea12
Update code to use the new split component & work on responsiveness and design
chylex
2020-08-08 09:48:57 +0200
-
b1992f0bf2
Add split component & improve splitting (tweaks, collapsing, width limits)
chylex
2020-08-07 22:27:03 +0200
-
615623b9c0
Add issue checkbox syntax w/ update form
chylex
2020-08-07 19:08:07 +0200
-
50a04f80e6
Allow issue editing for assignees
chylex
2020-08-07 19:03:28 +0200
-
c66a00e766
Implement markdown-style heading parsing
chylex
2020-08-07 16:23:07 +0200
-
9147168778
Add unicode iterator class
chylex
2020-08-07 16:22:41 +0200
-
52f71fac6b
Make issue deletion a separate page with extra confirmation
chylex
2020-08-07 12:06:46 +0200
-
d007f68726
Refactor issue ID loading & fix issue creation page
chylex
2020-08-07 11:35:24 +0200
-
5746cf7541
Fix formatting & missing return type hints
chylex
2020-08-07 10:16:25 +0200
-
fd923d9b57
Add script to convert <time> tags to local timezone
chylex
2020-08-07 10:10:29 +0200
-
65aa7e1ff3
Fix wrong login return page for tracker URLs
chylex
2020-08-06 22:34:44 +0200
-
d9dd66a6e5
Add issue create/edit page
chylex
2020-08-06 22:00:14 +0200
-
64ff43fcf2
Fix disabled form fields not getting prefilled
chylex
2020-08-06 22:29:55 +0200
-
08ab67b27e
Improve design & reliability of disabled form components
chylex
2020-08-06 22:24:06 +0200
-
05fac1a92d
Add number field component to forms
chylex
2020-08-06 21:32:21 +0200
-
949ccdd409
Add basic issue details page
chylex
2020-08-06 17:59:15 +0200
-
a6500a1508
Add tracker issue list page
chylex
2020-08-06 16:57:19 +0200