|
82271ba85b
|
Add Field class to replace AbstractFilter::field
|
2020-08-17 22:24:50 +02:00 |
|
|
6afbf0cf77
|
Make Text component use htmlspecialchars, add Html component, update & fix uses
|
2020-08-17 18:59:45 +02:00 |
|
|
3f498335ac
|
Fix a few design and browser compatibility issues
|
2020-08-17 15:28:12 +02:00 |
|
|
2677a1321b
|
Add milestone delete page
|
2020-08-17 11:26:38 +02:00 |
|
|
2bd92c991d
|
Allow setting table filters from code
|
2020-08-17 10:51:52 +02:00 |
|
|
5b42253c81
|
Add milestone edit page & tweak milestone list
|
2020-08-16 23:06:45 +02:00 |
|
|
8b131a889c
|
Reuse LoadIssueId handler for generic numeric IDs
|
2020-08-16 21:03:38 +02:00 |
|
|
c04887170a
|
Split FieldOneOf into a nullable and non-nullable version & use correct ones in existing code
|
2020-08-16 17:36:44 +02:00 |
|
|
caa111fd59
|
Add per-tracker milestone ID to avoid leaking global IDs
|
2020-08-16 17:14:04 +02:00 |
|
|
c381c594fa
|
Fix or suppress several 'unused' IDE inspections
|
2020-08-16 11:33:46 +02:00 |
|
|
4f1680677b
|
Fix doubled htmlspecialchars in FormComponent fill method calls
|
2020-08-16 11:11:04 +02:00 |
|
|
0222574f74
|
Add special tracker owner role
|
2020-08-16 09:15:33 +02:00 |
|
|
617c00f082
|
Add transaction handling to update migration script
|
2020-08-16 09:13:32 +02:00 |
|
|
562c518a66
|
Add 'special' role flag
|
2020-08-16 09:11:38 +02:00 |
|
|
bf61835a6f
|
Add getLastInsertId utility function
|
2020-08-16 08:28:26 +02:00 |
|
|
eb668a0279
|
Refactor AbstractFilter to use IWhereCondition instead of multiple overrides & cleanup
|
2020-08-15 21:12:42 +02:00 |
|
|
3af33f180c
|
Refactor Request to include a convenience getAction method & use it
|
2020-08-15 20:26:16 +02:00 |
|
|
17ba93a623
|
Make tracker deletion a separate page with additional checks
|
2020-08-15 15:50:49 +02:00 |
|
|
f1cead5265
|
Fix cookie path & login return path to properly handle base path folders
|
2020-08-14 17:35:20 +02:00 |
|
|
43148e91cc
|
Sanitize login return url & add login requirement to certain tracker pages
|
2020-08-14 14:39:28 +02:00 |
|
|
f0704fd7d4
|
Allow FormComponents to have duplicate names without duplicate IDs
|
2020-08-12 21:04:09 +02:00 |
|
|
400071a419
|
Fix broken reset button on table filters
|
2020-08-12 19:10:12 +02:00 |
|
|
4260d2ae50
|
Ensure calling optional FormSelect with null value resets previous value
|
2020-08-12 17:15:41 +02:00 |
|
|
2c03cb4db0
|
Ensure FormNumberField initial value is within range & workaround step validation
|
2020-08-12 17:06:46 +02:00 |
|
|
3b6c687b93
|
Add 404 favicon route
|
2020-08-12 16:46:09 +02:00 |
|
|
da78cbca0b
|
Work on issue list page (show ID & last update w/ sorting), tweak collapsed column layout
|
2020-08-12 15:50:49 +02:00 |
|
|
35b58d958f
|
Fix broken default table sorting rules
|
2020-08-12 15:24:07 +02:00 |
|
|
0b2541bfbe
|
Add filters for trackers, users, issues, and tracker members
|
2020-08-12 15:12:14 +02:00 |
|
|
f1f239b68f
|
Implement SQL filtering & remove old code
|
2020-08-12 14:48:34 +02:00 |
|
|
62c1fdd39d
|
Remove table name parameter from AbstractFilter completely
|
2020-08-12 00:08:35 +02:00 |
|
|
7959c170d7
|
Move Filtering, Sorting, and Pagination classes
|
2020-08-12 00:08:35 +02:00 |
|
|
b6eb12cb45
|
Implement a filtering system w/ integration into table component (no SQL yet)
|
2020-08-12 00:08:35 +02:00 |
|
|
d239064235
|
Change sorting URLs to simplify code
|
2020-08-11 19:02:45 +02:00 |
|
|
afe1b7d25a
|
Cleanup code (formatting, missing 'final' modifiers)
|
2020-08-11 19:02:45 +02:00 |
|
|
a40e1002bf
|
Add multiselect form component (dropdown w/ checkboxes)
|
2020-08-11 19:02:45 +02:00 |
|
|
1a2ea4ae9a
|
Introduce common interface for AbstractIssueTag and IssueType
|
2020-08-11 12:05:42 +02:00 |
|
|
8c43d40ccb
|
Change some string functions to use mbstring
|
2020-08-10 22:51:42 +02:00 |
|
|
fb35d3cc13
|
Implement sorting in all tables & tweak default sorting rules
|
2020-08-10 22:32:41 +02:00 |
|
|
f10689fac9
|
Remove AbstractFilter table name parameter from ORDER BY clauses
|
2020-08-10 22:32:41 +02:00 |
|
|
7adc5208ad
|
Refactor AbstractFilter setup
|
2020-08-10 21:35:21 +02:00 |
|
|
e6338a2ae2
|
Implement a sorting system w/ integration into table component
|
2020-08-10 21:35:04 +02:00 |
|
|
03a1654a30
|
Add missing length validation to several fields
|
2020-08-10 16:26:10 +02:00 |
|
|
441deec263
|
Add account page with appearance settings
|
2020-08-10 16:21:00 +02:00 |
|
|
96e68a01b8
|
Allow changing position of form messages & update existing forms
|
2020-08-10 16:16:25 +02:00 |
|
|
0671789417
|
Move pagination elements per page property to a cookie
|
2020-08-10 15:05:49 +02:00 |
|
|
dcaaa09224
|
Implement client-side table layout fix to enable cell ellipsis
|
2020-08-10 14:28:56 +02:00 |
|
|
d8ad14ca08
|
Add missing column width % definitions
|
2020-08-10 14:25:38 +02:00 |
|
|
3681228a5f
|
Add resource versioning system
|
2020-08-10 11:35:43 +02:00 |
|
|
ef537673d2
|
Work on design (icons, buttons, milestone widget, accessibility)
|
2020-08-10 11:27:19 +02:00 |
|
|
3226d4299b
|
Finish CSRF protection (adding Origin header check alongside existing SameSite=Lax login token cookie)
|
2020-08-10 00:22:43 +02:00 |
|
|
9b4c40d62e
|
Fix wrong navigation links on invalid tracker pages
|
2020-08-09 22:14:16 +02:00 |
|
|
ed32adbfec
|
Fix base URL trailing slash & PHP version detection in PHP 5 and older
|
2020-08-09 21:42:02 +02:00 |
|
|
67471ff6ad
|
Fix missing htmlspecialchars on most form fields
|
2020-08-09 21:41:05 +02:00 |
|
|
79b608b54b
|
Change new issue properties & temporarily work around <input> range step validation
|
2020-08-09 18:33:57 +02:00 |
|
|
dd0ecce66f
|
Turn issue tags into constants
|
2020-08-09 18:31:32 +02:00 |
|
|
e620c20ced
|
Improve automatic issue task handling
|
2020-08-09 18:21:52 +02:00 |
|
|
9494f1480e
|
Work around garbage default spl_autoload_register implementation
|
2020-08-09 16:38:39 +02:00 |
|
|
cdd79a9878
|
Cleanup code and address minor TODOs and IDE inspections
|
2020-08-09 16:38:38 +02:00 |
|
|
655d3b1e7e
|
Add update migration system
|
2020-08-09 13:44:29 +02:00 |
|
|
820a05a3de
|
Fix crash when login token cookie is present but incorrect/expired
|
2020-08-09 12:53:28 +02:00 |
|
|
2597b7edd4
|
Add installation procedure w/ old installation detection
|
2020-08-09 12:27:11 +02:00 |
|
|
2fdace70b2
|
Move development server files to a separate folder
|
2020-08-09 00:14:20 +02:00 |
|
|
302516f37a
|
Enable file caching & disable direct access to folders and php files
|
2020-08-09 00:14:19 +02:00 |
|
|
dc7180240c
|
Add initial tracker permissions & fix broken logic
|
2020-08-08 15:26:29 +02:00 |
|
|
db8fd77ac4
|
Add per-tracker user settings & implement active milestone
|
2020-08-08 14:41:05 +02:00 |
|
|
2f58d6fceb
|
Fix empty side menu showing empty space in split pages
|
2020-08-08 13:21:53 +02:00 |
|
|
45ab784500
|
Implement milestone update date based on most recently updated issue
|
2020-08-08 13:14:13 +02:00 |
|
|
2176ac0891
|
Fix issue update date not updating when issue tasks change
|
2020-08-08 13:14:13 +02:00 |
|
|
f107dceba7
|
Minor code formatting fixes
|
2020-08-08 13:14:12 +02:00 |
|
|
5bac7dea12
|
Update code to use the new split component & work on responsiveness and design
|
2020-08-08 10:01:38 +02:00 |
|
|
b1992f0bf2
|
Add split component & improve splitting (tweaks, collapsing, width limits)
|
2020-08-08 09:46:04 +02:00 |
|
|
615623b9c0
|
Add issue checkbox syntax w/ update form
|
2020-08-07 20:23:30 +02:00 |
|
|
50a04f80e6
|
Allow issue editing for assignees
|
2020-08-07 19:03:28 +02:00 |
|
|
c66a00e766
|
Implement markdown-style heading parsing
|
2020-08-07 17:21:27 +02:00 |
|
|
9147168778
|
Add unicode iterator class
|
2020-08-07 16:22:41 +02:00 |
|
|
52f71fac6b
|
Make issue deletion a separate page with extra confirmation
|
2020-08-07 12:06:46 +02:00 |
|
|
d007f68726
|
Refactor issue ID loading & fix issue creation page
|
2020-08-07 11:35:24 +02:00 |
|
|
5746cf7541
|
Fix formatting & missing return type hints
|
2020-08-07 10:16:25 +02:00 |
|
|
fd923d9b57
|
Add script to convert <time> tags to local timezone
|
2020-08-07 10:10:29 +02:00 |
|
|
65aa7e1ff3
|
Fix wrong login return page for tracker URLs
|
2020-08-06 22:42:55 +02:00 |
|
|
d9dd66a6e5
|
Add issue create/edit page
|
2020-08-06 22:42:55 +02:00 |
|
|
64ff43fcf2
|
Fix disabled form fields not getting prefilled
|
2020-08-06 22:30:04 +02:00 |
|
|
05fac1a92d
|
Add number field component to forms
|
2020-08-06 21:50:21 +02:00 |
|
|
949ccdd409
|
Add basic issue details page
|
2020-08-06 21:50:21 +02:00 |
|
|
a6500a1508
|
Add tracker issue list page
|
2020-08-06 17:30:29 +02:00 |
|
|
87369b51e2
|
Add optional title to side menu component
|
2020-08-06 17:30:29 +02:00 |
|
|
b334fca4c1
|
Add empty tracker dashboard page
|
2020-08-06 15:45:49 +02:00 |
|
|
ae25051aa8
|
Minor fixes (code formatting, unused elements, future TODOs)
|
2020-08-06 15:45:49 +02:00 |
|
|
ab75ece64c
|
Add tracker milestone page w/ new icons
|
2020-08-06 14:51:01 +02:00 |
|
|
9be04ed438
|
Allow datetime components to omit time
|
2020-08-06 14:38:28 +02:00 |
|
|
b54655b647
|
Add composite component
|
2020-08-06 13:45:42 +02:00 |
|
|
bbfefae820
|
Add issue data classes w/ issue and milestone table definitions
|
2020-08-06 11:34:19 +02:00 |
|
|
41fbdcaee0
|
Improve SQL clause handling in filters (allows grouping & windows)
|
2020-08-06 07:50:18 +02:00 |
|
|
6cd260e6f5
|
Add a WIP tracker members page
|
2020-08-05 16:58:46 +02:00 |
|
|
7ff9b9ed25
|
Add form component for select tags
|
2020-08-05 15:07:12 +02:00 |
|
|
3ce3943200
|
Add tracker settings page
|
2020-08-05 12:34:52 +02:00 |
|
|
e0bb045859
|
Improve forms (disabled field & pre-fill handling)
|
2020-08-05 11:29:48 +02:00 |
|
|
c76cb42f6b
|
Add tracker membership and permission system
|
2020-08-05 09:22:12 +02:00 |
|
|
4288992e3c
|
Add optional table name parameter to filters
|
2020-08-05 07:00:33 +02:00 |
|
|
3b662353c6
|
Fix navigation menu when displaying a fatal error page
|
2020-08-05 06:51:51 +02:00 |
|
|
ba47743ea5
|
Refactor system permission table, ensure rollback on fail, and add basic guest/role-less user perms
|
2020-08-05 06:51:50 +02:00 |
|
|
ad32c40c1b
|
Add 'Trackers' page
|
2020-08-04 12:16:32 +02:00 |
|
|
96c47e1bd6
|
Add 'Settings' admin page
|
2020-08-04 10:04:51 +02:00 |
|
|
b03680cf98
|
Add 'Users' admin page
|
2020-08-04 09:35:26 +02:00 |
|
|
5551da2fc2
|
Add datetime component & form components (icon button, titled sections, confirmation)
|
2020-08-04 09:24:23 +02:00 |
|
|
d50ded3936
|
Add WIP permission system w/ system perms, admin account, and controller support
|
2020-08-04 09:24:23 +02:00 |
|
|
efd84c0607
|
Add basic table component with pagination
|
2020-08-03 23:39:37 +02:00 |
|
|
5113e754f8
|
Add account settings page & logout action
|
2020-08-03 23:06:23 +02:00 |
|
|
2f8f445994
|
Add progress bar component
|
2020-08-03 22:21:11 +02:00 |
|
|
9ffd847bb0
|
Add tracker table and basic tracker page classes
|
2020-08-03 21:22:26 +02:00 |
|
|
4cc4a4fc25
|
Add side menu component
|
2020-08-03 10:34:41 +02:00 |
|
|
04f86b8b06
|
Add user registration and login pages
|
2020-08-03 09:55:17 +02:00 |
|
|
53a25994f2
|
Add basic Form component
|
2020-08-03 08:44:46 +02:00 |
|
|
888c030e6c
|
Add 'About' page
|
2020-08-03 08:44:46 +02:00 |
|
|
8cb3ad6005
|
Add error page
|
2020-08-03 08:44:45 +02:00 |
|
|
41c3bb71c1
|
Add abstract page model classes
|
2020-08-03 08:44:45 +02:00 |
|
|
4696ccb6a3
|
Add users and user login session handling
|
2020-08-03 08:44:45 +02:00 |
|
|
790f0ea9c0
|
Add database connection and utilities
|
2020-08-03 08:44:45 +02:00 |
|
|
ec6f5fcc66
|
Add basic controller actions
|
2020-08-03 08:44:45 +02:00 |
|
|
065184bc60
|
Add basic page layout w/ navigation, font, and icons
|
2020-08-03 06:57:26 +02:00 |
|
|
e8655d9ace
|
Add a data validation system
|
2020-08-03 03:11:12 +02:00 |
|
|
0dba4102b9
|
Add a routing system
|
2020-08-03 03:11:12 +02:00 |
|
|
5a88086b68
|
Add early bootstrap code and htaccess
|
2020-08-03 03:11:12 +02:00 |
|