Compare commits

...

122 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 6ccbbe5936 Moodle release 2.1.10 2013-01-11 22:18:31 +01:00
Eloy Lafuente (stronk7) 50faa1482d weekly release 2.1.9+ 2013-01-11 12:30:21 +01:00
Eloy Lafuente (stronk7) 150c0b7e2c Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2013-01-11 12:17:20 +01:00
David Mudrák 4eeece1f92 MDL-37467 Do not provide blog posts via RSS when blogging is disabled 2013-01-10 18:18:26 +01:00
David Mudrák fd91456383 MDL-36977 Be more picky when it comes to migrating files in moodle1 backups 2013-01-08 08:57:04 +08:00
David Mudrák 4a27bde150 MDL-36977 Add more unit tests for moodle1 backup conversion 2013-01-08 08:55:27 +08:00
AMOS bot d1c98147e4 Automatically generated installer lang files 2013-01-01 00:43:03 +00:00
Eloy Lafuente (stronk7) 65d6ca257c weekly release 2.1.9+ 2012-12-30 01:03:34 +01:00
Petr Škoda 9803d8fc3c MDL-37283 import tinymce spellchecker 2.0.6.1 2012-12-24 10:37:05 +08:00
Eloy Lafuente (stronk7) 7e71b80f1e weekly release 2.1.9+ 2012-12-20 21:10:22 +01:00
Eloy Lafuente (stronk7) db6243d0a1 Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2012-12-20 20:57:56 +01:00
AMOS bot ec17e70103 Automatically generated installer lang files 2012-12-20 00:40:41 +00:00
AMOS bot c26a6747c6 Automatically generated installer lang files 2012-12-19 00:42:04 +00:00
Paul Nicholls f94bb9ebd4 MDL-27619: Prevent teachers from turning course Outcomes into site-wide ones
Similar to the issue which allowed teachers to create site-wide scales by editing a course-specific scale (MDL-24682), teachers could also promote a course-specific scale to a site-wide (standard) by editing it.  As with MDL-24682, removing the course ID check (leaving just the capability check) prevents this unauthorised creation of site-wide (standard) outcomes.
2012-12-18 09:43:30 +13:00
Eloy Lafuente (stronk7) 85fc893630 weekly release 2.1.9+ 2012-12-08 02:53:27 +01:00
AMOS bot e076bc63a5 Automatically generated installer lang files 2012-12-01 00:43:10 +00:00
Eloy Lafuente (stronk7) cc07dee0d0 weekly release 2.1.9+ 2012-11-30 13:23:40 +01:00
Dan Poltawski d8b662d5e2 weekly release 2.1.9+ 2012-11-23 15:18:15 +08:00
Dan Poltawski e5f91ef230 Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2012-11-23 15:16:01 +08:00
AMOS bot e8138a566d Automatically generated installer lang files 2012-11-22 09:05:27 +00:00
Adrian Greeve 640acd9907 MDL-36668 - mod/data: Removed duplicate data_content join in simple searches.
Thanks to Patrick Pollet (patrick.pollet@insa-lyon.fr) for his patch
2012-11-19 10:15:45 +08:00
Dan Poltawski f24293bf1a weekly release 2.1.9+ 2012-11-16 15:38:21 +08:00
AMOS bot 2cc726280f Automatically generated installer lang files 2012-11-10 00:36:27 +00:00
Eloy Lafuente (stronk7) eef69e4122 Moodle release 2.1.9 2012-11-09 19:33:29 +01:00
Eloy Lafuente (stronk7) 5339ba2cf9 MDL-25948 upgrade: Avoid overlaping with weeklies 2012-11-09 18:59:40 +01:00
Eloy Lafuente (stronk7) 828bb475ac Merge branch 'MDL-25948_m21' of git://github.com/markn86/moodle into MOODLE_21_STABLE 2012-11-09 18:58:33 +01:00
Mark Nelson 7ea26a73c4 MDL-25948 upgrade: Check that field does not match defaults before editing. 2012-11-09 19:02:15 +08:00
Dan Poltawski c04de02282 weekly release 2.1.8+ 2012-11-09 17:59:51 +08:00
Dan Poltawski 176a06e4e6 Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2012-11-09 17:54:52 +08:00
Mark Nelson 2c53094c6f MDL-33791 Portfolio: Fixed security issue with passing file paths. 2012-11-08 00:28:22 +01:00
Adrian Greeve 4cf9360fca MDL-35558 mod_data: Show only own entries while there are required pending. 2012-11-07 19:55:23 +01:00
Dan Poltawski 546667e238 Merge branch 'MDL-36346_21' of git://github.com/pauln/moodle into MOODLE_21_STABLE 2012-11-07 09:28:44 +08:00
Paul Nicholls 7972bc0491 MDL-36346 - YUI2 SWF vulnerability, part 2 2012-11-07 13:45:34 +13:00
AMOS bot 6a57ed2001 Automatically generated installer lang files 2012-11-07 00:36:34 +00:00
Rossiani Wijaya c62a20c42b Backport MDL-29872 to 21_STABLE 2012-11-06 12:58:03 +01:00
Dan Poltawski ee02183dce Merge branch 'MDL-36346_21' of git://github.com/pauln/moodle into MOODLE_21_STABLE 2012-11-06 16:35:35 +08:00
Paul Nicholls 299e51924e MDL-36346 - YUI2 SWF vulnerability 2012-11-06 14:36:29 +13:00
Dan Poltawski 7837711783 Merge branch 'w42_MDL-35469_m21_geckover' of git://github.com/skodak/moodle into MOODLE_21_STABLE 2012-11-02 12:07:26 +08:00
Mark Nelson 4326153883 MDL-25948 upgrade: Fixing issues with upgrade from < 1.7 to 2.x. 2012-11-01 17:49:04 +08:00
Dan Poltawski c22a3558d3 weekly release 2.1.8+ 2012-11-01 14:18:17 +08:00
AMOS bot 226735fec1 Automatically generated installer lang files 2012-11-01 00:36:41 +00:00
AMOS bot fc1414d856 Automatically generated installer lang files 2012-10-27 00:34:40 +00:00
AMOS bot eada616a76 Automatically generated installer lang files 2012-10-20 00:34:55 +00:00
AMOS bot af3889cc3f Automatically generated installer lang files 2012-10-19 00:35:18 +00:00
Aparup Banerjee 9fa159e2b4 weekly release 2.1.8+ 2012-10-18 19:49:39 +08:00
AMOS bot 46bd05ecc8 Automatically generated installer lang files 2012-10-18 00:34:58 +00:00
AMOS bot 08947f22ab Automatically generated installer lang files 2012-10-15 00:35:00 +00:00
Eloy Lafuente (stronk7) 95932f640a weekly release 2.1.8+ 2012-10-15 00:19:13 +02:00
Eloy Lafuente (stronk7) f772bb2b97 Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2012-10-15 00:08:04 +02:00
AMOS bot 339579a5ac Automatically generated installer lang files 2012-10-10 00:34:22 +00:00
Petr Škoda 14859c7c2f MDL-35469 fix Gecko based browser checks
The problem is that latest firefox versions stopped using dates because they lost the meaning over the time.
2012-10-09 15:51:45 +02:00
AMOS bot a7aa062d70 Automatically generated installer lang files 2012-10-09 00:34:44 +00:00
Adrian Greeve cfddc821c0 MDL-34448 - mod/data - Fixing separate groups viewing all entries. 2012-10-08 15:14:20 +08:00
AMOS bot 160bd39347 Automatically generated installer lang files 2012-10-06 00:34:04 +00:00
Eloy Lafuente (stronk7) a8d671999f weekly release 2.1.8+ 2012-10-05 13:36:51 +02:00
AMOS bot 53d871beac Automatically generated installer lang files 2012-10-04 00:35:03 +00:00
AMOS bot ae04014f6b Automatically generated installer lang files 2012-09-29 00:34:21 +00:00
Dan Poltawski 62aecff9da weekly release 2.1.8+ 2012-09-27 18:49:43 +08:00
Dan Poltawski 53f164b797 Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2012-09-27 18:48:22 +08:00
Dan Poltawski b81913ccc6 Merge branch 'MDL-35207-workshop-attachments-upgrade_21' of git://github.com/mudrd8mz/moodle into MOODLE_21_STABLE 2012-09-24 16:48:46 +08:00
David Mudrák ca2d4d39a2 MDL-35207 Fix 1.9 > 2.x upgrade of workshop submission attachments
Attachments of submission with non-linear ids in 1.9 database were not
upgraded correctly due to old id and new id mismatch. Credit goes to
Juan Segarra Montesinos for spotting the problem and suggesting a patch.
2012-09-22 23:37:26 +02:00
AMOS bot 2387735808 Automatically generated installer lang files 2012-09-21 00:34:55 +00:00
Dan Poltawski 22eb7f13e4 weekly release 2.1.8+ 2012-09-20 14:12:00 +08:00
AMOS bot 413cba10cc Automatically generated installer lang files 2012-09-19 00:34:27 +00:00
Eloy Lafuente (stronk7) 7dcbb60c76 weekly release 2.1.8+ 2012-09-14 19:08:53 +02:00
AMOS bot 1e2cf5ad50 Automatically generated installer lang files 2012-09-13 00:34:36 +00:00
Eloy Lafuente (stronk7) 445b4dd368 Moodle 2.1.8 release 2012-09-09 16:20:21 +02:00
AMOS bot 9865cbfb60 Merge branch 'MOODLE_21_STABLE' into install_21_STABLE 2012-09-08 00:34:49 +00:00
Eloy Lafuente (stronk7) c95a67cd94 weekly release 2.1.7+ 2012-09-07 02:37:18 +02:00
AMOS bot 3875f26ebf Automatically generated installer lang files 2012-09-07 00:35:14 +00:00
AMOS bot 9963023979 Automatically generated installer lang files 2012-09-02 00:32:48 +00:00
Eloy Lafuente (stronk7) 68763aef2d weekly release 2.1.7+ 2012-08-31 11:34:10 +02:00
AMOS bot c7c5b77888 Automatically generated installer lang files 2012-08-27 00:32:50 +00:00
Eloy Lafuente (stronk7) bf43fdd447 weekly release 2.1.7+ 2012-08-23 19:24:11 +02:00
AMOS bot ae11b8c080 Automatically generated installer lang files 2012-08-19 00:31:39 +00:00
AMOS bot 7cab4616f5 Automatically generated installer lang files 2012-08-17 00:31:53 +00:00
Eloy Lafuente (stronk7) ea7f6fb4b1 weekly release 2.1.7+ 2012-08-16 17:24:31 +02:00
AMOS bot b857de59ab Automatically generated installer lang files 2012-08-15 00:31:35 +00:00
AMOS bot d36658a989 Automatically generated installer lang files 2012-08-11 00:31:33 +00:00
AMOS bot c97f7de664 Automatically generated installer lang files 2012-08-10 00:31:50 +00:00
Eloy Lafuente (stronk7) b24f1eb290 weekly release 2.1.7+ 2012-08-09 20:50:23 +02:00
Eloy Lafuente (stronk7) f231685050 Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2012-08-09 20:46:52 +02:00
AMOS bot 8ec4354542 Automatically generated installer lang files 2012-08-09 00:31:40 +00:00
AMOS bot 1c8fe24234 Automatically generated installer lang files 2012-08-07 00:31:58 +00:00
AMOS bot 9900a3df74 Automatically generated installer lang files 2012-08-04 00:32:02 +00:00
AMOS bot e78c8c9054 Automatically generated installer lang files 2012-08-03 11:45:31 +02:00
Petr Škoda 2d2cce8bd2 MDL-34585 fix broken blog file access control 2012-08-02 10:00:04 +02:00
Dan Poltawski 8f7756b0e2 weekly release 2.1.7+ 2012-08-02 14:40:31 +08:00
Petr Škoda d4c83ae4fb MDL-34368 fix another validuntil condition 2012-08-01 15:07:26 +08:00
Nathan Mares c090fe60c7 MDL-34368: Fix broken query in so tokens are correctly checked against the linked service 2012-07-30 15:49:59 +08:00
Dan Poltawski 5b6f73f488 Merge branch 'MDL-34507-21' of git://github.com/FMCorz/moodle into MOODLE_21_STABLE 2012-07-30 14:05:38 +08:00
Dan Poltawski e60c472ccb Merge branch 'MDL-34519_21_course_reset_patch' of git://github.com/rlorenzo/moodle into MOODLE_21_STABLE 2012-07-30 11:58:13 +08:00
Frederic Massart 76c590c0aa MDL-34507 Filepicker: Repositories with specific filetypes are displayed when expected 2012-07-27 09:32:54 +08:00
Aparup Banerjee 60dce6a2c1 weekly release 2.1.7+ 2012-07-26 14:31:09 +08:00
Aparup Banerjee 56f9e59241 Merge branch 'install_21_STABLE' of git://git.moodle.cz/moodle-install into MOODLE_21_STABLE 2012-07-26 14:04:26 +08:00
AMOS bot 6f3c243bb8 Automatically generated installer lang files 2012-07-26 00:31:46 +00:00
Rex Lorenzo e74681c8b2 MDL-34519 - Course reset not protected by proper capability 2012-07-24 12:05:24 -07:00
Aparup Banerjee b693256a99 Merge branch 'wip-mdl-33159-m21' of git://github.com/rajeshtaneja/moodle into MOODLE_21_STABLE 2012-07-24 11:18:59 +08:00
AMOS bot 77fa678ef2 Automatically generated installer lang files 2012-07-24 00:32:11 +00:00
Derick Turner 6819bed8da MDL-33159 course: Fix for site wide restricted modules not being selected by default 2012-07-20 12:36:41 +08:00
Dan Marsden f3ab1e0c8f MDL-34233 SCORM backup - change to using set_source_sql to preserve order of records in backup. 2012-07-19 19:41:07 +12:00
Dan Poltawski 33faa0d19d weekly release 2.1.7+ 2012-07-19 13:47:59 +08:00
Dan Poltawski af08d144c9 Merge branch 'install_21_STABLE' of git://github.com/amosbot/moodle into MOODLE_21_STABLE 2012-07-19 13:42:39 +08:00
Rossiani Wijaya 5127b43eec MDL-33575 choice module: add label to checkbox element when privacy of results is set to publish full results 2012-07-17 10:09:37 +08:00
AMOS bot fc07639e9b Automatically generated installer lang files 2012-07-17 00:31:56 +00:00
AMOS bot bc9e603b3f Automatically generated installer lang files 2012-07-13 00:32:34 +00:00
Dan Poltawski 27a7bb1a0d weekly release 2.1.7+ 2012-07-12 16:03:10 +08:00
Dan Poltawski aea7288f77 Merge branch 'install_21_STABLE' of git://github.com/amosbot/moodle into MOODLE_21_STABLE 2012-07-12 15:50:50 +08:00
Sam Hemelryk 18889e0e78 Revert "MDL-33575 choice module: add label to checkbox element when privacy of results is set to publish full results"
This reverts commit b66a680956.
2012-07-12 18:21:53 +12:00
AMOS bot 3df96ad21b Automatically generated installer lang files 2012-07-12 00:32:33 +00:00
AMOS bot dc01f95fb4 Automatically generated installer lang files 2012-07-10 20:33:26 +02:00
Sam Hemelryk c54cd379ac Merge branch 'MDL-29470-21' of git://github.com/FMCorz/moodle into MOODLE_21_STABLE 2012-07-10 12:09:06 +12:00
Charles Fulton bdeeadb3c3 MDL-27800 admin: make front page restore link consistent
Conflicts:

	admin/settings/frontpage.php
