summaryrefslogtreecommitdiff
path: root/modules/akismet
AgeCommit message (Collapse)Author
2009-06-09Remove double quotes from module.info (theme.info) attribute values.Andy Staudacher
(actually, we did that before: Now removing HTML element attributes since they were delimited by single quotes because PHP's ini parser can't deal with double-quotes in values.) Background: Requiring all l10n messages a) to be well-formed HTML and b) to use double-quotes as HTML element attributes, since the l10n server side validation normalizes all attribute delimiters to double-quotes). See ticket #254.
2009-06-04Let the Akismet module create the statistics menu, since it's the onlyBharat Mediratta
one that uses it. Perhaps this is not the best solution, but it's the pragmatic one.
2009-06-01Merge branch 'master' of git@github.com:gallery/gallery3andyst
2009-06-01Workaround for parse_ini_file issue: There's no way to escape a double-quote ↵Andy
in a value that's read with parse_ini_file. Using single quotes instead, even if that's not the best style in English.
2009-06-01Security pass over all controller code. Mostly adding CSRF checkingBharat Mediratta
and verifying user permissions, but there are several above-the-bar changes: 1) Server add is now only available to admins. This is a hard requirement because we have to limit server access (eg: server_add::children) to a user subset and the current permission model doesn't include that. Easiest fix is to restrict to admins. Got rid of the server_add permission. 2) We now know check permissions at every level, which means in controllers AND in helpers. This "belt and suspenders" approach will give us defense in depth in case we overlook it in one area. 3) We now do CSRF checking in every controller method that changes the code, in addition to the Forge auto-check. Again, defense in depth and it makes scanning the code for security much simpler. 4) Moved Simple_Uploader_Controller::convert_filename_to_title to item:convert_filename_to_title 5) Fixed a bug in sending notification emails. 6) Fixed the Organize code to verify that you only have access to your own tasks. In general, added permission checks to organize which had pretty much no validation code. I did my best to verify every feature that I touched.
2009-05-26Restructure the module lifecycle.Bharat Mediratta
Install: <module>_installer::install() is called, any necessary tables are created. Activate: <module>_installer::activate() is called. Module controllers are routable, helpers are accessible, etc. The module is in use. Deactivate: <module>_installer::deactivate() is called. Module code is not accessible or routable. Module is *not* in use, but its tables are still around. Uninstall: <module>_installer::uninstall() is called. Module is completely removed from the database. Admin > Modules will install and activate modules, but will only deactivate (will NOT uninstall modules).
2009-05-13Gee it's May already. Update copyright to 2009.Bharat Mediratta
2009-04-05Remove extra blank line.Bharat Mediratta
2009-01-25Undo the adding underscores to the id on forge generated formsTim Almdal
2009-01-24Admin theme style cleanup. Merged separate selected, available, unavailable ↵Chad Kieffer
into a single set of reusable classes. Applied alternating row bg colors. Removed inline CSS from admin views. Moved user admin css into admin_default theme style sheet.
2009-01-24Supply a form id on all forms. This id can be used by modules otherTim Almdal
than the originating module to provide additional functionality to the form.
2009-01-17Clear the "akismet is not configured" message on uninstall.Bharat Mediratta
2009-01-16Don't try to check comments if Akismet lacks an API keyBharat Mediratta
2009-01-15Changing t() placeholder syntax from {{replace_me}} to %replace_me.Andy Staudacher
2009-01-15Rename 'xxx_changed' events to 'xxx_updated'Bharat Mediratta
2009-01-14Make sure that helper functions are all static. Add newBharat Mediratta
File_Structure_Test to make sure we don't regress. According to the PHP docs, the "public" keyword is implied on static functions, so remove it. Also, require private static functions to start with an _. http://php.net/manual/en/language.oop5.visibility.php
2009-01-12Updated for new Form_Submit API.Bharat Mediratta
OLD: $form->submit("Foo") --> <input type="submit" value="Foo"> New: $form->submit("foo_button")->("Foo") --> <input type="submit" name="foo_button" value="Foo"> Mostly we don't care what the button is so we leave the name blank.
2009-01-11Fix Aksimet tests for MySQL strict mode. Not sure how this would pass on ↵Andy Staudacher
linux, since the given value for server_remote_port is longer than 16 chars, the actual length of the DB field. Removed the leading "server_" part of the test values to ensure that all values are small enough to be stored in the DB.
2009-01-11Set all the server_xxx values to known quanities, and demonstrate thatBharat Mediratta
they're actually getting sent to Akismet. It looks like this code was broken in the past, since it wasn't sending any of this extra info.
2009-01-11Update setup to match new comment::create() APIBharat Mediratta
2009-01-10Big set of changes to comments, with related changes to akismet andBharat Mediratta
user modules. * Don't delete vars when we delete a module. This makes reinstalling a module a lot easier. * Add user::lookup() as the preferred way to load a user, so that other modules don't delve into the user module (that'd be a problem when we swap out user modules) * Notify site admins if Akismet is not fully configured * Bundle all server variables into the comment so that if/when we re-check the comment, we are not using the server info from the site admin's request. * Update Akismet to grab request context data from the comment * Pre-seed comment fields if we have a logged in user. Update comment::create() API to clarify it for this. * Delete comment::update(), that's a controller function. * Add url to User_Model * Add author_name() author_email() and author_url() to Comment_Model. It'll return the appropriate values depending on whether the comment was left by a logged in user or a guest. * Use resetForm() instead of clearForm() when we reload the comment form after ajax submit, this way we preserve the pre-seeded values. * In the user profile page, ignore blank passwords.
2009-01-08i18n refactoring: Rename all _() (reserved by gettext) calls to t().Andy Staudacher
- And refactor printf to our string interpolation / pluralization syntax - Also, a slight change to the translations_incomings table, using binary(16) instead of char(32) as message key.
2009-01-08Add akismet::$test_mode, initialize it to TEST_MODE and don't contactBharat Mediratta
akismet if it's on. Force it on in the scaffolding so that we don't try to run all comments we add from there through Akismet.
2009-01-08Incremental improvement in comment moderation:Bharat Mediratta
1) Akismet now detects when we change a comment's published state and submits info back to akismet.com as appropriate 2) We now show 4 different queues (all / approved / unapproved / spam) and let you move messages between the queues 3) We track and display "spam caught" stats. 4) You can delete comments entirely.
2009-01-07Properly handle the case where the akismet backend doesn't return a true/falseBharat Mediratta
value. Add phpdoc.
2009-01-07Listen for comment creation, and run it through Akismet. Make theBharat Mediratta
akismet stats page take up as much room as possible.
2009-01-07Extract the Akismet driver from the Spam_Filter module into a moduleBharat Mediratta
in its own right. Clean up the tests, streamline the code and improve the admin interaction. Add a working stats page.