Instead of grabbing variables defined by the course format with
global $var; the block now recomputes them itself.
Of course this also introduces a (significant?) performance hit.
I think it's much preferable to "live with" the hit until a good
solution is developed rather than have a hacky solution that could
break anytime for any obscure reason (case in point). Objections?
* Block authors no longer need to set $this->content_type
* If you want to make a "list" block, just derive from block_list
instead of block_base
* All switch() statements gone from library code
* Overloaded method is_empty() added to block classes for convenience
rest of Moodle. The convention for blocks is now:
class block_something extends block_base { ... }
HOWTO updated accordingly, plus some more minor polishing. More to come.
Code based on the work of Daryl Hawes for the blog module. Thanks, Daryl!
Please test the hell out of it as it's sure to have issues that need to be
ironed out.
Integrated with Moodle:
- Install automatically.
- Update course->blockinfo for each course at installation time.
- Modified course creation to insert into blockinfo field.
- Modified restore to insert into blockinfo field.
- Admin options (hide, show, delete, config) from admin page.
- Lang strings inserted (en only).
- Database support to mysql and postgresql (not tested!!).
Moodle, backup and block versions updated to 2004041800.
Tested with mysql: Install fresh and upgrade from previous.
section_activities block renamed to social_activities and created
its own lang file to support name "Social Activities". This can
be changed at any time.
TODO:
=====
Support it really in backup/restore.
????
Enjoy!! Ciao :-)