2012-07-10 11:33:58 +12:00
Frederic Massart e1abf003ee MDL-29470 Backup: fixed unexpected next automated backup date 2012-07-09 13:50:08 +08:00
Sam Hemelryk b66a680956 MDL-33575 choice module: add label to checkbox element when privacy of results is set to publish full results 2012-07-09 10:56:36 +12:00
Sam Hemelryk 5c89dd5d18 Merge branch 'MDL-30816_m21' of git://github.com/rwijaya/moodle into MOODLE_21_STABLE 2012-07-09 10:28:26 +12:00
Sam Hemelryk 67fb1b666e Merge branch 'MDL-33514-21' of git://github.com/danpoltawski/moodle into MOODLE_21_STABLE 2012-07-09 10:21:47 +12:00
AMOS bot 6311d4de60 Automatically generated installer lang files 2012-07-07 00:31:30 +00:00
Rossiani Wijaya eace33059c MDL-30816 Choice module: add format_string() for choice name. 2012-07-05 12:23:45 +08:00
Rossiani Wijaya e626145ef6 MDL-30816 choice module: fixed accessibility for responses table and make it easier for screenreader to read it 2012-07-05 12:23:31 +08:00
Dan Poltawski dbb729e9d3 MDL-33514 - rss: also exclude suspended users feeds
Thanks Petr!
2012-06-11 10:27:34 +08:00
Dan Poltawski 331de0b546 MDL-33514 - rss: only retrieve RSS feeds for valid users 2012-06-06 23:38:00 +08:00
71 changed files with 997 additions and 287 deletions
+1 -1
View File
@@ -77,7 +77,7 @@ if (!during_initial_install()) { //do not use during installation
$ADMIN->add('frontpage', new admin_externalpage('frontpagebackup', get_string('frontpagebackup', 'admin'), $CFG->wwwroot.'/backup/backup.php?id='.SITEID, 'moodle/backup:backupcourse', false, $frontpagecontext));
$ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', get_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/files/index.php?id='.SITEID.'&amp;wdir=/backupdata', 'moodle/restore:restorecourse', false, $frontpagecontext));
$ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', get_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/backup/restorefile.php?contextid='.$frontpagecontext->id, 'moodle/restore:restorecourse', false, $frontpagecontext));
$questioncapabilities = array(
'moodle/question:add',
+8 -1
View File
@@ -640,7 +640,10 @@ class moodle1_converter extends base_converter {
return $files;
}
foreach ($matches[2] as $match) {
$files[] = str_replace(array('$@FILEPHP@$', '$@SLASH@$', '$@FORCEDOWNLOAD@$'), array('', '/', ''), $match);
$file = str_replace(array('$@FILEPHP@$', '$@SLASH@$', '$@FORCEDOWNLOAD@$'), array('', '/', ''), $match);
if ($file === clean_param($file, PARAM_PATH)) {
$files[] = rawurldecode($file);
}
}
return array_unique($files);
@@ -1205,6 +1208,10 @@ class moodle1_file_manager implements loggable {
$sourcefullpath = $this->basepath.'/'.$sourcepath;
if ($sourcefullpath !== clean_param($sourcefullpath, PARAM_PATH)) {
throw new moodle1_convert_exception('file_invalid_path', $sourcefullpath);
}
if (!is_readable($sourcefullpath)) {
throw new moodle1_convert_exception('file_not_readable', $sourcefullpath);
}
@@ -260,6 +260,15 @@ class moodle1_converter_test extends UnitTestCase {
$fileids = $fileman->get_fileids();
$this->assertIsA($fileids, 'array');
$this->assertEqual(0, count($fileids));
// try to migrate an invalid file
$fileman->itemid = 1;
$thrown = false;
try {
$fileman->migrate_file('/../../../../../../../../../../../../../../etc/passwd');
} catch (moodle1_convert_exception $e) {
$thrown = true;
}
$this->assertTrue($thrown);
// migrate a single file
$fileman->itemid = 4;
$fileman->migrate_file('moddata/unittest/4/icon.gif');
@@ -421,6 +430,8 @@ class moodle1_converter_test extends UnitTestCase {
$text = 'This is a text containing links to file.php
as it is parsed from the backup file. <br /><br /><img border="0" width="110" vspace="0" hspace="0" height="92" title="News" alt="News" src="$@FILEPHP@$$@SLASH@$pics$@SLASH@$news.gif" /><a href="$@FILEPHP@$$@SLASH@$pics$@SLASH@$news.gif$@FORCEDOWNLOAD@$">download image</a><br />
<div><a href=\'$@FILEPHP@$/../../../../../../../../../../../../../../../etc/passwd\'>download passwords</a></div>
<div><a href=\'$@FILEPHP@$$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$etc$@SLASH@$shadow\'>download shadows</a></div>
<br /><a href=\'$@FILEPHP@$$@SLASH@$MANUAL.DOC$@FORCEDOWNLOAD@$\'>download manual</a><br />';
$files = moodle1_converter::find_referenced_files($text);
@@ -432,6 +443,8 @@ as it is parsed from the backup file. <br /><br /><img border="0" width="110" vs
$text = moodle1_converter::rewrite_filephp_usage($text, array('/pics/news.gif', '/another/file/notused.txt'), $files);
$this->assertEqual($text, 'This is a text containing links to file.php
as it is parsed from the backup file. <br /><br /><img border="0" width="110" vspace="0" hspace="0" height="92" title="News" alt="News" src="@@PLUGINFILE@@/pics/news.gif" /><a href="@@PLUGINFILE@@/pics/news.gif?forcedownload=1">download image</a><br />
<div><a href=\'$@FILEPHP@$/../../../../../../../../../../../../../../../etc/passwd\'>download passwords</a></div>
<div><a href=\'$@FILEPHP@$$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$..$@SLASH@$etc$@SLASH@$shadow\'>download shadows</a></div>
<br /><a href=\'$@FILEPHP@$$@SLASH@$MANUAL.DOC$@FORCEDOWNLOAD@$\'>download manual</a><br />');
}
@@ -281,23 +281,25 @@ abstract class backup_cron_automated_helper {
$midnight = usergetmidnight($now, $timezone);
$date = usergetdate($now, $timezone);
//Get number of days (from today) to execute backups
$automateddays = substr($config->backup_auto_weekdays,$date['wday']) . $config->backup_auto_weekdays;
$daysfromtoday = strpos($automateddays, "1");
// Get number of days (from today) to execute backups
$automateddays = substr($config->backup_auto_weekdays, $date['wday']) . $config->backup_auto_weekdays;
$daysfromtoday = strpos($automateddays, "1", 1);
// If we can't find the next day, we set it to tomorrow
if (empty($daysfromtoday)) {
$daysfromtoday = 1;
}
//If some day has been found
// If some day has been found
if ($daysfromtoday !== false) {
//Calculate distance
$dist = ($daysfromtoday * 86400) + //Days distance
($config->backup_auto_hour * 3600) + //Hours distance
($config->backup_auto_minute * 60); //Minutes distance
// Calculate distance
$dist = ($daysfromtoday * 86400) + // Days distance
($config->backup_auto_hour * 3600) + // Hours distance
($config->backup_auto_minute * 60); // Minutes distance
$result = $midnight + $dist;
}
//If that time is past, call the function recursively to obtain the next valid day
// If that time is past, call the function recursively to obtain the next valid day
if ($result > 0 && $result < time()) {
$result = self::calculate_next_automated_backup($timezone, $result);
}
+5
View File
@@ -104,6 +104,11 @@ function blog_rss_get_params($filters) {
function blog_rss_get_feed($context, $args) {
global $CFG, $SITE, $DB;
if (empty($CFG->bloglevel)) {
debugging('Blogging disabled on this site, RSS feeds are not available');
return null;
}
if (empty($CFG->enablerssfeeds)) {
debugging('Sorry, RSS feeds are disabled on this site');
return '';
+7
View File
@@ -85,6 +85,13 @@ if (!empty($course)) {
//editor should respect category context if course context is not set.
$editoroptions['context'] = $catcontext;
$course = file_prepare_standard_editor($course, 'summary', $editoroptions, null, 'course', 'summary', null);
// Set up the default restricted module list
if (!empty($CFG->restrictbydefault)) {
if (!empty($CFG->defaultallowedmodules)) {
$course->allowedmods = explode(',', $CFG->defaultallowedmodules);
}
}
}
// first create the form
+1 -1
View File
@@ -3778,7 +3778,7 @@ function create_course($data, $editoroptions = NULL) {
fix_course_sortorder();
// update module restrictions
if ($course->restrictmodules) {
if ($course->restrictmodules || $CFG->restrictbydefault ) {
if (isset($data->allowedmods)) {
update_restricted_mods($course, $data->allowedmods);
} else {
+1 -1
View File
@@ -39,7 +39,7 @@ if (!$course = $DB->get_record('course', array('id'=>$id))) {
$PAGE->set_url('/course/reset.php', array('id'=>$id));
require_login($course);
require_capability('moodle/course:update', get_context_instance(CONTEXT_COURSE, $course->id));
require_capability('moodle/course:reset', get_context_instance(CONTEXT_COURSE, $course->id));
$strreset = get_string('reset');
$strresetcourse = get_string('resetcourse');
+1 -1
View File
@@ -114,7 +114,7 @@ class edit_outcome_form extends moodleform {
if (empty($courseid)) {
$mform->hardFreeze('standard');
} else if (empty($outcome->courseid) and !has_capability('moodle/grade:manage', get_context_instance(CONTEXT_SYSTEM))) {
} else if (!has_capability('moodle/grade:manage', get_context_instance(CONTEXT_SYSTEM))) {
$mform->hardFreeze('standard');
} else if ($coursecount and empty($outcome->courseid)) {
+1
View File
@@ -51,4 +51,5 @@ $string['pathssubdataroot'] = 'Тази директория е място, къ
$string['pathssubdirroot'] = 'Пълен път до директорията на Moodle.';
$string['pathssubwwwroot'] = 'Пълен интернет адрес, на който ще се отваря Moodle. Не е възможно Moodle да се отваря чрез различни адреси. Ако Вашият сайт има няколко адреса трябва на всеки от другите адреси да направите пренасочване към този. Ако Вашият сайт се отваря както глобално от Интернет, така и от локална мрежа, настройте DNS, така че потребителите от локалната мрежа също да могат да ползват глобалния адрес. Ако адресът не е коректен, моля, променете адреса в браузъра си и започнете инсталирането с правилния адрес.';
$string['phpextension'] = '{$a} разширение на PHP';
$string['phpversionhelp'] = '<p>Moodle изисква версия на PHP най-малко 4.3.0 или 5.1.0 (5.0.x има значителен брой известни проблеми).</p> <p>Вие използвате в момента версия {$a}</p> <p>Трябва да обновите PHP или да се преместите на нов хост (сървър) с по-нова версия на PHP!<br /> (В случая с 5.0.x може да опитате да инсталирате по-старата версия 4.4.x)</p>';
$string['wwwroot'] = 'Уеб адрес';
+2 -2
View File
@@ -34,12 +34,12 @@ $string['cannotcreatelangdir'] = 'No s\'ha pogut crear el directori d\'idiomes.'
$string['cannotcreatetempdir'] = 'No s\'ha pogut crear el directori temporal';
$string['cannotdownloadcomponents'] = 'No s\'han pogut baixar components';
$string['cannotdownloadzipfile'] = 'No s\'ha pogut baixar el fitxer zip';
$string['cannotfindcomponent'] = 'No s\'ha pogut trobar un component';
$string['cannotfindcomponent'] = 'No s\'ha pogut trobar el component';
$string['cannotsavemd5file'] = 'No s\'ha pogut desar el fitxer md5';
$string['cannotsavezipfile'] = 'No s\'ha pogut desar el fitxer zip';
$string['cannotunzipfile'] = 'No s\'ha pogut descomprimir el fitxer';
$string['componentisuptodate'] = 'El component està al dia';
$string['downloadedfilecheckfailed'] = 'Ha fallat la comprovació del fitxer baixat.';
$string['downloadedfilecheckfailed'] = 'Ha fallat la comprovació del fitxer baixat';
$string['invalidmd5'] = 'L\'md5 no és vàlid. Torneu-ho a provar';
$string['missingrequiredfield'] = 'Falta algun camp necessari';
$string['remotedownloaderror'] = 'No s\'ha pogut baixar el component al vostre servidor. Verifiqueu els paràmetres de servidor intermediari. Es recomana l\'extensió cURL.<br /><br />Haureu de baixar manualment el fitxer <a href="{$a->url}">{$a->url}</a>, copiar-lo a la ubicació "{$a->dest}" del vostre servidor i descomprimir-lo allí.';
+26 -6
View File
@@ -33,16 +33,21 @@ defined('MOODLE_INTERNAL') || die();
$string['admindirname'] = 'Directori d\'administració';
$string['availablelangs'] = 'Llista d\'idiomes disponibles';
$string['chooselanguagehead'] = 'Trieu un idioma';
$string['chooselanguagesub'] = 'Trieu un idioma NOMÉS per a la instal·lació. En una pantalla posterior podreu triar idiomes per al lloc i per als usuaris.';
$string['chooselanguagesub'] = 'Trieu un idioma per a la instal·lació. S\'utilitzarà també com a idioma per defecte del lloc, tot i que després podeu canviar-lo.';
$string['cliinstallheader'] = 'Programa d\'instal·lació de línia d\'ordres de Moodle {$a}';
$string['databasehost'] = 'Servidor de base de dades:';
$string['databasename'] = 'Nom de la base de dades:';
$string['databasetypehead'] = 'Trieu el controlador de la base de dades';
$string['dataroot'] = 'Directori de dades';
$string['datarootpermission'] = 'Permisos dels directoris de dades';
$string['dbprefix'] = 'Prefix de taules';
$string['dirroot'] = 'Directori de Moodle';
$string['environmenthead'] = 'S\'està comprovant el vostre entorn';
$string['errorsinenvironment'] = 'Hi ha errors en l\'entorn.';
$string['environmentsub2'] = 'Cada versió de Moodle té uns requeriments mínims de versió de PHP i un nombre d\'extensions de PHP necessàries.
Abans de cada instal·lació o actualització es realitza una comprovació exhaustiva de l\'entorn. Contacteu amb l\'administrador si no sabeu com instal·lar una nova versió de PHP o com habilitar les extensions.';
$string['errorsinenvironment'] = 'La comprovació de l\'entorn ha fallat.';
$string['installation'] = 'Instal·lació';
$string['langdownloaderror'] = 'Dissortadament l\'idioma "{$a}" no està instal·lat. La instal·lació prosseguirà en anglès.';
$string['langdownloaderror'] = 'Dissortadament l\'idioma "{$a}" no es pot baixar. La instal·lació prosseguirà en anglès.';
$string['memorylimithelp'] = '<p>El límit de memòria del PHP del vostre servidor actualment està definit en {$a}.</p>
<p>Això pot causar que Moodle tingui problemes de memòria més endavant, especialment si teniu molts mòduls habilitats i/o molts usuaris.</p>
@@ -55,13 +60,28 @@ $string['memorylimithelp'] = '<p>El límit de memòria del PHP del vostre servid
<p><blockquote>php_value memory_limit 40M</blockquote></p>
<p>Tanmateix, en alguns servidors això farà que no funcioni <b>cap</b> pàgina PHP (es visualitzaran errors) en el qual cas hauríeu de suprimir el fitxer .htaccess.</p></li>
</ol>';
$string['paths'] = 'Camins';
$string['pathserrcreatedataroot'] = 'L\'instal·lador no pot crear el directori de dades ({$a->dataroot}).';
$string['pathshead'] = 'Confirmeu els camins';
$string['pathsrodataroot'] = 'No es pot escriure en el directori dataroot.';
$string['pathsroparentdataroot'] = 'No es pot escriure en el directori pare ({$a->parent}). L\'instal·lador no pot crear el directori ({$a->dataroot}).';
$string['pathssubadmindir'] = 'Alguns serveis d\'allotjament web (pocs) utilitzen un URL especial /admin p. ex. per a accedir a un tauler de control o quelcom semblant. Malauradament això entra en conflicte amb la ubicació estàndard de les pàgines d\'administració de Moodle. Podeu arreglar aquest problema canviant el nom del directori d\'administració de Moodle en la vostra instal·lació i posant el nou nom aquí. Per exemple <em>moodleadmin</em>. Això modificarà els enllaços d\'administració de Moodle.';
$string['pathssubdataroot'] = 'Necessiteu un espai on Moodle pugui desar els fitxers penjats. Aquest directori hauria de tenir permisos de lectura I ESCRIPTURA per a l\'usuari del servidor web (normalment \'nobody\' o \'apache\'), però no cal que sigui accessible directament via web. L\'instal·lador provarà de crear-lo si no existeix.';
$string['pathssubdirroot'] = 'Camí complet del directori d\'instal·lació de Moodle.';
$string['pathssubwwwroot'] = 'L\'adreça web completa on s\'accedirà a Moodle.
No és possible accedir a Moodle en diferents adreces.
Si el vostre lloc té múltiples adreces públiques haureu de configurar redireccions permanents per a totes excepte aquesta.
Si el vostre lloc és accessible tant des d\'Internet com des d\'una intranet, utilitzeu aquí l\'adreça pública i configureu el DNS de manera que els usuaris de la intranet puguin utilitzar també l\'adreça pública.
Si l\'adreça no és correcta, canvieu l\'URL en el vostre navegador per reiniciar la instal·lació amb un altre valor.';
$string['pathsunsecuredataroot'] = 'La ubicació del dataroot no és segura.';
$string['pathswrongadmindir'] = 'No existeix el directori d\'administració';
$string['phpextension'] = 'Extensió PHP {$a}';
$string['phpversion'] = 'Versió PHP';
$string['phpversionhelp'] = '<p>Moodle necessita la versió de PHP 4.1.0 o posterior.</p>
$string['phpversionhelp'] = '<p>Moodle necessita una versió de PHP 4.3.0 o 5.1.0 (les versions 5.0.x tenien uns quants problemes coneguts).</p>
<p>A hores d\'ara esteu utilitzant la versió {$a}.</p>
<p>Us caldrà actualitzar el PHP o traslladar Moodle a un ordinador amb una versió de PHP més recent.</p>';
<p>Us cal actualitzar el PHP o traslladar Moodle a un ordinador amb una versió de PHP més recent.<br />(Si esteu utilitzant la versió 5.0.x, alternativament també podríeu tornar enrere a la 4.4.x)</p>';
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
$string['welcomep20'] = 'Esteu veient aquesta pàgina perquè heu instal·lat amb èxit i heu executat el paquet <strong>{$a->packname} {$a->packversion}</strong>. Felicitacions!';
$string['welcomep20'] = 'Esteu veient aquesta pàgina perquè heu instal·lat amb èxit i heu executat el paquet <strong>{$a->packname} {$a->packversion}</strong>. Felicitacions.';
$string['welcomep30'] = 'Aquesta versió de <strong>{$a->installername}</strong> inclou les aplicacions necessàries per crear un entorn en el qual funcioni <strong>Moodle</strong>:';
$string['welcomep40'] = 'El paquet inclou també <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
$string['welcomep50'] = 'L\'ús de totes les aplicacions d\'aquest paquet és governat per les seves llicències respectives. El paquet <strong>{$a->installername}</strong> complet és
+3
View File
@@ -67,7 +67,10 @@ $string['pathserrcreatedataroot'] = 'Datový adresář ({$a->dataroot}) nemůže
$string['pathshead'] = 'Potvrdit cesty';
$string['pathsrodataroot'] = 'Do datového adresáře nelze zapisovat.';
$string['pathsroparentdataroot'] = 'Do nadřazeného adresáře ({$a->parent}) nelze zapisovat. Datový adresář ({$a->dataroot}) nemůže být tímto průvodcem instalací vytvořen.';
$string['pathssubadmindir'] = 'Na některých serverech je URL adresa /admin vyhrazena pro speciální účely (např. pro ovládací panel). Na takových serverech může dojít ke kolizi se standardním umístěním stránek pro správu Moodle. Máte-li tento problém, přejmenujte adresář <eM>admin</em> ve vaší instalaci Moodle a sem zadejte jeho nový název - například <em>moodleadmin</em>. Všechny generované odkazy na stránky správy Moodle budou používat tento nový název.';
$string['pathssubdataroot'] = 'Moodle potřebuje prostor, kam si bude ukládat nahrané soubory a další údaje. K tomuto adresáři musí mít proces webového serveru právo ke čtení i k zápisu (webový server bývá většinou spouštěn pod uživatelem "www-data" nebo "apache"). Tento adresář ale zároveň nesmí být dostupný přímo přes webové rozhraní. Instalační skript se pokusí tento adresář vytvořit, pokud nebude existovat.';
$string['pathssubdirroot'] = 'Absolutní cesta k adresáři s instalací Moodle';
$string['pathssubwwwroot'] = 'Zadejte úplnou webovou adresu, na níž bude Moodle dostupný. Moodle potřebuje jedinečnou adresu, není možné jej provozovat na několika URL současně. Používáte-li několik veřejných domén, musíte si sami nastavit permanentní přesměrování na jednu z nich a tu pak použít. Pokud je váš server dostupný z vnější a z vnitřní sítě pod různými IP adresami, použijte jeho veřejnou adresu a nastavte si váš DNS server tak, že ji mohou používat i uživatelé z vnitřní sítě.';
$string['pathsunsecuredataroot'] = 'Umístění datového adresáře není bezpečné';
$string['pathswrongadmindir'] = 'Adresář pro správu serveru (admin) neexistuje';
$string['phpextension'] = '{$a} PHP rozšíření';
+1 -1
View File
@@ -31,4 +31,4 @@
defined('MOODLE_INTERNAL') || die();
$string['parentlanguage'] = 'en';
$string['thislanguage'] = 'English - Kids';
$string['thislanguage'] = 'English for kids';
+3 -3
View File
@@ -47,12 +47,12 @@ $string['environmenthead'] = 'Comprobando su entorno';
$string['environmentsub2'] = 'Cada versión de Moodle tiene algún requisito mínimo de la versión de PHP y un número obligatorio de extensiones de PHP. Una comprobación del entorno completo se realiza antes de cada instalación y actualización. Por favor, póngase en contacto con el administrador del servidor si no sabe cómo instalar la nueva versión o habilitar las extensiones PHP.';
$string['errorsinenvironment'] = '¡La comprobación del entorno falló!';
$string['installation'] = 'Instalación';
$string['langdownloaderror'] = 'El idioma "{$a}" no pudo ser instalado. El proceso de instalación continuará en inglés.';
$string['langdownloaderror'] = 'El idioma "{$a}" no pudo ser instalado. El proceso de instalación continuará en Inglés.';
$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>
<p>Recomendamos que configure PHP con el límite más alto posible, e.g. 40M.
<p>Recomendamos que configure PHP con el límite más alto posible, por ejemplo: 40M.
Hay varias formas de hacer esto:</p>
<ol>
<li>Si puede hacerlo, recompile PHP con <i>--enable-memory-limit</i>.
@@ -84,7 +84,7 @@ $string['phpversionhelp'] = '<p>Moodle requiere al menos una versión de PHP 4.3
(En caso de 5.0.x podría también revertir a la versión 4.4.x)</p>';
$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 computadora. !Enhorabuena!';
$string['welcomep30'] = 'Esta versión de <strong>{$a->installername}</strong> incluye las aplicaciones necesarias para que <strong>Moodle</strong> funcione en su computadora principalmente:';
$string['welcomep30'] = 'Esta versión de <strong>{$a->installername}</strong> incluye las aplicaciones necesarias para que <strong>Moodle</strong> funcione en su computadora, principalmente:';
$string['welcomep40'] = 'El paquete también incluye <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
$string['welcomep50'] = 'El uso de todas las aplicaciones del paquete está gobernado por sus respectivas
licencias. El programa <strong>{$a->installername}</strong> es
+2 -2
View File
@@ -30,6 +30,6 @@
defined('MOODLE_INTERNAL') || die();
$string['parentlanguage'] = 'es';
$string['parentlanguage'] = '';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Español - Mexico';
$string['thislanguage'] = 'Español - México';
+1 -1
View File
@@ -39,5 +39,5 @@ $string['clitypevaluedefault'] = 'sartu balorea, sakatu Enter-i berezko balorea
$string['cliunknowoption'] = 'Aukera ezezagunak:{$a}
Mesedez, erabili --laguntza aukera.';
$string['cliyesnoprompt'] = 'idatzi b (bai esateko) edo e (ez esateko)';
$string['environmentrequireinstall'] = 'derrigorrezkoa da instalatuta etagaituta izatea';
$string['environmentrequireinstall'] = 'derrigorrezkoa da instalatuta eta gaituta izatea';
$string['environmentrequireversion'] = '{$a->needed} bertsioa beharrezkoa da eta zu {$a->current} ari zara egikaritzen';
+2 -1
View File
@@ -30,4 +30,5 @@
defined('MOODLE_INTERNAL') || die();
$string['thislanguage'] = 'Faroese';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Føroyskt';
+33
View File
@@ -0,0 +1,33 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
* generated automatically by export-installer.php (which is part of AMOS
* {@link http://docs.moodle.org/dev/Languages/AMOS}) using the
* list of strings defined in /install/stringnames.txt.
*
* @package installer
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['language'] = 'Tungumál';
+48
View File
@@ -0,0 +1,48 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
* generated automatically by export-installer.php (which is part of AMOS
* {@link http://docs.moodle.org/dev/Languages/AMOS}) using the
* list of strings defined in /install/stringnames.txt.
*
* @package installer
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['cannotcreatelangdir'] = 'Ní féidir eolaire teanga a chruthú';
$string['cannotcreatetempdir'] = 'Ní féidir eolaire sealadach a chruthú';
$string['cannotdownloadcomponents'] = 'Ní féidir na comhphairteanna a íoslódáil';
$string['cannotdownloadzipfile'] = 'Ní féidir comhad ZIP a íoslódáil';
$string['cannotfindcomponent'] = 'Ní féidir teacht ar chomhpháirt';
$string['cannotsavemd5file'] = 'Ni féidir an comhad md5 a shábháil';
$string['cannotsavezipfile'] = 'Ni féidir an comhad ZIP a shábháil';
$string['cannotunzipfile'] = 'Ní féidir an comhad a dhízipeáil';
$string['componentisuptodate'] = 'Tá an chomhpháirt suas chun dáta';
$string['downloadedfilecheckfailed'] = 'Theip ar an seiceáil comhaid íoslódailte';
$string['invalidmd5'] = 'Bhí "an athróg seiceála mícheart triail arís é';
$string['missingrequiredfield'] = 'Réimse riachtanach ar iarraidh';
$string['remotedownloaderror'] = 'Theip ar íoslódail comhpháirte chuig do fhreastalaí, dearbhaigh seachshocruithe moltar iarmhíreanna , PHP cURL go hard.<br /"><br />Y Caithfidh tú an comhad <a href="""{$a->url}"">{$a->url}</a> a íoslódáil de láimh';
$string['wrongdestpath'] = 'Cosán sprice mícheart';
$string['wrongsourcebase'] = 'Foinse mícheart do bhunachar URL';
$string['wrongzipfilename'] = 'Ainm mícherat comhaid ZIP';
+3 -5
View File
@@ -98,11 +98,9 @@ $string['welcomep40'] = 'החבילה כוללת בנוסף
$string['welcomep50'] = 'השימוש בכל היישומים בחבילה זו מפוקח ע"י הרשיונות המתאימים להם. החבילה
<strong>{$a->installername}</strong>
השלמה היא
<a href="http://www.opensource.org/docs/definition_plain.html"> קוד פתוח
</a>
והיא מבוזרת תחת רישיון
<a>
href="http://www.gnu.org/copyleft/gpl.html">GPL</a>';
<a href="http://www.opensource.org/docs/definition_plain.html">קוד פתוח</a>
והיא מופצת תחת רשיון
<a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>';
$string['welcomep60'] = 'העמודים הבאים יובילו אותך בצורה פשוטה דרך כמה צעדים לעיצוב הגדרות <strong>Moodle</strong> במחשבך.
תוכל לאשר את הגדרות ברירת המחדל או, באפשרותך, לשנותם לפי צרכיך.';
$string['welcomep70'] = 'לחצו "המשך" למטה כדי להמשיך עם הגדרת ה-<strong>Moodle</strong>';
+1 -1
View File
@@ -31,6 +31,6 @@
defined('MOODLE_INTERNAL') || die();
$string['language'] = 'Jezik';
$string['next'] = 'Nastavi';
$string['next'] = 'Nastavite';
$string['previous'] = 'Prethodni';
$string['reload'] = 'Učitaj ponovno';
+3
View File
@@ -36,5 +36,8 @@ $string['cliincorrectvalueerror'] = 'Villa, ótækt gildi "{$a->value}" fyrir "{
$string['cliincorrectvalueretry'] = 'Rangt gildi, vinsamlegast reyndu aftur';
$string['clitypevalue'] = 'Sláðu inn gildi';
$string['clitypevaluedefault'] = 'Sláðu inn gildi, sláðu á Enter hnappinn á lyklaborðinu til að nota sjálfgefið gildi ({$a})';
$string['cliunknowoption'] = 'Óþekktir valkostir:
{$a}
Vinsamlegast notaðu --help valkostinn.';
$string['environmentrequireinstall'] = 'verður að vera uppsett og virkjað';
$string['environmentrequireversion'] = 'krafist er útgáfu {$a->needed} en þú notast við útgáfu {$a->current}';
+1 -1
View File
@@ -31,4 +31,4 @@
defined('MOODLE_INTERNAL') || die();
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = '&Iacute;slenska';
$string['thislanguage'] = 'Íslenska';
+1
View File
@@ -30,5 +30,6 @@
defined('MOODLE_INTERNAL') || die();
$string['parentlanguage'] = '';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Italiano';
+34
View File
@@ -0,0 +1,34 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
* generated automatically by export-installer.php (which is part of AMOS
* {@link http://docs.moodle.org/dev/Languages/AMOS}) using the
* list of strings defined in /install/stringnames.txt.
*
* @package installer
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['parentlanguage'] = 'ja';
$string['thislanguage'] = 'Japanese - kids';
+3 -3
View File
@@ -83,10 +83,10 @@ $string['phpversionhelp'] = '<p>무들은 적어도 PHP4.3.0 혹은 5.1.0. 이
<p>PHP를 업그레이드 하시거나 새버전을 제공하는 웹호스팅 업체로 이전하기를 권합니다!<br />(만일 5.0.x버전을 사용 중이라면 4.4.x 버전으로 다운그레이드 할 수 있습니다)</p>';
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
$string['welcomep20'] = '컴퓨터에 <strong>{$a->packname} {$a->packversion}</strong> 패키지를 성공적으로 설치하고 기동하였습니다. 축하합니다!';
$string['welcomep30'] = '<strong>{$a->installername}</strong> 릴리스는 <strong>무들</strong>이 동작하는 환경을 생성하기 위한 다음 어플리케이션을 포함하고 있습니다:';
$string['welcomep30'] = '<strong>{$a->installername}</strong> 판본은 <strong>무들</strong>이 동작하는 환경을 생성하기 위한 어플리케이션을 포함하고 있습니다.';
$string['welcomep40'] = '이 패키지는 <strong>무들 {$a->moodlerelease} ({$a->moodleversion})</strong> 을 포함하고 있습니다.';
$string['welcomep50'] = '이 패키지에 있는 모든 어플리케이션을 사용하는 것은 각각의 라이센스에의해 지배받습니다. 완전한<strong>{$a->installername}</strong> 패키지는
<a href="http://www.opensource.org/docs/definition_plain.html">공개 소스이며 </a> <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> 라이선스에 의해 배포됩니다.';
$string['welcomep60'] = '다음 페이지들은 당신의 컴퓨터에 <strong>무들</strong>을 설하고 설하는 길라잡이 역할을 할 것입니다. 기본 설정을 선택하거나 목적에 맞게 선택적으로 수정할 수 있습니다.';
<a href="http://www.opensource.org/docs/definition_plain.html">공개 소스</a>이며 <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> 라이선스에 의해 배포됩니다.';
$string['welcomep60'] = '다음 페이지들은 컴퓨터에 <strong>무들</strong>을 설하고 설하는 길라잡이 역할을 할 것입니다. 기본 설정을 선택하거나 목적에 맞게 선택적으로 수정할 수 있습니다.';
$string['welcomep70'] = '<strong>무들</strong> 설정을 계속하기 위해서는 "다음" 버튼을 클릭하세요.';
$string['wwwroot'] = '웹 주소';
+11 -1
View File
@@ -30,5 +30,15 @@
defined('MOODLE_INTERNAL') || die();
$string['clianswerno'] = 'n';
$string['cliansweryes'] = 't';
$string['cliincorrectvalueerror'] = 'Klaida, klaidinga "{$a->option}" reikšmė "{$a->value}"';
$string['cliincorrectvalueretry'] = 'Klaidinga reikšmė, bandykite dar kartą';
$string['clitypevalue'] = 'įveskite reikšmę';
$string['clitypevaluedefault'] = 'įveskite reikšmę, paspauskite „Enter“, jei norite naudoti numatytąją reikšmę ({$a})';
$string['cliunknowoption'] = 'Neatpažintos parinktys:
{$a}
Naudokite --help parinktį.';
$string['cliyesnoprompt'] = 'įveskite t (taip) arba n (ne)';
$string['environmentrequireinstall'] = 'turi būti įdiegta ir įgalinta';
$string['environmentrequireversion'] = 'reikalinga $a-needed, o Jūs turite $a-current';
$string['environmentrequireversion'] = 'reikalinga {$a->needed} versija, o Jūs turite {$a->current}';
+97
View File
@@ -0,0 +1,97 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
* generated automatically by export-installer.php (which is part of AMOS
* {@link http://docs.moodle.org/dev/Languages/AMOS}) using the
* list of strings defined in /install/stringnames.txt.
*
* @package installer
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['admindirname'] = 'Administratoriaus aplankas';
$string['availablelangs'] = 'Galimų kalbų sąrašas';
$string['chooselanguagehead'] = 'Pasirinkite kalbą';
$string['chooselanguagesub'] = 'Prašome pasirinkti diegimo kalbą. Ši kalba taip pat taps numatytąją svetainės kalba. Tačiau vėliau, jei norėsite, Jūs galėsite ją pakeisti.';
$string['cliinstallheader'] = '"Moodle" {$a} komandinės eilutės įdiegimo programa';
$string['databasehost'] = 'Duomenų bazės serveris';
$string['databasename'] = 'Duomenų bazės pavadinimas';
$string['databasetypehead'] = 'Pasirinkite duomenų bazės tvarkyklę';
$string['dataroot'] = 'Duomenų aplankas';
$string['datarootpermission'] = 'Duomenų aplanko leidimai';
$string['dbprefix'] = 'Lentelių priešdėlis';
$string['dirroot'] = '"Moodle" aplankas';
$string['environmenthead'] = 'Tikrinama Jūsų aplinka...';
$string['environmentsub2'] = 'Kiekviena "Moodle" laida turi kai kuriuos minimalius reikalavimus PHP versijai ir tam tikrą privalomų PHP plėtinių skaičių.
Pilnas aplinkos patikrinimas yra padaromas prieš kiekvieną įdiegimą ar plėtotę. Prašome susisiekti su serverio administratoriumi, jeigu Jūs nežinote kaip įdiegti naują versiją ar įgalinti PHP plėtinius.';
$string['errorsinenvironment'] = 'Aplinkos patikrinimas nesėkmingas!';
$string['installation'] = 'Įdiegimas';
$string['langdownloaderror'] = 'Deja "{$a}" kalba negali būti parsiųsta. Diegimo procesas bus tęsiamas anglų kalba.';
$string['memorylimithelp'] = '<p>Šiuo metu Jūsų serverio PHP atminties limitas yra {$a}.</p>
<p>Vėliau tai gali sukelti atminties trūkumo problemų "Moodle", ypač jei Jūs turite daug įgalintų modulių ir/ar daug vartotojų.</p>
<p>Mes rekomenduojame suderinti PHP taip, kad jis turėtų kiek galima didesnį limitą, pvz.: 40MB.
Tam yra keletas būdų, kuriuos Jūs galite pabandyti:</p>
<ol>
<li>Jei Jūs galite, sukompiliuokite iš naujo PHP panaudodami <i>--enable-memory-limit</i> raktą.
Tai leis nustatyti atminties limitą pačiai "Moodle".</li>
<li>Jei Jūs turite galimybę koreguoti Jūsų "php.ini" failą, tada pakeiskite <b>memory_limit</b> nuostatą į kažką artimo 40MB. Jei Jūs negalite koreguoti, tuomet gal galite paprašyti, kad Jūsų serverio administratorius tai padarytų už Jus.</li>
<li>Kai kuriuose PHP serveriuose Jūs galite sukurti ".htaccess" failą "Moodle" aplanke ir įrašykite į jį šią eilutę:
<blockquote><div>php_value memory_limit 40M</div></blockquote>
<p>Tačiau kai kuriuose serveriuose tai neleis veikti <b>visiems</b> PHP puslapiams (Jūs matysite klaidas bandydami peržiūrėti tinklapius). Taigi Jums gali tekti pašalinti ".htaccess" failą.</p></li>
</ol>';
$string['paths'] = 'Keliai';
$string['pathserrcreatedataroot'] = 'Diegiklis negali sukurti duomenų katalogo ({$a->dataroot}).';
$string['pathshead'] = 'Patvirtinkite kelius';
$string['pathsrodataroot'] = 'Dataroot katalogas yra neįrašomas';
$string['pathsroparentdataroot'] = 'Virškatalogis ({$a->parent}) yra neįrašomas. Diegiklis negali sukurti duomenų katalogo ({$a->dataroot}).';
$string['pathssubadmindir'] = 'Nedaugelis interneto paslaugų tiekėjų naudoja /admin kaip specialų URL skirtą prisijungti prie valdymo skydo ar panašiai. Deja tai kelia konfliktus su įprastais Moodle administravimo puslapių talpinimo keliais. Jūs galite tai pataisyti
pervardydami admin katalogą Jūsų diegime bei įrašydami naują pavadinimą čia. Pavyzdžiui: <em>moodleadmin</em>. Tai pakeis visas admin nuorodas Moodle diegime.';
$string['pathssubdataroot'] = 'Jums reikia vietos kur Moodle gali išsaugoti įkeliamus failus. Šis katalogas turi būti skaitomas IR ĮRAŠOMAS web serverio naudotojo
(dažniausiai tai \'nobody\' arba \'apache\'), tačiau jis neturi būti pasiekiamas tiesiogiai per internetą. Diegiklis pabandys sukurti katalogą, jei tokio nėra.';
$string['pathssubdirroot'] = 'Pilnas kelias iki Moodle diegimo vietos.';
$string['pathssubwwwroot'] = 'Pilnas internetinis adresas, kuriuo bus pasiekiamas Moodle.
Pasiekti Moodle naudojantis keliais adresais yra neįmanoma.
Jei Jūsų svetainėje yra keletas viešų adresų, Jūs turite visuose adresuose nustatyti pastovų peradresavimą į šį adresą.
Jei Jūsų svetainė yra pasiekiama ir iš Intraneto, ir iš Interneto - panaudokite viešą adresą čia ir nustatykite DNS taip, kad Intraneto naudotojai taip pat galėtų matyti viešą adresą.
Jei adresas neteisingas - prašome pakeisti URL Jūsų naršyklėje ir pradėti diegimą su nauju adresu.';
$string['pathsunsecuredataroot'] = 'Dataroot katalogo vieta yra nesaugi.';
$string['pathswrongadmindir'] = 'Admin katalogas neegzistuoja';
$string['phpextension'] = '{$a} PHP plėtinys';
$string['phpversion'] = 'PHP versija';
$string['phpversionhelp'] = '<p>Moodle reikalauja, kad būtų įdiegta bent 4.3.0 arba 5.1.0 PHP versija (5.0.x versija turi keletą žymių problemų).
</p>
<p>Jūs šiuo metu naudojate {$a} versiją</p>
<p>Jūs turite išplėtoti turimą PHP versiją iki naujesnės arba persikelti pas kitą interneto paslaugų tiekėją, turintį naujesnę PHP versiją!<br/>
(Turint 5.0.x versiją, Jūs turėtumėte pereiti prie žemesnės 4.4.x versijos)</p>';
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
$string['welcomep20'] = 'Jūs matote šį puslapį, nes sėkmingai įdiegėte ir užkrovėte <strong>{$a->packname} {$a->packversion}</strong> paketą savo kompiuteryje.
Sveikiname!';
$string['welcomep30'] = 'Šis <strong>{$a->installername}</strong> leidimas turi programas skirtas sukurti aplinką, kurioje <strong>Moodle</strong> veiks. Būtent:';
$string['welcomep40'] = 'Šis paketas taip pat turi <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
$string['welcomep50'] = 'Pakete esančių programų naudojimas yra reguliuojamas atitinkamų licencijų. Pilnas <strong>{$a->installername}</strong> paketas yra <a href="http://www.opensource.org/docs/definition_plain.html">atviro kodo</a> ir platinamas remiantis <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> licencija.';
$string['welcomep60'] = 'Sekantys puslapiai ves Jus per keletą lengvų žingsnių, kurie padės sukonfigūruoti ir nustatyti <strong>Moodle</strong> Jūsų kompiuteryje. Jūs galite priimti nustatymus pagal nutylėjimą arba, pasirinktinai, pakeisti juos pagal savo poreikius.';
$string['welcomep70'] = 'Spauskite "Toliau" mygtuką, norėdami tęsti <strong>Moodle</strong> nustatymą.';
$string['wwwroot'] = 'Interneto adresas';
+1 -1
View File
@@ -31,6 +31,6 @@
defined('MOODLE_INTERNAL') || die();
$string['language'] = 'Kalba';
$string['next'] = 'Toliau';
$string['next'] = 'Pirmyn';
$string['previous'] = 'Ankstesnis';
$string['reload'] = 'Įkelti iš naujo';
+1
View File
@@ -33,3 +33,4 @@ defined('MOODLE_INTERNAL') || die();
$string['language'] = 'Bahasa';
$string['next'] = 'Seterusnya';
$string['previous'] = 'Sebelum';
$string['reload'] = 'Muat semula';
+1 -1
View File
@@ -44,7 +44,7 @@ $string['datarootpermission'] = 'Toestemming datamappen';
$string['dbprefix'] = 'Tabelvoorvoegsel';
$string['dirroot'] = 'Moodle-map';
$string['environmenthead'] = 'Omgeving controleren ...';
$string['environmentsub2'] = 'Elke Moodleversie vraagt een minimum PHP-versie en een aantal vereiste PHP-extenties.
$string['environmentsub2'] = 'Elke Moodleversie vraagt een minimale PHP-versie en een aantal vereiste PHP-extenties.
De volledige installatie-omgeving wordt gecontroleerd voor elke installatie en upgrade. Contacteer je server beheerder als je niet weet hoe je de juiste PHP-versie moet installeren of PHP-extenties moet inschakelen.';
$string['errorsinenvironment'] = 'Fouten in je omgeving!';
$string['installation'] = 'Installatie';
+1
View File
@@ -30,5 +30,6 @@
defined('MOODLE_INTERNAL') || die();
$string['parentlanguage'] = '';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Nederlands';
+5 -7
View File
@@ -32,13 +32,11 @@ defined('MOODLE_INTERNAL') || die();
$string['clianswerno'] = 'n';
$string['cliansweryes'] = 's';
$string['cliincorrectvalueerror'] = 'Erro. Valor "{$a->value}" incorreto para "{$a->option}"';
$string['cliincorrectvalueerror'] = 'Erro: o valor "{$a->value}" não é permitido para a opção "{$a->option}"';
$string['cliincorrectvalueretry'] = 'Valor incorreto, por favor tente novamente';
$string['clitypevalue'] = 'valor do tipo';
$string['clitypevaluedefault'] = 'Escreva o valor. Ou Enter para usar o valor por omissão ({$a}).';
$string['cliunknowoption'] = 'Opções desconhecidas:
{$a}
Por favor use a opção --help';
$string['clitypevaluedefault'] = 'valor do tipo, pressione a tecla Enter para usar o valor predefinido ({$a})';
$string['cliunknowoption'] = 'Opções desconhecidas: {$a} Por favor use a opção --help';
$string['cliyesnoprompt'] = 'digite s (para sim) ou n (para não)';
$string['environmentrequireinstall'] = 'é necessário estar instalada/ativa';
$string['environmentrequireversion'] = 'É requerida a versão {$a->needed} e está a correr a versão {$a->current}';
$string['environmentrequireinstall'] = 'deve estar instalada e ativa';
$string['environmentrequireversion'] = 'é requerida a versão {$a->needed} e está a correr a versão {$a->current}';
+14 -14
View File
@@ -30,19 +30,19 @@
defined('MOODLE_INTERNAL') || die();
$string['cannotcreatelangdir'] = 'Não é possível criar o diretório para pacotes linguísticos';
$string['cannotcreatetempdir'] = 'Não é possível criar o diretório temporário';
$string['cannotdownloadcomponents'] = 'Não é possível descarregar componentes';
$string['cannotdownloadzipfile'] = 'Não é possível descarregar o ficheiro ZIP';
$string['cannotfindcomponent'] = 'O componente não foi encontrado';
$string['cannotsavemd5file'] = 'Não é possível gravar ficheiro md5';
$string['cannotsavezipfile'] = 'Não é possível gravar ficheiro ZIP';
$string['cannotunzipfile'] = 'Não é possível descompatar ficheiro ZIP';
$string['componentisuptodate'] = 'O componente está atualizado';
$string['downloadedfilecheckfailed'] = 'Falhou a verificação do ficheiro descarregado.';
$string['invalidmd5'] = 'md5 inválido';
$string['missingrequiredfield'] = 'Falta algum campo necessário';
$string['remotedownloaderror'] = 'Não foi possível descarregar algum componente para o seu servidor; verifique as definições do proxy; recomenda-se fortemente o uso da extensão cURL do PHP.<br /><br />Deverá descarregar o ficheiro <a href="{$a->url}">{$a->url}</a> manualmente, copiá-lo para "{$a->dest}" no seu servidor, e descomprimi-lo nesse local.';
$string['cannotcreatelangdir'] = 'Não é possível criar a pasta de pacotes linguísticos';
$string['cannotcreatetempdir'] = 'Não é possível criar a pasta de ficheiros temporários';
$string['cannotdownloadcomponents'] = 'Não é possível descarregar os componentes.';
$string['cannotdownloadzipfile'] = 'Não é possível descarregar o ficheiro ZIP.';
$string['cannotfindcomponent'] = 'Não é possível encontrar o componente';
$string['cannotsavemd5file'] = 'Não é possível gravar o ficheiro md5';
$string['cannotsavezipfile'] = 'Não é possível gravar o ficheiro ZIP';
$string['cannotunzipfile'] = 'Não é possível descompactar o ficheiro ZIP';
$string['componentisuptodate'] = 'O componente está atualizado.';
$string['downloadedfilecheckfailed'] = 'A verificação do ficheiro descarregado falhou.';
$string['invalidmd5'] = 'A variável de verificação está errada - tente novamente.';
$string['missingrequiredfield'] = 'Um dos campos obrigatórios está em falta';
$string['remotedownloaderror'] = 'A descarga do componente para o servidor falhou. Verifique as configurações do proxy. A instalação da extensão cURL do PHP é muito recomendada.<br /><br />Terá que descarregar o ficheiro <a href="{$a->url}">{$a->url}</a> manualmente, copiá-lo para a pasta "{$a->dest}" no seu servidor e descompactá-lo.';
$string['wrongdestpath'] = 'Caminho de destino errado.';
$string['wrongsourcebase'] = 'URL errado para a fonte.';
$string['wrongsourcebase'] = 'Base do URL de origem errada';
$string['wrongzipfilename'] = 'Nome de ficheiro ZIP errado.';
+33 -55
View File
@@ -30,67 +30,45 @@
defined('MOODLE_INTERNAL') || die();
$string['admindirname'] = 'Diretório de administração';
$string['availablelangs'] = 'Lista de línguas disponíveis';
$string['chooselanguagehead'] = 'Escolha uma língua';
$string['chooselanguagesub'] = 'Escolha por favor a língua a usar na instalação. Esta língua será usada por omissão no site, mas pode ser alterada posteriormente.';
$string['admindirname'] = 'Pasta de administração';
$string['availablelangs'] = 'Idiomas disponíveis';
$string['chooselanguagehead'] = 'Selecione um idioma';
$string['chooselanguagesub'] = 'Selecione o idioma a utilizar durante a instalação. Poderá depois selecionar um outro idioma para o site e para os utilizadores.';
$string['clialreadyinstalled'] = 'O ficheiro config.php já existe. Por favor, use o script admin/cli/upgrade.php se quiser actualizar o seu sítio.';
$string['cliinstallheader'] = 'Programa de instalação do Moodle {$a} por linha de comandos';
$string['cliinstallheader'] = 'Programa para instalação do Moodle <b>{$a}</b> através da linha de comandos';
$string['databasehost'] = 'Servidor da base de dados';
$string['databasename'] = 'Nome da base de dados';
$string['databasetypehead'] = 'Escolha driver da base de dados';
$string['dataroot'] = 'Diretório de dados';
$string['datarootpermission'] = 'Permissão dos diretórios de dados';
$string['databasetypehead'] = 'Escolha o <i>driver</i> da base de dados';
$string['dataroot'] = 'Pasta de dados';
$string['datarootpermission'] = 'Permissões da diretoria de dados';
$string['dbprefix'] = 'Prefixo das tabelas';
$string['dirroot'] = 'Diretório do Moodle';
$string['environmenthead'] = 'A verificar o seu ambiente ...';
$string['environmentsub2'] = 'Cada versão do Moodle tem requisitos mínimos relativamente à versão do PHP e às extensões PHP obrigatórias. É feita uma análise total ao ambiente existente antes de cada instalação ou atualização. Por favor contate o seu administrador de sistemas se não souber como instalar uma nova versão do PHP ou ativar as suas extensões.';
$string['errorsinenvironment'] = 'Erros no ambiente!';
$string['dirroot'] = 'Pasta do Moodle';
$string['environmenthead'] = 'A verificar sistema...';
$string['environmentsub2'] = 'Cada nova versão do Moodle tem pré-requisitos mínimos relativamente à versão do PHP e extensões necessárias para o seu correto funcionamento. Estes pré-requisitos são verificados sempre que o Moodle é instalado ou atualizado. Contacte o administrador do servidor caso seja necessário atualizar a versão do PHP ou instalar novas extensões.';
$string['errorsinenvironment'] = 'A verificação do sistema falhou!';
$string['installation'] = 'Instalação';
$string['langdownloaderror'] = 'Não foi possível descarregar a língua "{$a}". O processo de instalação continuará em Inglês.';
$string['memorylimithelp'] = '<p>Atualmente o seu servidor impõe ao PHP um limite de memória de {$a}.</p>
<p>Isso poderá causar mais tarde problemas, especialmente se tiver um grande número de módulos ativos e/ou um número elevado de utilizadores.</p>
<p>Recomendamos que configure o PHP com um limite maior, por exemplo, 40M.
Existem várias formas de fazer essa alteração:</p>
<ol>
<li>Recompilar o PHP com <i>--enable-memory-limit</i>.
Isso permitirá que o próprio Moodle modifique o limite de memória.</li>
<li>Se tiver acesso ao ficheiro php.ini, poderá modificar o valor de <b>memory_limit</b> para algo como 40M. Se não tiver acesso, poderá pedir ao adiminstrador do seu sistema que o faça.</li>
<li>Em alguns servidores PHP poderá criar um ficheiro .htaccess no diretório do Moodle, com a linha:
<p><blockquote>php_value memory_limit 40M</blockquote></p>
<p>No entanto, em alguns servidores, isso faz com que nenhuma página PHP funcione (verá erros quando tentar ver as páginas) e terá que apagar o ficheiro .htaccess.</p></li>
</ol>';
$string['langdownloaderror'] = 'Não foi possível instalar o idioma <b>{$a}</b> por falha na descarga. O processo de instalação continuará em Inglês.';
$string['memorylimithelp'] = '<p>O limite de memória para o PHP definido atualmente no servidor é <b>{$a}</b>.</p><p>Um número elevado de módulos em utilização ou de utilizadores registados pode fazer com que o Moodle apresente problemas de falta de memória.</p><p>É recomendado que o PHP seja configurado com um limite de memória de pelo menos 40MB. Esta configuração pode ser definida de diversas formas:</p><ol><li>Compilação do PHP com o parâmetro <b>--enable-memory-limit</b>. Esta definição permitirá ao próprio Moodle definir o valor a utilizar.</li><li>Alteração do parâmetro <b>memory_limit</b> no ficheiro de configuração do PHP para um valor igual ou superior a 40MB.</li><li>Criação de um ficheiro <b>.htaccess</b> na raiz da pasta do Moodle com a linha <b>php_value memory_limit 40M</b><p>ATENÇÃO: Em alguns servidores esta configuração impedirá o funcionamento de <b>todas</b> as páginas PHP. Nestes casos, não poderá ser utilizado o ficheiro <b>.htaccess</b>.</p></li></ol>';
$string['paths'] = 'Caminhos';
$string['pathserrcreatedataroot'] = 'O programa de instalação não conseguiu criar o diretório de dados ({$a->dataroot})';
$string['pathserrcreatedataroot'] = 'O programa de instalação não conseguiu criar a pasta de dados <b>{$a->dataroot}</b>.';
$string['pathshead'] = 'Confirmar caminhos';
$string['pathsrodataroot'] = 'A diretoria dataroot não tem permissões de escrita.';
$string['pathsroparentdataroot'] = 'O diretório pai ({$a->parent}) não tem permissões de escrita. O programa de instalação não conseguiu criar o diretório de dados ({$a->dataroot})';
$string['pathssubadmindir'] = 'Alguns (poucos) alojamentos web usam /admin como um URL especial para permitir o acesso ao control panel ou a outras funcionalidades.
Infelizmente esta designação entra em conflito com a localização que o Moodle atribui às páginas de administração.
A solução passa por renomear o diretório admin da sua instalação do Moodle e colocando o nome escolhido aqui. Por exemplo:
<em>moodleadmin</em>. Isto corrige os links de administração no Moodle.';
$string['pathssubdataroot'] = 'É necessário um local onde o Moodle possa gravar os ficheiros submetidos. Este diretório tem que ter permissões de leitura e ESCRITA pelo servidor web (normalmente \'nobody\' ou \'apache\'), mas não pode estar acessível através da web. O programa de instalação tentará criar este diretório se ele ainda não existir.';
$string['pathssubdirroot'] = 'Caminho completo para a diretoria de instalação do Moodle.';
$string['pathssubwwwroot'] = 'Endereço web completo para acesso ao Moodle.
Não é possível aceder ao Moodle usando vários endereços.
Se o seu site tem vários endereços públicos é necessário definir redirecionamentos permanentes em todos eles exceto neste.
Se o seu site pode ser acedido via intranet e Internet use este endereço público e configure o DNS para que a intranet permita a utilização deste endereço.
Se o endereço não estiver correto mude o URL no seu browser para reiniciar a instalação com um valor diferente.';
$string['pathsunsecuredataroot'] = 'O diretório dataroot não é seguro';
$string['pathswrongadmindir'] = 'A diretoria admin não existe';
$string['phpextension'] = 'Extensão PHP {$a}';
$string['pathsrodataroot'] = 'A pasta de dados não tem permissões de escrita.';
$string['pathsroparentdataroot'] = 'A pasta pai <b>{$a->parent}</b> não tem permissões de escrita. O programa de instalação não conseguiu criar a pasta <b>{$a->dataroot}</b>.';
$string['pathssubadmindir'] = 'Alguns servidores Web utilizam a pasta <strong>admin</strong> em URLs especiais de acesso a funcionalidades especiais, como é o caso de painéis de controlo. Algumas situações podem criar conflitos com a localização normal das páginas de administração do Moodle. Estes problemas podem ser resolvidos renomeando a pasta <strong>admin</strong> na instalação do Moodle e indicando aqui o novo nome a utilizar. Por exemplo:<br /><br /><b>moodleadmin</b><br /><br />Esta ação resolverá os problemas de acesso dos links para as funcionalidades de administração do Moodle.';
$string['pathssubdataroot'] = 'É necessária uma pasta onde o Moodle possa gravar os ficheiros enviados para a plataforma. Esta pasta deve ter permissão de <b>leitura</b> e <b>escrita</b> pelo utilizador do web server (normalmente <b>nobody</b> ou <b>apache</b>). Por razões de segurança esta pasta não deve estar diretamente acessível através da Internet.';
$string['pathssubdirroot'] = 'Caminho completo para a pasta de instalação do Moodle.';
$string['pathssubwwwroot'] = 'Endereço web completo de acesso ao Moodle. Não é possível aceder ao Moodle usando mais do que um endereço. Se o site tiver mais do que um endereço público, devem ser configurados redireccionamentos permanentes em todos eles, à exceção deste. Se o site pode ser acedido a partir da Internet e de Intranets, então este endereço deve ser configurado no DNS de forma a que os utilizadores das Intranets possam usar este endereço público para aceder ao Moodle. Se o endereço não está correto, então altere o endereço indicado no browser para reiniciar a instalação com o URL correto.';
$string['pathsunsecuredataroot'] = 'A localização da pasta de dados não é segura';
$string['pathswrongadmindir'] = 'A pasta <b>admin</b> não existe';
$string['phpextension'] = 'Extensão <b>{$a}</b> do PHP';
$string['phpversion'] = 'Versão do PHP';
$string['phpversionhelp'] = '<p>O Moodle precisa da versão 4.3.0 ou 5.1.0 do PHP (5.0.x produz vários problemas) ou superior.</p>
<p>Atualmente está a utilizar a versão {$a}</p>
<p>Deverá atualizar o PHP ou migrar para outro servidor com uma versão do PHP mais recente!</p>
(No caso da versão 5.0.x, poderá regredir para uma versão 4.4.x)</p>';
$string['phpversionhelp'] = '<p>A instalação do Moodle só é possível se o servidor tiver instalada a versão 4.3.0 ou 5.1.0 ( a versão 5.0.x apresenta vários problemas) ou superiores.</p><p>A versão atualmente instalada é <b>{$a}</b></p><p>É necessário atualizar esta versão do PHP ou mudar para um novo servidor que possua as referidas versões!<br />(Se a versão instalada for a 5.0.x é possível regredir para a versão 4.4.x)</p>';
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
$string['welcomep20'] = 'Está a ver esta página porque o pacote <strong>{$a->packname} {$a->packversion}</strong> foi instalado e posto a funcionar com sucesso no seu computador. Parabens!';
$string['welcomep30'] = 'Esta versão do <strong>{$a->installername}</strong> inclui aplicações para criar um ambiente onde o <strong>Moodle</strong> possa funcionar, nomeadamente:';
$string['welcomep40'] = 'Este pacote também inclui <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
$string['welcomep50'] = 'A utilização de todas as aplicações neste pacote está regida pelas respetivas licenças. O pacote <strong>{$a->installername}</strong> completo é <a href="http://www.opensource.org/docs/definition_plain.html">open source</a> distribuido nos termos da licença <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>.';
$string['welcomep60'] = 'As páginas seguintes vão conduzí-lo por alguns passos simples de seguir para configurar o <strong>Moodle</strong> no seu computador. Poderá aceitar as definições selecionadas por omissão, ou, opcionalmente, usar outras definições mais apropriadas às suas necessidades.';
$string['welcomep70'] = 'Clique no botão "Seguinte" em baixo, para continuar com a configuração do <strong>Moodle</strong>.';
$string['wwwroot'] = 'Endereço Web';
$string['welcomep20'] = 'A apresentação desta página confirma a correta instalação e ativação do pacote <strong>{$a->packname} {$a->packversion}</strong> no servidor.';
$string['welcomep30'] = 'Esta versão do pacote <strong>{$a->installername}</strong> inclui as aplicações necessárias para o correto funcionamento do <strong>Moodle</strong>, nomeadamente:';
$string['welcomep40'] = 'Este pacote inclui <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
$string['welcomep50'] = 'A utilização de todas as aplicações incluídas neste pacote é limitada pelas respetivas licenças. O pacote completo <strong>{$a->installername}</strong> é <ahref="http://www.opensource.org/docs/definition_plain.html">código aberto</a> e distribuído nos termos da licença <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>.';
$string['welcomep60'] = 'As páginas seguintes irão levá-lo através de alguns passos simples para
configurar e definir o <strong>Moodle</strong> no seu computador. Você pode aceitar as configurações predefinidas ou, opcionalmente, alterá-las para atender às suas próprias necessidades.';
$string['welcomep70'] = 'Clique no botão "Seguinte" para continuar a configuração do <strong>Moodle</strong>.';
$string['wwwroot'] = 'Endereço web';
+1
View File
@@ -30,5 +30,6 @@
defined('MOODLE_INTERNAL') || die();
$string['parentlanguage'] = '';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Português - Portugal';
+2 -2
View File
@@ -30,7 +30,7 @@
defined('MOODLE_INTERNAL') || die();
$string['language'] = 'Língua';
$string['next'] = 'Próximo';
$string['language'] = 'Idioma';
$string['next'] = 'Seguinte';
$string['previous'] = 'Anterior';
$string['reload'] = 'Recarregar';
+9 -2
View File
@@ -30,15 +30,22 @@
defined('MOODLE_INTERNAL') || die();
$string['admindirname'] = 'Admin Directory';
$string['admindirname'] = 'Director Admin';
$string['availablelangs'] = 'Pachete de limbă disponibile';
$string['chooselanguagehead'] = 'Selectare limbă';
$string['chooselanguagesub'] = 'Vă rugăm selectaţi limba pentru interfaţa de instalare, limba selectată va fi folosită EXCLUSIV în cadrul procedurii de instalare. Ulterior veţi putea selecta limba în care doriţi să fie afişată interfaţa.';
$string['dataroot'] = 'Data Directory';
$string['databasehost'] = 'Gazdă baza de date';
$string['databasename'] = 'Nume baza de date';
$string['databasetypehead'] = 'Alegere driver baza de date';
$string['dataroot'] = 'Director date';
$string['datarootpermission'] = 'Permisiuni directoare date';
$string['dbprefix'] = 'Prefix tabele';
$string['dirroot'] = 'Director Moodle';
$string['environmenthead'] = 'Se verifică mediul...';
$string['installation'] = 'Instalare';
$string['paths'] = 'Căi';
$string['pathshead'] = 'Confirmare căi';
$string['phpextension'] = 'extensie PHP {$a}';
$string['phpversion'] = 'Versiune PHP';
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
$string['wwwroot'] = 'Adresă Web';
+1
View File
@@ -40,6 +40,7 @@ $string['databasehost'] = 'Сервер баз данных';
$string['databasename'] = 'Название базы данных';
$string['databasetypehead'] = 'Выберите драйвер базы данных';
$string['dataroot'] = 'Каталог данных';
$string['datarootpermission'] = 'Разрешения на каталоги данных';
$string['dbprefix'] = 'Префикс имён таблиц';
$string['dirroot'] = 'Каталог Moodle';
$string['environmenthead'] = 'Проверка среды...';
+2 -2
View File
@@ -44,7 +44,7 @@ $string['datarootpermission'] = 'Овлашћења над директориј
$string['dbprefix'] = 'Префикс табеле';
$string['dirroot'] = 'Moodle директоријум';
$string['environmenthead'] = 'Проверавање Вашег окружења...';
$string['environmentsub2'] = 'Свака верзија Moodlea има минимум захтева по питању одговарајуће PHP верѕије и неколико обавезних PHP екстензија.
$string['environmentsub2'] = 'Свака верзија Moodlea има минимум захтева по питању одговарајуће PHP верзије и неколико обавезних PHP екстензија.
Пуна провера окружења се врши пре сваке инсталације или ажурирања постојеће верзије. Уколико не знате како да инсталирате нову верзију или омогућите PHP ектензије контактирајте Вашег сервер администратора.';
$string['errorsinenvironment'] = 'Провера окружења није прошла!';
$string['installation'] = 'Инсталација';
@@ -74,7 +74,7 @@ $string['pathssubwwwroot'] = 'Пуна веб адреса путем које
Ако је адреса нетачна промените URL у свом веб читачу да бисте поново покренули инсталацију са другачијом вредношћу.';
$string['pathsunsecuredataroot'] = 'Dataroot локација није безбедна';
$string['pathswrongadmindir'] = 'Админ директоријум не постоји';
$string['phpextension'] = '{$a} PHP екстенѕија';
$string['phpextension'] = '{$a} PHP екстензија';
$string['phpversion'] = 'PHP верзија';
$string['phpversionhelp'] = '<p>Moodle захтева најмање PHP верзију 4.3.0 или 5.1.0 (5.0.x има бројне уочене проблеме).</p>
<p>Тренутно користите верзију {$a}</p>
+1
View File
@@ -30,4 +30,5 @@
defined('MOODLE_INTERNAL') || die();
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Kiswahili';
+34
View File
@@ -0,0 +1,34 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
* generated automatically by export-installer.php (which is part of AMOS
* {@link http://docs.moodle.org/dev/Languages/AMOS}) using the
* list of strings defined in /install/stringnames.txt.
*
* @package installer
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['databasehost'] = 'Сервер бази даних';
$string['databasename'] = 'Ім’я бази даних';
+1 -1
View File
@@ -80,7 +80,7 @@ $string['phpversionhelp'] = '<p>Moodle需要PHP 4.3.0或5.1.05.0.x有若干
(如果正使用5.0.x,您也可以降级到4.4.x版)</p>
';
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
$string['welcomep20'] = '您看到这个页面表明您已经成功地在您的计算机上安装了<strong>{$a->packname} {$a->packversion}</strong>。恭喜您!';
$string['welcomep20'] = '您看到这个页面表明您已经成功地在您的计算机上安装并启用了<strong>{$a->packname} {$a->packversion}</strong>软件包。恭喜您!';
$string['welcomep30'] = '<strong>{$a->installername}</strong>的此发行版包含了可以创建<strong>Moodle</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">开源</a>的,并且遵循<a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>授权协议发布。';
+9
View File
@@ -30,5 +30,14 @@
defined('MOODLE_INTERNAL') || die();
$string['clianswerno'] = '否';
$string['cliansweryes'] = '是';
$string['cliincorrectvalueerror'] = '錯誤的值 "{$a->value}" 選項 "{$a->option}"';
$string['cliincorrectvalueretry'] = '錯誤的值,請重新輸入';
$string['clitypevalue'] = '輸入值';
$string['clitypevaluedefault'] = '輸入值,輸入Enter會自動使用預設值({$a})';
$string['cliunknowoption'] = '不認得的選項: {$a}
請使用 --幫助 選項。';
$string['cliyesnoprompt'] = '輸入y (表示同意)或是輸入n(表示不同意)';
$string['environmentrequireinstall'] = '必須安裝/啟用';
$string['environmentrequireversion'] = '要求版本為 {$a->needed} ,您目前版本為 {$a->current}';
+21
View File
@@ -34,10 +34,19 @@ $string['admindirname'] = '管理目錄';
$string['availablelangs'] = '可使用的語言包';
$string['chooselanguagehead'] = '選擇一種語言';
$string['chooselanguagesub'] = '請選擇在安裝過程中使用的語言。稍後您可以根據需要重新選擇用於網站和使用者的語言。';
$string['clialreadyinstalled'] = '檔案 config.php 已經存在,若你要安裝這一網站,請使用dmin/cli/install_database.php';
$string['cliinstallheader'] = 'Moodle {$a} 命令列安裝程式';
$string['databasehost'] = '資料庫主機';
$string['databasename'] = '資料庫名稱';
$string['databasetypehead'] = '選擇資料庫裝置';
$string['dataroot'] = '資料目錄';
$string['datarootpermission'] = '資料目錄存取授權';
$string['dbprefix'] = '資料表名稱的前置字元';
$string['dirroot'] = 'Moodle目錄';
$string['environmenthead'] = '檢查您的環境中...';
$string['environmentsub2'] = '每一個Moodle版本都有一些PHP版本的最低要求和一堆強制開啟的PHP擴展。在進行安裝或升級之前都需要作完整的環境檢查。<br />
若你不知道要怎樣新的PHP版本或啟用PHP擴展,請聯絡伺服器管理員。';
$string['errorsinenvironment'] = '環境檢查失敗!';
$string['installation'] = '安裝';
$string['langdownloaderror'] = '很不幸地,語言“{$a}”並未安裝。安裝過程將以英文繼續。';
$string['memorylimithelp'] = '<p>PHP記憶體上限目前設定為{$a}。</p>
@@ -50,6 +59,18 @@ $string['memorylimithelp'] = '<p>PHP記憶體上限目前設定為{$a}。</p>
<li>在一些PHP伺服器上,您可以在Moodle目錄下,建立.htaccess檔,包含這行:<p><blockquote>php_value memory_limit 16M</blockquote></p>
<p>然而,在一些伺服器上,這將造成<b>所有的</b> PHP 網頁無法運作(當您看這些網頁時,您就會看到錯誤) 因此,您就必須將 .htaccess 檔案移除。
</ol>';
$string['paths'] = '路徑';
$string['pathserrcreatedataroot'] = '資料目錄 ({$a->dataroot})無法由這安裝程式建立';
$string['pathshead'] = '確認路徑';
$string['pathsrodataroot'] = '資料根目錄是無法寫入的';
$string['pathsroparentdataroot'] = '上層目錄({$a->parent})是不可寫入的。安裝程式無法建立資料目錄({$a->dataroot})。';
$string['pathssubadmindir'] = '有些網站主機使用/admin這個網址來瀏覽控制面版或其他功能。很不幸,這個設定和Moodle管理頁面的標準路徑產生衝突。這個問題可以解決,只需在您的安裝目錄中把admin更換名稱,然後把新名稱輸入到這裡。例如<em>moodleadmin</em>這麼做會改變Moodle中的管理連接。';
$string['pathssubdataroot'] = '你需要有一個地方讓Moodle可以儲存上傳的檔案。這一目錄對於網頁伺服器用戶(通常是"nobody"或"apache")而言,應該是可讀的和<b>可寫的</b>。但是它必須不能經由網頁直接存取。若此目錄不存在,這安裝程式將會試著建立它。';
$string['pathssubdirroot'] = 'Moodle安裝的完整目錄路徑。';
$string['pathssubwwwroot'] = '可以瀏覽到Moodle的完整網址。Moodle不支援透過多個網址瀏覽,如果您的往佔有多個公開網址,您必須把這個網址以外的網址都設定為永久重新導向。如果您的網站可以透過內部網址瀏覽,有可以透過這個公開網址瀏覽,那麼請設定DNS內部使網路使用者也能使用的空該網址。如果此網址不正確,請在瀏覽器中修改URL來重新安裝,並設定另一個網址。';
$string['pathsunsecuredataroot'] = '資料根(Dataroot)目錄的位置不安全';
$string['pathswrongadmindir'] = '管理目錄不存在';
$string['phpextension'] = '{$a} PHP擴展';
$string['phpversion'] = 'PHP版本';
$string['phpversionhelp'] = '<p>Moodle 需要至少4.1.0.的PHP版本 </p>
<p>您目前執行的是{$a} 版</p>
+88
View File
@@ -1047,6 +1047,8 @@ function xmldb_main_upgrade($oldversion) {
}
if ($oldversion < 2009010602) {
// Issue with field in the user table being null in postgres.
$DB->execute("UPDATE {user} SET lastip = '' WHERE lastip IS NULL");
/// Changing precision of field lastip on table user to (45)
$table = new xmldb_table('user');
@@ -4736,6 +4738,10 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL");
if ($dbman->index_exists($table, $index)) {
$dbman->drop_index($table, $index);
}
// Issue with field in the user table being null in postgres.
$DB->execute("UPDATE {user} SET city = '' WHERE city IS NULL");
/// Changing precision of field city on table user to (120)
$field = new xmldb_field('city', XMLDB_TYPE_CHAR, '120', null, XMLDB_NOTNULL, null, null, 'address');
@@ -6821,5 +6827,87 @@ FROM
upgrade_main_savepoint(true,2011070106.03);
}
if ($oldversion < 2011070108.09) {
// Issue with Moodle version < 1.7 using postgres having null values in the user table.
if ($DB->get_dbfamily() === 'postgres') {
// Array to store columns we may need to change.
$arrcolumns = array('idnumber', 'icq', 'skype', 'yahoo', 'aim', 'msn',
'phone1', 'phone2', 'institution', 'department',
'address', 'city', 'country', 'lastip', 'secret',
'picture', 'url');
// OK, now we want to remove the columns that already have the default values before editing.
$columns = $DB->get_columns('user');
foreach ($columns as $c) {
if (in_array($c->name, $arrcolumns)) {
if ($c->has_default && $c->not_null) {
$arrcolumns = array_diff($arrcolumns, array($c->name));
} else {
if ($c->name == 'picture') {
$DB->execute("UPDATE {user} SET picture = '0' WHERE picture IS NULL");
} else {
$DB->execute("UPDATE {user} SET $c->name = '' WHERE $c->name IS NULL");
}
}
}
}
// Create user table object.
$table = new xmldb_table('user');
// Create array to store the indexes in the user table.
$arrindexes = array();
$arrindexes['idnumber'] = new xmldb_index('idnumber', XMLDB_INDEX_NOTUNIQUE, array('idnumber'));
$arrindexes['city'] = new xmldb_index('city', XMLDB_INDEX_NOTUNIQUE, array('city'));
$arrindexes['country'] = new xmldb_index('country', XMLDB_INDEX_NOTUNIQUE, array('country'));
// Loop through the indexes.
foreach ($arrindexes as $key => $index) {
// Check if it is not in the columns array and remove as it does not need editing.
if (!in_array($key, $arrcolumns)) {
unset($arrindexes[$key]);
}
}
// Remove the indexes that need to be removed.
foreach ($arrindexes as $index) {
if ($dbman->index_exists($table, $index)) {
$dbman->drop_index($table, $index);
}
}
// Create list of fields that potentially need changed.
$arrfields = array();
$arrfields['idnumber'] = new xmldb_field('idnumber', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, 'password');
$arrfields['icq'] = new xmldb_field('icq', XMLDB_TYPE_CHAR, '15', null, XMLDB_NOTNULL, null, null, 'emailstop');
$arrfields['skype'] = new xmldb_field('skype', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null, 'icq');
$arrfields['yahoo'] = new xmldb_field('yahoo', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null, 'skype');
$arrfields['aim'] = new xmldb_field('aim', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null, 'yahoo');
$arrfields['msn'] = new xmldb_field('msn', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null, 'aim');
$arrfields['phone1'] = new xmldb_field('phone1', XMLDB_TYPE_CHAR, '20', null, XMLDB_NOTNULL, null, null, 'msn');
$arrfields['phone2'] = new xmldb_field('phone2', XMLDB_TYPE_CHAR, '20', null, XMLDB_NOTNULL, null, null, 'phone1');
$arrfields['institution'] = new xmldb_field('institution', XMLDB_TYPE_CHAR, '40', null, XMLDB_NOTNULL, null, null, 'phone2');
$arrfields['department'] = new xmldb_field('department', XMLDB_TYPE_CHAR, '30', null, XMLDB_NOTNULL, null, null, 'institution');
$arrfields['address'] = new xmldb_field('address', XMLDB_TYPE_CHAR, '70', null, XMLDB_NOTNULL, null, null, 'department');
$arrfields['city'] = new xmldb_field('city', XMLDB_TYPE_CHAR, '120', null, XMLDB_NOTNULL, null, null, 'address');
$arrfields['country'] = new xmldb_field('country', XMLDB_TYPE_CHAR, '2', null, XMLDB_NOTNULL, null, null, 'city');
$arrfields['lastip'] = new xmldb_field('lastip', XMLDB_TYPE_CHAR, '45', null, XMLDB_NOTNULL, null, null, 'country');
$arrfields['secret'] = new xmldb_field('secret', XMLDB_TYPE_CHAR, '15', null, XMLDB_NOTNULL, null, null, 'lastip');
$arrfields['picture'] = new xmldb_field('picture', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, 0, 'secret');
$arrfields['url'] = new xmldb_field('url', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, 'picture');
foreach ($arrfields as $key => $field) {
// If it is in the columns array it needs editing.
if (in_array($key, $arrcolumns)) {
if ($dbman->field_exists($table, $field)) {
$dbman->change_field_notnull($table, $field);
}
}
}
// Re-add the indexes that were removed.
foreach ($arrindexes as $index) {
if (!$dbman->index_exists($table, $index)) {
$dbman->add_index($table, $index);
}
}
}
// Main savepoint reached.
upgrade_main_savepoint(true, 2011070108.09);
}
return true;
}
@@ -1,3 +1,5 @@
Version 2.0.6.1 (2012-11-16)
Fixed security issue with google spellchecker.
Version 2.0.6 (2011-09-29)
Fixed incorrect position of suggestion menu.
Fixed handling of mispelled words with no suggestions in PSpellShell engine.
@@ -51,6 +51,8 @@ class GoogleSpell extends SpellChecker {
}
function &_getMatches($lang, $str) {
$lang = preg_replace('/[^a-z\-]/i', '', $lang); // Sanitize, remove everything but a-z or -
$str = preg_replace('/[\x00-\x1F\x7F]/', '', $str); // Sanitize, remove all control characters
$server = "www.google.com";
$port = 443;
$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
+36 -9
View File
@@ -7611,18 +7611,45 @@ function check_php_version($version='5.2.4') {
case 'Gecko': /// Gecko based browsers
if (empty($version) and substr_count($agent, 'Camino')) {
// MacOS X Camino support
$version = 20041110;
// Do not look for dates any more, we expect real Firefox version here.
if (empty($version)) {
$version = 1;
} else if ($version > 20000000) {
// This is just a guess, it is not supposed to be 100% accurate!
if (preg_match('/^201/', $version)) {
$version = 3.6;
} else if (preg_match('/^200[7-9]/', $version)) {
$version = 3;
} else if (preg_match('/^2006/', $version)) {
$version = 2;
} else {
$version = 1.5;
}
}
// the proper string - Gecko/CCYYMMDD Vendor/Version
// Faster version and work-a-round No IDN problem.
if (preg_match("/Gecko\/([0-9]+)/i", $agent, $match)) {
if ($match[1] > $version) {
return true;
if (preg_match("/(Iceweasel|Firefox)\/([0-9\.]+)/i", $agent, $match)) {
// Use real Firefox version if specified in user agent string.
if (version_compare($match[2], $version) >= 0) {
return true;
}
} else if (preg_match("/Gecko\/([0-9\.]+)/i", $agent, $match)) {
// Gecko might contain date or Firefox revision, let's just guess the Firefox version from the date.
$browserver = $match[1];
if ($browserver > 20000000) {
// This is just a guess, it is not supposed to be 100% accurate!
if (preg_match('/^201/', $browserver)) {
$browserver = 3.6;
} else if (preg_match('/^200[7-9]/', $browserver)) {
$browserver = 3;
} else if (preg_match('/^2006/', $version)) {
$browserver = 2;
} else {
$browserver = 1.5;
}
}
if (version_compare($browserver, $version) >= 0) {
return true;
}
}
break;
+68
View File
@@ -1237,6 +1237,74 @@ function portfolio_rewrite_pluginfile_url_callback($contextid, $component, $file
return $format->file_output($file, $options);
}
/**
* Function to require any potential callback files, throwing exceptions
* if an issue occurs.
*
* @param string $callbackfile This is the location of the callback file '/mod/forum/locallib.php'
* @param string $class Name of the class containing the callback functions
* activity components should ALWAYS use their name_portfolio_caller
* other locations must use something unique
*/
function portfolio_include_callback_file($callbackfile, $class = null) {
global $CFG;
require_once($CFG->libdir . '/adminlib.php');
// Get the last occurrence of '/' in the file path.
$pos = strrpos($callbackfile, '/');
// Get rid of the first slash (if it exists).
$callbackfile = ltrim($callbackfile, '/');
// Get a list of valid plugin types.
$plugintypes = get_plugin_types(false);
// Assume it is not valid for now.
$isvalid = false;
// Go through the plugin types.
foreach ($plugintypes as $type => $path) {
if (strrpos($callbackfile, $path) === 0) {
// Found the plugin type.
$isvalid = true;
$plugintype = $type;
$pluginpath = $path;
}
}
// Throw exception if not a valid component.
if (!$isvalid) {
throw new coding_exception('Somehow a non-valid plugin path was passed, could be a hackz0r attempt, exiting.');
}
// Keep record of the filename.
$filename = substr($callbackfile, $pos);
// Remove the file name.
$component = trim(substr($callbackfile, 0, $pos), '/');
// Replace the path with the type.
$component = str_replace($pluginpath, $plugintype, $component);
// Ok, replace '/' with '_'.
$component = str_replace('/', '_', $component);
// Check that it is a valid component.
if (!get_component_version($component)) {
throw new portfolio_button_exception('nocallbackcomponent', 'portfolio', '', $component);
}
// Obtain the component's location.
if (!$componentloc = get_component_directory($component)) {
throw new portfolio_button_exception('nocallbackcomponent', 'portfolio', '', $component);
}
// Check if the filename does not meet any of the expected names.
if (($filename != 'locallib.php') && ($filename != 'portfoliolib.php') && ($filename != 'portfolio_callback.php')) {
debugging('Please standardise your plugin by keeping your portfolio callback functionality in the file locallib.php.', DEBUG_DEVELOPER);
}
// Throw error if file does not exist.
if (!file_exists($componentloc . '/' . $filename)) {
throw new portfolio_button_exception('nocallbackfile', 'portfolio', '', $callbackfile);
}
require_once($componentloc . '/' . $filename);
if (!is_null($class) && !class_exists($class)) {
throw new portfolio_button_exception('nocallbackclass', 'portfolio', '', $class);
}
}
/**
* go through all the @@PLUGINFILE@@ matches in some text,
+6 -5
View File
@@ -346,11 +346,12 @@ function rss_geterrorxmlfile($errortype = 'rsserror') {
function rss_get_userid_from_token($token) {
global $DB;
$record = $DB->get_record('user_private_key', array('script'=>'rss','value' => $token), 'userid', IGNORE_MISSING);
if ($record) {
return $record->userid;
}
return null;
$sql = 'SELECT u.id FROM {user} u
JOIN {user_private_key} k ON u.id = k.userid
WHERE u.deleted = 0 AND u.confirmed = 1
AND u.suspended = 0 AND k.value = ?';
return $DB->get_field_sql($sql, array($token), IGNORE_MISSING);
}
function rss_get_token($userid) {
Binary file not shown.
Binary file not shown.
Binary file not shown.
+5 -2
View File
@@ -59,12 +59,15 @@ $string['limitanswers'] = 'Limit the number of responses allowed';
$string['modulename'] = 'Choice';
$string['modulename_help'] = 'The choice module enables the teacher to ask a question and specify a choice of multiple responses.';
$string['modulenameplural'] = 'Choices';
$string['moveselectedusersto'] = 'Move selected users to...';
$string['mustchooseone'] = 'You must choose an answer before saving. Nothing was saved.';
$string['noguestchoose'] = 'Sorry, guests are not allowed to make choices.';
$string['noresultsviewable'] = 'The results are not currently viewable.';
$string['notanswered'] = 'Not answered yet';
$string['notenrolledchoose'] = 'Sorry, only enrolled users are allowed to make choices.';
$string['notopenyet'] = 'Sorry, this activity is not available until {$a}';
$string['numberofuser'] = 'The number of user';
$string['numberofuserinpercentage'] = 'The number of user in percentage';
$string['option'] = 'Option';
$string['page-mod-choice-x'] = 'Any choice module page';
$string['pluginadministration'] = 'Choice administration';
@@ -80,6 +83,7 @@ $string['publishnot'] = 'Do not publish results to students';
$string['removemychoice'] = 'Remove my choice';
$string['removeresponses'] = 'Remove all responses';
$string['responses'] = 'Responses';
$string['responsesresultgraphheader'] = 'Graph display';
$string['responsesto'] = 'Responses to {$a}';
$string['savemychoice'] = 'Save my choice';
$string['showunanswered'] = 'Show column for unanswered';
@@ -89,7 +93,6 @@ $string['taken'] = 'Taken';
$string['timerestrict'] = 'Restrict answering to this time period';
$string['viewallresponses'] = 'View {$a} responses';
$string['withselected'] = 'With selected';
$string['userchoosethisoption'] = 'User choose this option';
$string['yourselection'] = 'Your selection';
$string['skipresultgraph'] = 'Skip result graph';
$string['moveselectedusersto'] = 'Move selected users to...';
$string['numberofuser'] = 'The number of user';
+165 -88
View File
@@ -141,66 +141,102 @@ class mod_choice_renderer extends plugin_renderer_base {
$table->cellspacing = 0;
$table->attributes['class'] = 'results names ';
$table->tablealign = 'center';
$table->summary = get_string('responsesto', 'choice', format_string($choices->name));
$table->data = array();
$count = 0;
ksort($choices->options);
$columns = array();
$celldefault = new html_table_cell();
$celldefault->attributes['class'] = 'data';
// This extra cell is needed in order to support accessibility for screenreader. MDL-30816
$accessiblecell = new html_table_cell();
$accessiblecell->scope = 'row';
$accessiblecell->text = get_string('choiceoptions', 'choice');
$columns['options'][] = $accessiblecell;
$usernumberheader = clone($celldefault);
$usernumberheader->header = true;
$usernumberheader->attributes['class'] = 'header data';
$usernumberheader->text = get_string('numberofuser', 'choice');
$columns['usernumber'][] = $usernumberheader;
foreach ($choices->options as $optionid => $options) {
$coldata = '';
$celloption = clone($celldefault);
$cellusernumber = clone($celldefault);
$cellusernumber->style = 'text-align: center;';
$celltext = '';
if ($choices->showunanswered && $optionid == 0) {
$coldata .= html_writer::tag('div', format_string(get_string('notanswered', 'choice')), array('class'=>'option'));
$celltext = format_string(get_string('notanswered', 'choice'));
} else if ($optionid > 0) {
$coldata .= html_writer::tag('div', format_string($choices->options[$optionid]->text), array('class'=>'option'));
$celltext = format_string($choices->options[$optionid]->text);
}
$numberofuser = 0;
if (!empty($options->user) && count($options->user) > 0) {
$numberofuser = count($options->user);
}
$coldata .= html_writer::tag('div', ' ('.$numberofuser. ')', array('class'=>'numberofuser', 'title' => get_string('numberofuser', 'choice')));
$columns[] = $coldata;
$celloption->text = $celltext;
$cellusernumber->text = $numberofuser;
$columns['options'][] = $celloption;
$columns['usernumber'][] = $cellusernumber;
}
$table->head = $columns;
$table->head = $columns['options'];
$table->data[] = new html_table_row($columns['usernumber']);
$coldata = '';
$columns = array();
// This extra cell is needed in order to support accessibility for screenreader. MDL-30816
$accessiblecell = new html_table_cell();
$accessiblecell->text = get_string('userchoosethisoption', 'choice');
$accessiblecell->header = true;
$accessiblecell->scope = 'row';
$accessiblecell->attributes['class'] = 'header data';
$columns[] = $accessiblecell;
foreach ($choices->options as $optionid => $options) {
$coldata = '';
$cell = new html_table_cell();
$cell->attributes['class'] = 'data';
if ($choices->showunanswered || $optionid > 0) {
if (!empty($options->user)) {
$optionusers = '';
foreach ($options->user as $user) {
$data = '';
if (empty($user->imagealt)){
$user->imagealt = '';
}
$userfullname = fullname($user, $choices->fullnamecapability);
if ($choices->viewresponsecapability && $choices->deleterepsonsecapability && $optionid > 0) {
$attemptaction = html_writer::checkbox('attemptid[]', $user->id,'');
$attemptaction = html_writer::label($userfullname, 'attempt-user'.$user->id, false, array('class' => 'accesshide'));
$attemptaction .= html_writer::checkbox('attemptid[]', $user->id,'', null, array('id' => 'attempt-user'.$user->id));
$data .= html_writer::tag('div', $attemptaction, array('class'=>'attemptaction'));
}
$userimage = $this->output->user_picture($user, array('courseid'=>$choices->courseid));
$data .= html_writer::tag('div', $userimage, array('class'=>'image'));
$userlink = new moodle_url('/user/view.php', array('id'=>$user->id,'course'=>$choices->courseid));
$name = html_writer::tag('a', fullname($user, $choices->fullnamecapability), array('href'=>$userlink, 'class'=>'username'));
$name = html_writer::tag('a', $userfullname, array('href'=>$userlink, 'class'=>'username'));
$data .= html_writer::tag('div', $name, array('class'=>'fullname'));
$data .= html_writer::tag('div','', array('class'=>'clearfloat'));
$coldata .= html_writer::tag('div', $data, array('class'=>'user'));
$optionusers .= html_writer::tag('div', $data, array('class'=>'user'));
}
$cell->text = $optionusers;
}
}
$columns[] = $coldata;
$columns[] = $cell;
$count++;
}
$row = new html_table_row($columns);
$table->data[] = $row;
$table->data[] = $columns;
foreach ($columns as $d) {
$table->colclasses[] = 'data';
}
$html .= html_writer::tag('div', html_writer::table($table), array('class'=>'response'));
$actiondata = '';
@@ -245,71 +281,88 @@ class mod_choice_renderer extends plugin_renderer_base {
$table->cellpadding = 5;
$table->cellspacing = 0;
$table->attributes['class'] = 'results anonymous ';
$table->summary = get_string('responsesto', 'choice', format_string($choices->name));
$table->data = array();
$count = 0;
ksort($choices->options);
$columns = array();
$rows = array();
foreach ($choices->options as $optionid => $options) {
$numberofuser = 0;
if (!empty($options->user)) {
$numberofuser = count($options->user);
$headercelldefault = new html_table_cell();
$headercelldefault->scope = 'row';
$headercelldefault->header = true;
$headercelldefault->attributes = array('class'=>'header data');
// column header
$tableheader = clone($headercelldefault);
$tableheader->text = html_writer::tag('div', get_string('choiceoptions', 'choice'), array('class' => 'accesshide'));
$rows['header'][] = $tableheader;
// graph row header
$graphheader = clone($headercelldefault);
$graphheader->text = html_writer::tag('div', get_string('responsesresultgraphheader', 'choice'), array('class' => 'accesshide'));
$rows['graph'][] = $graphheader;
// user number row header
$usernumberheader = clone($headercelldefault);
$usernumberheader->text = get_string('numberofuser', 'choice');
$rows['usernumber'][] = $usernumberheader;
// user percentage row header
$userpercentageheader = clone($headercelldefault);
$userpercentageheader->text = get_string('numberofuserinpercentage', 'choice');
$rows['userpercentage'][] = $userpercentageheader;
$contentcelldefault = new html_table_cell();
$contentcelldefault->attributes = array('class'=>'data');
foreach ($choices->options as $optionid => $option) {
// calculate display length
$height = $percentageamount = $numberofuser = 0;
$usernumber = $userpercentage = '';
if (!empty($option->user)) {
$numberofuser = count($option->user);
}
$height = 0;
$percentageamount = 0;
if($choices->numberofuser > 0) {
$height = ($CHOICE_COLUMN_HEIGHT * ((float)$numberofuser / (float)$choices->numberofuser));
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
}
$displaydiagram = html_writer::tag('img','', array('style'=>'height:'.$height.'px;width:49px;', 'alt'=>'', 'src'=>$this->output->pix_url('column', 'choice')));
$displaygraph = html_writer::tag('img','', array('style'=>'height:'.$height.'px;width:49px;', 'alt'=>'', 'src'=>$this->output->pix_url('column', 'choice')));
$cell = new html_table_cell();
$cell->text = $displaydiagram;
$cell->attributes = array('class'=>'graph vertical data');
$columns[] = $cell;
// header
$headercell = clone($contentcelldefault);
$headercell->text = $option->text;
$rows['header'][] = $headercell;
// Graph
$graphcell = clone($contentcelldefault);
$graphcell->attributes = array('class'=>'graph vertical data');
$graphcell->text = $displaygraph;
$rows['graph'][] = $graphcell;
$usernumber .= html_writer::tag('div', ' '.$numberofuser.'', array('class'=>'numberofuser', 'title'=> get_string('numberofuser', 'choice')));
$userpercentage .= html_writer::tag('div', format_float($percentageamount,1). '%', array('class'=>'percentage'));
// number of user
$usernumbercell = clone($contentcelldefault);
$usernumbercell->text = $usernumber;
$rows['usernumber'][] = $usernumbercell;
// percentage of user
$numbercell = clone($contentcelldefault);
$numbercell->text = $userpercentage;
$rows['userpercentage'][] = $numbercell;
}
$rowgraph = new html_table_row();
$rowgraph->cells = $columns;
$rows[] = $rowgraph;
$columns = array();
$printskiplink = true;
foreach ($choices->options as $optionid => $options) {
$columndata = '';
$numberofuser = 0;
if (!empty($options->user)) {
$numberofuser = count($options->user);
}
if ($printskiplink) {
$columndata .= html_writer::tag('div', '', array('class'=>'skip-block-to', 'id'=>'skipresultgraph'));
$printskiplink = false;
}
if ($choices->showunanswered && $optionid == 0) {
$columndata .= html_writer::tag('div', format_string(get_string('notanswered', 'choice')), array('class'=>'option'));
} else if ($optionid > 0) {
$columndata .= html_writer::tag('div', format_string($choices->options[$optionid]->text), array('class'=>'option'));
}
$columndata .= html_writer::tag('div', ' ('.$numberofuser.')', array('class'=>'numberofuser', 'title'=> get_string('numberofuser', 'choice')));
if($choices->numberofuser > 0) {
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
}
$columndata .= html_writer::tag('div', format_float($percentageamount,1). '%', array('class'=>'percentage'));
$cell = new html_table_cell();
$cell->text = $columndata;
$cell->attributes = array('class'=>'data header');
$columns[] = $cell;
}
$rowdata = new html_table_row();
$rowdata->cells = $columns;
$rows[] = $rowdata;
$table->data = $rows;
$table->head = $rows['header'];
$trgraph = new html_table_row($rows['graph']);
$trusernumber = new html_table_row($rows['usernumber']);
$truserpercentage = new html_table_row($rows['userpercentage']);
$table->data = array($trgraph, $trusernumber, $truserpercentage);
$header = html_writer::tag('h2',format_string(get_string("responses", "choice")));
$html .= html_writer::tag('div', $header, array('class'=>'responseheader'));
@@ -331,52 +384,76 @@ class mod_choice_renderer extends plugin_renderer_base {
$table->cellpadding = 5;
$table->cellspacing = 0;
$table->attributes['class'] = 'results anonymous ';
$table->summary = get_string('responsesto', 'choice', format_string($choices->name));
$table->data = array();
$columnheaderdefault = new html_table_cell();
$columnheaderdefault->scope = 'col';
$tableheadertext = clone($columnheaderdefault);
$tableheadertext->text = get_string('choiceoptions', 'choice');
$tableheadernumber = clone($columnheaderdefault);
$tableheadernumber->text = get_string('numberofuser', 'choice');
$tableheaderpercentage = clone($columnheaderdefault);
$tableheaderpercentage->text = get_string('numberofuserinpercentage', 'choice');
$tableheadergraph = clone($columnheaderdefault);
$tableheadergraph->text = get_string('responsesresultgraphheader', 'choice');
$table->head = array($tableheadertext, $tableheadernumber, $tableheaderpercentage, $tableheadergraph);
$count = 0;
ksort($choices->options);
$columndefault = new html_table_cell();
$columndefault->attributes['class'] = 'data';
$colheaderdefault = new html_table_cell();
$colheaderdefault->scope = 'row';
$colheaderdefault->header = true;
$colheaderdefault->attributes['class'] = 'header data';
$rows = array();
foreach ($choices->options as $optionid => $options) {
$numberofuser = 0;
$graphcell = new html_table_cell();
$colheader = clone($colheaderdefault);
$colheader->text = $options->text;
$graphcell = clone($columndefault);
$datacellnumber = clone($columndefault);
$datacellpercentage = clone($columndefault);
$numberofuser = $width = $percentageamount = 0;
if (!empty($options->user)) {
$numberofuser = count($options->user);
}
$width = 0;
$percentageamount = 0;
$columndata = '';
if($choices->numberofuser > 0) {
$width = ($CHOICE_COLUMN_WIDTH * ((float)$numberofuser / (float)$choices->numberofuser));
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
}
$displaydiagram = html_writer::tag('img','', array('style'=>'height:50px; width:'.$width.'px', 'alt'=>'', 'src'=>$this->output->pix_url('row', 'choice')));
$skiplink = html_writer::tag('a', get_string('skipresultgraph', 'choice'), array('href'=>'#skipresultgraph'. $optionid, 'class'=>'skip-block'));
$skiphandler = html_writer::tag('span', '', array('class'=>'skip-block-to', 'id'=>'skipresultgraph'.$optionid));
$attributes = array();
$attributes['style'] = 'height:50px; width:'.$width.'px';
$attributes['alt'] = '';
$attributes['src'] = $this->output->pix_url('row', 'choice');
$displaydiagram = html_writer::tag('img','', $attributes);
$graphcell->text = $skiplink . $displaydiagram . $skiphandler;
$graphcell->text = $displaydiagram;
$graphcell->attributes = array('class'=>'graph horizontal');
$datacell = new html_table_cell();
if ($choices->showunanswered && $optionid == 0) {
$columndata .= html_writer::tag('div', format_string(get_string('notanswered', 'choice')), array('class'=>'option'));
} else if ($optionid > 0) {
$columndata .= html_writer::tag('div', format_string($choices->options[$optionid]->text), array('class'=>'option'));
}
$columndata .= html_writer::tag('div', ' ('.$numberofuser.')', array('title'=> get_string('numberofuser', 'choice'), 'class'=>'numberofuser'));
if($choices->numberofuser > 0) {
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
}
$columndata .= html_writer::tag('div', format_float($percentageamount,1). '%', array('class'=>'percentage'));
$datacell->text = $columndata;
$datacell->attributes = array('class'=>'header');
$datacellnumber->text = $numberofuser;
$datacellpercentage->text = format_float($percentageamount,1). '%';
$row = new html_table_row();
$row->cells = array($datacell, $graphcell);
$row->cells = array($colheader, $datacellnumber, $datacellpercentage, $graphcell);
$rows[] = $row;
}
+2
View File
@@ -23,6 +23,8 @@
.path-mod-choice .results.anonymous .graph.vertical,
.path-mod-choice .cell {vertical-align: bottom; text-align: center; }
.path-mod-choice .results.anonymous th.header {border: 1px solid inherit;}
.path-mod-choice .results.names .header{width:10%; white-space: normal;}
.path-mod-choice .results.names .cell{vertical-align: top; text-align: left;}
.path-mod-choice .results.names .user,
+28 -18
View File
@@ -3471,21 +3471,28 @@ function data_user_can_delete_preset($context, $preset) {
/**
* Get all of the record ids from a database activity.
*
* @param int $dataid The dataid of the database module.
* @return array $idarray An array of record ids
* @param int $dataid The dataid of the database module.
* @param object $selectdata Contains an additional sql statement for the
* where clause for group and approval fields.
* @param array $params Parameters that coincide with the sql statement.
* @return array $idarray An array of record ids
*/
function data_get_all_recordids($dataid) {
function data_get_all_recordids($dataid, $selectdata = '', $params = null) {
global $DB;
$initsql = 'SELECT c.recordid
FROM {data_fields} f,
{data_content} c
WHERE f.dataid = :dataid
AND f.id = c.fieldid
GROUP BY c.recordid';
$initrecord = $DB->get_recordset_sql($initsql, array('dataid' => $dataid));
$initsql = 'SELECT r.id
FROM {data_records} r
WHERE r.dataid = :dataid';
if ($selectdata != '') {
$initsql .= $selectdata;
$params = array_merge(array('dataid' => $dataid), $params);
} else {
$params = array('dataid' => $dataid);
}
$initsql .= ' GROUP BY r.id';
$initrecord = $DB->get_recordset_sql($initsql, $params);
$idarray = array();
foreach ($initrecord as $data) {
$idarray[] = $data->recordid;
$idarray[] = $data->id;
}
// Close the record set and free up resources.
$initrecord->close();
@@ -3570,7 +3577,7 @@ function data_get_recordids($alias, $searcharray, $dataid, $recordids) {
* @param int $sort DATA_*
* @param stdClass $data Data module object
* @param array $recordids An array of record IDs.
* @param string $selectdata Information for the select part of the sql statement.
* @param string $selectdata Information for the where and select part of the sql statement.
* @param string $sortorder Additional sort parameters
* @return array sqlselect sqlselect['sql] has the sql string, sqlselect['params'] contains an array of parameters.
*/
@@ -3615,13 +3622,17 @@ function data_get_advanced_search_sql($sort, $data, $recordids, $selectdata, $so
{user} u ';
$groupsql = ' GROUP BY r.id, r.approved, r.timecreated, r.timemodified, r.userid, u.firstname, u.lastname, ' .$sortcontentfull;
}
$nestfromsql = 'WHERE c.recordid = r.id
AND r.dataid = :dataid
AND r.userid = u.id';
// Default to a standard Where statement if $selectdata is empty.
if ($selectdata == '') {
$selectdata = 'WHERE c.recordid = r.id
AND r.dataid = :dataid
AND r.userid = u.id ';
}
// Find the field we are sorting on
if ($sort > 0 or data_get_field_from_id($sort, $data)) {
$nestfromsql .= ' AND c.fieldid = :sort';
$selectdata .= ' AND c.fieldid = :sort';
}
// If there are no record IDs then return an sql statment that will return no rows.
@@ -3630,8 +3641,7 @@ function data_get_advanced_search_sql($sort, $data, $recordids, $selectdata, $so
} else {
list($insql, $inparam) = $DB->get_in_or_equal(array('-1'), SQL_PARAMS_NAMED);
}
$nestfromsql .= ' AND c.recordid ' . $insql . $groupsql;
$nestfromsql = "$nestfromsql $selectdata";
$nestfromsql = $selectdata . ' AND c.recordid ' . $insql . $groupsql;
$sqlselect['sql'] = "$nestselectsql $nestfromsql $sortorder";
$sqlselect['params'] = $inparam;
return $sqlselect;
+40 -13
View File
@@ -322,6 +322,13 @@
groups_print_activity_menu($cm, $returnurl);
$currentgroup = groups_get_activity_group($cm);
$groupmode = groups_get_activity_groupmode($cm);
// If a student is not part of a group and seperate groups is enabled, we don't
// want them seeing all records.
if ($currentgroup == 0 && $groupmode == 1 && !has_capability('mod/data:manageentries', $context)) {
$canviewallrecords = false;
} else {
$canviewallrecords = true;
}
// detect entries not approved yet and show hint instead of not found error
if ($record and $data->approval and !$record->approved and $record->userid != $USER->id and !has_capability('mod/data:manageentries', $context)) {
@@ -450,11 +457,15 @@ if ($showactivity) {
$requiredentries_allowed = false;
}
// Initialise the first group of params for advanced searches.
$initialparams = array();
/// setup group and approve restrictions
if (!$approvecap && $data->approval) {
if (isloggedin()) {
$approveselect = ' AND (r.approved=1 OR r.userid=:myid1) ';
$params['myid1'] = $USER->id;
$initialparams['myid1'] = $params['myid1'];
} else {
$approveselect = ' AND r.approved=1 ';
}
@@ -465,8 +476,15 @@ if ($showactivity) {
if ($currentgroup) {
$groupselect = " AND (r.groupid = :currentgroup OR r.groupid = 0)";
$params['currentgroup'] = $currentgroup;
$initialparams['currentgroup'] = $params['currentgroup'];
} else {
$groupselect = ' ';
if ($canviewallrecords) {
$groupselect = ' ';
} else {
// If separate groups are enabled and the user isn't in a group or
// a teacher, manager, admin etc, then just show them entries for 'All participants'.
$groupselect = " AND r.groupid = 0";
}
}
// Init some variables to be used by advanced search
@@ -474,6 +492,8 @@ if ($showactivity) {
$advwhere = '';
$advtables = '';
$advparams = array();
// This is used for the initial reduction of advanced search results with required entries.
$entrysql = '';
/// Find the field we are sorting on
if ($sort <= 0 or !$sortfield = data_get_field_from_id($sort, $data)) {
@@ -499,11 +519,10 @@ if ($showactivity) {
$what = ' DISTINCT r.id, r.approved, r.timecreated, r.timemodified, r.userid, u.firstname, u.lastname';
$count = ' COUNT(DISTINCT c.recordid) ';
$tables = '{data_content} c,{data_records} r, {data_content} cs, {user} u ';
$tables = '{data_content} c,{data_records} r, {user} u ';
$where = 'WHERE c.recordid = r.id
AND r.dataid = :dataid
AND r.userid = u.id
AND cs.recordid = r.id ';
AND r.userid = u.id ';
$params['dataid'] = $data->id;
$sortorder = ' ORDER BY '.$ordering.', r.id ASC ';
$searchselect = '';
@@ -511,7 +530,9 @@ if ($showactivity) {
// If requiredentries is not reached, only show current user's entries
if (!$requiredentries_allowed) {
$where .= ' AND u.id = :myid2 ';
$entrysql = ' AND r.userid = :myid3 ';
$params['myid2'] = $USER->id;
$initialparams['myid3'] = $params['myid2'];
}
if (!empty($advanced)) { //If advanced box is checked.
@@ -529,7 +550,7 @@ if ($showactivity) {
$advparams = array_merge($advparams, $val->params);
}
} else if ($search) {
$searchselect = " AND (".$DB->sql_like('cs.content', ':search1', false)." OR ".$DB->sql_like('u.firstname', ':search2', false)." OR ".$DB->sql_like('u.lastname', ':search3', false)." ) ";
$searchselect = " AND (".$DB->sql_like('c.content', ':search1', false)." OR ".$DB->sql_like('u.firstname', ':search2', false)." OR ".$DB->sql_like('u.lastname', ':search3', false)." ) ";
$params['search1'] = "%$search%";
$params['search2'] = "%$search%";
$params['search3'] = "%$search%";
@@ -544,12 +565,13 @@ if ($showactivity) {
$what = ' DISTINCT r.id, r.approved, r.timecreated, r.timemodified, r.userid, u.firstname, u.lastname, ' . $sortcontentfull . ' AS sortorder ';
$count = ' COUNT(DISTINCT c.recordid) ';
$tables = '{data_content} c, {data_records} r, {data_content} cs, {user} u ';
$tables = '{data_content} c, {data_records} r, {user} u ';
$where = 'WHERE c.recordid = r.id
AND c.fieldid = :sort
AND r.dataid = :dataid
AND r.userid = u.id
AND cs.recordid = r.id ';
AND r.userid = u.id ';
if (!$advanced) {
$where .= 'AND c.fieldid = :sort';
}
$params['dataid'] = $data->id;
$params['sort'] = $sort;
$sortorder = ' ORDER BY sortorder '.$order.' , r.id ASC ';
@@ -557,8 +579,10 @@ if ($showactivity) {
// If requiredentries is not reached, only show current user's entries
if (!$requiredentries_allowed) {
$where .= ' AND u.id = ' . $USER->id;
$where .= ' AND u.id = :myid2';
$entrysql = ' AND r.userid = :myid3';
$params['myid2'] = $USER->id;
$initialparams['myid3'] = $params['myid2'];
}
$i = 0;
@@ -576,7 +600,7 @@ if ($showactivity) {
$advparams = array_merge($advparams, $val->params);
}
} else if ($search) {
$searchselect = " AND (".$DB->sql_like('cs.content', ':search1', false)." OR ".$DB->sql_like('u.firstname', ':search2', false)." OR ".$DB->sql_like('u.lastname', ':search3', false)." ) ";
$searchselect = " AND (".$DB->sql_like('c.content', ':search1', false)." OR ".$DB->sql_like('u.firstname', ':search2', false)." OR ".$DB->sql_like('u.lastname', ':search3', false)." ) ";
$params['search1'] = "%$search%";
$params['search2'] = "%$search%";
$params['search3'] = "%$search%";
@@ -590,10 +614,13 @@ if ($showactivity) {
$fromsql = "FROM $tables $advtables $where $advwhere $groupselect $approveselect $searchselect $advsearchselect";
$allparams = array_merge($params, $advparams);
$recordids = data_get_all_recordids($data->id);
// Provide initial sql statements and parameters to reduce the number of total records.
$initialselect = $groupselect . $approveselect . $entrysql;
$recordids = data_get_all_recordids($data->id, $initialselect, $initialparams);
$newrecordids = data_get_advance_search_ids($recordids, $search_array, $data->id);
$totalcount = count($newrecordids);
$selectdata = $groupselect . $approveselect;
$selectdata = $where . $groupselect . $approveselect;
if (!empty($advanced)) {
$advancedsearchsql = data_get_advanced_search_sql($sort, $data, $newrecordids, $selectdata, $sortorder);
@@ -127,25 +127,72 @@ class backup_scorm_activity_structure_step extends backup_activity_structure_ste
// Define sources
$scorm->set_source_table('scorm', array('id' => backup::VAR_ACTIVITYID));
$sco->set_source_table('scorm_scoes', array('scorm' => backup::VAR_PARENTID));
// Use set_source_sql for other calls as set_source_table returns records in reverse order
// and order is important for several SCORM fields - esp scorm_scoes.
$sco->set_source_sql('
SELECT *
FROM {scorm_scoes}
WHERE scorm = :scorm
ORDER BY id',
array('scorm' => backup::VAR_PARENTID));
$scodata->set_source_table('scorm_scoes_data', array('scoid' => backup::VAR_PARENTID));
$scodata->set_source_sql('
SELECT *
FROM {scorm_scoes_data}
WHERE scoid = :scoid
ORDER BY id',
array('scoid' => backup::VAR_PARENTID));
$seqrulecond->set_source_table('scorm_seq_ruleconds', array('scoid' => backup::VAR_PARENTID));
$seqrulecond->set_source_sql('
SELECT *
FROM {scorm_seq_ruleconds}
WHERE scoid = :scoid
ORDER BY id',
array('scoid' => backup::VAR_PARENTID));
$seqrulecondsdata->set_source_table('scorm_seq_rulecond', array('ruleconditionsid' => backup::VAR_PARENTID));
$seqrulecondsdata->set_source_sql('
SELECT *
FROM {scorm_seq_rulecond}
WHERE ruleconditionsid = :ruleconditionsid
ORDER BY id',
array('ruleconditionsid' => backup::VAR_PARENTID));
$seqrolluprule->set_source_table('scorm_seq_rolluprule', array('scoid' => backup::VAR_PARENTID));
$seqrolluprule->set_source_sql('
SELECT *
FROM {scorm_seq_rolluprule}
WHERE scoid = :scoid
ORDER BY id',
array('scoid' => backup::VAR_PARENTID));
$seqrolluprulecond->set_source_table('scorm_seq_rolluprulecond', array('rollupruleid' => backup::VAR_PARENTID));
$seqrolluprulecond->set_source_sql('
SELECT *
FROM {scorm_seq_rolluprulecond}
WHERE rollupruleid = :rollupruleid
ORDER BY id',
array('rollupruleid' => backup::VAR_PARENTID));
$seqobjective->set_source_table('scorm_seq_objective', array('scoid' => backup::VAR_PARENTID));
$seqobjective->set_source_sql('
SELECT *
FROM {scorm_seq_objective}
WHERE scoid = :scoid
ORDER BY id',
array('scoid' => backup::VAR_PARENTID));
$seqmapinfo->set_source_table('scorm_seq_mapinfo', array('objectiveid' => backup::VAR_PARENTID));
$seqmapinfo->set_source_sql('
SELECT *
FROM {scorm_seq_mapinfo}
WHERE objectiveid = :objectiveid
ORDER BY id',
array('objectiveid' => backup::VAR_PARENTID));
// All the rest of elements only happen if we are including user info
if ($userinfo) {
$scotrack->set_source_table('scorm_scoes_track', array('scoid' => backup::VAR_PARENTID));
$scotrack->set_source_sql('
SELECT *
FROM {scorm_scoes_track}
WHERE scoid = :scoid
ORDER BY id',
array('scoid' => backup::VAR_PARENTID));
}
// Define id annotations
+7
View File
@@ -1,6 +1,13 @@
This files describes API changes in /mod/* - activity modules,
information provided here is intended especially for developers.
=== 2.1 ===
optional - no changes needed:
* mod/data/lib.php data_get_all_recordids() now has two new optional variables: $selectdata and $params.
=== 2.0 ===
WORK IN PROGRESS...
+4 -3
View File
@@ -132,13 +132,14 @@ function xmldb_workshop_upgrade($oldversion) {
// $filearea = "$workshop->course/$CFG->moddata/workshop/$submission->id";
$fs = get_file_storage();
$from = 'FROM {workshop_submissions} s
JOIN {workshop_submissions_old} o ON (o.newid = s.id)
JOIN {workshop} w ON (w.id = s.workshopid)
JOIN {modules} m ON (m.name = :modulename)
JOIN {course_modules} cm ON (cm.module = m.id AND cm.instance = w.id)
WHERE s.attachment <> 1';
$params = array('modulename' => 'workshop');
$count = $DB->count_records_sql('SELECT COUNT(s.id) ' . $from, $params);
$rs = $DB->get_recordset_sql('SELECT s.id, s.authorid, s.workshopid, cm.course, cm.id AS cmid ' .
$rs = $DB->get_recordset_sql('SELECT s.id, o.id AS oldid, s.authorid, s.workshopid, cm.course, cm.id AS cmid ' .
$from . ' ORDER BY cm.course, w.id', $params);
$pbar = new progress_bar('migrateworkshopsubmissions', 500, true);
$i = 0;
@@ -147,7 +148,7 @@ function xmldb_workshop_upgrade($oldversion) {
upgrade_set_timeout(60); // set up timeout, may also abort execution
$pbar->update($i, $count, "Migrating workshop submissions - $i/$count");
$filedir = "$CFG->dataroot/$submission->course/$CFG->moddata/workshop/$submission->id";
$filedir = "$CFG->dataroot/$submission->course/$CFG->moddata/workshop/$submission->oldid";
if ($files = get_directory_list($filedir, '', false)) {
$context = get_context_instance(CONTEXT_MODULE, $submission->cmid);
foreach ($files as $filename) {
@@ -178,7 +179,7 @@ function xmldb_workshop_upgrade($oldversion) {
}
}
// remove dirs if empty
@rmdir("$CFG->dataroot/$submission->course/$CFG->moddata/workshop/$submission->id");
@rmdir("$CFG->dataroot/$submission->course/$CFG->moddata/workshop/$submission->oldid");
@rmdir("$CFG->dataroot/$submission->course/$CFG->moddata/workshop");
@rmdir("$CFG->dataroot/$submission->course/$CFG->moddata");
@rmdir("$CFG->dataroot/$submission->course");
+3 -3
View File
@@ -101,15 +101,15 @@ if ($component === 'blog') {
}
}
if ('publishstate' === 'public') {
if ($entry->publishstate === 'public') {
if ($CFG->forcelogin) {
require_login();
}
} else if ('publishstate' === 'site') {
} else if ($entry->publishstate === 'site') {
require_login();
//ok
} else if ('publishstate' === 'draft') {
} else if ($entry->publishstate === 'draft') {
require_login();
if ($USER->id != $entry->userid) {
send_file_not_found();
+4 -7
View File
@@ -176,13 +176,10 @@ if (!empty($dataid)) {
$callbackargs[substr($key, 3)] = $value;
}
}
// righto, now we have the callback args set up
// load up the caller file and class and tell it to set up all the data
// it needs
require_once($CFG->dirroot . $callbackfile);
if (!class_exists($callbackclass) || !is_subclass_of($callbackclass, 'portfolio_caller_base')) {
throw new portfolio_caller_exception('callbackclassinvalid', 'portfolio');
}
// Ensure that we found a file we can use, if not throw an exception.
portfolio_include_callback_file($callbackfile, $callbackclass);
$caller = new $callbackclass($callbackargs);
$caller->set('user', $USER);
if ($formats = explode(',', $callerformats)) {
@@ -32,3 +32,4 @@ $string['dropbox'] = 'Dropbox';
$string['secret'] = 'Dropbox secret';
$string['instruction'] = 'You can get your API Key and secret from <a href="http://www.dropbox.com/developers/apps">Dropbox developers</a>. When setting up your key please select "Full Dropbox" as the "Access level".';
$string['dropbox:view'] = 'View a Dropbox folder';
$string['logoutdesc'] = '(Logout when you finish using Dropbox)';
+2
View File
@@ -132,6 +132,8 @@ class repository_dropbox extends repository {
$list['manage'] = false;
$list['dynload'] = true;
$list['nosearch'] = true;
$list['logouturl'] = 'https://www.dropbox.com/logout';
$list['message'] = get_string('logoutdesc', 'repository_dropbox');
// process breadcrumb trail
$list['path'] = array(
array('name'=>get_string('dropbox', 'repository_dropbox'), 'path'=>'/')
+10
View File
@@ -844,6 +844,8 @@ M.core_filepicker.init = function(Y, options) {
this.active_repo.norefresh = data.norefresh?true:false;
this.active_repo.nologin = data.nologin?true:false;
this.active_repo.logouttext = data.logouttext?data.logouttext:null;
this.active_repo.logouturl = (data.logouturl || '');
this.active_repo.message = (data.message || '');
this.active_repo.help = data.help?data.help:null;
this.active_repo.manage = data.manage?data.manage:null;
},
@@ -1346,6 +1348,9 @@ M.core_filepicker.init = function(Y, options) {
scope.print_login(obj);
}
}, true);
if (this.active_repo.logouturl) {
window.open(this.active_repo.logouturl, 'repo_auth', 'location=0,status=0,width=500,height=300,scrollbars=yes');
}
}, this);
toolbar.appendChild(logout);
}
@@ -1364,6 +1369,11 @@ M.core_filepicker.init = function(Y, options) {
help.innerHTML = '<img src="'+M.util.image_url('a/help')+'" /> '+M.str.repository.help;
toolbar.appendChild(help);
}
if(r.message) {
var msg = document.createElement('div');
msg.innerHTML = r.message;
toolbar.appendChild(msg);
}
this.print_path();
},
+3
View File
@@ -815,6 +815,9 @@ abstract class repository {
$ft = new filetype_parser();
if (isset($args['accepted_types'])) {
$accepted_types = $args['accepted_types'];
if (is_array($accepted_types) && in_array('*', $accepted_types)) {
$accepted_types = '*';
}
} else {
$accepted_types = '*';
}
+2 -2
View File
@@ -30,10 +30,10 @@
defined('MOODLE_INTERNAL') || die();
$version = 2011070107.00; // 20110701 = branching date YYYYMMDD - do not modify!
$version = 2011070110.00; // 20110701 = branching date YYYYMMDD - do not modify!
// RR = release increments - 00 in DEV branches
// .XX = incremental changes
$release = '2.1.7 (Build: 20120706)'; // Human-friendly version name
$release = '2.1.10 (Build: 20130114)'; // Human-friendly version name
$maturity = MATURITY_STABLE; // this version's maturity level
+2 -2
View File
@@ -976,7 +976,7 @@ abstract class webservice_zend_server extends webservice_server {
FROM {external_services} s
JOIN {external_services_functions} sf ON (sf.externalserviceid = s.id AND s.restrictedusers = 1)
JOIN {external_services_users} su ON (su.externalserviceid = s.id AND su.userid = :userid)
WHERE s.enabled = 1 AND su.validuntil IS NULL OR su.validuntil < :now $wscond2";
WHERE s.enabled = 1 AND (su.validuntil IS NULL OR su.validuntil < :now) $wscond2";
$params = array_merge($params, array('userid'=>$USER->id, 'now'=>time()));
@@ -1458,7 +1458,7 @@ abstract class webservice_base_server extends webservice_server {
FROM {external_services} s
JOIN {external_services_functions} sf ON (sf.externalserviceid = s.id AND s.restrictedusers = 1 AND sf.functionname = :name2)
JOIN {external_services_users} su ON (su.externalserviceid = s.id AND su.userid = :userid)
WHERE s.enabled = 1 AND su.validuntil IS NULL OR su.validuntil < :now $wscond2";
WHERE s.enabled = 1 AND (su.validuntil IS NULL OR su.validuntil < :now) $wscond2";
$params = array_merge($params, array('userid'=>$USER->id, 'name1'=>$function->name, 'name2'=>$function->name, 'now'=>time()));
$rs = $DB->get_recordset_sql($sql, $params);