Thanks for the honest review. I agree with you on all points actually (well, except for point 3, because the current version has all those dumb permission issues of mine totally resolved, but your review was accurate on the date it was written.)
Anyway, I’m always looking to improve this software, so expect your first two issues to be resolved in the next release (4.4.0, due later this week), point 3, as I mentioned, is already resolved.
Hopefully, you may reconsidering your rating when I fix 3 out of the 4 criticism you have rightly pointed out.
Your 4th and final point, regarding the messy code, is also, sadly, completely spot on. This one is a lot harder for me to fix though. This may be too much information, so feel free to tl;dr but the reason why that code is so crappy is because this plugin was a Frankenstein of my first two WordPress plugins combined, and was never initially intended for any public release.
I built this plugin for my own business use only, and as such, just wanted a basic ticket system in place as quickly as possible, so I could focus on work that actually generated revenue. I didn’t care how maintainable or extendable the code was, as my requirements were very basic.
So I took code from this Flash Arcade Game WordPress plugin that I never finished, and combined that with a bunch of code from wpStoreCart 2.x, another WordPress plugin that I develop regularly. Anyway, it became apparent after awhile that the wpStoreCart 2.x code structure and code base, was just total crap. Under the pressure of multiple client deadlines, I had hacked together crap code and had created a monster of last minute features, last minute work arounds, and last minute hacks. It was a nightmare, but also a very good lesson about both coding, as well as taking on too much custom coding jobs at once.
I spent over a year rewriting wpStoreCart from scratch after that, and it now has a very easy to maintain codebase. It’s not perfect, but it’s a million times easier to comprehend then this codebase.
wpsc Support Ticket still uses the code descended from the old wpStoreCart 2.x crap. I hate it. I’d love to recode it. But the reality for me, is that this plugin doesn’t really make money for me, and I’m working on a triple digit payoff project that require years of my time to finish (I’m already over a year into development.) Because of all of those factors, the only one of your 4 criticisms that I cannot address in the near future, is improving the coding style.