Commit Graph
100 Commits
Author SHA1 Message Date
chylex 046c115a43 Add detection and table filtering support for MySQL 8's utf8mb4_0900_ai_ci collation 2020-08-15 11:13:37 +02:00
chylex 6241b06ab8 Add form multiselect overflow slicing & fix excessive callbacks 2020-08-15 07:16:49 +02:00
chylex 01e9cf8d64 Fix formatting in forms.js & add old browser innerText workaround 2020-08-14 19:12:52 +02:00
chylex f1cead5265 Fix cookie path & login return path to properly handle base path folders 2020-08-14 17:35:20 +02:00
chylex 43148e91cc Sanitize login return url & add login requirement to certain tracker pages 2020-08-14 14:39:28 +02:00
chylex f0704fd7d4 Allow FormComponents to have duplicate names without duplicate IDs 2020-08-12 21:04:09 +02:00
chylex 400071a419 Fix broken reset button on table filters 2020-08-12 19:10:12 +02:00
chylex 4260d2ae50 Ensure calling optional FormSelect with null value resets previous value 2020-08-12 17:15:41 +02:00
chylex 2c03cb4db0 Ensure FormNumberField initial value is within range & workaround step validation 2020-08-12 17:06:46 +02:00
chylex 3b6c687b93 Add 404 favicon route 2020-08-12 16:46:09 +02:00
chylex 43cf12125d Change color of small issue scale tag 2020-08-12 16:21:47 +02:00
chylex fc81c271f2 Fix broken table single-line filter layout & tweak its design further 2020-08-12 16:19:42 +02:00
chylex da78cbca0b Work on issue list page (show ID & last update w/ sorting), tweak collapsed column layout 2020-08-12 15:50:49 +02:00
chylex 35b58d958f Fix broken default table sorting rules 2020-08-12 15:24:07 +02:00
chylex 0b2541bfbe Add filters for trackers, users, issues, and tracker members 2020-08-12 15:12:14 +02:00
chylex f1f239b68f Implement SQL filtering & remove old code 2020-08-12 14:48:34 +02:00
chylex 62c1fdd39d Remove table name parameter from AbstractFilter completely 2020-08-12 00:08:35 +02:00
chylex 7959c170d7 Move Filtering, Sorting, and Pagination classes 2020-08-12 00:08:35 +02:00
chylex b6eb12cb45 Implement a filtering system w/ integration into table component (no SQL yet) 2020-08-12 00:08:35 +02:00
chylex d239064235 Change sorting URLs to simplify code 2020-08-11 19:02:45 +02:00
chylex afe1b7d25a Cleanup code (formatting, missing 'final' modifiers) 2020-08-11 19:02:45 +02:00
chylex a40e1002bf Add multiselect form component (dropdown w/ checkboxes) 2020-08-11 19:02:45 +02:00
chylex 1a2ea4ae9a Introduce common interface for AbstractIssueTag and IssueType 2020-08-11 12:05:42 +02:00
chylex 43aa6c7eda Redesign issue task strikethrough 2020-08-10 22:55:15 +02:00
chylex 8c43d40ccb Change some string functions to use mbstring 2020-08-10 22:51:42 +02:00
chylex fb35d3cc13 Implement sorting in all tables & tweak default sorting rules 2020-08-10 22:32:41 +02:00
chylex f10689fac9 Remove AbstractFilter table name parameter from ORDER BY clauses 2020-08-10 22:32:41 +02:00
chylex 7adc5208ad Refactor AbstractFilter setup 2020-08-10 21:35:21 +02:00
chylex e6338a2ae2 Implement a sorting system w/ integration into table component 2020-08-10 21:35:04 +02:00
chylex 03a1654a30 Add missing length validation to several fields 2020-08-10 16:26:10 +02:00
chylex 441deec263 Add account page with appearance settings 2020-08-10 16:21:00 +02:00
chylex 96e68a01b8 Allow changing position of form messages & update existing forms 2020-08-10 16:16:25 +02:00
chylex 0671789417 Move pagination elements per page property to a cookie 2020-08-10 15:05:49 +02:00
chylex dcaaa09224 Implement client-side table layout fix to enable cell ellipsis 2020-08-10 14:28:56 +02:00
chylex d8ad14ca08 Add missing column width % definitions 2020-08-10 14:25:38 +02:00
chylex 81e8f7047f Tweak <article> and table icon layout 2020-08-10 14:25:20 +02:00
chylex 3681228a5f Add resource versioning system 2020-08-10 11:35:43 +02:00
chylex ef537673d2 Work on design (icons, buttons, milestone widget, accessibility) 2020-08-10 11:27:19 +02:00
chylex 3226d4299b Finish CSRF protection (adding Origin header check alongside existing SameSite=Lax login token cookie) 2020-08-10 00:22:43 +02:00
chylex 9b4c40d62e Fix wrong navigation links on invalid tracker pages 2020-08-09 22:14:16 +02:00
chylex ed32adbfec Fix base URL trailing slash & PHP version detection in PHP 5 and older 2020-08-09 21:42:02 +02:00
chylex 45e9cd88cf Add README 2020-08-09 21:41:06 +02:00
chylex 67471ff6ad Fix missing htmlspecialchars on most form fields 2020-08-09 21:41:05 +02:00
chylex d6ac74358a Tweak progress bar design to avoid tearing in stripes 2020-08-09 20:32:06 +02:00
chylex 79b608b54b Change new issue properties & temporarily work around <input> range step validation 2020-08-09 18:33:57 +02:00
chylex dd0ecce66f Turn issue tags into constants 2020-08-09 18:31:32 +02:00
chylex e620c20ced Improve automatic issue task handling 2020-08-09 18:21:52 +02:00
chylex d309496986 Add support for older MySQL versions with low InnoDB key size limits 2020-08-09 16:41:07 +02:00
chylex 9494f1480e Work around garbage default spl_autoload_register implementation 2020-08-09 16:38:39 +02:00
chylex cdd79a9878 Cleanup code and address minor TODOs and IDE inspections 2020-08-09 16:38:38 +02:00
chylex 655d3b1e7e Add update migration system 2020-08-09 13:44:29 +02:00
chylex 820a05a3de Fix crash when login token cookie is present but incorrect/expired 2020-08-09 12:53:28 +02:00
chylex 2597b7edd4 Add installation procedure w/ old installation detection 2020-08-09 12:27:11 +02:00
chylex 2fdace70b2 Move development server files to a separate folder 2020-08-09 00:14:20 +02:00
chylex 302516f37a Enable file caching & disable direct access to folders and php files 2020-08-09 00:14:19 +02:00
chylex 30ee02cd4d Remove icomoon.svg, add icomoon.woff2, fix format order 2020-08-08 17:47:31 +02:00
chylexandGitHub 88df6bbaf3 Add license 2020-08-08 17:46:17 +02:00
chylex dc7180240c Add initial tracker permissions & fix broken logic 2020-08-08 15:26:29 +02:00
chylex db8fd77ac4 Add per-tracker user settings & implement active milestone 2020-08-08 14:41:05 +02:00
chylex 95556f9eab Ensure issues cannot be assigned milestones from other trackers 2020-08-08 14:05:42 +02:00
chylex 2f58d6fceb Fix empty side menu showing empty space in split pages 2020-08-08 13:21:53 +02:00
chylex 45ab784500 Implement milestone update date based on most recently updated issue 2020-08-08 13:14:13 +02:00
chylex 2176ac0891 Fix issue update date not updating when issue tasks change 2020-08-08 13:14:13 +02:00
chylex f107dceba7 Minor code formatting fixes 2020-08-08 13:14:12 +02:00
chylex 5bac7dea12 Update code to use the new split component & work on responsiveness and design 2020-08-08 10:01:38 +02:00
chylex b1992f0bf2 Add split component & improve splitting (tweaks, collapsing, width limits) 2020-08-08 09:46:04 +02:00
chylex 615623b9c0 Add issue checkbox syntax w/ update form 2020-08-07 20:23:30 +02:00
chylex 50a04f80e6 Allow issue editing for assignees 2020-08-07 19:03:28 +02:00
chylex c66a00e766 Implement markdown-style heading parsing 2020-08-07 17:21:27 +02:00
chylex 9147168778 Add unicode iterator class 2020-08-07 16:22:41 +02:00
chylex 52f71fac6b Make issue deletion a separate page with extra confirmation 2020-08-07 12:06:46 +02:00
chylex d007f68726 Refactor issue ID loading & fix issue creation page 2020-08-07 11:35:24 +02:00
chylex 5746cf7541 Fix formatting & missing return type hints 2020-08-07 10:16:25 +02:00
chylex fd923d9b57 Add script to convert <time> tags to local timezone 2020-08-07 10:10:29 +02:00
chylex 65aa7e1ff3 Fix wrong login return page for tracker URLs 2020-08-06 22:42:55 +02:00
chylex d9dd66a6e5 Add issue create/edit page 2020-08-06 22:42:55 +02:00
chylex 64ff43fcf2 Fix disabled form fields not getting prefilled 2020-08-06 22:30:04 +02:00
chylex 08ab67b27e Improve design & reliability of disabled form components 2020-08-06 22:24:14 +02:00
chylex 05fac1a92d Add number field component to forms 2020-08-06 21:50:21 +02:00
chylex 949ccdd409 Add basic issue details page 2020-08-06 21:50:21 +02:00
chylex a6500a1508 Add tracker issue list page 2020-08-06 17:30:29 +02:00
chylex 87369b51e2 Add optional title to side menu component 2020-08-06 17:30:29 +02:00
chylex b334fca4c1 Add empty tracker dashboard page 2020-08-06 15:45:49 +02:00
chylex ae25051aa8 Minor fixes (code formatting, unused elements, future TODOs) 2020-08-06 15:45:49 +02:00
chylex ab75ece64c Add tracker milestone page w/ new icons 2020-08-06 14:51:01 +02:00
chylex 9be04ed438 Allow datetime components to omit time 2020-08-06 14:38:28 +02:00
chylex c67949f250 Fix table form rendering & tweak progress bar spacing 2020-08-06 13:45:42 +02:00
chylex b54655b647 Add composite component 2020-08-06 13:45:42 +02:00
chylex bbfefae820 Add issue data classes w/ issue and milestone table definitions 2020-08-06 11:34:19 +02:00
chylex 41fbdcaee0 Improve SQL clause handling in filters (allows grouping & windows) 2020-08-06 07:50:18 +02:00
chylex 6cd260e6f5 Add a WIP tracker members page 2020-08-05 16:58:46 +02:00
chylex 7ff9b9ed25 Add form component for select tags 2020-08-05 15:07:12 +02:00
chylex 3ce3943200 Add tracker settings page 2020-08-05 12:34:52 +02:00
chylex e0bb045859 Improve forms (disabled field & pre-fill handling) 2020-08-05 11:29:48 +02:00
chylex c76cb42f6b Add tracker membership and permission system 2020-08-05 09:22:12 +02:00
chylex 4288992e3c Add optional table name parameter to filters 2020-08-05 07:00:33 +02:00
chylex 3b662353c6 Fix navigation menu when displaying a fatal error page 2020-08-05 06:51:51 +02:00
chylex 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
chylex ad32c40c1b Add 'Trackers' page 2020-08-04 12:16:32 +02:00
chylex 96c47e1bd6 Add 'Settings' admin page 2020-08-04 10:04:51 +02:00