Compare commits

..

266 Commits

Author SHA1 Message Date
martin d51c583d3c Updated version for 1.0.5 release 2002-09-27 13:40:17 +00:00
martin ebf2e54dd6 Mentioned the icon bug 2002-09-27 13:39:59 +00:00
martin 5ea4745d18 Updated version and release 2002-09-27 06:20:20 +00:00
martin 077f9a67d0 Add manage database link to home page admin links if necessary 2002-09-27 06:19:49 +00:00
martin 34a0cda676 Put version info on admin page 2002-09-27 06:19:18 +00:00
martin b35f948b97 Nicer way to find out the major changes since the last version.
RELEASES.html shows the changes, and these are displayed during
an upgrade.
2002-09-27 06:13:59 +00:00
martin 2802ac6ec7 Tweaks and formatting 2002-09-27 05:25:46 +00:00
martin 2a691b9439 Hoepfully made the upgrade process clearer. 2002-09-27 05:12:02 +00:00
martin 91ac0405fa A little extra error checking. 2002-09-27 04:53:27 +00:00
martin 3ef909ca58 Removed encoding setting because i suspect it may be messing with SMTP mail 2002-09-27 01:35:25 +00:00
martin b362b85e99 Better format for text version of emails 2002-09-26 16:02:13 +00:00
martin 004db95014 Changed some instances of include() to include_once() 2002-09-26 14:41:59 +00:00
martin f1f901c3ea After upgrading version, stay on admin page rather than going to home
page, just in case there is more to do.
2002-09-26 13:05:18 +00:00
martin 9450cef212 Updated version and release 2002-09-26 11:44:06 +00:00
martin f25f1e1b66 Little bug that caused the guest icon to display even when guest was turned
off (if the password was null)
2002-09-26 11:10:20 +00:00
martin 57f3a4a564 the more things change, the less they stay the same 2002-09-26 07:27:01 +00:00
martin 41e1986cdc Update the version 2002-09-26 07:25:47 +00:00
martin 8f1cba2858 The login page now shows different instructions depending on the
authentication mechanism.
2002-09-26 07:13:14 +00:00
martin faebaf0f40 First implementation of new authentication system, which can now use
pluggable modules in the 'auth' directory.

Everything is done through authentication_user_login in lib/moodlelib.php

As well as the old default "email" confirmation, I added a new type of
confirmation "none", which basically does no confirmation at all.
2002-09-26 07:03:22 +00:00
martin ab998e5d07 Check for USER->email in require_login. With external authentication
schemes it's possible that the email field could be empty, so this
will force users to update it (and the rest of their profile) any
time they log into a course.
2002-09-26 03:51:31 +00:00
martin 43dc944611 Make $a bold so it's easier to see 2002-09-26 03:36:16 +00:00
martin ef5e5d87dc New help file for language editing 2002-09-26 03:20:15 +00:00
martin 4c2bcc7a1b Much better. No slashes needed AT ALL now, not even for $a variables.
Also provided a help button at the top.
2002-09-26 03:16:40 +00:00
martin 9d389960e6 Patches from Petri 2002-09-26 02:19:53 +00:00
martin d7ea4a225d Info about lib/htaccess 2002-09-25 16:38:09 +00:00
martin 96dad0de43 Added DirectoryIndex stuff 2002-09-25 16:33:54 +00:00
martin 7104dfc9ef Added new postgres7 schema, developed by Felipe Rodrigues da Silva <felipe@pontoexe.com>. Thanks Felipe!
I've personally not tested this yet so PostgrSQL user feedback is encouraged!
2002-09-25 15:16:21 +00:00
martin b839163528 Don't redirect too early 2002-09-25 14:40:28 +00:00
martin d66ee54d8d Add some comments 2002-09-25 13:37:12 +00:00
martin 04ad372d93 Improved explanations for how to use this file 2002-09-25 12:33:21 +00:00
martin 632d640751 It's possible $USER->lang may not be defined. If so, use $CFG->lang. 2002-09-25 11:06:27 +00:00
martin 4c701e6f54 Set fromdiscussion here just in case it's not set elsewhere 2002-09-25 08:17:35 +00:00
martin 38ff0e9f1f ALL CHANGES UP TO MOODLE 1.0.5 BETA 1 2002-09-25 07:42:39 +00:00
martin 9ec9ff5dc5 Unfinished files 2002-09-25 07:41:23 +00:00
martin 89e71738b5 updated version numbers for beta 1 release 2002-09-25 07:40:07 +00:00
martin 9806ae9403 README contains author etc 2002-09-25 07:38:23 +00:00
martin d68c814679 Added README with author 2002-09-25 07:37:31 +00:00
martin d0b12add53 Author stored in README 2002-09-25 07:35:58 +00:00
martin cb011cfd0a In compare mode you can now EDIT language files directly. This should
make language development much easier.

Based on code sent to me by Petri Asikainen
2002-09-25 07:33:04 +00:00
martin f74a4a79f2 Cough typo 2002-09-25 07:31:19 +00:00
martin 6321ab8df6 Edited using language editor 2002-09-25 07:30:16 +00:00
martin 3f5331eb19 New string 2002-09-25 07:19:32 +00:00
martin 49f5bb0527 Fix for ICQ display (they've changed their URLs) 2002-09-24 12:45:06 +00:00
martin ed4567d69d Hide password during registration 2002-09-24 09:20:43 +00:00
martin 74ed07ac86 Prevent guests even seeing the edit button 2002-09-24 09:06:17 +00:00
martin 3182314d5c Prevent guests from submitting choices or assignments 2002-09-24 09:02:34 +00:00
martin 17b365f829 Updated Sebastien's address to seb@gaia.anet.fr 2002-09-24 08:54:44 +00:00
martin 3d98b29d51 Make sure site security is added when logging in via change password 2002-09-24 01:28:19 +00:00
martin 83e9a09e34 Newly formatted header.html files in themes ... still works the same
just might be easier to edit now.  index.php uses new set_config function
2002-09-23 15:42:22 +00:00
martin 8cea3a3974 Special "navigation" for home page - "home" value sets off different header
in themes
2002-09-23 15:41:06 +00:00
martin a28af1fe74 New set_config() and better use of $CFG->version 2002-09-23 15:40:16 +00:00
martin b3ac9d9b85 New standardlogo theme ... like standard but with a logo 2002-09-23 15:38:22 +00:00
martin fd8dfb5a88 Sample logo 2002-09-23 15:37:08 +00:00
martin 1e22462d01 Fixed up default-sized tables again 2002-09-23 07:02:26 +00:00
martin 7fd6bb7cf6 Whoops teacher checking was back to front 2002-09-23 06:49:30 +00:00
martin 380871ace1 Personal mentions 2002-09-23 04:04:31 +00:00
martin a46b910e00 Change to name of language 2002-09-23 02:11:08 +00:00
martin 43afb07b98 Updated name of language 2002-09-23 02:08:40 +00:00
martin 3e8540f4fe Added Portuguese (Brazilian) by Fabricio Valadares, Thanks! 2002-09-23 02:04:44 +00:00
martin 2b6277bc51 Updated credits 2002-09-23 01:47:34 +00:00
martin affb83a226 Saner format for editing profile 2002-09-22 16:24:38 +00:00
martin 1fdaab8d76 Bolder title 2002-09-22 16:19:45 +00:00
martin a58977a2a0 Forgot country display change 2002-09-22 16:17:11 +00:00
martin adcb3ac53d Better country sorting on user index in a course 2002-09-22 16:16:13 +00:00
martin 7c3cf7f3ef Better way of sorting countries 2002-09-22 16:12:49 +00:00
martin 096dc19f3b Fixes to country sorting 2002-09-22 16:03:01 +00:00
martin 8538258121 Better handling of country sorting 2002-09-22 15:57:23 +00:00
martin 66c95f3224 Don't delete a user if already deleted (reloading page, say) 2002-09-22 14:42:32 +00:00
martin 6968fd6656 Updated version 2002-09-22 14:39:09 +00:00
martin 45aa6d563c Fixes to unenrolling students, and unenrol_student() and remove_teacher()
now remove forum_subscriptions correctly
2002-09-22 14:33:21 +00:00
martin 274f62e6d5 Fixes to table widths 2002-09-22 14:11:45 +00:00
martin b4ead712f2 Arrghh ... foget to remove the debugging thing 2002-09-22 14:07:15 +00:00
martin d578afc883 Major cleanup of user administration and display, including sortable listings,
confirmation on deletions, removing deleted user from all student lists,
teacher lists and subscription lists and freeing up their username and
email to be used again.
2002-09-22 14:06:38 +00:00
martin 7684ce4b32 Changes (getting close to 1.0.5 now) 2002-09-22 06:49:38 +00:00
martin 1d3ff0711f Updated module template with module_print_recent_activity() 2002-09-22 06:47:11 +00:00
martin 3446205d44 Added assignments under "Recent Activity" 2002-09-22 06:41:56 +00:00
martin 88491cacba When redirecting to admin page go direct to index.php just in case
DirectoryIndex hasn't been fixed yet.
2002-09-22 05:33:54 +00:00
martin bbe3efd8e1 Some comments to indicate standard and other functions 2002-09-22 04:29:18 +00:00
martin 66ea15f3cc Reaaranged the functions into standard and other 2002-09-22 04:27:45 +00:00
martin 7bca79576f Fixed stupidity 2002-09-22 03:58:41 +00:00
martin a30cfe1685 Error in the SQL - fixed now 2002-09-22 03:57:56 +00:00
martin 54634efcba New function to show new surveys in recent activity box 2002-09-22 03:51:28 +00:00
martin a2b71b6d71 Whoops typo - left in some old stuff 2002-09-22 03:17:29 +00:00
martin 03af47eee3 SHow number of journal entries in the teacher link to report 2002-09-22 03:16:40 +00:00
martin 3bf90da5f6 Use log URL for link to journal 2002-09-22 03:13:10 +00:00
martin 01a086c3dd Support for new deleted field in user table 2002-09-22 03:11:05 +00:00
martin ae2e0dddad Changes to not include deleted users in some things 2002-09-22 03:05:39 +00:00
martin bb09fb1157 Changes to enable DELETION of user accounts. Accounts aren't actually
deleted, they are just marked with a deleteion flag that prevents them
from logging in, or from being listed anywhere.
2002-09-22 03:01:17 +00:00
martin 3869a2ac3d Changes to print_recent_activity in course/lib.php. It is now more
modular (at slight cost to performance) and every modules can now
have a module_print_recent_activity() function.  This function
takes a list of logs, searches for things to display and does so.

So far I've done forum and journal functions
2002-09-21 17:11:08 +00:00
martin 20aa2257dc Allow 1-minute delay (mostly good for testing) 2002-09-21 08:44:08 +00:00
martin 93e0f85d6c Need more room for language variable (eg pt_br) 2002-09-21 08:42:05 +00:00
martin a16c2180d0 Make sure user language works OK (it does now) 2002-09-21 08:40:27 +00:00
martin 562bbe9074 Make mail format explicitly 8bit 2002-09-21 08:39:54 +00:00
martin a5a4cd60cb Make sure mailouts are in the user's chosen language 2002-09-21 07:46:30 +00:00
martin 5319c6adf6 Make sure mailouts are in the chosen language of each user 2002-09-21 07:42:54 +00:00
martin bcf7ee7a97 Initial (incomplete) version of French translation by Sebastien Nameche <snameche@virtual-net.fr>
Good start!  Thanks, Sebastien.
2002-09-21 07:27:07 +00:00
martin 94cfe58b19 Initial version of Finnish translation, as done by Petri Asikainen <paca@sci.fi>
Thanks, Petri!
2002-09-21 07:22:23 +00:00
martin 1774e33325 Added single quotes around all the keys ... even though PHP works
without them, it will flag errors when errorlevel is turned up, and
I suspect this slows it all down a bit.
2002-09-21 07:18:16 +00:00
martin 13fb5ec074 Added my email address 2002-09-21 07:07:44 +00:00
martin effbcca27c Don't need to log in to see site-level course 2002-09-21 07:03:54 +00:00
martin b92ea9450c More options for longtimenosee 2002-09-21 06:45:26 +00:00
martin c69ce08b49 Don't print pictures at all for very large lists 2002-09-21 06:39:28 +00:00
martin 25fa226dac Make more room in list 2002-09-21 06:30:32 +00:00
martin 32b4b9746a more refinements to sorting display 2002-09-21 06:27:00 +00:00
martin 3f63219688 Fixed typo from testing 2002-09-21 06:13:42 +00:00
martin e6b9ee042d Much better look for user index 2002-09-21 06:12:54 +00:00
martin dccd16712a Slight additions to print_table 2002-09-21 05:43:46 +00:00
martin c07daf5bbc Added lang for users 2002-09-21 05:43:21 +00:00
martin 6b281f1fec Better display of users in shortened form, for testing 2002-09-21 05:42:16 +00:00
martin 7a702c34ea Tweak 2002-09-20 15:42:16 +00:00
martin 6abee98964 First go at an abbreviated user listing 2002-09-20 15:40:20 +00:00
martin 1e4d8ed1d2 Put sitename on debugging info (helpful when comparing two sites) 2002-09-19 14:59:47 +00:00
martin 08056730fa Improved interface for course/teachers.php ... instead of typing numbers
into a box there is now a menu for each user.   Much better!
2002-09-19 14:51:49 +00:00
martin ae7aafeb53 Got rid of errorlevel configuration - more trouble than it's worth!
Hardcoded it into setup.php now - people who are that keen can change
it there.
2002-09-19 14:07:24 +00:00
martin 1be8717562 Updated for new configuration page 2002-09-19 14:06:28 +00:00
martin 4d0dde9159 Some consistency in headers on editing forms 2002-09-19 13:55:40 +00:00
martin 74944b734d Most of the configuration variables have been moved out of the config.php
file and into a database, where they can be edited using a new admin form
called "Configure variables".
2002-09-19 12:01:55 +00:00
martin e80e60a6b2 Slight fix to error page to include site name properly 2002-09-17 14:56:18 +00:00
martin 76dbe04f4a Login link on home page 2002-09-16 13:03:31 +00:00
martin 7ff602b225 eminder about saving themes in upgrades etc 2002-09-16 07:11:31 +00:00
martin a9858957e1 Typo 2002-09-16 07:08:33 +00:00
martin 7185779262 Fixed name in popup javascript window 2002-09-16 07:03:33 +00:00
martin af90e74e59 Sample .htaccess file 2002-09-16 06:33:53 +00:00
martin 37e9df195f Fixed Id 2002-09-16 03:23:10 +00:00
martin c94e1535f8 Type on phpinfo 2002-09-16 03:20:55 +00:00
martin 7b5271354b Mentioned there's no need to use a trailing slash on the wwwroot 2002-09-15 06:09:44 +00:00
martin a7b9e8bc9f Fixes to point directly to index.php wherever it was assumed. This wasn't
a problem on most servers, but was causing some problems on IIS servers
2002-09-15 06:06:32 +00:00
martin 1a72314d0f Can now specify current language on a per-user basis 2002-09-14 03:43:24 +00:00
martin c46df33643 New help file for editing html 2002-09-13 10:22:06 +00:00
martin 73761dc9be Added a new reading type "html text". It's similar to "plain text"
except none of the auto-formatting is done, and all HTML code is
accepted.
2002-09-13 10:21:03 +00:00
martin ddd9a8969b SUrprise icon is a bit wider than 16 pixels 2002-09-12 17:08:32 +00:00
martin 7ef459ebed Fixed bug with category links on front page 2002-09-12 02:42:22 +00:00
martin e31309ed79 One more little buglet when confirming an email (added security site value) 2002-09-11 14:02:30 +00:00
martin 91d5dbf3eb CHANGES UP TO 1.0.4 (really, I mean it this time :-) ) 2002-09-11 05:11:13 +00:00
martin 122cffc938 Include guest user in list of users 2002-09-11 02:26:56 +00:00
martin 0c6561819b Changes to course display on front page when there is more than one category 2002-09-10 13:47:56 +00:00
martin 4ea0fc0f1a Removed some debugging stuff 2002-09-10 13:24:24 +00:00
martin a789fb73f4 More security for email confirmation process ... a 15-character random
"secret" key is stored the user record on account creation, sent via
email and checked again during confirmation.
2002-09-10 12:54:01 +00:00
martin ceb7ea7550 CHANGES UP TO 1.0.4 2002-09-10 03:44:09 +00:00
martin 99b5e56207 Whoops, left attachment field out of the database schema (affected
new installations of 1.0.2 and later)
2002-09-10 02:13:44 +00:00
martin 45c58cb7ad CHANGES (this is 1.0.4 unless anything comes up very soon) 2002-09-09 15:52:07 +00:00
martin 8e652a3660 Tweak to modify interface a bit (changed header and made courses a link) 2002-09-09 15:50:55 +00:00
martin db95b60308 CHANGES 2002-09-09 12:38:29 +00:00
martin 0a26320532 Tweaks to category display 2002-09-09 12:37:34 +00:00
martin ba2e5d7347 Categories upgrade. Admin can now create/edit/delete categories, and
these are diesplayed wherever courses are listed
2002-09-09 11:48:11 +00:00
martin 7aa0bb8886 Layout fixes ... much better now 2002-09-09 11:42:27 +00:00
martin d6935726ed Changed maximum number of weeks/topics up to 52 2002-09-09 11:31:48 +00:00
martin 782e7594ec Rearrange code ... accidentally placed table->head in the loop 2002-09-09 10:38:14 +00:00
martin e5c2a9e441 Whoops ... last conversion actully tampered with comment formatting
... I've fixed that now.
2002-09-09 06:23:39 +00:00
martin bc44a3a0ad Converted all the DOS format text files to UNIX format, for consistency
with the rest of Moodle and also to prevent possible mangling of
files in case they are FTP'd individually to a server.
2002-09-09 06:17:11 +00:00
martin 503eced327 Added height and width to smiley icons, to make emails look
better in circumstances where external images are blocked
(eg some webmail programs like squirrelmail).
2002-09-08 16:13:10 +00:00
martin 8f66d49a77 Added an "unsubscribe" link to emails 2002-09-08 16:04:51 +00:00
martin 28e1e8b912 Fixed a bug. When replying to an email copy, you would be forwarded
to the login screen to login first.  However, this was being saved
as the place to go back to after replying.

I added a check for this so now it behaves as you'd expect.
2002-09-08 15:39:44 +00:00
martin cdf6a3ca28 Text window a bit bigger 2002-09-08 09:47:10 +00:00
martin cd3fccff00 Choices now support up to 6 choices. Backward compatible to 2-choice format. 2002-09-08 09:42:07 +00:00
martin 2415d953f0 Tip over 'Edit profile' is the user's name 2002-09-08 09:41:17 +00:00
martin d037d3a28a Help for choices 2002-09-08 09:22:31 +00:00
martin 59a7100ccf Clarified the "participants" link ... 2002-09-08 05:29:00 +00:00
martin 2c26c98575 Link at bottom now goes to site home, not this page 2002-09-08 05:23:47 +00:00
martin 09442e5067 Added documentation to the teachers page. 2002-09-08 05:15:52 +00:00
martin 5b54db6ee4 Improved print_table() a bit (can now specify column widths) 2002-09-08 05:15:37 +00:00
martin c2bc0a4573 Need this file to go with the previous changes! 2002-09-08 03:34:45 +00:00
martin 40a1d986f9 Changes to improve display of teachers 2002-09-08 03:34:12 +00:00
martin b4d7002e66 Changes to allow much better control over what "teachers" are called
in a course.  Firstly, the course settings page now allows the teachers
to specify the word they want to use in place of "teachers" and "students"
as well as "teacher" and "student".  Secondly, a new teacher admin tool
allows any teacher to modify the order and displayed role of teachers
in that course.  This affects the display on the course listings, the
participants page and so on.
2002-09-08 03:24:38 +00:00
martin 774ab66002 Improvements to the language checker. As well as checking for missing
strings, you can now see the current language compared side-by-side
with English.
2002-09-07 14:57:33 +00:00
martin 7fb8331432 Add a link if a "manage database" directory exists 2002-09-07 14:56:19 +00:00
martin fa8e1a34ec Slight update to README 2002-09-07 05:01:55 +00:00
martin 601212b8d2 Added a README that explains the process 2002-09-07 03:54:10 +00:00
martin a48bf3ecd4 Added a template for new modules that contains the bare necessities. 2002-09-07 03:31:36 +00:00
martin 12bace2439 Checking in the current release number for CVS users 2002-09-06 15:17:44 +00:00
martin d21fef3a02 Don't try and print the last access date if it doesn't exist 2002-09-06 15:10:36 +00:00
martin c646b70d66 Added a new $release variable that shows the user-friendly version number 2002-09-06 14:06:48 +00:00
martin 7c6addde73 Cleaned up a bit 2002-09-06 14:05:43 +00:00
martin 09ba0c8a32 Fixed bug in password checking for new admin user ... 2002-09-05 17:31:08 +00:00
martin c5e66fc9da Updated the info to mention that the upgrading only works if you
are logged in as the *administrator* and visit the site home page.
2002-09-05 12:29:26 +00:00
martin 19505e1333 CHANGES UP TO 1.0.3.1 2002-09-05 12:25:08 +00:00
martin 19967d6c3d Updated version 2002-09-05 12:24:15 +00:00
martin 55b8ac3107 Better error message when invalid arguments are supplied. 2002-09-05 11:56:20 +00:00
martin e2d8972553 BUG FIX! - fixes error that could allow ANY file on the system to be read! 2002-09-05 11:53:17 +00:00
martin 45f21575aa Whoops ... little bug that stopped loginas from working ... need to
create $USER->site ...
2002-09-05 11:28:06 +00:00
martin f5e88127d8 Updated version number 2002-09-05 02:29:54 +00:00
martin f6ab73667e CHANGES UP TO MOODLE 1.0.3 2002-09-05 02:28:50 +00:00
martin e98e09150e New error when the admin user is (still) set to the default "admin". 2002-09-05 02:17:33 +00:00
martin 403bb50d7b BUG FIX: In the last version I introduced a new security feature
(keeping the site URL stored in the USER session object) but forgot
to add this to the brand new admin user - causing it to fail.

Fixed.
2002-09-05 02:04:00 +00:00
martin 97ea24e307 Updated README .. pages dir no longer exists - now "help" and "docs" 2002-09-04 13:38:38 +00:00
martin a3cbb7539d Using different logo file to avoid caching problems on changeover 2002-09-04 09:39:03 +00:00
martin a0376793c2 Sorted out moodle logos 2002-09-04 09:38:22 +00:00
martin 1903dd11d8 Tweaked the new icon 2002-09-04 06:32:50 +00:00
martin ef9955b081 Better handling of user-entered URLs (add http:// if missing) 2002-09-04 05:07:17 +00:00
martin 5e391d346d New logo that should work on more themes 2002-09-03 16:58:49 +00:00
martin 90ebcad978 Switched these around and edited a little 2002-09-03 15:16:20 +00:00
martin 31410e9a16 Added a new administration page that can check the current language
pack against the English language pack.  It prints any missing strings
or files.  This should help language pack developers.
2002-09-03 14:29:39 +00:00
martin cf38360f58 Language fixes, added english strings etc 2002-09-03 13:11:40 +00:00
martin 42389890d5 More efficient use of database in userday as well, plus the day graph now
always shows the whole current day
2002-09-02 16:35:41 +00:00
martin f08cc8bbfe usercourse bar --> line graph for better display when lots of data 2002-09-02 16:03:33 +00:00
martin e45e8d26da Alternate method of calculating usercourse logs .... is it faster? 2002-09-02 15:53:19 +00:00
martin 5be2f47cf4 Added Content-disposition header to help some browsers suggest the right
filename when saving pictures and files.
2002-09-02 09:06:43 +00:00
martin 0eae8049a0 Fixed over-zealous removal of returns from text ... 2002-09-02 07:41:39 +00:00
martin cffbaff2dc Print the user's stated city/country as well 2002-09-02 07:18:13 +00:00
martin d8e69c5c6d CHANGES UP TO MOODLE 1.0.2 2002-09-02 06:51:31 +00:00
martin 9febf87563 Added ability to define proxy machine (eg a firewall) so that Moodle
is able to get to the Internet if it needs to
2002-09-02 06:34:43 +00:00
martin d3fcd70b3d Add Moodle support for proxies 2002-09-02 06:30:57 +00:00
martin 8aed46c7eb *** empty log message *** 2002-09-02 06:25:27 +00:00
martin e92ea3d85f Fix the display when USER display mode is flat, and a parent is selected.
In this case, the display is temporarily changed to nested
2002-09-02 05:03:54 +00:00
martin 5a83a0a84e Default forum display mode is actually used now 2002-09-02 03:48:47 +00:00
martin e181f6ab00 Removed the 255 character limit ... now they have a gun, I hope people
don't shoot themseves with it.   ;-)
2002-09-02 02:17:36 +00:00
martin 0c71c9ae0e Hide no-authority teachers from course listings too 2002-09-01 14:47:03 +00:00
martin a3f0817b28 New documenttaion about attachments 2002-09-01 14:35:07 +00:00
martin 7f6689e4e0 Attachments can now be added to postings.
They are stored in the course moddata area.
They appear as links within the message, including mailed-out messages.
They are deleted when the post is deleted.
2002-09-01 14:34:38 +00:00
martin e6e769a9ea Updates and changes 2002-09-01 14:32:12 +00:00
martin 6621349c31 Moved valid_uploaded_file out to lib/moodlelib.php 2002-09-01 14:31:49 +00:00
martin 088a2b71fb Documentation on file sizes 2002-09-01 14:31:14 +00:00
martin f144c3054a DOn't print teachers with no authority 2002-09-01 14:30:39 +00:00
martin 44e2d2bb42 Functions moved here from files/index.php (related to file handling) 2002-09-01 14:29:17 +00:00
martin fedc147ef7 Moved some functions out to lib/moodlelib.php 2002-09-01 14:28:08 +00:00
martin 7b1c0ce35c Increased size of section summaries from 255 chars to 65000 chars. 2002-09-01 14:24:16 +00:00
martin 2f4de5e353 Mentioned that config.php needs to be edited using a *text editor* :-) 2002-08-31 02:44:21 +00:00
martin 26114038cc Prints an error message if theme can't be set 2002-08-30 16:02:10 +00:00
martin 54824c737d New strings for file management stuff 2002-08-30 13:28:57 +00:00
martin 0c377177ed Improved header now contains directory trail, and I internationalised
all the texts (buttons etc)
2002-08-30 13:18:06 +00:00
martin 2560d13338 Added slash after login to fix obscure problems on some servers 2002-08-28 15:53:39 +00:00
martin f06c1d62dc Added slash after login link ... some servers have problems without it 2002-08-28 15:28:30 +00:00
martin c21c671d74 Security fix for:
Internet Explorer bug that allows sends cookies to different sites if
  they have the same ending.  eg moodle.com cookie is sent to smec.moodle.com!!

  Also fixes case where multiple moodle installations may be in different
  directories on the same server.  When you go from one to the other the
  first session will be destroyed now (you can't be logged in the two
  at the same time).  It's just a lot safer this way, for now.

Basically this works by storing the wwwroot variable in the session
and checking it for every page.
2002-08-28 15:07:46 +00:00
martin 6e4c09db98 slasharguments wasn't being found (CFG not declared global) 2002-08-28 13:41:38 +00:00
martin 718deefdc8 Added powerpoint 2002-08-28 13:36:49 +00:00
martin 293eae6863 New icon 2002-08-28 13:36:36 +00:00
martin 5a34779307 Slight improvements to documentation 2002-08-28 13:20:20 +00:00
martin ca4f8eb868 Moved uploaded assignment files into a subdirectory called moddata,
where data from other modules can also live later on.

Also added a README for that directory to warn teachers not to mess
with it, version code to perform the upgrade, tweaks to assignment/lib.php
and a tweak to reading module so that assignment files aren't listed
in the list of possible readings (could get messy).
2002-08-28 13:07:10 +00:00
martin 4ea53d802f More details about Moodle futures 2002-08-28 03:45:18 +00:00
martin ee1ddef672 Tweak to side boxes 2002-08-26 20:45:01 +00:00
martin 915d17bb1e Further little tweak to front-page spacing 2002-08-26 20:41:02 +00:00
martin 670fddf176 Fix for front page case when no left column 2002-08-26 20:38:56 +00:00
martin 9ab327d6f7 Doesn't matter if user isn't provided 2002-08-26 11:04:01 +00:00
martin 5021d6acef MOODLE 1.0.1 RELEASED 2002-08-26 10:07:32 +00:00
martin 6e83bc8ea8 Upgraded version number to today, in anticipation of 1.0.1 2002-08-26 10:06:04 +00:00
martin 40b13d9ff4 Choose "general" forum now as a default 2002-08-26 10:01:46 +00:00
martin 248e837d24 New changes 2002-08-26 09:51:34 +00:00
martin 3f8247c2ea Changes to use a new configuration variable: CFG->slasharguments
If true, then display of user pictures or filenames will use the
method of providing arguments as "slash" arguments - this is much
better for caching, proxies, search engines etc.  Unfortunately
it doesn't seem to work on some PHP installations.

If false (the default), then a more compatible method is used
(ie usual way of passing parameters to scripts)
2002-08-26 09:48:00 +00:00
martin ef4743b9bf Slightly bigger window 2002-08-26 09:28:01 +00:00
martin 57fa46e2a2 Nicer display of earth plot now contains user's name as well 2002-08-26 09:25:24 +00:00
martin 9268aa19ec Fixes to use Moodle background colour 2002-08-26 09:16:52 +00:00
martin 8865d49d19 Added IP-Atlas to credits 2002-08-26 09:05:16 +00:00
martin ebea4e27cc Added popup links for IP addresses in logs (display IP location on world map) 2002-08-26 09:00:57 +00:00
martin 1864143c38 Adding IP-Atlas 1.0 to this distribution. I use it to provide maps
for IP addresses (in the logs).
2002-08-26 08:59:36 +00:00
martin 3335f6fbc6 Forums with many discussions (> 10) become abbreviated to a shorter display 2002-08-26 08:35:02 +00:00
martin 6f5db3b457 More direct link to index.php just in case they don't have index.php
set as a default page
2002-08-26 02:49:34 +00:00
martin 19a55d6776 Changes to improve layout and formatting on old Netscape (eg version 4) 2002-08-23 03:55:49 +00:00
martin b0cb5e2297 Check that PHP is a recent enough version (ie 4.1.0 or later) 2002-08-23 02:14:19 +00:00
martin 7b3be1b12d New space-removal works better if done before adding link tags :-) 2002-08-22 08:31:29 +00:00
martin 0ab851127f If a post is updated that is also a discussion definition, then the discussion
name is updated with the post subject.
2002-08-22 08:01:21 +00:00
martin 729be1ab37 Experimental filters to remove returns from before and after tags, which
should mean neater formatting of lists and so on.  Needs testing.
2002-08-22 07:53:41 +00:00
martin 793f20b885 Tweaks to creation of user account while searching for the login
problem some people are having ...
2002-08-22 06:41:30 +00:00
martin bd2ad32fba Added recent upgrades (course->guest, and user->maildisplay) 2002-08-22 06:40:48 +00:00
martin a628dad3a9 Notes about the necessity of cookies being allowed 2002-08-22 02:24:07 +00:00
martin 882408f3be Handy link to course page, after assigning teachers 2002-08-22 02:23:41 +00:00
martin 4a62a65900 Whoops! comment out of place 2002-08-22 01:24:06 +00:00
martin 28b1e3ecec Just some comments about not removing the Moodle logo from the front page. 2002-08-21 14:08:40 +00:00
martin ab24749566 Fixed dates when no-one is logged in (uses server time now, not GMT) 2002-08-21 13:55:49 +00:00
martin 55e078c0fa Users can now choose to hide their email address. In this initial version
there are three options:

0) Hide the email address from everyone (except the teacher of their course)
1) Allow everyone to see the email address, all the time.
2) Allow only participants in the same course to see the email address

