Paywall code is a pain

I opened up some paid features to everyone for NaNoWriMo, including the option to get an extra free blog for the month. I made this by-request-only, so 1) it wouldn't be abused and 2) I wouldn't have to do much work to make it seamless to users. But so much code is tied to hard limits that lay tied to unchanging rules, i.e. subscription status.

Enabling the option to have just 2 blogs instead of 1 when a user isn't a paying customer but some other condition is true (like an entry in a new database table) has meant changing template files, backend code, and changing where the logic for the paywall lies (logic that been implemented on several levels of code, and fairly inconsistently).

Really, just adding it to the list of things to refactor — a stage I'm at now, especially with how much I've been thinking forward to open sourcing the platform.