Commit graph

227 commits

Author SHA1 Message Date
mudrd8mz
897b5c820b MDL-19731 get_renderer() accepts optional subtype
The initial patch has been reviewed at the issue page. This commit also
fixes template_renderer_factory::get_renderer() and sets up folders for
subtypes there.
2009-07-08 09:37:06 +00:00
samhemelryk
428acddb72 outputlib MDL-19740 Fixed up outputlib focus handling to deal with the three different ways of requesting focus. 2009-07-08 09:01:20 +00:00
samhemelryk
4d49202ffc javascript-UFO MDL-19738 Stopped ufo.js being included in outputlib and included it in each place it was actually being used.
It will no only be loaded when it is being used. If something new comes along they will need to remember to require it.
At the same time cleaned up a few deprecated calls
2009-07-08 04:12:11 +00:00
samhemelryk
e6f7f2b278 lib MDL-19739 Moved call to include dropdown.js out of outputlib and into the same body of code in weblib
that uses it.
This ensures that it is only loaded if it is used, which is only is the browser is opera, or IE
2009-07-08 03:27:27 +00:00
samhemelryk
e11a8328b3 javascript MDL-16673 Removed all removeable uses of CFG->javascript
In doing this I was able to eliminate the need for javascript.php files, now removed.
I will also be filing several subtasks to clean up the linked to JS files in OUTPUT as well
as all instance of the old style of focusing.
2009-07-07 09:09:16 +00:00
moodler
f77fcb5a8f Fixing a notice for Tim 2009-07-07 07:43:36 +00:00
tjhunt
fdeb7fa192 themes: MDL-19077 - more work on the theme_config class.
* Writing lots more PHPdoc comments for all the settings.
* Strip the comments from the standard theme config.php (see below)
* Move finding the layout template from moodle_core_renderer to the theme_config class
* Move loading meta.php files from moodle_core_renderer to the theme_config class
* MDL-19719 Remove support for $THEME->langsheets, and lang/.../styles.php
* MDL-19719 Put the Vietnamese-specific code into the standard theme
* Support for styles.php in all plugin types (at the theme's discretion). (c/f MDL-16438)
* More PHP doc comments for moodle_core_renderer methods.

About stripping comments from config.php: I'm not sure if this
is a good idea, and I may revert this bit. I am hoping that once
http://phpdocs.moodle.org/HEAD/moodlecore/theme_config.html has
been updated, that will be better than copying and pasting these
comments into every theme. I intend to post in the themes forum
to canvas opinions.
2009-07-07 05:05:06 +00:00
tjhunt
4af1e3b060 outputlib: MDL-19077 better reporting when open/close containers don't match. 2009-07-04 13:36:05 +00:00
tjhunt
ae96b517a2 MDL-19696 & MDL-16706 refactor sam's redirect changes, so they can work during initial install. 2009-07-03 09:03:29 +00:00
tjhunt
d436d197d1 MDL-19690 - the last lot of $CFG->pixpath to $OUTPUT->old_icon_url
Including MDL-19693

RIP $CFG->pixpath
2009-07-03 07:55:30 +00:00
tjhunt
c8873c496b MDL-19690 - eliminate the $OUTPUT->initialise_deprecated_cfg_pixpath horrible hack.
Replace $CFG->pixpath with $OUPTUT->old_icon_url(...) instead.
2009-07-02 11:23:47 +00:00
tjhunt
4096752d1d MDL-19690 - first 53 $CFG->pixpath to $OUTPUT->old_icon_url 2009-07-02 10:06:39 +00:00
tjhunt
3aaa27f4cd output: MDL-19690 allow for .png or .gif in $OUTPUT->mod/old_icon_url 2009-07-02 09:28:19 +00:00
tjhunt
ebebf55cad output: MDL-19690 icon_finder classes and $OUTPUT->mod/old_icon_url
This is ready to replace $CFG->pixpath and $CFG->modpixpath soon.
2009-07-02 08:49:25 +00:00
tjhunt
db8d89d822 MDL-19077 I just found a way to reduce the coupling between the classes. 2009-07-02 07:06:25 +00:00
tjhunt
b70094743a themes: MDL-19077 change how the theme is initialised and CSS is served.
This is part of http://docs.moodle.org/en/Development:Theme_engines_for_Moodle%3F

$THEME is now initialised at the same time as $OUTPUT. Old functions like
theme_setup are deprecated in favour of methods on $PAGE. There is a new
theme_config class in outputlib.php that deals with loading the theme config.php file.

CSS used to be served by themes styles.php files calling a function in weblib.php.
Now it works by each theme's styles.php file doing
$themename = basename(dirname(__FILE__));
require_once(dirname(__FILE__) . '/../../theme/styles.php');
which is less code to be copied into each theme. (Old-style styles.php files still
work thanks to some code in deprecatedlib.php.)

Admin UI for choosing a theme cleaned up.

A couple of theme-specific hard-coded hacks like $THEME->cssconstants and
$THEME->CSSEdit have been replaced by a more generic $THEME->customcssoutputfunction
hook. See examples at the end of outputlib.php

Also:
* Fix setting the theme in the URL, which seems to have been broken since 1.9.
* Fix up errors on a few pages caused by the new initialisation order.
* MDL-19097 moodle_page::set_course should not set $COURSE unless it is $PAGE.
* httpsrequired() from moodlelib.php moved to $PAGE->https_required().
* Move has_started() method to the renderer base class.
* Further fixes to display of early errors.
* Remove print_header/footer_old from weblib. I did not mean to commit them before.
2009-07-01 05:54:26 +00:00
samhemelryk
afa2dcad43 outputlib pagelib MDL-19236 Cleaned up PHPdocs on a couple of functions 2009-07-01 03:47:52 +00:00
samhemelryk
17a6649b95 output MDL-19077 Implemented periodic refresh to meta refresh by delay
Also created layout-popup.php for standardwhite theme to provide a simpler template
2009-06-30 07:57:41 +00:00
tjhunt
210dcb69ee XHTML strict 2009-06-30 06:00:12 +00:00
samhemelryk
b7337ab7ec outputlib MDL-19077 Fixed a typo I made in the has_started method 2009-06-30 02:58:09 +00:00
tjhunt
a5cb8d6987 MDL-19077 - Finish eliminating customcorners-specific code in core.
The custom-corners-specific code now in theme/customcornser/renderers.php
and lib/deprecatedlib.php.

Also, $CFG->pixpath is now causing more problems than ever. If it is
giving your problems, please call $OUTPUT->initialise_deprecated_cfg_pixpath()
as a temporary fix. As you can imagine, we are thinking about a better
long-term fix, which is why that method as a silly, and easy to grep name.
2009-06-29 08:17:31 +00:00
samhemelryk
e877532055 lib MDL-19077 Created output redirect method and implemented against weblib redirect method
This resolves the meta bug that was used when redirecting with a delay
Thanks Tim for the help with this one
2009-06-29 07:19:05 +00:00
tjhunt
c84a2dbea2 MDL-19077 - change how $OUTPUT is initialised.
Please read the comment at the top of bootstrap_renderer in setuplib.php
2009-06-29 05:00:45 +00:00
tjhunt
6e37fa50cb themes: MDL-19077 make a comment clearer. 2009-06-26 11:22:41 +00:00
tjhunt
34a2777ccb themes: MDL-19077 new $OUTPUT->header/footer to replace print_header/footer.
Also, part of the change from weblib.php functions to $OUTPUT-> methods.

This is part of http://docs.moodle.org/en/Development:Theme_engines_for_Moodle%3F

This is a big change, and the result is not perfect yet. Expect some debugging output
on some pages.

The main part of these changes are that $OUTPUT->header now looks for a file
in the theme called layout.php, rather than header.html and footer.html. Also
you can have special templates for certain pages like layout-home.php. There is
fallback code for Moodle 1.9 themes, so they still work.

A few of the old arguments to print_header are no longer supported. (You get an
exception if you try to use them.) Sam H will be cleaning those up.

All the weblib functions that have been replaced with $OUTPUT-> have version in
deprecatedlib, so existing code will go on working for the foreseeable future.
2009-06-26 09:06:16 +00:00
tjhunt
8954245a1b themes: MDL-19077 start implementing moodle_core_renderer
Only a couple of methods implemented. Please review the API and
tell me if you are not happy with the direction I am taking.
2009-06-23 10:41:22 +00:00
tjhunt
571fa82824 themes: MDL-19077 implement the renderer_factory instrastructure.
This is part of http://docs.moodle.org/en/Development:Theme_engines_for_Moodle%3F

The concept is that all the print_... functions in weblib get replaced  by methods
on a moodle_core_renderer class. Then, the theme can choose whether to
use the standard moodle_core_renderer class, or another implemenatation of
its own choosing, to generate different HTML.

Also, becuase Moodle is modular, we may need a moodle_mod_forum_renderer
and so on.

In order for the theme to be able to choose which renderers get created, we
introduce the concept  of a renderer factory, as in the factory design pattern.
The theme will choose which factory should be used, and that then creates
the renderer objects based on the module name.

This commit includes 4 types of factory:
* standard_renderer_factory
* custom_corners_renderer_factory
* theme_overridden_renderer_factory
* template_renderer_factory

All this with unit tests and PHP doc comments.

Note, this new code is not actually used yet. Still todo:
1. actually define the moodle_core_renderer class, and deprecate a lot of weblib functions.
2. make theme_setup initialise everything, so it is used.
2009-06-18 10:43:13 +00:00