Compare commits

..

349 Commits

Author SHA1 Message Date
Martin Dougiamas f5f4479bd3 Bump 1.8.11 2009-11-25 18:38:08 +00:00
Moodle Robot 20acceb6ee Updated the 18 build version to 20091125 2009-11-25 00:34:56 +00:00
Dan Marsden fcf3501437 SCORM MDL-20955 fix bad use of update_record - thanks Petr 2009-11-24 21:12:09 +00:00
Dan Marsden b2d99131e8 SCORM MDL-20955 addslashes fixes 2009-11-24 21:09:31 +00:00
Petr Skoda 0c60d23bd5 MDL-20958 fixed login issues when login via https required 2009-11-24 16:19:56 +00:00
Sam Hemelryk ebcd41cac2 upgrade MDL-20933 Fixed warning if get_records_sql returned false rather than an array 2009-11-24 04:03:35 +00:00
Moodle Robot 966d4358d4 Updated the 18 build version to 20091124 2009-11-24 00:34:35 +00:00
Eloy Lafuente 0004ac64a5 MDL-20939 backup & restore - avoid admins to be always included. Two things
were causing this: wrong get_users_by_capability() call and standard scales.
Improved scales restore to observe the 'moodle/course:managescales' cap.
Backported from 19_STABLE
2009-11-24 00:26:24 +00:00
Petr Skoda 9cd77bde85 MDL-20934 'not cached' flag used in all auth plugins that do not need the password 2009-11-23 21:56:05 +00:00
Eloy Lafuente 68bbdf091b MDL-20941 store hashed username into user->email field for deleted users. Backported from 19_STABLE 2009-11-23 19:01:47 +00:00
Petr Skoda 90cb3f7d20 MDL-20937 different fix for problems with forcing passsword change for admins with external auth 2009-11-23 09:06:44 +00:00
Sam Hemelryk 993c4fe32c upgrade MDL-20937 Only force admins to change password if auth=manual or email 2009-11-23 08:13:52 +00:00
Moodle Robot 7c71190b05 Updated the 18 build version to 20091123 2009-11-23 00:34:59 +00:00
Moodle Robot ffd1f730e2 Automatic installer.php lang files by installer_builder (20091123) 2009-11-23 00:32:29 +00:00
Petr Skoda 9eed2dc7da MDL-20931 fixed input validation 2009-11-22 21:03:22 +00:00
Petr Skoda 847f077e39 MDL-20933 fixed a regression, we should not force changing of password for admins that can not actually change the password 2009-11-22 17:05:14 +00:00
Petr Skoda 89d1fd9190 MDL-20933 fixed a regression, we should not force changing of password for admins that can not actually change the password 2009-11-22 17:05:14 +00:00
Eloy Lafuente 306e851f93 MDL-20932 user->secret out 2009-11-22 13:32:22 +00:00
Petr Skoda 85cd5055dc MDL-20930 fixed input validation 2009-11-22 12:43:37 +00:00
Petr Skoda d1963e4c4e MDL-20929 fixed input validation 2009-11-22 11:09:53 +00:00
Petr Skoda d9f9e5662b MDL-20928 fixed glossary entry access control 2009-11-22 10:48:46 +00:00
Petr Skoda d57861e8e6 MDL-20928 fixed glossary entry access control 2009-11-22 10:34:28 +00:00
Moodle Robot a3951a7dd2 Updated the 18 build version to 20091122 2009-11-22 00:34:13 +00:00
Petr Skoda fd2f6aed90 MDL-20927 fixed module login issue 2009-11-21 23:49:21 +00:00
Petr Skoda c3671c1291 MDL-20926 fixed fetching of cm 2009-11-21 23:08:37 +00:00
Petr Skoda 1e7e0e1df6 MDL-20901 fixed input validation 2009-11-21 22:22:31 +00:00
Petr Skoda c64e6552f7 MDL-20901 undoing previous change, not needed 2009-11-21 22:01:18 +00:00
Petr Skoda 6b82d0f68c MDL-20901 fixed input validation 2009-11-21 21:56:39 +00:00
Petr Skoda 778dab756c MDL-20925 fixed input validation and course ajax now fully respects the disable course ajax option 2009-11-21 16:28:40 +00:00
Petr Skoda a43a5041fc MDL-20924 invalid test for not configured lams module 2009-11-21 15:58:41 +00:00
Eloy Lafuente 0502aaf736 NOBUG: Fix glossary rating in 18_STABLE. Regression introduced (some months ago!)
while securing ratings (blind merged). http://moodle.org/mod/forum/discuss.php?d=138319
2009-11-21 15:46:28 +00:00
Petr Skoda d7befb3835 MDL-20901 fixed input validation 2009-11-21 15:35:05 +00:00
Petr Skoda 35c18394a0 MDL-20901 fixed input validation 2009-11-21 15:27:38 +00:00
Petr Skoda 5d8c79c0a6 MDL-20901 fixed input validation 2009-11-21 15:17:05 +00:00
Eloy Lafuente 7e4a6aa4a1 MDL-9251 backup/restore *all* users - is now forbidden for users
lacking backup/restore permission at system level. Backported from 19_STABLE
2009-11-21 11:53:08 +00:00
Eloy Lafuente 368498d978 MDL-20849 - improved lang string, thanks, Helen. 2009-11-20 17:46:36 +00:00
Moodle Robot ff894f8f0e Updated the 18 build version to 20091121 2009-11-20 17:07:34 +00:00
Moodle Robot d8b986c779 Automatic installer.php lang files by installer_builder (20091121) 2009-11-20 17:04:41 +00:00
Eloy Lafuente 5aa2b2e943 MDL-20916 protect the whole xmldb editor with sesskey. Backported from 19_STABLE 2009-11-20 15:07:18 +00:00
Petr Skoda df09d649ab MDL-20901 fixed input validation 2009-11-20 08:51:20 +00:00
Petr Skoda 135765992f MDL-20901 fixed input validation 2009-11-20 08:34:14 +00:00
Sam Hemelryk ac5058208b upgrade MDL-18807 Fixed bug with html been emailed as plain text 2009-11-20 08:16:46 +00:00
Eloy Lafuente 94a1152832 MDL-20849 moodle/restore:userinfo - new cababilty to allow/deny
permissions to restore any (users, messages, modulesactivity...)
user-level information. Backported from 19_STABLE
2009-11-20 01:21:12 +00:00
Petr Skoda 1a5a7f122f MDL-20901 fixed input validation 2009-11-19 19:42:05 +00:00
Petr Skoda 06a6ed1f18 MDL-20901 fixed input validation 2009-11-19 19:27:12 +00:00
Petr Skoda 5a500a5a69 MDL-20901 fixed input validationand removed annoying redirect which must not be clicked during course import 2009-11-19 18:49:36 +00:00
Petr Skoda 4a8192d754 MDL-20901 fixed input validation 2009-11-19 18:12:20 +00:00
Petr Skoda f5c2028a14 MDL-20901 fixed input validation 2009-11-19 16:40:16 +00:00
Petr Skoda 6735f4a12a MDL-20901 fixed input validation 2009-11-19 08:56:36 +00:00
Petr Skoda b787618265 MDL-18807, MDL-20890 fixed notices 2009-11-18 22:35:06 +00:00
Eloy Lafuente 5701efe8da MDL-20834 new cap moodle/backup:userinfo - controls who can backupuser
related info. Disabled by default to teachers, oh my! :-( Backported from 19_STABLE
2009-11-18 15:45:33 +00:00
Sam Hemelryk f05b8d8bbc security MDL-18807 Changed language strings: Thanks for the new strings Helen 2009-11-18 09:47:22 +00:00
Sam Hemelryk f15d29f08d security MDL-18807 MDL-20853 Backported recent security chanrs to 1.8 2009-11-18 03:46:16 +00:00
Eloy Lafuente 5152338a0d MDL-20846 creating users on restore - new strings. Backported from HEAD 2009-11-18 01:26:14 +00:00
Eloy Lafuente 43df20504e MDL-20846 creating users on restore - part2 - fix navigation in header 2009-11-18 01:20:43 +00:00
Eloy Lafuente b3bf5dce4f MDL-20846 creating users on restore - part2 - hack login to inform and
allow 'restored' users to reset their password. Backported from 19_STABLE
2009-11-18 00:46:42 +00:00
Eloy Lafuente a66d540bbd file restored_password_form.php was added on branch MOODLE_18_STABLE on 2009-11-18 00:46:42 +0000 2009-11-18 00:22:44 +00:00
Petr Skoda 93a6b0e8df MDL-20639 fixed mnet security trouble - credit goes to Adrian Schlegel 2009-11-17 17:30:43 +00:00
Eloy Lafuente d322e57b0c MDL-20846 creating users on restore - part1 - mark password as 'restored'
so login will detect that for resetting password. Also some minor improvements
into user/auth detection. Backported from 19_STABLE
2009-11-17 15:31:33 +00:00
Petr Skoda fffa4ee7b0 MDL-20638 importing latest smarty 2.6.26 2009-11-17 08:56:44 +00:00
Petr Skoda 9ac25ee20b file readme_moodle.txt was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:51 +0000 2009-11-17 08:46:00 +00:00
Petr Skoda a42ecd0706 file core.run_insert_handler.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:59 +00:00
Petr Skoda b4b208f1a4 file core.smarty_include_php.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:51 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda ed2ad4f8e5 file core.rmdir.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:51 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda e695c39f8b file core.rm_auto.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:51 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda 390b55bab6 file core.read_cache_file.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:51 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda def906afa2 file core.is_trusted.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:51 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda 50b5aefbcc file core.is_secure.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda 889f41407a file core.get_php_resource.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:48 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda 4607f415b4 file core.get_microtime.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda f57d9f3f7f file core.get_include_path.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda 9b05bc45d6 file core.create_dir_structure.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda 71206d00b2 file core.assign_smarty_interface.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:48 +0000 2009-11-17 08:45:58 +00:00
Petr Skoda 5230fc68e4 file core.write_file.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:51 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda 0de8f84eca file core.write_compiled_resource.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:48 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda 0572612601 file core.write_compiled_include.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda 69dae0d9af file core.process_compiled_include.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:50 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda dec67e8724 file core.process_cached_inserts.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:50 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda 6ab04134fc file core.load_resource_plugin.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda 0cc285a4e4 file core.load_plugins.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda f9c83511f7 file core.display_debug_console.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:48 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda b6cc6a14c8 file core.assemble_plugin_filepath.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:48 +0000 2009-11-17 08:45:57 +00:00
Petr Skoda 5799bd253b file core.write_cache_file.php was added on branch MOODLE_18_STABLE on 2009-11-17 08:56:49 +0000 2009-11-17 08:45:56 +00:00
Martin Dougiamas 0c54aad420 backup/nopasswords MDL-20838 Backups are now never saved with user passwords unless the admin has defined $CFG->includeuserbackupsinpasswords in config.php (Merged from 1.9) Credits to Eloy 2009-11-17 05:54:07 +00:00
Moodle Robot 185f15cd5e Updated the 18 build version to 20091117 2009-11-17 00:34:41 +00:00
Moodle Robot 6bcbac9239 Updated the 18 build version to 20091116 2009-11-16 00:34:52 +00:00
Moodle Robot fa085551ac Updated the 18 build version to 20091115 2009-11-15 00:35:44 +00:00
Moodle Robot 01032ec726 Updated the 18 build version to 20091114 2009-11-14 00:34:30 +00:00
Moodle Robot 19345459b7 Updated the 18 build version to 20091113 2009-11-13 00:35:04 +00:00
Moodle Robot 8f006d1ad8 Updated the 18 build version to 20091112 2009-11-12 00:34:07 +00:00
Moodle Robot dcc283d456 Updated the 18 build version to 20091111 2009-11-11 00:34:57 +00:00
Moodle Robot d7dc70cff1 Updated the 18 build version to 20091110 2009-11-10 00:34:11 +00:00
Gordon Bateson e8c35867b7 ensure user has_capability('mod/hotpot:attempt', $module) when viewing a HotPot or submitting results 2009-11-09 01:26:36 +00:00
Moodle Robot 68bddc6a74 Updated the 18 build version to 20091109 2009-11-09 00:33:51 +00:00
Moodle Robot f89b5161c5 Automatic installer.php lang files by installer_builder (20091109) 2009-11-09 00:31:30 +00:00
Eloy Lafuente af2d893d69 NOBUG: Initial commit of Dhivehi installer lang pack. Backported from HEAD 2009-11-08 16:21:29 +00:00
Eloy Lafuente 88c3f45682 file installer.php was added on branch MOODLE_18_STABLE on 2009-11-08 16:21:29 +0000 2009-11-08 16:16:19 +00:00
Moodle Robot 9ce9f61d8e Updated the 18 build version to 20091108 2009-11-08 00:33:27 +00:00
Moodle Robot dd40318662 Updated the 18 build version to 20091107 2009-11-07 00:33:45 +00:00
Moodle Robot 04609a6e54 Automatic installer.php lang files by installer_builder (20091107) 2009-11-07 00:31:08 +00:00
Moodle Robot 25f9a4ca99 Updated the 18 build version to 20091106 2009-11-06 00:34:47 +00:00
Moodle Robot f6953fba42 Updated the 18 build version to 20091105 2009-11-05 00:34:46 +00:00
Inaki 29bd2be123 enrol/ldap: MDL-13952 Don't auto create courses if auto creation is not enabled 2009-11-04 20:58:31 +00:00
Moodle Robot 1816ae24d2 Updated the 18 build version to 20091104 2009-11-04 00:34:34 +00:00
Moodle Robot 1846f4c588 Automatic installer.php lang files by installer_builder (20091104) 2009-11-04 00:31:35 +00:00
Moodle Robot 495a9ca909 Updated the 18 build version to 20091103 2009-11-03 00:34:34 +00:00
Tim Hunt ae43de38e0 quiz manual grading: MDL-20706 prevent XSRF.
Uses new require_sesskey funciton from MDL-20702.
2009-11-02 17:08:04 +00:00
Tim Hunt 9e63957428 lesson: MDL-20705 Fix XSRF issues.
Uses new require_sesskey funciton from MDL-20702.
2009-11-02 17:01:03 +00:00
Tim Hunt 2fb0138721 moodlelib: MDL-20702 New require_sesskey function.
Backported from head.
2009-11-02 16:50:26 +00:00
Moodle Robot dff5e4d153 Updated the 18 build version to 20091102 2009-11-02 00:33:49 +00:00
Moodle Robot 92c7772c70 Updated the 18 build version to 20091101 2009-11-01 00:33:41 +00:00
Moodle Robot d7fb192d75 Updated the 18 build version to 20091031 2009-10-31 00:35:18 +00:00
Moodle Robot 4e05658313 Automatic installer.php lang files by installer_builder (20091031) 2009-10-31 00:31:38 +00:00
Eloy Lafuente d217bcf1a8 MDL-20288 add_to_log() - handle empties in a cross-db way. Merged from 17_STABLE 2009-10-30 16:41:55 +00:00
Moodle Robot ec230ea9cd Updated the 18 build version to 20091030 2009-10-30 00:33:28 +00:00
Moodle Robot a03215e7a1 Updated the 18 build version to 20091029 2009-10-29 00:35:01 +00:00
Moodle Robot d260434e49 Updated the 18 build version to 20091028 2009-10-28 00:34:22 +00:00
Moodle Robot 7153c8eb7c Updated the 18 build version to 20091027 2009-10-27 00:34:31 +00:00
Martin Dougiamas ded50d4d15 Bumping post 1.8.10 release 2009-10-26 04:21:35 +00:00
Moodle Robot 2ff7434673 Updated the 18 build version to 20091026 2009-10-26 04:07:12 +00:00
Martin Dougiamas 7996e0c406 Bumping version for 1.8.10 release (note new convention for numbering) 2009-10-26 03:49:44 +00:00
Moodle Robot 159b126f30 Updated the 18 build version to 20091025 2009-10-25 03:23:32 +00:00
Moodle Robot 075944ac22 Updated the 18 build version to 20091024 2009-10-24 03:40:54 +00:00
Moodle Robot b12e7b0830 Updated the 18 build version to 20091023 2009-10-23 03:26:20 +00:00
moodlerobot 1af8d8116f Updated the 18 build version to 20091022 2009-10-22 03:17:52 +00:00
moodlerobot 1f378cc6de Automatic installer.php lang files by installer_builder (20091022) 2009-10-22 03:12:58 +00:00
moodlerobot 4ebb9d6320 Updated the 18 build version to 20091021 2009-10-21 03:21:12 +00:00
moodlerobot 6d883b3819 Automatic installer.php lang files by installer_builder (20091021) 2009-10-21 03:16:31 +00:00
moodlerobot edf27784d1 Updated the 18 build version to 20091020 2009-10-20 00:34:08 +00:00
moodlerobot 0a7047b6dd Updated the 18 build version to 20091019 2009-10-19 00:41:16 +00:00
moodlerobot a66dd8f93e Automatic installer.php lang files by installer_builder (20091019) 2009-10-19 00:38:07 +00:00
moodlerobot fa4879a74a Updated the 18 build version to 20091018 2009-10-18 00:39:40 +00:00
moodlerobot 926328ef14 Updated the 18 build version to 20091017 2009-10-17 00:40:00 +00:00
moodlerobot c6ae087c5a Updated the 18 build version to 20091016 2009-10-16 00:40:52 +00:00
moodlerobot aab73e27ac Updated the 18 build version to 20091015 2009-10-15 00:43:28 +00:00
moodlerobot 19cc2a493e Updated the 18 build version to 20091014 2009-10-14 00:41:02 +00:00
skodak f063b39d32 MDL-20555 fixed quoting 2009-10-13 20:59:28 +00:00
moodlerobot 25eb600834 Updated the 18 build version to 20091013 2009-10-13 00:40:25 +00:00
moodlerobot 3ea1e8d9d2 Updated the 18 build version to 20091012 2009-10-12 00:39:30 +00:00
moodlerobot 78f37e6b56 Updated the 18 build version to 20091011 2009-10-11 00:40:04 +00:00
moodlerobot 8d159544a5 Updated the 18 build version to 20091010 2009-10-10 00:40:00 +00:00
moodlerobot 2bac2f94b0 Updated the 18 build version to 20091009 2009-10-09 00:40:36 +00:00
moodlerobot 111e385ff1 Updated the 18 build version to 20091008 2009-10-08 00:40:29 +00:00
moodlerobot 9aa41b6eb8 Updated the 18 build version to 20091007 2009-10-07 00:40:28 +00:00
moodlerobot 039b4656c2 Automatic installer.php lang files by installer_builder (20091007) 2009-10-07 00:37:17 +00:00
moodlerobot 23bde2228b Updated the 18 build version to 20091006 2009-10-06 00:39:41 +00:00
dongsheng e419bcd652 "MDL-20422, check courses category before moving, hideing, showing courses, merged from 1.9" 2009-10-05 07:32:47 +00:00
moodlerobot 6d59b14ecf Updated the 18 build version to 20091005 2009-10-05 00:39:48 +00:00
moodlerobot 5fd7788933 Updated the 18 build version to 20091004 2009-10-04 00:39:24 +00:00
moodlerobot 11bab907be Updated the 18 build version to 20091003 2009-10-03 00:39:15 +00:00
moodlerobot 93c1183123 Updated the 18 build version to 20091002 2009-10-02 00:39:35 +00:00
moodlerobot 6c9b665384 Updated the 18 build version to 20091001 2009-10-01 00:40:47 +00:00
moodlerobot 6a8939d0ab Automatic installer.php lang files by installer_builder (20091001) 2009-10-01 00:37:48 +00:00
moodlerobot 88bde218bd Updated the 18 build version to 20090930 2009-09-30 00:40:35 +00:00
moodlerobot 56d63ff783 Updated the 18 build version to 20090929 2009-09-29 00:41:18 +00:00
moodlerobot 5f981a3232 Updated the 18 build version to 20090928 2009-09-28 00:39:32 +00:00
skodak a6bbcb9897 MDL-19718 fixed critical race condition when deleting posts - credit goes to Ashley Holman; backported from MOODLE_19_STABLE 2009-09-27 09:48:12 +00:00
moodlerobot 094a030494 Updated the 18 build version to 20090927 2009-09-27 00:38:26 +00:00
skodak ea05be7926 MDL-20309 improved sanitization of id property; backported from MOODLE_19_STABLE 2009-09-26 11:58:37 +00:00
moodlerobot 7cdae962cc Updated the 18 build version to 20090926 2009-09-26 00:38:57 +00:00
gbateson 668bcd59ed stricter checking of null fields when restoring HotPots in order to avoid unwanted chars being inserted into empty char fields on PostgreSQL sites 2009-09-25 06:24:23 +00:00
moodlerobot cc1575fec8 Updated the 18 build version to 20090925 2009-09-25 00:41:18 +00:00
moodler 4c1f29b738 resource/file MDL-20327 force target attributes on frame navigation for non-JS 2009-09-24 03:54:56 +00:00
moodlerobot 163fa26136 Updated the 18 build version to 20090924 2009-09-24 00:40:21 +00:00
moodlerobot 3cea51fdd9 Updated the 18 build version to 20090923 2009-09-23 00:41:48 +00:00
moodler 53aa452558 paypal MDL-20322 Make sure the currency is set correctly. 2009-09-22 01:52:29 +00:00
moodlerobot 7155129098 Updated the 18 build version to 20090922 2009-09-22 00:41:31 +00:00
moodlerobot d694324156 Automatic installer.php lang files by installer_builder (20090922) 2009-09-22 00:38:22 +00:00
moodlerobot 23ac83f4e6 Updated the 18 build version to 20090921 2009-09-21 00:40:12 +00:00
moodlerobot 471e108284 Updated the 18 build version to 20090920 2009-09-20 00:39:34 +00:00
moodlerobot cfc4835bd5 Updated the 18 build version to 20090919 2009-09-19 00:40:58 +00:00
moodlerobot ebf5fd9236 Updated the 18 build version to 20090918 2009-09-18 00:39:24 +00:00
moodlerobot 288d97b95d Automatic installer.php lang files by installer_builder (20090918) 2009-09-18 00:36:27 +00:00
moodlerobot d78a4108af Updated the 18 build version to 20090917 2009-09-17 00:39:40 +00:00
moodlerobot 35c9ff1e74 Updated the 18 build version to 20090916 2009-09-16 00:39:33 +00:00
moodlerobot ada891c30e Automatic installer.php lang files by installer_builder (20090916) 2009-09-16 00:36:08 +00:00
moodlerobot 8489a79b56 Updated the 18 build version to 20090915 2009-09-15 00:39:23 +00:00
moodlerobot f9116c797b Automatic installer.php lang files by installer_builder (20090915) 2009-09-15 00:36:13 +00:00
moodlerobot 66bf105b16 Updated the 18 build version to 20090914 2009-09-14 00:39:27 +00:00
moodlerobot da584747e0 Updated the 18 build version to 20090913 2009-09-13 00:39:24 +00:00
moodlerobot d1f518d1ac Updated the 18 build version to 20090912 2009-09-12 00:40:07 +00:00
moodlerobot d2d29997bd Updated the 18 build version to 20090911 2009-09-11 00:40:02 +00:00
moodlerobot f90fa6618f Updated the 18 build version to 20090910 2009-09-10 00:39:59 +00:00
moodlerobot 72c8cdcc97 Updated the 18 build version to 20090909 2009-09-09 00:40:42 +00:00
moodlerobot 54a401946a Updated the 18 build version to 20090908 2009-09-08 00:39:55 +00:00
pichetp b59da05f05 MDL-20189 correcting for the value of correctanswerlength on calculated export Merge
from HEAD
2009-09-07 01:30:56 +00:00
moodlerobot 85a15b9efc Updated the 18 build version to 20090907 2009-09-07 00:39:14 +00:00
moodlerobot 703076da45 Updated the 18 build version to 20090906 2009-09-06 00:38:48 +00:00
moodlerobot deff0ed668 Updated the 18 build version to 20090905 2009-09-05 00:39:34 +00:00
moodlerobot e4da8c79d5 Updated the 18 build version to 20090904 2009-09-04 00:40:17 +00:00
moodlerobot 6652c6845c Updated the 18 build version to 20090903 2009-09-03 00:40:08 +00:00
moodlerobot d5df4e4648 Updated the 18 build version to 20090902 2009-09-02 00:40:32 +00:00
gbateson 6e500ea970 MDL-20184 use $this->error() to print error message if no questions found importing from a Hot Potatoes XML file into Moodle's question bank / Quiz module 2009-09-01 01:23:16 +00:00
gbateson 840f10cca4 MDL-20184 more efficient and accurate detection of missing nodes in xml tree when importing Hot Potatoes XML files to Moodle question bank / quiz module 2009-09-01 01:03:43 +00:00
moodlerobot b0462d162d Updated the 18 build version to 20090901 2009-09-01 00:40:17 +00:00
gbateson 698092d191 MDL-20184 when importing questions from Hot Potatoes files to Moodle question-bank / Quiz module, the readquestions() function wil return "false", to signify an error, if no questions are detected in the import file 2009-08-31 02:06:02 +00:00
gbateson 6130645891 MDL-20185 detect zero, "0", as an answer for a gap in a JCloze when importing to the Moodle's question bank / Quiz module 2009-08-31 01:34:18 +00:00
moodlerobot 1572c445ca Updated the 18 build version to 20090831 2009-08-31 00:39:29 +00:00
moodlerobot e59c09a65a Updated the 18 build version to 20090830 2009-08-30 00:38:50 +00:00
moodlerobot d363d29e49 Updated the 18 build version to 20090829 2009-08-29 00:38:39 +00:00
gbateson 8b32c9da25 HotPot module: differentiate between "guesses-correct" (JCloze) and "guess-correct" (JCross, JMatch, JMix, JQuiz) in HotPot xml files and fix PreloadImages function for multiple images 2009-08-28 08:04:17 +00:00
moodlerobot 37828f7ee9 Updated the 18 build version to 20090828 2009-08-28 00:39:55 +00:00
moodlerobot 676148f88c Updated the 18 build version to 20090827 2009-08-27 00:39:40 +00:00
moodlerobot 31cf1cdc62 Updated the 18 build version to 20090826 2009-08-26 00:39:41 +00:00
gbateson ff2294aa8c add hotpot_encode_content_links() and hotpot_decode_content_links() to HotPot's backuplib.php and restorelib.php respectively 2009-08-25 01:22:02 +00:00
moodlerobot a21aa8620a Updated the 18 build version to 20090825 2009-08-25 00:39:30 +00:00
moodlerobot 1cd88f5e82 Updated the 18 build version to 20090824 2009-08-24 00:39:39 +00:00
moodlerobot 01e59f68d8 Updated the 18 build version to 20090823 2009-08-23 00:40:25 +00:00
moodlerobot 31d4c49ee8 Updated the 18 build version to 20090822 2009-08-22 00:40:11 +00:00
moodlerobot 585f927d73 Updated the 18 build version to 20090821 2009-08-21 00:41:02 +00:00
moodlerobot 0f83fc3a79 Updated the 18 build version to 20090820 2009-08-20 00:40:26 +00:00
moodlerobot 80ceb62e98 Updated the 18 build version to 20090819 2009-08-19 00:40:26 +00:00
moodlerobot 1b310b1d7a Updated the 18 build version to 20090818 2009-08-18 00:41:38 +00:00
jonathanharker 6b3d1c2a11 MDL-20114 admin/cron.php: Fix SQL bug when emailing new passwords.
Author: Jonathan Harker <jonathan@catalyst.net.nz>
2009-08-17 23:59:44 +00:00
moodlerobot 1821c3ee1e Updated the 18 build version to 20090817 2009-08-17 00:39:50 +00:00
moodlerobot 9b421a78eb Updated the 18 build version to 20090816 2009-08-16 00:37:54 +00:00
moodlerobot 99365f63eb Updated the 18 build version to 20090815 2009-08-15 00:39:47 +00:00
moodlerobot 6d9da5fb59 Updated the 18 build version to 20090814 2009-08-14 00:40:18 +00:00
moodlerobot 3df3b599d3 Updated the 18 build version to 20090813 2009-08-13 00:39:47 +00:00
moodlerobot b44dd42f7e Updated the 18 build version to 20090812 2009-08-12 00:41:17 +00:00
moodlerobot 3fa8da523e Updated the 18 build version to 20090811 2009-08-11 00:39:22 +00:00
moodlerobot 7395bf46c2 Updated the 18 build version to 20090810 2009-08-10 00:40:16 +00:00
moodlerobot 05cf8f8c8c Updated the 18 build version to 20090809 2009-08-09 00:41:14 +00:00
moodlerobot c63ed7258e Updated the 18 build version to 20090808 2009-08-08 00:40:10 +00:00
moodlerobot 1cc00d27ee Automatic installer.php lang files by installer_builder (20090808) 2009-08-08 00:36:57 +00:00
moodlerobot fc414b84db Updated the 18 build version to 20090807 2009-08-07 00:41:46 +00:00
moodlerobot 526347201c Updated the 18 build version to 20090806 2009-08-06 00:41:44 +00:00
moodlerobot b13bf01f5c Updated the 18 build version to 20090805 2009-08-04 23:32:11 +00:00
moodlerobot 8e89f31487 Updated the 18 build version to 20090804 2009-08-04 00:39:35 +00:00
moodlerobot 99b456031f Updated the 18 build version to 20090803 2009-08-03 00:38:17 +00:00
moodlerobot 4f028782c5 Updated the 18 build version to 20090802 2009-08-02 00:39:24 +00:00
moodlerobot 9c864e0baf Updated the 18 build version to 20090801 2009-08-01 00:38:21 +00:00
moodlerobot 9bc5b8d3f1 Updated the 18 build version to 20090731 2009-07-31 00:43:31 +00:00
moodlerobot 142cb4342b Updated the 18 build version to 20090730 2009-07-30 00:39:28 +00:00
moodlerobot 843b1285e4 Updated the 18 build version to 20090729 2009-07-29 00:40:26 +00:00
moodlerobot e8ece18d65 Updated the 18 build version to 20090728 2009-07-28 00:40:43 +00:00
moodlerobot c22dd8f8ba Updated the 18 build version to 20090727 2009-07-27 00:39:02 +00:00
moodlerobot d4925fec00 Updated the 18 build version to 20090726 2009-07-26 00:38:37 +00:00
moodlerobot 128d6f9539 Automatic installer.php lang files by installer_builder (20090726) 2009-07-26 00:35:47 +00:00
moodlerobot 320596ab00 Updated the 18 build version to 20090725 2009-07-25 00:37:44 +00:00
moodlerobot b5d972b10a Updated the 18 build version to 20090724 2009-07-24 00:39:08 +00:00
moodlerobot 53512b59af Updated the 18 build version to 20090723 2009-07-23 00:37:57 +00:00
moodlerobot 597b301704 Updated the 18 build version to 20090722 2009-07-22 00:39:08 +00:00
moodlerobot 944b547217 Updated the 18 build version to 20090721 2009-07-21 00:38:27 +00:00
moodlerobot 1de0dd89fa Automatic installer.php lang files by installer_builder (20090721) 2009-07-21 00:35:45 +00:00
moodlerobot ac7c1ebf25 Updated the 18 build version to 20090720 2009-07-20 00:39:23 +00:00
moodlerobot 0e45082763 Updated the 18 build version to 20090719 2009-07-19 00:37:34 +00:00
moodlerobot 4e4b482689 Updated the 18 build version to 20090718 2009-07-18 00:37:24 +00:00
skodak 870109388c MDL-19842 securing algebradebug the same way as text debug - only admins may use it now; backported from HEAD 2009-07-17 08:41:36 +00:00
moodlerobot 2a1b339c18 Updated the 18 build version to 20090717 2009-07-17 00:40:00 +00:00
skodak 6cbf5c39eb MDL-19832 new mimeTeX binaries v1.70; backported from HEAD 2009-07-16 10:02:46 +00:00
skodak ae4b810827 file readme_moodle.txt was added on branch MOODLE_18_STABLE on 2009-07-16 10:02:46 +0000 2009-07-16 09:48:18 +00:00
moodlerobot e637466a1d Updated the 18 build version to 20090716 2009-07-16 00:40:46 +00:00
moodlerobot aaea5b3f10 Updated the 18 build version to 20090715 2009-07-15 00:39:09 +00:00
moodlerobot 45baff2707 Updated the 18 build version to 20090714 2009-07-14 00:40:34 +00:00
fmarier 2461d98982 MDL-19729 fix SQL incompatibility with Oracle 2009-07-13 00:44:25 +00:00
moodlerobot 088d739939 Updated the 18 build version to 20090713 2009-07-13 00:40:21 +00:00
moodlerobot 769136e18b Automatic installer.php lang files by installer_builder (20090713) 2009-07-13 00:37:20 +00:00
moodlerobot 3d85b34474 Updated the 18 build version to 20090712 2009-07-12 00:39:46 +00:00
moodlerobot 4cc19c7e7a Updated the 18 build version to 20090711 2009-07-11 00:39:22 +00:00
moodlerobot de75bf053f Updated the 18 build version to 20090710 2009-07-10 00:39:12 +00:00
moodlerobot 2861d127a4 Updated the 18 build version to 20090709 2009-07-09 01:54:51 +00:00
moodlerobot ce46e871d2 Updated the 18 build version to 20090708 2009-07-08 00:39:04 +00:00
moodlerobot f18ae837e8 tags MDL-19728 Removing tags file and replacing with a tags.txt to explain where to get it 2009-07-07 03:44:12 +00:00
moodlerobot 83e85b443f file tags.txt was added on branch MOODLE_18_STABLE on 2009-07-07 03:44:12 +0000 2009-07-07 03:37:58 +00:00
moodlerobot 46877fc120 Updated the 18 build version to 20090707 2009-07-07 00:41:14 +00:00
moodlerobot 993326d7fb Updated the 18 build version to 20090706 2009-07-06 00:40:15 +00:00
moodlerobot 05eb9f1843 Updated the 18 build version to 20090705 2009-07-05 00:40:24 +00:00
moodlerobot 0f24f69298 Automatic installer.php lang files by installer_builder (20090705) 2009-07-05 00:37:14 +00:00
moodlerobot 80e33d9dae Updated the 18 build version to 20090704 2009-07-04 00:40:42 +00:00
moodlerobot a59054db2f Updated the 18 build version to 20090703 2009-07-03 00:41:20 +00:00
moodlerobot 82fc9603e4 Updated the 18 build version to 20090702 2009-07-02 00:40:10 +00:00
moodlerobot a43df8a553 Updated the 18 build version to 20090701 2009-07-01 00:41:12 +00:00
iarenaza 352032b81f CAS authentication: MDL-19671 phpCAS::getUser can return a mixed-case username, so lower-case it for comparison. 2009-06-30 23:31:32 +00:00
moodlerobot 8f60039dc1 Updated the 18 build version to 20090630 2009-06-30 00:40:20 +00:00
moodlerobot 5980a9fd2e Updated the 18 build version to 20090629 2009-06-29 00:40:19 +00:00
moodlerobot 2cc734b66f Updated the 18 build version to 20090628 2009-06-28 00:39:57 +00:00
moodlerobot 97148af42c Updated the 18 build version to 20090627 2009-06-27 00:40:07 +00:00
ptrkmkl 8593650e33 MDL-19607 removed float from sideblock command links 2009-06-26 03:00:00 +00:00
moodlerobot 97e65a48d6 Updated the 18 build version to 20090626 2009-06-26 00:41:43 +00:00
moodlerobot c639a5819b Automatic installer.php lang files by installer_builder (20090626) 2009-06-26 00:38:40 +00:00
moodlerobot 9668e71300 Updated the 18 build version to 20090625 2009-06-25 00:41:13 +00:00
moodlerobot 91c8853123 Updated the 18 build version to 20090624 2009-06-24 00:41:17 +00:00
moodlerobot 0de008cdaf Updated the 18 build version to 20090623 2009-06-23 00:41:39 +00:00
stronk7 3fa138b346 Commit new ur_utf8 lang installer file to HEAD. Automatically generated. Backported from HEAD 2009-06-22 17:59:38 +00:00
stronk7 62676f7107 file installer.php was added on branch MOODLE_18_STABLE on 2009-06-22 17:59:38 +0000 2009-06-22 17:55:40 +00:00
moodlerobot b4cf38c1ef Updated the 18 build version to 20090622 2009-06-22 00:38:56 +00:00
moodlerobot 4348b6da2a Automatic installer.php lang files by installer_builder (20090622) 2009-06-22 00:36:20 +00:00
iarenaza 6fac7bcafb subnet address: MDL-19509 Fix code and unit tests to comply with RFC4632 (prefix notations and behaviour)
Backported some code from HEAD to do it.
Merged from MOODLE_19_STABLE
2009-06-21 23:35:47 +00:00
moodlerobot f7fbea5c8f Updated the 18 build version to 20090621 2009-06-21 00:40:45 +00:00
moodlerobot 770ddc9b62 Updated the 18 build version to 20090620 2009-06-20 00:41:25 +00:00
moodlerobot d60c840d84 Automatic installer.php lang files by installer_builder (20090620) 2009-06-20 00:38:35 +00:00
moodlerobot 949c7b54ad Updated the 18 build version to 20090619 2009-06-19 00:41:29 +00:00
iarenaza 813c121564 subnet address: MDL-19509 make subnet matching work with 0.0.0.0/0 2009-06-18 22:21:55 +00:00
moodlerobot f0b5b602b7 Updated the 18 build version to 20090618 2009-06-18 00:41:53 +00:00
moodlerobot 50ef8bd235 Updated the 18 build version to 20090617 2009-06-17 00:41:41 +00:00
moodlerobot 0f59d8a230 Updated the 18 build version to 20090616 2009-06-16 00:43:22 +00:00
stronk7 5201667eb7 MDL-2794 html2text - backporting format_text_email tests to 1.8 2009-06-15 09:08:39 +00:00
fmarier e3b02662bd MDL-2794: fix html2text handling of non-ASCII characters 2009-06-15 05:59:38 +00:00
moodlerobot c6cda62a7c Updated the 18 build version to 20090615 2009-06-15 00:41:07 +00:00
moodlerobot 02be372aaa Updated the 18 build version to 20090614 2009-06-14 00:41:24 +00:00
moodlerobot 912539be52 Updated the 18 build version to 20090613 2009-06-13 00:41:13 +00:00
moodlerobot 3335c82fa8 Updated the 18 build version to 20090612 2009-06-12 00:41:02 +00:00
moodlerobot 0cfe42c2cf Automatic installer.php lang files by installer_builder (20090612) 2009-06-12 00:37:58 +00:00
moodlerobot 9220b708b0 Updated the 18 build version to 20090611 2009-06-11 00:41:18 +00:00
moodlerobot ba20d3668c Updated the 18 build version to 20090610 2009-06-10 00:40:33 +00:00
samhemelryk 7368e5197b resource MDL-18691 Implemented resource_get_name in one more place for dropdowns 2009-06-09 05:26:42 +00:00
jonathanharker 6e06f6559a MDL-12561: Regression fix: banish insecure items warning in IE7 in HTTPS sites.
blank.html now loaded with a https: URL in sites/pages using SSL.


Author: Jonathan Harker <jonathan@catalyst.net.nz>
2009-06-09 05:11:19 +00:00
moodlerobot d2dd89dca0 Updated the 18 build version to 20090609 2009-06-09 00:40:25 +00:00
moodlerobot 9e5bd31e7e Automatic installer.php lang files by installer_builder (20090609) 2009-06-09 00:37:45 +00:00
moodlerobot 338932936c Updated the 18 build version to 20090608 2009-06-08 00:41:46 +00:00
moodlerobot 8329a0d5b7 Updated the 18 build version to 20090607 2009-06-07 00:40:07 +00:00
moodlerobot fa68c42d2c Updated the 18 build version to 20090606 2009-06-06 00:39:22 +00:00
moodlerobot 2b04a8c875 Updated the 18 build version to 20090605 2009-06-05 00:39:45 +00:00
moodlerobot f7b71c536a Updated the 18 build version to 20090604 2009-06-04 00:40:57 +00:00
skodak 21896ac60f MDL-18976 simplexml ext now marked as required, credit goes to Dan Poltawski; backported from HEAD 2009-06-03 21:20:10 +00:00
skodak c56ae5f18a MDL-19388 removing mysql bypass from 1.8-2.0 - we require UTF8, no bypass possible any more 2009-06-03 16:58:31 +00:00
iarenaza dddb223c23 Password expired change url: MDL-18719 If auth plugin doesn't provide a url, use the standard one. 2009-06-03 14:20:22 +00:00
moodlerobot 5616de934e Updated the 18 build version to 20090603 2009-06-03 00:40:45 +00:00
moodlerobot 9fb601b91c Updated the 18 build version to 20090602 2009-06-02 00:39:45 +00:00
moodlerobot b427e3f088 Updated the 18 build version to 20090601 2009-06-01 00:39:38 +00:00
moodlerobot f8a00decd6 Updated the 18 build version to 20090531 2009-05-31 00:41:19 +00:00
stronk7 23acf9f241 MDL-13204 execution time - give extra time to checker because they can run looong; backported from HEAD 2009-05-30 23:58:55 +00:00
moodlerobot 085ccd8e64 Updated the 18 build version to 20090530 2009-05-30 00:39:10 +00:00
moodlerobot e0e788b9d2 Automatic installer.php lang files by installer_builder (20090530) 2009-05-30 00:36:20 +00:00
moodlerobot 749e45b051 Updated the 18 build version to 20090529 2009-05-29 00:39:40 +00:00
moodlerobot bd0a77c611 Updated the 18 build version to 20090528 2009-05-28 00:38:54 +00:00
moodlerobot c172ac7ee9 Updated the 18 build version to 20090527 2009-05-27 00:38:48 +00:00
moodlerobot b58011adad Updated the 18 build version to 20090526 2009-05-26 00:39:55 +00:00
moodler 9fc3c86f15 Bumped post release 2009-05-25 14:02:13 +00:00
moodlerobot 6ea056bd97 Updated the 18 build version to 20090525 2009-05-25 00:41:23 +00:00
gbateson cb19514522 fixes for XHTML strict: add <fieldset> arround hidden form fields, use "id" instead of "name" to locate forms, use HTML entities in button captions <= and => 2009-05-24 10:20:46 +00:00
moodlerobot 0b9363f28d Updated the 18 build version to 20090524 2009-05-24 00:40:33 +00:00
moodlerobot d425c6c0b7 Updated the 18 build version to 20090523 2009-05-23 00:39:31 +00:00
fmarier 485c80f39a MDL-19266 lib/html2text: fix error in preg_replace_callback on php4 2009-05-22 02:29:46 +00:00
fmarier 15df124a39 MDL-19266 lib/html2text: fix warnings in cron when using PHP4 2009-05-22 02:28:46 +00:00
fmarier d78b0e324f MDL-17542 lib/html2text: update to latest upstream version (r2374)
from http://trac.roundcube.net/log/trunk/roundcubemail/program/lib/html2text.php
2009-05-22 02:28:10 +00:00
fmarier 6af26c819a file html2text_readme.txt was added on branch MOODLE_18_STABLE on 2009-05-22 02:28:11 +0000 2009-05-22 02:10:22 +00:00
moodlerobot 14efe85dc5 Updated the 18 build version to 20090522 2009-05-22 00:41:36 +00:00
jonathanharker ea32b7ab44 MDL-12561 Fix IE6 "insecure items" warning in SSL sites using htmlarea
The HTMLArea editor uses the about:blank URL for blank pages, which
IE6 erroneously considers insecure. This commit replaces about:blank
with lib/editor/htmlarea/blank.html instead.


Author: Jonathan Harker <jonathan@catalyst.net.nz>
2009-05-21 01:59:01 +00:00
moodlerobot 1ab32a7567 Updated the 18 build version to 20090521 2009-05-21 00:41:37 +00:00
moodlerobot 988bb78064 Automatic installer.php lang files by installer_builder (20090521) 2009-05-21 00:38:12 +00:00
moodlerobot 440e6d9fa7 Updated the 18 build version to 20090520 2009-05-20 00:40:56 +00:00
moodlerobot bb497d6e5a Updated the 18 build version to 20090519 2009-05-19 00:40:47 +00:00
peterbulmer d813bd8763 MDL19219 mnet, mitigate arrkey loss in transit
When usernames are numeric, they are lost in mnet transit when used as
keys in the array result of course_enrolments(). As the username is not
sent with the enrolment details, it was not previously recoverable.
This patch adds the information to the enrolment details,
(enrol/mnet/enrol.php), and adds support for recovering the username if
it was numeric (and hence lost) (admin/mnet/enr_course_enrol.php)
2009-05-18 02:42:18 +00:00
moodlerobot a56e6b536c Updated the 18 build version to 20090518 2009-05-18 00:41:53 +00:00
moodlerobot 4590de7ee2 Updated the 18 build version to 20090517 2009-05-17 00:43:09 +00:00
moodlerobot 741f2fc93d Automatic installer.php lang files by installer_builder (20090517) 2009-05-17 00:38:56 +00:00
moodlerobot d906614fb5 Updated the 18 build version to 20090516 2009-05-16 00:39:42 +00:00
264 changed files with 3210 additions and 13096 deletions
+1 -1
View File
@@ -272,7 +272,7 @@
p.id as prefid
FROM {$CFG->prefix}user u
JOIN {$CFG->prefix}user_preferences p ON u.id=p.userid
WHERE p.name='create_password' AND p.value=1 AND u.email !='' ");
WHERE p.name='create_password' AND p.value='1' AND u.email !='' ");
foreach ($newusers as $newuserid => $newuser) {
$newuser->emailstop = 0; // send email regardless
+5 -3
View File
@@ -80,7 +80,6 @@
<FEEDBACK>
<ON_ERROR message="mysql416required" />
</FEEDBACK>
<BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
</VENDOR>
<VENDOR name="postgres" version="7.4" />
<VENDOR name="mssql" version="9.0" />
@@ -140,7 +139,6 @@
<FEEDBACK>
<ON_ERROR message="mysql416required" />
</FEEDBACK>
<BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
</VENDOR>
<VENDOR name="postgres" version="8.0" />
<VENDOR name="mssql" version="9.0" />
@@ -218,7 +216,6 @@
<FEEDBACK>
<ON_ERROR message="mysql416required" />
</FEEDBACK>
<BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
</VENDOR>
<VENDOR name="postgres" version="8.3" />
<VENDOR name="mssql" version="9.0" />
@@ -275,6 +272,11 @@
<ON_CHECK message="gdrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_CHECK message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="40M" level="required">
+2
View File
@@ -31,6 +31,8 @@
redirect('index.php', get_string('postrequired','mnet') ,7);
}
require_sesskey();
if ('verify' == $step) {
$mnet_peer = new mnet_peer();
$mnet_peer->set_id($hostid);
+14 -2
View File
@@ -86,9 +86,21 @@
$mnet_request->set_method('enrol/mnet/enrol.php/course_enrolments');
$mnet_request->add_param($course->remoteid, 'int');
$mnet_request->send($mnet_peer);
$all_enrolled_users = $mnet_request->response;
$raw_all_enrolled_users = $mnet_request->response;
unset($mnet_request);
$all_enrolled_users = array();
if (!empty($raw_all_enrolled_users)) {
// Try to repair keying of remote users array, numeric usernames get lost in the fracas
foreach ($raw_all_enrolled_users as $username => $userdetails) {
if (empty($userdetails['username']) || !is_numeric($username)) {
//Not able to repair, or no need to repair
$all_enrolled_users[$username] = $userdetails;
} else {
$all_enrolled_users[$userdetails['username']] = $userdetails;
}
}
}
$select = '';
$all_enrolled_usernames = '';
+1
View File
@@ -55,6 +55,7 @@ if (empty($CFG->mnet_dispatcher_mode) || $CFG->mnet_dispatcher_mode !== 'strict'
<div>
<input type="hidden" name="hostid" value="<?php echo $host->id; ?>" />
<input type="hidden" name="step" value="verify" />
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
<input type="submit" name="submit" value="<?php print_string('delete'); ?>"/>
</div>
</form>
+37
View File
@@ -42,6 +42,7 @@ function report_security_get_issue_list() {
'report_security_check_mediafilterswf',
'report_security_check_openprofiles',
'report_security_check_google',
'report_security_check_passwordsaltmain',
'report_security_check_configrw',
'report_security_check_defaultuserrole',
'report_security_check_guestrole',
@@ -740,3 +741,39 @@ function report_security_check_courserole($detailed=false) {
return $result;
}
/**
* Checks to see whether a password salt has been defined
*
* @param bool $detailed
* @return object result
*/
function report_security_check_passwordsaltmain($detailed=false) {
global $CFG;
$result = new object();
$result->issue = 'report_security_check_passwordsaltmain';
$result->name = get_string('check_passwordsaltmain_name', 'report_security');
$result->info = null;
$result->details = null;
$result->status = null;
$result->link = null;
if (empty($CFG->passwordsaltmain)) {
$result->status = REPORT_SECURITY_WARNING;
$result->info = get_string('check_passwordsaltmain_warning', 'report_security');
} else if ($CFG->passwordsaltmain === 'a_very_long_random_string_of_characters#@6&*1'
|| trim($CFG->passwordsaltmain) === '' || preg_match('/^([\w]+|[\d]+)$/i', $CFG->passwordsaltmain)) {
$result->status = REPORT_SECURITY_WARNING;
$result->info = get_string('check_passwordsaltmain_weak', 'report_security');
} else {
$result->status = REPORT_SECURITY_OK;
$result->info = get_string('check_passwordsaltmain_ok', 'report_security');
}
if ($detailed) {
$docspath = $CFG->docroot.'/'.str_replace('_utf8', '', current_language()).'/report/security/report_security_check_passwordsaltmain';
$result->details = get_string('check_passwordsaltmain_details', 'report_security', $docspath);
}
return $result;
}
+3 -2
View File
@@ -24,10 +24,10 @@
$roles = get_all_roles();
if ($grant = data_submitted()) {
if ($grant = data_submitted() and confirm_sesskey()) {
foreach ($grant as $grole => $val) {
if ($grole == 'dummy') {
if ($grole == 'dummy' or !strpos($grole, '_')) {
continue;
}
@@ -82,6 +82,7 @@
print_table($table);
echo '<div class="buttons"><input type="submit" value="'.get_string('savechanges').'"/>';
echo '<input type="hidden" name="dummy" value="1" />'; // this is needed otherwise we do not know a form has been submitted
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
echo '</div></form>';
admin_externalpage_print_footer($adminroot);
+3 -2
View File
@@ -22,10 +22,10 @@
$roles = get_all_roles();
if ($grant = data_submitted()) {
if ($grant = data_submitted() and confirm_sesskey()) {
foreach ($grant as $grole => $val) {
if ($grole == 'dummy') {
if ($grole == 'dummy' or !strpos($grole, '_')) {
continue;
}
@@ -80,6 +80,7 @@
print_table($table);
echo '<div class="buttons"><input type="submit" value="'.get_string('savechanges').'"/>';
echo '<input type="hidden" name="dummy" value="1" />'; // this is needed otherwise we do not know a form has been submitted
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
echo '</div></form>';
admin_externalpage_print_footer($adminroot);
+4 -2
View File
@@ -114,8 +114,8 @@
$updateuser->id = $user->id;
$updateuser->deleted = 1;
$updateuser->username = addslashes("$user->email.".time()); // Remember it just in case
$updateuser->email = ''; // Clear this field to free it up
$updateuser->idnumber = ''; // Clear this field to free it up
$updateuser->email = md5($user->username); // Store hash of username, useful importing/restoring users
$updateuser->idnumber = ''; // Clear this field to free it up
$updateuser->timemodified = time();
if (update_record('user', $updateuser)) {
// Removing a user may have more requirements than just removing their role assignments.
@@ -432,6 +432,8 @@
}
}
require_once($CFG->dirroot . '/blocks/extrafields/admin_user.php');
admin_externalpage_print_footer($adminroot);
+10 -2
View File
@@ -47,6 +47,8 @@ class XMLDBAction {
var $postaction; //Action to execute at the end of the invoke script
var $sesskey_protected; // Actions must be protected by sesskey mechanishm
/**
* Constructor
*/
@@ -72,6 +74,7 @@ class XMLDBAction {
$this->output = NULL;
$this->errormsg = NULL;
$this->subaction = NULL;
$this->sesskey_protected = true;
}
/**
@@ -130,13 +133,18 @@ class XMLDBAction {
}
/**
* main invoke method, it simply sets the postaction attribute
* if possible
* main invoke method, it sets the postaction attribute
* if possible and checks sesskey_protected if needed
*/
function invoke() {
global $SESSION;
/// Sesskey protection
if ($this->sesskey_protected) {
require_sesskey();
}
/// If we are used any dir, save it in the lastused session object
/// Some actions can use it to perform positioning
if ($lastused = optional_param ('dir', NULL, PARAM_PATH)) {
@@ -94,7 +94,7 @@ class check_indexes extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmcheckindexes'] . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=check_indexes&amp;confirmed=yes" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=check_indexes&amp;sesskey=' . sesskey() . '&amp;confirmed=yes" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -213,6 +213,10 @@ class check_indexes extends XMLDBAction {
$o.=' </ul>';
}
$o.=' </li>';
/// Give the script some more time (resetting to current if exists)
if ($currenttl = @ini_get('max_execution_time')) {
@ini_set('max_execution_time',$currenttl);
}
}
$o.=' </ul>';
}
@@ -77,7 +77,7 @@ class delete_field extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletefield'] . '<br /><br />' . $fieldparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_field&amp;confirmed=yes&amp;postaction=edit_table&amp;field=' . $fieldparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_field&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_table&amp;field=' . $fieldparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -77,7 +77,7 @@ class delete_index extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeleteindex'] . '<br /><br />' . $indexparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_index&amp;confirmed=yes&amp;postaction=edit_table&amp;index=' . $indexparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_index&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_table&amp;index=' . $indexparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -77,7 +77,7 @@ class delete_key extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletekey'] . '<br /><br />' . $keyparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_key&amp;confirmed=yes&amp;postaction=edit_table&amp;key=' . $keyparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_key&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_table&amp;key=' . $keyparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -77,7 +77,7 @@ class delete_sentence extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletesentence'] . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_sentence&amp;confirmed=yes&amp;postaction=edit_statement&amp;sentence=' . $sentenceparam . '&amp;statement=' . urlencode($statementparam) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_sentence&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_statement&amp;sentence=' . $sentenceparam . '&amp;statement=' . urlencode($statementparam) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -76,7 +76,7 @@ class delete_statement extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletestatement'] . '<br /><br />' . $statementparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_statement&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_statement&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -76,7 +76,7 @@ class delete_table extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletetable'] . '<br /><br />' . $tableparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_table&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_table&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -75,7 +75,7 @@ class delete_xml_file extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletexmlfile'] . '<br /><br />' . $dirpath . '/install.php</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_xml_file&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_xml_file&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -35,6 +35,7 @@ class edit_field extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -103,6 +104,7 @@ class edit_field extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="field" value="' . $fieldparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_field_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_index extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -103,6 +104,7 @@ class edit_index extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="index" value="' . $indexparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_index_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_key extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -103,6 +104,7 @@ class edit_key extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="key" value="' . $keyparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_key_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_sentence extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -119,6 +120,7 @@ class edit_sentence extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="statement" value="' . $statementparam .'" />';
$o.= ' <input type="hidden" name ="sentence" value="' . $sentenceparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_sentence_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_statement" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_statement extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -106,6 +107,7 @@ class edit_statement extends XMLDBAction {
$o.= '<div>';
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="statement" value="' . $statementparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_statement_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_statement" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -129,7 +131,7 @@ class edit_statement extends XMLDBAction {
$b .= '&nbsp;[' . $this->str['viewedited'] . ']';
}
/// The new sentence button
$b .= '&nbsp;<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newsentence'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;sesskey=' . sesskey() . '&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newsentence'] . ']</a>';
/// The back to edit xml file button
$b .= '&nbsp;<a href="index.php?action=edit_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['back'] . ']</a>';
$b .= '</p>';
@@ -157,10 +159,10 @@ class edit_statement extends XMLDBAction {
$b .= '<a href="index.php?action=edit_sentence&amp;sentence=' .$key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['edit'] . ']</a>';
$b .= '</td><td class="button cell">';
/// The duplicate button
$b .= '<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;basesentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['duplicate'] . ']</a>';
$b .= '<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;sesskey=' . sesskey() . '&amp;basesentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['duplicate'] . ']</a>';
$b .= '</td><td class="button cell">';
/// The delete button
$b .= '<a href="index.php?action=delete_sentence&amp;sentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_sentence&amp;sesskey=' . sesskey() . '&amp;sentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '</td>';
/// Print table row
$o .= '<tr class="r' . $row . '"><td class="table cell">' . $p . $sentence . $b . '</tr>';
@@ -35,6 +35,7 @@ class edit_table extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -107,6 +108,7 @@ class edit_table extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_table_save" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
/// If the table is being used, we cannot rename it
@@ -134,11 +136,11 @@ class edit_table extends XMLDBAction {
$b .= '&nbsp;[' . $this->str['viewedited'] . ']';
}
/// The new field button
$b .= '&nbsp;<a href="index.php?action=new_field&amp;postaction=edit_field&amp;table=' . $tableparam . '&amp;field=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newfield'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_field&amp;sesskey=' . sesskey() . '&amp;postaction=edit_field&amp;table=' . $tableparam . '&amp;field=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newfield'] . ']</a>';
/// The new key button
$b .= '&nbsp;<a href="index.php?action=new_key&amp;postaction=edit_key&amp;table=' . $tableparam . '&amp;key=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newkey'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_key&amp;sesskey=' . sesskey() . '&amp;postaction=edit_key&amp;table=' . $tableparam . '&amp;key=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newkey'] . ']</a>';
/// The new index button
$b .= '&nbsp;<a href="index.php?action=new_index&amp;postaction=edit_index&amp;table=' . $tableparam . '&amp;index=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newindex'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_index&amp;sesskey=' . sesskey() . '&amp;postaction=edit_index&amp;table=' . $tableparam . '&amp;index=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newindex'] . ']</a>';
/// The back to edit xml file button
$b .= '&nbsp;<a href="index.php?action=edit_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['back'] . ']</a>';
$b .= '</p>';
@@ -185,14 +187,14 @@ class edit_table extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($field->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_field&amp;direction=up&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_field&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($field->getNext()) {
$b .= '<a href="index.php?action=move_updown_field&amp;direction=down&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_field&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
@@ -200,7 +202,7 @@ class edit_table extends XMLDBAction {
/// The delete button (if we have more than one and it isn't used
if (count($fields) > 1 &&
!$structure->getFieldUses($table->getName(), $field->getName())) {
$b .= '<a href="index.php?action=delete_field&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_field&amp;sesskey=' . sesskey() . '&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -234,21 +236,21 @@ class edit_table extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($key->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_key&amp;direction=up&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_key&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($key->getNext()) {
$b .= '<a href="index.php?action=move_updown_key&amp;direction=down&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_key&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
$b .= '</td><td class="button cell">';
/// The delete button (if the key hasn't uses)
if (!$structure->getKeyUses($table->getName(), $key->getName())) {
$b .= '<a href="index.php?action=delete_key&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_key&amp;sesskey=' . sesskey() . '&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -274,20 +276,20 @@ class edit_table extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($index->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_index&amp;direction=up&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_index&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($index->getNext()) {
$b .= '<a href="index.php?action=move_updown_index&amp;direction=down&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_index&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
$b .= '</td><td class="button cell">';
/// The delete button
$b .= '<a href="index.php?action=delete_index&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_index&amp;sesskey=' . sesskey() . '&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
/// The readable info
$r = '</td><td class="readableinfo cell">' . $index->readableInfo() . '</td>';
/// Print table row
@@ -35,6 +35,7 @@ class edit_xml_file extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -107,6 +108,7 @@ class edit_xml_file extends XMLDBAction {
$o.= ' <input type="hidden" name ="postaction" value="edit_xml_file" />';
$o.= ' <input type="hidden" name ="path" value="' . s($structure->getPath()) .'" />';
$o.= ' <input type="hidden" name ="version" value="' . s($structure->getVersion()) .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
$o.= ' <tr valign="top"><td>Path:</td><td>' . s($structure->getPath()) . '</td></tr>';
$o.= ' <tr valign="top"><td>Version:</td><td>' . s($structure->getVersion()) . '</td></tr>';
@@ -125,15 +127,15 @@ class edit_xml_file extends XMLDBAction {
$b .= '&nbsp;[' . $this->str['viewedited'] . ']';
}
/// The new table button
$b .= '&nbsp;<a href="index.php?action=new_table&amp;postaction=edit_table&amp;table=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtable'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_table&amp;sesskey=' . sesskey() . '&amp;postaction=edit_table&amp;table=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtable'] . ']</a>';
/// The new from MySQL button
if ($CFG->dbfamily == 'mysql') {
$b .= '&nbsp;<a href="index.php?action=new_table_from_mysql&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtablefrommysql'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_table_from_mysql&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtablefrommysql'] . ']</a>';
} else {
$b .= '&nbsp;[' . $this->str['newtablefrommysql'] . ']';
}
/// The new statement button
$b .= '&nbsp;<a href="index.php?action=new_statement&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newstatement'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_statement&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newstatement'] . ']</a>';
/// The back to main menu button
$b .= '&nbsp;<a href="index.php?action=main_view#lastused">[' . $this->str['backtomainview'] . ']</a>';
$b .= '</p>';
@@ -169,14 +171,14 @@ class edit_xml_file extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($table->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_table&amp;direction=up&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_table&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($table->getNext()) {
$b .= '<a href="index.php?action=move_updown_table&amp;direction=down&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_table&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
@@ -185,7 +187,7 @@ class edit_xml_file extends XMLDBAction {
if (count($tables) > 1 &&
!$structure->getTableUses($table->getName())) {
///!$structure->getTableUses($table->getName())) {
$b .= '<a href="index.php?action=delete_table&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_table&amp;sesskey=' . sesskey() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -214,20 +216,20 @@ class edit_xml_file extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($statement->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=up&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($statement->getNext()) {
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=down&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
$b .= '</td><td class="button cell">';
/// The delete button
$b .= '<a href="index.php?action=delete_statement&amp;statement=' . $statement->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_statement&amp;sesskey=' . sesskey() . '&amp;statement=' . $statement->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '</td>';
/// Print statement row
$o .= '<tr class="r' . $row . '"><td class="statement cell"><a href="index.php?action=view_statement_xml&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;statement=' . $statement->getName() . '&amp;select=edited">' . $statement->getName() . '</a>' . $b . '</tr>';
@@ -39,6 +39,7 @@ class get_db_directories extends XMLDBAction {
//$this->can_subaction = ACTION_HAVE_SUBACTIONS;
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -38,6 +38,7 @@ class load_xml_file extends XMLDBAction {
//$this->can_subaction = ACTION_HAVE_SUBACTIONS;
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class main_view extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -84,9 +85,9 @@ class main_view extends XMLDBAction {
/// The reserved_words button
$b .= '&nbsp;<a href="index.php?action=view_reserved_words">[' . $this->str['reservedwords'] . ']</a>';
/// The test button
$b .= '&nbsp;<a href="index.php?action=test">[' . $this->str['test'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=test&amp;sesskey=' . sesskey() . '">[' . $this->str['test'] . ']</a>';
/// The check indexes button
$b .= '&nbsp;<a href="index.php?action=check_indexes">[' . $this->str['checkindexes'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=check_indexes&amp;sesskey=' . sesskey() . '">[' . $this->str['checkindexes'] . ']</a>';
$b .= '</p>';
/// Send buttons to output
$o .= $b;
@@ -126,7 +127,7 @@ class main_view extends XMLDBAction {
if ($dbdir->path_exists &&
!file_exists($key . '/install.xml') &&
is_writeable($key)) {
$b .= '<a href="index.php?action=create_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['create'] . ']</a>';
$b .= '<a href="index.php?action=create_xml_file&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['create'] . ']</a>';
} else {
$b .= '[' . $this->str['create'] . ']';
}
@@ -159,7 +160,7 @@ class main_view extends XMLDBAction {
is_writeable($key) &&
!empty($dbdir->xml_loaded) &&
!empty($dbdir->xml_changed)) {
$b .= '<a href="index.php?action=save_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['save'] . ']</a>';
$b .= '<a href="index.php?action=save_xml_file&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['save'] . ']</a>';
/// Check if the file has been manually edited while being modified in the editor
if ($dbdir->filemtime != filemtime($key . '/install.xml')) {
/// File manually modified. Add to errors.
@@ -178,7 +179,7 @@ class main_view extends XMLDBAction {
is_writeable($key) &&
!empty($dbdir->xml_loaded) &&
!empty($dbdir->xml_changed)) {
$b .= '<a href="index.php?action=revert_changes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['revert'] . ']</a>';
$b .= '<a href="index.php?action=revert_changes&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['revert'] . ']</a>';
} else {
$b .= '[' . $this->str['revert'] . ']';
}
@@ -200,7 +201,7 @@ class main_view extends XMLDBAction {
is_readable($key . '/install.xml') &&
is_writeable($key) &&
empty($dbdir->xml_loaded)) {
$b .= '<a href="index.php?action=delete_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_xml_file&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -107,6 +107,7 @@ class new_statement extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="action" value="new_statement" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_statement" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() . '" />';
$o.= ' <table id="formelements" class="boxaligncenter" cellpadding="5">';
$o.= ' <tr><td><label for="type" accesskey="t">' . $this->str['statementtype'] .' </label>' . choose_from_menu($typeoptions, 'type', '', 'choose', '', 0, true) . '<label for="table" accesskey="a">' . $this->str['statementtable'] . ' </label>' .choose_from_menu($selecttables, 'table', '', 'choose', '', 0, true) . '</td></tr>';
$o.= ' <tr><td colspan="2" align="center"><input type="submit" value="' .$this->str['create'] . '" /></td></tr>';
@@ -111,6 +111,7 @@ class new_table_from_mysql extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="action" value="new_table_from_mysql" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() . '" />';
$o.= ' <table id="formelements" class="boxaligncenter" cellpadding="5">';
$o.= ' <tr><td><label for="table" accesskey="t">' . $this->str['createtable'] .' </label>' . choose_from_menu($selecttables, 'table', '', 'choose', '', 0, true) . '<label for="after" accesskey="a">' . $this->str['aftertable'] . ' </label>' .choose_from_menu($aftertables, 'after', '', 'choose', '', 0, true) . '</td></tr>';
$o.= ' <tr><td colspan="2" align="center"><input type="submit" value="' .$this->str['create'] . '" /></td></tr>';
@@ -75,7 +75,7 @@ class revert_changes extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmrevertchanges'] . '<br /><br />' . $dirpath . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=revert_changes&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=revert_changes&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
+14
View File
@@ -955,6 +955,20 @@ class test extends XMLDBAction {
$this->output = $o;
/// Finally drop all the potentially existing test tables
$table = new XMLDBTable('testtable');
if (table_exists($table)) {
$status = drop_table($table, true, false);
}
$table = new XMLDBTable ('anothertest');
if (table_exists($table)) {
$status = drop_table($table, true, false);
}
$table = new XMLDBTable ('newnameforthetable');
if (table_exists($table)) {
$status = drop_table($table, true, false);
}
/// Launch postaction if exists (leave this here!)
if ($this->getPostAction() && $result) {
return $this->launch($this->getPostAction());
@@ -35,6 +35,7 @@ class unload_xml_file extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_field_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_index_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_key_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -38,6 +38,7 @@ class view_reserved_words extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_statement_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_structure_php extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_structure_sql extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_structure_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_table_php extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_table_sql extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_table_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -38,6 +38,7 @@ class view_xml extends XMLDBAction {
//$this->can_subaction = ACTION_HAVE_SUBACTIONS;
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
+6 -1
View File
@@ -58,8 +58,13 @@ class auth_plugin_cas extends auth_plugin_base {
*/
function user_login ($username, $password) {
$this->connectCAS();
return phpCAS::isAuthenticated() && (phpCAS::getUser() == $username);
return phpCAS::isAuthenticated() && (trim(moodle_strtolower(phpCAS::getUser())) == $username);
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+7
View File
@@ -572,6 +572,13 @@ class auth_plugin_db extends auth_plugin_base {
}
}
function prevent_local_passwords() {
if (!isset($this->config->passtype)) {
return false;
}
return ($this->config->passtype != 'internal');
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -132,6 +132,10 @@ class auth_plugin_email extends auth_plugin_base {
}
}
function prevent_local_passwords() {
return false;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -144,6 +144,10 @@ class auth_plugin_fc extends auth_plugin_base {
return false;
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -81,6 +81,10 @@ class auth_plugin_imap extends auth_plugin_base {
return false; // No match
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -1607,6 +1607,10 @@ class auth_plugin_ldap extends auth_plugin_base {
return ($fresult);
}
function prevent_local_passwords() {
return !empty($this->config->preventpassindb);
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+1 -1
View File
@@ -16,7 +16,7 @@
if (!isset($config->opt_deref))
{ $config->opt_deref = LDAP_DEREF_NEVER; }
if (!isset($config->preventpassindb))
{ $config->preventpassindb = 0; }
{ $config->preventpassindb = 1; }
if (!isset($config->bind_dn))
{$config->bind_dn = ''; }
if (!isset($config->bind_pw))
+4
View File
@@ -62,6 +62,10 @@ class auth_plugin_manual extends auth_plugin_base {
return update_internal_user_password($user, $newpassword);
}
function prevent_local_passwords() {
return false;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -590,6 +590,10 @@ class auth_plugin_mnet extends auth_plugin_base {
delete_records_select('mnet_enrol_assignments', $whereclause);
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -64,6 +64,10 @@ class auth_plugin_nntp extends auth_plugin_base {
return false;
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+5
View File
@@ -46,6 +46,11 @@ class auth_plugin_nologin extends auth_plugin_base {
return false;
}
function prevent_local_passwords() {
// just in case, we do not want to loose the passwords
return false;
}
/**
* No external data sync.
*
+4
View File
@@ -62,6 +62,10 @@ class auth_plugin_none extends auth_plugin_base {
return update_internal_user_password($user, $newpassword);
}
function prevent_local_passwords() {
return false;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -77,6 +77,10 @@ class auth_plugin_pam extends auth_plugin_base {
}
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -81,6 +81,10 @@ class auth_plugin_pop3 extends auth_plugin_base {
return false; // No matches found
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -80,6 +80,10 @@ class auth_plugin_radius extends auth_plugin_base {
$rauth->close();
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -134,6 +134,10 @@ class auth_plugin_shibboleth extends auth_plugin_base {
return $moodleattributes;
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+1 -1
View File
@@ -115,7 +115,7 @@
raise_memory_limit("192M");
//Call the form, depending the step we are
if (!$launch) {
if (!$launch or !data_submitted() or !confirm_sesskey()) {
// if we're at the start, clear the cache of prefs
if (isset($SESSION->backupprefs[$course->id])) {
unset($SESSION->backupprefs[$course->id]);
+16
View File
@@ -4,6 +4,9 @@
//Check login
require_login();
// Init backupuserinfo
$backupuserinfo = false;
if (!empty($course->id)) {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
if (empty($to)) {
@@ -14,10 +17,12 @@
}
}
}
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_COURSE, $course->id));
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/index.php");
}
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_SYSTEM));
}
@@ -38,6 +43,7 @@
<form id="form" method="post" action="backup.php">
<table cellpadding="5" style="text-align:center;margin-left:auto;margin-right:auto">
<?php
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
if (empty($to)) {
//Now print the Backup Name tr
@@ -58,6 +64,16 @@
}
// Re-enforce 'moodle/site:backup' at system context to be able to backup all users
if ($backupprefs->backup_users == 0 and !has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
$backupprefs->backup_users = 1; // users => course
}
// Re-enforce moodle/backup:userinfo capability
if (!$backupuserinfo) {
$backupprefs->backup_users = 2; // users => none
}
//Here we check if backup_users = None. Then, we switch off every module
//user info, user_files, logs and exercises, workshop and messages backups. A Warning is showed to
//inform the user.
+30 -17
View File
@@ -4,6 +4,9 @@
//Check login
require_login();
//Init backupuserinfo
$backupuserinfo = false;
if (!empty($course->id)) {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
if (empty($to)) {
@@ -14,10 +17,12 @@
}
}
}
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_COURSE, $course->id));
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/index.php");
}
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_SYSTEM));
}
//Check site
@@ -115,6 +120,8 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
<form id="form1" method="post" action="backup.php">
<table cellpadding="5" style="margin-left:auto;margin-right:auto;">
<?php
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
/// Acummulator for hidden options and proper XHTML output
$hidden_options = '';
//Now, check modules and info and show posibilities
@@ -127,12 +134,16 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'backup_', true);\">". get_string("all")."</a>/";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'backup_', false);\">". get_string("none")."</a>";
echo "</td>";
echo "<td align=\"right\">";
echo '<b>&nbsp;</b>';
echo "</td><td>";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'backup_user_info_', true);\">". get_string("all")."</a>/";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'backup_user_info_', false);\">". get_string("none")."</a>";
echo "</td>";
if (empty($to) and $backupuserinfo) {
echo "<td align=\"right\">";
echo '<b>&nbsp;</b>';
echo "</td><td>";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'backup_user_info_', true);\">". get_string("all")."</a>/";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'backup_user_info_', false);\">". get_string("none")."</a>";
echo "</td>";
} else {
echo "<td colspan=\"2\">&nbsp;</td>";
}
echo "</tr>";
echo "<tr><td colspan=\"4\"><hr /></td></tr>";
$currentrow = 0;
@@ -155,8 +166,8 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo "</td><td align=\"right\">&nbsp;";
echo "</td><td>";
$var = "backup_user_info_".$modname;
if (empty($to)) {
$backup_user_options[0] = get_string("withoutuserdata");
if (empty($to) and $backupuserinfo) {
$backup_user_options[0] = get_string("withoutuserdata");
$backup_user_options[1] = get_string("withuserdata");
//choose_from_menu($backup_user_options, $var, $$var, "");
print_checkbox($var, $$var, $$var, get_string("userdata"),'','selectItemInCheckboxByName(\'form1\',\'backup_user_info_'.$modname.'\',this.checked)');
@@ -177,7 +188,7 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo '</td><td align="right">&nbsp;';
$var = 'backup_user_info_'.$modname.'_instance_'.$instance->id;
$$var = optional_param($var,1);
if (empty($to)) {
if (empty($to) and $backupuserinfo) {
print_checkbox($var,$$var,$$var,get_string('userdata'),'','this.form.elements[\'backup_user_info_'.$modname.'\'].checked=1;');
} else {
echo '<input type="hidden" name="'.$var.'" value="0" />';
@@ -207,23 +218,25 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
$hidden_options .= '<input type="hidden" name="backup_metacourse" value="0" />';
}
if (empty($to)) {
if (empty($to) and $backupuserinfo) {
//Now print the Users tr
echo "<tr>";
echo "<td align=\"right\" colspan=\"2\"><b>";
echo get_string("users").":";
echo "</b></td><td colspan=\"2\">";
$user_options[0] = get_string("all");
if (has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
$user_options[0] = get_string("all");
}
$user_options[1] = get_string("course");
$user_options[2] = get_string("none");
choose_from_menu($user_options, "backup_users", $backup_users, "");
echo "</td></tr>";
}
else {
$hidden_options .= '<input type="hidden" name="backup_users" value="0" />';
$hidden_options .= '<input type="hidden" name="backup_users" value="2" />';
}
if (empty($to)) {
if (empty($to) and $backupuserinfo) {
//Now print the Logs tr
echo "<tr>";
echo "<td align=\"right\" colspan=\"2\"><b>";
@@ -237,8 +250,8 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
else {
$hidden_options .= '<input type="hidden" name="backup_logs" value="0" />';
}
if (empty($to)) {
if (empty($to) and $backupuserinfo) {
//Now print the User Files tr
echo "<tr>";
echo "<td align=\"right\" colspan=\"2\"><b>";
@@ -262,7 +275,7 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
choose_from_menu($course_file_options, "backup_course_files", $backup_course_files, "");
echo "</td></tr>";
if (empty($to) && $course->id == SITEID) {
if (empty($to) and $backupuserinfo and $course->id == SITEID) {
//If we are in a SITEID backup print the Messages tr
echo "<tr>";
echo "<td align=\"right\" colspan=\"2\"><b>";
+8 -20
View File
@@ -82,8 +82,8 @@
//Returns every needed user (participant) in a course
//It uses the xxxx_get_participants() function
//plus users needed to backup scales.
//WARNING: It returns only NEEDED users, not every
//plus users needed to backup messages
//WARNING: It returns only NEEDED users, not every
// every student and teacher in the course, so it
//must be merged with backup_get_enrrolled_users !!
@@ -119,21 +119,6 @@
}
}
//Now, add scale users (from site and course scales)
//Get users
$scaleusers = get_records_sql("SELECT DISTINCT userid,userid
FROM {$CFG->prefix}scale
WHERE courseid = '0' or courseid = '$courseid'");
//Add scale users to results
if ($scaleusers) {
foreach ($scaleusers as $scaleuser) {
//If userid != 0
if ($scaleuser->userid != 0) {
$result[$scaleuser->userid]->id = $scaleuser->userid;
}
}
}
//Now, add message users if necessary
if ($includemessages) {
include_once("$CFG->dirroot/message/lib.php");
@@ -163,7 +148,7 @@
// get all users with moodle/course:view capability, this will include people
// assigned at cat level, or site level
// but it should be ok if they have no direct assignment at course, mod, block level
return get_users_by_capability(get_context_instance(CONTEXT_COURSE, $courseid), 'moodle/course:view');
return get_users_by_capability(get_context_instance(CONTEXT_COURSE, $courseid), 'moodle/course:view', '', '', '', '', '', '', false);
}
//Returns all users ids (every record in users table)
@@ -1102,7 +1087,11 @@
fwrite ($bf,full_tag("POLICYAGREED",4,false,$user->policyagreed));
fwrite ($bf,full_tag("DELETED",4,false,$user->deleted));
fwrite ($bf,full_tag("USERNAME",4,false,$user->username));
fwrite ($bf,full_tag("PASSWORD",4,false,$user->password));
// Prevent user passwords in backup files unless
// $CFG->includeuserpasswordsinbackup is defined. MDL-20838
if (!empty($CFG->includeuserpasswordsinbackup)) {
fwrite ($bf,full_tag("PASSWORD",4,false,$user->password));
}
fwrite ($bf,full_tag("IDNUMBER",4,false,$user->idnumber));
fwrite ($bf,full_tag("FIRSTNAME",4,false,$user->firstname));
fwrite ($bf,full_tag("LASTNAME",4,false,$user->lastname));
@@ -1128,7 +1117,6 @@
fwrite ($bf,full_tag("LASTLOGIN",4,false,$user->lastlogin));
fwrite ($bf,full_tag("CURRENTLOGIN",4,false,$user->currentlogin));
fwrite ($bf,full_tag("LASTIP",4,false,$user->lastip));
fwrite ($bf,full_tag("SECRET",4,false,$user->secret));
fwrite ($bf,full_tag("PICTURE",4,false,$user->picture));
fwrite ($bf,full_tag("URL",4,false,$user->url));
fwrite ($bf,full_tag("DESCRIPTION",4,false,$user->description));
+2
View File
@@ -144,6 +144,7 @@
if (!empty($SESSION->restore->importing)) {
// set up all the config stuff and skip asking the user about it.
restore_setup_for_check($SESSION->restore,$backup_unique_code);
require_sesskey();
include_once("restore_execute.html");
} else {
include_once("restore_form.html");
@@ -159,6 +160,7 @@
}
//Unset this for the future
unset($SESSION->cancontinue);
require_sesskey();
include_once("restore_execute.html");
}
print_simple_box_end();
+41 -2
View File
@@ -18,8 +18,8 @@
if ($form1 = data_submitted()) {
$currentcourseshortname = $course_header->course_shortname; //"store_ShortName";
$course_header->course_shortname = stripslashes_safe($form1->shortname); //"update_ShortName";
$course_header->course_fullname = stripslashes_safe($form1->fullname); //"update_FullName";
$course_header->course_shortname = !empty($form1->shortname) ? stripslashes_safe($form1->shortname) : ''; //"update_ShortName";
$course_header->course_fullname = !empty($form1->fullname) ? stripslashes_safe($form1->fullname) : ''; //"update_FullName"
/// Roll dates only if the backup course has a start date
/// (some formats like main page, social..., haven't it and rolling dates
/// from 0 produces crazy dates. MDL-10125 and we have passed some custom startyear/month/day. MDL-12922
@@ -176,15 +176,21 @@
//Check login
require_login();
//Init restoreuserinfo
$restoreuserinfo = false;
//Check admin
if (!empty($id)) {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
error("You need to be a teacher or admin user to use this page.", "$CFG->wwwroot/login/index.php");
}
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_COURSE, $id));
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/index.php");
}
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_SYSTEM));
}
//Check site
@@ -275,6 +281,38 @@
$restore->users = 1;
}
}
// Re-enforce 'moodle/site:restore' at system context to be able to restore all users
if ($restore->users == 0 and !has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
$restore->users = 1; // users => course
}
// Re-enforce moodle/restore:userinfo capability
if (!$restoreuserinfo) {
$userinfocheck = true;
// Confirm that all the settings are properly set to no users
// if anything is wrong, message and stop
// First global settings
if ($restore->users != 2 or $restore->user_files or $restore->messages) {
$userinfocheck = false;
// Now all modules userinfo flag
} else {
$mods = $restore->mods;
foreach ($mods as $mod) {
if ($mod->userinfo) {
$userinfocheck = false;
}
}
}
if (!$userinfocheck) { // Something was wrong
echo get_string ('restoreuserinfofailed');
echo "<hr noshade size=\"1\">";
$show_continue_button = false;
}
}
//Save the restore session object
$SESSION->restore = $restore;
if ($show_continue_button) {
@@ -284,6 +322,7 @@
$hidden["launch"] = "execute";
$hidden["file"] = $file;
$hidden["id"] = $id;
$hidden["sesskey"] = sesskey();
print_string('longtimewarning','admin');
if ($restore->users && !empty($info->mnet_externalusers)
+124 -107
View File
@@ -21,15 +21,20 @@
//Check login
require_login();
//Init restoreuserinfo
$restoreuserinfo = false;
//Check admin
if (!empty($id)) {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
error("You need to be a teacher or admin user to use this page.", "$CFG->wwwroot/login/index.php");
}
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_COURSE, $id));
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/index.php");
}
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_SYSTEM));
}
//Check site
@@ -60,8 +65,10 @@
}
//Check include user info
$var = "restore_user_info_".$modname;
if (!isset($$var)) {
if (!isset($$var) && $restoreuserinfo) {
$$var = 1;
} else {
$$var = 0;
}
}
}
@@ -274,14 +281,18 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'restore_', false);\">".
get_string("none")."</a>";
echo "</td>";
echo "<td align=\"right\">";
echo '<b>&nbsp;</b>';
echo "</td><td>";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'restore_user_info_', true);\">".
get_string("all")."</a>/";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'restore_user_info_', false);\">".
get_string("none")."</a>";
echo "</td>";
if ($restoreuserinfo) {
echo "<td align=\"right\">";
echo '<b>&nbsp;</b>';
echo "</td><td>";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'restore_user_info_', true);\">".
get_string("all")."</a>/";
echo "<a href=\"javascript:void(0);\" onclick=\"selectItemInCheckboxByName('form1', 'restore_user_info_', false);\">".
get_string("none")."</a>";
echo "</td>";
} else {
echo "<td colspan=\"2\">&nbsp;</td>";
}
echo "</tr>";
echo "<tr><td colspan=\"4\"><hr /></td></tr>";
$currentrow = 0;
@@ -311,7 +322,7 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
//without user data
echo "</td><td align=\"right\">&nbsp;";
echo "</td><td>";
if ($info->mods[$modname]->userinfo == "true") {
if ($info->mods[$modname]->userinfo == "true" && $restoreuserinfo) {
$restore_user_options[1] = get_string("yes");
$restore_user_options[0] = get_string("no");
//choose_from_menu($restore_user_options, $user_info_var, $$user_info_var, "");
@@ -336,7 +347,7 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo '</td><td align="right">&nbsp;';
$var = 'restore_user_info_'.$modname.'_instance_'.$instance->id;
$$var = optional_param($var,1);
if ($info->mods[$modname]->instances[$instance->id]->userinfo == 'true') {
if (!empty($info->mods[$modname]->instances) && ($info->mods[$modname]->instances[$instance->id]->userinfo == 'true') && $restoreuserinfo) {
print_checkbox($var,$$var,$$var,get_string('userdata'),'','this.form.elements[\'restore_user_info_'.$modname.'\'].checked=1;');
} else {
echo '<input type="hidden" name="'.$var.'" value="0" />';
@@ -386,9 +397,10 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo get_string("users").":";
echo "</b></td><td colspan=\"2\">";
//If some user is present in the backup file
if ($info->backup_users == "all" or $info->backup_users == "course") {
//If all users are in the backup file
if ($info->backup_users == "all") {
if (($info->backup_users == "all" or $info->backup_users == "course") and $restoreuserinfo) {
$user_options = array();
//If all users are in the backup file and user has 'moodle/site:restore' at system level
if ($info->backup_users == "all" and has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
$user_options[0] = get_string("all");
}
$user_options[1] = get_string("course");
@@ -407,7 +419,8 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo get_string("logs").":";
echo "</b></td><td colspan=\"2\">";
//If logs are in the backup file, show menu, else fixed to no
if ($info->backup_logs == "true") {
if ($info->backup_logs == "true" and $restoreuserinfo) {
$log_options = array();
$log_options[0] = get_string("no");
$log_options[1] = get_string("yes");
choose_from_menu($log_options, "restore_logs", $restore_logs, "");
@@ -423,9 +436,10 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo get_string ("userfiles").":";
echo "</b></td><td colspan=\"2\">";
//If user files are in the backup file, show menu, else fixed to no
if ($info->backup_user_files == "true") {
$user_file_options[0] = get_string("no");
$user_file_options[1] = get_string("yes");
if ($info->backup_user_files == "true" and $restoreuserinfo) {
$user_file_options = array();
$user_file_options[0] = get_string("no");
$user_file_options[1] = get_string("yes");
choose_from_menu($user_file_options, "restore_user_files", $restore_user_files, "");
} else {
echo get_string("no");
@@ -454,11 +468,10 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
//Now print the Messages tr
echo "<tr>";
echo "<td align=\"right\" colspan=\"2\"><b>";
//This tr is slighty different. Everything becomes hidden if
//we haven't messages is the backup, to avoid confusions to users.
//If messages are in the backup file, show menu, else fixed to no and show nothing
if ($info->backup_messages == "true") {
if (isset($info->backup_messages) && $info->backup_messages == "true" && !empty($CFG->messaging) and $restoreuserinfo) {
echo get_string ('messages','message').":";
echo "</b></td><td colspan=\"2\">";
$message_options[0] = get_string("no");
@@ -475,104 +488,106 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
<hr/>
<?php
// Only show the roles mapping if restore of user info is allowed
if ($restoreuserinfo) {
print_heading(get_string('rolemappings'));
$xml_file = $CFG->dataroot."/temp/backup/".$backup_unique_code."/moodle.xml";
print_heading(get_string('rolemappings'));
$xml_file = $CFG->dataroot."/temp/backup/".$backup_unique_code."/moodle.xml";
$info = restore_read_xml_info($xml_file);
$info = restore_read_xml_info($xml_file);
// fix for MDL-9068, front page course is just a normal course
$siterolesarray = get_assignable_roles (get_context_instance(CONTEXT_COURSE, $course->id), "shortname");
$siterolesnamearray = get_assignable_roles (get_context_instance(CONTEXT_COURSE, $course->id), "name");
$allroles = get_records('role');
// fix for MDL-9068, front page course is just a normal course
$siterolesarray = get_assignable_roles (get_context_instance(CONTEXT_COURSE, $course->id), "shortname");
$siterolesnamearray = get_assignable_roles (get_context_instance(CONTEXT_COURSE, $course->id), "name");
$allroles = get_records('role');
echo ('<table width="100%" class="restore-form-instances">');
echo ('<tr><td align="right" style="width:50%"><b>'.get_string('sourcerole').'</b></td><td align="left" style="width:50%"><b>'.get_string('targetrole').'</b></td></tr>');
echo ('<table width="100%" class="restore-form-instances">');
echo ('<tr><td align="right" style="width:50%"><b>'.get_string('sourcerole').'</b></td><td align="left" style="width:50%"><b>'.get_string('targetrole').'</b></td></tr>');
if ($info->backup_moodle_version < 2006092801) {
// 1.6 and below backup
if ($info->backup_moodle_version < 2006092801) {
// 1.6 and below backup
/// Editting teacher
echo ('<tr><td align="right">');
print_string('defaultcourseteacher');
echo ('</td><td algin="left">');
// get the first teacheredit legacy
$roles = get_roles_with_capability('moodle/legacy:editingteacher', CAP_ALLOW, get_context_instance(CONTEXT_SYSTEM, SITEID));
/// Editting teacher
echo ('<tr><td align="right">');
echo '<label for="menudefaultteacheredit">'.get_string ('defaultcourseteacher').'</label>';
echo ('</td><td algin="left">');
$editteacher = array_shift($roles);
choose_from_menu ($siterolesarray, "defaultteacheredit", $editteacher->id, 'new role', '', '0');
echo ('</td></tr>');
/// Non-editting teacher
echo ('<tr><td align="right">');
print_string('noneditingteacher');
echo ('</td><td algin="left">');
// get the first teacheredit legacy
$roles = get_roles_with_capability('moodle/legacy:teacher', CAP_ALLOW, get_context_instance(CONTEXT_SYSTEM, SITEID));
$teacher = array_shift($roles);
choose_from_menu ($siterolesarray, "defaultteacher", $teacher->id, 'new role', '', '0');
echo ('</td></tr>');
/// Student
echo ('<tr><td align="right">');
print_string('defaultcoursestudent');
echo ('</td><td algin="left">');
// get the first teacheredit legacy
$roles = get_roles_with_capability('moodle/legacy:student', CAP_ALLOW, get_context_instance(CONTEXT_SYSTEM, SITEID));
$studentrole = array_shift($roles);
choose_from_menu ($siterolesarray, "defaultstudent", $studentrole->id, 'new role', '', '0');
echo ('</td></tr>');
} else {
// 1.7 and above backup
$roles = restore_read_xml_roles($xml_file);
if (!empty($roles->roles)) { // possible to have course with no roles
foreach ($siterolesarray as $siteroleid=>$siteroleshortname) {
$siteroleschoicearray[$siteroleid] = $siterolesnamearray[$siteroleid]." (". $siterolesarray[$siteroleid].")";
}
// get the first teacheredit legacy
$roles = get_roles_with_capability('moodle/legacy:editingteacher', CAP_ALLOW, get_context_instance(CONTEXT_SYSTEM));
foreach ($roles->roles as $roleid=>$role) {
$mappableroles = $siteroleschoicearray;
echo ('<tr><td align="right">');
echo $role->name." (".($role->shortname).")";
echo ('</td><td align="left">');
$editteacher = reset($roles);
choose_from_menu ($siterolesarray, "defaultteacheredit", $editteacher->id, 'new role', '', '0');
echo ('</td></tr>');
/// first, we see if any exact role definition is found
/// if found, that is the only option of restoring to
if ($samerole = restore_samerole($roleid, $role)) {
$matchrole = $samerole->id;
// if an exact role is found, it does not matter whether this user can assign this role or not,
// this will be presented as a valid option regardless
$mappableroles[$samerole->id] = $allroles[$samerole->id]->name." (". $allroles[$samerole->id]->shortname.")";
} else {
// no exact role found, let's try to match shortname
// this is useful in situations where basic roles differ slightly in definition
$matchrole = 0;
foreach ($siterolesarray as $siteroleid=>$siteroleshortname) {
if ($siteroleshortname == $role->shortname) {
$matchrole = $siteroleid;
break;
/// Non-editting teacher
echo ('<tr><td align="right">');
echo '<label for="menudefaultteacher">'.get_string ('noneditingteacher').'</label>';
print_string('noneditingteacher');
echo ('</td><td algin="left">');
// get the first teacheredit legacy
$roles = get_roles_with_capability('moodle/legacy:teacher', CAP_ALLOW, get_context_instance(CONTEXT_SYSTEM));
$teacher = reset($roles);
choose_from_menu ($siterolesarray, "defaultteacher", $teacher->id, 'new role', '', '0');
echo ('</td></tr>');
/// Student
echo ('<tr><td align="right">');
echo '<label for="menudefaultstudent">'.get_string ('defaultcoursestudent').'</label>';
echo ('</td><td algin="left">');
// get the first teacheredit legacy
$roles = get_roles_with_capability('moodle/legacy:student', CAP_ALLOW, get_context_instance(CONTEXT_SYSTEM));
$studentrole = array_shift($roles);
choose_from_menu ($siterolesarray, "defaultstudent", $studentrole->id, 'new role', '', '0');
echo ('</td></tr>');
} else {
// 1.7 and above backup
$roles = restore_read_xml_roles($xml_file);
if (!empty($roles->roles)) { // possible to have course with no roles
foreach ($siterolesarray as $siteroleid=>$siteroleshortname) {
$siteroleschoicearray[$siteroleid] = $siterolesnamearray[$siteroleid]." (". $siterolesarray[$siteroleid].")";
}
foreach ($roles->roles as $roleid=>$role) {
$mappableroles = $siteroleschoicearray;
echo ('<tr><td align="right">');
echo '<label for="menuroles_'.$roleid.'">'.format_string($role->name)." (".($role->shortname).")".'</label>';
echo ('</td><td align="left">');
/// first, we see if any exact role definition is found
/// if found, that is the only option of restoring to
if ($samerole = restore_samerole($roleid, $role)) {
$matchrole = $samerole->id;
// if an exact role is found, it does not matter whether this user can assign this role or not,
// this will be presented as a valid option regardless
$mappableroles[$samerole->id] = format_string($allroles[$samerole->id]->name)." (". $allroles[$samerole->id]->shortname.")";
} else {
// no exact role found, let's try to match shortname
// this is useful in situations where basic roles differ slightly in definition
$matchrole = 0;
foreach ($siterolesarray as $siteroleid=>$siteroleshortname) {
if ($siteroleshortname == $role->shortname) {
$matchrole = $siteroleid;
break;
}
}
}
choose_from_menu ($mappableroles, "roles_".$roleid, $matchrole, 'new role', '', '0');
echo ('</td></tr>');
}
choose_from_menu ($mappableroles, "roles_".$roleid, $matchrole, 'new role', '', '0');
echo ('</td></tr>');
}
}
} // end else
echo ('</table>'); // end of role mappings table
} // end else
echo ('</table>'); // end of role mappings table
}
?>
<br />
@@ -588,8 +603,10 @@ echo ('</table>'); // end of role mappings table
<?php
/*
* If there is a role with exactly the same definition, we pull it out from db
/**
*
* @param integer $roleid the id that the role in the backup files had on the old server.
* @param object $role the rest of the definition of the role from the backup file.
*/
function restore_samerole($roleid, $role) {
global $CFG;
+63 -38
View File
@@ -1544,6 +1544,8 @@
global $CFG, $db;
$authcache = array(); // Cache to get some bits from authentication plugins
$status = true;
//Check it exists
if (!file_exists($xml_file)) {
@@ -1677,16 +1679,46 @@
}
//We need to analyse the AUTH field to recode it:
// - if the field isn't set, we are in a pre 1.4 backup and we'll
// use manual
if (empty($user->auth)) {
// - if the field isn't set, we are in a pre 1.4 backup and $CFG->registerauth will decide
// - if the auth isn't enabled in target site, $CFG->registerauth will decide
// - finally, if the auth resulting isn't enabled, default to 'manual'
if (empty($user->auth) || !is_enabled_auth($user->auth)) {
if ($CFG->registerauth == 'email') {
$user->auth = 'email';
} else {
$user->auth = 'manual';
}
}
if (!is_enabled_auth($user->auth)) { // Final auth check verify, default to manual if not enabled
$user->auth = 'manual';
}
// Now that we know the auth method, for users to be created without pass
// if password handling is internal and reset password is available
// we set the password to "restored" (plain text), so the login process
// will know how to handle that situation in order to allow the user to
// recover the password. MDL-20846
if (empty($user->password)) { // Only if restore comes without password
if (!array_key_exists($user->auth, $authcache)) { // Not in cache
$userauth = new stdClass();
$authplugin = get_auth_plugin($user->auth);
$userauth->preventpassindb = $authplugin->prevent_local_passwords();
$userauth->isinternal = $authplugin->is_internal();
$userauth->canresetpwd = $authplugin->can_reset_password();
$authcache[$user->auth] = $userauth;
} else {
$userauth = $authcache[$user->auth]; // Get from cache
}
// Most external plugins do not store passwords locally
if (!empty($userauth->preventpassindb)) {
$user->password = 'not cached';
// If Moodle is responsible for storing/validating pwd and reset functionality is available, mark
} else if ($userauth->isinternal and $userauth->canresetpwd) {
$user->password = 'restored';
}
}
//We need to process the POLICYAGREED field to recalculate it:
// - if the destination site is different (by wwwroot) reset it.
@@ -2157,7 +2189,7 @@
//This function creates all the scales
function restore_create_scales($restore,$xml_file) {
global $CFG, $db;
global $CFG, $USER, $db;
$status = true;
//Check it exists
@@ -2173,16 +2205,11 @@
//Now, if we have anything in scales, we have to restore that
//scales
if ($scales) {
//Get admin->id for later use
$admin = get_admin();
$adminid = $admin->id;
if ($scales !== true) {
//Iterate over each scale
foreach ($scales as $scale) {
//Get record from backup_ids
$data = backup_getid($restore->backup_unique_code,"scale",$scale->id);
//Init variables
$create_scale = false;
if ($data) {
//Now get completed xmlized object
@@ -2199,42 +2226,41 @@
$sca->description = backup_todb($info['SCALE']['#']['DESCRIPTION']['0']['#']);
$sca->timemodified = backup_todb($info['SCALE']['#']['TIMEMODIFIED']['0']['#']);
//Now search if that scale exists (by scale field) in course 0 (Standar scale)
//or in restore->course_id course (Personal scale)
if ($sca->courseid == 0) {
$course_to_search = 0;
} else {
$course_to_search = $restore->course_id;
}
$sca_db = get_record("scale","scale",$sca->scale,"courseid",$course_to_search);
//If it doesn't exist, create
if (!$sca_db) {
$create_scale = true;
}
//If we must create the scale
if ($create_scale) {
//Me must recode the courseid if it's <> 0 (common scale)
if ($sca->courseid != 0) {
$sca->courseid = $restore->course_id;
}
//We must recode the userid
// Look for scale (by 'scale' both in standard (course=0) and current course
// with priority to standard scales (ORDER clause)
// scale is not course unique, use get_record_sql to suppress warning
// Going to compare LOB columns so, use the cross-db sql_compare_text() in both sides.
$compare_scale_clause = sql_compare_text('scale') . "=" . sql_compare_text("'" . $sca->scale . "'");
// Scale doesn't exist, create it
if (!$sca_db = get_record_sql("SELECT *
FROM {$CFG->prefix}scale
WHERE $compare_scale_clause
AND courseid IN (0, $restore->course_id)
ORDER BY courseid", true)) {
// Try to recode the user field, defaulting to current user if not found
$user = backup_getid($restore->backup_unique_code,"user",$sca->userid);
if ($user) {
$sca->userid = $user->new_id;
} else {
//Assign it to admin
$sca->userid = $adminid;
$sca->userid = $USER->id;
}
// If scale is standard, if user lacks perms to manage standar scales
// 'downgrade' them to course scales
if ($sca->courseid == 0 and !has_capability('moodle/course:managescales', get_context_instance(CONTEXT_SYSTEM), $sca->userid)) {
$sca->courseid = $restore->course_id;
}
//The structure is equal to the db, so insert the scale
$newid = insert_record ("scale",$sca);
// Scale exists, reuse it
} else {
//get current scale id
$newid = $sca_db->id;
}
if ($newid) {
//We have the newid, update backup_ids
backup_putid($restore->backup_unique_code,"scale",
$scale->id, $newid);
backup_putid($restore->backup_unique_code,"scale", $scale->id, $newid);
}
}
}
@@ -4838,9 +4864,6 @@
case "LASTIP":
$this->info->tempuser->lastip = $this->getContents();
break;
case "SECRET":
$this->info->tempuser->secret = $this->getContents();
break;
case "PICTURE":
$this->info->tempuser->picture = $this->getContents();
break;
@@ -5816,7 +5839,9 @@
}
else {
if (empty($noredirect)) {
redirect($CFG->wwwroot.'/backup/restore.php?backup_unique_code='.$backup_unique_code.'&launch=form&file='.$file.'&id='.$id);
print_continue($CFG->wwwroot.'/backup/restore.php?backup_unique_code='.$backup_unique_code.'&launch=form&file='.$file.'&id='.$id.'&sesskey='.sesskey());
print_footer();
die;
} else {
return $backup_unique_code;
}
+3 -3
View File
@@ -2,11 +2,11 @@
/// This file defines the current version of the
/// backup/restore code that is being used. This can be
/// compared against the values stored in the
/// compared against the values stored in the
/// database (backup_version) to determine whether upgrades should
/// be performed (see db/backup_*.php)
$backup_version = 2007022100; // The current version is a date (YYYYMMDDXX)
$backup_release = "1.8+"; // User-friendly version number
$backup_version = 2007022101; // The current version is a date (YYYYMMDDXX)
$backup_release = "1.8.11"; // User-friendly version number
?>
+1
View File
@@ -8,6 +8,7 @@
<tr>
<td colspan="2" align="center">
<input type="hidden" name="courseid" value="<?php echo $courseid; ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
<input type="submit" value="<?php print_string("savechanges"); ?>" />
<input type="button" value="<?php print_string('cancel'); ?>" onclick="javascript:history.go(-1)" /></td>
</tr>
+1 -1
View File
@@ -22,7 +22,7 @@
/// If data submitted, then process and store.
if (data_submitted()) {
if (data_submitted() and confirm_sesskey()) {
$pagesize = required_param('pagesize', PARAM_INT);
if ($pagesize < 1) {
+3 -3
View File
@@ -123,7 +123,7 @@
error('You are not authorized to do this');
}
if($form = data_submitted()) {
if($form = data_submitted() and confirm_sesskey()) {
$form->name = clean_param(strip_tags($form->name,'<lang><span>'), PARAM_CLEAN);
@@ -188,7 +188,7 @@
case 'new':
$title = get_string('newevent', 'calendar');
$form = data_submitted();
if(!empty($form) && !empty($form->name)) {
if(!empty($form) && !empty($form->name) && confirm_sesskey()) {
$form->name = clean_text(strip_tags($form->name, '<lang><span>'));
@@ -286,7 +286,7 @@
case 'delete':
$confirm = optional_param('confirm', 0, PARAM_INT);
$repeats = optional_param('repeats', 0, PARAM_INT);
if($confirm) {
if($confirm and confirm_sesskey()) {
// Kill it and redirect to day view
if(($event = get_record('event', 'id', $eventid)) !== false) {
+2
View File
@@ -13,6 +13,7 @@
<input type="hidden" name="confirm" value="1" />
<input type="hidden" name="repeats" value="0" />
<input type="hidden" name="course" value="<?php p($urlcourse); ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
&nbsp;
</p>
</form>
@@ -31,6 +32,7 @@
<input type="hidden" name="confirm" value="1" />
<input type="hidden" name="repeats" value="1" />
<input type="hidden" name="course" value="<?php p($urlcourse); ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
&nbsp;
</p>
</form>
+1
View File
@@ -89,6 +89,7 @@
<input type="hidden" name="format" value="<?php echo $form->format; ?>" />
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="course" value="<?php p($urlcourse); ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
</p>
</form>
+1
View File
@@ -99,6 +99,7 @@
<input type="hidden" name="action" value="new" />
<input type="hidden" name="type" value="<?php echo $form->type; ?>" />
<input type="hidden" name="course" value="<?php p($urlcourse); ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
</p>
</form>
+1
View File
@@ -71,6 +71,7 @@
<tr>
<td colspan="2" style="text-align: center;">
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
<input type="submit" value="<?php print_string("savechanges") ?>" /></td>
</tr>
</table>
+1 -1
View File
@@ -18,7 +18,7 @@
/// If data submitted, then process and store.
if ($form = data_submitted()) {
if ($form = data_submitted() and confirm_sesskey()) {
foreach ($form as $preference => $value) {
switch ($preference) {
case 'timeformat':
+7
View File
@@ -139,6 +139,13 @@ $CFG->admin = 'admin';
// Useful for webhost operators who have alternate methods of backups
// $CFG->disablescheduledbackups = true;
//
// Allow user passwords to be included in backup files. Very dangerous
// setting as far as it publishes password hashes that can be unencrypted
// if the backup file is publicy available. Use it only if you can guarantee
// that all your backup files remain only privacy available and are never
// shared out from your site/institution!
// $CFG->includeuserpasswordsinbackup = true;
//
// Prevent stats processing and hide the GUI
// $CFG->disablestatsprocessing = true;
//
+19 -5
View File
@@ -160,7 +160,17 @@
$courses = array();
foreach ( $data as $key => $value ) {
if (preg_match('/^c\d+$/', $key)) {
array_push($courses, substr($key, 1));
$courseid = substr($key, 1);
array_push($courses, $courseid);
// check this course's category
if ($movingcourse = get_record('course', 'id', $courseid)) {
if ($movingcourse->category != $id ) {
error('The course doesn\'t belong to this category');
}
} else {
error('Error finding the course');
}
}
}
move_courses($courses, $data->moveto);
@@ -169,7 +179,6 @@
/// Hide or show a course
if ((!empty($hide) or !empty($show)) and confirm_sesskey()) {
require_capability('moodle/course:visibility', $context);
if (!empty($hide)) {
$course = get_record("course", "id", $hide);
$visible = 0;
@@ -178,8 +187,10 @@
$visible = 1;
}
if ($course) {
if (! set_field("course", "visible", $visible, "id", $course->id)) {
notify("Could not update that course!");
$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
require_capability('moodle/course:visibility', $coursecontext);
if (!set_field('course', 'visible', $visible, 'id', $course->id)) {
notify('Could not update that course!');
}
}
}
@@ -212,8 +223,11 @@
'category', $category->id,
'sortorder', $movecourse->sortorder + 1);
}
if ($swapcourse and $movecourse) { // Renumber everything for robustness
// check course's category
if ($movecourse->category != $id) {
error('The course doesn\'t belong to this category');
}
begin_sql();
if (!( set_field("course", "sortorder", $max, "id", $swapcourse->id)
&& set_field("course", "sortorder", $swapcourse->sortorder, "id", $movecourse->id)
+1 -1
View File
@@ -50,7 +50,7 @@
require_once($CFG->dirroot.'/lib/uploadlib.php');
$um = new upload_manager('userfile',false,false,null,false,0);
if ($um->preprocess_files()) {
if ($um->preprocess_files() and confirm_sesskey()) {
$filename = $um->files['userfile']['tmp_name'];
//Fix mac/dos newlines
+5
View File
@@ -44,7 +44,12 @@ $context = get_context_instance(CONTEXT_COURSE, $course->id);
require_login($course->id);
require_capability('moodle/course:update', $context);
if (!empty($CFG->disablecourseajax)) {
errorl_log('Course AJAX not allowed');
die;
}
require_sesskey();
// OK, now let's process the parameters and do stuff
switch($_SERVER['REQUEST_METHOD']) {
+5
View File
@@ -214,6 +214,11 @@ function sync_enrolments($type, $enrol = false) {
$this->enrol_localcoursefield,
$idnumber );
if (!is_object($course_obj)) {
if (empty($CFG->enrol_ldap_autocreate)) { // autocreation not allowed
print "[ENROL_LDAP] Course $idnumber does not exist, skipping\n";
continue; // next foreach course
}
// ok, now then let's create it!
print "Creating Course $idnumber...";
$newcourseid = $this->create_course($course, true); // we are skipping fix_course_sortorder()
+1
View File
@@ -19,6 +19,7 @@
<input type="password" name="password" size="20" value="<?php p($password) ?>" />
<input type="hidden" name="id" value="<?php p($course->id) ?>" />
<input type="hidden" name="enrol" value="manual" />
<input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
<input type="submit" value="<?php print_string("enrolme") ?>" />
</td>
</tr>
+3 -3
View File
@@ -64,12 +64,12 @@ function print_entry($course) {
print_header($strloginto, $course->fullname, "<a href=\".\">$strcourses</a> -> $strloginto");
echo '<br />';
notice_yesno(get_string('enrolmentconfirmation'), "enrol.php?id=$course->id&amp;confirm=1",
notice_yesno(get_string('enrolmentconfirmation'), "enrol.php?id=$course->id&amp;confirm=1&amp;sesskey=".sesskey(),
"enrol.php?id=$course->id&amp;cancel=1");
print_footer();
exit;
} else if (!empty($_GET['confirm'])) {
} else if (!empty($_GET['confirm']) and confirm_sesskey()) {
if (!enrol_into_course($course, $USER, 'manual')) {
print_error('couldnotassignrole');
@@ -130,7 +130,7 @@ function check_entry($form, $course) {
$form->password = '';
}
if (empty($course->password)) {
if (empty($course->password) or !confirm_sesskey()) {
// do not allow entry when no course password set
// automatic login when manual primary, no login when secondary at all!!
error('illegal enrolment attempted');
+1
View File
@@ -287,6 +287,7 @@ class enrolment_plugin_mnet {
$returnarray[$user->username] = array('enrol' => $user->enrol,
'timemodified' => $user->timemodified,
'shortname' => $user->shortname,
'username' => $user->username,
'name' => $user->name);
}
return $returnarray;
+7
View File
@@ -98,6 +98,13 @@
die;
}
// If currency is incorrectly set then someone maybe trying to cheat the system
if ($data->mc_currency != $course->currency) {
email_paypal_error_to_admin("Currency does not match course settings, received: ".addslashes($data->mc_currency), $data);
die;
}
// If status is pending and reason is other than echeck then we are on hold until further notice
// Email user to let them know. Email admin.
+2
View File
@@ -25,6 +25,8 @@
$CFG->algebrafilterdirwin = "filter\\algebra";
}
require_login();
require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM));
$query = urldecode($_SERVER['QUERY_STRING']);
error_reporting(E_ALL);
+114 -89
View File
@@ -1,10 +1,10 @@
--------------------------------------------------------------------------
January 11, 2004 Version 1.40
September 6, 2008 Version 1.70
m i m e T e X R e a d m e F i l e
Copyright(c) 2002-2004, John Forkosh Associates, Inc. All rights reserved.
Copyright(c) 2002-2008, John Forkosh Associates, Inc. All rights reserved.
--------------------------------------------------------------------------
by: John Forkosh
@@ -12,17 +12,21 @@
This file is part of mimeTeX, which is free software.
You may redistribute and/or modify it under the terms
of the GNU General Public License, version 2 or later,
of the GNU General Public License, version 3 or later,
as published by the Free Software Foundation. See
http://www.gnu.org/licenses/gpl.html
Follow the Quick Start instructions immediately below
or the detailed instructions in Section III to install
mimeTeX on your machine, and then point your browser to
http://www.yourdomain.com/mimetex.html
for a complete discussion, including demo/tutorial and
reference. Installation problems? Point your browser
to my page at
MimeTeX is discussed and illustrated online at
its homepage
http://www.forkosh.com/mimetex.html
Or you can follow the Quick Start instructions below
(or the more detailed instructions in Section III)
to immediately install mimeTeX on your own machine.
Then point your browser to
http://www.yourdomain.com/mimetex.html
for a demo/tutorial and reference.
Installation problems? Point your browser to
mimeTeX's homepage
http://www.forkosh.com/mimetex.html
then click its "full mimeTeX manual" link and see
Section II.
@@ -31,57 +35,63 @@
I. QUICK START
------------------------------------------------------------------------
To compile and install mimeTeX
o unzip mimetex.zip in any convenient working directory
o to produce an executable that emits anti-aliased gif images
* unzip mimetex.zip in any convenient working directory
* to produce an executable that emits anti-aliased
gif images (recommended)
cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
-or- for gif images without anti-aliasing
cc -DGIF mimetex.c gifsave.c -lm -o mimetex.cgi
-or- to produce an executable that emits mime xbitmaps
cc -DXBITMAP mimetex.c -lm -o mimetex.cgi
o mv mimetex.cgi to your server's cgi-bin/ directory
o mv mimetex.html to your server's htdocs/ directory
o if the relative path from htdocs to cgi-bin isn't
(For Windows, see "Compile Notes" in Section III below.)
* mv mimetex.cgi to your server's cgi-bin/ directory
* mv mimetex.html to your server's htdocs/ directory
* if the relative path from htdocs to cgi-bin isn't
../cgi-bin then edit mimetex.html and change the
few dozen occurrences as necessary
To quickly learn about mimeTeX
o point your browser to www.yourdomain.com/mimetex.html
few dozen occurrences as necessary.
Then, to quickly learn more about mimeTeX
* point your browser to www.yourdomain.com/mimetex.html
Any problems with the above?
o read the more detailed instructions in Section III below,
or see www.forkosh.com/mimetex.html
* read the more detailed instructions below,
or see http://www.forkosh.com/mimetex.html
II. INTRODUCTION
------------------------------------------------------------------------
MimeTeX is licensed under the gpl. It parses LaTeX math expressions,
emitting either gif images or mime xbitmaps of them, rather than the
usual TeX dvi's. And mimeTeX is an entirely separate little program
that doesn't use TeX in any way. Therefore, mimeTeX images are easily
inserted directly into html documents using a standard html <img> tag,
<img src="../cgi-bin/mimetex.cgi?f(x)=\int_{-\infty}^x~e^{-t^2}dt"
border=0 align=absmiddle>
without intermediate dvi-to-gif conversion, and without storing lots
of little gif image files, one file for each converted expression.
This makes your web site and html documents more easily maintained.
Thus, mimeTeX is primarily intended to help you write native html
documents containing math. In this sense it's a kind of "lightweight"
alternative to MathML, with the advantage that mimeTeX preserves LaTeX
syntax, and works with any browser and server.
MimeTeX, licensed under the gpl, lets you easily embed LaTeX math in
your html pages. It parses a LaTeX math expression and immediately
emits the corresponding gif image, rather than the usual TeX dvi.
And mimeTeX is an entirely separate little program that doesn't
use TeX or its fonts in any way. It's just one cgi that you put in
your site's cgi-bin/ directory, with no other dependencies.
So mimeTeX is very easy to install. And it's equally easy to use.
Just place an html <img> tag in your document wherever you want to
see the corresponding LaTeX expression. For example,
<img src="../cgi-bin/mimetex.cgi?f(x)=\int_{-\infty}^x~e^{-t^2}dt"
border=0 align=absmiddle>
generates and displays the corresponding gif image on-the-fly,
wherever you put that <img> tag. MimeTeX doesn't need intermediate
dvi-to-gif conversion, and it doesn't clutter your filesystem with
separate little gif files for each converted expression. (Optional
image caching does store gif files, and subsequently reads them as
needed, rather than re-rendering the same images every time a page
is reloaded.)
III. COMPILATION AND INSTALLATION
------------------------------------------------------------------------
I've comnpiled and run mimeTeX under Linux and NetBSD using gcc.
The source code is entirely ansi-standard C, and should compile
I've built and run mimeTeX under Linux and NetBSD using gcc.
The source code is ansi-standard C, and should compile
and execute under all environments without any change whatsoever.
Build instructions below are for Unix. Modify them as necessary
for your particular situation.
Build instructions below are for Unix. Modify them as necessary
for your particular situation. Note the -DWINDOWS switch if
applicable.
Unzip mimetex.zip in any convenient working directory.
You should now have files
Your working directory should now contain
mimetex.zip your gnu zipped mimeTeX distribution containing...
README this file (see mimetex.html for demo/tutorial)
LICENSE GPL license, under which you may use mimeTeX
COPYING GPL license, under which you may use mimeTeX
mimetex.c mimeTeX source program and all required functions
mimetex.h header file for mimetex.c (and for gfuntype.c)
gfuntype.c parses output from gftype -i and writes bitmap data
@@ -93,32 +103,35 @@ III. COMPILATION AND INSTALLATION
Conversion for Windows, Macs, VMS, etc, can usually be accomplished
with unzip's -a option, i.e., unzip -a mimetex.zip
Now, to produce an executable that emits anti-aliased gif images
(which is how the "official" www.forkosh.com/mimetex.html page
is displayed), compile mimetex with the command
cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
Now, to compile a mimeTeX executable that emits anti-aliased gif
images (recommended for most uses), type the command
cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
Or, to produce an executable that emits gif images
without anti-aliasing, compile mimetex with the command
cc -DGIF mimetex.c gifsave.c -lm -o mimetex.cgi
Or, for an executable that emits gif images without
anti-aliasing,
cc -DGIF mimetex.c gifsave.c -lm -o mimetex.cgi
Alternatively, for an executable that emits mime xbitmaps,
just compile mimetex with the command
cc -DXBITMAP mimetex.c -lm -o mimetex.cgi
Alternatively, to compile a mimeTeX executable that emits
mime xbitmaps, just type the command
cc -DXBITMAP mimetex.c -lm -o mimetex.cgi
Several additional command-line options that you may find
useful are discussed in Section IIc (href="#options")
of mimetex.html .
Compile Notes:
* If (and only if) you're compiling a Windows executable
with the -DAA or -DGIF option (but not -DXBITMAP), then
add -DWINDOWS also. For example,
cc -DAA -DWINDOWS mimetex.c gifsave.c -lm -o mimetex.cgi
The above Unix-like syntax works with MinGW (http://www.mingw.org)
and djgpp (http://www.delorie.com/djgpp/) Windows compilers, but
probably not with most others, where it's only intended as a
"template".
* Several additional command-line options that you may find
useful are discussed in Section IId (href="#options")
of your mimetex.html page.
That's all there is to building mimeTeX. You can now test mimetex.cgi
from the Unix command line by typing, e.g.,
./mimetex.cgi x^2+y^2
which should emit an ascii raster something like the left-hand
illustration. And if you've compiled mimeTeX with the anti-aliasing
-DAA option, then you'll also see the right-hand illustration.
It shows asterisks in the same positions as the left-hand illustration,
and anti-aliased grayscale colormap indexes assigned to neighboring
pixels. And you'll also be shown the actual rgb value for each index.
That's all there is to building mimeTeX. You can now test your
mimetex.cgi executable from the Unix command line by typing, e.g.,
./mimetex.cgi "x^2+y^2"
which should emit two ascii rasters something like the following
Ascii dump of bitmap image... Hex dump of colormap indexes...
........**..................**.. .......1**1................1**1.
.......*..*.....*..........*..*. .......*23*.....*..........*23*.
@@ -132,34 +145,50 @@ III. COMPILATION AND INSTALLATION
................*....**......... ................*....**1........
The 5 colormap indexes denote rgb...
.-->255 1-->196 2-->186 3-->177 *-->0
If you get much fancier than x^2+y^2, remember that many characters have
to be escaped from the Unix command line, e.g., x\<y or f\(x\)=x^2, etc.
Of course, you won't need these extra escapes when running mimetex from
a browser.
The right-hand illustration shows asterisks in the same positions as
the left-hand one, along with anti-aliased grayscale colormap indexes
assigned to neighboring pixels, and with the rgb value for each
index. Just typing ./mimetex.cgi without an argument should produce
ascii rasters for the default expression f(x)=x^2. If you see the
two ascii rasters then your binary's good, so mv it to your server's
cgi-bin/ directory and set permissions as necessary.
Once mimetex.cgi is working (and you're done playing with it),
mv it to your server's cgi-bin/ directory, where cgi programs
are expected (and chmod/chown it if necessary). Then mv
mimetex.html to your server's htdocs/ directory. Now point
your browser to www.yourdomain.com/mimetex.html , and it should
be rendered exactly like my page at www.forkosh.com/mimetex.html .
One "gotcha": the two directories are typically of the form
somewhere/www/cgi-bin/ and somewhere/www/htdocs/ , so I set up
mimtex.html to get mimetex.cgi from the relative path ../cgi-bin/ .
If your directories are non-conforming, you may have to edit the
few dozen occurrences of ../cgi-bin/mimetex.cgi in mimetex.html
(globally changing ../cgi-bin/mimetex.cgi should work).
Sometimes a suitable symlink works; if not, you'll have to edit.
Once mimetex.cgi is working, mv it to your server's cgi-bin/ directory
(wherever cgi programs are expected), and chmod/chown it as necessary.
Then mv mimetex.html to your server's htdocs/ directory. Now point
your browser to www.yourdomain.com/mimetex.html and you should see
your mimeTeX user's manual reference page.
Either way, once mimetex.html displays properly, and you've reviewed
the tutorial it contains, you can begin writing html documents using
mimetex.cgi to render your math.
Install Notes:
* These two directories are typically of the form
somewhere/www/cgi-bin/ and somewhere/www/htdocs/
so I set up mimtex.html to access mimetex.cgi from
the relative path ../cgi-bin/ If your directories
are non-conforming, you may have to edit the few dozen
occurrences of ../cgi-bin/mimetex.cgi in mimetex.html
Sometimes a suitable symlink works. If not, you'll
have to edit. In that case, globally changing
../cgi-bin/mimetex.cgi often works.
* Either way, once mimetex.html displays properly, you can
assume everything is working, and can begin authoring html
documents using mimetex.cgi to render your own math.
IV. REVISION HISTORY
------------------------------------------------------------------------
01/11/04 J.Forkosh version 1.40 beta released on www.forkosh.com
LaTeX compatibility and various new features
A more detailed account of mimeTeX's revision history
is maintained at http://www.forkosh.com/mimetexchangelog.html
---
09/06/08 J.Forkosh version 1.70 released.
11/30/04 J.Forkosh version 1.60 released
10/02/04 J.Forkosh version 1.50 released on CTAN with various new
features and fixes, and updated documentation.
07/18/04 J.Forkosh version 1.40 re-released on CTAN with minor
changes, e.g., \mathbb font and nested \array's
now supported.
03/21/04 J.Forkosh version 1.40 released on CTAN, with improved
LaTeX compatibility, various new features and
fixes, including fix to work under Windows.
12/21/03 J.Forkosh version 1.30 released on CTAN, with improved
LaTeX compatibility and anti-aliasing, various new
features, and thoroughly updated documentation.
@@ -183,9 +212,5 @@ V. CONCLUDING REMARKS
I hope you find mimeTeX useful. If so, a contribution to your
country's TeX Users Group, or to the GNU project, is suggested,
especially if you're a company that's currently profitable.
If you also like mimeTeX's source, I'm an independent contractor
incorporated in the US as John Forkosh Associates, Inc. A resume
is at www.forkosh.com or email john@forkosh.com
========================= END-OF-FILE README ===========================
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
Description of mimeTeX v 1.70 import into Moodle
Compiling mimeTeX:
===Windows===
1/ get "Automated MinGW Installer" from https://sourceforge.net/projects/mingw/files/
2/ install mingw
3/ go into directory with extracted source files
4/ execute "c:\mingw\bin\gcc -DAA -DWINDOWS mimetex.c gifsave.c -lm -o mimetex.exe"
===Linux===
1/ install gcc
2/ go into directory with extracted source files
3/ execute "cc -DAA mimetex.c gifsave.c -lm -o mimetex.linux"
===FreeBSD===
1/ go into directory with extracted source files
2/ execute "cc -DAA mimetex.c gifsave.c -lm -o mimetex.freebsd"
===Apple OSX===
1/ install gcc
2/ go into directory with extracted source files
3/ execute "cc -DAA mimetex.c gifsave.c -lm -o mimetex.darwin"
skodak
+12
View File
@@ -532,6 +532,9 @@ if ($nextstage == SAVE) {
$str .= '$CFG->directorypermissions = 00777; // try 02777 on a server in Safe Mode'."\r\n";
$str .= "\r\n";
$str .= '$CFG->passwordsaltmain = \''.addsingleslashes(complex_random_string()).'\';'."\r\n";
$str .= "\r\n";
$str .= 'require_once("$CFG->dirroot/lib/setup.php");'."\r\n";
$str .= '// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,'."\r\n";
$str .= '// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.'."\r\n";
@@ -1278,4 +1281,13 @@ function toggledbinfo() {
<?php
}
/**
* Add slashes for single quotes and backslashes
* so they can be included in single quoted string
* (for config.php)
*/
function addsingleslashes($input){
return preg_replace("/(['\\\])/", "\\\\$1", $input);
}
?>
+2 -1
View File
@@ -164,7 +164,7 @@ $string['globalsquoteshelp'] = '<p>Die Kombination von deaktivierten Magic Quote
</p>';
$string['globalswarning'] = '<p><strong>Sicherheitshinweis</strong>: Um ordnungsgemäß funktionieren zu können, benötigt <br />Moodle mehrere Änderungen in Ihren aktuellen PHP-Einstellungen.<p/> <p>Sie <em>müssen</em> den Parameter <code>register_globals=off</code> setzen.<p>Diese Einstellung können Sie vornehmen, in dem Sie die Datei <code>php.ini</code>, die Apache/IIS <br />Konfiguration oder die Datei <code>.htaccess</code> bearbeiten.</p>';
$string['help'] = 'Hilfe';
$string['iconvrecommended'] = 'Die Installation der ICONV Bibliothek wird zur Leistungsverbesserung dringend empfohlen. Dies ist besonders wichtig, wenn Sie Sprachen mit anderen als lateinischen Zeichensätzen verwenden.';
$string['iconvrecommended'] = 'Die Installation der Extension ICONV wird zur Leistungsverbesserung dringend empfohlen. Dies ist besonders wichtig, wenn Sie Sprachen mit anderen als lateinischen Zeichensätzen verwenden.';
$string['info'] = 'Informationen';
$string['installation'] = 'Installation';
$string['invalidmd5'] = 'md5 ungültig';
@@ -219,6 +219,7 @@ $string['phpversionhelp'] = '<p>Moodle erwartet PHP mindestens in der Version 4.
<p>Sie müssen Ihre PHP-Verson aktualisieren oder auf einen Rechner wechseln, der eine neuere Version von PHP nutzt.<br />
(Im Falle von 5.0.x könnten Sie auch zu einer Version 4.3.x/4.4.x downgraden)</p>';
$string['postgres7'] = 'PostgreSQL (postgres7)';
$string['postgresqlwarning'] = '<strong>Hinweis:</strong> Falls Sie Verbindungsprobleme bemerken, könnten Sie versuchen im Feld \'Host\' folgende Einträge zu setzen: \"host=\'postgresql_host\' port=\'5432\' dbname=\'postgresql_database_name\' user=\'postgresql_user\' password=\'postgresql_user_password\'\". Die Felder Name der Datenbank, Nutzer und Passwort bleiben leer. Weitere Informationen finden Sie in den <a href=\"http://docs.moodle.org/en/Installing_Postgres_for_PHP\">Moodle Docs</a>'; // ORPHANED
$string['previous'] = 'Frühere';
$string['qtyperqpwillberemoved'] = 'Während des Updates wird der Fragentyp RQP entfernt. Da Sie diesen Fragentyp nicht benutzen, sollten Sie keinerlei Probleme bekommen.';
$string['qtyperqpwillberemovedanyway'] = 'Während des Updates wird der Fragentyp RQP entfernt. Sie haben einige RQP Fragen in Ihrer Datenbank, die nicht mehr funktionieren werden, falls Sie nicht den dafür notwendigen Code vor der Fortsetzung dieses Updates installieren. http://moodle.org/mod/data/view.php?d=13&amp;rid=797';
+79
View File
@@ -0,0 +1,79 @@
<?php
/// Please, do not edit this file manually! It's auto generated from
/// contents stored in your standard lang pack files:
/// (langconfig.php, install.php, moodle.php, admin.php and error.php)
///
/// If you find some missing string in Moodle installation, please,
/// keep us informed using http://moodle.org/bugs Thanks!
///
/// File generated by cvs://contrib/lang2installer/installer_builder
/// using strings defined in stringnames.txt (same dir)
$string['bypassed'] = 'ބައިޕާސްޑް';
$string['cannotcreatelangdir'] = 'ލޭންގް (lang) ޑައިރެކްޓްރީއެއް ނުހެދުނު';
$string['cannotcreatetempdir'] = 'ޓެމްޕް ޑައިރެކްޓްރީ ނުހެދުނު';
$string['cannotdownloadcomponents'] = 'ކޮމްޕޯނަންޓްތައް ޑައުންލޯޑެއް ނުކުރެވޭ';
$string['cannotdownloadzipfile'] = 'ޒިޕް ފައިލް ޑައުންލޯޑެއް ނުކުރެވުނު';
$string['cannotfindcomponent'] = 'ކޮމްޕޯނަންޓް ނުފެނުނު';
$string['cannotsavemd5file'] = 'އެމްޑީފައިވް ފައިލް ސޭވެއް ނުކުރެވުނު';
$string['cannotsavezipfile'] = 'ޒިޕް ފައިލް ސޭވެއް ނުކުރެވުނު';
$string['cannotunzipfile'] = 'ފައިލް އަންޒިޕެއް ނުކުރެވުނު';
$string['check'] = 'ޗެކް';
$string['closewindow'] = 'މި ވިންޑޯ ނިވާލަން';
$string['componentisuptodate'] = 'ކޮމްޕޯނަންޓް އިނީ އަޕްޑޭޓްކޮށް';
$string['continue'] = 'ކުރިޔަށްދިޔުމަށް';
$string['ctyperecommended'] = ''; // ORPHANED
$string['ctyperequired'] = ''; // ORPHANED
$string['curlrecommended'] = ''; // ORPHANED
$string['customcheck'] = ''; // ORPHANED
$string['download'] = 'ޑައުންލޯޑް';
$string['downloadedfilecheckfailed'] = 'ޑައުންލޯޑް ކުރެވުނު ފައިލްގެ ޗެކް ފެއިލްވެއްޖެ';
$string['environmenterrortodo'] = ''; // ORPHANED
$string['environmentrecommendcustomcheck'] = ''; // ORPHANED
$string['environmentrecommendinstall'] = ''; // ORPHANED
$string['environmentrecommendversion'] = ''; // ORPHANED
$string['environmentrequirecustomcheck'] = ''; // ORPHANED
$string['environmentrequireinstall'] = ''; // ORPHANED
$string['environmentrequireversion'] = ''; // ORPHANED
$string['environmentxmlerror'] = ''; // ORPHANED
$string['error'] = 'މައްސަލަ';
$string['gdversion'] = ''; // ORPHANED
$string['globalswarning'] = ''; // ORPHANED
$string['help'] = 'އެހީ';
$string['iconvrecommended'] = ''; // ORPHANED
$string['info'] = 'މަޢުލޫމާތު';
$string['invalidmd5'] = 'އެމްޑީފައިވް ކަމަކުނުދޭ';
$string['language'] = 'ބަސް';
$string['mbstringrecommended'] = ''; // ORPHANED
$string['missingrequiredfield'] = 'ކޮންމެހެން ބޭނުންވާ ފީލްޑެއް އިނީ ހުސްކޮށް';
$string['moodledocslink'] = 'މި ޞަފުޙާގެ މޫޑުލްޑޮކްސް';
$string['mysql416bypassed'] = ''; // ORPHANED
$string['mysql416required'] = ''; // ORPHANED
$string['name'] = 'ނަން';
$string['next'] = 'ދެން ޖެހިގެން';
$string['ok'] = 'ރަނގަޅު';
$string['opensslrecommended'] = ''; // ORPHANED
$string['parentlanguage'] = 'ތަރުޖަމާކުރާ ފަރާތްތައް: ތިބާގެ ބަހުގައި މައި ބަހެއް ވާނަމަ، އެ ބޭނުންކުރެވެންވާނީ ތިބާގެ ބަސްޕެކޭޖުގައި ބަހެއް ނުވަތަ ލިޔުމެއް މަދުވާނަމަ. އޭގެ ކޯޑު މިތާ ލިޔޭ. ހުސްކޮށް ދޫކޮށްލައިފިނަމަ ދެން އިނގިރޭސި ބޭނުންކުރެވޭނެ.';
$string['password'] = 'ޕާސްވޯޑް';
$string['php50restricted'] = ''; // ORPHANED
$string['previous'] = 'ކުރި';
$string['qtyperqpwillberemoved'] = ''; // ORPHANED
$string['qtyperqpwillberemovedanyway'] = ''; // ORPHANED
$string['remotedownloaderror'] = '\"$a->url\">$a->url</a> file manually, copy it to \"$a->dest\" in your server and unzip it there.';
$string['remotedownloadnotallowed'] = '\"$a->url\">$a->url</a> file manually, copy it to \"$a->dest\" in your server and unzip it there.';
$string['report'] = 'ރިޕޯޓު';
$string['restricted'] = 'ހަރުކަށި ކުރެވިފަ';
$string['serverchecks'] = ''; // ORPHANED
$string['status'] = 'ހާލަތު';
$string['thischarset'] = 'UTF-8';
$string['thisdirection'] = 'rtl';
$string['thislanguage'] = 'ދިވެހި';
$string['unicoderecommended'] = ''; // ORPHANED
$string['unicoderequired'] = ''; // ORPHANED
$string['user'] = 'ޔޫސަރ';
$string['wrongdestpath'] = 'މަންޒިލް ނުބައި';
$string['wrongsourcebase'] = 'ސޯރސް ޔޫއާރްއެލް ބޭސް ނުބައި';
$string['wrongzipfilename'] = 'ޒިޕްފައިލްގެ ނަން ނުބައި';
$string['xmlrpcrecommended'] = ''; // ORPHANED
$string['ziprequired'] = ''; // ORPHANED
?>
+263 -22
View File
@@ -9,26 +9,267 @@
/// File generated by cvs://contrib/lang2installer/installer_builder
/// using strings defined in stringnames.txt (same dir)
$string['check'] = 'Επιλογή';
$string['closewindow'] = 'Κλείστε αυτό το παράθυρο';
$string['continue'] = 'Συνέχεια';
$string['download'] = 'Κατέβασμα';
$string['error'] = 'Σφάλμα';
$string['gdversion'] = 'Έκδοση GD';
$string['help'] = 'Βοήθεια';
$string['info'] = 'Πληροφορίες';
$string['language'] = 'Γλώσσα';
$string['moodledocslink'] = 'Αρχεία βοήθειας για αυτήν την σελίδα';
$string['name'] = 'Όνομα';
$string['next'] = 'Επόμενο';
$string['ok'] = 'OK';
$string['password'] = 'Κωδικός πρόσβασης';
$string['previous'] = 'Προηγούμενο';
$string['report'] = 'Αναφορά';
$string['restricted'] = 'Περιορισμένο';
$string['status'] = 'Κατάσταση';
$string['thischarset'] = 'UTF-8';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Ελληνικά';
$string['user'] = 'Χρήστης';
$string['admindirerror'] = 'Ο φάκελος admin έχει οριστεί λανθασμένα';
$string['admindirname'] = 'Φάκελος Admin';
$string['admindirsettinghead'] = 'Προσδιορίζοντας τον φάκελο admin...';
$string['admindirsettingsub'] = 'Πολλοί λίγοι κεντρικοί υπολογιστές ιστού χρησιμοποιούν το /admin ως ειδικό URL για την πρόσβαση σε κάποιο πίνακα ελέγχου ή κάτι τέτοιο. Δυστυχώς αυτό έρχεται σε αντίθεση με την κανονική τοποθεσία των admin σελίδων του ΠΗΛΕΑΣ. Μπορείτε να το διορθώσετε αυτό μέσα από την μετονομασία του admin φακέλου στην εγκατάστασή σας, και βάζοντας αυτό το καινούργιο όνομα εδώ. Για παράδειγμα: <br /> <br /><b>moodleadmin</b><br /> <br /> Αυτό θα διορθώσει τους συνδέσμους admin στο ΠΗΛΕΑΣ.';
$string['bypassed'] = 'Προσπεράστηκαν';
$string['cannotcreatelangdir'] = 'Δε δημιουργήθηκε φάκελος γλώσσας.';
$string['cannotcreatetempdir'] = 'Δε δημιουργήθηκε φάκελος temp.';
$string['cannotdownloadcomponents'] = 'Δεν κατέβηκαν τα τμήματα.';
$string['cannotdownloadzipfile'] = 'Δεν κατέβηκε το αρχείο ZIP.';
$string['cannotfindcomponent'] = 'Δεν βρέθηκε το τμήμα.';
$string['cannotsavemd5file'] = 'Δεν αποθηκεύτηκε το αρχείο md5.';
$string['cannotsavezipfile'] = 'Δεν αποθηκεύτηκε το αρχείο ZIP.';
$string['cannotunzipfile'] = 'Δεν έγινε αποσυμπίεση του αρχείου.';
$string['caution'] = 'Προσοχή';
$string['check'] = 'Επιλογή';
$string['chooselanguagehead'] = 'Επιλογή γλώσσας';
$string['chooselanguagesub'] = 'Παρακαλώ, επιλέξτε γλώσσα για την εγκατάσταση ΜΟΝΟ. Θα μπορείτε να επιλέξετε γλώσσα ιστοσελίδας και χρηστών σε μια μετέπειτα οθόνη.';
$string['closewindow'] = 'Κλείστε αυτό το παράθυρο';
$string['compatibilitysettingshead'] = 'Έλεγχος των PHP ρυθμίσεών σας...';
$string['compatibilitysettingssub'] = 'Ο εξυπηρετητής σας πρέπει να περάσει όλα αυτά τα τεστ για να λειτουργεί το ΠΗΛΕΑΣ κανονικά';
$string['componentisuptodate'] = 'Το τμήμα είναι ενημερωμένο.';
$string['configfilenotwritten'] = 'Το σενάριο εγκατάστασης δεν μπόρεσε να δημιουργήσει αυτόματα ένα αρχείο config.php το οποίο να περιέχει τις επιλεγμένες ρυθμίσεις, μάλλον γιατί ο φάκελος του ΠΗΛΕΑΣ δεν είναι εγγράψιμος. Μπορείτε χειροκίνητα να αντιγράψετε τον παρακάτω κώδικα σε ένα αρχείο με όνομα config.php μέσα στο root φάκελο του ΠΗΛΕΑΣ.';
$string['configfilewritten'] = 'Το αρχείο config.php δημιουργήθηκε με επιτυχία';
$string['configurationcompletehead'] = 'Ολοκληρώθηκαν οι ρυθμίσεις';
$string['configurationcompletesub'] = 'Το ΠΗΛΕΑΣ προσπάθησε να αποθηκεύσει τις ρυθμίσεις σε ένα αρχείο στο root της εγκατάστασης του ΠΗΛΕΑΣ';
$string['continue'] = 'Συνέχεια';
$string['ctyperecommended'] = 'Η εγκατάσταση της προαιρετικής επέκτασης PHP ctype συνιστάται θερμά για τη βελτίωση της απόδοσης του ιστοχώρου, ιδιαίτερα εάν ο ιστοχώρος σας χρησιμοποιεί μη λατινογενείς γλώσσες.';
$string['ctyperequired'] = 'Η επέκταση PHP ctype τώρα απαιτείται από το Moodle για τη βελτίωση της απόδοσης του ιστοχώρου και την παροχή πολυγλωσσικών δυνατοτήτων.';
$string['curlrecommended'] = 'Η εγκατάσταση της προαιρετικής βιβλιοθήκης cURL συνιστάται θερμά για την δυνατότητα Moodle Networking.';
$string['curlrequired'] = 'Η επέκταση PHP cURL τώρα απαιτείται από το Moodle ώστε να είναι δυνατή η επικοινωνία με τις βιβλιοθήκες (repositories) του Moodle.';
$string['customcheck'] = 'Άλλοι ελέγχοι';
$string['database'] = 'Βάση Δεδομένων';
$string['databasecreationsettingshead'] = 'Τώρα πρέπει να ορίσετε τις ρυθμίσεις της βάσης δεδομένων όπου τα περισσότερα δεδομένα του ΠΗΛΕΑΣ θα είναι αποθηκευμένα. Αυτή η βάση δεδομένων θα δημιουργηθεί αυτόματα από την εγκατάσταση με τις ρυθμίσεις που εμφανίζονται παρακάτω.';
$string['databasecreationsettingssub'] = '<b>Τύπος: </b> έχει οριστεί ως \\"mysql\\" από την εγκατάσταση <br/>
<b>Κεντρικός Υπολογιστής: </b> έχει οριστεί ως \\"localhost\\" από την εγκατάσταση <br/>
<b>Όνομα: </b> όνομα της βάσης δεδομένων, πχ moodle <br/>
<b>Χρήστης: </b> έχει οριστεί ως \\"root\\" από την εγκατάσταση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης δεδομένων <br/>
<b>Πρόθεμα Πινάκων: </b> προαιρετικό πρόθεμα για χρήση σε όλα τα ονόματα πινάκων';
$string['databasesettingshead'] = 'Τώρα πρέπει να ορίσετε τις ρυθμίσεις της βάσης δεδομένων όπου τα περισσότερα δεδομένα του ΠΗΛΕΑΣ θα είναι αποθηκευμένα. Αυτή η βάση πρέπει να έχει δημιουργηθεί ήδη αυτόματα και να έχει οριστεί ένα όνομα χρήστη και κωδικός πρόσβασης.';
$string['databasesettingssub'] = '<b>Τύπος: </b> mysql ή postgres7 <br/>
<b>Κεντρικός Υπολογιστής: </b> π.χ. localhost ή db.isp.com <br/>
<b>Όνομα: </b> το όνομα της βάσης, π.χ. moodle <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> προαιρετικό πρόθεμα για χρήση σε όλα τα ονόματα πινάκων';
$string['databasesettingssub_mssql'] = '<b>Τύπος: </b> SQL*Server (non UTF-8) <b><font color=\\"red\\">Πειραματικό! (όχι για χρήση στην παραγωγή)</font></b><br />
<b>Κεντρικός Υπολογιστής: </b> π.χ. localhost ή db.isp.com <br/>
<b>Όνομα: </b> το όνομα της βάσης, π.χ. moodle <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> πρόθεμα για χρήση σε όλα τα ονόματα πινάκων (προαιρετικό)';
$string['databasesettingssub_mssql_n'] = '<b>Τύπος: </b> SQL*Server (non UTF-8) <br/>
<b>Κεντρικός Υπολογιστής: </b> π.χ. localhost ή db.isp.com <br/>
<b>Όνομα: </b> το όνομα της βάσης, π.χ. moodle <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> πρόθεμα για χρήση σε όλα τα ονόματα πινάκων (προαιρετικό)';
$string['databasesettingssub_mysql'] = '<b>Τύπος: </b> MySQL <br/>
<b>Κεντρικός Υπολογιστής: </b> π.χ. localhost ή db.isp.com <br/>
<b>Όνομα: </b> το όνομα της βάσης, π.χ. moodle <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> πρόθεμα για χρήση σε όλα τα ονόματα πινάκων (προαιρετικό)';
$string['databasesettingssub_mysqli'] = '<b>Τύπος:</b> Βελτιωμένος MySQL<br />
<b>Κεντρικός Υπολογιστής: </b> π.χ. localhost ή db.isp.com <br/>
<b>Όνομα: </b> το όνομα της βάσης, π.χ. moodle <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> πρόθεμα για χρήση σε όλα τα ονόματα πινάκων (προαιρετικό)';
$string['databasesettingssub_oci8po'] = '<b>Τύπος: </b> Oracle <br/>
<b>Κεντρικός Υπολογιστής: </b> δεν χρησιμοποιείται, να μείνει κενό<br/>
<b>Όνομα: </b> το όνομα της σύνδεσης tnsnames.ora <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> πρόθεμα για χρήση σε όλα τα ονόματα πινάκων (προαιρετικό, 2cc. μέγιστο)';
$string['databasesettingssub_odbc_mssql'] = '<b>Τύπος: </b> SQL*Server (over ODBC) <b><font color=\\"red\\">Πειραματικό! (όχι για χρήση στην παραγωγή)</font></b><br />
<b>Κεντρικός Υπολογιστής: </b> π.χ. localhost ή db.isp.com <br/>
<b>Όνομα: </b> το όνομα της βάσης, π.χ. moodle <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> πρόθεμα για χρήση σε όλα τα ονόματα πινάκων (προαιρετικό)';
$string['databasesettingssub_postgres7'] = '<b>Τύπος: </b> PostgreSQL <br/>
<b>Κεντρικός Υπολογιστής: </b> π.χ. localhost ή db.isp.com <br/>
<b>Όνομα: </b> το όνομα της βάσης, π.χ. moodle <br/>
<b>Χρήστης: </b> το όνομα χρήστη για τη βάση <br/>
<b>Κωδικός: </b> ο κωδικός πρόσβασης της βάσης <br/>
<b>Πρόθεμα Πινάκων: </b> πρόθεμα για χρήση σε όλα τα ονόματα πινάκων (προαιρετικό)';
$string['databasesettingswillbecreated'] = '<b>Σημείωση:</b> Το πρόγραμμα εγκατάστασης θα προσπαθήσει να δημιουργήσει τη βάση δεδομένων αυτόματα εάν δεν υπάρχει.';
$string['dataroot'] = 'Φάκελος Δεδομένων';
$string['datarooterror'] = 'Ο φάκελος δεδομένων που ορίσατε δεν μπόρεσε να βρεθεί ή να δημιουργηθεί. Διορθώστε τη διεύθυνση ή δημιουργήστε το φάκελο χειροκίνητα.';
$string['datarootpublicerror'] = 'Ο \'Φάκελος Δεδομένων\' που ορίσατε είναι απευθείας προσβάσιμος μέσω ιστού, πρέπει να χρησιμοποιήσετε έναν διαφορετικό φάκελο.';
$string['dbconnectionerror'] = 'Δεν έγινε σύνδεση με τη βάση δεδομένων που ορίσατε. Παρακαλώ ελέγξτε τις ρυθμίσεις της βάσης σας.';
$string['dbcreationerror'] = 'Σφάλμα δημιουργίας βάσης δεδομένων. Δε δημιουργήθηκε βάση με το επιθυμητό όνομα και της προσδιορισμένες ρυθμίσεις';
$string['dbhost'] = 'Κεντρικός Εξυπηρετητής';
$string['dbprefix'] = 'Πρόθεμα πινάκων';
$string['dbtype'] = 'Τύπος';
$string['dbwrongencoding'] = 'Η επιλεγμένη βάση δεδομένων εκτελείται κάτω από μια μη-προτεινόμενη κωδικοποίηση ($a). Θα ήταν καλύτερο να χρησιμοποιηθεί μια βάση με κωδικοποίηση Unicode (UTF-8). Μπορείτε να προσπεράσετε αυτό το τεστ επιλέγοντας \\"Προσπέραση Τεστ Κωδικοποίησης Βάσης\\", αλλά ίσως αντιμετωπίσετε προβλήματα στο μέλλον.';
$string['dbwronghostserver'] = 'Πρέπει να ακολουθήσετε τους κανόνες του \\"Κεντρικού Υπολογιστή\\" που εξηγούνται πιο πάνω.';
$string['dbwrongnlslang'] = 'Η μεταβλητή περιβάλλοντος NLS_LANG του εξυπηρετητή ιστού σας πρέπει να χρησιμοποιεί την κωδικοποίηση AL32UTF8. Δείτε τα κείμενα της PHP για το πως να ρυθμίσετε τον OCI8.';
$string['dbwrongprefix'] = 'Πρέπει να ακολουθήσετε τους κανόνες του \\"Προθέματος Πινάκων\\" που εξηγούνται πιο πάνω.';
$string['directorysettingshead'] = 'Παρακαλώ επιβεβαιώστε τις τοποθεσίες αυτής της εγκατάστασης ΠΗΛΕΑΣ.';
$string['directorysettingssub'] = '<b>Διεύθυνση ιστοσελίδας:</b>
Προσδιορίστε την πλήρη διεύθυνση ιστοσελίδας από την οποία γίνεται η πρόσβαση στο ΠΗΛΕΑΣ. Εάν η ιστοσελίδα σας είναι προσβάσιμη μέσω πολλαπλών URL επιλέξτε αυτό που θα χρησιμοποιούν οι φοιτητές περισσότερο. Μη συμπεριλάβετε τελική κάθετος (/).
<br />
<br />
<b>Φάκελος ΠΗΛΕΑΣ:</b>
Προσδιορίστε το πλήρες μονοπάτι του φακέλου αυτής της εγκατάστασης. Βεβαιωθείτε ότι τα πεζά/κεφαλαία είναι σωστά.
<br />
<br />
<b>Φάκελος Δεδομένων:</b>
Χρειάζεστε ένα μέρος όπου το ΠΗΛΕΑΣ θα μπορεί να παοθηκεύει τα ανεβασμένα αρχεία. Αυτος ο φάκελος θα πρέπει να είναι αναγνώσιμος και εγγράψιμος από το χρήστη του εξυπηρετητή ιστού (συνήθως \'nobody\' ή \'apache\'), αλλά δεν πρέπει να είναι προσβάσιμος κατευθείαν από το δίκτυο.';
$string['dirroot'] = 'Φάκελος ΠΗΛΕΑΣ';
$string['dirrooterror'] = 'Η ρύθμιση \'Φάκελος ΠΗΛΕΑΣ\' φαίνεται να είναι εσφαλμένη - δεν μπορέσαμε να βρούμε εγκατάσταση ΠΗΛΕΑΣ εκεί. Η τιμή έχει επαναρυθμιστεί.';
$string['download'] = 'Μεταφόρτωση';
$string['downloadedfilecheckfailed'] = 'Το κατέβασμα ελέγχου αρχείου απέτυχε.';
$string['downloadlanguagebutton'] = 'Μεταφόρτωση σε \\"$a\\" γλωσσικό πακέτο';
$string['downloadlanguagehead'] = 'Μεταφόρτωση γλωσσικού πακέτου';
$string['downloadlanguagenotneeded'] = 'Μπορείτε να συνεχίσετε την εγκατάσταση χρησιμοποιώντας το προεπιλεγμένο γλωσσικό πακέτο, \\"$a\\".';
$string['downloadlanguagesub'] = 'Τώρα έχετε την επιλογή του κατεβάσματος ενός γλωσσικού πακέτου και συνέχιση της εγκατάστασης σε αυτήν την γλώσσα.<br /><br /> Εάν δεν μπορέσετε να κατεβάσετε το γλωσσικό πακέτο, η εγκατάσταση θα προχωρήσει στα αγγλικά. (Μόλις η εγκατάσταση ολοκληρωθεί, θα έχετε την δυνατότητα να κατεβάσετε και να εγκαταστήσετε επιπλέον γλωσσικά πακέτα.)';
$string['environmenterrortodo'] = 'Πρέπει να λύσετε όλα τα προβλήματα περιβάλλοντος (σφάλματα) που εντοπίστηκαν παραπάνω για να συνεχίσετε την εγκατάσταση του Moodle!';
$string['environmenthead'] = 'Έλεγχος περιβάλλοντος...';
$string['environmentrecommendcustomcheck'] = 'σε περίπτωση αποτυχίας αυτού του τεστ, υπάρχει πιθανό πρόβλημα';
$string['environmentrecommendinstall'] = 'προτείνεται να εγκατασταθεί/ ενεργοποιηθεί';
$string['environmentrecommendversion'] = 'προτείνεται η έκδοση $a->needed ενώ εσείς έχετε την $a->current';
$string['environmentrequirecustomcheck'] = 'αυτό το τεστ πρέπει να είναι επιτυχές';
$string['environmentrequireinstall'] = 'απαιτείται να εγκατασταθεί/ ενεργοποιηθεί';
$string['environmentrequireversion'] = 'απαιτείται η έκδοση $a->needed ενώ εσείς έχετε την $a->current';
$string['environmentsub'] = 'Έλεγχος εάν τα διάφορα τμήματα του συστήματός σας ταιριάζουν με τις απαιτήσεις συστήματος';
$string['environmentxmlerror'] = 'Σφάλμα κατά την ανάγνωση δεδομένων περιβάλλοντος ($a->error_code)';
$string['error'] = 'Σφάλμα';
$string['fail'] = 'Αποτυχία';
$string['fileuploads'] = 'Ανέβασμα αρχείων';
$string['fileuploadserror'] = 'Αυτό πρέπει να είναι ενεργοποιημένο';
$string['fileuploadshelp'] = '<p>Το ανέβασμα αρχείων φαίνεται να είναι απενεργοποιημένο στο εξυπηρετητή σας.</p>
<p> Το ΠΗΛΕΑΣ μπορεί να εγκατασταθεί, αλλά χωρίς αυτήν τη δυνατότητα, δε θα μπορείτε να ανεβάσετε αρχεία μαθημάτων ή καινούργιες εικόνες για τα προφίλ χρηστών.</p>
<p> Για να ενεργοποιήσετε το ανέβασμα αρχείων (εσείς ή ο διαχειριστής) πρέπει να επεξεργαστείτε το κύριο php.ini αρχείο του συστήματός σας και να αλλάξετε τη ρύθμιση για <b>file_uploads</b> σε \'1\'.</p>';
$string['gdversion'] = 'Έκδοση GD';
$string['gdversionerror'] = 'Η βιβλιοθήκη GD είναι απαραίτητη για την επεξεργασία και τη δημιουργία εικόνων';
$string['gdversionhelp'] = '<p>Ο εξυπηρετητής σας δεν έχει εγκατεστημένη τη βιβλιοθήκη GD.</p>
<p>Η βιβλιοθήκη GD είναι απαραίτητη από την PHP για να μπορεί το ΠΗΛΕΑΣ να επεξεργαστεί εικόνες (όπως τα εικονίδια στο προφίλ των χρηστών) και να δημιουργήσει νέες εικόνες (όπως γραφήματα). Το ΠΗΛΕΑΣ μπορεί να λειτουργήσει χωρίς το GD - απλώς αυτές οι δυνατότητες δεν θα είναι διαθέσιμες.</p>
<p>Για να προσθέσετε το GD στην PHP σε λειτουργικό σύστημα Unix, κάντε μεταγλώττιση την PHP χρησιμοποιώντας την παράμετρο --with-gd.</p>
<p>Στο λειτουργικό σύστημα Windows μπορείτε συνήθως να επεξεργαστείτε το αρχείο php.ini και να βγάλετε από τα σχόλια τη γραμμή που αναφέρεται στο php_gd2.dll.</p>';
$string['globalsquotes'] = 'Μη ασφαλής διαχείριση των Globals';
$string['globalsquoteserror'] = 'Διορθώστε τις ρυθμίσεις PHP: απενεργοποιήστε το register_globals και/ή ενεργοποιήστε το magic_quotes_gpc';
$string['globalsquoteshelp'] = '<p>Δεν προτείνεται ο ταυτόχρονος συνδυασμός απενεργοποιημένου Magic Quotes GPC και ενεργοποιημένου Register Globals.</p>
<p>Η προτεινόμενη ρύθμιση είναι <b>magic_quotes_gpc = On</b> και<b>register_globals = Off</b> στο αρχείο php.ini</p>
<p>Αν δεν έχετε πρόσβαση στο αρχείο php.ini, τότε μπορείτε να προσθέσετε τις παρακάτω γραμμές στο αρχείο .htaccess που βρίσκεται στο φάκελο του ΠΗΛΕΑΣ :
<blockquote>php_value magic_quotes_gpc On</blockquote>
<blockquote>php_value register_globals Off</blockquote>
</p>';
$string['globalswarning'] = '<p><strong>ΠΡΟΕΙΔΟΠΟΙΗΣΗ ΑΣΦΑΛΕΙΑΣ!</strong></p><p> Για να λειτουργήσει κανονικά, το Moodle απαιτεί <br />να κάνετε κάποιες αλλαγές στις τρέχουσες ρυθμίσεις της PHP.</p><p> <em>Πρέπει</em> να ορίσετε <code>register_globals=off</code>.</p><p>Αυτή η ρύθμιση ελέγχεται αλλάζοντας το <code>php.ini</code>, Apache/IIS <br />ρυθμίσεις ή το αρχείο<code>.htaccess</code>.</p>';
$string['help'] = 'Βοήθεια';
$string['iconvrecommended'] = 'Η εγκατάσταση της προαιρετικής ICONV βιβλιοθήκης προτείνεται για να βελτιωθεί η απόδοση του συστήματος, ειδικά εάν η σελίδα σας υποστηρίζει γλώσσες με μη-λατινικό αλφάβητο.';
$string['info'] = 'Πληροφορίες';
$string['installation'] = 'Εγκατάσταση';
$string['invalidmd5'] = 'Μη έγκυρο md5';
$string['langdownloaderror'] = 'Δυστυχώς η γλώσσα \\"$a\\" δεν είναι εγκατεστημένη. Η εγκατάσταση θα συνεχιστεί στα αγγλικά.';
$string['langdownloadok'] = 'Η γλώσσα \\"$a\\" εγκαταστάθηκε με επιτυχία. Η εγκατάσταση θα συνεχιστεί σε αυτήν τη γλώσσα.';
$string['language'] = 'Γλώσσα';
$string['magicquotesruntime'] = 'Magic Quotes Run Time';
$string['magicquotesruntimeerror'] = 'Αυτό θα πρέπει να είναι off';
$string['magicquotesruntimehelp'] = '<p>Το magic quotes runtime πρέπει να είναι off για να μπορέσει το ΠΗΛΕΑΣ να λειτουργήσει σωστά.</p>
<p>Κανονικά είναι προεπιλεγμένο το off ... δείτε τη ρύθμιση <b>magic_quotes_runtime</b> στο αρχείο php.ini.</p>
<p>Αν δεν έχετε πρόσβαση στο αρχείο php.ini, μπορείτε να προσθέσετε τις παρακάτω γραμμές στο αρχείο .htaccess που βρίσκεται μέσα στο φάκλεο του ΠΗΛΕΑΣ :
<blockquote>php_value magic_quotes_runtime Off</blockquote>
</p>';
$string['mbstringrecommended'] = 'Η εγκατάσταση της προαιρετικής MBSTRING βιβλιοθήκης προτείνεται για να βελτιωθεί η απόδοση του συστήματος, ειδικά εάν η σελίδα σας υποστηρίζει γλώσσες με μη-λατινικό αλφάβητο.';
$string['memorylimit'] = 'Memory Limit';
$string['memorylimiterror'] = 'Το memory limit της PHP έχει οριστεί πολύ χαμηλά ... ίσως αντιμετωπίσετε προβλήματα στη συνέχεια.';
$string['memorylimithelp'] = '<p>Το memory limit της PHP στο server σας είναι ορισμένο αυτή τη στιγμή στα $a.</p>
<p>Αυτό μπορεί να προκαλέσει προβλήματα μνήμης στο ΠΗΛΕΑΣ στη συνέχεια, ειδικά αν έχετε πολλά ενεργοποιημένα αρθρώματα και/ή πολλούς χρήστες.</p>
<p>Προτείνεται η ρύθμιση της PHP με μεγαλύτερο όριο, αν αυτό είναι δυνατό, π.χ. 16M. Υπάρχουν πολλοί τρόποι που μπορείτε να δοκιμάσετε να το κάνετε αυτό:</p>
<ol>
<li>Αν έχετε τη δυνατότητα, κάνετε επαναμεταγλώττιση την PHP με την παράμετρο <i>--enable-memory-limit</i>.
Αυτό θα επιτρέψει στο Moodle να ορίσει μόνο του το memory limit.</li>
<li>Αν έχετε πρόσβαση στο αρχείο php.ini, μπορείτε να αλλάξετε τη ρύθμιση <b>memory_limit</b>
σε 16M. Αν δεν έχετε πρόσβαση ζητήστε από το διαχειριστή να το κάνει για εσάς.</li>
<li>Σε κάποιους εξυπηρετητές PHP μπορείτε να δημιουργήσετε ένα αρχείο .htaccess στο φάκελο του ΠΗΛΕΑΣ που να περιέχει τις παρακάτω γραμμές:<p><blockquote>php_value memory_limit 16M</blockquote></p>
<p>Ωστόσο, σε κάποιους εξυπηρετητές αυτό θα εμποδίσει τη λειτουργία <b>όλων</b> των σελιδών PHP
(θα βλέπετε σφάλματα όταν ανοίγετε τις σελίδες), σε αυτήν την περίπτωση θα πρέπει να διαγράψετε το αρχείο .htaccess.</p></li>
</ol>';
$string['missingrequiredfield'] = 'Κάποιο απαιτούμενο πεδίο λείπει';
$string['moodledocslink'] = 'Αρχεία βοήθειας για αυτήν τη σελίδα';
$string['mssql'] = 'SQL*Server (mssql)';
$string['mssqlextensionisnotpresentinphp'] = 'Η PHP δεν έχει ρυθμιστεί σωστά με την επέκταση MSSQL, έτσι ώστε να μπορεί να επικοινωνεί με το SQL*Server. Παρακαλώ ελέγξτε το αρχείο php.ini ή κάντε επαναμεταγλώττιση την PHP.';
$string['mssql_n'] = 'SQL*Server με υποστήριξη UTF-8 (mssql_n)';
$string['mysql'] = 'MySQL (mysql)';
$string['mysql416bypassed'] = 'Ωστόσο, εάν η ιστοσελίδα σας χρησιμοποιεί iso-8859-1 (λατινικές) γλώσσες ΜΟΝΟ, μπορείτε να συνεχίσετε να χρησιμοποιείτε την τρέχουσα εγκατάσταση της MySQL 4.1.12 (ή νεότερης).';
$string['mysql416required'] = 'Η MySQL 4.1.16 είναι η ελάχιστη έκδοση που απαιτείται για το Moodle 1.6 ώστε να υπάρχει η εγγύηση πως όλα τα δεδομένα μπορούν να μετατραπούν σε UTF-8 στο μέλλον.';
$string['mysqlextensionisnotpresentinphp'] = 'Η PHP δεν έχει ρυθμιστεί σωστά με την επέκταση MySQL, έτσι ώστε να μπορεί να επικοινωνεί με τη MySQL. Παρακαλώ ελέγξτε το αρχείο php.ini ή κάντε επαναμεταγλώττιση την PHP.';
$string['mysqli'] = 'Improved MySQL (mysqli)';
$string['mysqliextensionisnotpresentinphp'] = 'Η PHP δεν έχει ρυθμιστεί σωστά με την επέκταση MySQLi, έτσι ώστε να μπορεί να επικοινωνεί με τη MySQL. Παρακαλώ ελέγξτε το αρχείο php.ini ή κάντε επαναμεταγλώττιση την PHP. Η επέκταση MySQLi δεν είναι διαθέσιμη για την PHP 4.';
$string['name'] = 'Όνομα';
$string['next'] = 'Επόμενο';
$string['oci8po'] = 'Oracle (oci8po)';
$string['ociextensionisnotpresentinphp'] = 'Η PHP δεν έχει ρυθμιστεί σωστά με την επέκταση OCI8, έτσι ώστε να μπορεί να επικοινωνεί με τη Oracle. Παρακαλώ ελέγξτε το αρχείο php.ini ή κάντε επαναμεταγλώττιση την PHP.';
$string['odbcextensionisnotpresentinphp'] = 'Η PHP δεν έχει ρυθμιστεί σωστά με την επέκταση ODBC, έτσι ώστε να μπορεί να επικοινωνεί με το SQL*Server. Παρακαλώ ελέγξτε το αρχείο php.ini ή κάντε επαναμεταγλώττιση την PHP.';
$string['odbc_mssql'] = 'SQL*Server over ODBC (odbc_mssql)';
$string['ok'] = 'OK';
$string['opensslrecommended'] = 'Συνιστάται η εγκατάσταση της προαιρετικής βιβλιοθήκης OpenSSL -- παρέχει Moodle Networking λειτουργικότητα.';
$string['pass'] = 'Πέρασμα';
$string['pgsqlextensionisnotpresentinphp'] = 'Η PHP δεν έχει ρυθμιστεί σωστά με την επέκταση PGSQL, έτσι ώστε να μπορεί να επικοινωνεί με το PostgreSQL. Παρακαλώ ελέγξτε το αρχείο php.ini ή κάντε επαναμεταγλώττιση την PHP.';
$string['php50restricted'] = 'Η PHP 5.0.x έχει ένα αριθμό προβλημάτων, παρακαλώ αναβαθμίστε την στην έκδοση 5.1.x ή υποβαθμίστε την στις εκδόσεις 4.3.x ή 4.4.x';
$string['phpversion'] = 'Έκδοση της PHP';
$string['phpversionhelp'] = '<p>Το ΠΗΛΕΑΣ απαιτεί η έκδοση της PHP να είναι τουλάχιστον 4.3.0 ή 5.1.0 (η 5.0.x έχει ένα αριθμό γνωστών προβλημάτων).</p>
<p>Αυτή τη στιγμή έχετε την έκδοση $a</p>
<p>Πρέπει να κάνετε upgrade την PHP ή να μεταφερθείτε σε ένα κεντρικό υπολογιστή με μια νεότερη έκδοση της PHP!<br/>
(Σε περίπτωση που έχετε την 5.0.x μπορείτε επίσης να κάνετε και υποβάθμιση στην έκδοση 4.4.x)</p>';
$string['postgres7'] = 'PostgreSQL (postgres7)';
$string['previous'] = 'Προηγούμενο';
$string['qtyperqpwillberemoved'] = 'Κατά τη διάρκεια της αναβάθμισης, ο τύπος ερώτησης RQP θα διαγραφεί. Δε χρησιμοποιούσατε αυτόν τον τύπο ερώτησης οποτε δε θα πρέπει να αντιμετωπίσετε προβλήματα.';
$string['qtyperqpwillberemovedanyway'] = 'Κατά τη διάρκεια της αναβάθμισης, ο τύπος ερώτησης RQP θα διαγραφεί. Έχετε κάποιες ερωτήσεις RQP στη βάση και θα σταματήσουν να λειτουργούν εκτός αν επανεγκαταστήσετε τον κώδικα από το http://moodle.org/mod/data/view.php?d=13&amp;rid=797 πριν συνεχίσετε με την αναβάθμιση.';
$string['remotedownloaderror'] = 'Απέτυχε η λήψη του τμήματος στο διακομιστή σας, παρακαλώ επιβεβαιώστε τις ρυθμίσεις του διακομιστή proxy, η επέκταση PHP cURL συνιστάται θερμά.<br /><br />Πρέπει να κατεβάσετε το <a href=\\"$a->url\\">$a->url</a> χειροκίνητα, να το αντιγράψετε στο \\"$a->dest\\" στο διακομιστή σας και να το αποσυμπιέσετε εκεί.';
$string['remotedownloadnotallowed'] = 'Το κατέβασμα τμημάτων στο διακομιστή δεν επιτρέπεται (το allow_url_fopen είναι απενεργοποιημένο).<br /><br />Πρέπει να κατεβάσετε το <a href=\\"$a->url\\">$a->url</a> αρχείο χειροκίνητα, αντιγράψτε το στο \\"$a->dest\\" στο διακομιστή σας και αποσυμπιέστε το εκεί.';
$string['report'] = 'Αναφορά';
$string['restricted'] = 'Περιορισμένο';
$string['safemode'] = 'Ασφαλής λειτουργία';
$string['safemodeerror'] = 'Το ΠΗΛΕΑΣ μπορεί να έχει προβλήματα με το safe mode on';
$string['safemodehelp'] = '<p>Το ΠΗΛΕΑΣ μπορεί να έχει έναν αριθμό προβλημάτων με το safe mode on, όπως για παράδειγμα να μην μπορεί να δημιουργήσει νέα αρχεία.</p>
<p>Το safe mode είναι συνήθως ενεργοποιημένο σε ορισμένους (παρανοϊκούς!) δημόσιους κεντρικούς υπολογιστές ιστού, οπότε ίσως χρειαστεί να βρείτε ένα νέο κεντρικό υπολογιστή ιστού για τον ιστοχώρο σας.</p>
<p>Μπορείτε αν θέλετε να συνεχίσετε με την εγκατάστση, ωστόσο να είστε προετοιμασμένοι για προβλήματα στο μέλλον.</p>';
$string['serverchecks'] = 'Έλεγχος διακομιστή';
$string['sessionautostart'] = 'Αυτόματη ένερξη συνεδρίας';
$string['sessionautostarterror'] = 'Αυτό πρέπει να είναι απενεργοποιημένο';
$string['sessionautostarthelp'] = '<p>Το ΠΗΛΕΑΣ απαιτεί την υποστήριξη συνόδων και δεν μπορεί να λειτουργήσει χωρίς αυτήν.</p>
<p>Τα sessions μπορούν να ενεργοποιηθούν στο αρχείο php.ini ... δείτε την παράμετρο session.auto_start</p>';
$string['skipdbencodingtest'] = 'Παράληψη ελέγχου κωδικοποίησης βάσης δεδομένων';
$string['status'] = 'Κατάσταση';
$string['thischarset'] = 'UTF-8';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Ελληνικά';
$string['unicoderecommended'] = 'Προτείνεται η αποθηκεύση όλων των δεδομένων σε Unicode (UTF-8). Νέες εγκαταστάσεις πρέπει να εκτελεστούν σε βάσεις δεδομένων που έχουν ως προεπιλεγμένο char set το Unicode. Εάν αναβαθμίζετε, εκτελέστε τη διαδικασία μεταφοράς της UTF-8';
$string['unicoderequired'] = 'Απαιτείται η αποθηκεύση όλων των δεδομένων σε Unicode (UTF-8). Νέες εγκαταστάσεις πρέπει να εκτελεστούν σε βάσεις δεδομένων που έχουν ως προεπιλεγμένο charset το Unicode. Εάν αναβαθμίζετε, εκτελέστε τη διαδικασία μεταφοράς της UTF-8';
$string['user'] = 'Χρήστης';
$string['welcomep10'] = '$a->installername ($a->installerversion)';
$string['welcomep20'] = 'Βλέπετε αυτή τη σελίδα γιατί εγκαταστήσατε και ξεκινήσατε με επιτυχία το πακέτο <strong>$a->packname $a->packversion</strong> στον υπολογιστή σας. Συγχαρητήρια!';
$string['welcomep30'] = 'Αυτή η έκδοση <strong>$a->installername</strong> περιλαμβάνει τις εφαρμογές για τη δημιουργία ενός περιβάλλοντος μέσα στο οποίο θα λειτουργεί το <strong>ΠΗΛΕΑΣ </strong>:';
$string['welcomep40'] = 'Το πακέτο περιλαμβάνει επίσης <strong>Moodle $a->moodlerelease ($a->moodleversion)</strong>.';
$string['welcomep50'] = 'Η χρήση όλων των εφαρμογών σε αυτό το πακέτο υπόκειται στις αντίστοιχες άδειες. Ολόκληρο το πακέτο <strong>$a->installername</strong> είναι <a href=\\"http://www.opensource.org/docs/definition_plain.html\\">open source</a> και διανέμεται με την <a href=\\"http://www.gnu.org/copyleft/gpl.html\\">GPL</a> άδεια.';
$string['welcomep60'] = 'Οι παρακάτω σελίδες θα σας καθοδηγήσουν με εύκολα βήματα στην εγκατάσταση και ρύθμιση του <strong>ΠΗΛΕΑΣ </strong> στο υπολογιστή σας. Μπορείτε να δεχθείτε τις προκαθορισμένες ρυθμίσεις ή να τις αλλάξετε ανάλογα με τις ανάγκες σας.';
$string['welcomep70'] = 'Πατήστε το κουμπί \\"Συνέχεια\\" για να συνεχίσετε με την εκγατάσταση του <strong>Moodle</strong>.';
$string['wrongdestpath'] = 'Λανθασμένη διαδρομή προορισμού.';
$string['wrongsourcebase'] = 'Λανθασμένη βάση πηγής URL.';
$string['wrongzipfilename'] = 'Λανθασμένo όνομα αρχείου ZIP.';
$string['wwwroot'] = 'Διεύθυνση ιστοσελίδας';
$string['wwwrooterror'] = 'Η \'διεύθυνση ιστοσελίδας\' δεν είναι έγκυρη - η εγκατάσταση του ΠΗΛΕΑΣ δεν εμφανίζεται εκεί. Η παρακάτω τιμή έχει επαναφερθεί.';
$string['xmlrpcrecommended'] = 'Η εγκατάσταση της προαιρετικής επέκτασης xmlrpc είναι χρήσιμη για λειτουργικότητα Moodle Networking.';
$string['ziprequired'] = 'Η επέκταση Zip PHP τώρα απαιτείται από το Moodle, τα info-ZIP binaries ή PclZip βιβλιοθήκες δε χρησιμοποιούνται πλέον.';
?>
+26 -28
View File
@@ -18,7 +18,7 @@ $string['admindirsettingsub'] = 'Muy pocos servidores web usan /admin como URL e
en su instalación, y poniendo aquí ese nuevo nombre. Por ejemplo: <br /> <br /><b>moodleadmin</b><br /> <br />
Así se corregirán los enlaces admin en Moodle.';
$string['bypassed'] = 'Evitado';
$string['cannotcreatelangdir'] = 'No se puede crear el directorio lang.';
$string['cannotcreatelangdir'] = 'No se puede crear el directorio de idioma.';
$string['cannotcreatetempdir'] = 'No se puede crear el directorio temp.';
$string['cannotdownloadcomponents'] = 'No se puede descargar componentes.';
$string['cannotdownloadzipfile'] = 'No se puede descargar el archivo ZIP.';
@@ -34,7 +34,7 @@ $string['closewindow'] = 'Cerrar esta ventana';
$string['compatibilitysettingshead'] = 'Comprobando sus ajustes PHP...';
$string['compatibilitysettingssub'] = 'Su servidor debería pasar todos estas comprobaciones para que Moodle pueda funcionar correctamente.';
$string['componentisuptodate'] = 'El componente está actualizado.';
$string['configfilenotwritten'] = 'El script instalador no ha podido crear automáticamente un archivo config.php con las especificaciones elegidas. Por favor, copie el siguiente código en un archivo llamado config.php y coloque ese archivo en el directorio raíz de Moodle.';
$string['configfilenotwritten'] = 'El script de instalación no ha podido crear automáticamente un archivo config.php con las especificaciones elegidas. Por favor, copie el siguiente código en un archivo llamado config.php y coloque ese archivo en el directorio raíz de Moodle.';
$string['configfilewritten'] = 'config.php se ha creado con éxito';
$string['configurationcompletehead'] = 'Configuración completa';
$string['configurationcompletesub'] = 'Moodle ha creado su fichero de configuración';
@@ -45,12 +45,12 @@ $string['curlrecommended'] = 'Se recomienda encarecidamente instalar la librerí
$string['customcheck'] = 'Otras comprobaciones';
$string['database'] = 'Base de datos';
$string['databasecreationsettingshead'] = 'Ahora necesita configurar los ajustes de la base de datos donde se almacenarán la mayoría de los datos de Moodle. El instalador creará la base de datos con los ajustes especificados más abajo.';
$string['databasecreationsettingssub'] = '<b>Tipo:</b> el valor por defecto es \"mysql\"<br />
<b>Servidor:</b> el valor por defecto es \"localhost\"<br />
$string['databasecreationsettingssub'] = '<b>Tipo:</b> fijado a \"mysql\" por el instalador<br />
<b>Host:</b> fijado a \"localhost\" por el instalador<br />
<b>Nombre:</b> nombre de la base de datos, e.g., moodle<br />
<b>Usuario:</b> el valor por defecto es \"root\"<br />
<b>Contraseña:</b> contraseña de la base de datos<br />
<b>Prefijo de tablas:</b> prefijo opcional para todas las tablas';
<b>Prefijo de Tablas:</b> prefijo opcional utilizado por todos los nombres de las tablas';
$string['databasesettingshead'] = 'Ahora necesita configurar la base de datos en la que se almacenarán la mayor parte de los datos de Moodle. Esta base de datos debe haber sido ya creada y disponer de un nombre de usuario y una contraseña de acceso.';
$string['databasesettingssub'] = '<b>Tipo:</b> mysql o postgres7<br />
<b>Servidor:</b> p.ej.: localhost o db.tudominio.com<br />
@@ -116,24 +116,23 @@ $string['directorysettingshead'] = 'Por favor, confirme las siguientes direccion
$string['directorysettingssub'] = '<b>Dirección Web:</b>
Especifique la dirección web completa en la que se accederá a Moodle.
Si su sitio es accesible desde diferentes URLs entonces elija
la más natural que sus estudiantes deberían utilizar. No incluya la barra final.
la más natural que sus estudiantes deberían utilizar. No incluya la diagonal invertida final ().
<br />
<br />
<b>Directorio Moodle:</b>
Especifique la ruta completa de esta instalación. Asegurese de que las mayúsculas/minúsculas son correctas.
<br /><br />
Especifique la ruta completa de esta instalación. Asegúrese de que las mayúsculas/minúsculas son correctas.
<br />
<br />
<b>Directorio de Datos:</b>
Es necesario un lugar donde Moodle pueda guardar los archivos subidos. Este directorio debe ser legible y
escribible por el usuario de su servidor web (normalmente \'nobody\' o \'apache\'), pero no debería ser
directamente accesible desde la red.';
Usted necesita un lugar donde Moodle puede guardar los archivos subidos. Este directorio debe ser leíble Y ESCRIBIBLE por el usuario del servidor web (por lo general \'nobody\', \'apache\' o \'www-data\'), pero este lugar no debe ser accesible directamente a través de la web. El instalador tratará crearlo si no existe.';
$string['dirroot'] = 'Directorio Moodle';
$string['dirrooterror'] = 'El \'Directorio de Moodle\' parece incorrecto. No se pudo encontrar una instalación de Moodle. El valor ha sido cambiado por el original.';
$string['dirrooterror'] = 'El \'Directorio de Moodle\' parece incorrecto. No se puede encontrar una instalación de Moodle. El valor ha sido restablecido.';
$string['download'] = 'Descargar';
$string['downloadedfilecheckfailed'] = 'Ha fallado la comprobación del archivo descargado.';
$string['downloadlanguagebutton'] = 'Descargar el paquete de idioma \"$a\"';
$string['downloadlanguagehead'] = 'Descargar paquete de idioma';
$string['downloadlanguagenotneeded'] = 'Puede continuar el proceso de instalación con el idioma por defecto, \"$a\".';
$string['downloadlanguagesub'] = 'Ahora tiene la opción de descargar su paquete de idioma y continuar con el proceso de instalación en ese idioma.<br /><br />Si no es posible la descarga el proceso de instalación continuará en inglés (una vez que la instalación haya finalizado, podrá descargar e instalar otros idiomas).';
$string['downloadlanguagesub'] = 'Ahora tiene la opción de descargar su paquete de idioma y continuar con el proceso de instalación en ese idioma.<br /><br />Si no es posible la descarga el proceso de instalación continuará en inglés (una vez que la instalación haya finalizado, tendrá la oportunidad de descargar e instalar otros idiomas adicionales).';
$string['environmenterrortodo'] = 'Debe resolver todos los problemas de entorno (errores) encontrados arriba antes de proceder a instalar esta versión de Moodle';
$string['environmenthead'] = 'Comprobando su entorno';
$string['environmentrecommendcustomcheck'] = 'Si esta comprobación falla, ello indica un problema potencial';
@@ -142,7 +141,7 @@ $string['environmentrecommendversion'] = 'versión $a->needed es recomendada y e
$string['environmentrequirecustomcheck'] = 'esta prueba debe pasar';
$string['environmentrequireinstall'] = 'es obligatorio que esté instalado/activado';
$string['environmentrequireversion'] = 'versión $a->needed es obligatoria y está ejecutando $a->current';
$string['environmentsub'] = 'Estamos comprobando que diferentes componentes de su servidor cumplen con los requerimientos del sistema';
$string['environmentsub'] = 'Estamos comprobando si los diferentes componentes de su servidor cumplen con los requerimientos mínimos de sistema';
$string['environmentxmlerror'] = 'Error leyendo la información sobre el entorno ($a->error_code)';
$string['error'] = 'Error';
$string['fail'] = 'Fallo';
@@ -150,9 +149,9 @@ $string['fileuploads'] = 'Subidas de archivos';
$string['fileuploadserror'] = 'Debe estar activado';
$string['fileuploadshelp'] = '<p>La subida de archivos parece estar desactivada en su servidor.</p>
<p>Moodle aún puede ser instalado, pero usted no podrá subir archivos a un curso ni imágenes de los usuarios.</p>
<p>Moodle aún puede ser instalado, pero usted no podrá subir archivos a los cursos ni imágenes nuevas de perfil de usuario.</p>
<p>Para posibilitar la subida de archivos, usted (o el administrador del sistema) necesita editar el archivo php.ini principal y cambiar el ajuste de <b>file_uploads</b> a \'1\'.</p>';
<p>Para habilitar la subida de archivos, usted (o el administrador del sistema) necesita editar el archivo php.ini principal y cambiar el ajuste de <b>file_uploads</b> a \'1\'.</p>';
$string['gdversion'] = 'Versión GD';
$string['gdversionerror'] = 'La librería GD debería estar presente para procesar y crear imágenes';
$string['gdversionhelp'] = '<p>Su servidor parece no tener el GD instalado.</p>
@@ -177,7 +176,7 @@ $string['help'] = 'Ayuda';
$string['iconvrecommended'] = 'La instalación de la librería opcional ICONV es muy recomendable para mejorar el rendimiento del sitio, especialmente si su sitio está soportando idiomas no latinos.';
$string['info'] = 'Información';
$string['installation'] = 'Instalación';
$string['invalidmd5'] = 'md5 no válido';
$string['invalidmd5'] = 'La variable de verificación MD5 es incorrecta no es valida - trate nuevamente';
$string['langdownloaderror'] = 'El idioma \"$a\" no pudo ser instalado. El proceso de instalación continuará en inglés.';
$string['langdownloadok'] = 'El idioma \"$a\" ha sido instalado correctamente. El proceso de instalación continuará en este idioma.';
$string['language'] = 'Idioma';
@@ -192,7 +191,7 @@ $string['magicquotesruntimehelp'] = '<p>Magic quotes runtime debe estar desactiv
</p>';
$string['mbstringrecommended'] = 'La instalación de la librería opcional MBSTRING es muy recomendable para mejorar el rendimiento del sitio, especialmente si su sitio está soportando idiomas no latinos.';
$string['memorylimit'] = 'Límite de memoria';
$string['memorylimiterror'] = 'El límite de memoria PHP es demasiado bajo... Puede tener problemas más tarde.';
$string['memorylimiterror'] = 'El límite de memoria PHP esta fijado demasiado bajo... Puede tener problemas más tarde.';
$string['memorylimithelp'] = '<p>El límite de memoria PHP en su servidor es actualmente $a.</p>
<p>Esto puede ocasionar que Moodle tenga problemas de memoria más adelante, especialmente si usted tiene activados muchos módulos y/o muchos usuarios.</p>
@@ -234,14 +233,14 @@ $string['password'] = 'Contraseña';
$string['pgsqlextensionisnotpresentinphp'] = 'PHP no ha sido adecuadamente configurado con la extensión PGSQL de modo que pueda comunicarse con PostgreSQL. Por favor, compruebe el archivo php.ini o vuelva a compilar PHP.';
$string['php50restricted'] = 'PHP 5.0.x tiene varios problemas conocidos; por favor, actualícese a la versión 5.1.x o utilice las versiones 4.3.x o 4.4.x';
$string['phpversion'] = 'Versión PHP';
$string['phpversionerror'] = 'La versión PHP debe ser 4.1.0 o superior';
$string['phpversionerror'] = 'La versión PHP debe ser 4.1.0 o superior'; // ORPHANED
$string['phpversionhelp'] = '<p>Moodle requiere una versión de PHP 4.1.0 o superior.</p>
<p>Su versión es $a</p>
<p>Debe actualizar PHP o acudir a otro servidor con una versión más reciente de PHP</p>';
$string['postgres7'] = 'PostgreSQL (postgres7)';
$string['postgresqlwarning'] = '<strong>Nota:</strong> Si experimenta problemas de conexión, puede intentar ajustar el campo Host Server como
host=\'postgresql_host\' port=\'5432\' dbname=\'postgresql_database_name\' user=\'postgresql_user\' password=\'postgresql_user_password\'
y dejar vacía los campos Base de datos, Usuario y Contraseña. Más información en <a href=\"http://docs.moodle.org/en/Installing_Postgres_for_PHP\">Moodle Docs</a>';
y dejar vacía los campos Base de datos, Usuario y Contraseña. Más información en <a href=\"http://docs.moodle.org/en/Installing_Postgres_for_PHP\">Moodle Docs</a>'; // ORPHANED
$string['previous'] = 'Anterior';
$string['qtyperqpwillberemoved'] = 'Durante la actualización, el tipo de pregunta RQP será eliminada. En el caso de que no estuviera utilizando este tipo de pregunta, no debería tener ningún problema.';
$string['qtyperqpwillberemovedanyway'] = 'Durante la actualización, el tipo de pregunta RQP será eliminada. Usted tiene algunas preguntas RQP en su base de datos, y tales preguntas no pararán de funcionar a menos que reinstale el código desde http://moodle.org/mod/data/view.php?d=13&amp;rid=797 antes de continuar la actualización.';
@@ -249,16 +248,16 @@ $string['remotedownloaderror'] = 'Falló la descarga del componente a su servido
$string['remotedownloadnotallowed'] = 'No está permitido descargar los componentes a su servidor (allow_url_fopen está deshabilitado).<br /><br />Debe descargar el archivo <a href=\"$a->url\">$a->url</a> manualmente, y copiarlo a \"$a->dest\"';
$string['report'] = 'Informe';
$string['restricted'] = 'Restringido';
$string['safemode'] = 'Safe Mode';
$string['safemodeerror'] = 'Moodle puede tener problemas con \'safe mode\' activado';
$string['safemodehelp'] = '<p>Moodle puede tener varios problemas con \'safe mode\' activado, y probablemente no pueda crear nuevos archivos.</p>
$string['safemode'] = 'Modo Seguro (Safe Mode)';
$string['safemodeerror'] = 'Moodle puede tener problemas con Modo Seguro (\'safe mode\') activado';
$string['safemodehelp'] = '<p>Moodle puede tener varios problemas Modo Seguro (\'safe mode\') activado, y probablemente no pueda crear nuevos archivos.</p>
<p>Normalmente el \'safe mode\' sólo es activado por servidores web públicos paranoides, así que lo que usted debe hacer es encontrar otra compañía para su sitio Moodle.</p>
<p>Normalmente el Modo Seguro (\'safe mode\') sólo es activado por servidores web públicos paranoides, así que lo que usted debe hacer es encontrar otra compañía para su sitio Moodle.</p>
<p>Si lo desea, puede seguir con la instalación, pero experimentará problemas más adelante.</p>';
$string['serverchecks'] = 'Comprobaciones del Servidor';
$string['sessionautostart'] = 'Autocomienzo de sesión';
$string['sessionautostarterror'] = 'Deb e estar desactivado';
$string['sessionautostart'] = 'Inicio automático de sesión';
$string['sessionautostarterror'] = 'Esto debe estar desactivado';
$string['sessionautostarthelp'] = '<p>Moodle requiere apoyo de sesión y no funcionará sin él.</p>
<p>Las sesiones deben estar activadas en el archhivo php.ini para el parámetro session.auto_start.</p>';
@@ -271,8 +270,7 @@ $string['unicoderecommended'] = 'Se recomienda almacenar todos los datos en Unic
$string['unicoderequired'] = 'Es necesario que almacene todos sus datos en formato Unicode (UTF-8). Las instalaciones nuevas deberían ejecutarse en bases de datos cuyo juego de caracteres por defecto fuera Unicode. Si está realizando una actualización, debería llevar a cabo el proceso de migración UTF-8 (vea al respecto la página de Administración).';
$string['user'] = 'Usuario';
$string['welcomep10'] = '$a->installername ($a->installerversion)';
$string['welcomep20'] = 'Si está viendo esta página es porque ha podido ejecutar el paquete
<strong>$a->packname $a->packversion</strong> en su ordenador. !Enhorabuena!';
$string['welcomep20'] = 'Si está viendo esta página es porque ha podido ejecutar el paquete <strong>$a->packname $a->packversion</strong> en su ordenador. !Enhorabuena!';
$string['welcomep30'] = 'Esta versión de <strong>$a->installername</strong> incluye las
aplicaciones necesarias para que <strong>Moodle</strong> funcione en su ordenador,
principalmente:';
+4 -1
View File
@@ -165,6 +165,7 @@ $string['mysql']='MySQL (mysql)';
$string['mysql416bypassed']='Kuid, kui Sinu õpikeskkond kasutab AINULT iso-8859-1 (latin) tähestikuga keelt, Sa võid jätkata praegu installeeritud MySQL versiooniga 4.1.12 (või uuem).';
$string['mysql416required']='MySQL 4.1.16 on minimaalne versioon, mis on nõutud Moodle 1.6 poolt, et tagada kõik andmed saaksid konverteeritud UTF-8 kodeeringusse.';
$string['mysqlextensionisnotpresentinphp']='PHP ei ole MySQL laiendiga õigesti konfigureeritud, seega ei saa ta MySQL\'ga suhelda. Palun kontrolli oma php.ini faili või kompileeri PHP uuesti.';
$string['mysqli']='Täiustatud MySQL (mysqli)';
$string['name']='Nimi';
$string['next']='Järgmine';
$string['oci8po']='Oracle (oci8po)';
@@ -178,7 +179,7 @@ $string['password']='Salasõna';
$string['pgsqlextensionisnotpresentinphp']='PHP laiendus PGSQL ei ole korralikult seadistatud, mistõttu ei saa ühenduda PostgreSQL\'iga. Palun kontrolli oma php.ini faili või kompileeri PHP uuesti.';
$string['php50restricted']='PHP 5.0.x omab mitmeid probleeme. Palun uuenda 5.1.x või lase tagasi 4.3.x or 4.4.x PHP versioonile';
$string['phpversion']='PHP versioon';
$string['phpversionerror']='PHP versioon peab olema vähemalt 4.1.0'; // ORPHANED
$string['phpversionerror']='PHP versioon peab olema vähemalt 4.1.0';
$string['phpversionhelp']='<p>Moodle vajab vähemalt PHP versiooni 4.1.0</p>
<p>Sinu jooksev versioon on $a</p>
<p>Sa pead oma PHP-d uuendama või kolima hosti, kus on uuem PHP versioon!</p>';
@@ -214,4 +215,6 @@ $string['wrongsourcebase']='Vale allika URL\'i baas.';
$string['wrongzipfilename']='Vale ZIP failinimi.'; // ORPHANED
$string['wwwroot']='Veebiaadress';
$string['wwwrooterror']='Veebiaadress näib vigane - Moodle installatsiooni ei paista seal olevat.';
$string['xmlrpcrecommended']='Fakultatiivse xmlrpc laienduse installeerimine on kasulik Moodle Networking funktsionaalsuse jaoks.';
$string['ziprequired']='Zip PHP laiendus on nüüd Moodle poolt nõutud. Info-ZIP binaare või PclZip teeke ei kasutata enam.';
?>

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