Commit graph

1274 commits

Author SHA1 Message Date
tjhunt
4bea5e8582 moodlellib: MDL-19828 PARAM_LOCALURL should accept URLs like course/view.php?id=2 2009-07-15 06:17:39 +00:00
tjhunt
144390b4d9 themes: MDL-19077 Don't need both output_starting_hook and starting_output method on page. 2009-07-14 05:14:45 +00:00
skodak
6c7f537455 MDL-19689 adding IGNORE_MULTIPLE to get_record - please note this parameter is discouraged 2009-07-04 09:35:03 +00:00
skodak
41d2f7f781 MDL-16438 fixed incomplete plugin centralisation, sorry; unfortunately install is kind of non-working now; this may break current dev installs :-( 2009-07-02 15:02:51 +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
tjhunt
42fafd4b57 debug / lang string: MDL-19467 Debugging option to show where each lang string came from.
New option on Administration -> Server -> Debugging called
'Show origin of languages strings' ($CFG->debugstringids).

If this is set, get_string will add the name of the lang file and the id of the string
to each string it gets, so instead of returning 'No', it will return '{No admin/checkboxno}'.
2009-06-30 01:59:48 +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
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
88b02e3b22 Remove experimental part of string_manger. Also, improve class comment. 2009-06-25 04:02:36 +00:00
tjhunt
5af6ec1b2e MDL-19600 remove remaining traces of docstyles.php.
(Not used since Moodle 1.6.)
Also remove the remaining bits of lang/en_utf8/docs.
2009-06-23 04:39:11 +00:00
tjhunt
64208b5de5 MDL-16438 fix string manager unit tests. 2009-06-22 06:03:53 +00:00
nicolasconnault
6dbcaceef1 MDL-19418 Replaced ereg* by preg* 2009-06-22 01:22:37 +00:00
skodak
17da2e6f28 MDL-16438 centralise information about plugins to avoid duplication, includes local customisation conversion to standard plugin structure + fixes for some recent regressions; see tracker for more details and links to docs and forums discussions 2009-06-19 14:25:56 +00:00
tjhunt
c28bf5c9f8 javascript: MDL-19475 replace require_js calls with $PAGE->requires->js.
Also, some related JavaScript cleanup.

More to follow.
2009-06-15 05:37:57 +00:00
skodak
a8f3a651c0 MDL-18293 removed obsoleted checking of return values from insert and update_record + unused strings cleanup 2009-06-13 18:16:08 +00:00
tjhunt
cf6155226c ajaxlib/require_js: MDL-16693 $PAGE->requires->... deprecates require_js etc.
There is a new implementation of require_js in lib/deprecatedlib.php,
based on $PAGE->requires.

There were a few other recently introduced functions in lib/weblib.php,
namely print_js_call, print_delayed_js_call, print_js_config and
standard_js_config. These have been removed, since they were never in
a stable branch, and all the places that used them have been changed
to use the newer $PAGE->requires->... methods.

get_require_js_code is also gone, and the evil places that were calling
it, even though it is an internal function, have been fixed.

Also, I made some minor improvements to the code I committed yesterday
for MDL-16695.

All that remains is to update all the places in core code that are
still using require_js.

(This commit also fixes the problem where the admin tree would not
start with the right categories expanded.)
2009-06-12 12:13:07 +00:00
skodak
a8d6ef8c6c MDL-18293 $DB->somethiong is using exceptions, no need for ifs there, removing useless strings 2009-06-03 20:16:20 +00:00
skodak
1aa01caf90 MDL-16231 reimplemented deleting of files + cron cleanup 2009-06-03 08:10:21 +00:00
skodak
4fe2250a1f MDL-19352 maintenance mode reiplemented 2009-05-31 14:42:29 +00:00
skodak
aa282b10fb MDL-15249 $_SERVER['HTTP_HOST'] not availabel in CLI script, replaced by parsing of wwwroot which should give the same info 2009-05-25 20:55:27 +00:00
skodak
d4ff178fa9 MDL-19288 fixed one more incorrect use of array_shift() which breaks array keys - thanks Colin Campbell; merged from MOODLE_19_STABLE 2009-05-24 07:24:16 +00:00
samhemelryk
0d0a8bf6e7 moodlelib.php MDL-19236 added phpdocs and copyrights 2009-05-22 02:57:43 +00:00
skodak
73efeff61b MDL-19119 moving get_fast_modinfo() to moodlelib.php - the recent changes related to inclusion of course/lib.php were causing regressions 2009-05-17 18:45:00 +00:00
skodak
5ca3c8386f MDL-19184, MDL-19212 - refactoring, cleanup and improvements in text editors support; localization support is not finished, inline docs incomplete, expect more commits soon 2009-05-16 20:53:21 +00:00
skodak
c92ac318a9 MDL-19194 fixed regression - recursive cretion of dirs on win32 works again 2009-05-15 07:21:29 +00:00
tjhunt
f474a4e583 blocks: MDL-19010 Fix further blocks-related breakage, including removing all references to blocks_insance_old outside blocklib.php 2009-05-07 08:55:10 +00:00
tjhunt
93d4a373f9 blocklib: MDL-19010 always include blocklib in setup.php, stip includes elsewhere 2009-05-06 09:13:16 +00:00
tjhunt
66b10689e2 blocklib: MDL-19010 upgrade database tables ready for now blocks system 2009-05-06 09:12:03 +00:00
tjhunt
830dd6e9cd moodle_page: MDL-12212 reimplement user_is_editing, deprecate isediting 2009-05-06 08:59:29 +00:00
tjhunt
948203a5e8 moodle_page: MDL-12212 ->category and ->categories 2009-05-06 08:46:05 +00:00
tjhunt
89fbdca300 moodle_page: MDL-14305 (and MDL-12212) class on body based on ->wwwroot 2009-05-06 08:44:58 +00:00
tjhunt
e88462a055 moodle_page: MDL-12212 eliminate the two different interpretations of
pagetype
2009-05-06 08:41:02 +00:00
tjhunt
c13a5e71cc moodle_page: MDL-12212 start of new moodle_page class
* has course and status fields
* $PAGE->status updated by print_header and footer
* $PAGE->set_course now replace course_setup function
* global $PAGE created in setup.php
* unit tests for functionality so far
* Moodle still seems to work after this commit!
2009-05-06 08:29:22 +00:00
stronk7
6bdf4c99b3 MDL-16824 messaging - move unread messages from deleted users to message_read.
Pending to commit changes to uploaduser.php. Credit goes to Anthony Borrow. Thanks!
Merged from 19_STABLE
2009-04-26 22:56:56 +00:00
skodak
dc5c2bd9eb MDL-18910 full support for module intro editor with embedded images 2009-04-21 21:17:21 +00:00
skodak
42f103be4c MDL-18910 moving modedit features to modname_supports() 2009-04-21 08:57:20 +00:00
tjhunt
0f74bb01ff filters: MDL-7336 settings page for setting the local enabled/disabled state 2009-04-13 07:12:41 +00:00
tjhunt
ccc161f8f0 filters: MDL-7336 change weblib to use the new code
* Rename filter base class from filter_base to moodle_text_filter
* Remove unnecessary explicit constructors in moodle_text_filter
subclasses
* New filter_manager class, rather than static methods in filter_base
* Move some logic out of weblib, and into filter_manager
* Count filtering ops when $CFG->perfdebug on, via
performance_measuring_filter_manager
* Kill unused filter_string function. Petr said it should have been
private to weblib
2009-04-13 06:56:32 +00:00
tjhunt
5c2fec8b74 get_string: MDL-18813 get_string was broken for strings that were '' 2009-04-08 11:45:53 +00:00
sam_marshall
2bf69a8588 MDL-18094: course/viewhiddenactivities didn't work (in some parts of the code) at module level 2009-04-03 13:11:05 +00:00
tjhunt
c464eda684 get_string: MDL-18669 - fixing a screw-up spotted by Dongsheng. Thanks. 2009-04-03 07:41:40 +00:00
fmarier
c65ab2be95 Password policy: MDL-17602 new "max consecutive identical characters" setting 2009-04-03 02:22:52 +00:00
sam_marshall
48f9c073ca MDL-18094: course/viewhiddenactivities didn't work (in some parts of the code) at module level 2009-04-02 16:32:12 +00:00
tjhunt
d8413bf3d2 lang editing: MDL-18776 fix regression from MDL-18669. 2009-04-02 09:37:29 +00:00
tjhunt
0c34c7eb50 translation: MDL-18766 reverting. I guess it was not yet ready for prime-time.
I'll commit the patch to contrib in case anyone wishes to experiment further.
2009-04-02 02:42:11 +00:00
tjhunt
b4cf937102 translation: MDL-18766 Prototype automatic translation system for Moodle.
If Google can do something like http://translate.google.com/, surely we
can do something just as good in Moodle. Here is a first attempt. It is
a bit rough around the edges, and only a couple of target lananguages
have been implemented so far. (More and better attempts welcome!)

In order to ensure that this gets adequate testing, I have made sure that
it gets turn on by default. However, if you really don't like it, you can
turn it off under Administration > Development -> Experimental settings.
2009-04-01 00:39:17 +00:00
tjhunt
b810a4d3c9 filters: MDL-17684 Look for the filter name in filter_myfilter.php first.
This makes filters more plugginable, becuase with this lang file name, get_string will look for the filter name in filter/myfilter/lang/en_utf8/filter_myfilter.php.

To do this, there is a new function filter_get_name in filterlib that contains the logic.

Also, a new function filter_get_all_installed to replace the logic for getting all filters that was duplicated in three places.

filter_get_name no longer does such a nice fall-back if the name is missing, to encourage people to supply the right string. The fallback now looks like '[[filtername]] (filter/tidy)'.
2009-03-30 08:33:13 +00:00
tjhunt
e7b818807c get_string: MDL-13816 allow third-partly modules to register sub-plugin types that have their own lang files.
I suppose to be really useful we should deal with database, capabiltities, etc. too in due course. Still, this is a start.
2009-03-30 06:13:35 +00:00
tjhunt
bb45fe62c4 get_string: Refactoring, performance improvements, bug fixes and unit tests
MDL-18669 get_string refactored to elimiate duplicate code and make it easier to understand.
MDL-17763 parent language not processed correctly when getting a plugin string.
MDL-16181 more intelligent caching to avoid repeated file_exists checks.
MDL-12434 move values to array keys to improve lookup times.

The main part of the refactoring is to create a singleton string_manager class to encapsulate the cached data and the processing, while breaking the code up into more smaller methods.

Other performance improvements include:
* Cache results of plugin name -> locations to search array.
* Cache parent lang lookup.
* Skip eval if the string does not contain $ \ or %.
* Remove the unnecessary sprintf from the eval.

There is a performance testing script in lib/simpletest/getstringperformancetester.php. For now this script has the old get_string implementation copied and pasted to the end, and renamed to old_get_string to allow for comparitive timings.

There are now some unit tests for get_string in lib/simpletest/teststringmanager.php. I think I have managed to cover most of the tricky cases.
2009-03-30 02:21:27 +00:00
poltawski
9b831e01d2 lib/moodlelib.php MDL-18406 - use more robust require path
thanks to Daniel Neis
merged from MOODLE_19_STABLE
2009-03-25 09:38:41 +00:00