phantomwatson / muncie-events Goto Github PK
View Code? Open in Web Editor NEWMuncieEvents.com
MuncieEvents.com
In the event form, the selection of previously-uploaded images should wait to be loaded until requested by the user. This way, an increasingly large buttload of images isn't being loaded every time the page is.
Move token out of ImagesController::upload() and elements/images/form.ctp and into core.php.
"Choose fields to update" option is presented, and user can check/uncheck specific fields to be updated. If "Choose fields to update" is not selected, all fields are updated. This will accommodate the following use case:
Cookie encryption key should be changed and moved from AppController to core.php.
In the feature-front-end-conversion branch:
Have returnPath send bounced emails to a script that removes them from the mailing list.
Is there any risk of legitimate email addresses being affected by this? Perhaps "address not found" errors should be distinguished somehow from other network errors that result in emails getting bounced back.
The event_series table has some records that represent spam series that have had all of their events deleted.
Probably the best approach is to add something to Event::afterDelete() that checks to see if the event was part of a series that is now empty.
Password reset emails are getting sent to spam. Not sure why but there you have it. Ideas:
"Collective" is cut off from the location name "Chameleon Salon/Collective" in http://muncieevents.com/location/Chameleon%20Salon%2FCollective.
The error logs are full of things like this:
2014-10-08 14:47:10 Error: [MissingActionException] Action WidgetsController::events() could not be found.
Exception Attributes: array (
'controller' => 'WidgetsController',
'action' => 'events',
)
Request URL: /widgets/events/day/10/26/2014
Stack Trace:
#0 /home/okbvtfr/public_html/muncie_events/lib/Cake/Routing/Dispatcher.php(187): Controller->invokeAction(Object(CakeRequest))
#1 /home/okbvtfr/public_html/muncie_events/lib/Cake/Routing/Dispatcher.php(162): Dispatcher->_invoke(Object(WidgetsController), Object(CakeRequest), Object(CakeResponse))
#2 /home/okbvtfr/public_html/muncie_events/app/webroot/index.php(92): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#3 {main}
I can't find anything in any views or controllers that would send people to a URL like that. So what the fuck.
Create Address model with fields location_name
and address
and populate it in the same way that address suggestions are currently being determined.
Create admin interface for browsing and editing addresses.
Some location names should have null addresses, such as "Downtown", which currently has the auto-suggested address of "Walnut Street".
Tag auto-complete is activated when someone enters just a space. It's unlikely that a user will begin entry with a space, but it's certain that they'd reach a point when entering two tags when they've entered one, then a comma, then a space, at which point they'd get an arbitrary set of autocomplete suggestions.
Mailing list recipients could be grouped by common filters and multi-recipient emails could be send out using BCC to groups that would receive identical messages. This should save execution time significantly.
Bounce back with message explaining why it was rejected and prompting user to contact an admin if they feel this was in error.
Here's another round of things that should be corrected. Many of these relate to CSS rules that were changed for reasons other than making the site responsive and just need to return back to their original values until we're ready to plan out a more comprehensive redesign with the graphic designers.
Code stuff:
<a class="navbar-brand logo">
When using a full-sized window, and in general:
i.icon-me-logo
element makes the letters around and inside that icon misalignedtext-shadow
was removed from #sidebar h2
, which makes these headers a bit harder to readul.event_accordion .actions a
was originally 0.8em, but has been increased to 20px, which makes these links larger than any of the text around them. This is distracting and breaks up the flow of the event information..btn-sm
for buttons, regular-sized buttons are recommended so users have a full-sized target for clicking..widget_controls
has been removed. It should be re-added to help visually separate input from output.#widget_demo p
has been removed, but some sort of space between the widget and the text below it should be re-added.:hover
or .active
that should be removed for now.When using a medium-sized window:
When using a handheld-device-sized window:
/tag/708_all_ages_concerts only brings up upcoming events, but /tag/708_all_ages_concerts/page:foo brings up all events. Future/past should be respected in routing and links.
When a feed that can be subscribed to via Google Calendar is created, email [email protected] to inform Heather of the new feature.
The AutoNag system sends reminder emails to venue representatives if it appears that the calendar is missing expected events in the near future.
Nagee (couldn't come up with anything better)
Fields:
/autonag/optin/:location_name
Can by used by admins, preferably sent as a link to venue reps so they can fill it out themselves.
Contains an overview of what AutoNag is for and an attempt to make it sound useful instead of annoying. Maybe avoid actually using the term "AutoNag" on the public-facing site.
Fields:
Runs every day, checks every Nagee that has not been emailed in the last week(?) to see if their venue has no events in the next X days. If not, an email gets sent out.
Contains a reminder that the venue has no events posted for the next X days and these links:
...
To keep spam off of the visible calendar, the auto-publishing of events added by logged-in users should only take place if those users have at least one approved event attributed to them. This means that a user's first event will have to wait for approval, then subsequent ones will be automatically published to the main site (but not spread to network calendars until given moderator approval).
Add 'published' => true
and 'approved' => true
conditions to the query that fetches search results.
Yep. Fix that.
To reduce the clutter of already-selected tags in the list of autosuggest options in the events form, the names of selected tags should be passed along in the autosuggest request and those tags excluded.
(They could be removed in a client-side script, but doing it server-side allows the count of returned suggestions to stay the same for all requests)
In some cases, newlines are just ignored: http://muncieevents.com/event/2680
In other cases, they're replaced by \n: http://muncieevents.com/event/2734
When an event that is part of a series is being edited, the user should be given the choices of
All editable fields other than Event.date are updated in all relevant events.
Frequently, users would benefit from being able to put line breaks in cost information, such as with this recent entry: "$20 - adult general admission; $10 - under 18 or w/ college ID; $45 -- family package (four tickets)--"
Spam tags are cluttering up the spam tree and adding to the burden of moderators.
On event moderation page, in addition to 'edit' and 'delete', there should be a 'spam' button that deletes the event, the account that created it, and any other events created by that same account.
"All events this series will be deleted. Are you sure?" is not currently true.
Unless otherwise noted, these front-end issues apply to both the 2.x & 3.x versions of Muncie Events.
/widgets
page needs made <small>
.margin-bottom
in order to be more visible./login
page is just sloppy & disorganized compared to the current site..card
needs its border removed..card, .card-header, and .card-footer
need their background-color
set to #f0f0f0
..description
needs set to margin: 0px 15px;
./terms
are too big compared to the current site.2.x version problems:
On the icon in the header of http://muncieevents.com/activism, cursor: pointer. Remove a [class^="icon-"]:before, [class*=" icon-"]:before {cursor: pointer;} or give the selector greater specificity if that styling is required elsewhere. Like add 'a' as a required parent.
Site is currently using Facebook API 2.0 (unversioned calls). All calls to the Facebook API will need to be upgraded to at least 2.1, preferably the most recent version.
https://muncieevents.com/location/Minnetrista/page:2
,page:2
appears to not be read correctly by the pagination component, as that page has a "next" pagination link to https://muncieevents.com/location/Minnetrista/page%3A2/page:2
https://muncieevents.com/location/Minnetrista/page:2
So basically, the "next" button just loops the user through the first "upcoming" page and the first "all/past" page.
Spambot-posted events sometimes have spammy custom tags added (if the bot breaks the CAPTCHA challenge and creates an account). These tags have to be deleted as a separate action from deleting the events.
Idea:
When an event is deleted, any of its tags that are not associated with any other event are also deleted.
General error: 1366 Incorrect string value: '\xF0\x9F\x8E\xB5 F...' for column 'title' at row 1
Request URL: /events/add
This was apparently caused by the 🎵 emoji being in an event's title (or possibly an event series's title). The title
column is encoded as utf8mb4_unicode_ci
in the database, which should support emoji, so I'm not sure why the error is being thrown.
It doesn't seem like folks are actually reading the rules, so I suggest that instead of hiding them behind a link on the event posting page, instead displaying them until a "I have read and understand these rules" link is clicked. That would set a cookie for anonymous users and set a User.read_rules flag for logged-in users that will revert the rules to only appearing when a rules link is clicked on.
The rules could also appear on a separate page that comes before /events/add for users who haven't (confirmably) read them.
Steps to reproduce:
data[Event][date]
gets submitted as e.g. "04/30/2018"
or "04/29/2018,04/30/2018"
data[Event][date]
and defaultDate
are passed to this page as "//04/30/2018"
or "//04/29/2018,//04/30/2018"
list($year, $month, $day) = explode('-', $date)
) breaksEach item should include more more than one picture (max dimensions enforced) and an excerpt of the event description.
Hide author email address behind CAPTCHA challenge (a la YouTube) instead of requiring user to be signed in.
The expected <fb>
tag in the registration page is no longer appearing.
Here's some new stuff from me, some new stuff from Victoria, and some old stuff from vol. 2 that wasn't taken care of:
Instead of using .btn-sm
for buttons, regular-sized buttons are recommended so users have a full-sized target for clicking. (.btn-sm
still in use in around 10 files)
The text-alignment of ul.event_accordion .actions
was changed from right to center
Some buttons are missing any of the button type classes listed here, resulting in them not having any borders or :hover
styles. .btn-default
is recommended if the situation doesn't call specifically for one of the other button types.
On medium screen widths, there's not enough room in #sidebar > .categories
for everything to fit on one line. I recommend either increasing the minimum width or making the icons disappear at smaller widths.
On screen widths from 785-1,007, search input field overlaps link
A security certificate will be required to avoid users seeing browser-generated warnings about insecure password collection.
Three location lines (name, details, address) are not lined up
.notification_message
class is broken: d9941bc#commitcomment-21313498
Event details have been moved: c733a43#commitcomment-21375061
Buttons have been moved from beside inputs to underneath them, 'add address' needs to stay next to the 'location name' input
Apply Bootstrap styling and responsive design to Customize Event Feed Widget page (/widgets/customize/feed)
Apply Bootstrap styling and responsive design to Monthly Calendar Widget page (/widgets/customize/month)
Apply Bootstrap styling and responsive design to Change Password page (/users/change_pass)
Please check these off as they're corrected.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.