Ahh, I thought I had gotten rid of most of the errors. I'll definitely look into that.
As far as more security, can you elaborate? I added the confirmation email part when you first sign up as one sort of security measure that may stop some spammers. I've thought a lot about security, but I'm not sure how best to implement it or what to all watch for.
As for as database queries go, I've done the work required to check for XSS and MySQL injection and what not.
I hadn't even thought about that to be honest with you. What's the process for even putting a license on your code? Do you just say so in the README file or something?
Thanks for the tips. If you look in the README on the code, you'll see that two of those actually fall under stuff I'm currently working on. Also, I'll add that date format shortly.
"The indentation is crazy (subjective)." - I tend to like to use tabs just because it's easier on the eyes to see how code blocks differentiate and I've grown accustomed to hitting tab rather than space. Perhaps I'll try that out, though.
"there's a lot of repetition" - Right, I did that as kind of the quick and dirty way to get it up. I will most likely end up changing that as per your suggestion. Thanks.
"Attacking date inputs is tough, and will probably require a separate, tested library." - You're right, it's not very fun. Thanks for the suggestion, I think this should work a lot better for me: http://www.datejs.com/
1) The link should be fixed now. Thanks for informing me about that. I think I had a return character in it accidentally.
2) Okay, that makes sense. I think you are correct because when the user installs the extension it says something along the lines of needing access to basically any data. Obviously, my extension wouldn't need all that data. That must be the issue then.
3) Ahh, right. I had some stuff in there at one point but then decided to not use it. Must've forgot to delete it.
4) I had thought during the process that there was probably a better way to do it. However, for sake of just getting something out there I've left this code as is. Believe it or not, it was worse at one point. I'll look into other ways of doing it, though.