summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* added function to clean file name before ical exportAndreaChirulescu2022-03-281-0/+8
|
* ics file gets first 20 characters from concert nameAndreaChirulescu2022-03-271-0/+2
|
* Filtered out concerts older than todayAndreaChirulescu2022-03-272-3/+3
| | | | Concerts should show with upper case
* Move update new venue form to class.Harald Eilertsen2022-03-122-18/+20
| | | | Also fix nonce checking.
* Move update edit concert form code to class.Harald Eilertsen2022-03-122-57/+73
| | | | | | Also ensure that nonce checking is performed before both adding and editing concerts, and escape concert data before outputing it in the form.
* Security: Escape event and link urls before using.Harald Eilertsen2022-03-121-2/+2
|
* ConcertsTable: Initialize more properties in constructor.Harald Eilertsen2022-03-121-0/+5
|
* Security: Escape band and venue name in concerts table.Harald Eilertsen2022-03-121-2/+2
|
* ConcertsTable: Initialize page_no on construct.Harald Eilertsen2022-03-121-1/+1
| | | | | Just to make sure it has a default value and is guaranteed initialized befor it is being used.
* Security: Add CSRF checks when updating concerts table.Harald Eilertsen2022-03-121-1/+17
|
* Move code to update concert table to concert table class.Harald Eilertsen2022-03-102-108/+107
| | | | | | Puts everything that belongs together into the same place. This means the concerts table is getting a tad large, but let's refactor that later.
* Drop some unused variables from the admin page update.Harald Eilertsen2022-03-101-7/+0
|
* Refactor gig import code.Harald Eilertsen2022-03-101-63/+64
| | | | | | | | | Split into two functions, and drop the nesting of the ifs. Technically the ifs didn't need to be nested in the first place, since each error case would break the execution flow using `continue` anyways. Throw parsing errors instead of having to keep pass all the state into the function that only need to parse one line.
* Fix misc errors detected by psalm.Harald Eilertsen2022-03-102-18/+35
| | | | | - Lacking type info in venue.php - Potentially dereference null-objects in giglog_admin_page.php
* Security: Escape imported dates before outputing in error messages.Harald Eilertsen2022-03-101-3/+2
|
* Fix more psalm issuesHarald Eilertsen2022-03-094-1/+8
|
* Reindent includes/ical_export.phpHarald Eilertsen2022-03-091-46/+45
|
* Fix typo in concert class, eventling -> eventlinkHarald Eilertsen2022-03-091-1/+1
|
* Merge remote-tracking branch 'andrea/andreaschanges' into devHarald Eilertsen2022-03-099-262/+2256
|\ | | | | | | And fixup most whitespace issues while at it.
| * import giglog checks for empty values and ivnalid dateAndreaChirulescu2022-03-011-32/+53
| |
| * iCal file download fixes to generate one file per concertAndreaChirulescu2022-02-276-476/+263
| | | | | | | | giglog import fixes to catch errors and ignore old concerts
| * Merge branch 'ical' of ↵AndreaChirulescu2022-02-214-238/+567
| |\ | | | | | | | | | | | | | | | | | | | | | | | | https://code.volse.net/wordpress/plugins/gigologadmin.git into andreaschanges # Conflicts: # composer.json # composer.lock # giglogadmin.php
| | * Add sample ical export module.Harald Eilertsen2022-02-214-225/+645
| | | | | | | | | | | | | | | Currently just uses sample from iCalcreator docs, but shows how it can be done, and how to hook it into WordPress.
| * | beginning of ical setup with kigkonsults calendarAndreaChirulescu2022-02-215-20/+1887
| | |
| * | Pagination fix to resest page if out of rangeAndreaChirulescu2022-02-131-1/+6
| |/
* | Fix various psalm errors.Harald Eilertsen2022-03-096-6/+7
| |
* | Some cleanup in render_concerts_tableHarald Eilertsen2022-02-221-33/+23
|/
* Fix so pagination remembers filters in shortcode too.Harald Eilertsen2022-02-131-4/+4
|
* Remember filter settings when paginating.Harald Eilertsen2022-02-131-33/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does changes quite a bit of how things work under the hood. It changes the filter settings from using POST to using query args in a GET request instead. This has some challenges: 1. The query args from the form will overwrite any query args in the original URL, so we have to keep the query args that was passed in as hidden fields in the form. 2. Since we try to keep the passed in query args, we need to filter out the query args that we expect to set in the form, otherwise query args that are dropped by the form will still be present as hidden args. Not too happy about how this works tbh, but at least it seems to work reasonably well for now. I've also renamed the args set by the form to make the URL a bit nicer, i.e "city" instead of "selectcity" etc for the query arg keys. I've also refactored quite a bit to make the code more manageable. Like using the view helper to create the month selector, so it's consistent with the others, and remembers it's selection. (I also simplified it to simply list the months from jan to dec, instead of starting at the current month. If it's important to keep the old behaviour I'll change it back.) There's a few problems still with this implementation. 1. It only works in the admin-section for now. Not sure why. Probably because shortcodes... 2. In the admin section it gains the `cid` and `pid` query args that should not be there. Not sure why. 3. If we change the filters while being on a page larger than the total number of pages after the filter change, we stay on the page even if it's not a valid page after the filter change. This should be trivial to fix.
* Refactor rendering of the concerts table.Harald Eilertsen2022-02-121-58/+79
| | | | | | | | The main render function was getting too large and difficult to work with. Splitting it up a little to make it more manageable. Also fix styling to make the pagination links fall on one line a bit nicer.
* Make a count method for concerts.Harald Eilertsen2022-02-121-27/+54
| | | | | | This allows querying the database for the count of concerts that will match a given filter. Useful to find the total number of pages in a pagination setting, for instance.
* Fix pagination of concert table.Harald Eilertsen2022-02-121-6/+7
| | | | | | | There's potential vulnerabilities here still, and I'm unsure if get_permalink() is entirely safe to use in this context. Seems to do the right thing, but the docs for the function indicates it has some edge cases.
* More indentation and format if statements.Harald Eilertsen2022-02-121-124/+134
|
* Fix indentation and add license info.Harald Eilertsen2022-02-122-101/+104
|
* more pagination details fixesAndreaChirulescu2022-02-112-26/+61
|
* css small fixed for table displayAndreaChirulescu2022-02-094-86/+133
| | | | added pagination to concert list
* Made giglog visible for admins onlyAndreaChirulescu2022-02-071-92/+98
|
* Added a div to make table scrollable on mobilesAndreaChirulescu2021-09-241-2/+2
|
* Changed order of date column in concerts tableAndreaChirulescu2021-09-191-4/+3
|
* Padding in table so text doesn't connect between cellsAndreaChirulescu2021-09-192-2/+7
| | | | Added a paragraph to have a bit of space under filters
* Add CSRF checks to new venue formHarald Eilertsen2021-09-172-0/+8
|
* Move New Venue form to a separate partial.Harald Eilertsen2021-09-173-9/+45
|
* Return better error for failed CSRF check on import.Harald Eilertsen2021-09-171-2/+2
|
* Add CSRF checks for edit concert form.Harald Eilertsen2021-09-172-1/+9
|
* Clean up, fix and rename db tables.Harald Eilertsen2021-09-165-95/+72
| | | | | | | | | | | | | | | | | This patch got a bit more involved than what was originally planned, but since we're messing with the tables I decided to do it all right away. - Moves the constraint definition to the CREATE TABLE statement for the concerts table. This replaces the existing KEY definition that it had. - Make sure the venues table is created before the concerts table so that the above mentioned constraint definition works. - Rename the tables. Use the wpdb-prefix and make the name a bit prettier. This caused some changes in the Concert and Venue classes, and for slightly silly reasons some test classes. The code actually turned out better (for the most part), but some refactoring can still be done. The column names remains unchanged for now.
* Fix ConcertTest::testFetchConcertByVenueAndDate.Harald Eilertsen2021-09-161-1/+1
| | | | | | | | Since the date column has changed types, so has the representation in the concert class. We should really change the property in the Concert class be a proper DateTime object.
* Reinsert created and updated columns for venues.Harald Eilertsen2021-09-161-0/+2
| | | | Was accidentally dropped during rewrite of base schema.
* Facelift of database table creation to use create tables instead of ↵AndreaChirulescu2021-09-131-323/+17
| | | | versioning. First attempt
* Update ConcertsTable tests.Harald Eilertsen2021-09-111-3/+65
| | | | | Test that less privileged users don't see all the controls, and that no controls are rendered on the public facing pages.
* Change how we load the plugin.Harald Eilertsen2021-09-113-23/+28
| | | | | | | | | | | | | | Since we now have code that should be available, both on the public blog and in the admin section, we need to be more graular when loading the various parts of the plugin. We still try to avoid loading admin-only parts for the public blog, but allways load the parts that we need in either case. Also avoid running the db migrations when running unit tests, as the schema is copied over from the dev environment it just caues problems. Finally, don't hardcode unit tests to always be in_admin, but rather determine that for each test.