Note, new field maildisplay in 'user'
2002-08-21 13:29:25 +00:00
martin 7363ff911f Fixed up guest access PROPERLY - it's now more obvious and simple for teachers
to set it how they want.  Guest access now has THREE states (off, on, on with key).
2002-08-21 12:54:27 +00:00
martin babab0e100 Improved explanations 2002-08-21 11:11:49 +00:00
martin 4b3c8ea7c4 Clarified the documentation here 2002-08-21 10:56:14 +00:00
martin 407a39277c Anchor name fix 2002-08-21 02:05:47 +00:00
martin 55dd0d3021 Improvements to install documentation 2002-08-21 01:57:21 +00:00
martin ee23de06c1 Bugfix for unenrolling old users 2002-08-20 09:39:23 +00:00
martin fec6290385 Slight formatting fix on list 2002-08-20 02:15:46 +00:00
284 changed files with 28195 additions and 17785 deletions
+1826 -16
View File
File diff suppressed because it is too large Load Diff
+46
View File
@@ -0,0 +1,46 @@
<H3> Release notes for Moodle 1.0.5 </H3>
<P> New features (since 1.0.4): </P>
<UL><DL>
<DT> Configuration
<DD> Most variables are now stored in the database and modifed using an
admin form - this means config.php can be much shorter (only 8 items).
The GD version is now auto-detected on all versions of PHP.
New authentication plug-ins are now supported (auth directory).
<DT> Language improvements
<DD> We have three new languages! French, Finnish and Portuguese (Brazil).
The authors are on the credits page in the Moodle documentation.
Also, languages can now be easily edited directly via an admin web page.
<DT> Theme improvements
<DD> The standard theme code has been tidied up. It is now easier to
hack them and make your own themes. Existing themes are 100%
compatible. One new feature is that the home page can have a
different look to the other pages. A new standardlogo theme has
been added that shows you how to put your logo on the front page
(eg like moodle.com does)
<DT> User improvements
<DD> The user profile editing page now has a better layout.
The list of participants now switches to various "condensed modes"
when displaying larger classes. All user listings now support
sorting by column. The admin user can now delete (disable) user
accounts so that the user isn't displayed anywhere. Individual
users can choose their own display language (so that all web pages
and mailouts will be in that language).
<DT> Activity improvements
<DD> The "recent activity" box now also shows journal entries and
submitted assignments and surveys. The guest user can no longer
edit *anything* at all. A new reading type called "HTML text"
allows experienced users to use pure HTML.
<DT> Miscellaneous
<DD> Many tweaks to the interface and small bugs fixed, such as the one
that displayed the guest icon sometimes on course listings, even
when guest was actually disabled.
</DL></UL>
+51 -20
View File
@@ -9,34 +9,65 @@ information in files called version.php. There is
one of these for the main tables (in this directory)
and one for each module.
When upgrading from any previous version of Moodle,
all you normally will need to do is this:
1) Make a backup of your current Moodle installation
in the unlikely case that something goes wrong and
you need to restore the older version.
Before the upgrade
------------------
2a) If you are using CVS, just go the root directory
and type "cvs update -d" (or whatever the equivalent
is on your non-Unix server).
Before upgrading any version of Moodle, I recommend
making a backup copy of the moodle directory, your
data directory and your database, to guard against
the very unlikely event that something in the upgrade
goes wrong.
OR
At the very least, make a copy of your config.php file
and any languages, custom themes or plug-ins you have
added to Moodle.
2b) Remove the current installation, and then unpack
the new tar or zip file in the same location.
Make sure you copy the config.php file from your
old installion to the new installation (or make a
new one by editing config-dist.php).
3) Visit the home page of your installation. Moodle
will automatically detect the new version and perform
any database upgrades that might be necessary.
Upgrading the files using CVS
--------------------------------
If you are using CVS, just go to the Moodle root
directory and type "cvs update -d".
If you have been editing Moodle files watch the
messages very closely for possible conflicts
(and consider sending your changes in to me as patches!)
Upgrading the files using a downloaded archive
-------------------------------------------------
Remove the current installation directory
and then unpack the new tar or zip file into the same
location. (Overwriting an old installation usually
works fine, but I can't guarantee that it always will).
Next, copy the config.php file from your old installation
into the new installation (or make a new one by editing
config-dist.php). If you have created new themes or
other plug-ins then make sure you copy those back too.
Finishing the upgrade
---------------------
Visit the admin page of your installation to complete
the upgrade (eg http://example.com/moodle/admin).
It doesn't matter if you are logged in as admin or not.
Moodle will automatically detect the new version
and perform any database or filesystem upgrades that
might be necessary.
If all goes well (no error messages) then you can just
go on using the new version!
If all goes well (no error messages) then you can just
go on using Moodle normally.
If you have problems with this procedure, let me know.
Cheers,
Cheers, and have fun!
Martin
+168
View File
@@ -0,0 +1,168 @@
<FORM METHOD="post" action="config.php" NAME="form">
<TABLE cellpadding=9 cellspacing=0 >
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>auth:</TD>
<TD>
<? $modules = get_list_of_plugins("auth");
foreach ($modules as $module) {
$options[$module] = $module;
}
choose_from_menu ($options, "auth", $config->auth, "", "", "");
formerr($err["auth"]);
unset($options);
?>
</TD>
<TD>
<? print_string("configauth") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>lang:</TD>
<TD>
<? choose_from_menu (get_list_of_languages(), "lang", $config->lang, "", "", "");
formerr($err["lang"]);
?>
</TD>
<TD>
<? print_string("configlang") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>locale:</TD>
<TD>
<INPUT NAME=locale TYPE=text SIZE=3 VALUE="<?=$config->locale?>">
<? formerr($err["locale"]); ?>
</TD>
<TD>
<? print_string("configlocale") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>smtphosts:</TD>
<TD>
<INPUT NAME=smtphosts TYPE=text SIZE=30 VALUE="<?=$config->smtphosts?>">
<? formerr($err["smtphosts"]); ?>
</TD>
<TD>
<? print_string("configsmtphosts") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>gdversion:</TD>
<TD>
<? $options[0] = get_string("gdnot");
$options[1] = get_string("gd1");
$options[2] = get_string("gd2");
$installed = check_gd_version();
choose_from_menu ($options, "gdversion", $installed, "", "", "");
unset($options);
?>
</TD>
<TD>
<? print_string("configgdversion") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>maxeditingtime:</TD>
<TD>
<? $options[3600] = get_string("numminutes", "", 60);
$options[2700] = get_string("numminutes", "", 45);
$options[1800] = get_string("numminutes", "", 30);
$options[900] = get_string("numminutes", "", 15);
$options[300] = get_string("numminutes", "", 5);
$options[60] = get_string("numminutes", "", 1);
choose_from_menu ($options, "maxeditingtime", $config->maxeditingtime, "", "", "");
unset($options);
?>
</TD>
<TD>
<? print_string("configmaxeditingtime") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>longtimenosee:</TD>
<TD>
<? $options[1000] = get_string("numdays", "", 1000);
$options[365] = get_string("numdays", "", 365);
$options[180] = get_string("numdays", "", 180);
$options[150] = get_string("numdays", "", 150);
$options[120] = get_string("numdays", "", 120);
$options[90] = get_string("numdays", "", 90);
$options[60] = get_string("numdays", "", 60);
$options[30] = get_string("numdays", "", 30);
$options[7] = get_string("numdays", "", 7);
choose_from_menu ($options, "longtimenosee", $config->longtimenosee, "", "", "");
unset($options);
?>
</TD>
<TD>
<? print_string("configlongtimenosee") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>zip:</TD>
<TD>
<INPUT name=zip TYPE=text SIZE=30 VALUE="<?=$config->zip?>">
<? formerr($err["zip"]); ?>
</TD>
<TD>
<? print_string("configzip") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>unzip:</TD>
<TD>
<INPUT name=unzip TYPE=text SIZE=30 VALUE="<?=$config->unzip?>">
<? formerr($err["unzip"]); ?>
</TD>
<TD>
<? print_string("configunzip") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>slasharguments:</TD>
<TD>
<? $options[0] = "file.php?file=/pic.jpg";
$options[1] = "file.php/pic.jpg";
$installed = check_gd_version();
choose_from_menu ($options, "slasharguments", $config->slasharguments, "", "", "");
unset($options);
?>
</TD>
<TD>
<? print_string("configslasharguments") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>proxyhost:</TD>
<TD>
<INPUT name=proxyhost TYPE=text SIZE=30 VALUE="<?=$config->proxyhost?>">
<? formerr($err["proxyhost"]); ?>
</TD>
<TD ROWSPAN=2>
<? print_string("configproxyhost") ?>
</TD>
</TR>
<TR VALIGN=TOP>
<TD ALIGN=RIGHT><P>proxyport:</TD>
<TD>
<INPUT name=proxyport TYPE=text SIZE=5 VALUE="<?=$config->proxyport?>">
<? formerr($err["proxyport"]); ?>
</TD>
</TR>
<TR>
<TD COLSPAN=3 ALIGN=CENTER>
<INPUT TYPE="submit" VALUE="<? print_string("savechanges") ?>"></TD>
</TR>
</TABLE>
</FORM>
+97
View File
@@ -0,0 +1,97 @@
<?PHP // $Id$
// config.php - allows admin to edit all configuration variables
include("../config.php");
if (isset($phpinfo)) { // For debugging purposes, protected by password
if (md5($phpinfo) == "caf9b6b99962bf5c2264824231d7a40c") {
if ($site = get_site()) {
print_heading("$site->fullname");
}
phpinfo();
exit;
}
}
if ($site = get_site()) { // If false then this is a new installation
require_login();
if (!isadmin()) {
error("Only the admin can use this page");
}
}
/// If data submitted, then process and store.
if (match_referer() && isset($HTTP_POST_VARS)) {
$config = (object)$HTTP_POST_VARS;
validate_form($config, $err);
if (count($err) == 0) {
print_header();
foreach ($config as $name => $value) {
unset($conf);
$conf->name = $name;
$conf->value = $value;
if ($current = get_record("config", "name", $name)) {
$conf->id = $current->id;
if (! update_record("config", $conf)) {
notify("Could not update $name to $value");
}
} else {
if (! insert_record("config", $conf)) {
notify("Error: could not add new variable $name !");
}
}
}
redirect("$CFG->wwwroot/admin/index.php", get_string("changessaved"), 1);
exit;
} else {
foreach ($err as $key => $value) {
$focus = "form.$key";
}
}
}
/// Otherwise fill and print the form.
if (!isset($config)) {
$config = $CFG;
}
$stradmin = get_string("administration");
$strconfigvariables = get_string("configvariables");
if ($site) {
print_header("$site->fullname", "$site->fullname",
"<A HREF=\"$CFG->wwwroot/admin/\">$stradmin</A> -> $strconfigvariables", "$focus");
print_heading($strconfigvariables);
} else {
print_header();
print_heading($strconfigvariables);
print_simple_box(get_string("configintro"), "center");
echo "<BR>";
}
print_simple_box_start("center", "", "$THEME->cellheading");
include("config.html");
print_simple_box_end();
print_footer();
exit;
/// Functions /////////////////////////////////////////////////////////////////
function validate_form(&$form, &$err) {
// if (empty($form->fullname))
// $err["fullname"] = get_string("missingsitename");
return;
}
?>
+2 -6
View File
@@ -43,14 +43,10 @@
$cutofftime = $timenow - ($CFG->longtimenosee * 3600 * 24);
if ($users = get_records_sql("SELECT u.* FROM user u, user_students s
WHERE lastaccess > '0' AND
lastaccess < '$cutofftime'
lastaccess < '$cutofftime' AND
u.id = s.user GROUP BY u.id")) {
foreach ($users as $user) {
if (delete_records("user_students", "user", $user->id)) {
// Delete other things ... this should be modular than it is right now:
delete_records("forum_subscriptions", "user", $user->id);
if (unenrol_student($user->id)) {
echo "Deleted student enrolment for $user->firstname $user->lastname ($user->id)\n";
}
}
+82 -25
View File
@@ -3,11 +3,21 @@
require("../config.php");
/// Check that PHP is of a sufficient version
if ( ! check_php_version("4.1.0") ) {
$version = phpversion();
print_heading("Sorry, Moodle requires PHP 4.1.0 or later (currently using version $version)");
die;
}
/// Check that config.php has been edited
if ($CFG->wwwroot == "http://example.com/moodle") {
error("Moodle has not been configured yet. You need to to edit config.php first.");
}
// Check databases and modules and install as needed.
/// Check databases and modules and install as needed.
if (! $db->Metatables() ) {
if (!$agreelicence) {
@@ -43,25 +53,25 @@
die;
}
// Check version of Moodle code on disk compared with database
// and upgrade if possible.
/// Check version of Moodle code on disk compared with database
/// and upgrade if possible.
include_once("$CFG->dirroot/version.php"); # defines $version and upgrades
if ($dversion = get_field("config", "value", "name", "version")) {
if ($version > $dversion) { // upgrade
$a->oldversion = $dversion;
if ($CFG->version) {
if ($version > $CFG->version) { // upgrade
$a->oldversion = $CFG->version;
$a->newversion = $version;
$strdatabasechecking = get_string("databasechecking", "", $a);
$strdatabasesuccess = get_string("databasesuccess");
print_header($strdatabaseupgrades, $strdatabaseupgrades, $strdatabaseupgrades);
print_header($strdatabasechecking, $strdatabasechecking, $strdatabasechecking);
notify($strdatabasechecking);
$db->debug=true;
if (upgrade_moodle($dversion)) {
if (upgrade_moodle($CFG->version)) {
$db->debug=false;
if (set_field("config", "value", "$version", "name", "version")) {
if (set_config("version", $version)) {
notify($strdatabasesuccess);
print_continue("$CFG->wwwroot");
print_continue("index.php");
die;
} else {
notify("Upgrade failed! (Could not update version in config table)");
@@ -70,17 +80,16 @@
$db->debug=false;
notify("Upgrade failed! See /version.php");
}
} else if ($version < $dversion) {
} else if ($version < $CFG->version) {
notify("WARNING!!! The code you are using is OLDER than the version that made these databases!");
}
} else {
$dversion->name = "version";
$dversion->value = $version;
$strdatabaseupgrades = get_string("databaseupgrades");
print_header($strdatabaseupgrades, $strdatabaseupgrades, $strdatabaseupgrades);
if (insert_record("config", $dversion)) {
notify("You are currently using Moodle version $version");
if (set_config("version", $version)) {
notify("You are currently using Moodle version $version (Release $release)");
print_continue("index.php");
die;
} else {
@@ -94,10 +103,26 @@
}
}
/// Updated human-readable release version if necessary
// Find and check all modules and load them up or upgrade them if necessary
if ($release <> $CFG->release) { // Update the release version
$strdatabaseupgrades = get_string("databaseupgrades");
print_header($strdatabaseupgrades, $strdatabaseupgrades, $strdatabaseupgrades);
print_heading($release);
if (!set_config("release", $release)) {
notify("ERROR: Could not update release version in database!!");
}
print_continue("index.php");
print_simple_box_start("CENTER");
include("$CFG->dirroot/RELEASE.html");
print_simple_box_end();
print_continue("index.php");
exit;
}
/// Find and check all modules and load them up or upgrade them if necessary
if (!$mods = get_list_of_plugins("mod") ) {
error("No modules installed!");
}
@@ -166,38 +191,70 @@
die;
}
// Set up the overall site name etc.
if (! $site = get_site()) {
redirect("site.php");
/// Insert default values for any important configuration variables
include_once("$CFG->dirroot/lib/defaults.php");
$CFG = (array)$CFG;
foreach ($defaults as $name => $value) {
if (!isset($CFG[$name])) {
$config->name = $name;
$config->value = $CFG[$name] = $value;
insert_record("config", $config);
$configchange = true;
}
}
$CFG = (object)$CFG;
/// If any new configurations were found then send to the config page to check
if ($configchange) {
redirect("$CFG->wwwroot/admin/config.php");
}
/// Set up the overall site name etc.
if (! $site = get_site()) {
redirect("$CFG->wwwroot/admin/site.php");
}
/// Set up the admin user
if (!isadmin()) {
if (! record_exists_sql("SELECT * FROM user_admins")) {
redirect("user.php");
if (! record_exists_sql("SELECT * FROM user_admins")) { // No admin user yet
redirect("$CFG->wwwroot/admin/user.php");
}
error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/");
}
// At this point, the databases exist, and the user is an admin
/// At this point everything is set up and the user is an admin, so print menu
$stradministration = get_string("administration");
print_header("$site->fullname: $stradministration","$site->fullname: $stradministration", "$stradministration");
$table->head = array (get_string("site"), get_string("courses"), get_string("users"));
$table->align = array ("CENTER", "CENTER", "CENTER");
$table->data[0][0] = "<P><A HREF=\"site.php\">".get_string("sitesettings")."</A></P>".
$table->data[0][0] = "<P><A HREF=\"config.php\">".get_string("configvariables")."</A></P>".
"<P><A HREF=\"site.php\">".get_string("sitesettings")."</A></P>".
"<P><A HREF=\"../course/log.php?id=$site->id\">".get_string("sitelogs")."</A></P>".
"<P><A HREF=\"../theme/index.php\">".get_string("choosetheme")."</A></P>";
"<P><A HREF=\"../theme/index.php\">".get_string("choosetheme")."</A></P>".
"<P><A HREF=\"lang.php\">".get_string("checklanguage")."</A></P>";
if (file_exists("$CFG->dirroot/admin/$CFG->dbtype")) {
$table->data[0][0] .= "<P><A HREF=\"$CFG->dbtype/\">".get_string("managedatabase")."</A></P>";
}
$table->data[0][1] = "<P><A HREF=\"../course/edit.php\">".get_string("addnewcourse")."</A></P>".
"<P><A HREF=\"../course/teacher.php\">".get_string("assignteachers")."</A></P>".
"<P><A HREF=\"../course/delete.php\">".get_string("deletecourse")."</A></P>";
"<P><A HREF=\"../course/delete.php\">".get_string("deletecourse")."</A></P>".
"<P><A HREF=\"../course/categories.php\">".get_string("categories")."</A></P>";
$table->data[0][2] = "<P><A HREF=\"user.php?newuser=true\">".get_string("addnewuser")."</A></P>".
"<P><A HREF=\"user.php\">".get_string("edituser")."</A></P>";
print_table($table);
print_heading("Moodle $CFG->release ($CFG->version)", "CENTER", 1);
print_footer();
?>
+272
View File
@@ -0,0 +1,272 @@
<?PHP // $Id$
require("../config.php");
optional_variable($mode, "");
require_login();
if (!isadmin()) {
error("You need to be admin to edit this page");
}
if (! $site = get_site()) {
error("Site not defined!");
}
$stradministration = get_string("administration");
$strchecklanguage = get_string("checklanguage");
$strcurrentlanguage = get_string("currentlanguage");
$strmissingstrings = get_string("missingstrings");
$strcomparelanguage = get_string("comparelanguage");
$strthislanguage = get_string("thislanguage");
switch ($mode) {
case "missing":
$navigation = "<A HREF=\"lang.php\">$strchecklanguage</A> -> $strmissingstrings";
$title = $strmissingstrings;
break;
case "compare":
$navigation = "<A HREF=\"lang.php\">$strchecklanguage</A> -> $strcomparelanguage";
$title = $strcomparelanguage;
break;
default:
$navigation = $strchecklanguage;
break;
}
if ($USER->lang) {
$currentlang = $USER->lang;
} else {
$currentlang = $CFG->lang;
}
print_header("$site->fullname: $title", "$site->fullname",
"<A HREF=\"index.php\">$stradministration</A> -> $navigation");
if (!$mode) {
print_heading("$strcurrentlanguage: $currentlang - ".get_string("thislanguage"));
print_heading("<A HREF=\"lang.php?mode=missing\">$strmissingstrings</A>");
print_heading("<A HREF=\"lang.php?mode=compare\">$strcomparelanguage</A>");
print_footer();
exit;
}
// Get a list of all the root files in the English directory
$langdir = "$CFG->dirroot/lang/$currentlang";
$enlangdir = "$CFG->dirroot/lang/en";
if (! $stringfiles = get_directory_list($enlangdir, "", false)) {
error("Could not find English language pack!");
}
foreach ($stringfiles as $key => $file) {
if ($file == "README" or $file == "help" or $file == "docs") {
unset($stringfiles[$key]);
}
}
if ($mode == "missing") {
// For each file, check that a counterpart exists, then check all the strings
foreach ($stringfiles as $file) {
if (!file_exists("$langdir/$file")) {
echo "<P><FONT COLOR=red>".get_string("filemissing", "", "$langdir/$file")."</FONT></P>";
continue;
}
unset($string);
include("$enlangdir/$file");
$enstring = $string;
unset($string);
include("$langdir/$file");
$first = true;
foreach ($enstring as $key => $value) {
if (!isset($string[$key])) {
$value = htmlentities($value);
$value = str_replace("$"."a", "\\$"."a", $value);
if ($first) {
echo "</PRE><HR><P><B>".get_string("stringsnotset","","$langdir/$file")."</B></P><PRE>";
$first = false;
$somethingfound = true;
}
echo "$"."string[$key] = \"$value\";<BR>";
}
}
}
if (! $files = get_directory_list("$CFG->dirroot/lang/en/help", "CVS")) {
error("Could not find English language help files!");
}
foreach ($files as $filekey => $file) { // check all the help files.
if (!file_exists("$langdir/help/$file")) {
echo "<P><FONT COLOR=red>".get_string("filemissing", "", "$langdir/help/$file")."</FONT></P>";
$somethingfound = true;
continue;
}
}
if (! $files = get_directory_list("$CFG->dirroot/lang/en/docs", "CVS")) {
error("Could not find English language docs files!");
}
foreach ($files as $filekey => $file) { // check all the docs files.
if (!file_exists("$langdir/docs/$file")) {
echo "<P><FONT COLOR=red>".get_string("filemissing", "", "$langdir/docs/$file")."</FONT></P>";
$somethingfound = true;
continue;
}
}
if ($somethingfound) {
print_continue("lang.php");
} else {
notice(get_string("languagegood"), "lang.php");
}
} else if ($mode == "compare") {
if (isset($HTTP_POST_VARS['file'])){ // Save a file
$newstrings = $HTTP_POST_VARS;
$file = $newstrings['file'];
unset($newstrings['file']);
if (lang_save_file($langdir, $file, $newstrings)) {
notify(get_string("changessaved")." ($langdir/$file)");
} else {
error("Could not save the file '$file'!", "lang.php?mode=compare");
}
}
print_heading($strcomparelanguage);
echo "<CENTER>";
helpbutton("langedit",$strcomparelanguage);
echo "</CENTER>";
foreach ($stringfiles as $file) {
print_heading("$file", "LEFT", 4);
if (!file_exists("$langdir/$file")) {
echo "<P><FONT COLOR=red>".get_string("filemissing", "", "$langdir/$file")."</FONT></P>";
continue;
}
error_reporting(0);
if ($f = fopen("$langdir/$file","r+")) {
$editable = true;
fclose($f);
} else {
$editable = false;
echo "<P><FONT SIZE=1>".get_string("makeeditable", "", "$langdir/$file")."</FONT></P>";
}
error_reporting(7);
unset($string);
include("$enlangdir/$file");
$enstring = $string;
ksort($enstring);
unset($string);
include("$langdir/$file");
if ($editable) {
echo "<FORM NAME=\"$file\" ACTION=\"lang.php\" METHOD=\"POST\">";
}
echo "<TABLE WIDTH=\"100%\" CELLPADDING=2 CELLSPACING=3 BORDER=0>";
foreach ($enstring as $key => $envalue) {
$envalue = nl2br(htmlentities($envalue));
$envalue = str_replace("\$a","<B>\$a</B>", $envalue); // Make variables bold
// TODO: It would be nice if all the $a->something variables were bold too
echo "<TR>";
echo "<TD WIDTH=20% BGCOLOR=\"$THEME->cellheading\" NOWRAP VALIGN=TOP>$key</TD>";
echo "<TD WIDTH=40% BGCOLOR=\"$THEME->cellheading\" VALIGN=TOP>$envalue</TD>";
$value = str_replace("\\","",$string[$key]); // Delete all slashes
$value = htmlentities($value);
if ($editable) {
echo "<TD WIDTH=40% VALIGN=TOP>";
if (isset($string[$key])) {
$valuelen = strlen($value);
} else {
$valuelen = strlen($envalue);
}
$cols=50;
if (strstr($value, "\r") or strstr($value, "\n") or $valuelen > $cols) {
$rows = ceil($valuelen / $cols);
echo "<TEXTAREA NAME=\"string-$key\" cols=\"$cols\" rows=\"$rows\">$value</TEXTAREA>";
} else {
$cols = $valuelen + 2;
echo "<INPUT TYPE=\"TEXT\" NAME=\"string-$key\" VALUE=\"$value\" SIZE=\"$cols\"></TD>";
}
echo "</TD>";
} else {
if (isset($string[$key])) {
echo "<TD WIDTH=40% BGCOLOR=white VALIGN=TOP>$value</TD>";
} else {
echo "<TD WIDTH=40% BGCOLOR=white ALIGN=CENTER VALIGN=TOP>-</TD>";
}
}
}
if ($editable) {
echo "<TR><TD COLSPAN=2>&nbsp;<TD>";
echo " <INPUT TYPE=\"hidden\" NAME=\"file\" VALUE=\"$file\">";
echo " <INPUT TYPE=\"hidden\" NAME=\"mode\" VALUE=\"compare\">";
echo " <INPUT TYPE=\"submit\" NAME=\"update\" VALUE=\"".get_string("savechanges").": $file\">";
echo "</TD></TR>";
}
echo "</TABLE>";
echo "</FORM>";
}
print_continue("lang.php");
}
print_footer();
//////////////////////////////////////////////////////////////////////
function lang_save_file($path, $file, $strings) {
// Thanks to Petri Asikainen for the original version of code
// used to save language files.
//
// $path is a full pathname to the file
// $file is the file to overwrite.
// $strings is an array of strings to write
global $CFG;
error_reporting(0);
if (!$f = fopen("$path/$file","w")) {
return false;
}
error_reporting(7);
fwrite($f, "<?PHP // \$Id\$ \n");
fwrite($f, " // $file - created with Moodle $CFG->release ($CFG->version)\n\n\n");
ksort($strings);
foreach ($strings as $key => $value) {
list($id, $stringname) = explode("-",$key);
$value = str_replace("\\","",$value); // Delete all slashes
$value = str_replace("$"."a", "\\$"."a", $value); // Add slashes for $a
$value = str_replace("\"", "\\\"", $value); // Add slashes for "
if ($id == "string"){
fwrite($f,"\$string['$stringname'] = \"$value\";\n");
}
}
fwrite($f,"\n?>\n");
fclose($f);
return true;
}
?>
+5 -5
View File
@@ -23,17 +23,17 @@
if ($form->id) {
if (update_record("course", $form)) {
redirect("$CFG->wwwroot/admin/", "Changes saved");
redirect("$CFG->wwwroot/admin/index.php", get_string("changessaved"));
} else {
error("Serious Error! Could not update the site record! (id = $form->id)");
}
} else {
if ($newid = insert_record("course", $form)) {
$cat->name = "General";
$cat->name = get_string("miscellaneous");
if (insert_record("course_categories", $cat)) {
redirect("$CFG->wwwroot/admin/", "Changes saved", "1");
redirect("$CFG->wwwroot/admin/index.php", get_string("changessaved"), "1");
} else {
error("Serious Error! Could not set up the default categories!");
error("Serious Error! Could not set up a default course category!");
}
} else {
error("Serious Error! Could not set up the site!");
@@ -64,8 +64,8 @@
print_header("$site->fullname", "$site->fullname",
"<A HREF=\"$CFG->wwwroot/admin/\">$stradmin</A> -> $strsitesettings", "$focus");
print_heading($strsitesettings);
print_simple_box_start("center", "", "$THEME->cellheading");
print_heading("Editing site settings");
include("site.html");
print_simple_box_end();
print_footer();
+101 -17
View File
@@ -4,13 +4,20 @@
require("../user/lib.php");
require("../lib/countries.php");
if (! record_exists_sql("SELECT * FROM user_admins")) {
optional_variable($newuser, "");
optional_variable($delete, "");
optional_variable($confirm, "");
optional_variable($sort, "name");
optional_variable($dir, "ASC");
if (! record_exists_sql("SELECT * FROM user_admins")) { // No admin user yet
$user->firstname = "Admin";
$user->lastname = "User";
$user->username = "admin";
$user->password = "";
$user->password = md5("admin");
$user->email = "root@localhost";
$user->confirmed = 1;
$user->maildisplay = 1;
$user->timemodified = time();
if (! $user->id = insert_record("user", $user)) {
@@ -40,6 +47,7 @@
$USER = $user;
$USER->loggedin = true;
$USER->site = $CFG->wwwroot;
$USER->admin = true;
$USER->teacher["$site->id"] = true;
save_session("USER");
@@ -59,7 +67,6 @@
}
if ($newuser) { // Create a new user
$user->firstname = "";
$user->lastname = "";
$user->username = "changeme";
@@ -78,26 +85,103 @@
} else { // List all users for editing
if ($users = get_records_sql("SELECT * from user WHERE username <> 'guest' ORDER BY firstname")) {
$stredituser = get_string("edituser");
$stradministration = get_string("administration");
$stredit = get_string("edit");
$strdelete = get_string("delete");
$stredituser = get_string("edituser");
$stradministration = get_string("administration");
$stredit = get_string("edit");
$strdelete = get_string("delete");
$strdeletecheck = get_string("deletecheck");
print_header("$site->fullname : $stredituser", $site->fullname,
"<A HREF=\"$CFG->wwwroot/admin\">$stradministration</A> -> $stredituser");
print_header("$site->fullname : $stredituser", $site->fullname,
"<A HREF=\"$CFG->wwwroot/admin\">$stradministration</A> -> $stredituser");
if ($delete) { // Delete a selected user, after confirmation
if (!$user = get_record("user", "id", "$delete")) {
error("No such user!");
}
if ($confirm != md5($delete)) {
notice_yesno(get_string("deletecheckfull", "", "'$user->firstname $user->lastname'"),
"user.php?delete=$delete&confirm=".md5($delete), "user.php");
exit;
} else if (!$user->deleted) {
$user->deleted = "1";
$user->username = $user->email; // Remember it just in case
$user->email = ""; // Clear this field to free it up
$user->timemodified = time();
if (update_record("user", $user)) {
unenrol_student($user->id); // From all courses
remove_teacher($user->id); // From all courses
remove_admin($user->id);
notify(get_string("deletedactivity", "", "$user->firstname $user->lastname"));
} else {
notify(get_string("deletednot", "", "$user->firstname $user->lastname"));
}
}
}
// Carry on with the user listing
$columns = array("name", "email", "city", "country", "lastaccess");
foreach ($columns as $column) {
$string[$column] = get_string("$column");
$columnsort = "$column";
if ($column == "lastaccess") {
$columndir = "DESC";
} else {
$columndir = "ASC";
}
if ($columnsort == $sort) {
$$column = $string[$column];
} else {
$$column = "<A HREF=\"user.php?sort=$columnsort&dir=$columndir\">".$string[$column]."</A>";
}
}
if ($sort == "name") {
$sort = "firstname";
}
if ($users = get_records_sql("SELECT * from user WHERE username <> 'guest'
AND deleted <> '1' ORDER BY $sort $dir")) {
foreach ($users as $key => $user) {
$users[$key]->country = $COUNTRIES[$user->country];
}
if ($sort == "country") { // Need to resort by full country name, not code
foreach ($users as $user) {
$susers[$user->id] = $user->country;
}
asort($susers);
foreach ($susers as $key => $value) {
$nusers[] = $users[$key];
}
$users = $nusers;
}
print_heading(get_string("chooseuser"));
$table->head = array (get_string("fullname"), get_string("email"), get_string("city"),
get_string("country"), " ");
$table->align = array ("LEFT", "LEFT", "CENTER", "CENTER", "CENTER", "CENTER");
$table->head = array ($name, $email, $city, $country, $lastaccess, "", "");
$table->align = array ("LEFT", "LEFT", "LEFT", "LEFT", "LEFT", "CENTER", "CENTER");
$table->width = "95%";
foreach ($users as $user) {
if ($user->id == $USER->id or $user->username == "changeme") {
$deletebutton = "";
} else {
$deletebutton = "<A HREF=\"user.php?delete=$user->id\" TARGET=\"$strdeletecheck\">$strdelete</A>";
}
if ($user->lastaccess) {
$strlastaccess = format_time(time() - $user->lastaccess);
} else {
$strlastaccess = get_string("never");
}
$table->data[] = array ("<A HREF=\"../user/view.php?id=$user->id&course=$site->id\">$user->firstname $user->lastname</A>",
"$user->email",
"$user->city",
$COUNTRIES[$user->country],
"<A HREF=\"../user/edit.php?id=$user->id&course=$site->id\">$stredit</A>");
"$user->email",
"$user->city",
"$user->country",
$strlastaccess,
"<A HREF=\"../user/edit.php?id=$user->id&course=$site->id\">$stredit</A>",
$deletebutton);
}
print_table($table);
+35
View File
@@ -0,0 +1,35 @@
This directory contains authentication modules.
Each of these modules describes a different way to
check that a user has provided a correct
- username, and
- password.
Even when external forms of authentication are being
used, Moodle still maintains the internal "user" table
with all the associated information about that user such
as name, email address and so on.
The active method is set by the admin on the Configuration page.
email - authentication by email (DEFAULT METHOD)
- user fills out form with email address
- email sent to user with link
- user clicks on link in email to confirm
- user account is created
- user can log in
none - no authentication at all .. very insecure!!
- user logs in using ANY username and password
- if the username doesn't already exist then
a new account is created
- when user tries to access a course they
are forced to set up their account details
ldap - Uses an external LDAP server
+19
View File
@@ -0,0 +1,19 @@
<?PHP // $Id$
// Standard authentication function
function auth_user_login ($username, $password) {
// Returns true if the username and password work
// and false if they don't
global $CFG;
if (! $user = get_user_info_from_db("username", $username)) {
return false;
}
return ($user->password == md5($password));
}
?>
+17
View File
@@ -0,0 +1,17 @@
<?PHP // $Id$
// No authentication at all. This method approves everything!
function auth_user_login ($username, $password) {
// Returns true if the username doesn't exist yet
// Returns true if the username and password work
if (! $user = get_user_info_from_db("username", $username)) {
return true;
}
return ($user->password == md5($password));
}
?>
+51 -86
View File
@@ -1,111 +1,76 @@
<?PHP // $Id$
///////////////////////////////////////////////////////////////////////////
//
// Moodle configuration file
//
// This file should be located in the top-level directory.
//
// //
// Moodle configuration file //
// //
// This file should be renamed "config.php" in the top-level directory //
// //
///////////////////////////////////////////////////////////////////////////
// //
// NOTICE OF COPYRIGHT //
// //
// Moodle - Modular Object-Oriented Dynamic Learning Environment //
// http://moodle.com //
// //
// Copyright (C) 2001-2002 Martin Dougiamas http://dougiamas.com //
// //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details: //
// //
// http://www.gnu.org/copyleft/gpl.html //
// //
///////////////////////////////////////////////////////////////////////////
//
// NOTICE OF COPYRIGHT
//
// Moodle - Modular Object-Oriented Dynamic Learning Environment
// http://moodle.com
//
// Copyright (C) 2001 Martin Dougiamas http://dougiamas.com
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details:
//
// http://www.gnu.org/copyleft/gpl.html
//
////////////////////////////////////////////////////////////////////////////
//
// Site configuration variables are all stored in the CFG object.
// First, you need to configure the database where all Moodle data
// will be stored. This database must already have been created
// and a username/password created to access it. See doc/INSTALL.
$CFG->dbtype = "mysql"; // eg mysql (postgres7, oracle, access etc coming soon)
$CFG->dbhost = "localhost"; // eg localhost
$CFG->dbname = "moodle"; // eg moodle
///////////////////////////////////////////////////////////////////////////
// First, you need to configure the database where all Moodle data //
// will be stored. This database must already have been created //
// and a username/password created to access it. If you specify mysql //
// then Moodle can set up all your tables for you. If you try to use //
// a different database you will need to set up all your tables by hand //
// which could be a big job. See doc/install.html //
$CFG->dbtype = "mysql"; // eg mysql (postgres7, oracle, access etc)
$CFG->dbhost = "localhost"; // eg localhost
$CFG->dbname = "moodle"; // eg moodle
$CFG->dbuser = "username";
$CFG->dbpass = "password";
// Next you need to tell Moodle where it is located.
// Specify the full URL that moodle has been installed in:
///////////////////////////////////////////////////////////////////////////
// Now you need to tell Moodle where it is located. Specify the full
// web address where moodle has been installed (without trailing slash)
$CFG->wwwroot = "http://example.com/moodle";
// and now the full OS directory path to this same location:
///////////////////////////////////////////////////////////////////////////
// Next, specify the full OS directory path to this same location
// For Windows this might be something like "C:\apache\htdocs\moodle"
$CFG->dirroot = "/web/moodle";
// Now you need a place where Moodle can save uploaded files. This directory
// should be writeable by the web server user (usually 'nobody' or 'apache'),
// but it should not be accessible directly via the web.
///////////////////////////////////////////////////////////////////////////
// Now you need a place where Moodle can save uploaded files. This
// directory should be writeable by the web server user (usually 'nobody'
// or 'apache'), but it should not be accessible directly via the web.
$CFG->dataroot = "/home/moodledata";
// Choose a sitewide language - this will affect text, buttons etc
// See lib/languages.php for a full list of standard language codes.
$CFG->lang = "en"; // Currently the only option
// Choose a sitewide locale - this will affect the display of dates
// You need to have this locale data installed on your operating
// system. If you don't know what to choose try using the same
// string as the language.
$CFG->locale = "en";
// Give the full names of local SMTP servers that Moodle should use to
// send mail (eg "mail.a.com" or "mail.a.com;mail.b.com").
// If this is left empty (eg "") then Moodle will attempt to use PHP mail.
$CFG->smtphosts = "";
// There is no way, currently, for PHP to automatically tell whether the
// graphic library GD is version 1.* or 2.*. Specify here (either 1 or 2).
$CFG->gdversion = 1;
// If students haven't logged in for a very long time, then they are
// automatically unsubscribed from courses. This parameter specifies
// that time limit, in DAYS.
$CFG->longtimenosee = 100;
// These programs are used by the file management code to zip and unzip
// uploaded files. This only works on Unix systems right now.
$CFG->zip = "/usr/bin/zip";
$CFG->unzip = "/usr/bin/unzip";
// You should not need to change anything else. To continue setting up
// Moodle, use your web browser to go to the moodle/admin web page.
///////////////////////////////////////////////////////////////////////////
// To continue the setup, use your web browser to go to your Moodle page //
///////////////////////////////////////////////////////////////////////////
$CFG->libdir = "$CFG->dirroot/lib";
require("$CFG->libdir/setup.php"); // Sets up all libraries, sessions etc
$CFG->libdir = "$CFG->dirroot/lib"; // Do not change this
require("$CFG->libdir/setup.php"); // Do not change this
?>
+123
View File
@@ -0,0 +1,123 @@
<?PHP // $Id$
// Allows the admin to create, delete and rename course categories
require("../config.php");
require("lib.php");
if (!isadmin()) {
error("Only administrators can use this course!");
}
if (!$site = get_site()) {
error("Site isn't defined!");
}
/// Print headings
$stradministration = get_string("administration");
$strcategories = get_string("categories");
$strcategory = get_string("category");
$strcourses = get_string("courses");
$stredit = get_string("edit");
$strdelete = get_string("delete");
$straction = get_string("action");
$stradd = get_string("add");
print_header("$site->fullname: $strcategories", "$site->fullname",
"<A HREF=\"$CFG->wwwroot/admin\">$stradministration</A> -> $strcategories");
print_heading($strcategories);
/// If data submitted, then process and store.
if (match_referer() && isset($HTTP_POST_VARS)) {
$categories = array();
// Peel out all the data from variable names.
foreach ($HTTP_POST_VARS as $key => $val) {
if ($key == "new" and $val != "") {
$cat->name = $val;
if (!insert_record("course_categories", $cat)) {
error("Could not insert the new category '$val'");
} else {
notify(get_string("categoryadded", "", $val));
}
} else {
$cat->id = substr($key,1);
$cat->name = $val;
if (!update_record("course_categories", $cat)) {
error("Could not update the category '$val'");
}
}
}
}
/// Get the existing categories
if (!$categories = get_all_categories()) {
// Try and make one
$cat->name = get_string("miscellaneous");
if ($cat->id = insert_record("course_categories", $cat)) {
$categories[$cat->id] = $cat;
} else {
error("Serious error: Could not create a default category!");
}
}
/// Delete category if the user wants to delete it
if (isset($delete)) {
if (delete_records("course_categories", "id", $delete)) {
notify(get_string("categorydeleted", "", $categories[$delete]->name));
unset($categories[$delete]);
} else {
error("An error occurred while trying to delete a category");
}
}
/// Find lowest ID category - this is the default category
$default = 99999;
foreach ($categories as $category) {
if ($category->id < $default) {
$default = $category->id;
}
}
/// Find any orphan courses that don't yet have a valid category and set to default
if ($courses = get_records_sql("SELECT * FROM course WHERE category > 0")) {
foreach ($courses as $course) {
if (!isset( $categories[$course->category] )) {
set_field("course", "category", $default, "id", $course->id);
}
}
}
/// Print the table of all categories
$table->head = array ($strcategory, $strcourses, $straction);
$table->align = array ("LEFT", "CENTER", "CENTER");
$table->size = array ("50", "20", "20");
$table->width = 100;
echo "<FORM ACTION=categories.php METHOD=post>";
foreach ($categories as $category) {
$count = count_records("course", "category", $category->id);
if ($category->id == $default) {
$delete = ""; // Can't delete default category
} else {
$delete = "<A HREF=\"categories.php?delete=$category->id\">$strdelete</A>";
}
$table->data[] = array ("<INPUT TYPE=text NAME=\"c$category->id\" VALUE=\"$category->name\" SIZE=30>",
"<A HREF=\"index.php?category=$category->id\">$count</A>", $delete);
}
$table->data[] = array ("<INPUT TYPE=text NAME=\"new\" VALUE=\"\" SIZE=30>", "", "$stradd");
print_table($table);
echo "<CENTER><BR><INPUT TYPE=submit VALUE=\"".get_string("savechanges")."\"> ";
echo "</CENTER>";
echo "</FORM>";
print_footer();
?>
+14 -1
View File
@@ -33,6 +33,7 @@
<td><?
$choices["0"] = get_string("guestsno");
$choices["1"] = get_string("guestsyes");
$choices["2"] = get_string("guestskey");
choose_from_menu ($choices, "guest", $form->guest, "");
helpbutton("guestaccess", get_string("opentoguests")); ?>
</td>
@@ -89,7 +90,7 @@
<tr valign=top>
<td><P><? print_string("numberweeks") ?>:</td>
<td><?
for ($i=1; $i<=20; $i++) {
for ($i=1; $i<=52; $i++) {
$sectionmenu[$i] = "$i";
}
choose_from_menu ($sectionmenu, "numsections", "$form->numsections");
@@ -103,12 +104,24 @@
(<? print_string("wordforteachereg") ?>) <? formerr($err["teacher"]) ?>
</td>
</tr>
<tr valign=top>
<td><P><? print_string("wordforteachers") ?>:</td>
<td><input type="text" name="teachers" size=25 value="<? p($form->teachers) ?>">
(<? print_string("wordforteacherseg") ?>) <? formerr($err["teachers"]) ?>
</td>
</tr>
<tr valign=top>
<td><P><? print_string("wordforstudent") ?>:</td>
<td><input type="text" name="student" size=25 value="<? p($form->student) ?>">
(<? print_string("wordforstudenteg") ?>) <? formerr($err["student"]) ?>
</td>
</tr>
<tr valign=top>
<td><P><? print_string("wordforstudents") ?>:</td>
<td><input type="text" name="students" size=25 value="<? p($form->students) ?>">
(<? print_string("wordforstudentseg") ?>) <? formerr($err["students"]) ?>
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="<? print_string("savechanges") ?>"></td>
+3 -1
View File
@@ -84,7 +84,9 @@
$form->fullname = get_string("defaultcoursefullname");
$form->shortname = get_string("defaultcourseshortname");
$form->teacher = get_string("defaultcourseteacher");
$form->teachers = get_string("defaultcourseteachers");
$form->student = get_string("defaultcoursestudent");
$form->students = get_string("defaultcoursestudents");
$form->summary = get_string("defaultcoursesummary");
$form->format = "weeks";
$form->numsections = 10;
@@ -115,8 +117,8 @@
-> $straddnewcourse", $focus);
}
print_simple_box_start("center", "", "$THEME->cellheading");
print_heading($streditcoursesettings);
print_simple_box_start("center", "", "$THEME->cellheading");
include("edit.html");
print_simple_box_end();
-1
View File
@@ -2,7 +2,6 @@
<FORM name="form" method="post" action="editsection.php">
<P><B><? print_string("summaryof", "", "$sectionname $form->section") ?></B></P>
<TEXTAREA NAME=summary COLS=60 ROWS=4 WRAP=virtual><?=$form->summary ?></TEXTAREA>
<BR><FONT SIZE=1>(<? print_string("maximumchars", "", "255") ?>)</FONT>
<P>
<INPUT type="hidden" name=id value="<?=$form->id ?>">
<INPUT type="submit" value="<? print_string("savechanges") ?>">
+1 -1
View File
@@ -30,7 +30,7 @@
<td width=50%>
<table cellpadding=1 cellspacing=0><tr>
<td><input type=submit value="<? print_string("login") ?>"></form></td>
<td><form action="<?=$CFG->wwwroot?>/" method=post>
<td><form action="<?=$CFG->wwwroot?>/index.php" method=post>
<input type=submit value="<? print_string("cancel") ?>"></form></td>
</tr></table>
+2 -2
View File
@@ -19,7 +19,7 @@
add_to_log($course->id, "course", "guest", "view.php?id=$course->id", "$REMOTE_ADDR, $REMOTE_HOST");
} else {
if (! enrol_student_in_course($USER->id, $course->id)) {
if (! enrol_student($USER->id, $course->id)) {
error("An error occurred while trying to enrol you.");
}
@@ -65,7 +65,7 @@
if (isguest()) {
add_to_log($course->id, "course", "guest", "view.php?id=$course->id", "$USER->id");
} else {
if (! enrol_student_in_course($USER->id, $course->id)) {
if (! enrol_student($USER->id, $course->id)) {
error("An error occurred while trying to enrol you.");
}
add_to_log($course->id, "course", "enrol", "view.php?id=$course->id", "$USER->id");
+42 -5
View File
@@ -4,15 +4,52 @@
require("../config.php");
require("lib.php");
$title = get_string("courses");
optional_variable($category, "");
print_header($title, $title, $title, "");
$strcourses = get_string("courses");
$strcategories = get_string("categories");
$strmycourses = get_string("mycourses");
$strfulllistofcourses = get_string("fulllistofcourses");
optional_variable($cat, 1);
if (!$categories = get_all_categories()) {
error("Could not find any course categories!");
}
echo "<TABLE WIDTH=80% ALIGN=CENTER><TR><TD>";
if ($category == "all") {
$title = $strfulllistofcourses;
$navigation = "<A HREF=\"index.php\">$strcourses</A> -> $title";
} else if ($category == "my") {
$title = $strmycourses;
$navigation = "<A HREF=\"index.php\">$strcourses</A> -> $title";
} else if (isset($categories[$category])) {
$title = $categories[$category]->name;
$navigation = "<A HREF=\"index.php\">$strcourses</A> -> $title";
} else {
$navigation = $strcourses;
}
print_all_courses($cat);
print_header($strcourses, $strcourses, $navigation);
$showcategories = (count($categories) > 1);
if ($showcategories) {
echo "<TABLE WIDTH=\"100%\" CELLPADDING=10 BORDER=0>";
echo "<TR><TD WIDTH=180 VALIGN=TOP>";
print_simple_box($strcategories, "CENTER", 180, $THEME->cellheading);
print_course_categories($categories, $category, 180);
echo "</TD><TD WIDTH=\"100%\" VALIGN=TOP>";
} else {
echo "<TABLE WIDTH=80% ALIGN=CENTER><TR><TD VALIGN=top>";
$category="all";
unset($title);
}
if ($category) {
if (isset($title)) {
print_simple_box($title, "CENTER", "100%", $THEME->cellheading);
}
echo "<BR>";
print_all_courses($category);
}
echo "</TD></TR></TABLE>";
+155 -100
View File
@@ -31,6 +31,9 @@ function print_log_selector_form($course, $selecteduser=0, $selecteddate="today"
$users["$teacher->id"] = "$teacher->firstname $teacher->lastname";
}
}
if ($guest = get_user_info_from_db("username", "guest")) {
$users["$guest->id"] = "$guest->firstname $guest->lastname";
}
}
if (isadmin()) {
@@ -158,7 +161,9 @@ function print_log($course, $user=0, $date=0, $order="ORDER BY l.time ASC") {
}
echo "<TD NOWRAP ALIGN=right><FONT SIZE=2>".userdate($log->time, "%A")."</TD>";
echo "<TD NOWRAP><FONT SIZE=2>".userdate($log->time, "%e %B %Y, %I:%M %p")."</TD>";
echo "<TD NOWRAP><FONT SIZE=2>$log->ip</TD>";
echo "<TD NOWRAP><FONT SIZE=2>";
link_to_popup_window("$CFG->wwwroot/lib/ipatlas/plot.php?address=$log->ip&user=$log->user", "ipatlas","$log->ip", 400, 700);
echo "</TD>";
echo "<TD NOWRAP><FONT SIZE=2><A HREF=\"../user/view.php?id=$log->user&course=$log->course\"><B>$log->firstname $log->lastname</B></TD>";
echo "<TD NOWRAP><FONT SIZE=2>";
link_to_popup_window( make_log_url($log->module,$log->url), "fromloglive","$log->module $log->action", 400, 600);
@@ -170,10 +175,28 @@ function print_log($course, $user=0, $date=0, $order="ORDER BY l.time ASC") {
}
function print_all_courses($cat=1, $style="full", $maxcount=999) {
global $CFG;
function print_all_courses($category="all", $style="full", $maxcount=999) {
global $CFG, $USER;
if ($courses = get_records("course", "category", $cat, "fullname ASC")) {
if ($category == "all") {
$courses = get_records_sql("SELECT * FROM course WHERE category > 0 ORDER BY fullname ASC");
} else if ($category == "my") {
if (isset($USER->id)) {
if ($courses = get_records_sql("SELECT * FROM course WHERE category > 0 ORDER BY fullname ASC")) {
foreach ($courses as $key => $course) {
if (!isteacher($course->id) and !isstudent($course->id)) {
unset($courses[$key]);
}
}
}
}
} else {
$courses = get_records("course", "category", $category, "fullname ASC");
}
if ($courses) {
if ($style == "minimal") {
$count = 0;
$icon = "<IMG SRC=\"pix/i/course.gif\" HEIGHT=16 WIDTH=16 ALT=\"".get_string("course")."\">";
@@ -195,7 +218,7 @@ function print_all_courses($cat=1, $style="full", $maxcount=999) {
}
} else {
echo "<H3>No courses have been defined yet</H3>";
echo "<H3>".get_string("nocoursesyet")."</H3>";
}
}
@@ -215,17 +238,19 @@ function print_course($course) {
echo "<TD VALIGN=top WIDTH=50%>";
echo "<P><FONT SIZE=3><B><A TITLE=\"".get_string("entercourse")."\"
HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->fullname</A></B></FONT></P>";
if ($teachers = get_records_sql("SELECT u.* FROM user u, user_teachers t
WHERE u.id = t.user AND t.course = '$course->id'
ORDER BY t.authority ASC")) {
if ($teachers = get_course_teachers($course->id)) {
echo "<P><FONT SIZE=1>\n";
foreach ($teachers as $teacher) {
echo "$course->teacher: <A HREF=\"$CFG->wwwroot/user/view.php?id=$teacher->id&course=$site->id\">$teacher->firstname $teacher->lastname</A><BR>";
if ($teacher->authority > 0) {
if (!$teacher->role) {
$teacher->role = $course->teacher;
}
echo "$teacher->role: <A HREF=\"$CFG->wwwroot/user/view.php?id=$teacher->id&course=$site->id\">$teacher->firstname $teacher->lastname</A><BR>";
}
}
echo "</FONT></P>";
}
if ($course->guest or ($course->password == "")) {
if ($course->guest) {
echo "<A TITLE=\"".get_string("allowguests")."\" HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">";
echo "<IMG VSPACE=4 ALT=\"\" HEIGHT=16 WIDTH=16 BORDER=0 SRC=\"$CFG->wwwroot/user/user.gif\"></A>&nbsp;&nbsp;";
}
@@ -283,7 +308,9 @@ function print_recent_activity($course) {
$content = true;
}
$user = get_record("user", "id", $log->info);
echo "<P><FONT SIZE=1><A HREF=\"../user/view.php?id=$user->id&course=$course->id\">$user->firstname $user->lastname</A></FONT></P>";
if (isstudent($course->id, $user->id)) {
echo "<P><FONT SIZE=1><A HREF=\"../user/view.php?id=$user->id&course=$course->id\">$user->firstname $user->lastname</A></FONT></P>";
}
}
}
@@ -335,85 +362,28 @@ function print_recent_activity($course) {
}
// Now all we need to know are the new posts.
// Now display new things from each module
$heading = false;
foreach ($logs as $log) {
if ($log->module == "forum") {
$post = NULL;
$mods = get_list_of_plugins("mod");
if ($log->action == "add post") {
$post = get_record_sql("SELECT p.*, d.forum, u.firstname, u.lastname,
u.email, u.picture, u.id as userid
FROM forum_discussions d, forum_posts p, user u
WHERE p.id = '$log->info' AND d.id = p.discussion AND p.user = u.id");
} else if ($log->action == "add discussion") {
$post = get_record_sql("SELECT p.*, d.forum, u.firstname, u.lastname,
u.email, u.picture, u.id as userid
FROM forum_discussions d, forum_posts p, user u
WHERE d.id = '$log->info' AND d.firstpost = p.id AND p.user = u.id");
foreach ($mods as $mod) {
include_once("$CFG->dirroot/mod/$mod/lib.php");
$print_recent_activity = $mod."_print_recent_activity";
if (function_exists($print_recent_activity)) {
$modcontent = $print_recent_activity($logs, isteacher($course->id));
if ($modcontent) {
$content = true;
}
if ($post) {
$teacherpost = "";
if ($forum = get_record("forum", "id", $post->forum) ) {
if ($forum->type == "teacher") {
if (!isteacher($course->id)) {
continue;
} else {
$teacherpost = "COLOR=$COURSE_TEACHER_COLOR";
}
}
}
if (! $heading) {
print_headline(get_string("newforumposts").":");
$heading = true;
$content = true;
}
$date = userdate($post->modified, "%e %b, %H:%M");
echo "<P><FONT SIZE=1 $teacherpost>$date - $post->firstname $post->lastname<BR>";
echo "\"<A HREF=\"$CFG->wwwroot/mod/forum/$log->url\">";
if ($log->action == "add") {
echo "<B>$post->subject</B>";
} else {
echo "$post->subject";
}
echo "</A>\"</FONT></P>";
}
}
}
if (! $content) {
echo "<FONT SIZE=2>".get_string("nothingnew")."</FONT>";
}
}
function unenrol_student_in_course($user, $course) {
global $db;
return $db->Execute("DELETE FROM user_students WHERE user = '$user' AND course = '$course'");
}
function enrol_student_in_course($user, $course) {
global $db;
$timenow = time();
$rs = $db->Execute("INSERT INTO user_students (user, course, start, end, time)
VALUES ($user, $course, 0, 0, $timenow)");
if ($rs) {
return true;
} else {
return false;
}
}
function get_all_mods($courseid, &$mods, &$modnames, &$modnamesplural, &$modnamesused) {
// Returns a number of useful structures for course displays
@@ -455,11 +425,15 @@ function get_all_sections($courseid) {
ORDER BY section");
}
function print_section($courseid, $section, $mods, $modnamesused, $absolute=false) {
function get_all_categories() {
return get_records_sql("SELECT * FROM course_categories ORDER by name");
}
function print_section($courseid, $section, $mods, $modnamesused, $absolute=false, $width="100%") {
global $CFG;
echo "<TABLE WIDTH=100%><TR><TD>\n";
echo "<TABLE WIDTH=\"$width\"><TR><TD>\n";
if ($section->sequence) {
$sectionmods = explode(",", $section->sequence);
@@ -479,9 +453,9 @@ function print_section($courseid, $section, $mods, $modnamesused, $absolute=fals
echo "</TD></TR></TABLE><BR>\n\n";
}
function print_side_block($heading="", $list=NULL, $footer="", $icons=NULL) {
function print_side_block($heading="", $list=NULL, $footer="", $icons=NULL, $width=180) {
echo "<TABLE WIDTH=100%>\n";
echo "<TABLE WIDTH=\"$width\">\n";
echo "<TR><TD COLSPAN=2><P><B><FONT SIZE=2>$heading</TD></TR>\n";
if ($list) {
foreach($list as $key => $string) {
@@ -502,61 +476,142 @@ function print_side_block($heading="", $list=NULL, $footer="", $icons=NULL) {
echo "</TABLE><BR>\n\n";
}
function print_admin_links ($siteid) {
function print_admin_links ($siteid, $width=180) {
global $THEME, $CFG;
print_simple_box(get_string("administration"), $align="CENTER", $width="100%", $color="$THEME->cellheading");
print_simple_box(get_string("administration"), $align="CENTER", $width, $color="$THEME->cellheading");
$icon = "<IMG SRC=\"$CFG->wwwroot/pix/i/settings.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$moddata[]="<A HREF=\"$CFG->wwwroot/course/log.php?id=$siteid\">".get_string("sitelogs")."</A>";
$moddata[]="<A HREF=\"$CFG->wwwroot/admin/config.php\">".get_string("configvariables")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/admin/site.php\">".get_string("sitesettings")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/course/log.php?id=$siteid\">".get_string("sitelogs")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/theme/index.php\">".get_string("choosetheme")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/admin/lang.php\">".get_string("checklanguage")."</A>";
$modicon[]=$icon;
if (file_exists("$CFG->dirroot/admin/$CFG->dbtype")) {
$moddata[]="<A HREF=\"$CFG->wwwroot/admin/$CFG->dbtype/\">".get_string("managedatabase")."</A>";
$modicon[]=$icon;
}
$moddata[]="<HR>";
$modicon[]="";
$moddata[]="<A HREF=\"$CFG->wwwroot/course/edit.php\">".get_string("addnewcourse")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/course/categories.php\">".get_string("categories")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/course/teacher.php\">".get_string("assignteachers")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/course/delete.php\">".get_string("deletecourse")."</A>";
$modicon[]=$icon;
$moddata[]="<HR>";
$modicon[]="";
$moddata[]="<A HREF=\"$CFG->wwwroot/admin/user.php?newuser=true\">".get_string("addnewuser")."</A>";
$modicon[]=$icon;
$moddata[]="<A HREF=\"$CFG->wwwroot/admin/user.php\">".get_string("edituser")."</A>";
$modicon[]=$icon;
$fulladmin = "<P><A HREF=\"$CFG->wwwroot/admin/\">".get_string("admin")."</A>...";
print_side_block("", $moddata, "$fulladmin", $modicon);
echo "<IMG SRC=\"$CFG->wwwroot/pix/spacer.gif\" WIDTH=200 HEIGHT=0><BR>";
print_side_block("", $moddata, "$fulladmin", $modicon, $width);
echo "<IMG SRC=\"$CFG->wwwroot/pix/spacer.gif\" WIDTH=\"$width\" HEIGHT=1><BR>";
}
function print_course_admin_links($courseid) {
function print_course_admin_links($course, $width=180) {
global $THEME, $CFG;
echo "<BR>";
$adminicon[]="<IMG SRC=\"$CFG->wwwroot/pix/i/edit.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
if (isediting($courseid)) {
$admindata[]="<A HREF=\"view.php?id=$courseid&edit=off\">".get_string("turneditingoff")."</A>";
if (isediting($course->id)) {
$admindata[]="<A HREF=\"view.php?id=$course->id&edit=off\">".get_string("turneditingoff")."</A>";
} else {
$admindata[]="<A HREF=\"view.php?id=$courseid&edit=on\">".get_string("turneditingon")."</A>";
$admindata[]="<A HREF=\"view.php?id=$course->id&edit=on\">".get_string("turneditingon")."</A>";
}
$admindata[]="<A HREF=\"edit.php?id=$courseid\">".get_string("settings")."...</A>";
$admindata[]="<A HREF=\"edit.php?id=$course->id\">".get_string("settings")."...</A>";
$adminicon[]="<IMG SRC=\"$CFG->wwwroot/pix/i/settings.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$admindata[]="<A HREF=\"log.php?id=$courseid\">".get_string("logs")."...</A>";
if (!$course->teachers) {
$course->teachers = get_string("defaultcourseteachers");
}
$admindata[]="<A HREF=\"teachers.php?id=$course->id\">$course->teachers...</A>";
$adminicon[]="<IMG SRC=\"$CFG->wwwroot/pix/i/settings.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$admindata[]="<A HREF=\"log.php?id=$course->id\">".get_string("logs")."...</A>";
$adminicon[]="<IMG SRC=\"$CFG->wwwroot/pix/i/log.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$admindata[]="<A HREF=\"$CFG->wwwroot/files/index.php?id=$courseid\">".get_string("files")."...</A>";
$admindata[]="<A HREF=\"$CFG->wwwroot/files/index.php?id=$course->id\">".get_string("files")."...</A>";
$adminicon[]="<IMG SRC=\"$CFG->wwwroot/files/pix/files.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$admindata[]="<A HREF=\"$CFG->wwwroot/doc/view.php?id=$courseid&file=teacher.html\">".get_string("help")."...</A>";
$admindata[]="<A HREF=\"$CFG->wwwroot/doc/view.php?id=$course->id&file=teacher.html\">".get_string("help")."...</A>";
$adminicon[]="<IMG SRC=\"$CFG->wwwroot/mod/reading/icon.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
if ($teacherforum = forum_get_course_forum($courseid, "teacher")) {
$admindata[]="<A HREF=\"$CFG->wwwroot/mod/forum/view.php?f=$teacherforum->id\">".get_string("teacherforum")."</A>";
if ($teacherforum = forum_get_course_forum($course->id, "teacher")) {
$admindata[]="<A HREF=\"$CFG->wwwroot/mod/forum/view.php?f=$teacherforum->id\">".get_string("nameteacher", "forum")."</A>";
$adminicon[]="<IMG SRC=\"$CFG->wwwroot/mod/forum/icon.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
}
print_simple_box(get_string("administration"), $align="CENTER", $width="100%", $color="$THEME->cellheading");
print_side_block("", $admindata, "", $adminicon);
print_simple_box(get_string("administration"), $align="CENTER", $width, $color="$THEME->cellheading");
print_side_block("", $admindata, "", $adminicon, $width);
}
function print_course_categories($categories, $selected="none", $width=180) {
global $CFG, $THEME, $USER;
if ($selected == "index") { // Print comprehensive index of categories with courses
if ($courses = get_records_sql("SELECT * FROM course WHERE category > 0 ORDER BY shortname")) {
if (isset($USER->id) and !isadmin()) {
print_simple_box_start("LEFT", "100%");
print_heading("<A HREF=\"course/index.php?category=my\">".get_string("mycourses")."</A>", "LEFT");
$some = false;
echo "<UL>";
foreach ($courses as $key => $course) {
if (isteacher($course->id) or isstudent($course->id)) {
echo "<IMG SRC=\"$CFG->wwwroot/pix/i/course.gif\" HEIGHT=16 WIDTH=16>&nbsp;<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A> &nbsp; ";
$some = true;
}
}
if (!$some) {
print_string("nocoursesyet");
}
echo "</UL>";
print_simple_box_end();
print_spacer(8,1);
}
foreach ($categories as $category) {
print_simple_box_start("LEFT", "100%");
print_heading("<A HREF=\"course/index.php?category=$category->id\">$category->name</A>", "LEFT");
$some = false;
echo "<UL>";
foreach ($courses as $key => $course) {
if ($course->category == $category->id) {
echo "<IMG SRC=\"$CFG->wwwroot/pix/i/course.gif\" HEIGHT=16 WIDTH=16>&nbsp;<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A> &nbsp; ";
unset($courses[$key]);
$some = true;
}
}
if (!$some) {
print_string("nocoursesyet");
}
echo "</UL>";
print_simple_box_end();
print_spacer(8,1);
}
}
} else { // Print short list of categories only
foreach ($categories as $cat) {
$caticon[]="<IMG SRC=\"$CFG->wwwroot/pix/i/course.gif\" HEIGHT=16 WIDTH=16>";
if ($cat->id == $selected) {
$catdata[]="$cat->name";
} else {
$catdata[]="<A HREF=\"$CFG->wwwroot/course/index.php?category=$cat->id\">$cat->name</A>";
}
}
$catdata[] = "<A HREF=\"$CFG->wwwroot/course/index.php?category=all\">".get_string("fulllistofcourses")."</A>";
if (isset($USER->id)) {
$catdata[] = "<A HREF=\"$CFG->wwwroot/course/index.php?category=my\">".get_string("mycourses")."</A>";
}
print_side_block("", $catdata, $showall.$mine, $caticon, $width);
}
}
function print_log_graph($course, $userid=0, $type="course.png", $date=0) {
global $CFG;
+35 -22
View File
@@ -38,21 +38,28 @@
if ($timenow - $course->startdate > $COURSE_MAX_LOG_DISPLAY) {
$course->startdate = $timenow - $COURSE_MAX_LOG_DISPLAY;
}
$timestart = usergetmidnight($course->startdate);
$timestart = $coursestart = usergetmidnight($course->startdate);
$i = 0;
while ($timestart < $timenow) {
$timefinish = $timestart + (3600 * 24);
if (! $logcount = get_record_sql("SELECT COUNT(*) as count FROM log
WHERE user = '$user->id' AND course = '$course->id'
AND `time` > '$timestart' AND `time` < '$timefinish'")) {
$logs[$i] = 0;
}
$logs[$i] = $logcount->count;
$timefinish = $timestart + 86400;
$days[$i] = userdate($timestart, "%a %e %b");
$logs[$i] = 0;
$i++;
$timestart = $timefinish;
}
if ($rawlogs = get_records_sql("SELECT floor((`time` - $coursestart)/86400) as day,
count(*) as num FROM log
WHERE user = '$user->id'
AND course = '$course->id'
AND `time` > '$coursestart'
GROUP BY day ")) {
foreach ($rawlogs as $rawlog) {
$logs[$rawlog->day] = $rawlog->num;
}
}
$maxlogs = max($logs);
@@ -62,7 +69,7 @@
$graph->x_data = $days;
$graph->y_data['logs'] = $logs;
$graph->y_format['logs'] = array('colour' => 'blue','bar' => 'fill','legend' =>'actual','bar_size' => 0.9);
$graph->y_format['logs'] = array('colour' => 'blue','line' => 'line');
$graph->y_label_left = "Hits";
$graph->label_size = "6";
@@ -78,22 +85,28 @@
case "userday.png":
if ($date) {
$timestart = usergetmidnight($date);
$daystart = usergetmidnight($date);
} else {
$timestart = usergetmidnight(time());
$daystart = usergetmidnight(time());
}
while ($timestart < $timenow) {
$timefinish = $timestart + 3600;
if (! $logcount = get_record_sql("SELECT COUNT(*) as count FROM log
WHERE user = '$user->id' AND course = '$course->id'
AND `time` > '$timestart' AND `time` < '$timefinish'")) {
$logs[$i] = 0;
$dayfinish = $daystart + 86400;
for ($i=0; $i<=23; $i++) {
$logs[$i] = 0;
$hour = $daystart + $i * 3600;
$hh = (int)userdate($hour, "%I");
$hours[$i] = userdate($hour, "$hh %p");
}
if ($rawlogs = get_records_sql("SELECT floor((`time` - $daystart)/3600) as hour,
count(*) as num FROM log
WHERE user = '$user->id'
AND course = '$course->id'
AND `time` > '$daystart'
GROUP BY hour ")) {
foreach ($rawlogs as $rawlog) {
$logs[$rawlog->hour] = $rawlog->num;
}
$logs[$i] = $logcount->count;
$hh = (int)userdate($timestart, "%I");
$hours[$i] = userdate($timestart, "$hh %p");
$i++;
$timestart = $timefinish;
}
$maxlogs = max($logs);
+1
View File
@@ -28,6 +28,7 @@
$USER = get_user_info_from_db("id", $user);
$USER->loggedin = true;
$USER->site = $CFG->wwwroot;
$USER->realuser = $teacher_id;
save_session("USER");
+7 -9
View File
@@ -2,18 +2,18 @@
// social.php - course format featuring social forum
// included from view.php
include("../mod/forum/lib.php");
include("../mod/reading/lib.php");
include_once("../mod/forum/lib.php");
include_once("../mod/reading/lib.php");
?>
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="5" CELLPADDING="5">
<TR>
<TD WIDTH="15%" VALIGN="TOP">
<TD WIDTH="200" VALIGN="TOP">
<?
print_simple_box(get_string("people"), $align="CENTER", $width="100%", $color="$THEME->cellheading");
$moddata[]="<A HREF=\"../user/index.php?id=$course->id\">".get_string("listofallpeople")."</A>";
$moddata[]="<A TITLE=\"".get_string("listofallpeople")."\" HREF=\"../user/index.php?id=$course->id\">".get_string("participants")."</A>";
$modicon[]="<IMG SRC=\"../user/users.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$editmyprofile = "<A HREF=\"../user/view.php?id=$USER->id&course=$course->id\">".
$editmyprofile = "<A TITLE=\"$USER->firstname $USER->lastname\" HREF=\"../user/view.php?id=$USER->id&course=$course->id\">".
get_string("editmyprofile")."</A>";
if ($USER->description) {
$moddata[]= $editmyprofile;
@@ -51,12 +51,12 @@
// Admin links and controls
if (isteacher($course->id)) {
print_course_admin_links($course->id);
print_course_admin_links($course, "100%");
}
echo "</TD>";
echo "<TD WIDTH=\"55%\" VALIGN=\"TOP\">";
echo "<TD WIDTH=\"100%\" VALIGN=\"TOP\">";
if ($social = forum_get_course_forum($course->id, "social")) {
if (forum_is_subscribed($USER->id, $social->id)) {
$subtext = get_string("unsubscribe", "forum");
@@ -68,8 +68,6 @@
echo "<IMG ALT=\"\" HEIGHT=7 SRC=\"../pix/spacer.gif\"><BR>";
forum_print_latest_discussions($social->id, 10, "plain", "DESC", false);
$SESSION->fromdiscussion = "$CFG->wwwroot/course/view.php?id=$course->id";
save_session("SESSION");
} else {
notify("Could not find or create a social forum here");
+27 -25
View File
@@ -18,6 +18,15 @@
$strassignteachers = get_string("assignteachers");
$stradministration = get_string("administration");
$strexistingteachers = get_string("existingteachers");
$strnoexistingteachers = get_string("noexistingteachers");
$strpotentialteachers = get_string("potentialteachers");
$strnopotentialteachers = get_string("nopotentialteachers");
$straddteacher = get_string("addteacher");
$strremoveteacher = get_string("removeteacher");
$strsearch = get_string("search");
$strsearchagain = get_string("searchagain");
$strtoomanytoshow = get_string("toomanytoshow");
if (!$id) {
print_header("$site->fullname: $strassignteachers", "$site->fullname",
@@ -25,7 +34,7 @@
if ($courses = get_records_sql("SELECT * from course WHERE category > 0 ORDER BY fullname")) {
print_heading("Choose a course to add teachers to");
print_heading(get_string("choosecourse"));
print_simple_box_start("CENTER");
foreach ($courses as $course) {
echo "<A HREF=\"teacher.php?id=$course->id\">$course->fullname</A><BR>";
@@ -49,14 +58,11 @@
"<A HREF=\"$CFG->wwwroot/admin\">$stradministration</A> ->
<A HREF=\"teacher.php\">$strassignteachers</A> ->
$course->shortname", "");
print_heading($course->fullname);
print_heading("<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->fullname</A>");
/// Get all existing teachers for this course.
$teachers = get_records_sql("SELECT u.*,t.authority,t.id as teachid FROM user u, user_teachers t
WHERE t.course = '$course->id'
AND t.user = u.id
ORDER BY t.authority ASC");
$teachers = get_course_teachers($course->id);
/// Add a teacher if one is specified
@@ -84,7 +90,6 @@
if (! $teacher->id) {
error("Could not add that teacher to this course!");
}
$user->authority = $teacher->authority;
$teachers[] = $user;
}
@@ -95,33 +100,30 @@
error("That teacher (id = $remove) doesn't exist", "teacher.php?id=$course->id");
}
if ($teachers) {
foreach ($teachers as $tt) {
foreach ($teachers as $key => $tt) {
if ($tt->id == $user->id) {
delete_records("user_teachers", "id", "$tt->teachid");
remove_teacher($user->id, $course->id);
unset($teachers[$key]);
}
}
}
$teachers = get_records_sql("SELECT u.*,t.authority,t.id as teachid FROM user u, user_teachers t
WHERE t.course = '$course->id'
AND t.user = u.id
ORDER BY t.authority ASC");
}
/// Print the lists of existing and potential teachers
echo "<TABLE CELLPADDING=2 CELLSPACING=10 ALIGN=CENTER>";
echo "<TR><TH WIDTH=50%>Existing Teachers</TH><TH WIDTH=50%>Potential Teachers</TH></TR>";
echo "<TR><TH WIDTH=50%>$strexistingteachers</TH><TH WIDTH=50%>$strpotentialteachers</TH></TR>";
echo "<TR><TD WIDTH=50% NOWRAP VALIGN=TOP>";
/// First, show existing teachers for this course
if (! $teachers) {
echo "<P ALIGN=CENTER>No existing teachers</A>";
echo "<P ALIGN=CENTER>$strnoexistingteachers</A>";
} else {
foreach ($teachers as $teacher) {
echo "<P ALIGN=right>$teacher->firstname $teacher->lastname, $teacher->email &nbsp;&nbsp; <A HREF=\"teacher.php?id=$course->id&remove=$teacher->id\" TITLE=\"Remove teacher\"><IMG SRC=\"../pix/t/right.gif\" BORDER=0></A></P>";
echo "<P ALIGN=right>$teacher->firstname $teacher->lastname, $teacher->email &nbsp;&nbsp; <A HREF=\"teacher.php?id=$course->id&remove=$teacher->id\" TITLE=\"$strremoveteacher\"><IMG SRC=\"../pix/t/right.gif\" BORDER=0></A></P>";
}
}
@@ -130,14 +132,14 @@
/// Print list of potential teachers
if ($search) {
$users = get_records_sql("SELECT * from user WHERE confirmed = 1
$users = get_records_sql("SELECT * from user WHERE confirmed = 1 AND deleted = 0
AND (firstname LIKE '%$search%' OR
lastname LIKE '%$search%' OR
email LIKE '%$search%')
AND username <> 'guest'");
AND username <> 'guest' AND username <> 'changeme'");
} else {
$users = get_records_sql("SELECT * from user WHERE confirmed = 1
AND username <> 'guest'");
$users = get_records_sql("SELECT * from user WHERE confirmed = 1 AND deleted = 0
AND username <> 'guest' AND username <> 'changeme'");
}
@@ -155,22 +157,22 @@
}
if (! $potential) {
echo "<P ALIGN=CENTER>No potential teachers</A>";
echo "<P ALIGN=CENTER>$strnopotentialteachers</A>";
if ($search) {
echo "<FORM ACTION=teacher.php METHOD=GET>";
echo "<INPUT TYPE=hidden NAME=id VALUE=\"$course->id\">";
echo "<INPUT TYPE=text NAME=search SIZE=20>";
echo "<INPUT TYPE=submit VALUE=\"Search again\">";
echo "<INPUT TYPE=submit VALUE=\"$strsearchagain\">";
echo "</FORM>";
}
} else {
if ($search) {
echo "<P ALIGN=CENTER>(Search results)</P>";
echo "<P ALIGN=CENTER>($strsearchresults)</P>";
}
if (count($potential) <= 20) {
foreach ($potential as $user) {
echo "<P ALIGN=LEFT><A HREF=\"teacher.php?id=$course->id&add=$user->id\" TITLE=\"Add teacher\"><IMG SRC=\"../pix/t/left.gif\" BORDER=0></A>&nbsp;&nbsp;$user->firstname $user->lastname, $user->email";
echo "<P ALIGN=LEFT><A HREF=\"teacher.php?id=$course->id&add=$user->id\" TITLE=\"$straddteacher\"><IMG SRC=\"../pix/t/left.gif\" BORDER=0></A>&nbsp;&nbsp;$user->firstname $user->lastname, $user->email";
}
} else {
echo "<P ALIGN=CENTER>There are too many users to show.<BR>";
@@ -178,7 +180,7 @@
echo "<FORM ACTION=teacher.php METHOD=GET>";
echo "<INPUT TYPE=hidden NAME=id VALUE=\"$course->id\">";
echo "<INPUT TYPE=text NAME=search SIZE=20>";
echo "<INPUT TYPE=submit VALUE=Search>";
echo "<INPUT TYPE=submit VALUE=\"$strsearch\">";
echo "</FORM>";
}
}
+92
View File
@@ -0,0 +1,92 @@
<?PHP // $Id$
// Allows a teacher to edit teacher order and roles for a course
require("../config.php");
require("lib.php");
require_variable($id); // course id
if (! $course = get_record("course", "id", $id)) {
error("Course ID was incorrect");
}
require_login($course->id);
if (!isteacher($course->id)) {
error("Only teachers can edit the course!");
}
/// If data submitted, then process and store.
if (match_referer() && isset($HTTP_POST_VARS)) {
$rank = array();
// Peel out all the data from variable names.
foreach ($HTTP_POST_VARS as $key => $val) {
if ($key <> "id") {
$type = substr($key,0,1);
$num = substr($key,1);
$rank[$num][$type] = $val;
}
}
foreach ($rank as $num => $vals) {
if (! $teacher = get_record_sql("SELECT * FROM user_teachers WHERE course='$course->id' and user='$num'")) {
error("No such teacher in course $course->shortname with user id $num");
}
$teacher->role = $vals[r];
$teacher->authority = $vals[a];
if (!update_record("user_teachers", $teacher)) {
error("Could not update teacher entry id = $teacher->id");
}
}
redirect("teachers.php?id=$course->id", get_string("changessaved"));
}
/// Otherwise fill and print the form.
print_header("$course->shortname: $course->teachers", "$course->fullname",
"<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A>
-> $course->teachers");
if (!$teachers = get_course_teachers($course->id)) {
error("No teachers found in this course!");
}
print_heading($course->teachers);
$table->head = array ("", get_string("name"), get_string("order"), get_string("role"));
$table->align = array ("RIGHT", "LEFT", "CENTER", "CENTER");
$table->size = array ("35", "", "", "");
$option[0] = get_string("hide");
for ($i=1; $i<=8; $i++) {
$option[$i] = $i;
}
echo "<FORM ACTION=teachers.php METHOD=post>";
foreach ($teachers as $teacher) {
$picture = print_user_picture($teacher->id, $course->id, $teacher->picture, false, true);
$authority = choose_from_menu ($option, "a$teacher->id", $teacher->authority, "", "", "", true);
if (!$teacher->role) {
$teacher->role = $course->teacher;
}
$table->data[] = array ($picture, "$teacher->firstname $teacher->lastname", $authority,
"<INPUT TYPE=text NAME=\"r$teacher->id\" VALUE=\"$teacher->role\" SIZE=30>");
}
print_table($table);
echo "<INPUT TYPE=hidden NAME=id VALUE=\"$course->id\">";
echo "<CENTER><BR><INPUT TYPE=submit VALUE=\"".get_string("savechanges")."\"> ";
helpbutton("teachers", $course->teachers);
echo "</CENTER>";
echo "</FORM>";
print_footer($course);
?>
+4 -4
View File
@@ -6,7 +6,7 @@
// courses that aren't so rigidly defined by time.
// Included from "view.php"
include("../mod/forum/lib.php");
include_once("../mod/forum/lib.php");
if (! $sections = get_all_sections($course->id) ) {
$section->course = $course->id; // Create a default section.
@@ -46,9 +46,9 @@
$blinker = " <BLINK>*</BLINK>";
print_simple_box(get_string("people"), $align="CENTER", $width="100%", $color="$THEME->cellheading");
$moddata[]="<A HREF=\"../user/index.php?id=$course->id\">".get_string("listofallpeople")."</A>";
$moddata[]="<A TITLE=\"".get_string("listofallpeople")."\" HREF=\"../user/index.php?id=$course->id\">".get_string("participants")."</A>";
$modicon[]="<IMG SRC=\"../user/users.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$editmyprofile = "<A HREF=\"../user/view.php?id=$USER->id&course=$course->id\">".get_string("editmyprofile")."</A>";
$editmyprofile = "<A TITLE=\"$USER->firstname $USER->lastname\" HREF=\"../user/view.php?id=$USER->id&course=$course->id\">".get_string("editmyprofile")."</A>";
if ($USER->description) {
$moddata[]= $editmyprofile;
} else {
@@ -79,7 +79,7 @@
// Admin links and controls
if (isteacher($course->id)) {
print_course_admin_links($course->id);
print_course_admin_links($course);
}
// Start main column
+1 -4
View File
@@ -26,13 +26,10 @@
if (isset($confirm)) {
if (! unenrol_student_in_course($user->id, $course->id)) {
if (! unenrol_student($user->id, $course->id)) {
error("An error occurred while trying to unenrol you.");
}
// remove some other things
delete_records("forum_subscriptions", "user", $user->id);
add_to_log($course->id, "course", "unenrol", "view.php?id=$course->id", "$user->id");
if ($user->id == $USER->id) {
+6 -3
View File
@@ -38,13 +38,16 @@
} else if ($help == "off") {
$USER->help = false;
}
save_session("USER");
$SESSION->fromdiscussion = "$CFG->wwwroot/course/view.php?id=$course->id";
save_session("SESSION");
if (! $course->category) { // This course is not a real course.
redirect("$CFG->wwwroot");
redirect("$CFG->wwwroot/");
}
$courseword = get_string("course");
print_header("$courseword: $course->fullname", "$course->fullname", "$course->shortname", "search.search", "", true,
@@ -67,6 +70,6 @@
error("Course format not defined yet!");
}
print_footer($course);
print_footer();
?>
+6 -4
View File
@@ -2,7 +2,7 @@
// Display the whole course as "weeks" made of of modules
// Included from "view.php"
include("../mod/forum/lib.php");
include_once("../mod/forum/lib.php");
if (! $sections = get_all_sections($course->id)) {
$section->course = $course->id; // Create a default section.
@@ -33,9 +33,9 @@
// Links to people
print_simple_box(get_string("people"), $align="CENTER", $width="100%", $color="$THEME->cellheading");
$moddata[]="<A HREF=\"../user/index.php?id=$course->id\">".get_string("listofallpeople")."</A>";
$moddata[]="<A TITLE=\"".get_string("listofallpeople")."\" HREF=\"../user/index.php?id=$course->id\">".get_string("participants")."</A>";
$modicon[]="<IMG SRC=\"../user/users.gif\" HEIGHT=16 WIDTH=16 ALT=\"\">";
$editmyprofile = "<A HREF=\"../user/view.php?id=$USER->id&course=$course->id\">".get_string("editmyprofile")."</A>";
$editmyprofile = "<A TITLE=\"$USER->firstname $USER->lastname\" HREF=\"../user/view.php?id=$USER->id&course=$course->id\">".get_string("editmyprofile")."</A>";
if ($USER->description) {
$moddata[]= $editmyprofile;
} else {
@@ -66,7 +66,7 @@
// Admin links and controls
if (isteacher($course->id)) {
print_course_admin_links($course->id);
print_course_admin_links($course);
}
// Start main column
@@ -182,6 +182,8 @@
print_recent_activity($course);
print_simple_box_end();
echo "<BR><IMG SRC=\"../pix/spacer.gif\" WIDTH=210 HEIGHT=1>";
echo "</TD></TR></TABLE>\n";
?>
+49 -13
View File
@@ -8,27 +8,52 @@
<H2>Credits</H2>
<P><B>Moodle </B>itself is Copyright &copy; 2001-2002, <A HREF="http://dougiamas.com/">
<P><B>Moodle </B>itself is Copyright &copy; 2001-2002, <A TARGET=_top HREF="http://dougiamas.com/">
Martin Dougiamas</A>. &nbsp;It is distributed under the <A HREF="licence.html">
GNU Public License</A>.</P>
<H3>Other contributors</H3>
<H3><BR>Special thanks</H3>
<UL>
<LI><B>Dr Peter Taylor</B>, at Curtin University of Technology, for working
with the prototype and making many useful suggestions</LI>
<LI><B><A TARGET=_top HREF="http://pctaylor.com">Dr Peter C. Taylor</A></B>, at Curtin University of Technology in Perth, Australia, for working
with the prototypes and making many useful suggestions along the way
<LI><B>Art Lader</B>, at Aiken High School, SC, USA for many good deeds.
</UL>
<BR>
<H3><BR>Translations</H3>
<BLOCKQUOTE>
<P>Many thanks to these people - each translation takes many hours of work.
<UL>
<LI><B>br - Portuguese (Brazilian)</B>, by Fabricio Valadares (webdesigner@unincor.br).
<LI><B>fi - Finnish</B>, by Petri Asikainen (paca@sci.fi).
<LI><B>fr - French</B>, by Sebastien Nameche (seb@gaia.anet.fr)
</UL>
</BLOCKQUOTE>
<H3><BR>Other contributors</H3>
<BLOCKQUOTE>
<P>Thanks to all of you contributing ideas and code, especially Dustin Rue, James Miller, Matt Hope, Petri Asikainen ... and also:</P>
<UL>
<LI>everyone who contributes to the <A TARGET=_top HREF="http://bugs.moodle.com">bug tracker</A>, and
<LI>everyone enrolled in the "<A TARGET=_top HREF="http://moodle.com/course/">Using Moodle</A>" course at moodle.com</A>
</UL>
</BLOCKQUOTE>
<P></P>
<H3>Moodle libraries</H3>
<H3><BR>Moodle libraries</H3>
<BLOCKQUOTE>
<P>Some of Moodle's libraries were written by other people, and are being
redistributed as part of Moodle under the LGPL. &nbsp;Copyright information
from this software is included below:</P>
redistributed as part of Moodle under the LGPL. My thanks go out to the
authors of all these excellent products - without them Moodle would be missing
important functionality. &nbsp;Copyright information for this software is included below:</P>
<P><B>ADOdb &nbsp; </B>- &nbsp;lib/adodb<BR>
</P>
@@ -89,8 +114,19 @@ via PHP.<BR>
Version: 0.3b<BR>
Copyright &copy; 2001 &nbsp;Erol Ozcan &lt;eozcan@superonline.com&gt;<BR>
License: GNU LGPL<BR>
URL: <A HREF="http://psxlsgen.sourceforge.net">http://psxlsgen.sourceforge.net</A><BR>
URL: <A HREF="http://psxlsgen.sourceforge.net" TARGET="newpage">http://psxlsgen.sourceforge.net</A><BR>
</BLOCKQUOTE>
<P><B>IP-Atlas</B>&nbsp; - &nbsp; lib/ipatlas</P>
<BLOCKQUOTE>PHP scripts to show the location of an IP address on a map.<BR>
<BR>
Version: 1.0<BR>
Copyright &copy; 2002 &nbsp; Ivan Kozik<BR>
License: GNU GPL<BR>
URL: <A HREF="http://www.xpenguin.com/ip-atlas.php" TARGET="newpage">http://www.xpenguin.com/ip-atlas.php</A><BR>
</BLOCKQUOTE>
</BLOCKQUOTE>
<BLOCKQUOTE><BR>
+4 -4
View File
@@ -34,7 +34,7 @@
which means Moodle can use <a href="http://php.weblogs.com/ADOdb_manual#drivers">more
than ten different brands of database</a> (unfortunately, though, it can not
yet <em><strong>set up tables</strong></em> in all these databases - more
on this later). <br>
on this later). <br><br>
</li>
<li><strong>Moodle should be easy to install, learn and modify</strong><br>
<br>
@@ -49,7 +49,7 @@
libraries of clearly-named functions and consistent layout of script files.
PHP is also easy to install (binaries are available for every platform) and
is widely available to the point that most web hosting services provide it
as standard.<br>
as standard.<br><br>
</li>
<li><strong>It should be easy to upgrade from one version to the next</strong><br>
<br>
@@ -57,14 +57,14 @@
and a mechanism has been built-in so that Moodle can properly upgrade itself
to new versions (for example it can rename database tables or add new fields).
If using CVS in Unix for example, one can just do a &quot;cvs update -d&quot;
and then visit the site home page to complete an upgrade.<br>
and then visit the site home page to complete an upgrade.<br><br>
</li>
<li><strong>It should be modular to allow for growth</strong><br>
<br>
Moodle has a number of features that are modular, including themes, activities,
interface languages, database schemas and course formats. This allows anyone
to add features to the main codebase or to even distribute them separately.
More on this below in the next section.<br>
More on this below in the next section.<br><br>
</li>
<li><strong>It should be able to be used in conjunction with other systems</strong><br>
<br>
+22 -1
View File
@@ -10,15 +10,36 @@
I have a deeply-held belief in the importance of unrestricted education and
empowered teaching, and Moodle is the main way I can contribute to the realisation
of these ideals.
<P>As Moodle gains in maturity, I hope its directions are influenced by the community
of developers and users. A dynamic database of proposed features and their status
can be found at <A TARGET=_top HREF="http://bugs.moodle.org/">bugs.moodle.org</A>.
Your <a href="developer.html">contributions</a> in the form of ideas, code,
feedback and promotion are all very welcome.
<P>Now that 1.0 has been released, most of my efforts will concentrate on the
<P>Now that 1.0.1 has been released, most of my efforts will concentrate on the
macro level (supporting larger classes and integrating into larger institutions)
and the micro level (improving support for decisions and processes, for both
teachers and learners).
<P>The next 6 months or so I will have to slow down my own development a little
(because I have a PhD thesis to finish). During this time there'll be a number
of small upgrades 1.0.2, 1.0.3 etc that I expect will contain minor new features
and polishing. I'll also be working with people adding new plugins (support for
more databases, new modules and new themes).
<P>Sometime in the first half of 2003 you can expect a major release (1.1, maybe 1.5) that has
new features like:
<UL>
<LI>Full user account management (eg connection to external databases, import/export etc)
<LI>Full grade management
<LI>Ability to define groups and group work
<LI>Automatic linking in texts to uploaded readings (like Wiki)
<LI>Online support for teachers to design and maintain classes
<LI>Online support for students in collaboration processes
</UL>
<P ALIGN="CENTER">&nbsp;</P>
<P ALIGN="CENTER"><FONT SIZE="1"><A HREF="index.html" TARGET="_top">Moodle Documentation</A></FONT></P>
<P ALIGN="CENTER"><FONT SIZE="1">Version: $Id$</FONT></P>
+254 -195
View File
@@ -4,7 +4,6 @@
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H2>Installing Moodle</H2>
<P>This guide explains how to install Moodle for the first time.</P>
<P>Sections in this document:</P>
@@ -14,81 +13,91 @@
<LI><A HREF="#site">Site structure</A></LI>
<LI><A HREF="#data">Create a data directory</A></LI>
<LI><A HREF="#database">Create a database</A></LI>
<LI><A HREF="#webserver">Check web server settings</A></LI>
<LI><A HREF="#config">Edit config.php</A></LI>
<LI><A HREF="#admin">Go to the admin page</A></LI>
<LI><A HREF="#cron">Set up cron</A></LI>
<LI><A HREF="#course">Create a new course</A></LI>
</OL>
<H3><A NAME="requirements"></A>Requirements</H3>
<P>Moodle is primarily developed in Linux using PHP, Apache and MySQL, and regularly
tested under Windows XP and Mac OS X environments.</P>
<P>All you should need are:</P>
<UL>
<LI>a working installation of <A HREF="http://www.php.net/">PHP</A> (version
4.1.0 or better), including the <A HREF="http://www.boutell.com/gd/">GD</A>
library for manipulating images.</LI>
<LI>a working database server (<A HREF="http://www.mysql.com/">MySQL</A> for
now, but soon it will support PostgreSQL, MSSQL, Oracle, Interbase, Foxpro,
Access, ADO, Sybase, DB2 or ODBC).</LI>
</UL>
<P>On a Windows platform, the quickest way to satisfy these requirements is to
download <A HREF="http://www.phpgeek.com/">PHPTriad</A>, <A HREF="http://www.foxserv.net/">FoxServ</A>,
or <A HREF="http://www.easyphp.org/">EasyPHP</A>
which will install Apache, PHP, and MySQL for you. Make sure you enable the
GD module so Moodle can process images - you may have to edit php.ini and remove
the comment (;) from this line: 'extension=php_gd.dll'.</P>
<P>On Mac OS X I highly recommend the <a href="http://fink.sourceforge.net/">fink</a>
project.</P>
<H3><A NAME="requirements"></A>1. Requirements</H3>
<blockquote>
<p>Moodle is primarily developed in Linux using PHP, Apache and MySQL, and regularly
tested under Windows XP and Mac OS X environments.</p>
<p>All you should need are:</p>
<ul>
<li>a working installation of <A HREF="http://www.php.net/">PHP</A> (version
4.1.0 or better), including the <A HREF="http://www.boutell.com/gd/">GD</A>
library for manipulating images.</li>
<li>a working database server (<A HREF="http://www.mysql.com/">MySQL</A> for
now, but soon it will support PostgreSQL, MSSQL, Oracle, Interbase, Foxpro,
Access, ADO, Sybase, DB2 or ODBC).</li>
</ul>
<p>On a Windows platform, the quickest way to satisfy these requirements is
to download <A HREF="http://www.phpgeek.com/">PHPTriad</A>, <A HREF="http://www.foxserv.net/">FoxServ</A>,
or <A HREF="http://www.easyphp.org/">EasyPHP</A> which will install Apache,
PHP, and MySQL for you. Make sure you enable the GD module so Moodle can process
images - you may have to edit php.ini and remove the comment (;) from this
line: 'extension=php_gd.dll'.</p>
<p>On Mac OS X I highly recommend the <a href="http://fink.sourceforge.net/">fink</a>
project.</p>
</blockquote>
<P>&nbsp;</P>
<H3><A NAME="downloading"></A>Download</H3>
<P>There are two ways to get Moodle, as a compressed package and via CVS. These
are explained in detail on the download page on <A HREF="http://moodle.com/">http://moodle.com/</A></P>
<P>After downloading and unpacking the archive, or checking out the files via
CVS, you will be left with a directory called &quot;moodle&quot;, containing
a number of files and folders. </P>
<P>You can either place the whole folder in your web server documents directory,
in which case the site will be located at <B>http://yourwebserver.com/moodle</B>,
or you can copy all the contents straight into the main web server documents
directory, in which case the site will be simply <B>http://yourwebserver.com</B>.</P>
<H3><A NAME="downloading"></A>2. Download</H3>
<blockquote>
<p>There are two ways to get Moodle, as a compressed package and via CVS. These
are explained in detail on the download page on <A HREF="http://moodle.com/">http://moodle.com/</A></p>
<p>After downloading and unpacking the archive, or checking out the files via
CVS, you will be left with a directory called &quot;moodle&quot;, containing
a number of files and folders. </p>
<p>You can either place the whole folder in your web server documents directory,
in which case the site will be located at <B>http://yourwebserver.com/moodle</B>,
or you can copy all the contents straight into the main web server documents
directory, in which case the site will be simply <B>http://yourwebserver.com</B>.</p>
</blockquote>
<P>&nbsp;</P>
<H3><A NAME="site"></A>Site structure</H3>
<P>Here is a quick summary of the contents of the Moodle folder, to help get you
oriented:</P>
<BLOCKQUOTE>
<P>config.php - the only file you need to edit to get started<br>
version.php - defines the current version of Moodle code<BR>
index.php - the front page of the site</P>
<UL>
<LI>admin/ - code to administrate the whole server </LI>
<LI>course/ - code to display and manage courses </LI>
<LI>doc/ - help documentation for Moodle (eg this page)</LI>
<LI>files/ - code to display and manage uploaded files</LI>
<LI>lang/ - texts in different languages, one directory per language </LI>
<LI>lib/ - libraries of core Moodle code </LI>
<LI>login/ - code to handle login and account creation </LI>
<LI>mod/ - all Moodle course modules</LI>
<LI>pix/ - generic site graphics</LI>
<LI>theme/ - theme packs/skins to change the look of the site.</LI>
<LI>user/ - code to display and manage users</LI>
</UL>
<P>&nbsp;</P>
<H3><A NAME="site"></A>3. Site structure</H3>
<BLOCKQUOTE>
<p>Here is a quick summary of the contents of the Moodle folder, to help get
you oriented:</p>
<blockquote>
<p>config.php - the only file you need to edit to get started<br>
version.php - defines the current version of Moodle code<BR>
index.php - the front page of the site</p>
<ul>
<li>admin/ - code to administrate the whole server </li>
<li>course/ - code to display and manage courses </li>
<li>doc/ - help documentation for Moodle (eg this page)</li>
<li>files/ - code to display and manage uploaded files</li>
<li>lang/ - texts in different languages, one directory per language </li>
<li>lib/ - libraries of core Moodle code </li>
<li>login/ - code to handle login and account creation </li>
<li>mod/ - all Moodle course modules</li>
<li>pix/ - generic site graphics</li>
<li>theme/ - theme packs/skins to change the look of the site.</li>
<li>user/ - code to display and manage users</li>
</ul>
<p>&nbsp;</p>
</blockquote>
</BLOCKQUOTE>
<H3><A NAME="data"></A>Create a data directory</H3>
<P>Moodle will also need some space on your hard disk to store uploaded files,
such as course documents and user pictures.</P>
<P>Create a directory for this purpose somewhere <B>away</B> from the web server
documents directory (we don't want these files to be directly accessible from
the web), and ensure that the web server software has permission to write to
this directory. On Unix machines, this means setting the owner of the directory
to be something like &quot;nobody&quot; or &quot;apache&quot;.</P>
<H3><A NAME="data"></A>4. Create a data directory</H3>
<blockquote>
<p>Moodle will also need some space on your hard disk to store uploaded files,
such as course documents and user pictures.</p>
<p>Create a directory for this purpose somewhere <B>away</B> from the web server
documents directory (we don't want these files to be directly accessible from
the web), and ensure that the web server software has permission to write
to this directory. On Unix machines, this means setting the owner of the directory
to be something like &quot;nobody&quot; or &quot;apache&quot;.</p>
</blockquote>
<P>&nbsp;</P>
<H3><A NAME="database"></A>Create a database</H3>
<P>You need to create an empty database (eg "moodle") in your database system
along with a special user (eg "moodleuser") that has access to that database
(and that database only. For example, don't use the "root" user for the moodle
database in a production system - it's a security hazard). </P>
<P>eg for MySQL: </P>
<PRE>
<H3><A NAME="database"></A>5. Create a database</H3>
<blockquote>
<p>You need to create an empty database (eg "moodle") in your database system
along with a special user (eg "moodleuser") that has access to that database
(and that database only. For example, don't use the "root" user for the moodle
database in a production system - it's a security hazard). </p>
<p>eg for MySQL: </p>
<PRE>
# mysql -u root -p
> CREATE DATABASE moodle;
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*
@@ -96,107 +105,164 @@
> quit
# mysqladmin -p reload
</PRE>
<p>(For MySQL I highly recommend the use of <a href="http://phpmyadmin.sourceforge.net/">phpMyAdmin</a>
to manage your databases).</p>
</blockquote>
<P>&nbsp;</P>
<H3><A NAME="webserver" id="webserver"></A>6. Check your web server settings</H3>
<blockquote>
<p>Firstly, make sure that your web server is set up to use index.php as a default
page (perhaps in addition to index.html, default.htm and so on).</p>
<p>In Apache, this is done using a DirectoryIndex parameter in your httpd.conf
file. Mine usually looks like this:</p>
<blockquote>
<pre><strong>DirectoryIndex</strong> index.php index.html index.htm </pre>
</blockquote>
<p>Just make sure index.php is in the list (and preferably towards the start
of the list, for efficiency).</p>
<p>Secondly, check your PHP configuration file (usually called php.ini) and
make sure uploading has been turned on:</p>
<blockquote>
<pre>file_uploads = On</pre>
</blockquote>
<p>Most distributions of PHP have this turned on by default, but you may want
to check it anyway. </p>
<p>If you don't have access to httpd.conf or php.ini on your server, another
way you can set both of the above settings (and more) is to put definitions in a
.htaccess file in Moodle's main directory. This only works on Apache servers
and only when Overrides have been allowed. A sample .htaccess file
is included with Moodle (called lib/htaccess) that includes further information.
<P>(For MySQL I highly recommend the use of <a href="http://phpmyadmin.sourceforge.net/">phpMyAdmin</a>
to manage your databases).</P>
<H3><A NAME="config"></A>Edit config.php</H3>
<P>Now you can edit the configuration file, <strong>config.php</strong>. This
file is used by all other files in Moodle.</P>
<P>To start with, make a copy of config-dist.php and call it config.php. We do
this so that your config.php won't be overwritten in case you upgrade Moodle
later on.
<P>Edit config.php to specify the database details that you just defined, as well as the
site address, file system directory, data directory and so on. The config file
has detailed directions.</P>
<P>For the rest of this installation document we will assume your site is at:
http://example.com/moodle</P>
</blockquote>
<p>&nbsp;</p>
<H3><A NAME="config"></A>7. Edit config.php</H3>
<blockquote>
<p>Now you can edit the configuration file, <strong>config.php</strong>, using a
text editor. This file is used by all other files in Moodle.</p>
<p>To start with, make a copy of config-dist.php and call it config.php. We
do this so that your config.php won't be overwritten in case you upgrade Moodle
later on. </p>
<p>Edit config.php to specify the database details that you just defined, as
well as the site address, file system directory and data directory.
The config file has detailed directions.</p>
<p>For the rest of this installation document we will assume your site is at:
<u>http://example.com/moodle</u></p>
</blockquote>
<P>&nbsp;</P>
<H3><A NAME="admin"></A>Go to the admin page</H3>
<P>The admin page should now be working at: http://example.com/moodle/admin</P>
<P>If you try and access the front page of your site you'll be taken there automatically
anyway. </P>
<P>The first time you access this page, Moodle will set up your database and prompt
you for more information.</P>
<P>Firstly, the main database tables are created. You should see a number of SQL
statements followed by status messages (in green or red) that look like this:</P>
<BLOCKQUOTE>
<P>CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category
int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default
'', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL
default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1',
teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned
NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified
int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM</P>
<P><FONT COLOR="#006600">SUCCESS</FONT></P>
<P>...and so on, followed by: <FONT COLOR="#FF0000">Main databases set up successfully</FONT>.
</P>
</BLOCKQUOTE>
<P>If you don't see these, then there must have been some problem with the database
or the configuration settings you defined in config.php. Check that PHP isn't
in a restricted "safe mode" (commercial web hosts often have safe mode turned
on). You can check PHP variables by creating a little file containing &lt? phpinfo
?&gt and looking at it through a browser. Check all these and try this page
again.</P>
<P>Scroll down the very bottom of the page and press the &quot;Continue&quot;
link.</P>
<P>Next you will see a similar page that sets up all the tables required by each
Moodle module. As before, they should all be green, otherwise you may be a problem
in the module code.</P>
<P>Scroll down the very bottom of the page and press the &quot;Continue&quot;
link.</P>
<P>You should now see a form where you can define more parameters for your Moodle
site, such as the name, the description shown on the front page, and so on.
Fill this out (you can always go back and change these later) and then press
&quot;Update the site&quot;.</P>
<P>Finally, you will then be asked to create a top-level administration user for
future access to the admin pages. Fill out the details with your own name, email
etc and then click &quot;Update this user&quot;. You will be returned to the
main admin page, which contain a number of links arranged in a menu (these items
also appear on the home page when you are logged in as the admin user).</P>
<P><strong>Make sure you remember the username and password you chose for the
administration user, as they will be necessary to access the administration
page in future.</strong></P>
<P>All your further administration of Moodle can now be done using the administration
menu, which includes tasks such as:</P>
<UL>
<LI>creating and deleting courses</LI>
<LI>creating and editing user accounts</LI>
<LI>administering teacher accounts</LI>
<LI>changing site-wide settings</LI>
</UL>
<P>&nbsp;</P>
<H3><A NAME="cron"></A>Set up cron</H3>
<P>Some of Moodle's modules require continual checks to perform tasks. For example,
Moodle needs to check the discussion forums so it can mail out copies of posts
to people who have subscribed.</P>
<P>The script that does all this is located in the admin directory, and is called
cron.php. However, it can not run itself, so you need to set up a mechanism
where this script is run regularly (eg every five minutes). This provides a
&quot;heartbeat&quot; so that the script can perform functions at periods defined
by each module.</P>
<P>Test that the script works by running it directly from your browser:</P>
<BLOCKQUOTE>
<PRE>http://example.com/moodle/admin/cron.php</PRE>
</BLOCKQUOTE>
<P>Now, you need to set up some of way of running the script automatically and
regularly. </P>
<BLOCKQUOTE>
<H4>Running the script from a command line</H4>
<P>You can call the page from the command line just as you did in the example
above. For example, you can use a Unix utility like 'wget':</P>
<BLOCKQUOTE>
<PRE>wget -q -O /dev/null http://example.com/moodle/admin/cron.php</PRE>
</BLOCKQUOTE>
<P>Note in this example that the output is thrown away (to /dev/null).</P>
<P>The same thing using lynx:</P>
<H3><A NAME="admin"></A>8. Go to the admin page</H3>
<blockquote>
<p>The admin page should now be working at: http://example.com/moodle/admin.
If you try and access the front page of your site you'll be taken there automatically
anyway. The first time you access this admin page, you will be presented with
a GPL agreement with which you need to agree before you can continue with the setup.</p>
<P>(Moodle will also try to set some cookies in your browser. If you have
your browser set up to let you choose to accept cookies, then you <B>must</B>
accept the Moodle cookies, or Moodle won't work properly.)
<p>Now Moodle will start setting set up your database. Firstly, the main database
tables are created. You should see a number of SQL statements followed by
status messages (in green or red) that look like this:</p>
<blockquote>
<p>CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category
int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default
'', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT
NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default
'1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10)
unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default
'0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id))
TYPE=MyISAM</p>
<p><FONT COLOR="#006600">SUCCESS</FONT></p>
<p>...and so on, followed by: <FONT COLOR="#FF0000">Main databases set up
successfully</FONT>. </p>
</blockquote>
<p>If you don't see these, then there must have been some problem with the database
or the configuration settings you defined in config.php. Check that PHP isn't
in a restricted "safe mode" (commercial web hosts often have safe mode turned
on). You can check PHP variables by creating a little file containing &lt?
phpinfo() ?&gt and looking at it through a browser. Check all these and try
this page again.</p>
<p>Scroll down the very bottom of the page and press the &quot;Continue&quot;
link.</p>
<p>Next you will see a similar page that sets up all the tables required by
each Moodle module. As before, they should all be green, otherwise you may
be a problem in the module code.</p>
<p>Scroll down the very bottom of the page and press the &quot;Continue&quot;
link.</p>
<p>You should now see a form where you can define more configuration variables
for your installation, such as the default language, SMTP hosts and so on.
Don't worry too much about getting everything right just now - you can always
come back and edit these later on using the admin interface. Scroll down
to the bottom and click &quot;Save changes&quot;.</p>
<p>Next is a form where you can define parameters for your Moodle site and the
front page, such as the name, format, description and so on.
Fill this out (you can always go back and change these later) and then press
&quot;Save changes&quot;.</p>
<p>Finally, you will then be asked to create a top-level administration user
for future access to the admin pages. Fill out the details with your own name,
email etc and then click &quot;Save changes&quot;. Not all the fields are
required, but if you miss any important fields you'll be re-prompted for them.
</p>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<p><strong>Make sure you remember the username and password you chose
for the administration user account, as they will be necessary to
access the administration page in future.</strong></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<p>Once successful, you will be returned to the main admin page, which contain
a number of links arranged in a menu (these items also appear on the home
page when you are logged in as the admin user). All your further administration
of Moodle can now be done using this menu, such as:</p>
<ul>
<li>creating and deleting courses</li>
<li>creating and editing user accounts</li>
<li>administering teacher accounts</li>
<li>changing site-wide settings like themes etc</li>
</ul>
</blockquote>
<P>&nbsp;</P>
<H3><A NAME="cron"></A>9. Set up cron</H3>
<blockquote>
<p>Some of Moodle's modules require continual checks to perform tasks. For example,
Moodle needs to check the discussion forums so it can mail out copies of posts
to people who have subscribed.</p>
<p>The script that does all this is located in the admin directory, and is called
cron.php. However, it can not run itself, so you need to set up a mechanism
where this script is run regularly (eg every five minutes). This provides
a &quot;heartbeat&quot; so that the script can perform functions at periods
defined by each module.</p>
<p>Test that the script works by running it directly from your browser:</p>
<blockquote>
<PRE>http://example.com/moodle/admin/cron.php</PRE>
</blockquote>
<p>Now, you need to set up some of way of running the script automatically and
regularly. </p>
<H4> Running the script from a command line</H4>
<p>You can call the page from the command line just as you did in the example
above. For example, you can use a Unix utility like 'wget':</p>
<blockquote>
<PRE>wget -q -O /dev/null http://example.com/moodle/admin/cron.php</PRE>
</blockquote>
<p>Note in this example that the output is thrown away (to /dev/null).</p>
<p>The same thing using lynx:</p>
<blockquote>
<pre>lynx -dump http://example.com/moodle/admin/cron.php &gt; /dev/null</pre>
</blockquote>
<P>Alternatively you could use a standalone version of PHP, compiled to be run
<p>Alternatively you could use a standalone version of PHP, compiled to be run
on the command line. The advantage with doing this is that your web server
logs aren't filled with constant requests to cron.php. The disadvantage is
that you need to have access to a command-line version of php.</P>
<blockquote>
that you need to have access to a command-line version of php.</p>
<blockquote>
<PRE>/opt/bin/php /web/moodle/admin/cron.php
@@ -205,42 +271,35 @@
</PRE>
</blockquote>
<h4>Automatically running the script every 5 minutes</h4>
<P>On Unix systems: Use <B>cron</B>. Edit your cron settings from the commandline
using &quot;crontab -e&quot; and add a line like:</P>
<BLOCKQUOTE>
<p>On Unix systems: Use <B>cron</B>. Edit your cron settings from the commandline
using &quot;crontab -e&quot; and add a line like:</p>
<blockquote>
<PRE>*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php</PRE>
</BLOCKQUOTE>
<P>On Windows systems: The simplest way is to use my package <A TITLE="Click to download this package (150k)" HREF="http://moodle.com/download/moodle-cron-for-windows.zip">moodle-cron-for-windows.zip</A> which makes all this very easy.</P>
<P>Other platforms: you will need to find another way to do this (please let
</blockquote>
<p>On Windows systems: The simplest way is to use my package <A TITLE="Click to download this package (150k)" HREF="http://moodle.com/download/moodle-cron-for-windows.zip">moodle-cron-for-windows.zip</A>
which makes this whole thing very easy.</p>
<p>Other platforms: you will need to find another way to do this (please let
me know so I can update this documentation).<br>
</P>
</BLOCKQUOTE>
<H3><A NAME="course"></A>Create a new course</H3>
<P>Now that Moodle is running properly, you can create a course. </P>
<P>Start on the admin page ( http://example.com/moodle/admin ) and select &quot;Create
a new course&quot;.</P>
<P>Fill out the form, paying special attention to the course format.</P>
<P>If you choose a &quot;<strong>weekly</strong>&quot; format, then course modules
will be arranged in sections called &quot;weeks&quot;. The weeks in your course
are defined by the start date and the number of weeks you choose on this form.
The idea is that the next time you run this course, you can just change the
dates and keep the essential course format.</P>
<P>The &quot;<strong>topics</strong>&quot; format is pretty much the same, except
it doesn't use &quot;weeks&quot;. Useful when you arrange a course into different-sized
chunks of time. The start date will not be used on the main course display.</P>
<P>The &quot;<strong>social</strong>&quot; format is for courses that don't have
a start or finish. It is basically arranged around one big forum and works a
nice replacement to standard mailing lists. Again the start date will not affect
the operation of the course - it will only affect the display of logs.</P>
<P>Press &quot;Update this course&quot;, and you will be taken to a new form where
you can assign teachers to the course. You can only add existing user accounts
from this form - if you want to create a new teacher account then either ask
the teacher to create one for themselves (see the login page), or create one
for them using the &quot;Add a new user&quot; on the Admin page.</P>
<P>Once done, your course is ready to customise, and is accessible via the &quot;Courses&quot;
link on the home page.</P>
<P>See the &quot;<A HREF="teacher.html">Teacher Manual</A>&quot; for more details
on course-building.</P>
</p>
</blockquote>
<H3><A NAME="course"></A>10. Create a new course</H3>
<blockquote>
<p>Now that Moodle is running properly, you can create a course. </p>
<p>Select &quot;Create a new course&quot; from the Admin page (or the admin
links on the home page).</p>
<p>Fill out the form, paying special attention to the course format. You don't
have to worry about the details too much at this stage, as everything can
be changed later by the teacher.</p>
<p>Press &quot;Save changes&quot;, and you will be taken to a new form where
you can assign teachers to the course. You can only add existing user accounts
from this form - if you want to create a new teacher account then either ask
the teacher to create one for themselves (see the login page), or create one
for them using the &quot;Add a new user&quot; on the Admin page.</p>
<p>Once done, the course is ready to customise, and is accessible via the &quot;Courses&quot;
link on the home page.</p>
<p>See the &quot;<A HREF="teacher.html">Teacher Manual</A>&quot; for more details
on course-building.</p>
</blockquote>
<P>&nbsp;</P>
<P ALIGN="CENTER"><FONT SIZE="1"><A HREF="index.html" TARGET="_top">Moodle Documentation</A></FONT></P>
<P ALIGN="CENTER"><FONT SIZE="1">Version: $Id$</FONT></P>
+5 -3
View File
@@ -12,10 +12,12 @@
redirect("$CFG->wwwroot/course/", "Message sent, thanks", 3);
die;
}
print_header("$CFG->sitename:Error", "$CFG->sitename: Error 404", "", "form.text");
print_simple_box("An unusual error occurred (tried to reach a page that doesn't exist).<P align=center>$REQUEST_URI", "center", "", "$THEME->cellheading");
$site = get_site();
print_header("$site->fullname:Error", "$site->fullname: Error 404", "", "form.text");
print_simple_box("An unusual error occurred (tried to reach a page that doesn't exist).<P align=center>$REDIRECT_URL", "center", "", "$THEME->cellheading");
?>
+12 -4
View File
@@ -7,11 +7,18 @@
$lifetime = 86400;
if (!$PATH_INFO) {
error("This script DEPENDS on $PATH_INFO being available. Read the README.");
if (isset($file)) { // workaround for situations where / syntax doesn't work
$PATH_INFO = $file;
}
if (!$PATH_INFO) {
error("This script DEPENDS on PATH_INFO being available. Read the README.");
}
if (! $args = get_slash_arguments()) {
error("No valid arguments supplied");
}
$args = get_slash_arguments();
$numargs = count($args);
$courseid = (integer)$args[0];
@@ -35,7 +42,8 @@
header("Expires: " . gmdate("D, d M Y H:i:s", time() + $lifetime) . " GMT");
header("Cache-control: max_age = $lifetime"); // a day
header("Pragma: ");
header("Content-Length: ".filesize($pathname));
header("Content-disposition: inline; filename=$filename");
header("Content-length: ".filesize($pathname));
header("Content-type: $mimetype");
readfile("$pathname");
} else {
+78 -67
View File
@@ -35,13 +35,29 @@
print_footer($course);
}
function html_header($formfield=""){
global $course;
function html_header($course, $wdir, $formfield=""){
$strfiles = get_string("files");
print_header("$course->shortname: $strfiles", "$course->fullname",
"<A HREF=\"../course/view.php?id=$course->id\">$course->shortname</A> -> $strfiles", $formfield);
if ($wdir == "/") {
print_header("$course->shortname: $strfiles", "$course->fullname",
"<A HREF=\"../course/view.php?id=$course->id\">$course->shortname</A>
-> $strfiles", $formfield);
} else {
$dirs = explode("/", $wdir);
$numdirs = count($dirs);
$link = "";
$navigation = "";
for ($i=1; $i<$numdirs; $i++) {
$navigation .= " -> ";
$link .= "/".urlencode($dirs[$i]);
$navigation .= "<A HREF=\"index.php?id=$course->id&wdir=$link\">".$dirs[$i]."</A>";
}
print_header("$course->shortname: $strfiles", "$course->fullname",
"<A HREF=\"../course/view.php?id=$course->id\">$course->shortname</A> ->
<A HREF=\"index.php?id=$course->id&wdir=/\">$strfiles</A> $navigation", $formfield);
}
echo "<table border=0 align=center cellspacing=3 cellpadding=3 width=640>";
echo "<tr>";
echo "<td colspan=\"2\">";
@@ -80,7 +96,7 @@
switch ($action) {
case "upload":
html_header();
html_header($course, $wdir);
if ($save) {
if (!is_uploaded_file($userfile['tmp_name']) and $userfile['size'] > 0) {
echo "<P>Error: That was not a valid file.";
@@ -99,10 +115,8 @@
displaydir($wdir);
} else {
if (! $filesize = ini_get("upload_max_filesize")) {
$filesize = "5M";
}
$upload_max_filesize = get_real_size($filesize);
$upload_max_filesize = get_max_upload_file_size();
$filesize = display_size($upload_max_filesize);
echo "<P>Upload a file (maximum size $filesize) into <B>$wdir</B>:";
echo "<TABLE><TR><TD COLSPAN=2>";
@@ -129,7 +143,7 @@
case "delete":
if ($confirm) {
html_header();
html_header($course, $wdir);
foreach ($USER->filelist as $file) {
$fullfile = $basedir.$file;
if (! fulldelete($fullfile)) {
@@ -141,7 +155,7 @@
html_footer();
} else {
html_header();
html_header($course, $wdir);
if (setfilelist($HTTP_POST_VARS)) {
echo "<P ALIGN=CENTER>You are about to delete:</P>";
print_simple_box_start("center");
@@ -159,7 +173,7 @@
break;
case "move":
html_header();
html_header($course, $wdir);
if ($count = setfilelist($HTTP_POST_VARS)) {
$USER->fileop = $action;
$USER->filesource = $wdir;
@@ -171,7 +185,7 @@
break;
case "paste":
html_header();
html_header($course, $wdir);
if ($USER->fileop == "move") {
foreach ($USER->filelist as $file) {
$shortfile = basename($file);
@@ -189,7 +203,7 @@
case "rename":
if ($name) {
html_header();
html_header($course, $wdir);
$name = clean_filename($name);
if (file_exists($basedir.$wdir."/".$name)) {
echo "Error: $name already exists!";
@@ -199,7 +213,7 @@
displaydir($wdir);
} else {
html_header("form.name");
html_header($course, $wdir, "form.name");
echo "<P>Rename <B>$file</B> to:";
echo "<TABLE><TR><TD>";
echo "<FORM ACTION=index.php METHOD=post NAME=form>";
@@ -224,7 +238,7 @@
case "mkdir":
if ($name) {
html_header();
html_header($course, $wdir);
$name = clean_filename($name);
if (file_exists($basedir.$wdir."/".$name)) {
echo "Error: $name already exists!";
@@ -234,7 +248,7 @@
displaydir($wdir);
} else {
html_header("form.name");
html_header($course, $wdir, "form.name");
echo "<P>Create folder in $wdir:";
echo "<TABLE><TR><TD>";
echo "<FORM ACTION=index.php METHOD=post NAME=form>";
@@ -257,7 +271,7 @@
break;
case "edit":
html_header();
html_header($course, $wdir);
if (isset($text)) {
$fileptr = fopen($basedir.$file,"w");
fputs($fileptr, stripslashes($text));
@@ -280,14 +294,14 @@
echo htmlspecialchars($contents);
echo "</TEXTAREA>";
echo "</TD></TR><TR><TD>";
echo " <INPUT TYPE=submit VALUE=\"Save changes\">";
echo " <INPUT TYPE=submit VALUE=\"".get_string("savechanges")."\">";
echo "</FORM>";
echo "</TD><TD>";
echo "<FORM ACTION=index.php METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
echo " <INPUT TYPE=submit VALUE=\"Cancel\">";
echo " <INPUT TYPE=submit VALUE=\"".get_string("cancel")."\">";
echo "</FORM>";
echo "</TD></TR></TABLE>";
}
@@ -296,7 +310,7 @@
case "zip":
if ($name) {
html_header();
html_header($course, $wdir);
$name = clean_filename($name);
$files = "";
foreach ($USER->filelist as $file) {
@@ -309,7 +323,7 @@
displaydir($wdir);
} else {
html_header("form.name");
html_header($course, $wdir, "form.name");
if (setfilelist($HTTP_POST_VARS)) {
echo "<P ALIGN=CENTER>You are about create a zip file containing:</P>";
print_simple_box_start("center");
@@ -342,7 +356,7 @@
break;
case "unzip":
html_header();
html_header($course, $wdir);
if ($file) {
echo "<P ALIGN=CENTER>Unzipping $file:</P>";
print_simple_box_start("center");
@@ -369,7 +383,7 @@
clearfilelist();
default:
html_header();
html_header($course, $wdir);
displaydir($wdir);
html_footer();
break;
@@ -460,21 +474,6 @@ function printfilelist($filelist) {
}
function display_size($file) {
$file_size = filesize($file);
if ($file_size >= 1073741824) {
$file_size = round($file_size / 1073741824 * 100) / 100 . "g";
} else if ($file_size >= 1048576) {
$file_size = round($file_size / 1048576 * 100) / 100 . "m";
} else if ($file_size >= 1024) {
$file_size = round($file_size / 1024 * 100) / 100 . "k";
} else {
$file_size = $file_size . "b";
}
return $file_size;
}
function print_cell($alignment="center", $text="&nbsp;") {
echo "<TD ALIGN=\"$alignment\" NOWRAP>";
echo "<FONT SIZE=\"-1\" FACE=\"Arial, Helvetica\">";
@@ -488,7 +487,7 @@ function displaydir ($wdir) {
global $basedir;
global $id;
global $USER;
global $USER, $CFG;
$fullpath = $basedir.$wdir;
@@ -506,30 +505,37 @@ function displaydir ($wdir) {
}
closedir($directory);
$strname = get_string("name");
$strsize = get_string("size");
$strmodified = get_string("modified");
$straction = get_string("action");
$strmakeafolder = get_string("makeafolder");
$struploadafile = get_string("uploadafile");
$strwithchosenfiles = get_string("withchosenfiles");
$strmovetoanotherfolder = get_string("movetoanotherfolder");
$strmovefilestohere = get_string("movefilestohere");
$strdeletecompletely = get_string("deletecompletely");
$strcreateziparchive = get_string("createziparchive");
$strrename = get_string("rename");
$stredit = get_string("edit");
$strunzip = get_string("unzip");
echo "<FORM ACTION=\"index.php\" METHOD=post NAME=dirform>";
echo "<HR WIDTH=640 ALIGN=CENTER NOSHADE SIZE=1>";
echo "<TABLE BORDER=0 cellspacing=2 cellpadding=2 width=640>";
echo "<TR><TD>&nbsp;</TD><TD COLSPAN=5><P><B>Current folder: $wdir</B></P>";
echo "<TR>";
echo "<TH WIDTH=5></TH>";
echo "<TH ALIGN=left>Name</TH>";
echo "<TH ALIGN=right>Size</TH>";
echo "<TH ALIGN=right>Modified</TH>";
echo "<TH ALIGN=right>Action</TH>";
echo "<TH ALIGN=left>$strname</TH>";
echo "<TH ALIGN=right>$strsize</TH>";
echo "<TH ALIGN=right>$strmodified</TH>";
echo "<TH ALIGN=right>$straction</TH>";
echo "</TR>\n";
if ($wdir == "/") {
$wdir = "";
} else {
$updir = dirname($wdir);
echo "<TR>";
print_cell("center", "");
print_cell("left", "<A HREF=\"index.php?id=$id&wdir=$updir\"><IMG SRC=\"pix/parent.gif\" HEIGHT=16 WIDTH=16 BORDER=0 ALT=\"Parent folder\"></A> <A HREF=\"index.php?id=$id&wdir=$updir\">Up to $updir</A>");
echo "</TR>\n";
}
$count = 0;
if ($dirlist) {
@@ -549,7 +555,7 @@ function displaydir ($wdir) {
print_cell("left", "<A HREF=\"index.php?id=$id&wdir=$fileurl\"><IMG SRC=\"pix/folder.gif\" HEIGHT=16 WIDTH=16 BORDER=0 ALT=\"Folder\"></A> <A HREF=\"index.php?id=$id&wdir=$fileurl\">".htmlspecialchars($dir)."</A>");
print_cell("right", "-");
print_cell("right", $filedate);
print_cell("right", "<A HREF=\"index.php?id=$id&wdir=$wdir&file=$filesafe&action=rename\">rename</A>");
print_cell("right", "<A HREF=\"index.php?id=$id&wdir=$wdir&file=$filesafe&action=rename\">$strrename</A>");
echo "</TR>";
}
@@ -573,25 +579,31 @@ function displaydir ($wdir) {
print_cell("center", "<INPUT TYPE=checkbox NAME=\"file$count\" VALUE=\"$fileurl\">");
echo "<TD ALIGN=left NOWRAP>";
link_to_popup_window ("/file.php/$id$fileurl", "display",
if ($CFG->slasharguments) {
$ffurl = "/file.php/$id$fileurl";
} else {
$ffurl = "/file.php?file=/$id$fileurl";
}
link_to_popup_window ($ffurl, "display",
"<IMG SRC=\"pix/$icon\" HEIGHT=16 WIDTH=16 BORDER=0 ALT=\"File\">",
480, 640);
echo "<FONT SIZE=\"-1\" FACE=\"Arial, Helvetica\">";
link_to_popup_window ("/file.php/$id$fileurl", "display",
link_to_popup_window ($ffurl, "display",
htmlspecialchars($file),
480, 640);
echo "</FONT></TD>";
print_cell("right", display_size($filename));
$file_size = filesize($filename);
print_cell("right", display_size($file_size));
print_cell("right", $filedate);
if ($icon == "text.gif" || $icon == "html.gif") {
$edittext = "<A HREF=\"index.php?id=$id&wdir=$wdir&file=$fileurl&action=edit\">edit</A>";
$edittext = "<A HREF=\"index.php?id=$id&wdir=$wdir&file=$fileurl&action=edit\">$stredit</A>";
} else if ($icon == "zip.gif") {
$edittext = "<A HREF=\"index.php?id=$id&wdir=$wdir&file=$fileurl&action=unzip\">unzip</A>";
$edittext = "<A HREF=\"index.php?id=$id&wdir=$wdir&file=$fileurl&action=unzip\">$strunzip</A>";
} else {
$edittext = "";
}
print_cell("right", "$edittext <A HREF=\"index.php?id=$id&wdir=$wdir&file=$filesafe&action=rename\">rename</A>");
print_cell("right", "$edittext <A HREF=\"index.php?id=$id&wdir=$wdir&file=$filesafe&action=rename\">$strrename</A>");
echo "</TR>";
}
@@ -608,13 +620,12 @@ function displaydir ($wdir) {
echo "<INPUT TYPE=hidden NAME=id VALUE=\"$id\">";
echo "<INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\"> ";
$options = array (
"move" => "Move to another folder",
"delete" => "Delete completely",
"zip" => "Create zip archive"
"move" => "$strmovetoanotherfolder",
"delete" => "$strdeletecompletely",
"zip" => "$strcreateziparchive"
);
if ($count) {
choose_from_menu ($options, "action", "", $nothing="With chosen files...", "javascript:document.dirform.submit()");
//echo "<INPUT TYPE=submit VALUE=Go>";
choose_from_menu ($options, "action", "", "$strwithchosenfiles...", "javascript:document.dirform.submit()");
}
echo "</FORM>";
@@ -624,7 +635,7 @@ function displaydir ($wdir) {
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=action VALUE=paste>";
echo " <INPUT TYPE=submit VALUE=\"Move files to here\">";
echo " <INPUT TYPE=submit VALUE=\"$strmovefilestohere\">";
echo "</FORM>";
}
echo "<TD ALIGN=right>";
@@ -632,7 +643,7 @@ function displaydir ($wdir) {
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=action VALUE=mkdir>";
echo " <INPUT TYPE=submit VALUE=\"Make a folder\">";
echo " <INPUT TYPE=submit VALUE=\"$strmakeafolder\">";
echo "</FORM>";
echo "</TD>";
echo "<TD ALIGN=right>";
@@ -640,7 +651,7 @@ function displaydir ($wdir) {
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=action VALUE=upload>";
echo " <INPUT TYPE=submit VALUE=\"Upload a file\">";
echo " <INPUT TYPE=submit VALUE=\"$struploadafile\">";
echo "</FORM>";
echo "</TD></TR>";
echo "</TABLE>";
+1
View File
@@ -18,6 +18,7 @@ function mimeinfo($element, $filename) {
"swf" => array ("type"=>"application/x-shockwave-flash", "icon"=>"image.gif"),
"pdf" => array ("type"=>"application/pdf", "icon"=>"pdf.gif"),
"doc" => array ("type"=>"application/msword", "icon"=>"word.gif"),
"ppt" => array ("type"=>"application/vnd.ms-powerpoint", "icon"=>"powerpoint.gif"),
"xls" => array ("type"=>"application/vnd.ms-excel", "icon"=>"excel.gif")
);
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

+97 -78
View File
@@ -7,112 +7,131 @@
include("mod/forum/lib.php");
if (! $site = get_site()) {
redirect("$CFG->wwwroot/admin/");
redirect("$CFG->wwwroot/admin/index.php");
}
if (isadmin()) {
if (moodle_needs_upgrading()) {
redirect("$CFG->wwwroot/admin/");
redirect("$CFG->wwwroot/admin/index.php");
}
$headerbutton = update_course_icon($site->id);
} else {
if (isset($USER->id)) {
$headerbutton = "<FONT SIZE=2><A HREF=\"$CFG->wwwroot/login/logout.php\">".get_string("logout")."</A></FONT>";
} else {
$headerbutton = "<FONT SIZE=2><A HREF=\"$CFG->wwwroot/login\">".get_string("login")."</A></FONT>";
$headerbutton = "<FONT SIZE=2><A HREF=\"$CFG->wwwroot/login/index.php\">".get_string("login")."</A></FONT>";
}
}
print_header("$site->fullname", "$site->fullname", "", "",
print_header("$site->fullname", "$site->fullname", "home", "",
"<META NAME=\"Description\" CONTENT=\"".stripslashes(strip_tags($site->summary))."\">",
true, $headerbutton);
$side = 180;
?>
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="5" CELLPADDING="5">
<TR>
<TD VALIGN="TOP" NOWRAP>
<?
<?
$sections = get_all_sections($site->id);
if ($site->newsitems > 0 or $sections[0]->sequence or isediting($site->id)) {
$sections = get_all_sections($site->id);
if ($site->newsitems > 0 or $sections[0]->sequence or isediting($site->id)) {
if ($sections[0]->sequence or isediting($site->id)) {
get_all_mods($site->id, $mods, $modnames, $modnamesplural, $modnamesused);
print_simple_box(get_string("mainmenu"), "CENTER", "100%", "$THEME->cellheading");
}
echo "<TD WIDTH=\"$side\" VALIGN=TOP NOWRAP>"; $firstcolumn=true;
if ($sections[0]->sequence or isediting($site->id)) {
get_all_mods($site->id, $mods, $modnames, $modnamesplural, $modnamesused);
print_simple_box(get_string("mainmenu"), "CENTER", $side, "$THEME->cellheading");
}
if ($sections[0]->sequence) {
print_section($site->id, $sections[0], $mods, $modnamesused, true);
}
if (isediting($site->id)) {
echo "<DIV ALIGN=right>";
popup_form("$CFG->wwwroot/course/mod.php?id=$site->id&section=0&add=",
$modnames, "section0", "", "Add...");
echo "</DIV>";
}
if ($site->newsitems > 0 ) {
print_simple_box(get_string("courses"), "CENTER", "100%", "$THEME->cellheading");
print_all_courses($cat=1, "minimal", 10);
}
echo "<IMG SRC=\"pix/spacer.gif\" WIDTH=200 HEIGHT=0><BR>";
if ($sections[0]->sequence) {
print_section($site->id, $sections[0], $mods, $modnamesused, true, $side);
}
if (isadmin()) {
print_admin_links($site->id);
}
?>
</TD>
<TD WIDTH="70%" VALIGN="TOP">
<? if ($site->newsitems == 0 ) {
print_simple_box(get_string("availablecourses"), "CENTER", "100%", "$THEME->cellheading");
echo "<IMG HEIGHT=8 SRC=\"pix/spacer.gif\" ALT=\"\"><BR>";
print_all_courses();
} else {
if (! $newsforum = forum_get_course_forum($site->id, "news")) {
error("Could not find or create a main news forum for the site");
}
if (isset($USER->id)) {
$SESSION->fromdiscussion = "$CFG->wwwroot";
save_session("SESSION");
if (forum_is_subscribed($USER->id, $newsforum->id)) {
$subtext = get_string("unsubscribe", "forum");
} else {
$subtext = get_string("subscribe", "forum");
}
$headertext = "<TABLE BORDER=0 WIDTH=100% CELLPADDING=0 CELLSPACING=0><TR>
<TD>".get_string("sitenews")."</TD>
<TD ALIGN=RIGHT><FONT SIZE=1>
<A HREF=\"mod/forum/subscribe.php?id=$newsforum->id\">$subtext</A>
</TD></TR></TABLE>";
} else {
$headertext = get_string("sitenews");
}
print_simple_box($headertext, "CENTER", "100%", $THEME->cellheading);
echo "<IMG HEIGHT=8 SRC=\"pix/spacer.gif\" ALT=\"\"><BR>";
forum_print_latest_discussions($newsforum->id, $site->newsitems);
}
?>
</TD>
<TD WIDTH="30%" VALIGN="TOP">
<?
if (isediting($site->id)) {
$site->summary .= "<BR><CENTER><A HREF=\"admin/site.php\"><IMG SRC=\"pix/i/edit.gif\" BORDER=0></A>";
echo "<DIV ALIGN=right>";
popup_form("$CFG->wwwroot/course/mod.php?id=$site->id&section=0&add=",
$modnames, "section0", "", get_string("add")."...");
echo "</DIV>";
}
print_simple_box($site->summary, "", "100%", $THEME->cellheading);
?>
</TD>
if ($site->newsitems > 0 ) {
$categories = get_all_categories();
if (count($categories) > 1) {
print_simple_box(get_string("categories"), "CENTER", $side, "$THEME->cellheading");
print_course_categories($categories, "none", $side);
} else {
print_simple_box(get_string("courses"), "CENTER", $side, "$THEME->cellheading");
$category = array_shift($categories);
print_all_courses($category->id, "minimal", 10);
}
}
print_spacer(1,$side);
}
if (isadmin()) {
if (!$firstcolumn) {
echo "<TD WIDTH=\"$side\" VALIGN=TOP NOWRAP>"; $firstcolumn=true;
}
print_admin_links($site->id, $side);
}
if ($firstcolumn) {
echo "</TD>";
}
echo "<TD WIDTH=70% VALIGN=TOP>";
if ($site->newsitems == 0 ) {
print_simple_box(get_string("availablecourses"), "CENTER", "100%", "$THEME->cellheading");
print_spacer(8,1);
$categories = get_all_categories();
if (count($categories) > 1) {
print_course_categories($categories, "index");
} else {
print_all_courses("all");
}
} else {
if (! $newsforum = forum_get_course_forum($site->id, "news")) {
error("Could not find or create a main news forum for the site");
}
if (isset($USER->id)) {
$SESSION->fromdiscussion = "$CFG->wwwroot";
save_session("SESSION");
if (forum_is_subscribed($USER->id, $newsforum->id)) {
$subtext = get_string("unsubscribe", "forum");
} else {
$subtext = get_string("subscribe", "forum");
}
$headertext = "<TABLE BORDER=0 WIDTH=100% CELLPADDING=0 CELLSPACING=0><TR>
<TD>".get_string("sitenews")."</TD>
<TD ALIGN=RIGHT><FONT SIZE=1>
<A HREF=\"mod/forum/subscribe.php?id=$newsforum->id\">$subtext</A>
</TD></TR></TABLE>";
} else {
$headertext = get_string("sitenews");
}
print_simple_box($headertext, "CENTER", "100%", $THEME->cellheading);
print_spacer(8,1);
forum_print_latest_discussions($newsforum->id, $site->newsitems);
}
echo "</TD>";
echo "<TD WIDTH=30% VALIGN=TOP>";
if (isediting($site->id)) {
$site->summary .= "<BR><CENTER><A HREF=\"admin/site.php\"><IMG SRC=\"pix/i/edit.gif\" BORDER=0></A>";
}
print_simple_box($site->summary, "", "100%", $THEME->cellheading);
print_spacer(1,$side);
echo "</TD>";
?>
</TR>
</TABLE>
<? print_footer("home") ?>
<? print_footer("home"); // Please do not modify this line ?>
+5 -2
View File
@@ -11,10 +11,13 @@ version will be used.
Note that each installed module should have a file here,
as well as the main file which is called "moodle.php".
Whole pages written in HTML are stored in the "pages" directory.
The "help" directory contains whole pages written in HTML,
and the "docs" directory contains other miscellaneous
documents.
If you are thinking of translating Moodle to another language,
please contact me so I can help you!
Cheers,
Martin
Martin martin@dougiamas.com
+25 -27
View File
@@ -1,31 +1,29 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Assignment";
$string[modulenameplural] = "Assignments";
#------------------------------------------------------------
<?PHP // $Id$
// assignment.php - created with Moodle 1.0.5 dev (2002092300)
$string[assignmentdetails] = "Assignment details";
$string[assignmentname] = "Assignment name";
$string[assignmenttype] = "Assignment type";
$string[description] = "Description";
$string[duedate] = "Due date";
$string[early] = "\$a early";
$string[failedupdatefeedback] = "Failed to update submission feedback for user \$a";
$string[feedbackupdated] = "Submissions feedback updated for \$a people";
$string[late] = "\$a late";
$string[maximumgrade] = "Maximum grade";
$string[maximumsize] = "Maximum size";
$string[notsubmittedyet] = "Not submitted yet";
$string[overwritewarning] = "Warning: uploading again will REPLACE your current submission";
$string[submissionfeedback] = "Submission feedback";
$string[submissions] = "Submissions";
$string[submitted] = "Submitted";
$string[typeuploadsingle] = "Upload a single file, worth between 0 - 100 marks";
$string[uploadedfiles] = "uploaded files";
$string[viewsubmissions] = "View \$a submitted assignments";
$string[yoursubmission] = "Your submission";
$string['assignmentdetails'] = "Assignment details";
$string['assignmentname'] = "Assignment name";
$string['assignmenttype'] = "Assignment type";
$string['description'] = "Description";
$string['duedate'] = "Due date";
$string['early'] = "\$a early";
$string['failedupdatefeedback'] = "Failed to update submission feedback for user \$a";
$string['feedbackupdated'] = "Submissions feedback updated for \$a people";
$string['late'] = "\$a late";
$string['maximumgrade'] = "Maximum grade";
$string['maximumsize'] = "Maximum size";
$string['modulename'] = "Assignment";
$string['modulenameplural'] = "Assignments";
$string['newsubmissions'] = "Assignments submitted";
$string['notsubmittedyet'] = "Not submitted yet";
$string['overwritewarning'] = "Warning: uploading again will REPLACE your current submission";
$string['submissionfeedback'] = "Submission feedback";
$string['submissions'] = "Submissions";
$string['submitted'] = "Submitted";
$string['typeuploadsingle'] = "Upload a single file, worth between 0 - 100 marks";
$string['uploadedfiles'] = "uploaded files";
$string['viewsubmissions'] = "View \$a submitted assignments";
$string['yoursubmission'] = "Your submission";
?>
+11 -12
View File
@@ -1,18 +1,17 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Choice";
$string[modulenameplural] = "Choices";
$string['modulename'] = "Choice";
$string['modulenameplural'] = "Choices";
#------------------------------------------------------------
$string[answered] = "Answered";
$string[choice1] = "First choice";
$string[choice2] = "Second choice";
$string[choicename] = "Choice name";
$string[choicetext] = "Choice text";
$string[notanswered] = "Not answered yet";
$string[responses] = "Responses";
$string[responsesto] = "Responses to \$a";
$string[savemychoice] = "Save my choice";
$string[viewallresponses] = "View \$a responses";
$string['answered'] = "Answered";
$string['choice'] = "Choice \$a";
$string['choicename'] = "Choice name";
$string['choicetext'] = "Choice text";
$string['notanswered'] = "Not answered yet";
$string['responses'] = "Responses";
$string['responsesto'] = "Responses to \$a";
$string['savemychoice'] = "Save my choice";
$string['viewallresponses'] = "View \$a responses";
?>
+18
View File
@@ -0,0 +1,18 @@
ABOUT THIS DIRECTORY
--------------------
DO NOT CHANGE, RENAME OR MOVE ANY OF THE FILES
IN THIS DIRECTORY unless you REALLY know what
you are doing.
Changing these files could mess up your course.
This directory contains files uploaded to your
course within particular modules (mostly by
students), such as assignment submissions and
forum attachments.
The names of the directories and files within
this directory are very specific and are
automatically maintained by Moodle.
+92 -73
View File
@@ -1,61 +1,76 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Forum";
$string[modulenameplural] = "Forums";
$string['modulename'] = "Forum";
$string['modulenameplural'] = "Forums";
#------------------------------------------------------------
$string[addanewdiscussion] = "Add a new discussion topic";
$string[allowchoice] = "Allow everyone to choose";
$string[allowdiscussions] = "Can a \$a start new discussions?";
$string[allowratings] = "Allow posts to be rated?";
$string[allowsdiscussions] = "This forum allows each person to start one discussion topic.";
$string[bynameondate] = "by \$a->name - \$a->date";
$string[canstudentsstart] = "Can a \$a start new discussions?";
$string[delete] = "Delete";
$string[discussion] = "Discussion";
$string[discussions] = "Discussions";
$string[discussionsstartedby] = "Discussions started by \$a";
$string[discussthistopic] = "Discuss this topic";
$string[eachuserforum] = "Each person posts one discussion";
$string[edit] = "Edit";
$string[everyonecanchoose] = "Everyone can choose to be subscribed";
$string[everyoneissubscribed] = "Everyone is subscribed to this forum";
$string[forcesubscribe] = "Force everyone to be subscribed";
$string[forcesubscribeq] = "Force everyone to be subscribed?";
$string[forum] = "Forum";
$string[forumintro] = "Forum introduction";
$string[forumname] = "Forum name";
$string[forums] = "Forums";
$string[forumtype] = "Forum type";
$string[generalforum] = "Standard forum for general use";
$string[generalforums] = "General forums";
$string[inforum] = "in \$a";
$string[intronews] = "General news and announcements";
$string[introsocial] = "An open forum for chatting about anything you want to";
$string[introteacher] = "A forum for teacher-only notes and discussion";
$string[learningforums] = "Learning forums";
$string[message] = "Message";
$string[modeflatoldestfirst] = "Display replies flat, with oldest first";
$string[modeflatnewestfirst] = "Display replies flat, with newest first";
$string[modenested] = "Display replies in nested form";
$string[modethreaded] = "Display replies in threaded form";
$string[more] = "more";
$string[namenews] = "News forum";
$string[namesocial] = "Social forum";
$string[nameteacher] = "Teacher forum";
$string[nodiscussions] = "There are no discussion topics yet in this forum";
$string[noposts] = "No posts";
$string[nosubscribers] = "There are no subscribers yet for this forum";
$string[nownotsubscribed] = "\$a->name will NOT receive copies of '\$a->forum' by email.";
$string[nowsubscribed] = "\$a->name will receive copies of '\$a->forum' by email.";
$string[numposts] = "\$a posts";
$string[olderdiscussions] = "Older discussions";
$string[parentofthispost] = "Parent of this post";
$string[postmailinfo] = "This is a copy of a message posted on the \$a website.
$string['addanewdiscussion'] = "Add a new discussion topic";
$string['allowchoice'] = "Allow everyone to choose";
$string['allowdiscussions'] = "Can a \$a start new discussions?";
$string['allowratings'] = "Allow posts to be rated?";
$string['allowsdiscussions'] = "This forum allows each person to start one discussion topic.";
$string['anyfile'] = "Any file";
$string['attachment'] = "Attachment";
$string['bynameondate'] = "by \$a->name - \$a->date";
$string['canstudentsstart'] = "Can a \$a start new discussions?";
$string['couldnotadd'] = "Could not add your post due to an unknown error";
$string['couldnotdeleteratings'] = "Sorry, that cannot be deleted as people have already rated it";
$string['couldnotdeletereplies'] = "Sorry, that cannot be deleted as people have already responded to it";
$string['couldnotupdate'] = "Could not update your post due to an unknown error";
$string['delete'] = "Delete";
$string['deleteddiscussion'] = "The discussion topic has been deleted";
$string['deletedpost'] = "The post has been deleted";
$string['deletesure'] = "Are you sure you want to delete this post?";
$string['discussion'] = "Discussion";
$string['discussions'] = "Discussions";
$string['discussionsstartedby'] = "Discussions started by \$a";
$string['discussthistopic'] = "Discuss this topic";
$string['eachuserforum'] = "Each person posts one discussion";
$string['edit'] = "Edit";
$string['editing'] = "Editing";
$string['emptymessage'] = "Something was wrong with your post. Perhaps you left it blank, or the attachment was too big. Your changes have NOT been saved.";
$string['everyonecanchoose'] = "Everyone can choose to be subscribed";
$string['everyoneissubscribed'] = "Everyone is subscribed to this forum";
$string['forcesubscribe'] = "Force everyone to be subscribed";
$string['forcesubscribeq'] = "Force everyone to be subscribed?";
$string['forum'] = "Forum";
$string['forumintro'] = "Forum introduction";
$string['forumname'] = "Forum name";
$string['forums'] = "Forums";
$string['forumtype'] = "Forum type";
$string['generalforum'] = "Standard forum for general use";
$string['generalforums'] = "General forums";
$string['inforum'] = "in \$a";
$string['intronews'] = "General news and announcements";
$string['introsocial'] = "An open forum for chatting about anything you want to";
$string['introteacher'] = "A forum for teacher-only notes and discussion";
$string['learningforums'] = "Learning forums";
$string['maxtimehaspassed'] = "Sorry, but the maximum time for editing this post (\$a) has passed!";
$string['message'] = "Message";
$string['modeflatoldestfirst'] = "Display replies flat, with oldest first";
$string['modeflatnewestfirst'] = "Display replies flat, with newest first";
$string['modenested'] = "Display replies in nested form";
$string['modethreaded'] = "Display replies in threaded form";
$string['more'] = "more";
$string['namenews'] = "News forum";
$string['namesocial'] = "Social forum";
$string['nameteacher'] = "Teacher forum";
$string['newforumposts'] = "New forum posts";
$string['nodiscussions'] = "There are no discussion topics yet in this forum";
$string['noguestpost'] = "Sorry, guests are not allowed to post";
$string['noposts'] = "No posts";
$string['nosubscribers'] = "There are no subscribers yet for this forum";
$string['nownotsubscribed'] = "\$a->name will NOT receive copies of '\$a->forum' by email.";
$string['nowsubscribed'] = "\$a->name will receive copies of '\$a->forum' by email.";
$string['numposts'] = "\$a posts";
$string['olderdiscussions'] = "Older discussions";
$string['parentofthispost'] = "Parent of this post";
$string['postadded'] = "Your post was successfully added.<P>You have \$a to edit it if you want to make any changes.";
$string['postmailinfo'] = "This is a copy of a message posted on the \$a website.
To add your reply via the website, click on this link:";
$string[postingtip] = "<B>Posting tips:</B>
$string['postingtip'] = "<B>Posting tips:</B>
When replying:
<UL>
<LI>read their post carefully and empathically
@@ -69,27 +84,31 @@ While writing:
<LI>think of questions you can ask
</UL>";
$string[postrating1] = "Shows mostly SEPARATE knowing";
$string[postrating2] = "Equally separate and connected";
$string[postrating3] = "Shows mostly CONNECTED knowing";
$string[processingpost] = "Processing post \$a";
$string[rate] = "Rate";
$string[ratings] = "Ratings";
$string[readtherest] = "Read the rest of this topic";
$string[repliesmany] = "\$a replies so far";
$string[repliesone] = "\$a reply so far";
$string[reply] = "Reply";
$string[search] = "Search";
$string[searchforums] = "Search forums";
$string[sendinratings] = "Send in my latest ratings";
$string[showsubscribers] = "Show subscribers";
$string[singleforum] = "A single simple discussion";
$string[subject] = "Subject";
$string[subscribe] = "Subscribe to this forum";
$string[subscribed] = "Subscribed";
$string[subscribers] = "Subscribers";
$string[subscribersto] = "Subscribers to '\$a'";
$string[unsubscribe] = "Unsubscribe from this forum";
$string[youratedthis] = "You rated this";
$string['postrating1'] = "Shows mostly SEPARATE knowing";
$string['postrating2'] = "Equally separate and connected";
$string['postrating3'] = "Shows mostly CONNECTED knowing";
$string['postupdated'] = "Your post was updated";
$string['processingpost'] = "Processing post \$a";
$string['rate'] = "Rate";
$string['ratings'] = "Ratings";
$string['readtherest'] = "Read the rest of this topic";
$string['re'] = "Re:"; // Put in front of subjects that are replies to another post
$string['repliesmany'] = "\$a replies so far";
$string['repliesone'] = "\$a reply so far";
$string['reply'] = "Reply";
$string['search'] = "Search";
$string['searchforums'] = "Search forums";
$string['sendinratings'] = "Send in my latest ratings";
$string['showsubscribers'] = "Show subscribers";
$string['singleforum'] = "A single simple discussion";
$string['subject'] = "Subject";
$string['subscribe'] = "Subscribe to this forum";
$string['subscribed'] = "Subscribed";
$string['subscribers'] = "Subscribers";
$string['subscribersto'] = "Subscribers to '\$a'";
$string['unsubscribe'] = "Unsubscribe from this forum";
$string['youratedthis'] = "You rated this";
$string['yournewtopic'] = "Your new discussion topic";
$string['yourreply'] = "Your reply";
?>
+7
View File
@@ -0,0 +1,7 @@
<P ALIGN=CENTER><B>Choice options</B></P>
<P>Here is where you specify the options that participants
have to choose from.
<P>You can fill in any number of these: it's OK to leave some blank
if you don't need the full 6 options.
+5 -7
View File
@@ -5,13 +5,11 @@
<P>If you leave this blank, then anyone who has created
a Moodle username on this site will be able to enrol
in your course.
in your course simply by going in to it.
<P>If you put something here, then students who are trying
to get in for the FIRST TIME ONLY will be asked to supply
this word or phrase. (If you have also turned on
guest access then guests will be challenged for the
key EVERY TIME they log in).
this word or phrase.
<P>The idea is that you will supply the key to authorised
people using another means like private email, snail mail,
@@ -19,7 +17,7 @@
<P>If this password "gets out" and you have unwanted people
enrolling, you can unenrol them (see their user profile page)
and change this key. Any legitimate students who have already enrolled will
not be affected, but the unwanted people won't be able
to get back in.
and change this key. Any legitimate students who have already
enrolled will not be affected, but the unwanted people won't be
able to get back in.
+21
View File
@@ -0,0 +1,21 @@
<P ALIGN=CENTER><B>Attachments for posts</B></P>
<P>You can optionally attach ONE file from your own computer
to any post in the forums. This file is uploaded to the
server and stored with your post.
<P>This is useful when you want to share a picture, for example,
or a Word document.
<P>This file can be of any type, however it is highly recommended
that the file is named using standard 3-letter internet
suffixes such as .doc for a Word document, .jpg or .png
for an image, and so on. This will make it easier for others
to download and view your attachment in their browsers.
<P>If you re-edit a posting and attach a new file, then any
previous attached files for that post will be replaced.
<P>If you re-edit a posting with an attachment and leave
this space blank, then the original attachment will be
retained.
+21 -18
View File
@@ -1,18 +1,21 @@
<P ALIGN=CENTER><B>Guest Access</B></P>
<P>You have the choice of allowing "guests" into your course
<P>People can log in as guests using the "Login as a guest" button
on the login screen.
<P>Guests have "read-only" access - meaning they can't leave
any posts or otherwise mess up the course for real students.
<P>This can be handy when you want to let a colleague in to
look around at your work, or to let students see a course before
they have decided to enrol.
<P>If you also set an enrolment key (usually a good idea),
then the guest user will be challenged to provide the
enrolment key EVERY TIME they log in to the course.
<P ALIGN=CENTER><B>Guest Access</B></P>
<P>You have the choice of allowing "guests" into your course.
<P>People can log in as guests using the "Login as a guest" button
on the login screen.
<P>Guests ALWAYS have "read-only" access - meaning they can't leave
any posts or otherwise mess up the course for real students.
<P>This can be handy when you want to let a colleague in to
look around at your work, or to let students see a course before
they have decided to enrol.
<P>Note that you have a choice between two types of guest access:
with the enrolment key or without. If you choose to allow
guests who have the key, then the guest will need to provide
the current enrolment key EVERY TIME they log in (unlike
students who only need to do it once). This lets you restrict
your guests. If you choose to allow guests without a key, then
anyone can get straight into your course.
+13
View File
@@ -0,0 +1,13 @@
<P ALIGN=CENTER><B>Help on writing html</B></P>
<P>When writing HTML in Moodle, you are free to use any HTML tags you like
to produce the effect you want.
<P>Your code will normally be printed on the page within a table cell,
so:
<UL>
<LI>there is no need to use any &lt;HEAD> or &lt;BODY> tags
<LI>be careful about unmatched &lt;/TABLE> tags that may mess up the display.
</UL>
+12
View File
@@ -0,0 +1,12 @@
<P ALIGN=CENTER><B>Language Editing</B></P>
<P>To edit languages on this page the files need to be writable
by the web server process.
<P>Within some of the strings you will notice <B>$a</B> and <B>$a->something</B>.
<P>These represent variables that will be replaced by names or other words from
within Moodle.
<P>When there is only one variable, the $a form is used. When there are two or
more variables, then each one has a name.
+1
View File
@@ -13,5 +13,6 @@
</OL>
<P>To upload the image, click the "Browse" button on this editing page, and select the image from your hard disk.
<P>NOTE: Make sure that the file is not larger than the maximum size listed, or it will not be uploaded.
<P>Then click "Update my Profile" at the bottom - the image file will be cropped to a square and resized down to 100x100 pixels.
<P>When you are taken back to your profile page, the image might not appear to have changed. If this is so, just use the "Reload" button in your browser.
+22
View File
@@ -0,0 +1,22 @@
<P ALIGN=CENTER><B>Teachers</B></P>
<P>This page shows the list of people who are assigned to be
"teachers" in this course (by the system administrator).
<P>You can use this form to assign a role (title) to each person
such as "Professor", "Tutor", "Assistant" and so on. These
will appear on the site's course listing and also on the
list of participants for your course. If you leave the
role empty then the default word for teacher will be used
(the one you set in the Course Settings page).
<P>You can also order this list (to put the main teacher at the
top, for example). Simply select numbers from the menus
in the "Order" column. After pressing "Save changes" you will
see the new order.
<P><B>NOTE:</B> A special case occurs if you use select "Hide"
for a teacher. In this case, the teacher will
NOT BE SHOWN on the course listings or the list of
participants. They will be "hidden" from students
(unless they post messages to the forums etc)
+21 -20
View File
@@ -1,28 +1,29 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Journal";
$string[modulenameplural] = "Journals";
$string['modulename'] = "Journal";
$string['modulenameplural'] = "Journals";
#------------------------------------------------------------
$string[alwaysopen] = "Always open";
$string[blankentry] = "Blank entry";
$string[daysavailable] = "Days available";
$string[editingends] = "Editing period ends";
$string[editingended] = "Editing period has ended";
$string[journalname] = "Journal name";
$string[journalquestion] = "Journal question";
$string[journalrating1] = "Not satisfactory";
$string[journalrating2] = "Satisfactory";
$string[journalrating3] = "Outstanding";
$string[noentry] = "No entry";
$string[notopenuntil] = "This journal won't be open until";
$string[notstarted] = "You have not started this journal yet";
$string[noratinggiven] = "No rating given";
$string[overallrating] = "Overall rating";
$string[rate] = "Rate";
$string[startoredit] = "Start or edit my journal entry";
$string[viewallentries] = "View all journal entries";
$string['alwaysopen'] = "Always open";
$string['blankentry'] = "Blank entry";
$string['daysavailable'] = "Days available";
$string['editingends'] = "Editing period ends";
$string['editingended'] = "Editing period has ended";
$string['journalname'] = "Journal name";
$string['journalquestion'] = "Journal question";
$string['journalrating1'] = "Not satisfactory";
$string['journalrating2'] = "Satisfactory";
$string['journalrating3'] = "Outstanding";
$string['newjournalentries'] = "New journal entries";
$string['noentry'] = "No entry";
$string['notopenuntil'] = "This journal won't be open until";
$string['notstarted'] = "You have not started this journal yet";
$string['noratinggiven'] = "No rating given";
$string['overallrating'] = "Overall rating";
$string['rate'] = "Rate";
$string['startoredit'] = "Start or edit my journal entry";
$string['viewallentries'] = "View \$a journal entries";
?>
+381 -291
View File
@@ -1,87 +1,118 @@
<?PHP // $Id$
$string[activity] = "Activity";
$string[activities] = "Activities";
$string[activityreport] = "Activity report";
$string[add] = "Add";
$string[added] = "Added \$a";
$string[addinganew] = "Adding a new \$a";
$string[addinganewto] = "Adding a new \$a->what to \$a->to";
$string[addnewcourse] = "Add a new course";
$string[addnewuser] = "Add a new user";
$string[address] = "Address";
$string[admin] = "Admin";
$string[administration] = "Administration";
$string[again] = "again";
$string[alldays] = "All days";
$string[allfieldsrequired] = "All fields are required";
$string[alllogs] = "All logs";
$string[allowguests] = "This course allows guest users to enter";
$string[allparticipants] = "All participants";
$string[alphanumerical] = "Can only contain alphabetical letters or numbers";
$string[alreadyconfirmed] = "Registration has already been confirmed";
$string[answer] = "Answer";
$string[assignteachers] = "Assign teachers";
$string[availablecourses] = "Available Courses";
$string[cancel] = "Cancel";
$string[category] = "Category";
$string[changepassword] = "Change password";
$string[changedpassword] = "Changed password";
$string[changessaved] = "Changes saved";
$string[choose] = "Choose";
$string[choosecourse] = "Choose a course";
$string[chooselivelogs] = "Or watch current activity";
$string[chooselogs] = "Choose which logs you want to see";
$string[choosetheme] = "Choose theme";
$string[chooseuser] = "Choose a user";
$string[city] = "City/town";
$string[confirmed] = "Your registration has been confirmed";
$string[courseupdates] = "Course updates";
$string[complete] = "Complete";
$string[copyrightnotice] = "Copyright notice";
$string["continue"] = "Continue";
$string[country] = "Country";
$string[course] = "Course";
$string[courseformats] = "Course formats";
$string[courses] = "Courses";
$string[createaccount] = "Create my new account";
$string[createuserandpass] = "Create a new username and password to log in with";
$string[currentlocaltime] = "your current local time";
$string[databasechecking] = "Upgrading Moodle database from version \$a->oldversion to \$a->newversion...";
$string[databasesetup] = "Setting up database";
$string[databasesuccess] = "Database was successfully upgraded";
$string[databaseupgrades] = "Upgrading database";
$string[defaultcoursefullname] = "Course Fullname 101";
$string[defaultcourseshortname] = "CF101";
$string[defaultcoursestudent] = "Student";
$string[defaultcoursesummary] = "Write a concise and interesting paragraph here that explains what this course is about";
$string[defaultcourseteacher] = "Facilitator";
$string[delete] = "Delete";
$string[deletecheck] = "Delete \$a ?";
$string[deletecheckfull] = "Are you absolutely sure you want to completely delete \$a ?";
$string[deletecoursecheck] = "Are you absolutely sure you want to completely delete this course and all the data it contains?";
$string[deletecourse] = "Delete a course";
$string[deleted] = "Deleted";
$string[deletedactivity] = "Deleted \$a";
$string[deletedcourse] = "\$a has been completely deleted";
$string[deletingcourse] = "Deleting \$a";
$string[description] = "Description";
$string[doyouagree] = "Have you read these conditions and understood them?";
$string[edit] = "Edit \$a";
$string[editcoursesettings] = "Edit course settings";
$string[editinga] = "Editing a \$a";
$string[editmyprofile] = "Edit profile";
$string[editsummary] = "Edit summary";
$string[editthisactivity] = "Edit this activity";
$string[edituser] = "Edit user accounts";
$string[email] = "Email address";
$string[emailformat] = "Email format";
$string[emailconfirm] = "Confirm your account";
$string[emailconfirmsent] = "
$string['thislanguage'] = "English"; // Name of this language in the native language eg Français
$string['action'] = "Action";
$string['activity'] = "Activity";
$string['activities'] = "Activities";
$string['activityreport'] = "Activity report";
$string['add'] = "Add";
$string['added'] = "Added \$a";
$string['addinganew'] = "Adding a new \$a";
$string['addinganewto'] = "Adding a new \$a->what to \$a->to";
$string['addnewcourse'] = "Add a new course";
$string['addnewuser'] = "Add a new user";
$string['address'] = "Address";
$string['addteacher'] = "Add teacher";
$string['admin'] = "Admin";
$string['administration'] = "Administration";
$string['again'] = "again";
$string['all'] = "All";
$string['alldays'] = "All days";
$string['allfieldsrequired'] = "All fields are required";
$string['alllogs'] = "All logs";
$string['allowguests'] = "This course allows guest users to enter";
$string['allparticipants'] = "All participants";
$string['alphanumerical'] = "Can only contain alphabetical letters or numbers";
$string['alreadyconfirmed'] = "Registration has already been confirmed";
$string['answer'] = "Answer";
$string['assignteachers'] = "Assign teachers";
$string['availablecourses'] = "Available Courses";
$string['cancel'] = "Cancel";
$string['categories'] = "Course categories";
$string['category'] = "Category";
$string['categoryadded'] = "The category '\$a' was added";
$string['categorydeleted'] = "The category '\$a' was deleted";
$string['changepassword'] = "Change password";
$string['changedpassword'] = "Changed password";
$string['changessaved'] = "Changes saved";
$string['checklanguage'] = "Check language";
$string['choose'] = "Choose";
$string['choosecourse'] = "Choose a course";
$string['chooselivelogs'] = "Or watch current activity";
$string['chooselogs'] = "Choose which logs you want to see";
$string['choosetheme'] = "Choose theme";
$string['chooseuser'] = "Choose a user";
$string['city'] = "City/town";
$string['comparelanguage'] = "Compare and edit current language";
$string['configauth'] = "Choose the authentication module you want to use. The default is 'email' and has the best security. The method 'none' has no checking whatsoever - be careful using it unless you really know what you are doing.";
$string['configgdversion'] = "Indicate the version of GD that is installed. The version shown by default is the one that has been auto-detected. Don't change this unless you really know what you're doing.";
$string['configerrorlevel'] = "Choose the amount of PHP warnings that you want to be displayed. Normal is usually the best choice.";
$string['configintro'] = "On this page you can specify a number of configuration variables that help make Moodle work properly on your server. Don't worry too much about it - the defaults will usually work fine and you can always come back to this page later and change these settings.";
$string['configlang'] = "Choose a default language for the whole site. Users can override this setting later.";
$string['configlocale'] = "Choose a sitewide locale - this will affect the display of dates. You need to have this locale data installed on your operating system. If you don't know what to choose leave it blank.";
$string['configlongtimenosee'] = "If students haven't logged in for a very long time, then they are automatically unsubscribed from courses. This parameter specifies that time limit.";
$string['configmaxeditingtime'] = "This specifies the amount of time people have to re-edit forum postings, journal feedback etc. Usually 30 minutes is a good value.";
$string['configproxyhost'] = "If this <B>server</B> needs to use a proxy computer (eg a firewall) to access the Internet, then provide the proxy hostname and port here. Otherwise leave it blank.";
$string['configslasharguments'] = "Files (images, uploads etc) are provided via a script using 'slash arguments' (the second option here). This method allows files to be more easily cached in web browsers, proxy servers etc. Unfortunately, some PHP servers don't allow this method, so if you have trouble viewing uploaded files or images (eg user pictures), set this variable to the first option";
$string['configsmtphosts'] = "Give the full name of one or more local SMTP servers that Moodle should use to send mail (eg 'mail.a.com' or 'mail.a.com;mail.b.com'). If you leave it blank, Moodle will use the PHP default method of sending mail.";
$string['configunzip'] = "Indicate the location of your unzip program (Unix only). This is needed to unpack zip archives on the server.";
$string['configvariables'] = "Configure variables";
$string['configzip'] = "Indicate the location of your zip program (Unix only). This is needed to create zip archives on the server.";
$string['confirmed'] = "Your registration has been confirmed";
$string['courseupdates'] = "Course updates";
$string['cookiesenabled'] = "Cookies must be enabled in your browser";
$string['complete'] = "Complete";
$string['copyrightnotice'] = "Copyright notice";
$string['continue'] = "Continue";
$string['country'] = "Country";
$string['course'] = "Course";
$string['courseformats'] = "Course formats";
$string['courses'] = "Courses";
$string['createaccount'] = "Create my new account";
$string['createuserandpass'] = "Create a new username and password to log in with";
$string['createziparchive'] = "Create zip archive";
$string['currentlanguage'] = "Current language";
$string['currentlocaltime'] = "your current local time";
$string['databasechecking'] = "Upgrading Moodle database from version \$a->oldversion to \$a->newversion...";
$string['databasesetup'] = "Setting up database";
$string['databasesuccess'] = "Database was successfully upgraded";
$string['databaseupgrades'] = "Upgrading database";
$string['defaultcoursefullname'] = "Course Fullname 101";
$string['defaultcourseshortname'] = "CF101";
$string['defaultcoursestudent'] = "Student";
$string['defaultcoursestudents'] = "Students";
$string['defaultcoursesummary'] = "Write a concise and interesting paragraph here that explains what this course is about";
$string['defaultcourseteacher'] = "Teacher";
$string['defaultcourseteachers'] = "Teachers";
$string['delete'] = "Delete";
$string['deletecheck'] = "Delete \$a ?";
$string['deletecheckfull'] = "Are you absolutely sure you want to completely delete \$a ?";
$string['deletecompletely'] = "Delete completely";
$string['deletecoursecheck'] = "Are you absolutely sure you want to completely delete this course and all the data it contains?";
$string['deletecourse'] = "Delete a course";
$string['deleted'] = "Deleted";
$string['deletedactivity'] = "Deleted \$a";
$string['deletedcourse'] = "\$a has been completely deleted";
$string['deletednot'] = "Could not delete \$a !";
$string['deletingcourse'] = "Deleting \$a";
$string['description'] = "Description";
$string['doyouagree'] = "Have you read these conditions and understood them?";
$string['edit'] = "Edit \$a";
$string['editcoursesettings'] = "Edit course settings";
$string['editinga'] = "Editing a \$a";
$string['editmyprofile'] = "Edit profile";
$string['editsummary'] = "Edit summary";
$string['editthisactivity'] = "Edit this activity";
$string['edituser'] = "Edit user accounts";
$string['email'] = "Email address";
$string['emailformat'] = "Email format";
$string['emailconfirm'] = "Confirm your account";
$string['emailconfirmsent'] = "
<P>An email should have been sent to your address at <B>\$a</B>
<P>It contains easy instructions to complete your registration.
<P>If you continue to have difficulty, contact the site administrator.";
$string[emailconfirmation] = "Hi \$a->firstname,
$string['emailconfirmation'] = "Hi \$a->firstname,
A new account has been requested at '\$a->sitename'
using your email address.
@@ -99,34 +130,45 @@ line at the top of your web browser window.
Cheers from the '\$a->sitename' administrator,
\$a->admin";
$string[emailexists] = "This email address is already registered.";
$string[emailmustbereal] = "Note: your email address must be a real one";
$string[enrolmentkey] = "Enrolment key";
$string[enrolmentkeyfrom] = "This course requires an 'enrolment key' - a one-time<BR>
$string['emaildisplay'] = "Email display";
$string['emaildisplayno'] = "Hide my real email address from everyone";
$string['emaildisplayyes'] = "Allow everyone to see my email address";
$string['emaildisplaycourse'] = "Allow only other course members to see my email address";
$string['emailexists'] = "This email address is already registered.";
$string['emailmustbereal'] = "Note: your email address must be a real one";
$string['enrolmentkey'] = "Enrolment key";
$string['enrolmentkeyfrom'] = "This course requires an 'enrolment key' - a one-time<BR>
password that you should have got from \$a";
$string[enrolmentkeyhint] = "That enrolment key was incorrect, please try again<BR>
$string['enrolmentkeyhint'] = "That enrolment key was incorrect, please try again<BR>
(Here's a hint - it starts with '\$a'";
$string[entercourse] = "Click to enter this course";
$string[enteremailaddress] = "Enter in your email address to reset your
$string['entercourse'] = "Click to enter this course";
$string['enteremailaddress'] = "Enter in your email address to reset your
password and have the new password sent to you via email.";
$string[error] = "Error";
$string[feedback] = "Feedback";
$string[files] = "Files";
$string[filloutallfields] = "Please fill out all fields in this form";
$string[firstname] = "First name";
$string[firsttime] = "Is this your first time here?";
$string[forgotten] = "Forgotten your username or password?";
$string[format] = "Format";
$string[formatsocial] = "Social format";
$string[formattopics] = "Topics format";
$string[formatweeks] = "Weekly format";
$string[frontpagedescription] = "Front page description";
$string[frontpageformat] = "Front page format";
$string[fulllistofcourses] = "Full list of courses";
$string[fullprofile] = "Full profile";
$string[fullname] = "Full name";
$string[fullsitename] = "Full site name";
$string[gpl] = "Copyright (C) 2001-2002 Martin Dougiamas (http://dougiamas.com)
$string['existingteachers'] = "Existing teachers";
$string['error'] = "Error";
$string['feedback'] = "Feedback";
$string['filemissing'] = "\$a is missing";
$string['files'] = "Files";
$string['filloutallfields'] = "Please fill out all fields in this form";
$string['firstname'] = "First name";
$string['firsttime'] = "Is this your first time here?";
$string['followingoptional'] = "The following items are optional";
$string['followingrequired'] = "The following items are required";
$string['forgotten'] = "Forgotten your username or password?";
$string['format'] = "Format";
$string['formatsocial'] = "Social format";
$string['formattopics'] = "Topics format";
$string['formatweeks'] = "Weekly format";
$string['frontpagedescription'] = "Front page description";
$string['frontpageformat'] = "Front page format";
$string['fulllistofcourses'] = "All courses";
$string['fullprofile'] = "Full profile";
$string['fullname'] = "Full name";
$string['fullsitename'] = "Full site name";
$string['gd1'] = "GD 1.x is installed";
$string['gd2'] = "GD 2.x is installed";
$string['gdnot'] = "GD is not installed";
$string['gpl'] = "Copyright (C) 2001-2002 Martin Dougiamas (http://dougiamas.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -139,38 +181,45 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details:
http://www.gnu.org/copyleft/gpl.html";
$string[grade] = "Grade";
$string[guestsno] = "No, do not allow guests in";
$string[guestsyes] = "Yes, allow 'guest' student in";
$string[help] = "Help";
$string[helppicture] = "How to upload a picture";
$string[helptext] = "How to write text";
$string[helpquestions] = "How to ask questions";
$string[home] = "Home";
$string[htmlformat] = "Pretty HTML format";
$string[icqnumber] = "ICQ number";
$string[idnumber] = "ID number";
$string[leavetokeep] = "Leave blank to keep current password";
$string[invalidlogin] = "Invalid login, please try again";
$string[invalidemail] = "Invalid email address";
$string[lastaccess] = "Last access";
$string[lastedited] = "Last edited";
$string[lastmodified] = "Last modified";
$string[lastname] = "Last name";
$string[latestnews] = "Latest news";
$string[listofallpeople] = "List of all people";
$string[license] = "GPL License";
$string[livelogs] = "Live logs from the past hour";
$string[location] = "Location";
$string[loggedinas] = "You are logged in as \$a.";
$string[loggedinnot] = "You are not logged in.";
$string[login] = "Login";
$string[loginas] = "Login as";
$string[loginguest] = "Login as a guest";
$string[loginsite] = "Login to the site";
$string[loginto] = "Login to \$a";
$string[loginusing] = "Login using your username and password";
$string[loginsteps] = "Hi! For full access to courses you'll need to take
$string['grade'] = "Grade";
$string['guestskey'] = "Allow guests who have the key";
$string['guestsno'] = "Do not allow guests in";
$string['guestsnotallowed'] = "Sorry, '\$a' does not allow guests to enter.";
$string['guestsyes'] = "Allow guests without the key";
$string['guestuser'] = "Guest User";
$string['guestuserinfo'] = "This user is a special user that allows read-only access to some courses.";
$string['help'] = "Help";
$string['helphtml'] = "How to write html";
$string['helppicture'] = "How to upload a picture";
$string['helptext'] = "How to write text";
$string['helpquestions'] = "How to ask questions";
$string['hide'] = "Hide";
$string['home'] = "Home";
$string['htmlformat'] = "Pretty HTML format";
$string['icqnumber'] = "ICQ number";
$string['idnumber'] = "ID number";
$string['leavetokeep'] = "Leave blank to keep current password";
$string['invalidlogin'] = "Invalid login, please try again";
$string['invalidemail'] = "Invalid email address";
$string['languagegood'] = "This language pack is up-to-date! :-)";
$string['lastaccess'] = "Last access";
$string['lastedited'] = "Last edited";
$string['lastmodified'] = "Last modified";
$string['lastname'] = "Last name";
$string['latestnews'] = "Latest news";
$string['listofallpeople'] = "List of all people";
$string['license'] = "GPL License";
$string['livelogs'] = "Live logs from the past hour";
$string['location'] = "Location";
$string['loggedinas'] = "You are logged in as \$a.";
$string['loggedinnot'] = "You are not logged in.";
$string['login'] = "Login";
$string['loginas'] = "Login as";
$string['loginguest'] = "Login as a guest";
$string['loginsite'] = "Login to the site";
$string['loginto'] = "Login to \$a";
$string['loginusing'] = "Login here using your username and password";
$string['loginsteps'] = "Hi! For full access to courses you'll need to take
a minute to create a new account for yourself on this web site.
Each of the individual courses may also have a one-time
&quot;enrolment key&quot;, which you won't need until later. Here are
@@ -188,44 +237,57 @@ $string[loginsteps] = "Hi! For full access to courses you'll need to take
to enter your personal username and password (in the form on this page)
to log in and access any course you have enrolled in.
</OL>";
$string[logout] = "Logout";
$string[logs] = "Logs";
$string[mainmenu] = "Main menu";
$string[markthistopic] = "Mark this topic as the current topic";
$string[maximumchars] = "Maximum of \$a characters";
$string[maximumgrade] = "Maximum grade";
$string[missingcategory] = "You need to choose a category";
$string[missingcity] = "Missing city/town";
$string[missingcountry] = "Missing country";
$string[missingdescription] = "Missing description";
$string[missingemail] = "Missing email address";
$string[missingfirstname] = "Missing first name";
$string[missingfullname] = "Missing full name";
$string[missinglastname] = "Missing last name";
$string[missingshortname] = "Missing short name";
$string[missingnewpassword] = "Missing new password";
$string[missingpassword] = "Missing password";
$string[missingshortsitename] = "Missing short site name";
$string[missingsitedescription] = "Missing site description";
$string[missingsitename] = "Missing site name";
$string[missingstudent] = "Must choose something";
$string[missingsummary] = "Missing summary";
$string[missingteacher] = "Must choose something";
$string[missingusername] = "Missing username";
$string[modulesetup] = "Setting up module tables";
$string[modulesuccess] = "\$a tables have been set up correctly";
$string[mostrecently] = "most recently";
$string[movedown] = "Move down";
$string[moveup] = "Move up";
$string[mustconfirm] = "You need to confirm your login";
$string[name] = "Name";
$string[namesocial] = "section";
$string[nametopics] = "topic";
$string[nameweeks] = "week";
$string[newaccount] = "New account";
$string[newforumposts] = "New forum posts";
$string[newpassword] = "New password";
$string[newpasswordtext] = "Hi \$a->firstname,
$string['loginstepsnone'] = "Hi!<P>For full access to courses you'll need to create
yourself an account.<P>All you need to do is make up a username and password and use it in
the form on this page!<P>If someone else has already chosen your username
then you'll have to try again using a different username.";
$string['logout'] = "Logout";
$string['logs'] = "Logs";
$string['makeafolder'] = "Make a folder";
$string['makeeditable'] = "If you make '\$a' editable by the web server process (eg apache) then you could edit this file directly from this page";
$string['mainmenu'] = "Main menu";
$string['managedatabase'] = "Manage database";
$string['markthistopic'] = "Mark this topic as the current topic";
$string['maximumchars'] = "Maximum of \$a characters";
$string['maximumgrade'] = "Maximum grade";
$string['maxsize'] = "Max size: \$a";
$string['miscellaneous'] = "Miscellaneous"; // Default course category
$string['missingcategory'] = "You need to choose a category";
$string['missingcity'] = "Missing city/town";
$string['missingcountry'] = "Missing country";
$string['missingdescription'] = "Missing description";
$string['missingemail'] = "Missing email address";
$string['missingfirstname'] = "Missing first name";
$string['missingfullname'] = "Missing full name";
$string['missinglastname'] = "Missing last name";
$string['missingshortname'] = "Missing short name";
$string['missingnewpassword'] = "Missing new password";
$string['missingpassword'] = "Missing password";
$string['missingshortsitename'] = "Missing short site name";
$string['missingsitedescription'] = "Missing site description";
$string['missingsitename'] = "Missing site name";
$string['missingstrings'] = "Check for missing strings";
$string['missingstudent'] = "Must choose something";
$string['missingsummary'] = "Missing summary";
$string['missingteacher'] = "Must choose something";
$string['missingusername'] = "Missing username";
$string['modified'] = "Modified";
$string['modulesetup'] = "Setting up module tables";
$string['modulesuccess'] = "\$a tables have been set up correctly";
$string['mostrecently'] = "most recently";
$string['movedown'] = "Move down";
$string['moveup'] = "Move up";
$string['movetoanotherfolder'] = "Move to another folder";
$string['movefilestohere'] = "Move files to here";
$string['mustconfirm'] = "You need to confirm your login";
$string['mycourses'] = "My courses";
$string['name'] = "Name";
$string['namesocial'] = "section";
$string['nametopics'] = "topic";
$string['nameweeks'] = "week";
$string['newaccount'] = "New account";
$string['newpassword'] = "New password";
$string['newpasswordtext'] = "Hi \$a->firstname,
Your account password at '\$a->sitename' has been reset
and you have been issued with a new temporary password.
@@ -245,131 +307,159 @@ line at the top of your web browser window.
Cheers from the '\$a->sitename' administrator,
\$a->signoff\n";
$string[newpicture] = "New picture";
$string[newuser] = "New user";
$string[newusers] = "New users";
$string[newsitem] = "news item";
$string[newsitems] = "news items";
$string[newsitemsnumber] = "News items to show";
$string[no] = "No";
$string[nocoursesyet] = "There are no courses yet";
$string[nograde] = "No grade";
$string[nostudentsyet] = "No students enrolled in this course yet";
$string[nosuchemail] = "No such email address";
$string[noteachersyet] = "No teachers in this course yet";
$string[notenrolled] = "\$a is not enrolled in this course.";
$string[nothingnew] = "Nothing new since your last login";
$string[nousersyet] = "There are no users yet";
$string[now] = "now";
$string[numberweeks] = "Number of weeks/topics";
$string[numdays] = "\$a days";
$string[numweeks] = "\$a weeks";
$string[numyears] = "\$a years";
$string[numwords] = "\$a words";
$string[numviews] = "\$a views";
$string[ok] = "OK";
$string[opentoguests] = "Open to guests?";
$string[optional] = "optional";
$string[outline] = "Outline";
$string[participants] = "Participants";
$string[password] = "Password";
$string[passwordchanged] = "Password has been changed";
$string[passwordsdiffer] = "These passwords do not match";
$string[passwordsent] = "Password has been sent";
$string[passwordsenttext] = "
$string['newpicture'] = "New picture";
$string['newuser'] = "New user";
$string['newusers'] = "New users";
$string['newsitem'] = "news item";
$string['newsitems'] = "news items";
$string['newsitemsnumber'] = "News items to show";
$string['never'] = "Never";
$string['no'] = "No";
$string['nocoursesyet'] = "No courses in this category";
$string['noexistingteachers'] = "No existing teachers";
$string['nograde'] = "No grade";
$string['none'] = "None";
$string['nopotentialteachers'] = "No potential teachers";
$string['normal'] = "Normal";
$string['nostudentsyet'] = "No students enrolled in this course yet";
$string['nosuchemail'] = "No such email address";
$string['noteachersyet'] = "No teachers in this course yet";
$string['notenrolled'] = "\$a is not enrolled in this course.";
$string['nothingnew'] = "Nothing new since your last login";
$string['nousersyet'] = "There are no users yet";
$string['now'] = "now";
$string['numberweeks'] = "Number of weeks/topics";
$string['numdays'] = "\$a days";
$string['numminutes'] = "\$a minutes";
$string['numviews'] = "\$a views";
$string['numweeks'] = "\$a weeks";
$string['numwords'] = "\$a words";
$string['numyears'] = "\$a years";
$string['ok'] = "OK";
$string['opentoguests'] = "Guest access";
$string['optional'] = "optional";
$string['order'] = "Order";
$string['outline'] = "Outline";
$string['participants'] = "Participants";
$string['password'] = "Password";
$string['passwordchanged'] = "Password has been changed";
$string['passwordsdiffer'] = "These passwords do not match";
$string['passwordsent'] = "Password has been sent";
$string['passwordsenttext'] = "
<P>An email has been sent to your address at \$a->email.
<P><B>Please check your email for your new password</B>
<P>The new password was automatically generated, so you might like to
<A HREF=\$a->link>change it to something easier to remember</A>.";
$string[people] = "People";
$string[personalprofile] = "Personal profile";
$string[phone] = "Phone";
$string[preview] = "Preview";
$string[previeworchoose] = "Preview or choose a theme";
$string[question] = "Question";
$string[recentactivity] = "Recent activity";
$string[resources] = "Resources";
$string[returningtosite] = "Returning to this web site?";
$string[requireskey] = "This course requires an enrolment key";
$string[revert] = "Revert";
$string[savechanges] = "Save changes";
$string[section] = "Section";
$string[selectacountry] = "Select a country";
$string[senddetails] = "Send my details via email";
$string[separateandconnected] = "Separate and Connected ways of knowing";
$string[serverlocaltime] = "Server's local time";
$string[settings] = "Settings";
$string[shortname] = "Short name";
$string[shortsitename] = "Short name for site (eg single word)";
$string[showalltopics] = "Show all topics";
$string[showallweeks] = "Show all weeks";
$string[showlistofcourses] = "Show list of courses";
$string[showonlytopic] = "Show only topic \$a";
$string[showonlyweek] = "Show only week \$a";
$string[showtheselogs] = "Show these logs";
$string[socialheadline] = "Social forum - latest topics";
$string[site] = "Site";
$string[sites] = "Sites";
$string[sitelogs] = "Site logs";
$string[sitenews] = "Site news";
$string[sitesettings] = "Site settings";
$string[someallowguest] = "Some courses may allow guest access";
$string[startdate] = "Course start date";
$string[startsignup] = "Start now by creating a new account!";
$string[status] = "Status";
$string[success] = "Success";
$string[summary] = "Summary";
$string[summaryof] = "Summary of \$a";
$string[supplyinfo] = "Please supply some information about yourself";
$string[teacherforum] = "Teacher forum";
$string[teacheronly] = "for the \$a only";
$string[textformat] = "Plain text format";
$string[timezone] = "Timezone";
$string[thanks] = "Thanks";
$string[theme] = "Theme";
$string[themesaved] = "New theme saved";
$string[today] = "Today";
$string[todaylogs] = "Today's logs";
$string[topic] = "Topic";
$string[topicoutline] = "Topic outline";
$string[turneditingoff] = "Turn editing off";
$string[turneditingon] = "Turn editing on";
$string[undecided] = "Undecided";
$string[unenrol] = "Unenrol";
$string[unenrolme] = "Unenrol me from \$a";
$string[unenrolsure] = "Are you sure you want to unenrol \$a from this course?";
$string[update] = "Update";
$string[updated] = "Updated \$a";
$string[updatemyprofile] = "Update profile";
$string[updatesevery] = "Updates every \$a seconds";
$string[updatethiscourse] = "Update this course";
$string[updatinga] = "Updating a \$a";
$string[updatingain] = "Updating a \$a->what in \$a->in";
$string[upload] = "Upload";
$string[uploadthisfile] = "Upload this file";
$string[userdescription] = "Description";
$string[username] = "Username";
$string[usernameexists] = "This username already exists, choose another";
$string[userprofilefor] = "User profile for \$a";
$string[users] = "Users";
$string[webpage] = "Web page";
$string[week] = "Week";
$string[weeklyoutline] = "Weekly outline";
$string[welcometocourse] = "Welcome to \$a";
$string[welcometocoursetext] = "Welcome to \$a->coursename!
$string['people'] = "People";
$string['personalprofile'] = "Personal profile";
$string['phone'] = "Phone";
$string['potentialteachers'] = "Potential teachers";
$string['preferredlanguage'] = "Preferred language";
$string['preview'] = "Preview";
$string['previeworchoose'] = "Preview or choose a theme";
$string['question'] = "Question";
$string['readme'] = "README"; // This is a file name
$string['recentactivity'] = "Recent activity";
$string['removeteacher'] = "Remove teacher";
$string['rename'] = "Rename";
$string['resources'] = "Resources";
$string['returningtosite'] = "Returning to this web site?";
$string['requireskey'] = "This course requires an enrolment key";
$string['revert'] = "Revert";
$string['role'] = "Role";
$string['savechanges'] = "Save changes";
$string['search'] = "Search";
$string['searchagain'] = "Search again";
$string['searchresults'] = "Search results";
$string['section'] = "Section";
$string['selectacountry'] = "Select a country";
$string['senddetails'] = "Send my details via email";
$string['separateandconnected'] = "Separate and Connected ways of knowing";
$string['serverlocaltime'] = "Server's local time";
$string['settings'] = "Settings";
$string['shortname'] = "Short name";
$string['shortsitename'] = "Short name for site (eg single word)";
$string['showalltopics'] = "Show all topics";
$string['showallweeks'] = "Show all weeks";
$string['showlistofcourses'] = "Show list of courses";
$string['showonlytopic'] = "Show only topic \$a";
$string['showonlyweek'] = "Show only week \$a";
$string['showtheselogs'] = "Show these logs";
$string['socialheadline'] = "Social forum - latest topics";
$string['showallcourses'] = "Show all courses";
$string['site'] = "Site";
$string['sites'] = "Sites";
$string['sitelogs'] = "Site logs";
$string['sitenews'] = "Site news";
$string['sitesettings'] = "Site settings";
$string['size'] = "Size";
$string['someallowguest'] = "Some courses may allow guest access";
$string['startdate'] = "Course start date";
$string['startsignup'] = "Start now by creating a new account!";
$string['status'] = "Status";
$string['stringsnotset'] = "The following strings are not defined in \$a";
$string['success'] = "Success";
$string['summary'] = "Summary";
$string['summaryof'] = "Summary of \$a";
$string['supplyinfo'] = "Please supply some information about yourself";
$string['teacheronly'] = "for the \$a only";
$string['textformat'] = "Plain text format";
$string['timezone'] = "Timezone";
$string['thanks'] = "Thanks";
$string['theme'] = "Theme";
$string['themesaved'] = "New theme saved";
$string['today'] = "Today";
$string['todaylogs'] = "Today's logs";
$string['toomanytoshow'] = "There are too many users to show";
$string['topic'] = "Topic";
$string['topicoutline'] = "Topic outline";
$string['turneditingoff'] = "Turn editing off";
$string['turneditingon'] = "Turn editing on";
$string['undecided'] = "Undecided";
$string['unenrol'] = "Unenrol";
$string['unenrolme'] = "Unenrol me from \$a";
$string['unenrolsure'] = "Are you sure you want to unenrol \$a from this course?";
$string['unsafepassword'] = "Unsafe password - try something else";
$string['unzip'] = "Unzip";
$string['update'] = "Update";
$string['updated'] = "Updated \$a";
$string['updatemyprofile'] = "Update profile";
$string['updatesevery'] = "Updates every \$a seconds";
$string['updatethiscourse'] = "Update this course";
$string['updatinga'] = "Updating a \$a";
$string['updatingain'] = "Updating a \$a->what in \$a->in";
$string['upload'] = "Upload";
$string['uploadafile'] = "Upload a file";
$string['uploadthisfile'] = "Upload this file";
$string['userdeleted'] = "This user account has been deleted";
$string['userdescription'] = "Description";
$string['username'] = "Username";
$string['usernameexists'] = "This username already exists, choose another";
$string['userprofilefor'] = "User profile for \$a";
$string['users'] = "Users";
$string['webpage'] = "Web page";
$string['week'] = "Week";
$string['weeklyoutline'] = "Weekly outline";
$string['welcometocourse'] = "Welcome to \$a";
$string['welcometocoursetext'] = "Welcome to \$a->coursename!
One of the first things you should do is edit your profile page
within the course so that we can learn more about you:
\$a->profileurl";
$string[wordforteacher] = "Your word for Teacher";
$string[wordforteachereg] = "eg Teacher, Tutor, Facilitator etc";
$string[wordforstudent] = "Your word for Student";
$string[wordforstudenteg] = "eg Student, Participant etc";
$string[wrongpassword] = "Incorrect password for this username";
$string[yes] = "Yes";
$string[yourlastlogin] = "Your last login was";
$string[yourself] = "yourself";
$string[yourteacher] = "your \$a";
$string['withchosenfiles'] = "With chosen files";
$string['wordforteacher'] = "Your word for Teacher";
$string['wordforteachereg'] = "eg Teacher, Tutor, Facilitator etc";
$string['wordforteachers'] = "Your word for Teachers";
$string['wordforteacherseg'] = "eg Teachers, Tutors, Facilitators etc";
$string['wordforstudent'] = "Your word for Student";
$string['wordforstudenteg'] = "eg Student, Participant etc";
$string['wordforstudents'] = "Your word for Students";
$string['wordforstudentseg'] = "eg Students, Participants etc";
$string['wrongpassword'] = "Incorrect password for this username";
$string['yes'] = "Yes";
$string['yourlastlogin'] = "Your last login was";
$string['yourself'] = "yourself";
$string['yourteacher'] = "your \$a";
?>
+21 -19
View File
@@ -1,27 +1,29 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Reading";
$string[modulenameplural] = "Readings";
$string['modulename'] = "Reading";
$string['modulenameplural'] = "Readings";
#------------------------------------------------------------
$string[addreading] = "Add reading";
$string[editingareading] = "Editing a reading";
$string[example] = "Example";
$string[examplereference] = "Tobin, K. & Tippins, D (1993) Constructivism as a Referent for Teaching and Learning. In: K. Tobin (Ed) The Practice of Constructivism in Science Education, pp 3-21, Lawrence-Erlbaum, Hillsdale, NJ.";
$string[exampleurl] = "http://www.example.com/somedirectory/somefile.html";
$string[filename] = "File name";
$string[fulltext] = "Full text";
$string[neverread] = "Never read";
$string[note] = "Note";
$string[notefile] = "To upload more files into the course (so they appear in this list) use the
$string['addreading'] = "Add reading";
$string['editingareading'] = "Editing a reading";
$string['example'] = "Example";
$string['examplereference'] = "Tobin, K. & Tippins, D (1993) Constructivism as a Referent for Teaching and Learning. In: K. Tobin (Ed) The Practice of Constructivism in Science Education, pp 3-21, Lawrence-Erlbaum, Hillsdale, NJ.";
$string['exampleurl'] = "http://www.example.com/somedirectory/somefile.html";
$string['filename'] = "File name";
$string['fulltext'] = "Full text";
$string['htmlfragment'] = "HTML fragment";
$string['neverread'] = "Never read";
$string['note'] = "Note";
$string['notefile'] = "To upload more files into the course (so they appear in this list) use the
<A HREF=\$a >File Manager</A>.";
$string[notypechosen] = "You need to choose a type. Use your back button to go back and retry.";
$string[readingtype] = "Type of resource";
$string[readingtype1] = "Reference";
$string[readingtype2] = "Web Page";
$string[readingtype3] = "Uploaded File";
$string[readingtype4] = "Plain text";
$string[readingtype5] = "Web Link";
$string['notypechosen'] = "You need to choose a type. Use your back button to go back and retry.";
$string['readingtype'] = "Type of resource";
$string['readingtype1'] = "Reference";
$string['readingtype2'] = "Web Page";
$string['readingtype3'] = "Uploaded File";
$string['readingtype4'] = "Plain text";
$string['readingtype5'] = "Web Link";
$string['readingtype6'] = "HTML text";
?>
+38 -37
View File
@@ -1,45 +1,46 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Survey";
$string[modulenameplural] = "Surveys";
$string['modulename'] = "Survey";
$string['modulenameplural'] = "Surveys";
#------------------------------------------------------------
$string[actual] = "Actual";
$string[allquestions] = "All questions in order, all students";
$string[allscales] = "All scales, all students";
$string[alreadysubmitted] = "You have already submitted this survey";
$string[analysisof] = "Analysis of \$a";
$string[ipreferthat] = "I prefer that";
$string[ifoundthat] = "I found that";
$string[done] = "Done";
$string[download] = "Download";
$string[downloadexcel] = "Download data as Excel spreadsheet";
$string[downloadinfo] = "You can download the complete raw data for this survey in a form suitable for analysis in Excel, SPSS or other package.";
$string[downloadtext] = "Download data as a plain text file";
$string[editingasurvey] = "Editing a survey";
$string[helpsurveys] = "Help on the different types of surveys";
$string[introtext] = "Introduction text";
$string[name] = "Name";
$string[nobodyyet] = "Nobody has yet completed this survey";
$string[notdone] = "Not done yet";
$string[notes] = "Your private analysis and notes";
$string[peoplecompleted] = "\$a people have completed this survey so far";
$string[preferred] = "Preferred";
$string[questions] = "Questions";
$string[question] = "Question";
$string[report] = "Survey report";
$string[scales] = "Scales";
$string[savednotes] = "Your notes were saved";
$string[seemoredetail] = "Click here to see more detail";
$string[selectedquestions] = "Selected questions from a scale, all students";
$string[summary] = "Summary";
$string[surveycompleted] = "You've completed this survey. The graph below shows a summary of your results compared to the class averages.";
$string[surveyname] = "Survey name";
$string[surveysaved] = "Survey saved";
$string[surveytype] = "Survey type";
$string[thanksforanswers] = "Thanks for answering this survey, \$a";
$string['actual'] = "Actual";
$string['allquestions'] = "All questions in order, all students";
$string['allscales'] = "All scales, all students";
$string['alreadysubmitted'] = "You have already submitted this survey";
$string['analysisof'] = "Analysis of \$a";
$string['ipreferthat'] = "I prefer that";
$string['ifoundthat'] = "I found that";
$string['done'] = "Done";
$string['download'] = "Download";
$string['downloadexcel'] = "Download data as Excel spreadsheet";
$string['downloadinfo'] = "You can download the complete raw data for this survey in a form suitable for analysis in Excel, SPSS or other package.";
$string['downloadtext'] = "Download data as a plain text file";
$string['editingasurvey'] = "Editing a survey";
$string['helpsurveys'] = "Help on the different types of surveys";
$string['introtext'] = "Introduction text";
$string['name'] = "Name";
$string['newsurveyresponses'] = "New survey responses";
$string['nobodyyet'] = "Nobody has yet completed this survey";
$string['notdone'] = "Not done yet";
$string['notes'] = "Your private analysis and notes";
$string['peoplecompleted'] = "\$a people have completed this survey so far";
$string['preferred'] = "Preferred";
$string['questions'] = "Questions";
$string['question'] = "Question";
$string['report'] = "Survey report";
$string['scales'] = "Scales";
$string['savednotes'] = "Your notes were saved";
$string['seemoredetail'] = "Click here to see more detail";
$string['selectedquestions'] = "Selected questions from a scale, all students";
$string['summary'] = "Summary";
$string['surveycompleted'] = "You've completed this survey. The graph below shows a summary of your results compared to the class averages.";
$string['surveyname'] = "Survey name";
$string['surveysaved'] = "Survey saved";
$string['surveytype'] = "Survey type";
$string['thanksforanswers'] = "Thanks for answering this survey, \$a";
$string['time'] = "Time";
$string[viewsurveyresponses] = "View \$a survey responses";
$string['viewsurveyresponses'] = "View \$a survey responses";
?>
+5
View File
@@ -0,0 +1,5 @@
Finnish Translation
-------------------
Author: Petri Asikainen (paca@sci.fi)
+24
View File
@@ -0,0 +1,24 @@
<?PHP
$string[modulename]="Tehtävä";
$string[modulenameplural]="Tehtävät";
$string[assignmentdetails]="Tehtävän tiedot";
$string[assignmentname]="Tehtävän nimi";
$string[assignmenttype]="Tehtävän tyyppi";
$string[description]="Kuvaus";
$string[duedate]="Palautus pvm.";
$string[early]="\$a ennen";
$string[failedupdatefeedback]="Palauteen tallentaminen epäonnistui käyttäjälle \$a";
$string[feedbackupdated]="Palaute päivitetty \$a oppilaalle";
$string[late]="\$a myöhässä";
$string[maximumgrade]="Maksimi arvo";
$string[maximumsize]="Maksimi koko";
$string[notsubmittedyet]="Ei vielä palautettu";
$string[overwritewarning]="Varoitus: uudelleen lähetys korvaa aiemman vastauksesi";
$string[submissionfeedback]="Palaute vastauksestasi";
$string[submissions]="Palautetut";
$string[submitted]="Palautettu";
$string[typeuploadsingle]="Lähetä yksi tiedosto, arvo 0 - 100 pistettä";
$string[uploadedfiles]="tiedostot lähetetty";
$string[viewsubmissions]="Katso \$a palautettuja vastauksia";
$string[yoursubmission]="Vastauksesi";
?>
+13
View File
@@ -0,0 +1,13 @@
<?PHP
$string[modulename]="Valinta";
$string[modulenameplural]="Valinnat";
$string[answered]="Vastattu";
$string[choice]="Valinta \$a";
$string[choicename]="Valinnan nimi";
$string[choicetext]="Valinnan teksti";
$string[notanswered]="Vastaamatta";
$string[responses]="Vastaukset";
$string[responsesto]="Vastaukset \$a";
$string[savemychoice]="Talleta valintani";
$string[viewallresponses]="Katsele \$a vastauksia";
?>
+18
View File
@@ -0,0 +1,18 @@
ABOUT THIS DIRECTORY
--------------------
DO NOT CHANGE, RENAME OR MOVE ANY OF THE FILES
IN THIS DIRECTORY unless you REALLY know what
you are doing.
Changing these files could mess up your course.
This directory contains files uploaded to your
course within particular modules (mostly by
students), such as assignment submissions and
forum attachments.
The names of the directories and files within
this directory are very specific and are
automatically maintained by Moodle.
+106
View File
@@ -0,0 +1,106 @@
<?PHP
$string[modulename]="Foorumi";
$string[modulenameplural]="Foorumit";
$string[addanewdiscussion]="Lisää uusi keskustelu";
$string[allowchoice]="Anna kaikkien valita";
$string[allowdiscussions]="Voiko \$a avata uusia keskusteluja?";
$string[allowratings]="Voidaanko viestejä arvioida?";
$string[allowsdiscussions]="Tämä foorumi antaa jokaisen aloittaa yhden uuden keskustelun.";
$string[anyfile]="Mikä tahansa tiedosto";
$string[attachment]="Liite";
$string[bynameondate]=" \$a->name - \$a->date";
$string[canstudentsstart]="Voiko \$a avata uusia keskusteluja?";
$string[couldnotadd]="Viestiäsi ei voida lisä tuntemattoman virheen takia.";
$string[couldnotdeleteratings]="Pahus, tuota ei voida postaa koska viesti on jo arvioitu";
$string[couldnotdeletereplies]="Pahus, tuota ei voida poistaa koska viestiin on jo vastattu";
$string[couldnotupdate]="Viestiäsi ei voida päivittää tuntemattoman virheen takia";
$string[delete]="Poista";
$string[deleteddiscussion]="Keskustelu on poistettu";
$string[deletedpost]="Viesti on poistettu";
$string[deletesure]="Oletko varma että haluat poistaa tämän viestin?";
$string[discussion]="Keskustelu";
$string[discussions]="Keskustelut";
$string[discussionsstartedby]="Keskustelun on aloittanut \$a";
$string[discussthistopic]="Keskustele aiheesta";
$string[eachuserforum]="Jokainen avaa uuden keskustelun";
$string[edit]="Muokkaa";
$string[editing]="Muokataan";
$string[emptymessage]="Jotain oli vialla viestissäsi. Ehkä jätit viestisi tyhjäksi tai liitetiedosto oli liian suuri. Muutoksiasi EI tallennettu.";
$string[everyonecanchoose]="Kaikki voivat tilata tämän foorumin";
$string[everyoneissubscribed]="Kaikki tilaavat tämän foorumin";
$string[forcesubscribe]="Pakota kaikki tilaajiksi";
$string[forcesubscribeq]="Pakota kaikki tilaajiksi?";
$string[forum]="Foorumi";
$string[forumintro]="Foorumin johdanto";
$string[forumname]="Foorumin nimi";
$string[forums]="Foorumit";
$string[forumtype]="Foorumin tyyppi";
$string[generalforum]="Yleisfoorumi";
$string[generalforums]="Yleisfoorumit";
$string[inforum]=" \$a :ssa";
$string[intronews]="Yleiset uutiset ja tiedotteet";
$string[introsocial]="Avoin foorumi vapaalle keskustelulle";
$string[introteacher]="Opettajien oma keskustelufoorumi";
$string[learningforums]="Opiskelufoorumi";
$string[maxtimehaspassed]="Pahus, maksimi muokkausaika on ylittynyt tämän (\$a) viestin osalta!";
$string[message]="Viesti";
$string[modeflatoldestfirst]="Näytä vastaukset peräkkäin, vanhin ensin";
$string[modeflatnewestfirst]="Näytä vastaukset peräkkäin, uusin ensin";
$string[modenested]="Näytä vastaukset sisäkkäin";
$string[modethreaded]="Näytä vastaukset säikeittäin";
$string[more]="lisää";
$string[namenews]="Uutiset foorumi";
$string[namesocial]="Keskustelu foorumi";
$string[nameteacher]="Opettajain foorumi";
$string[nodiscussions]="Tässä foorumissa ei ole vielä keskusteluja";
$string[noguestpost]="Pahus, vieraa eivät saa kirjoitaa foorumiin";
$string[noposts]="Ei viestejä";
$string[nosubscribers]="Tällä foorumilla ei ole tilaajia";
$string[nownotsubscribed]="\$a->name EI saa kopioita viesteistä\\'\$a->forum\\' sähköpostiinsa.";
$string[nowsubscribed]="\$a->name SAA kopiot viesteistä \\'\$a->forum\\' sähköpostiinsa.";
$string[numposts]="\$a viestiä";
$string[olderdiscussions]="Vanhemmat keskustelut";
$string[parentofthispost]="Tämän viestin alku";
$string[postadded]="Viestisi on lisätty.<P>Sinulla \$a aikaa muokata viestiä jos haluat muuttaa sitä.";
$string[postmailinfo]="Tämä on kopio viestistä \$a sivustolla.
Lisätäksesi vastauksen viestiin suoraan sivustolle, klikkaa seuraavaa linkkiä:";
$string[postingtip]="<B>Vihjeet:</B>
<br>Kun vastaat:
<UL>
<LI>lue viesti tarkkaan ja ajatuksella
<LI>etsi viestistä kommetoitavia asioita
</UL>
Kun kirjoitat:
<UL>
<LI>pidä viestisi lyhyenä ja aiheessa
<LI>selitä ajatuksesi selkeästi
<LI>mieti kysymyksiä jota voisit esittää
</UL>";
$string[postrating1]="Sisältää enimmäkseen irrallista tietoa";
$string[postrating2]="Yhtäläisesti irrallista ja aiheeseen liittyvää tietoa";
$string[postrating3]="Sisältää enimmäkseen aiheeseen liittyvää tietoa";
$string[postupdated]="Viestisi on päivitetty";
$string[processingpost]="Prosessoidaan viestiä \$a";
$string[rate]="Arvio";
$string[ratings]="Arviot";
$string[readtherest]="Lue loput tästä aiheesta";
$string[re]="Re:";
$string[repliesmany]="\$a vastausta tähän mennessä";
$string[repliesone]="\$a vastaus tähän mennessä";
$string[reply]="Vastaa";
$string[search]="Etsi";
$string[searchforums]="Etsi Foorumeista";
$string[sendinratings]="Lähetä viimeisimmät arviot";
$string[showsubscribers]="Näytä tilaajat";
$string[singleforum]="Yksinkertainen keskustelu";
$string[subject]="Aihe";
$string[subscribe]="Tilaa tämä foorumi";
$string[subscribed]="Tilaaja";
$string[subscribers]="Tilaajat";
$string[subscribersto]="Tilaa \\'\$a\\'";
$string[unsubscribe]="Poista tämän foorumin tilaus";
$string[youratedthis]="Arviot tämän";
$string[yournewtopic]="Uusi keskustelun aiheesi";
$string[yourreply]="Vastauksesi";
?>
+7
View File
@@ -0,0 +1,7 @@
<P ALIGN=CENTER><B>Choice options</B></P>
<P>Here is where you specify the options that participants
have to choose from.
<P>You can fill in any number of these: it's OK to leave some blank
if you don't need the full 6 options.
+11
View File
@@ -0,0 +1,11 @@
<P ALIGN=CENTER><B>Course Categories</B></P>
<P>Your Moodle administrator may have set up several
course categories.
<P>For example, "Science", "Humanities", "Public Health" etc
<P>Choose the one most applicable for your course. This
choice will affect where your course is displayed on the
course listing and may make it easier for students to
find your course.
+24
View File
@@ -0,0 +1,24 @@
<P ALIGN=CENTER><B>Moodle course formats</B></P>
<P><B>Weekly format</B></P>
<UL>
The course is organised week by week, with a clear start date and a finish date.
Each week consists of activities. Some of them, like journals, may have
"open windows" of, say, two weeks after which they become unavailable.
</UL>
<P><B>Topics format</B></P>
<UL>
Very similar to the weekly format, except that each "week" is called a topic.
A "topic" is not restricted to any time limit. You don't need to specify any
dates.
</UL>
<P><B>Social format</B></P>
<UL>
This format is oriented around one main forum, the Social forum, which appears
listed on the main page. It is useful for situations that are more freeform.
They may not even be courses. For example, it could be used as a departmental
notice board.
</UL>
+4
View File
@@ -0,0 +1,4 @@
<P ALIGN=CENTER><B>Course Full name</B></P>
<P>The full name of the course is displayed at the top of the screen and in the course listings.</P>
+15
View File
@@ -0,0 +1,15 @@
<P ALIGN=CENTER><B>Course News Items</B></P>
<P>A special forum called "News" appears in the
"weekly" and "topics" course formats. It's
a good place to post notices for all students
to see. (By default, all students are subscribed
to this forum, and will receive your notices by
email.)
<P>This setting determines how many recent items
appear on your course home page, in a news box
down the right-hand side.
<P>If you set it to "0 news items" then the news
box won't even appear.
+14
View File
@@ -0,0 +1,14 @@
<P ALIGN=CENTER><B>Course Number of Weeks/Topics</B></P>
<P>This setting is only used by the 'weekly' and 'topics'
course formats.
<P>In the 'weekly' format, it specifies the number of weeks
that the course will run for, starting from the
course starting date.
<P>In the 'topics' format, it specifies the number of topics
in the course.
<P>Both of these translate to the number of "boxes" down the
middle of the course page.
+7
View File
@@ -0,0 +1,7 @@
<P ALIGN=CENTER><B>Course short name</B></P>
<P>Many institutions have a shorthand way of referring to a course, such as
BP102 or COMMS. Even you don't already have such a name for your course,
make one up here. It will be used in several places where the long name
isn't appropriate (such us in the subject line of email).</P>
+19
View File
@@ -0,0 +1,19 @@
<P ALIGN=CENTER><B>Course Start Date</B></P>
<P>This is where you specify the starting time of the
course (in your own timezone).
<P>If you are using a 'weekly' course format, this will
affect the display of the weeks. The first week will
start on the date you set here.
<P>This setting will not affect courses using the
'social' or 'topics' formats.
<P>However, one place this setting will be affect is
the display of logs, which use this date as the earliest
possible date you can display.
<P>In general, if your course does have a real starting date
then it makes sense to set this date to that, no matter
what course formats you are using.
+23
View File
@@ -0,0 +1,23 @@
<P ALIGN=CENTER><B>Course Enrolment Key</B></P>
<P>A course enrolment key is what keeps unwanted people
out of your course.
<P>If you leave this blank, then anyone who has created
a Moodle username on this site will be able to enrol
in your course simply by going in to it.
<P>If you put something here, then students who are trying
to get in for the FIRST TIME ONLY will be asked to supply
this word or phrase.
<P>The idea is that you will supply the key to authorised
people using another means like private email, snail mail,
on the phone or even verbally in a face to face class.
<P>If this password "gets out" and you have unwanted people
enrolling, you can unenrol them (see their user profile page)
and change this key. Any legitimate students who have already
enrolled will not be affected, but the unwanted people won't be
able to get back in.
+9
View File
@@ -0,0 +1,9 @@
<P ALIGN=CENTER><B>Allowing new discussions</B></P>
<P>For most forums you will want to allow non-teachers to start new
discussion topics (threads).
<P>Sometimes, however, you will want to disable this ability. For
example, this is useful for the News forum when you only want
teachers to post new items that appear on the course main page.
Students will still be able to REPLY to existing posts though.
+21
View File
@@ -0,0 +1,21 @@
<P ALIGN=CENTER><B>Attachments for posts</B></P>
<P>You can optionally attach ONE file from your own computer
to any post in the forums. This file is uploaded to the
server and stored with your post.
<P>This is useful when you want to share a picture, for example,
or a Word document.
<P>This file can be of any type, however it is highly recommended
that the file is named using standard 3-letter internet
suffixes such as .doc for a Word document, .jpg or .png
for an image, and so on. This will make it easier for others
to download and view your attachment in their browsers.
<P>If you re-edit a posting and attach a new file, then any
previous attached files for that post will be replaced.
<P>If you re-edit a posting with an attachment and leave
this space blank, then the original attachment will be
retained.
+16
View File
@@ -0,0 +1,16 @@
<P ALIGN=CENTER><B>Forum Types</B></P>
<P>There are several different types of forum to choose from:
<P><B>A single simple discussion</B> - is just a single topic, all on one page.
Useful for short, focussed discussions.
<P><B>Standard forum for general use</B> - is an open forum where any one can
start a new topic at any time. This is the best general-purpose forum.
<P><B>Each person posts one discussion</B> - Each person can post exactly one
new discussion topic (everyone can reply to them though). This is useful when
you want each student to start a discussion about, say, their reflections on
the week's topic, and everyone else responds to these.
<P>(More development to come in future versions of Moodle)
+70
View File
@@ -0,0 +1,70 @@
<P ALIGN=CENTER><B>Forum Ratings</B></P>
<P>Individual posts can be rated using a scale based on the theory of
<strong>separate and connected knowing</strong>.
<p>This theory may help you to look at human interactions
in a new way. It describes two different ways that we can evaluate and learn
about the things we see and hear.
<p>Although each of us may use these two methods in different amounts at different
times, it may be useful to imagine two people as examples, one who is a mostly
separate knower (Jim) and the other a mostly connected knower (Mary).</p>
<ul>
<li>Jim likes to remain as 'objective' as possible without including his feelings
and emotions. When in a discussion with other people who may have different
ideas, he likes to defend his own ideas, using logic to find holes in his
opponent's ideas. He is critical of new ideas unless they are proven facts
from reputable sources such as textbooks, respected teachers or his own direct
experience. Jim is a very <strong>separate knower</strong>.<br><br>
</li>
<li>Mary is more sensitive to other people. She is skilled at empathy and tends
to listen and ask questions until she feels she can connect and &quot;understand
things from their point of view&quot;. She learns by trying to share the experiences
that led to the knowledge she finds in other people. When talking to others,
she avoids confrontation and will often try to help the other person if she
can see a way to do so, using logical suggestions. Mary is a very <strong>connected
knower</strong>.</li>
</ul>
<p>Did you notice in these examples that the separate knower is male and the connected
knower is female? Some studies have shown that statistically this tends to be
the case, however individual people can be anywhere in the spectrum between
these two extremes. </p>
<p>For a collaborative and effective group of learners it may be best if everyone
were able to use BOTH ways of knowing.</p>
<p>In a particular situation like an online forum, a single post by a person may
exhibit either of these characteristics, or even both. Someone who is generally
very connected may post a very separate-sounding message, and vice versa. The
purpose of rating each post using this scale is to:</p>
<blockquote>
<p>a) help you think about these issues when reading other posts<br>
b) provide feedback to each author on how they are being seen by others</p>
</blockquote>
<p>The results are not used towards student assessment in any way, they are just
to help improve communication and learning.</p>
<hr>
<p><br>
In case you're interested, here are some references to papers by the authors
who originally developed these ideas:</p>
<ul>
<li>Belenky, M.F., Clinchy, B.M., Goldberger, N.R., &amp; Tarule, J.M. (1986).
Women's ways of knowing: the development of self, voice, and mind. New York,
NY: Basic Books.</li>
<li>Clinchy, B.M. (1989a). The development of thoughtfulness in college women:
Integrating reason and care. American Behavioural Scientist, 32(6), 647-657.</li>
<li>Clinchy, B.M. (1989b). On critical thinking &amp; connected knowing. Liberal
education, 75(5), 14-19.</li>
<li>Clinchy, B.M. (1996). Connected and separate knowing; Toward a marriage
of two minds. In N.R. Goldberger, Tarule, J.M., Clinchy, B.M. &amp;</li>
<li>Belenky, M.F. (Eds.), Knowledge, Difference, and Power; Essays inspired
by &#8220;Women&#8217;s Ways of Knowing&#8221; (pp. 205-247). New York, NY:
Basic Books.</li>
<li>Galotti, K. M., Clinchy, B. M., Ainsworth, K., Lavin, B., &amp; Mansfield,
A. F. (1999). A New Way of Assessing Ways of Knowing: The Attitudes Towards
Thinking and Learning Survey (ATTLS). Sex Roles, 40(9/10), 745-766.</li>
<li>Galotti, K. M., Reimer, R. L., &amp; Drebus, D. W. (2001). Ways of knowing
as learning styles: Learning MAGIC with a partner. Sex Roles, 44(7/8), 419-436.
<br>
</li>
</ul>
+18
View File
@@ -0,0 +1,18 @@
<P ALIGN=CENTER><B>Forum Subscription</B></P>
<P>When a person is subscribed to a forum it means that
they will be sent email copies of every post in that forum
(posts are sent about 30 minutes after the post was first
written).
<P>People can usually choose whether or not they want to be
subscribed to each forum.
<P>However, if a teacher forces subscription on a particular forum
then this choice is taken away and everyone in the class will get
email copies.
<P>This is especially useful in the News forum and in forums
towards the beginning of the course (before everyone has
worked out that they can subscribe to these emails themselves).
+21
View File
@@ -0,0 +1,21 @@
<P ALIGN=CENTER><B>Guest Access</B></P>
<P>You have the choice of allowing "guests" into your course.
<P>People can log in as guests using the "Login as a guest" button
on the login screen.
<P>Guests ALWAYS have "read-only" access - meaning they can't leave
any posts or otherwise mess up the course for real students.
<P>This can be handy when you want to let a colleague in to
look around at your work, or to let students see a course before
they have decided to enrol.
<P>Note that you have a choice between two types of guest access:
with the enrolment key or without. If you choose to allow
guests who have the key, then the guest will need to provide
the current enrolment key EVERY TIME they log in (unlike
students who only need to do it once). This lets you restrict
your guests. If you choose to allow guests without a key, then
anyone can get straight into your course.
+13
View File
@@ -0,0 +1,13 @@
<P ALIGN=CENTER><B>Help on writing html</B></P>
<P>When writing HTML in Moodle, you are free to use any HTML tags you like
to produce the effect you want.
<P>Your code will normally be printed on the page within a table cell,
so:
<UL>
<LI>there is no need to use any &lt;HEAD> or &lt;BODY> tags
<LI>be careful about unmatched &lt;/TABLE> tags that may mess up the display.
</UL>
+18
View File
@@ -0,0 +1,18 @@
<P ALIGN=CENTER><B>Uploading a picture</B></P>
<P>You can upload a picture from your computer to this server, and this picture will be used in various places to represent you.
<P>For this reason, the best images to use are a close-up of your face, but you can use any image you like.
<P>The picture must be in JPG or PNG format (ie the names will usually end in .jpg or .png).
<P>You can get a picture file using one of four methods:
<OL>
<LI>Using a digital camera, your photos will most likely already be on your computer in the right format.
<LI>You can use a scanner to scan a printed photograph. Make sure you save it as JPG or PNG format.
<LI>If you're artistic, you might draw a picture using a paint program.
<LI>Lastly, you can "steal" images from the web. <A TARGET=google HREF="http://images.google.com/">http://images.google.com</A> is a superb place to search for images. Once you find one, you can "right-click" on them with the mouse and choose "Save this image..." from the menu (different computers may vary slightly).
</OL>
<P>To upload the image, click the "Browse" button on this editing page, and select the image from your hard disk.
<P>NOTE: Make sure that the file is not larger than the maximum size listed, or it will not be uploaded.
<P>Then click "Update my Profile" at the bottom - the image file will be cropped to a square and resized down to 100x100 pixels.
<P>When you are taken back to your profile page, the image might not appear to have changed. If this is so, just use the "Reload" button in your browser.
+94
View File
@@ -0,0 +1,94 @@
<h2>Asking questions</h2>
<p>Socratic questions are open-ended, probing questions designed to promote critical
evaluation of ideas, as well as encourage the creation of new ideas. Below are
some examples of such questions:</p>
<h3>Questions of Clarification</h3>
<ul>
<li>What do you mean by ____?</li>
<li>What is your main point?</li>
<li>How does _____ relate to _____?</li>
<li>Could you put that another way?</li>
<li>Is your basic point _____ or _____?</li>
<li>What do you think is the main issue here?</li>
<li>Let me see if I understand you; do you mean _____ or _____?</li>
<li>How does this relate to our problem/discussion/issue?</li>
<li>What do you, Mike, mean by this remark? What do you take Mike to mean by
his remark?</li>
<li>Jane, can you summarize in your own words what Richard said? . . . Richard,
is this what you meant?</li>
<li>Could you give me an example?</li>
<li>Would this be an example, . . .?</li>
<li>Could you explain this further?</li>
<li>Would you say more about that?</li>
<li>Why do you say that?</li>
</ul>
<h3>Questions that probe assumptions</h3>
<ul>
<li>What are you assuming?</li>
<li>What is Jenny assuming?</li>
<li>What could we assume instead?</li>
<li>You seem to be assuming _____. Do I understand you correctly?</li>
<li>All of your reasoning depends on the idea that _____. Why have you based
your reasoning on _____ instead of _____?</li>
<li>You seem to be assuming _____. How do you justify taking that for granted?</li>
<li>Is that always the case? Why do you think the assumption holds here?</li>
<li>Why would someone make that assumption? </li>
</ul>
<h3>Questions that probe reasons and evidence</h3>
<ul>
<li>What would be an example?</li>
<li>How do you know?</li>
<li>Why do you think that is true?</li>
<li>Do you have any evidence for that?</li>
<li>What difference does that make?</li>
<li>What are your reasons for saying that?</li>
<li>What other information do you need?</li>
<li>Could you explain your reasons to us?</li>
<li>Are these reasons adequate?</li>
<li>Why do you say that?</li>
<li>What led you to that belief?</li>
<li>How does that apply to this case?</li>
<li>What would change your mind?</li>
<li>But, is that good evidence for that belief?</li>
<li>Is there a reason to doubt that evidence?</li>
<li>Who is in a position to know that is true?</li>
<li>What would you say to someone who said that ____?</li>
<li>Can someone else give evidence to support that view?</li>
<li>By what reasoning did you come to that conclusion?</li>
<li>How could we find out if that is true? </li>
</ul>
<h3>Questions about Viewpoints or Perspectives </h3>
<ul>
<li>The term &quot;imply&quot; will require clarification when used with younger
students.</li>
<li>What are you implying by that?</li>
<li>When you say _____, are you implying _____?</li>
<li>But, if that happened, what else would happen as a result? Why?</li>
<li>What effect would that have?</li>
<li>Would that necessarily happen or only possibly/probably happen?</li>
<li>What is an alternative?</li>
<li>If _____ and _____ are the case, then what might also be true?</li>
<li>If we say that ____ is ethical, how about _____? </li>
</ul>
<h3>Questions that Probe Implications and Consequences </h3>
<ul>
<li>How can we find out?</li>
<li>What does this question assume?</li>
<li>Would _____ ask this question differently?</li>
<li>How could someone settle this question?</li>
<li>Can we break this question down at all?</li>
<li>Is this question clear? Do we understand it?</li>
<li>Is this question easy or hard to answer? Why?</li>
<li>Does this question ask us to evaluate something? What?</li>
<li>Do we all agree that this is the question?</li>
<li>To answer this question, what other questions must we answer first?</li>
<li>I'm not sure I understand how you are interpreting this question. Is this
the same as _____?</li>
<li>How would _____ state the issue?</li>
<li>Why is this issue important?</li>
<li>Is this the most important question, or is there an underlying question
that is really the issue? </li>
</ul>
<HR>
<FONT SIZE=1><I>Questions adapted from Paul, R. (1993). Critical Thinking: How To Prepare Students for a Rapidly Changing World: Foundation for Critical Thinking, Santa Rosa, CA. </I></FONT>
+99
View File
@@ -0,0 +1,99 @@
<P ALIGN=CENTER><B>Available surveys</B></P>
<P>Currently, Moodle only offers specific types of surveys (future versions
will enable you to create your own).</P>
<P>The available surveys have been chosen as being particularly useful for
evaluating online learning environments that use a constructivist pedagogy.
They are useful to identify certain trends that may be happening among
your participants.
(To see a paper where these are used in a detailed analysis, see:
<A TARGET=paper HREF="http://dougiamas.com/writing/herdsa2002">http://dougiamas.com/writing/herdsa2002</A>)</P>
<HR>
<P><B>COLLES - Constructivist On-Line Learning Environment Survey</B></P>
<UL>
<p>The COLLES comprises an economical 24 statements grouped into six scales,
each of which helps us address a key question about the quality of the on-line
learning environment: </p>
<table BORDER="0" CELLSPACING="10" CELLPADDING="10">
<tr>
<td valign=top>Relevance</td>
<td>How relevant is on-line learning to students' professional practices?
</td>
</tr>
<tr>
<td valign=top>Reflection </td>
<td>Does on-line learning stimulate students' critical reflective thinking?
</td>
</tr>
<tr>
<td valign=top>Interactivity </td>
<td>To what extent do students engage on-line in rich educative dialogue?
</td>
</tr>
<tr>
<td valign=top>Tutor Support</td>
<td>How well do tutors enable students to participate in on-line learning?
</td>
</tr>
<tr>
<td valign=top>Peer Support </td>
<td>Is sensitive and encouraging support provided on-line by fellow students?
</td>
</tr>
<tr>
<td valign=top>Interpretation </td>
<td>Do students and tutors make good sense of each other's on-line communications?</td>
</tr>
</table>
<p>Underpinning the dynamic view of learning is a new theory of knowing: social
constructivism, which portrays the learner as an active conceptualiser within
a socially interactive learning environment. Social constructivism is an epistemology,
or way of knowing, in which learners collaborate reflectively to co-construct
new understandings, especially in the context of mutual inquiry grounded in
their personal experience. </p>
<p>Central to this collaboration is the development of students' communicative
competence, that is, the ability to engage in open and critical discourse
with both the teacher and peers. This discourse is characterised by an empathic
orientation to constructing reciprocal understanding, and a critical attitude
towards examining underlying assumptions. </p>
<p>The COLLES has been designed to enable you
to monitor the extent to which you are able to exploit the interactive capacity
of the World Wide Web for engaging students in dynamic learning practices. </p>
<P>
(This information has been adapted from the COLLES page. You can find out more about
COLLES and the authors of it at:
<A TARGET=paper HREF="http://surveylearning.com/colles/">http://surveylearning.com/colles/</A>)</P>
</UL>
<HR>
<P><B>ATTLS - Attitudes to Thinking and Learning Survey</B></P>
<UL>
<P>The theory of 'ways of knowing', originally from the field of gender research (Belenky et al., 1986) provides us with a survey tool to examine the quality of discourse within a collaborative environment.
<P>The Attitudes Towards Thinking and Learning Survey (ATTLS) is an instrument developed by Galotti et al. (1999) to measure the extent to which a person is a 'connected knower' (CK) or a 'separate knower' (SK).
<P>People with higher CK scores tend to find learning more enjoyable, and are often more cooperative, congenial and more willing to build on the ideas of others, while those with higher SK scores tend to take a more critical and argumentative stance to learning.
<P>Studies have shown that these two learning styles are independent of each other (Galotti et al., 1999; Galotti et al., 2001). Additionally, they are only a reflection of learning attitudes, not learning capacities or intellectual power.
<P><I>Belenky, M. F., Clinchy, B. M., Goldberger, N. R., & Tarule, J. M. (1986). Women's Ways of Knowing: The Development of Self, Voice, and Mind. New York: Basic Books, Inc. </I></P>
<P><I>Galotti, K. M., Clinchy, B. M., Ainsworth, K., Lavin, B., & Mansfield, A. F. (1999). A New Way of Assessing Ways of Knowing: The Attitudes Towards Thinking and Learning Survey (ATTLS). Sex Roles, 40(9/10), 745-766.</I></P>
<P><I>Galotti, K. M., Reimer, R. L., & Drebus, D. W. (2001). Ways of knowing as learning styles: Learning MAGIC with a partner. Sex Roles, 44(7/8), 419-436.</I></P>
</UL>
+22
View File
@@ -0,0 +1,22 @@
<P ALIGN=CENTER><B>Teachers</B></P>
<P>This page shows the list of people who are assigned to be
"teachers" in this course (by the system administrator).
<P>You can use this form to assign a role (title) to each person
such as "Professor", "Tutor", "Assistant" and so on. These
will appear on the site's course listing and also on the
list of participants for your course. If you leave the
role empty then the default word for teacher will be used
(the one you set in the Course Settings page).
<P>You can also order this list (to put the main teacher at the
top, for example). Simply put a numbers in each box such
as 1, 2, 3 etc. After pressing "Save changes" you will
see the new order.
<P><B>NOTE:</B> A special case occurs if you use the number
0 (zero) for a teacher. In this case, the teacher will
NOT BE SHOWN on the course listings or the list of
participants. They will be "invisible" to students
(unless they post messages to the forums etc)
+41
View File
@@ -0,0 +1,41 @@
<P ALIGN=CENTER><B>Help on writing text</B></P>
Writing text in Moodle works pretty much the way you would expect, but you also have the ability to include "smilies", "URL addresses" and some HTML tags in your text.
<P><B>Smilies (emoticons)</B></P>
<UL>
<TABLE BORDER=0 CELLPADDING=5 CELLSPACING=5>
<TR><TH>Name <TH>Picture <TH>You type</TR>
<TR><TD>smile <TD ALIGN=CENTER><img ALT=smile SRC="<?=$CFG->wwwroot?>/pix/s/smiley.gif"><TD ALIGN=CENTER> :-) </TD></TR>
<TR><TD>sad <TD ALIGN=CENTER><img ALT=sad SRC="<?=$CFG->wwwroot?>/pix/s/sad.gif"><TD ALIGN=CENTER> :-( </TD></TR>
<TR><TD>grin <TD ALIGN=CENTER><img ALT=grin SRC="<?=$CFG->wwwroot?>/pix/s/biggrin.gif"><TD ALIGN=CENTER> :-D </TD></TR>
<TR><TD>wink <TD ALIGN=CENTER><img ALT=wink SRC="<?=$CFG->wwwroot?>/pix/s/wink.gif"><TD ALIGN=CENTER> ;-) </TD></TR>
<TR><TD>mixed <TD ALIGN=CENTER><img ALT=mixed SRC="<?=$CFG->wwwroot?>/pix/s/mixed.gif"><TD ALIGN=CENTER> :-/ </TD></TR>
<TR><TD>wide-eyed <TD ALIGN=CENTER><img ALT=wide-eyed SRC="<?=$CFG->wwwroot?>/pix/s/wideeyes.gif"><TD ALIGN=CENTER> 8-) </TD></TR>
<TR><TD>tongue-out <TD ALIGN=CENTER><img ALT=tongue-out SRC="<?=$CFG->wwwroot?>/pix/s/tongueout.gif"><TD ALIGN=CENTER> :-P </TD></TR>
<TR><TD>surprise <TD ALIGN=CENTER><img ALT=surprised SRC="<?=$CFG->wwwroot?>/pix/s/surprise.gif"><TD ALIGN=CENTER> :-o </TD></TR>
<TR><TD>cool <TD ALIGN=CENTER><img ALT=cool SRC="<?=$CFG->wwwroot?>/pix/s/cool.gif"><TD ALIGN=CENTER> B-) </TD></TR>
</TABLE>
</UL>
<P><B>URLs</B></P>
<UL>
<P>Any "word" starting with <B>www.</B> or <B>http://</B> will automatically be turned into a clickable link.
<P>For example: <A HREF="http://www.yahoo.com">www.yahoo.com</A> or <A HREF="http://curtin.edu">http://curtin.edu</A>
</UL>
<P><B>HTML tags</B></P>
<UL>
<P>You can use a limited subset of HTML tags to add emphasis to your texts.
<TABLE BORDER=0 CELLPADDING=5 CELLSPACING=5>
<TR><TH>HTML tags<TH>Produces</TR>
<TR><TD>&lt;B> bold &lt;/B> <TD> <B>bold text</B> </TR>
<TR><TD>&lt;I> italic &lt;/I> <TD> <I>italic text</I> </TR>
<TR><TD>&lt;U> underline &lt;/U> <TD> <U>underlined text</U> </TR>
<TR><TD>&lt;FONT SIZE=1> small &lt;/FONT> <TD> <FONT SIZE=1>small</FONT> </TR>
<TR><TD>&lt;FONT SIZE=4> large &lt;/FONT> <TD> <FONT SIZE=4>large</FONT> </TR>
<TR><TD>&lt;FONT COLOR=green> example &lt;/FONT> <TD> <FONT color=green>example</FONT> </TR>
</TABLE>
</UL>
+28
View File
@@ -0,0 +1,28 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Lyhyttehtävä";
$string[modulenameplural] = "Lyhyttehtävät";
#------------------------------------------------------------
$string[alwaysopen] = "Aina avoinna";
$string[blankentry] = "Tyhjä osa";
$string[daysavailable] = "Päivää avoinna";
$string[editingends] = "Muokkausaika alkaa";
$string[editingended] = "Muokkausaika loppuu";
$string[journalname] = "Lyhyttehtävän nimi";
$string[journalquestion] = "Lyhyttehtävän kysymys";
$string[journalrating1] = "Välttävä";
$string[journalrating2] = "Tyydyttävä";
$string[journalrating3] = "Kiitettävä";
$string[noentry] = "Ei osaa";
$string[notopenuntil] = "Tämä tehtävä avautuu vasta";
$string[notstarted] = "Et ole aloittanut tätä tehtävää vielä";
$string[noratinggiven] = "Ei arvostelua";
$string[overallrating] = "Yleisarvostelu";
$string[rate] = "Arvio";
$string[startoredit] = "Aloita tai muokkaa vastustustani";
$string[viewallentries] = "Katso kaikki vastaukset";
?>
+421
View File
@@ -0,0 +1,421 @@
<?PHP // $Id$
$string[thislanguage] = "Suomi"; // Francais, Italiano, etc etc
$string[action] = "Toiminta";
$string[activity] = "Tapahtuma";
$string[activities] = "Tapahtumat";
$string[activityreport] = "Tapahtuma raportti";
$string[add] = "Lisää";
$string[added] = "Lisätty \$a";
$string[addinganew] = "Lisätään uusi \$a";
$string[addinganewto] = "Lisätään uusi \$a->what ( \$a->to ) ";
$string[addnewcourse] = "Lisää uusi kurssi";
$string[addnewuser] = "Lisää uusi käyttäjä";
$string[address] = "Osoite";
$string[addteacher] = "Lisää opettaja";
$string[admin] = "Admin";
$string[administration] = "Ylläpito";
$string[again] = "tas";
$string[alldays] = "Kaikki päivät";
$string[allfieldsrequired] = "Kaikki kentät vaaditaan";
$string[alllogs] = "Kaikki lokit";
$string[allowguests] = "Tämä kurssi päästää vieras-käyttäjät mukaan.";
$string[allparticipants] = "Kaikki osallistujat";
$string[alphanumerical] = "Voi sisältää inostaan kirjaimia tai numeroita";
$string[alreadyconfirmed] = "Rekisteröinti on jo aiemmin vahvistettu.";
$string[answer] = "Vastaus";
$string[assignteachers] = "Liitä opettaja";
$string[availablecourses] = "Kurssit";
$string[cancel] = "Peruuta";
$string[categories] = "Kurssi kategoria";
$string[category] = "Kategoria";
$string[categoryadded] = "Kategoria '\$a' lisätty";
$string[categorydeleted] = "Kategoria '\$a' poistettu";
$string[changepassword] = "Vaihda salasana";
$string[changedpassword] = "Salasana vaihdettu";
$string[changessaved] = "Muutokset tallennettu";
$string[checklanguage] = "Tarkista kieli";
$string[choose] = "Valitse";
$string[choosecourse] = "Valitse kurssi";
$string[chooselivelogs] = "Tai tarkastele nykyistä aktiivisuutta.";
$string[chooselogs] = "Valitse lokit joita haluat tarkastella";
$string[choosetheme] = "Valitse teema";
$string[chooseuser] = "Valitse käyttäjä";
$string[city] = "Kaupunki/Paikkakunta";
$string[comparelanguage] = "Vertaa kieltä englantiin";
$string[confirmed] = "Rekisteröitymisesi on vahvistettu";
$string[courseupdates] = "Kurssi päivitykset";
$string[cookiesenabled] = "Selaimessasi pitää olla evästeet (cookies) päällä.";
$string[complete] = "Suorita loppuun";
$string[copyrightnotice] = "Käyttöoikeustiedot";
$string["continue"] = "Jatka";
$string[country] = "Maa";
$string[course] = "Kurssi";
$string[courseformats] = "Kurssimuodot";
$string[courses] = "Kurssit";
$string[createaccount] = "Luo uusi käyttäjätunnus.";
$string[createuserandpass] = "Luo uusi käyttäjätunnus ja salasana kirjaantumista varten";
$string[createziparchive] = "Luo zip-paketti";
$string[currentlanguage] = "Nykyinen kieli";
$string[currentlocaltime] = "Nykyinen paikallinen aika";
$string[databasechecking] = "Päivitetään tietokanta versiosta \$a->oldversion versioon \$a->newversion...";
$string[databasesetup] = "Asetetaan tietokantaa";
$string[databasesuccess] = "Tietokanta päivitettiin virheittä";
$string[databaseupgrades] = "Päivitetään tietokantaa";
$string[defaultcoursefullname] = "Kurssin koko nimi 101";
$string[defaultcourseshortname] = "KK101";
$string[defaultcoursestudent] = "Opiskelija";
$string[defaultcoursestudents] = "Opiskelijat";
$string[defaultcoursesummary] = "Kirjoita lyhytsanainen ja kiinnostava kuvaus kurssista tähän.";
$string[defaultcourseteacher] = "Opettaja";
$string[defaultcourseteachers] = "Opettajat";
$string[delete] = "Poista";
$string[deletecheck] = "Poista \$a ?";
$string[deletecheckfull] = "Oletko aivan varma että haluat pysyvästi poistaa \$a ?";
$string[deletecompletely] = "Poista kokonaan";
$string[deletecoursecheck] = "Oletko aivan varma että haluat poistaa tämän kurssin ja kaikki sen sisältämät tiedostot";
$string[deletecourse] = "Poista kurssi";
$string[deleted] = "Poistettu";
$string[deletedactivity] = "Poistettu \$a";
$string[deletedcourse] = "\$a on kokonaan poistettu";
$string[deletingcourse] = "Poistetaan \$a";
$string[description] = "Kuvaus";
$string[doyouagree] = "Oletko lukenut käyttöoikeuslisessin ja ymmärtänyt sen?";
$string[edit] = "Muokkaa \$a";
$string[editcoursesettings] = "Muokkaa kurssin asetuksia";
$string[editinga] = "Muokataan \$a";
$string[editmyprofile] = "Muokkaa tietoja";
$string[editsummary] = "Muokkaa yhteenvetoa";
$string[editthisactivity] = "Muokkaa tätä toimintoa";
$string[edituser] = "Muokkaa käyttäjätietoja";
$string[email] = "Email osoite";
$string[emailformat] = "Email muoto";
$string[emailconfirm] = "Vahvista käyttäjätunnuksesi";
$string[emailconfirmsent] = "
<P>Vahvitusviesti on lähetetty osoitteesi <B>\$a</B>
<P>Se sisältää ohjeet kuinka voit vahvistaa käyttäjätunnuksesi.
<P>Jos vahvituksessa on ongelmia ota yhteyttä ylläpitäjään.";
$string[emailconfirmation] = "Hei \$a->firstname,
Uusi käyttäjätunnus on rekistöröity '\$a->sitename'
käyttäen sinun osoitettasi.
Vahvistaaksesi käyttäjätunnuksen itsellesi mene selaimella osoitteeseen
\$a->link
Useimmissa postiohjelmissa sinun tarvitsee vain klikata ylläolevaan linkkiä.
Jos tämä ei toimi Kopioi ja liitä osoite selaimen osoitekenttään.
Terveiset '\$a->sitename' pääkäyttäjä,
\$a->admin";
$string[emaildisplay] = "Email näyttö";
$string[emaildisplayno] = "Piiloita osoitteeni kaikilta";
$string[emaildisplayyes] = "Näytä osoitteeni kaikille";
$string[emaildisplaycourse] = "Anna ainostaan kurssin jäsenten nähdä osoitteeni";
$string[emailexists] = "Tämä osoite on jo rekisteröity.";
$string[emailmustbereal] = "Huomaa: sinun pitää kayttää oikeata osoitetta";
$string[enrolmentkey] = "Avain";
$string[enrolmentkeyfrom] = "Tämä kurssi vaatii 'avaimen' - kertaluontoisen salasanan<BR>
jonka saat \$a :lta";
$string[enrolmentkeyhint] = "Tarjottu 'avain' ei kelpaa, yritä uudelleen<BR>
(Vihje se alkaa näin: '\$a'";
$string[entercourse] = "Klikkaa päästäksesi kurssille";
$string[enteremailaddress] = "Anna email osoitteesi jotta uusi salasana voidaan lähettää sinulle.";
$string[existingteachers] = "Opettajat";
$string[error] = "Virhe";
$string[feedback] = "Palaute";
$string[filemissing] = "\$a puuttuu";
$string[files] = "Tiedostot";
$string[filloutallfields] = "Ole hyvä ja taytä lomakkeen kaikki kentät.";
$string[firstname] = "Etunimi";
$string[firsttime] = "Jos sinulla ei ole vielä tunnusta:";
$string[forgotten] = "Unohditko salasanasi?";
$string[format] = "Muotoilu";
$string[formatsocial] = "Keskustelu";
$string[formattopics] = "Aiheet";
$string[formatweeks] = "Viikot";
$string[frontpagedescription] = "Etusivun kuvaus";
$string[frontpageformat] = "Etusivun muoto";
$string[fulllistofcourses] = "Kaikki kurssit";
$string[fullprofile] = "Kaikki henkilötiedot";
$string[fullname] = "Koko nimi";
$string[fullsitename] = "Koko sivuston nimi";
$string[gpl] = "Copyright (C) 2001-2002 Martin Dougiamas (http://dougiamas.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details:
http://www.gnu.org/copyleft/gpl.html";
$string[grade] = "Luokka";
$string[guestskey] = "Salli vieraat joilla on avain";
$string[guestsno] = "Älä salli vieraita";
$string[guestsnotallowed] = " '\$a' ei salli vieraiden liittyä.";
$string[guestsyes] = "Salli vieraat ilman avainta";
$string[guestuser] = "Vieras käyttäjä";
$string[guestuserinfo] = "Tämä tunnus sallii joidenkin kusssien \"vain luku\"-tyypisen selailun.";
$string[help] = "Ohje";
$string[helphtml] = "Kuinka kirjoitaa HTML:llää";
$string[helppicture] = "Kuinka lähettää kuva";
$string[helptext] = "Kuinka kirjoittaa tekstiä";
$string[helpquestions] = "Kuinka kysyä apua";
$string[home] = "Koti";
$string[htmlformat] = "Runsas HTML muotoilu";
$string[icqnumber] = "ICQ numero";
$string[idnumber] = "ID numero";
$string[leavetokeep] = "Pidä tyhjänä säilyttääksi nykyisen salasanasi.";
$string[invalidlogin] = "Kirjaantuminen epäonnistui , yritä uudelleen";
$string[invalidemail] = "Virhellinen sähköpostiosoite";
$string[languagegood] = "Tämä kieli paketti on ajantasalla! :-)";
$string[lastaccess] = "Viimeksi käytetty";
$string[lastedited] = "Viimeksi muokattu";
$string[lastmodified] = "Viimeksi muutettu";
$string[lastname] = "Sukunimi";
$string[latestnews] = "Viimeisimmät uutiset";
$string[listofallpeople] = "Kaikki henkilöt";
$string[license] = "GPL Lisenssi";
$string[livelogs] = "Anna viimeisen tunnin loki";
$string[location] = "Sijainti";
$string[loggedinas] = "Olet kijaantunut tunnuksella \$a.";
$string[loggedinnot] = "Et ole kirjaantunut.";
$string[login] = "Kirjaannu";
$string[loginas] = "Kirjaannu toisena";
$string[loginguest] = "Kirjannu vieraana";
$string[loginsite] = "Kirjaannu sivustoon";
$string[loginto] = "Kirjaannu \$a";
$string[loginusing] = "Kirjaannu tästä käyttäen tunnusta ja salasanaasi";
$string[loginsteps] = "Hei! Käytä hetki aikaa luodaksesi itsellesi käyttäjätunnus ja salasana sivustoon. Tämä mahdolistaa sivuston vapaan käytön.
Jotkut kurssit saattavat myös vaatia kertakäyttöisen &quot;avaimen&quot; jonka saat myöhemmin. Luodaksi tunnuksen itsellesi sinum pitää:
<OL size=2>
<LI>Täyttää <A HREF=\$a>uusi tunnus</A> lomake henkilötiedoillasi.
<LI>Sähköposti löhetetään antamaasi osoitteeseen.
<LI>Lue postisi ja klikaa linkkiä viestissä
<LI>Tunnuksesi vahvistetaan ja sinut kirjataan sisään.
<LI>Valise kurssit jolle haluat.
<LI>Jos kurssi vaatii &quot;avaimen&quot; - käytä sitä jonka sait opettajaltasi.
<LI>Nyt voit käyttää järjestelmää vapaasti. Vastaisuudessa kirjannut vain antamalla käyttäjätunnuksen ja salasanan vieressä oleviin kentiin. .
</OL>";
$string[logout] = "Logout";
$string[logs] = "Lokit";
$string[makeafolder] = "Luo kansio";
$string[mainmenu] = "Päävalikko";
$string[managedatabase] = "Huolla tietokantaa";
$string[markthistopic] = "Merkitse tämä aihe aktiiviseksi.";
$string[maximumchars] = "Maksimi määrä \$a merkkejä";
$string[maximumgrade] = "Maksimi luokka";
$string[maxsize] = "Maksimi koko: \$a";
$string[miscellaneous] = "Muut"; // Default course category
$string[missingcategory] = "Sinun pitää valita kategoria";
$string[missingcity] = "Puuttuva kaupunki/paikkakunta";
$string[missingcountry] = "Puuttuva maa";
$string[missingdescription] = "Puuttuva kuvaus";
$string[missingemail] = "Puuttuva sähköpostiosoite";
$string[missingfirstname] = "Puuttuva etunimi";
$string[missingfullname] = "Puuttuva kokonimi";
$string[missinglastname] = "Puuttuva sukunimi";
$string[missingshortname] = "Puuttuva lyhyt nimi";
$string[missingnewpassword] = "Puuttuva uusi salasana";
$string[missingpassword] = "Puuttuva salasana";
$string[missingshortsitename] = "Puuttuva sivuston lyhyt nimi ";
$string[missingsitedescription] = "Puutuva sivuston kuvaus";
$string[missingsitename] = "Puuttuva sivuston nimi";
$string[missingstrings] = "Tarkista puuttuvat merkkijonot";
$string[missingstudent] = "Pitää valita opiskelija";
$string[missingsummary] = "Puuttuva yhteenveto";
$string[missingteacher] = "Pitää valita opettja";
$string[missingusername] = "Puuttuva käyttäjänimi";
$string[modified] = "Muokattu";
$string[modulesetup] = "Asetetaan moduli-taulut";
$string[modulesuccess] = "\$a taulut asetettu";
$string[mostrecently] = "viimeisimmät";
$string[movedown] = "Siirrä alas";
$string[moveup] = "Siirrä ylös";
$string[movetoanotherfolder] = "Siirrä toiseen kansioon";
$string[movefilestohere] = "Siirrä tiedostot tänne";
$string[mustconfirm] = "Vahvista kirjaantumisesi ";
$string[mycourses] = "Omat kurssini";
$string[name] = "Nimi";
$string[namesocial] = "osio";
$string[nametopics] = "otsikko";
$string[nameweeks] = "viikko";
$string[newaccount] = "Uusi tunnus";
$string[newforumposts] = "Uudet viestit";
$string[newpassword] = "Uusi salasana";
$string[newpasswordtext] = "Hei \$a->firstname,
Salasanasi sivustolla '\$a->sitename' on vaihdettu ja sinulle
on annettu uusi tilapäinen salasana
Uudet tunnuksesi ja salasanasi ovat seuraavat :
tunnus: \$a->username
salasana: \$a->newpassword
Käytä alla olevaa linkkiä vaihtaakasi salsanasi:
\$a->link
Useimmissa postiohjelmissa sinun tarvitsee vain klikata ylläolevaan linkkiä.
Jos tämä ei toimi Kopioi ja liitä osoite selaimen osoitekenttään.
Terveiset '\$a->sitename' pääkäyttäjä,
\$a->signoff";
$string[newpicture] = "uusi kuva";
$string[newuser] = "uusi käyttäjä";
$string[newusers] = "Uudet käyttäjät";
$string[newsitem] = "uutisaihe";
$string[newsitems] = "uutisaiheet";
$string[newsitemsnumber] = "Näytä uutisaiheet";
$string[never] = "Ei koskaan";
$string[no] = "Ei";
$string[nocoursesyet] = "Ei kursseja tässä kategoriassa";
$string[noexistingteachers] = "Ei opettajia";
$string[nograde] = "Ei ";
$string[nopotentialteachers] = "Ei mahdollisia opettajia";
$string[nostudentsyet] = "Kursilla ei ole vielä opiskelijoita";
$string[nosuchemail] = "Sähköpostiosoitetta ei löydy";
$string[noteachersyet] = "Kurssilla ei ole vielä opettajaa";
$string[notenrolled] = "\$a ei ole tällä kursilla.";
$string[nothingnew] = "Ei uutisia edellisen käyntisi jälkeen";
$string[nousersyet] = "Ei vielä käyttäjiä";
$string[now] = "nyt";
$string[numberweeks] = "Viikojen/Aiheiden määrä";
$string[numdays] = "\$a päivää";
$string[numweeks] = "\$a viikkoa";
$string[numyears] = "\$a vuotta";
$string[numwords] = "\$a sanoja";
$string[numviews] = "\$a näkymiä";
$string[ok] = "OK";
$string[opentoguests] = "Avoin vieraille";
$string[optional] = "vapaaehtoinen";
$string[order] = "Tilaa";
$string[outline] = "Rakenne";
$string[participants] = "Osallistujat";
$string[password] = "Salasana";
$string[passwordchanged] = "Salasana on vaihdettu";
$string[passwordsdiffer] = "Salasanat eivät täsmää";
$string[passwordsent] = "Salasana on lähetetty";
$string[passwordsenttext] = "
<P>Viesti on lähetetty osoiteeseen \$a->email.
<P><B>Tarkista vietistä uusi salsanasi</B>
<P>uusi salasana on automaattisesti generoitu, joten haluat varmaan
<A HREF=\$a->link>vaihtaa sen sen joksikin helpommin muistettavaksi</A>.";
$string[people] = "Henkilöt";
$string[personalprofile] = "Omat henkilötiedot";
$string[phone] = "Puhelin";
$string[potentialteachers] = "Mahdolliset opettajat";
$string[preferredlanguage] = "Haluttu kieli";
$string[preview] = "Esikatsele";
$string[previeworchoose] = "Esikatsele tai valitse teema";
$string[question] = "Kysymys";
$string[readme] = "README"; // This is a file name
$string[recentactivity] = "Viimeisimmät tapahtumat";
$string[removeteacher] = "Poista opettaja";
$string['rename'] = "Nimeä uudelleen";
$string[resources] = "Resurssit";
$string[returningtosite] = "Jos sinulla on jo tunnus:";
$string[requireskey] = "Tämä kurssi vaatii avaimen";
$string[revert] = "Peruuta";
$string[role] = "Rooli";
$string[savechanges] = "Talleta muutokset";
$string[search] = "Hae";
$string[searchagain] = "Hae uudelleen";
$string[searchresults] = "Haku tulokset";
$string[section] = "Osio";
$string[selectacountry] = "Valitse maa";
$string[senddetails] = "Lähetä tiedot sähköpostilla";
$string[separateandconnected] = "Separate and Connected ways of knowing";
$string[serverlocaltime] = "Palvelimen aika";
$string[settings] = "Asetukset";
$string[shortname] = "Lyhyt nimi";
$string[shortsitename] = "Lyhyt nimi sivustolle (yksi sana)";
$string[showalltopics] = "Näytä kaikki aiheet";
$string[showallweeks] = "Näytä kaikki viikot";
$string[showlistofcourses] = "Näytä kurssilista";
$string[showonlytopic] = "Näytä vain aihe \$a";
$string[showonlyweek] = "Näytä vain viikko \$a";
$string[showtheselogs] = "Näytä nämä lokit";
$string[socialheadline] = "Keskustelu - viimeimmät aiheet";
$string[showallcourses] = "Näytä kaikki kurssit";
$string[site] = "Sivusto";
$string[sites] = "Sivustot";
$string[sitelogs] = "Sivuston lokit";
$string[sitenews] = "Sivuston uutiset";
$string[sitesettings] = "Sivuston asetukset";
$string[size] = "Koko";
$string[someallowguest] = "Jokut kurssit saattavat sallia vieras käyttäjät.";
$string[startdate] = "Kurssin aloituspäivämäärä";
$string[startsignup] = "Aloita nyt luomalla uusi käyttäjätunnus!";
$string[status] = "Tilanne";
$string[stringsnotset] = "Seuraavat merkkijonot eivät ole määriteltynä tiedostossa \$a";
$string[success] = "Valmis!";
$string[summary] = "Yhteenveto";
$string[summaryof] = "\$a Yhteenveto";
$string[supplyinfo] = "Olehyvä ja kerro jotain itsestäsi";
$string[teacheronly] = "vain \$a :lle";
$string[textformat] = "Testi";
$string[timezone] = "Aikavyöhyke";
$string[thanks] = "Kiitokset";
$string[theme] = "Teema";
$string[themesaved] = "Uusi teema tallennettu";
$string[today] = "Tänään";
$string[todaylogs] = "Päivän lokit";
$string[toomanytoshow] = "Liian paljon käyttäjiä näytettäväksi";
$string[topic] = "Aihe";
$string[topicoutline] = "Aiheen kuvaus";
$string[turneditingoff] = "Muokkaustila pois";
$string[turneditingon] = "Muokkaustila päälle";
$string[undecided] = "Valitsematon";
$string[unenrol] = "Poistu";
$string[unenrolme] = "Poista minut kurssilta \$a";
$string[unenrolsure] = "Oletko varma että haluat poistua \$a kurssilta?";
$string[unsafepassword] = "Liian helposti arvattava tai muuten apäkelpo salasana. Kokeile jotain muuta";
$string[unzip] = "Unzip";
$string[update] = "Päivitä";
$string[updated] = "Päivitetty \$a";
$string[updatemyprofile] = "Päivitä henkilötiedot";
$string[updatesevery] = "Päivitä joka \$a sekunti";
$string[updatethiscourse] = "Päivitä tämä kurssi";
$string[updatinga] = "Päivitetään \$a";
$string[updatingain] = "Päivitetään \$a->what ( \$a->in )";
$string[upload] = "Lähetä";
$string[uploadafile] = "Lähetä tiedosto";
$string[uploadthisfile] = "Lähetä tämä tiedosto";
$string[userdescription] = "Kuvaus";
$string[username] = "Käyttäjätunnus";
$string[usernameexists] = "Tämä käyttäjätunnus on jo käytössä, valitse joku muu.";
$string[userprofilefor] = "Käyttäjän henkilötiedot \$a";
$string[users] = "Käyttäjät";
$string[webpage] = "Web sivu";
$string[week] = "Viikko";
$string[weeklyoutline] = "Viikko näkymä";
$string[welcometocourse] = "Tervetuloa \$a";
$string[welcometocoursetext] = "Tervetuloa \$a->coursename!
Ensimmäiseksi sinun kannattaa muokata kurssi profiiliasi jotta muut voivat tutustua sinuun.
\$a->profileurl";
$string[withchosenfiles] = "Valituilla tiedostoilla";
$string[wordforteacher] = "Sana opettajalle";
$string[wordforteachereg] = "esim opettaja, ohjaaja jne...";
$string[wordforteachers] = "Sana opettajaille";
$string[wordforteacherseg] = "mm opettajat, ohjaajat jne...";
$string[wordforstudent] = "Sana opiskejoille";
$string[wordforstudenteg] = "esim opiskelija, osallistuja jne...";
$string[wordforstudents] = "Sana opiskelijoille";
$string[wordforstudentseg] = "esim opiskelijat, osallistujat jne...";
$string[wrongpassword] = "Väärä salasana";
$string[yes] = "Kyllä";
$string[yourlastlogin] = "Olet viimeksi kirjaantunut:";
$string[yourself] = "itse";
$string[yourteacher] = "opettajasi \$a";
?>
+29
View File
@@ -0,0 +1,29 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Aineisto";
$string[modulenameplural] = "Aineistot";
#------------------------------------------------------------
$string[addreading] = "Lisää aineisto";
$string[editingareading] = "Aineiston muokkaus";
$string[example] = "Esimerkki";
$string[examplereference] = "Tobin, K. & Tippins, D (1993) Constructivism as a Referent for Teaching and Learning. In: K. Tobin (Ed) The Practice of Constructivism in Science Education, pp 3-21, Lawrence-Erlbaum, Hillsdale, NJ.";
$string[exampleurl] = "http://www.example.com/somedirectory/somefile.html";
$string[filename] = "Tiedoston nimi";
$string[fulltext] = "Teksti";
$string[htmlfragment] = "HTML";
$string[neverread] = "Lukematta";
$string[note] = "Huomaa";
$string[notefile] = "Lisätäksesi tiedostoja kurssille (jotta ne näkysivät tässä listassa) käytä
<A HREF=\$a >Tiedostot-</A>työkalua.";
$string[notypechosen] = "Sinun pitää valita luettavan aineiston tyyppi tyyppi. Kaytä selaimen \"back\"-nappia.";
$string[readingtype] = "Tyyppi";
$string[readingtype1] = "Viittaus";
$string[readingtype2] = "Web-sivu";
$string[readingtype3] = "Tiedosto";
$string[readingtype4] = "Teksti";
$string[readingtype5] = "Web-linkki";
$string[readingtype6] = "HTML";
?>
+45
View File
@@ -0,0 +1,45 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Palautekysely";
$string[modulenameplural] = "Palautekyselyt";
#------------------------------------------------------------
$string[actual] = "Varsinainen";
$string[allquestions] = "Kaikki kysymykset järjestyksessä, kaikki opiskelijat";
$string[allscales] = "Kaikki asteikot, kaikki opiskelijat";
$string[alreadysubmitted] = "Olet jo palauttanut tämän kyselyn";
$string[analysisof] = "Analyysi \$a";
$string[ipreferthat] = "Pidän parempana että";
$string[ifoundthat] = "Huomasin että";
$string[done] = "Tehty";
$string[download] = "Lataa";
$string[downloadexcel] = "Lataa tiedot Excel-taulukkona";
$string[downloadinfo] = "Voit ladata kaikki kyselyn tiedot analysointia varten. Voit käyttää tietoja Excel, SPPS tai muussa ohjelmissa.";
$string[downloadtext] = "Lataa tiedot tekstitiedostona.";
$string[editingasurvey] = "Kyselyn muokkaus";
$string[helpsurveys] = "Opastus eri kyselytyyppeihin";
$string[introtext] = "Johdanto teksti";
$string[name] = "Nimi";
$string[nobodyyet] = "Kukaan ei ole vielä suorittanut tätä kyselyä";
$string[notdone] = "Ei vielä suorittu";
$string[notes] = "Oma analyysisi ja muistiinpanosi.(Henk.Kohtainen)";
$string[peoplecompleted] = "\$a henkilöä on suorittanut tämän kyselyn";
$string[preferred] = "Suositettu";
$string[questions] = "Kysymykset";
$string[question] = "Kysymys";
$string[report] = "Palaute raportti";
$string[scales] = "Skaalat";
$string[savednotes] = "Muistiinpanosi tallennettiin";
$string[seemoredetail] = "Klikkaa tästä nähdäksesi lisätietoja ";
$string[selectedquestions] = "Valitut kysymykset, kaikki opiskelijat";
$string[summary] = "Yhteenveto";
$string[surveycompleted] = "Olet suorittanut tämän kyselyn. Alla olevasta kuvasta näet suorituksesi verrattuna kurssin keskiarvoon.";
$string[surveyname] = "Kyselyn nimi";
$string[surveysaved] = "Kesely tallennettu";
$string[surveytype] = "Kyselyn tyyppi";
$string[thanksforanswers] = "Kiitos vastauksestasi kyselyyn, \$a";
$string['time'] = "Aika";
$string[viewsurveyresponses] = "Katso \$a kyselyn vastaukset";
?>
+5
View File
@@ -0,0 +1,5 @@
French Translation
------------------
Author: Sebastien Nameche
+31
View File
@@ -0,0 +1,31 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Devoir";
$string[modulenameplural] = "Devoirs";
#------------------------------------------------------------
$string[assignmentdetails] = "Détails du devoir";
$string[assignmentname] = "Nom du devoir";
$string[assignmenttype] = "Type du devoir";
$string[description] = "Description";
$string[duedate] = "À rendre le";
$string[early] = "\$a en avance";
$string[failedupdatefeedback] = "Failed to update submission feedback for user \$a";
$string[feedbackupdated] = "Submissions feedback updated for \$a people";
$string[late] = "\$a en retard";
$string[maximumgrade] = "Note maximale";
$string[maximumsize] = "Taille maximale";
$string[notsubmittedyet] = "Pas encore rendu";
$string[overwritewarning] = "Attention: Un nouvel envoi remplacera votre devoir déjà remis";
$string[submissionfeedback] = "Submission feedback";
$string[submissions] = "Devoirs rendus";
$string[submitted] = "Devoir rendu";
$string[typeuploadsingle] = "Upload a single file, worth between 0 - 100 marks";
$string[uploadedfiles] = "fichiers envoyés";
$string[viewsubmissions] = "Voir \$a devoirs rendus";
$string[yoursubmission] = "Votre devoir";
?>
+18
View File
@@ -0,0 +1,18 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Question";
$string[modulenameplural] = "Questions";
#------------------------------------------------------------
$string[answered] = "Répondu";
$string[choice1] = "Première réponse";
$string[choice2] = "Seconde réponse";
$string[choicename] = "Nom de la question";
$string[choicetext] = "Texte de la question";
$string[notanswered] = "Pas encore répondu";
$string[responses] = "Réponses";
$string[responsesto] = "Réponses à \$a";
$string[savemychoice] = "Enregistrer ma réponse";
$string[viewallresponses] = "Voire les \$a réponses";
?>
+95
View File
@@ -0,0 +1,95 @@
<?PHP // $Id$
#------------------------------------------------------------
$string[modulename] = "Forum";
$string[modulenameplural] = "Forums";
#------------------------------------------------------------
$string[addanewdiscussion] = "Ajouter un nouveau sujet de discussion";
$string[allowchoice] = "Autoriser tout le monde à choisir";
$string[allowdiscussions] = "Autoriser un \$a à commencer une nouvelle discussion ?";
$string[allowratings] = "Autoriser l'évaluation des articles";
$string[allowsdiscussions] = "Chacun peut démarrer un nouveau sujet de discussion dans ce forum";
$string[bynameondate] = "par \$a->name - \$a->date";
$string[canstudentsstart] = "Autoriser un \$a à commencer une nouvelle discussion ?";
$string[delete] = "supprimer";
$string[discussion] = "Discussion";
$string[discussions] = "Discussions";
$string[discussionsstartedby] = "Discussions commencées par \$a";
$string[discussthistopic] = "Discuter sur ce sujet";
$string[eachuserforum] = "Chaque personne poste un article";
$string[edit] = "éditer";
$string[everyonecanchoose] = "Tout le monde peut choisir de s'inscrire";
$string[everyoneissubscribed] = "Tout le monde est inscrit à ce forum";
$string[forcesubscribe] = "Forcer l'inscription de tout le monde";
$string[forcesubscribeq] = "Forcer l'inscription de tout le monde ?";
$string[forum] = "Forum";
$string[forumintro] = "Introduction au forum";
$string[forumname] = "Nom du forum";
$string[forums] = "Forums";
$string[forumtype] = "Type du forum";
$string[generalforum] = "Forum standard pour utilisation générale";
$string[generalforums] = "Forums standards";
$string[inforum] = "dans \$a";
$string[intronews] = "Nouvelles générales et annonces";
$string[introsocial] = "Un forum ouvert pour discuter à propos de n'import quoi";
$string[introteacher] = "Un forum réservé aux notes et discussions des professeurs";
$string[learningforums] = "Forums d'apprentissage";
$string[message] = "Message";
$string[modeflatoldestfirst] = "Afficher les réponses en ligne, la plus ancienne en premier";
$string[modeflatnewestfirst] = "Afficher les réponses en ligne, la plus récente en premier";
$string[modenested] = "Afficher les réponses emboitées";
$string[modethreaded] = "Afficher les réponses en files de discussions";
$string[more] = "plus";
$string[namenews] = "Forum des nouvelles";
$string[namesocial] = "Forum social";
$string[nameteacher] = "Forum des professeurs";
$string[nodiscussions] = "Il n'y a pas encore de sujet de discussion dans ce forum";
$string[noposts] = "Pas d'article";
$string[nosubscribers] = "Il n'y a pas encore d'inscrits à ce forum";
$string[nownotsubscribed] = "\$a->name NE recevra PAS de copies de '\$a->forum' par émail.";
$string[nowsubscribed] = "\$a->name recevra une copie de '\$a->forum' par émail.";
$string[numposts] = "\$a articles";
$string[olderdiscussions] = "Discussions plus anciennes";
$string[parentofthispost] = "Niveau supérieur de cet article";
$string[postmailinfo] = "Ceci est une copie du message posté sur le site \$a
Pour ajouter une réponse sur le site, cliquer sur ce lien:";
$string[postingtip] = "<B>Conseils de rédaction</B><BR><BR>
Avant de répondre :
<UL>
<LI>lire l'article calmement et avec attention
<LI>identifier les points sur lesquels vous pouvez répondre
</UL>
Lors de la rédaction :
<UL>
<LI>garder votre réponse courte et dans le sujet
<LI>expliquez vos idées clairement
<LI>pensez aux questions que vous pouvez poser
</UL>";
$string[postrating1] = "À coté de la plaque la plupart du temps";
$string[postrating2] = "Equally separate and connected";
$string[postrating3] = "Shows mostly CONNECTED knowing";
$string[processingpost] = "Enregistrement de l'article \$a";
$string[rate] = "Évaluation";
$string[ratings] = "Évaluations";
$string[readtherest] = "Lire le reste du sujet";
$string[repliesmany] = "\$a réponses";
$string[repliesone] = "\$a réponse";
$string[reply] = "répondre";
$string[search] = "Chercher";
$string[searchforums] = "Chercher dans les forums";
$string[sendinratings] = "Envoyer mes dernières évaluations";
$string[showsubscribers] = "Afficher les inscrits";
$string[singleforum] = "Une seule discussion simple";
$string[subject] = "Sujet";
$string[subscribe] = "S'inscrire à ce forum";
$string[subscribed] = "Inscrit";
$string[subscribers] = "Inscrits";
$string[subscribersto] = "Inscrits à '\$a'";
$string[unsubscribe] = "Désinscription de ce forum";
$string[youratedthis] = "Vous avez évaluez cela";
?>
+12
View File
@@ -0,0 +1,12 @@
<P ALIGN=CENTER><B>Catégories de cours</B></P>
<P>L'administrateur de votre site Moodle a peut-être
créé plusieurs catégories de cours.
<P>Par exemple, « sciences », « sciences sociales »,
« santé publique », etc.
<P>Choisissez celle qui s'applique le mieux à votre
cours. Ce choix permettra de classer votre cours dans
la liste des cours et permettra aux étudiants de le
trouver plus facilement.
+27
View File
@@ -0,0 +1,27 @@
<P ALIGN=CENTER><B>Moodle course formats</B></P>
<P><B>Format hebdomadaire</B></P>
<UL>
Le cours est organisé par semaine avec des dates de début et de fin
clairement identifiées. Chaque semaine contient des activités.
Certaines, comme les journaux, peuvent avoir une « durée de vie »
de, par exemple, deux semaines après laquelle elles ne sont plus
disponibles.
</UL>
<P><B>Format en parties</B></P>
<UL>
Trés similaire au format hebdomadaire exception faite que les semaines
sont appelées « partie ». Une « partie » n'est contrainte par aucune
limite calendaire. Vous n'avez besoin de préciser aucune date.
</UL>
<P><B>Format informel</B></P>
<UL>
Ce format est organisé autour d'un forum principal, le « Forum public »,
qui est disposé sur la page d'accueil du cours. Il est utile dans les
situations informelles qui peuvent même ne pas être des
cours. Par exemple, il peut être utilisé comme tableau d'affichage pour
un département.
</UL>
+5
View File
@@ -0,0 +1,5 @@
<P ALIGN=CENTER><B>Nom complet du cours</B></P>
<P>Le nom complet du cours est affiché en haut de l'écran et dans
la liste des cours.</P>
+15
View File
@@ -0,0 +1,15 @@
<P ALIGN=CENTER><B>Articles récents à afficher</B></P>
<P>Un forum spécial appelé « Nouvelles » apparaît dans
les cours organisés par semaine ou par partie. C'est
le bon endroit pour publier des informations à
destination des tous les étudiants (qui sont tous
inscrits par défaut à ce forum, ils recevront donc
tous ces informations par émail).
<P>Ce paramètre détermine le nombre de nouvelles récentes
qui seront affichées sur la page d'accueil du cours,
dans une zone « Nouvelles » située en bas, à droite.
<P>Si vous choisissez la valeur « 0 articles », cette
zone ne sera même pas affichée.
+14
View File
@@ -0,0 +1,14 @@
<P ALIGN=CENTER><B>Nombre de semaines ou parties</B></P>
<P>Ce paramètre n'est utilisé que pour les cours organisés
par semaine ou par partie.</P>
<P>Dans le format hebdomadaire, il indique la durée en semaines
du cours à partir de sa date de début.</P>
<P>Pour les cours organisés en parties, il détermine le nombre
de parties qui le compose.</P>
<P>Dans le deux cas, ce nombre conditionne la quantité de
« boîtes » qui seront affichées au milieu de la page d'accueil
du cours.
+8
View File
@@ -0,0 +1,8 @@
<P ALIGN=CENTER><B>Nom abrégé du cours</B></P>
<P>Beaucoup d'organismes ont une référence abgrégée pour chaque
cours ou formation. Même si cela n'est pas votre cas, vous
devez en indiquer un ici. Il sera utilisé à plusieurs endroits
où le nom complet du cours n'est pas adapté (par exemple, dans
l'objet des émails envoyés).
+19
View File
@@ -0,0 +1,19 @@
<P ALIGN=CENTER><B>Date de début du cours</B></P>
<P>Indiquez ici la date de début du cours (dans votre
fuseau horaire).</P>
<P>Si vous utilisez le format hebdomadaire, cela affectera
l'affichage des semaines, la première commençant à
cette date.</P>
<P>Ce paramètre n'est pas utilisé pour la mise en forme
des cours organisés en parties ou des cours informels.
<P>Cependant, il déterminera la date la plus ancienne qui
pourra être affichée dans le journal des évènements.
<P>En général, si le cours a une date réelle de départ, il
est cohérent de l'indiquer ici, quelque soit le format
de cours utilisé.</P>
+24
View File
@@ -0,0 +1,24 @@
<P ALIGN=CENTER><B>Clé d'inscription au cours</B></P>
<P>Une clé d'inscription permet d'éviter que des personnes
indésirables ne s'inscrivent au cours.</P>
<P>Si vous laissez cette zone vide, toute personne qui
aura créé un compte sur ce site aura la possibilité
de s'inscrire au cours.<P>
<P>Si, au contraire, vous fournissez un chaîne de caractères
ici, elle sera demandée (<B>seulement la première fois</B>)
pour vérification à toute personne tentant de s'inscrire
au cours.</P>
<P>Le pincipe est que vous fournissiez cette clé d'accès
de manière privée : par émail, courrier postal, téléphone
ou même verbalement.</P>
<P>Si cette clé d'accès venait à être divulguée et que des
personnes indésirables se sont inscrites au cours, il vous
est possible de les désinscrire (sur la page de leur
profile personnel) puis de changer cette clé. Aucun
étudiant légitimement inscrit ne sera affecté mais les
indésirables ne pourront s'inscrire de nouveau</P>

Some files were not shown because too many files have changed in this diff Show More