Compare commits
543 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 07cd3ecabd | |||
| 1d68f3cd73 | |||
| 23290eea4d | |||
| f050e82eb6 | |||
| 8aa669ca72 | |||
| 8abba9e902 | |||
| 023dc2c338 | |||
| 11db0ce1ec | |||
| c9379ddbaa | |||
| 2bd2bb878d | |||
| fe8aad143d | |||
| cae4cdb309 | |||
| 8809ff2b35 | |||
| 6bea13a914 | |||
| 0e04dc36c2 | |||
| 68d924ce8a | |||
| bf5cc256fd | |||
| 247958fbe9 | |||
| bf4fe92223 | |||
| 9bcbf6a743 | |||
| 7c84c844f9 | |||
| 676dbd7285 | |||
| 81ac2c8630 | |||
| 55f9f1432f | |||
| 9f476e5fe2 | |||
| 4663bd9f09 | |||
| bde6d304f9 | |||
| 764d44c11e | |||
| c2c3f6e885 | |||
| 22f8303fc7 | |||
| b0cfc7cbd5 | |||
| 118a639ff3 | |||
| f4989ae561 | |||
| 4ff82c1505 | |||
| e2a7235da8 | |||
| 062c59e346 | |||
| 3cc55cab9e | |||
| 3742f86ac1 | |||
| 9a28eacb84 | |||
| 446b5e025c | |||
| 5c89371717 | |||
| 2b27d0a946 | |||
| 15ef45da52 | |||
| 3444317011 | |||
| e17d507d5a | |||
| 7db37fd580 | |||
| 6497764c84 | |||
| 37829534f6 | |||
| 554fbddf7d | |||
| 529d7f47bf | |||
| 45b3a8554a | |||
| 8f3d4e4ef5 | |||
| a067240cbf | |||
| ef2f763ee8 | |||
| 56d3da5a01 | |||
| 1aa8ff170f | |||
| 8ec088f738 | |||
| e7c13fcb46 | |||
| 343a1ea8e0 | |||
| 216237369e | |||
| 10fc5f6e22 | |||
| 462f360429 | |||
| c0ea84fbf3 | |||
| 3a6b6c0d74 | |||
| 64aa333345 | |||
| ea41587638 | |||
| fbadfe0295 | |||
| 4b1edf80c1 | |||
| 1286c71e5a | |||
| 62eefc5487 | |||
| aafc01514e | |||
| 671b83e238 | |||
| 0197c39ba1 | |||
| 40168efe75 | |||
| dfa4162d8a | |||
| 0c05267ff4 | |||
| 992c135e19 | |||
| b3c7ea0c94 | |||
| 1e281f706a | |||
| 9ae0b39497 | |||
| 137fcd2015 | |||
| 7ccfee94ad | |||
| 5e7ee078a9 | |||
| 28dcf434c6 | |||
| 0042320984 | |||
| 8da1406e3a | |||
| 0ef8d9cab6 | |||
| d55f1be549 | |||
| d4097a429c | |||
| 9b4327c71d | |||
| 097eb89c65 | |||
| 8c21e87a7b | |||
| 253f9eee33 | |||
| bb803227f1 | |||
| f0d60d1631 | |||
| 99c4cc6fdf | |||
| 58e24e2f1a | |||
| bca26abf4c | |||
| 9241a50fb7 | |||
| 6d1bb31cda | |||
| 661406a466 | |||
| cd57295a36 | |||
| 6acef6e30b | |||
| 1610eb0f85 | |||
| 6cf7303684 | |||
| 4ed23b4f9e | |||
| fabdbdb3f6 | |||
| 43e2896e63 | |||
| 025451ff7d | |||
| cafaa207ef | |||
| e59461215d | |||
| 0ebee25007 | |||
| ce197abbef | |||
| 9036033b8a | |||
| 81bf069328 | |||
| 9ff8ae7953 | |||
| 4527713fdc | |||
| ae4dc90cb7 | |||
| 7ab78c274b | |||
| 20f08456a8 | |||
| 94bbc1f5e2 | |||
| 4610edf1b6 | |||
| 847da17ddb | |||
| f3fa18a199 | |||
| 8b85c2cf5d | |||
| c309cf8612 | |||
| 2685a2eee1 | |||
| 416622f005 | |||
| 8f95983a3e | |||
| 0a16e0f268 | |||
| 37646f6f0e | |||
| aa7b876f03 | |||
| 16f89f2ccf | |||
| 524e369670 | |||
| c72ab7a328 | |||
| c74677ca95 | |||
| 0f8c983585 | |||
| 59a6d971a4 | |||
| 45e948f87e | |||
| c0226d096a | |||
| aaf3348589 | |||
| 158c4b5c80 | |||
| a3eba6f2d2 | |||
| 8d7e790de7 | |||
| ed289f97e5 | |||
| 5d7ce9bf29 | |||
| fbb5ad35e7 | |||
| 9e2df8519a | |||
| e4cc5dbc7f | |||
| 34e92f9b8b | |||
| 6e2284138b | |||
| 73a4864b82 | |||
| 1a6a597fff | |||
| 9df49de633 | |||
| 404d380856 | |||
| cbc0bc50b1 | |||
| ae767e7bd3 | |||
| 2ccbd6ccf1 | |||
| 8dbf6bb9e0 | |||
| 652fab8576 | |||
| 31942aff61 | |||
| 5006792896 | |||
| 786542c572 | |||
| edaaa46655 | |||
| c0bea40aaf | |||
| 7dd535056e | |||
| 555bfa16d0 | |||
| 470be2688b | |||
| 135d93ec9e | |||
| 75943600ed | |||
| 7fd3f594da | |||
| 55904e49dc | |||
| 4c5da8022e | |||
| 2f47a361ff | |||
| 9197627ade | |||
| 4b168cfabc | |||
| ffa6c35826 | |||
| b0e924a51e | |||
| 58a9623c54 | |||
| 1bde9b823c | |||
| 76eea68b9e | |||
| 8c0a6839f2 | |||
| a1f951f3a4 | |||
| 72449953e4 | |||
| f359daab58 | |||
| b33888d124 | |||
| 1a5e85a22c | |||
| 0dd1becdc7 | |||
| 61e35a87da | |||
| 0c34a17b09 | |||
| 52f24bfec6 | |||
| b2787982b7 | |||
| 8f4c3dae23 | |||
| a8c2fc5dee | |||
| a3b2f4cbeb | |||
| 1e066cbf29 | |||
| 79dd326093 | |||
| 1f775e8c46 | |||
| 7b6c65a560 | |||
| c935b991a1 | |||
| 28ca56c93d | |||
| ec3200262d | |||
| 8539018ed4 | |||
| 245de1a597 | |||
| 3fdd49a75a | |||
| 3ff6c931ee | |||
| c7da0d864e | |||
| e97c7b28c5 | |||
| 2ffbe91234 | |||
| 4f3835b601 | |||
| 445a3c1233 | |||
| 4989bc7951 | |||
| 8eb102ff1c | |||
| 9b6cf38c96 | |||
| 203743c638 | |||
| c691deff3a | |||
| bf01ed8211 | |||
| 93cc66aeae | |||
| f103bb199e | |||
| 476f7cc8ee | |||
| e9a1bffc8f | |||
| 377d7c7515 | |||
| 7bc643ebaf | |||
| 184f9c2b66 | |||
| 93fa4ca922 | |||
| 552de335d0 | |||
| 9e6e743dfc | |||
| f9bbb1031e | |||
| 290b74fd49 | |||
| 7122026066 | |||
| 70cade16e3 | |||
| 9146dd83de | |||
| 9e162a23da | |||
| 3df033ca4a | |||
| 5241345d02 | |||
| 62cf504bdd | |||
| cf47a79c1d | |||
| 12e91437f3 | |||
| a065fdd6f9 | |||
| e0ddea8b8f | |||
| d7df238204 | |||
| db2105c889 | |||
| 367dfbd905 | |||
| b17e52001c | |||
| 153fd875b5 | |||
| a43dc9df02 | |||
| f9f150290f | |||
| 8779cb8b46 | |||
| d7378d19ec | |||
| 6219022575 | |||
| d9ec40f57f | |||
| ea790c7db1 | |||
| f0403cbba2 | |||
| 88b5f9b726 | |||
| 4d0ec2a375 | |||
| 7cb4fb6a88 | |||
| 504317a519 | |||
| 110351a2a6 | |||
| 9599ee24b9 | |||
| 78baa1aaad | |||
| 1f4025a70e | |||
| 7e147392e1 | |||
| b7f0d27621 | |||
| 0428d11d76 | |||
| b5a5a482bd | |||
| 699768ebbc | |||
| 6bd9066b7f | |||
| 6af4e1c8c4 | |||
| a5c41b6a5a | |||
| 0bffc5576e | |||
| 21982b71a6 | |||
| 41a5c34f91 | |||
| d08b6757e6 | |||
| dfeb385672 | |||
| b36064f742 | |||
| 3dfb5e4379 | |||
| 7f9f7ec944 | |||
| 1828849b1e | |||
| ff7253c2c1 | |||
| 52257f15d7 | |||
| 4c1af19cf6 | |||
| 48a2b5ad42 | |||
| 9e8cabd7eb | |||
| e28cc09b24 | |||
| 6282be2fd9 | |||
| e6b8565063 | |||
| bce83e8c76 | |||
| e2bf5eec99 | |||
| 87ab475575 | |||
| 9022696d6d | |||
| 418cc2032b | |||
| 25769ccd61 | |||
| d0e6183436 | |||
| ca3c1ddf40 | |||
| ec9f7c117e | |||
| 7f0984c1f3 | |||
| dc8207c52a | |||
| 4419fe33a5 | |||
| ba0dabcc31 | |||
| 3810ca294d | |||
| f493763e04 | |||
| 3140dc600d | |||
| 30739f6651 | |||
| 071d36c917 | |||
| 0540d3479c | |||
| 721a2de984 | |||
| 78d68eb5b2 | |||
| 5c5cb3ec7e | |||
| b06855297c | |||
| dbd0f586a2 | |||
| eb2a36fb55 | |||
| a45296043e | |||
| 4bf57cbfa6 | |||
| 43d78a231d | |||
| 45d44e7e80 | |||
| ff6bc9fbc2 | |||
| 4bdf76ae71 | |||
| 97feab527e | |||
| 903f3f54ed | |||
| a1fec0e3ce | |||
| e07f4ac436 | |||
| 25a37d70ff | |||
| 5446beaa73 | |||
| cb6281b339 | |||
| 3696a3723e | |||
| 8fa821d514 | |||
| 9bb4b97e3d | |||
| 87c39bf549 | |||
| 91f54796bd | |||
| fd52f257ff | |||
| 94c9630d78 | |||
| 84718c0056 | |||
| 0a16d1722a | |||
| abb8f34ecf | |||
| 8af16cbfdb | |||
| 54c5ce36db | |||
| 0b17d072cf | |||
| cd4469af52 | |||
| 01d0a4f289 | |||
| 8f8f6e7c92 | |||
| 90fe299739 | |||
| bceb6eb9d8 | |||
| 7989f2ee28 | |||
| 78a0f36730 | |||
| b2a48214f8 | |||
| 76d9513015 | |||
| 4d89cba698 | |||
| e8189c3074 | |||
| af17ae8a1b | |||
| 8626d4bc24 | |||
| f0b99a9fec | |||
| fcb9e23701 | |||
| ab496d313c | |||
| 0e53408ad7 | |||
| 4b1f48e2ae | |||
| 5530732c16 | |||
| 5b4e26864a | |||
| 1081ccc99b | |||
| c0ad0e5a98 | |||
| b6db8ab49d | |||
| ce455a9a79 | |||
| b6d3fccd59 | |||
| 78be3cdb8b | |||
| 837588a772 | |||
| f398c77963 | |||
| 2fd2fdbdb9 | |||
| 92d3d576fb | |||
| ef06f7f85b | |||
| e7a5ad8da9 | |||
| d8882ec822 | |||
| e21f0b1042 | |||
| b6057d4afa | |||
| bf18b2aa09 | |||
| db365a121d | |||
| d243cd17c5 | |||
| 01be5c29cc | |||
| 1ac2df9163 | |||
| 800fa68224 | |||
| 4876f94726 | |||
| c5c47d0c43 | |||
| 731f877fdb | |||
| acb417721d | |||
| 60f8f5bf42 | |||
| df18c3141e | |||
| 4edc434002 | |||
| 3ce66e9f7b | |||
| fb3501f935 | |||
| 757d66b504 | |||
| 9861a3997a | |||
| e05e5d132e | |||
| 6488b3be2e | |||
| 748e20f006 | |||
| da0dcaef1b | |||
| 9babd808f8 | |||
| 57c07037a7 | |||
| 2eb862ba18 | |||
| e5c482b517 | |||
| 61c7621b80 | |||
| 595687a2f1 | |||
| 6e2e65e499 | |||
| 997a36bb09 | |||
| 8b03cdac79 | |||
| 6b0bfc914c | |||
| 9f5ceda372 | |||
| d550a1409b | |||
| e56a129d56 | |||
| 9a8d870765 | |||
| be724f381e | |||
| c6a0fc48df | |||
| 61e6471fce | |||
| 3ad11e88b2 | |||
| 156f63c804 | |||
| ca9de648a8 | |||
| 66d6716a02 | |||
| 19906f7074 | |||
| b8dececceb | |||
| 068be51fa0 | |||
| 85a430d5be | |||
| 3b00cdbff0 | |||
| 9e0bad4909 | |||
| b430f84c4c | |||
| 014161956c | |||
| 5f842b21bd | |||
| ca3a97b8c1 | |||
| 5b6af116c1 | |||
| a9fd5db642 | |||
| 2f26b36af3 | |||
| c2fe49c5e7 | |||
| 7df5ccc871 | |||
| cf507be4c0 | |||
| 9e8bc0e590 | |||
| b50965414e | |||
| f2592eb65e | |||
| e9d837a1a2 | |||
| a650e7bb3a | |||
| 974dde3777 | |||
| 0ba544e97d | |||
| 72395f4d2a | |||
| 74780decb8 | |||
| f167056a18 | |||
| 375016e822 | |||
| ec6c6dae3f | |||
| 463b6cbe64 | |||
| 08f4e03f53 | |||
| 593d5992c0 | |||
| 671a35735b | |||
| c7bbf43c12 | |||
| 8dd4116941 | |||
| 821a2a750b | |||
| 4351ce8a6b | |||
| d97feb678a | |||
| 1f49b80193 | |||
| 2edb2fbaf1 | |||
| 7aa8c1329f | |||
| 04f64ffbe0 | |||
| bdc1bb3358 | |||
| 8e42353e0e | |||
| 1ab3830750 | |||
| 45ce915b79 | |||
| 2a28db59c3 | |||
| f18d2309fb | |||
| bc516d11c1 | |||
| 75ee3dfa69 | |||
| 7dac46e80c | |||
| 23cbd7e82b | |||
| e2612a5522 | |||
| 41fd2c3924 | |||
| 7020a2ac33 | |||
| cf3f87a641 | |||
| 2500eb7ead | |||
| 0115262560 | |||
| 7c944b7cbe | |||
| e264752381 | |||
| 075f61025c | |||
| 085fecaf86 | |||
| 970d2432d7 | |||
| 0d8057b119 | |||
| 2786c8fd73 | |||
| e1555199db | |||
| 6defede491 | |||
| 47e1151f92 | |||
| e8dc4c6cb1 | |||
| db8598ca48 | |||
| b0252a5c00 | |||
| 47cc07674c | |||
| 29f26fd747 | |||
| 9c336062b7 | |||
| 594f4f574a | |||
| 3802128b59 | |||
| 657ed64b03 | |||
| b39a349ec4 | |||
| 8c30f7fc26 | |||
| 81de99d733 | |||
| 7235680eed | |||
| ce5a0d7b65 | |||
| 89719f7030 | |||
| 1d03d41680 | |||
| de161d3c49 | |||
| 509b0c983d | |||
| 877d109b01 | |||
| dc5ea21614 | |||
| 4a08d3bac9 | |||
| f555bfac15 | |||
| 5fb8a656c1 | |||
| bfc8a717df | |||
| b65b99cab8 | |||
| 296f9b6a82 | |||
| 7409a0e99a | |||
| f08318d7fb | |||
| 890cdce488 | |||
| 5a739340da | |||
| 751ad21e9c | |||
| a9a72d76f9 | |||
| 31e0c05036 | |||
| 2a0d5695b3 | |||
| cf9281719f | |||
| 8cde300d8c | |||
| 50d1bd1c2a | |||
| 58cac329b7 | |||
| 011dd960f4 | |||
| 0389288693 | |||
| e5b094bed6 | |||
| 4a0d23143a | |||
| bdd5bba791 | |||
| 1159927f08 | |||
| b9a69f5b1f | |||
| 947e63afb8 | |||
| d221dc7482 | |||
| 14da408e08 | |||
| 4ca9e54f7f | |||
| 154877b2ff | |||
| 303c064224 | |||
| e521d0f799 | |||
| 4d4b237efb | |||
| 727929f1fa | |||
| 26e8b7a96e | |||
| 4d59b9d9fa | |||
| 7c018f428c | |||
| 3c3ff8ace3 | |||
| 70c6b92b97 | |||
| b27229da41 | |||
| 0801278026 | |||
| d9bda8a421 |
+23
-2
@@ -62,6 +62,9 @@
|
||||
@header('Content-Type: text/plain; charset='.current_charset());
|
||||
}
|
||||
|
||||
/// increase memory limit (PHP 5.2 does different calculation, we need more memory now)
|
||||
@raise_memory_limit('128M');
|
||||
|
||||
/// Start output log
|
||||
|
||||
$timenow = time();
|
||||
@@ -84,6 +87,8 @@
|
||||
mtrace("Error: could not update timestamp for $mod->fullname");
|
||||
}
|
||||
}
|
||||
/// Reset possible changes by modules to time_limit. MDL-11597
|
||||
@set_time_limit(0);
|
||||
mtrace("done.");
|
||||
}
|
||||
}
|
||||
@@ -108,19 +113,35 @@
|
||||
mtrace('Error: could not update timestamp for '.$block->name);
|
||||
}
|
||||
}
|
||||
/// Reset possible changes by blocks to time_limit. MDL-11597
|
||||
@set_time_limit(0);
|
||||
mtrace('done.');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
mtrace("Finished blocks");
|
||||
mtrace('Finished blocks');
|
||||
|
||||
if (!empty($CFG->langcache)) {
|
||||
mtrace('Updating languages cache');
|
||||
get_list_of_languages();
|
||||
}
|
||||
|
||||
mtrace('Removing expired enrolments ...', ''); // See MDL-8785
|
||||
$timenow = time();
|
||||
if ($oldenrolments = get_records_select('role_assignments', "timeend > 0 AND timeend < '$timenow'")) {
|
||||
mtrace(count($oldenrolments).' to delete');
|
||||
foreach ($oldenrolments as $oldenrolment) {
|
||||
if (role_unassign($oldenrolment->roleid, $oldenrolment->userid, 0, $oldenrolment->contextid)) {
|
||||
mtrace("Deleted expired role assignment $oldenrolment->roleid for user $oldenrolment->userid from context $oldenrolment->contextid");
|
||||
}
|
||||
}
|
||||
mtrace('Done');
|
||||
} else {
|
||||
mtrace('none found');
|
||||
}
|
||||
|
||||
|
||||
/// Run all core cron jobs, but not every time since they aren't too important.
|
||||
/// These don't have a timer to reduce load, so we'll use a random number
|
||||
@@ -235,7 +256,7 @@
|
||||
//Execute backup's cron
|
||||
//Perhaps a long time and memory could help in large sites
|
||||
@set_time_limit(0);
|
||||
@raise_memory_limit("128M");
|
||||
@raise_memory_limit("192M");
|
||||
if (function_exists('apache_child_terminate')) {
|
||||
// if we are running from Apache, give httpd a hint that
|
||||
// it can recycle the process after it's done. Apache's
|
||||
|
||||
@@ -104,4 +104,73 @@
|
||||
</PHP_EXTENSION>
|
||||
</PHP_EXTENSIONS>
|
||||
</MOODLE>
|
||||
<MOODLE version="1.9">
|
||||
<UNICODE level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="unicoderequired" />
|
||||
</FEEDBACK>
|
||||
</UNICODE>
|
||||
<DATABASE level="required">
|
||||
<VENDOR name="mysql" version="4.1.16">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="mysql416required" />
|
||||
</FEEDBACK>
|
||||
<BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
|
||||
</VENDOR>
|
||||
<VENDOR name="postgres" version="8.0" />
|
||||
<VENDOR name="mssql" version="9.0" />
|
||||
<VENDOR name="odbc_mssql" version="9.0" />
|
||||
<VENDOR name="mssql_n" version="9.0" />
|
||||
<VENDOR name="oracle" version="9.0" />
|
||||
</DATABASE>
|
||||
<PHP version="4.3.0" level="required">
|
||||
<RESTRICT function="restrict_php50_version" message="php50restricted" />
|
||||
</PHP>
|
||||
<PHP_EXTENSIONS>
|
||||
<PHP_EXTENSION name="iconv" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="iconvrecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="mbstring" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="mbstringrecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
</PHP_EXTENSIONS>
|
||||
</MOODLE>
|
||||
<MOODLE version="2.0">
|
||||
<UNICODE level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="unicoderequired" />
|
||||
</FEEDBACK>
|
||||
</UNICODE>
|
||||
<DATABASE level="required">
|
||||
<VENDOR name="mysql" version="4.1.16">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="mysql416required" />
|
||||
</FEEDBACK>
|
||||
<BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
|
||||
</VENDOR>
|
||||
<VENDOR name="postgres" version="8.0" />
|
||||
<VENDOR name="mssql" version="9.0" />
|
||||
<VENDOR name="odbc_mssql" version="9.0" />
|
||||
<VENDOR name="mssql_n" version="9.0" />
|
||||
<VENDOR name="oracle" version="9.0" />
|
||||
</DATABASE>
|
||||
<PHP version="5.2.0" level="required">
|
||||
</PHP>
|
||||
<PHP_EXTENSIONS>
|
||||
<PHP_EXTENSION name="iconv" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="iconvrecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="mbstring" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="mbstringrecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
</PHP_EXTENSIONS>
|
||||
</MOODLE>
|
||||
</COMPATIBILITY_MATRIX>
|
||||
|
||||
+2
-4
@@ -59,10 +59,10 @@
|
||||
// run through submitted data
|
||||
// reject if does not start with filter_
|
||||
foreach ($config as $name => $value) {
|
||||
set_config( $name,$value );
|
||||
set_config($name, stripslashes($value));
|
||||
}
|
||||
}
|
||||
redirect( "$CFG->wwwroot/$CFG->admin/filters.php", get_string('changessaved'), 1);
|
||||
redirect("$CFG->wwwroot/$CFG->admin/filters.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -94,7 +94,5 @@
|
||||
<?php
|
||||
print_simple_box_end();
|
||||
|
||||
print_simple_box_end();
|
||||
|
||||
admin_externalpage_print_footer($adminroot);
|
||||
?>
|
||||
|
||||
+27
-16
@@ -27,6 +27,7 @@
|
||||
|
||||
$id = optional_param('id', '', PARAM_ALPHANUM);
|
||||
$confirmupgrade = optional_param('confirmupgrade', 0, PARAM_BOOL);
|
||||
$confirmrelease = optional_param('confirmrelease', 0, PARAM_BOOL);
|
||||
$agreelicence = optional_param('agreelicence',0, PARAM_BOOL);
|
||||
$ignoreupgradewarning = optional_param('ignoreupgradewarning', 0, PARAM_BOOL);
|
||||
|
||||
@@ -224,13 +225,36 @@
|
||||
|
||||
if (empty($confirmupgrade)) {
|
||||
|
||||
|
||||
print_header($strdatabasechecking, $stradministration, $strdatabasechecking,
|
||||
"", "", false, " ", " ");
|
||||
|
||||
notice_yesno(get_string('upgradesure', 'admin', $a->newversion), 'index.php?confirmupgrade=yes', 'index.php');
|
||||
exit;
|
||||
|
||||
} else if (empty($confirmrelease)) {
|
||||
$strcurrentrelease = get_string("currentrelease");
|
||||
print_header($strcurrentrelease, $strcurrentrelease, $strcurrentrelease, "", "", false, " ", " ");
|
||||
print_heading("Moodle $release");
|
||||
print_simple_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'), 'center');
|
||||
|
||||
require_once($CFG->libdir.'/environmentlib.php');
|
||||
print_heading(get_string('environment', 'admin'));
|
||||
if (!check_moodle_environment($release, $environment_results, true)) {
|
||||
notice_yesno(get_string('environmenterrorupgrade', 'admin'),
|
||||
'index.php?confirmupgrade=1&confirmrelease=1', 'index.php');
|
||||
} else {
|
||||
notify(get_string('environmentok', 'admin'), 'notifysuccess');
|
||||
|
||||
echo '<form action="index.php">';
|
||||
echo '<input type="hidden" name="confirmupgrade" value="1" />';
|
||||
echo '<input type="hidden" name="confirmrelease" value="1" />';
|
||||
echo '<div class="continuebutton"><input type="submit" value="'.get_string('continue').'" /></div>';
|
||||
echo '</form>';
|
||||
}
|
||||
|
||||
print_footer('none');
|
||||
exit;
|
||||
|
||||
} else {
|
||||
$strdatabasesuccess = get_string("databasesuccess");
|
||||
print_header($strdatabasechecking, $stradministration, $strdatabasechecking,
|
||||
@@ -297,13 +321,9 @@
|
||||
/// Updated human-readable release version if necessary
|
||||
|
||||
if ($release <> $CFG->release) { // Update the release version
|
||||
$strcurrentrelease = get_string("currentrelease");
|
||||
print_header($strcurrentrelease, $strcurrentrelease, $strcurrentrelease, "", "", false, " ", " ");
|
||||
print_heading("Moodle $release");
|
||||
if (!set_config("release", $release)) {
|
||||
notify("ERROR: Could not update release version in database!!");
|
||||
error("ERROR: Could not update release version in database!!");
|
||||
}
|
||||
notice(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'), 'index.php', 'none');
|
||||
}
|
||||
|
||||
/// Find and check all main modules and load them up or upgrade them if necessary
|
||||
@@ -399,7 +419,7 @@
|
||||
|
||||
/// Define the unique site ID code if it isn't already
|
||||
if (empty($CFG->siteidentifier)) { // Unique site identification code
|
||||
set_config('siteidentifier', random_string(32));
|
||||
set_config('siteidentifier', random_string(32).$_SERVER['HTTP_HOST']);
|
||||
}
|
||||
|
||||
/// Check if the guest user exists. If not, create one.
|
||||
@@ -528,15 +548,6 @@
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
|
||||
if (optional_param('dbmigrate')) { // ??? Is this actually used?
|
||||
print_simple_box_start('center','60%');
|
||||
require_once($CFG->dirroot.'/'.$CFG->admin.'/utfdbmigrate.php');
|
||||
db_migrate2utf8();
|
||||
print_simple_box_end();
|
||||
}
|
||||
|
||||
|
||||
admin_externalpage_print_footer($adminroot);
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -168,7 +168,7 @@
|
||||
$settings = "";
|
||||
}
|
||||
|
||||
$count = count_records("$module->name");
|
||||
$count = count_records_select("$module->name",'course<>0');
|
||||
|
||||
if ($module->visible) {
|
||||
$visible = "<a href=\"modules.php?hide=$module->name&sesskey=$USER->sesskey\" title=\"$strhide\">".
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ function online_assignment_cleanup($output=false) {
|
||||
|
||||
|
||||
/// get a list of all courses on this site
|
||||
$courses = get_courses();
|
||||
$courses = get_records('course');
|
||||
|
||||
/// cycle through each course
|
||||
foreach ($courses as $course) {
|
||||
|
||||
+22
-10
@@ -23,14 +23,30 @@
|
||||
document.assignform.remove.disabled=false;
|
||||
document.assignform.addselect.selectedIndex=-1;" />
|
||||
<?php
|
||||
foreach ($contextusers as $contextuser) {
|
||||
$fullname = fullname($contextuser, true);
|
||||
echo "<option value=\"$contextuser->id\">".$fullname.", ".$contextuser->email."</option>\n";
|
||||
}
|
||||
$i = 0;
|
||||
foreach ($contextusers as $contextuser) {
|
||||
$fullname = fullname($contextuser, true);
|
||||
if ($contextuser->hidden) {
|
||||
$hidden=' ('.get_string('hiddenassign').') ';
|
||||
} else {
|
||||
$hidden="";
|
||||
}
|
||||
echo "<option value=\"$contextuser->id\">".$fullname.", ".$contextuser->email.$hidden."</option>\n";
|
||||
$i++;
|
||||
}
|
||||
if ($i==0) {
|
||||
echo '<option/>'; // empty select breaks xhtml strict
|
||||
}
|
||||
?>
|
||||
|
||||
</select></td>
|
||||
<td valign="top">
|
||||
<label title="<?php print_string('hiddenassign') ?>">
|
||||
<input type="checkbox" name="hidden" value="1" />
|
||||
<img src="<?php echo $CFG->pixpath; ?>/t/hide.gif" alt="<?php print_string('hiddenassign') ?>" class="hide-show-image" /> <?
|
||||
helpbutton ('hiddenassign', get_string('hiddenassign'));
|
||||
?>
|
||||
</label>
|
||||
<br />
|
||||
<input name="add" type="submit" id="add" value="←" />
|
||||
<br />
|
||||
@@ -46,13 +62,11 @@
|
||||
|
||||
if (!empty($searchtext)) {
|
||||
echo "<optgroup label=\"$strsearchresults (" . $availableusers->_numOfRows . ")\">\n";
|
||||
while (! $availableusers->EOF) {
|
||||
$user = $availableusers->FetchObj();
|
||||
while ($user = rs_fetch_next_record($availableusers)) {
|
||||
if (!isset($contextusers[$user->id])) {
|
||||
$fullname = fullname($user, true);
|
||||
echo "<option value=\"$user->id\">".$fullname.", ".$user->email."</option>\n";
|
||||
}
|
||||
$availableusers->MoveNext();
|
||||
}
|
||||
echo "</optgroup>\n";
|
||||
|
||||
@@ -61,13 +75,11 @@
|
||||
echo '<optgroup label="'.get_string('toomanytoshow').'"><option></option></optgroup>'."\n"
|
||||
.'<optgroup label="'.get_string('trysearching').'"><option></option></optgroup>'."\n";
|
||||
} else {
|
||||
while (! $availableusers->EOF) {
|
||||
$user = $availableusers->FetchObj();
|
||||
while ($user = rs_fetch_next_record($availableusers)) {
|
||||
if (!isset($contextusers[$user->id])) {
|
||||
$fullname = fullname($user, true);
|
||||
echo "<option value=\"$user->id\">".$fullname.", ".$user->email."</option>\n";
|
||||
}
|
||||
$availableusers->MoveNext();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
$topleveladmin = false;
|
||||
|
||||
// we only worry about this if the role has doanything capability at site level
|
||||
if ($adminroles = get_roles_with_capability('moodle/site:doanything', CAP_ALLOW, $sitecontext)) {
|
||||
if ($context->id == $sitecontext->id && $adminroles = get_roles_with_capability('moodle/site:doanything', CAP_ALLOW, $sitecontext)) {
|
||||
foreach ($adminroles as $adminrole) {
|
||||
if ($adminrole->id == $roleid) {
|
||||
$topleveladmin = true;
|
||||
@@ -198,12 +198,16 @@
|
||||
|
||||
print_heading_with_help(get_string('assignroles', 'role'), 'assignroles');
|
||||
|
||||
if ($context->contextlevel==CONTEXT_SYSTEM) {
|
||||
print_simple_box(get_string('globalroleswarning', 'role'));
|
||||
}
|
||||
|
||||
if ($roleid) { /// prints a form to swap roles
|
||||
|
||||
/// Get all existing participants in this context.
|
||||
// Why is this not done with get_users???
|
||||
|
||||
if (!$contextusers = get_role_users($roleid, $context, false, 'u.id, u.firstname, u.lastname, u.email')) {
|
||||
if (!$contextusers = get_role_users($roleid, $context, false, 'u.id, u.firstname, u.lastname, u.email, r.hidden')) {
|
||||
$contextusers = array();
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
$cancel = optional_param('cancel', 0, PARAM_BOOL);
|
||||
|
||||
$sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
|
||||
require_capability('moodle/role:manage', $sitecontext);
|
||||
|
||||
if ($cancel) {
|
||||
redirect('manage.php');
|
||||
|
||||
@@ -123,6 +123,10 @@ $temp = new admin_settingpage('gradebook', get_string('gradebook', 'admin'));
|
||||
$temp->add(new admin_setting_special_gradebookroles());
|
||||
$ADMIN->add('appearance', $temp);
|
||||
|
||||
// new CFG variable for coursemanager (what roles to display)
|
||||
$temp = new admin_settingpage('coursemanager', get_string('coursemanager', 'admin'));
|
||||
$temp->add(new admin_setting_special_coursemanager());
|
||||
$ADMIN->add('appearance', $temp);
|
||||
|
||||
$ADMIN->add('appearance', new admin_externalpage('stickyblocks', get_string('stickyblocks', 'admin'), "$CFG->wwwroot/$CFG->admin/stickyblocks.php"));
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ $temp = new admin_settingpage('locationsettings', get_string('locationsettings',
|
||||
$options = get_list_of_timezones();
|
||||
$options[99] = get_string('serverlocaltime');
|
||||
$temp->add(new admin_setting_configselect('timezone', get_string('timezone','admin'), get_string('configtimezone', 'admin'), 99, $options));
|
||||
$options = get_list_of_timezones();
|
||||
$options[99] = get_string('timezonenotforced', 'admin');
|
||||
$temp->add(new admin_setting_configselect('forcetimezone', get_string('forcetimezone', 'admin'), get_string('helpforcetimezone', 'admin'), 99, $options));
|
||||
$options = get_list_of_countries();
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
$temp = new admin_settingpage('sitepolicies', get_string('sitepolicies', 'admin'));
|
||||
$temp->add(new admin_setting_configcheckbox('protectusernames', get_string('protectusernames', 'admin'), get_string('configprotectusernames', 'admin'), 1));
|
||||
$temp->add(new admin_setting_configcheckbox('forcelogin', get_string('forcelogin', 'admin'), get_string('configforcelogin', 'admin'), 0));
|
||||
$temp->add(new admin_setting_configcheckbox('forceloginforprofiles', get_string('forceloginforprofiles', 'admin'), get_string('configforceloginforprofiles', 'admin'), 0));
|
||||
$temp->add(new admin_setting_configcheckbox('forceloginforprofiles', get_string('forceloginforprofiles', 'admin'), get_string('configforceloginforprofiles', 'admin'), 1));
|
||||
$temp->add(new admin_setting_configcheckbox('opentogoogle', get_string('opentogoogle', 'admin'), get_string('configopentogoogle', 'admin'), 0));
|
||||
$temp->add(new admin_setting_configtext('maxbytes', get_string('maxbytes', 'admin'), get_string('configmaxbytes', 'admin'), 0, PARAM_INT));
|
||||
$temp->add(new admin_setting_configcheckbox('messaging', get_string('messaging', 'admin'), get_string('configmessaging','admin'), 1));
|
||||
|
||||
@@ -17,7 +17,7 @@ $ADMIN->add('accounts', new admin_externalpage('uploadusers', get_string('upload
|
||||
$ADMIN->add('users', new admin_category('roles', get_string('permissions', 'role')));
|
||||
$ADMIN->add('roles', new admin_externalpage('defineroles', get_string('defineroles', 'role'), "$CFG->wwwroot/$CFG->admin/roles/manage.php"));
|
||||
$sitecontext = get_context_instance(CONTEXT_SYSTEM);
|
||||
$ADMIN->add('roles', new admin_externalpage('assignroles', get_string('assignroles', 'role'), "$CFG->wwwroot/$CFG->admin/roles/assign.php?contextid=" . $sitecontext->id));
|
||||
$ADMIN->add('roles', new admin_externalpage('assignroles', get_string('assignglobalroles', 'role'), "$CFG->wwwroot/$CFG->admin/roles/assign.php?contextid=" . $sitecontext->id));
|
||||
|
||||
|
||||
// "userpolicies" settingpage
|
||||
|
||||
@@ -270,7 +270,6 @@ if ($um->preprocess_files() && confirm_sesskey()) {
|
||||
//This can be used to obtain a list of userids for existing users
|
||||
notify("$olduser->id ".get_string('usernotaddedregistered', 'error', $username));
|
||||
$userserrors++;
|
||||
continue;
|
||||
}
|
||||
|
||||
} else { // new user
|
||||
@@ -424,4 +423,3 @@ function my_file_get_contents($filename, $use_include_path = 0) {
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
+7
-2
@@ -86,6 +86,11 @@
|
||||
admin_externalpage_setup('editusers', $adminroot);
|
||||
}
|
||||
|
||||
if (empty($CFG->loginhttps)) {
|
||||
$securewwwroot = $CFG->wwwroot;
|
||||
} else {
|
||||
$securewwwroot = str_replace('http:','https:',$CFG->wwwroot);
|
||||
}
|
||||
|
||||
if ($newuser) { // Create a new user
|
||||
|
||||
@@ -111,7 +116,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
redirect("$CFG->wwwroot/user/edit.php?id=$user->id&course=$site->id");
|
||||
redirect("$securewwwroot/user/edit.php?id=$user->id&course=$site->id");
|
||||
|
||||
} else { // List all users for editing
|
||||
|
||||
@@ -330,7 +335,7 @@
|
||||
}
|
||||
|
||||
if (has_capability('moodle/user:update', $sitecontext)) {
|
||||
$editbutton = "<a href=\"../user/edit.php?id=$user->id&course=$site->id\">$stredit</a>";
|
||||
$editbutton = "<a href=\"$securewwwroot/user/edit.php?id=$user->id&course=$site->id\">$stredit</a>";
|
||||
if ($user->confirmed == 0) {
|
||||
$confirmbutton = "<a href=\"user.php?confirmuser=$user->id&sesskey=$USER->sesskey\">" . get_string('confirm') . "</a>";
|
||||
} else {
|
||||
|
||||
@@ -114,6 +114,8 @@ class test extends XMLDBAction {
|
||||
$table->addIndexInfo('course', XMLDB_INDEX_NOTUNIQUE, array('course'));
|
||||
$table->addIndexInfo('rsstype', XMLDB_INDEX_UNIQUE, array('rsstype'));
|
||||
|
||||
$table->setComment("This is a test'n drop table. You can drop it safely");
|
||||
|
||||
/// Get SQL code and execute it
|
||||
$test = new stdClass;
|
||||
$test->sql = $table->getCreateTableSQL($CFG->dbtype, $CFG->prefix, true);
|
||||
@@ -275,7 +277,7 @@ class test extends XMLDBAction {
|
||||
/// Get SQL code and execute it
|
||||
$test = new stdClass;
|
||||
$field = new XMLDBField('grade');
|
||||
$field->setAttributes(XMLDB_TYPE_CHAR, '20', null, XMLDB_NOTNULL, null, null, null, 'test');
|
||||
$field->setAttributes(XMLDB_TYPE_CHAR, '20', null, XMLDB_NOTNULL, null, null, null, "test'n drop");
|
||||
|
||||
$test->sql = $table->getAlterFieldSQL($CFG->dbtype, $CFG->prefix, $field, true);
|
||||
$test->status = change_field_type($table, $field, false, false);
|
||||
|
||||
@@ -133,7 +133,7 @@ class view_reserved_words extends XMLDBAction {
|
||||
|
||||
/// The textarea showing all the reserved words
|
||||
$o.= ' <table id="formelements" align="center" cellpadding="5">';
|
||||
$o.= ' <tr><td align="center">' . $this->str['listreservedwords'];
|
||||
$o.= ' <tr><td align="center">' . $this->str['listreservedwords'].'</td></tr>';
|
||||
$o.= ' <tr><td><textarea cols="80" rows="32">';
|
||||
$o.= s(implode(', ', $reserved_words));
|
||||
$o.= '</textarea></td></tr>';
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
/// getting "incomplete" objects
|
||||
require_once('../../config.php');
|
||||
require_once($CFG->libdir.'/adminlib.php');
|
||||
require_once($CFG->libdir.'/ddllib.php'); // Install/upgrade related db functions
|
||||
$adminroot = admin_get_root();
|
||||
admin_externalpage_setup('xmldbeditor', $adminroot);
|
||||
|
||||
|
||||
@@ -112,7 +112,3 @@
|
||||
<?php
|
||||
include($CFG->dirroot.'/auth/ldap/config.html');
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -15,4 +15,3 @@
|
||||
print_footer();
|
||||
exit;
|
||||
?>
|
||||
|
||||
|
||||
+7
-4
@@ -106,12 +106,14 @@ function auth_get_userinfo($username){
|
||||
if ($rs = $authdb->Execute("SELECT ".$pcfg["field_map_$field"]." as myfield FROM $CFG->auth_dbtable
|
||||
WHERE $CFG->auth_dbfielduser = '$username'")) {
|
||||
if ( $rs->RecordCount() == 1 ) {
|
||||
$fields_obj = rs_fetch_record($rs);
|
||||
if (!empty($CFG->unicodedb)) {
|
||||
$result["$field"] = addslashes(stripslashes($rs->fields['myfield']));
|
||||
$result["$field"] = addslashes(stripslashes($fields_obj->myfield));
|
||||
} else {
|
||||
$result["$field"] = addslashes(stripslashes(utf8_decode($rs->fields['myfield'])));
|
||||
$result["$field"] = addslashes(stripslashes(utf8_decode($fields_obj->myfield)));
|
||||
}
|
||||
}
|
||||
rs_close($rs);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -351,9 +353,10 @@ function auth_get_userlist() {
|
||||
|
||||
if ( $rs->RecordCount() ) {
|
||||
$userlist = array();
|
||||
while ($rec = $rs->FetchRow()) {
|
||||
array_push($userlist, $rec['username']);
|
||||
while ($rec = rs_fetch_next_record($rs)) {
|
||||
array_push($userlist, $rec->username);
|
||||
}
|
||||
rs_close($rs);
|
||||
return $userlist;
|
||||
} else {
|
||||
return array();
|
||||
|
||||
+32
-7
@@ -1002,15 +1002,33 @@ function auth_user_update_password($username, $newpassword) {
|
||||
. ldap_err2str(ldap_errno($ldapconnection)));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'ad':
|
||||
// Passwords in Active Directory must be encoded as Unicode
|
||||
// strings (UCS-2 Little Endian format) and surrounded with
|
||||
// double quotes. See http://support.microsoft.com/?kbid=269190
|
||||
if (!function_exists('mb_convert_encoding')) {
|
||||
error_log ('You need the mbstring extension to change passwords in Active Directory');
|
||||
return false;
|
||||
}
|
||||
$newpassword = mb_convert_encoding('"'.$newpassword.'"', "UCS-2LE", "auto");
|
||||
$result = ldap_modify($ldapconnection, $user_dn, array('unicodePwd' => $newpassword));
|
||||
if(!$result){
|
||||
error_log('LDAP Error in auth_user_update_password(). Error code: '
|
||||
. ldap_errno($ldapconnection) . '; Error string : '
|
||||
. ldap_err2str(ldap_errno($ldapconnection)));
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
$usedconnection = &$ldapconnection;
|
||||
// send ldap the password in cleartext, it will md5 it itself
|
||||
$result = ldap_modify($ldapconnection, $user_dn, array('userPassword' => $newpassword));
|
||||
if(!$result){
|
||||
error_log('LDAP Error in auth_user_update_password(). Error code: '
|
||||
. ldap_errno($ldapconnection) . '; Error string : '
|
||||
. ldap_err2str(ldap_errno($ldapconnection)));
|
||||
}
|
||||
if(!$result){
|
||||
error_log('LDAP Error in auth_user_update_password(). Error code: '
|
||||
. ldap_errno($ldapconnection) . '; Error string : '
|
||||
. ldap_err2str(ldap_errno($ldapconnection)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1162,8 +1180,10 @@ function auth_ldap_init () {
|
||||
}
|
||||
}
|
||||
//hack prefix to objectclass
|
||||
if ('objectClass=' != substr($CFG->ldap_objectclass, 0, 12)) {
|
||||
$CFG->ldap_objectclass = 'objectClass='.$CFG->ldap_objectclass;
|
||||
if (empty($CFG->ldap_objectclass)) { // Can't send empty filter
|
||||
$CFG->ldap_objectclass = 'objectClass=*';
|
||||
} else if (stripos($CFG->ldap_objectclass, 'objectClass=') !== 0) {
|
||||
$CFG->ldap_objectclass = 'objectClass='.$CFG->ldap_objectclass;
|
||||
}
|
||||
|
||||
//all chages go in $CFG , no need to return value
|
||||
@@ -1318,6 +1338,11 @@ function auth_ldap_connect($binddn='',$bindpwd=''){
|
||||
ldap_set_option($connresult, LDAP_OPT_PROTOCOL_VERSION, $CFG->ldap_version);
|
||||
}
|
||||
|
||||
// Fix MDL-10921
|
||||
if ($this->config->user_type == 'ad') {
|
||||
ldap_set_option($connresult, LDAP_OPT_REFERRALS, 0);
|
||||
}
|
||||
|
||||
if (!empty($binddn)){
|
||||
//bind with search-user
|
||||
//$debuginfo .= 'Using bind user'.$binddn.'and password:'.$bindpwd;
|
||||
|
||||
@@ -47,4 +47,3 @@ function auth_user_login ($username, $password) {
|
||||
$rauth->close();
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
+17
-1
@@ -1736,6 +1736,16 @@
|
||||
|
||||
global $CFG,$preferences;
|
||||
|
||||
//Use one static variable to cache all the require_once calls that,
|
||||
//under PHP5 seems to increase load too much, and we are requiring
|
||||
//them here thousands of times (one per content). MDL-8700.
|
||||
//Once fixed by PHP, we'll delete this hack
|
||||
|
||||
static $includedfiles;
|
||||
if (!isset($includedfiles)) {
|
||||
$includedfiles = array();
|
||||
}
|
||||
|
||||
//Check if preferences is ok. If it isn't set, we are
|
||||
//in a scheduled_backup to we are able to get a copy
|
||||
//from CFG->backup_preferences
|
||||
@@ -1755,8 +1765,14 @@
|
||||
$result = str_replace($search,$replace,$content);
|
||||
|
||||
foreach ($mypreferences->mods as $name => $info) {
|
||||
/// We only include the corresponding backuplib.php if it hasn't been included before
|
||||
/// This will save some load under PHP5. MDL-8700.
|
||||
/// Once fixed by PHP, we'll delete this hack
|
||||
if (!in_array($name, $includedfiles)) {
|
||||
include_once("$CFG->dirroot/mod/$name/backuplib.php");
|
||||
$includedfiles[] = $name;
|
||||
}
|
||||
//Check if the xxxx_encode_content_links exists
|
||||
include_once("$CFG->dirroot/mod/$name/backuplib.php");
|
||||
$function_name = $name."_encode_content_links";
|
||||
if (function_exists($function_name)) {
|
||||
$result = $function_name($result,$mypreferences);
|
||||
|
||||
+3
-2
@@ -7,10 +7,11 @@
|
||||
//Sets a name/value pair in backup_config table
|
||||
function backup_set_config($name, $value) {
|
||||
if (get_field("backup_config", "name", "name", $name)) {
|
||||
return set_field("backup_config", "value", $value, "name", $name);
|
||||
return set_field("backup_config", "value", addslashes($value), "name", $name);
|
||||
} else {
|
||||
$config = new object();
|
||||
$config->name = $name;
|
||||
$config->value = $value;
|
||||
$config->value = addslashes($value);
|
||||
return insert_record("backup_config", $config);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,13 +19,24 @@
|
||||
|
||||
if ($form1 = data_submitted()) {
|
||||
$currentcourseshortname = $course_header->course_shortname; //"store_ShortName";
|
||||
$course_header->course_shortname = $form1->shortname; //"update_ShortName";
|
||||
$course_header->course_fullname = $form1->fullname; //"update_FullName";
|
||||
$form1->startdate = make_timestamp($form1->startyear, $form1->startmonth, $form1->startday);
|
||||
$currentcoursestartdate = $course_header->course_startdate;
|
||||
$coursestartdatedateoffset = $form1->startdate - $currentcoursestartdate;
|
||||
$restore->course_startdateoffset = $coursestartdatedateoffset; //change to restore
|
||||
}
|
||||
$course_header->course_shortname = $form1->shortname; //"update_ShortName";
|
||||
$course_header->course_fullname = $form1->fullname; //"update_FullName";
|
||||
/// Roll dates only if the backup course has a start date
|
||||
/// (some formats like main page, social..., haven't it and rolling dates
|
||||
/// from 0 produces crazy dates. MDL-10125
|
||||
if ($course_header->course_startdate) {
|
||||
$form1->startdate = make_timestamp($form1->startyear, $form1->startmonth, $form1->startday);
|
||||
$currentcoursestartdate = $course_header->course_startdate;
|
||||
$coursestartdatedateoffset = $form1->startdate - $currentcoursestartdate;
|
||||
$restore->course_startdateoffset = $coursestartdatedateoffset; //change to restore
|
||||
} else { // don't roll if the course hasn't start date
|
||||
$coursestartdatedateoffset = 0;
|
||||
$restore->course_startdateoffset = 0;
|
||||
}
|
||||
}
|
||||
|
||||
///Enforce SESSION->course_header rewrite (PHP 4.x needed because assigns are by value) MDL-8298
|
||||
$SESSION->course_header = $course_header;
|
||||
|
||||
//If restore session info exists, but we are coming from the form
|
||||
//it has prioriry
|
||||
|
||||
@@ -54,6 +54,15 @@
|
||||
print_simple_box(get_string("restorefinished"),"center");
|
||||
} else {
|
||||
print_simple_box(get_string("importdatafinished"),"center");
|
||||
$file = $CFG->dataroot . '/'
|
||||
. $SESSION->import_preferences->backup_course
|
||||
. '/backupdata/' . $SESSION->import_preferences->backup_name;
|
||||
if (is_readable($file)) {
|
||||
unlink($file);
|
||||
}
|
||||
else {
|
||||
error_log("import course data: couldn't unlink $file");
|
||||
}
|
||||
unset($SESSION->restore);
|
||||
}
|
||||
print_continue("$CFG->wwwroot/course/view.php?id=".$restore->course_id);
|
||||
|
||||
@@ -201,7 +201,17 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
|
||||
echo "<td align=\"right\"> ";
|
||||
print_string("startdate");
|
||||
echo ":</td><td>";
|
||||
print_date_selector("startday", "startmonth", "startyear", $form1->startdate);
|
||||
/// Show the roll dates option only if the backup course has a start date
|
||||
/// (some formats like main page, social..., haven't it and rolling dates
|
||||
/// from 0 produces crazy dates. MDL-10125
|
||||
if ($form1->startdate) {
|
||||
print_date_selector("startday", "startmonth", "startyear", $form1->startdate);
|
||||
} else {
|
||||
print_string('notavailable');
|
||||
echo '<input type="hidden" name="startyear" value="0" />';
|
||||
echo '<input type="hidden" name="startmonth" value="0" />';
|
||||
echo '<input type="hidden" name="startday" value="0" />';
|
||||
}
|
||||
helpbutton("coursestartdate", get_string("startdate"));
|
||||
echo "</td></tr>";
|
||||
}
|
||||
|
||||
+81
-43
@@ -70,6 +70,8 @@
|
||||
if (!defined('RESTORE_SILENTLY')) {
|
||||
echo "<ul>";
|
||||
}
|
||||
|
||||
// Restore links in modules.
|
||||
foreach ($restore->mods as $name => $info) {
|
||||
//If the module is being restored
|
||||
if (isset($info->restore) && $info->restore == 1) {
|
||||
@@ -85,12 +87,23 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: process all html text also in blocks too
|
||||
|
||||
// Restore links in questions.
|
||||
require_once("$CFG->dirroot/question/restorelib.php");
|
||||
if (!defined('RESTORE_SILENTLY')) {
|
||||
echo '<li>' . get_string('from') . ' ' . get_string('questions', 'quiz');
|
||||
}
|
||||
$status = question_decode_content_links_caller($restore);
|
||||
if (!defined('RESTORE_SILENTLY')) {
|
||||
echo '</li>';
|
||||
}
|
||||
|
||||
if (!defined('RESTORE_SILENTLY')) {
|
||||
echo "</ul>";
|
||||
}
|
||||
|
||||
// TODO: process all html text also in blocks too
|
||||
|
||||
|
||||
return $status;
|
||||
}
|
||||
|
||||
@@ -901,14 +914,18 @@
|
||||
// Yu: This part is called repeatedly for every instance,
|
||||
// so it is necessary to set the granular flag and check isset()
|
||||
// when the first instance of this type of mod is processed.
|
||||
if (!isset($restore->mods[$mod->type]->granular) && isset($restore->mods[$mod->type]->instances) && is_array($restore->mods[$mod->type]->instances)) {
|
||||
// This defines whether we want to restore specific
|
||||
// instances of the modules (granular restore), or
|
||||
// whether we don't care and just want to restore
|
||||
// all module instances (non-granular).
|
||||
$restore->mods[$mod->type]->granular = true;
|
||||
} else {
|
||||
$restore->mods[$mod->type]->granular = false;
|
||||
//if (!isset($restore->mods[$mod->type]->granular) && isset($restore->mods[$mod->type]->instances) && is_array($restore->mods[$mod->type]->instances)) {
|
||||
|
||||
if (!isset($restore->mods[$mod->type]->granular)) {
|
||||
if (isset($restore->mods[$mod->type]->instances) && is_array($restore->mods[$mod->type]->instances)) {
|
||||
// This defines whether we want to restore specific
|
||||
// instances of the modules (granular restore), or
|
||||
// whether we don't care and just want to restore
|
||||
// all module instances (non-granular).
|
||||
$restore->mods[$mod->type]->granular = true;
|
||||
} else {
|
||||
$restore->mods[$mod->type]->granular = false;
|
||||
}
|
||||
}
|
||||
|
||||
//Check if we've to restore this module (and instance)
|
||||
@@ -1111,7 +1128,7 @@
|
||||
if (!$preferencescount) {
|
||||
$continue = false;
|
||||
if (!defined('RESTORE_SILENTLY')) {
|
||||
echo '<li>'.get_string('backupwithoutgradebook','grade').'</li>';
|
||||
echo '<li>'.get_string('backupwithoutgradebook','grades').'</li>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1122,7 +1139,7 @@
|
||||
if ($pref_rec->value == 0) {
|
||||
$continue = false;
|
||||
if (!defined('RESTORE_SILENTLY')) {
|
||||
echo '<li>'.get_string('respectingcurrentdata','grade').'</li>';
|
||||
echo '<li>'.get_string('respectingcurrentdata','grades').'</li>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1138,7 +1155,7 @@
|
||||
//Fetch recordset_size records in each iteration
|
||||
$recs = get_records_select("backup_ids","table_name = 'grade_preferences' AND backup_code = '$restore->backup_unique_code'",
|
||||
"old_id",
|
||||
"old_id, old_id",
|
||||
"old_id",
|
||||
$counter,
|
||||
$recordset_size);
|
||||
if ($recs) {
|
||||
@@ -1192,7 +1209,7 @@
|
||||
//Fetch recordset_size records in each iteration
|
||||
$recs = get_records_select("backup_ids","table_name = 'grade_letter' AND backup_code = '$restore->backup_unique_code'",
|
||||
"old_id",
|
||||
"old_id, old_id",
|
||||
"old_id",
|
||||
$counter,
|
||||
$recordset_size);
|
||||
if ($recs) {
|
||||
@@ -1242,7 +1259,7 @@
|
||||
//Fetch recordset_size records in each iteration
|
||||
$recs = get_records_select("backup_ids","table_name = 'grade_category' AND backup_code = '$restore->backup_unique_code'",
|
||||
"old_id",
|
||||
"old_id, old_id",
|
||||
"old_id",
|
||||
$countercat,
|
||||
$recordset_size);
|
||||
if ($recs) {
|
||||
@@ -1693,7 +1710,7 @@
|
||||
$counter = 0;
|
||||
while ($counter < $unreadcount) {
|
||||
//Fetch recordset_size records in each iteration
|
||||
$recs = get_records_select("backup_ids","table_name = 'message' AND backup_code = '$restore->backup_unique_code'","old_id","old_id, old_id",$counter,$recordset_size);
|
||||
$recs = get_records_select("backup_ids","table_name = 'message' AND backup_code = '$restore->backup_unique_code'","old_id","old_id",$counter,$recordset_size);
|
||||
if ($recs) {
|
||||
foreach ($recs as $rec) {
|
||||
//Get the full record from backup_ids
|
||||
@@ -1758,7 +1775,7 @@
|
||||
$counter = 0;
|
||||
while ($counter < $readcount) {
|
||||
//Fetch recordset_size records in each iteration
|
||||
$recs = get_records_select("backup_ids","table_name = 'message_read' AND backup_code = '$restore->backup_unique_code'","old_id","old_id, old_id",$counter,$recordset_size);
|
||||
$recs = get_records_select("backup_ids","table_name = 'message_read' AND backup_code = '$restore->backup_unique_code'","old_id","old_id",$counter,$recordset_size);
|
||||
if ($recs) {
|
||||
foreach ($recs as $rec) {
|
||||
//Get the full record from backup_ids
|
||||
@@ -1825,7 +1842,7 @@
|
||||
$counter = 0;
|
||||
while ($counter < $contactcount) {
|
||||
//Fetch recordset_size records in each iteration
|
||||
$recs = get_records_select("backup_ids","table_name = 'message_contacts' AND backup_code = '$restore->backup_unique_code'","old_id","old_id, old_id",$counter,$recordset_size);
|
||||
$recs = get_records_select("backup_ids","table_name = 'message_contacts' AND backup_code = '$restore->backup_unique_code'","old_id","old_id",$counter,$recordset_size);
|
||||
if ($recs) {
|
||||
foreach ($recs as $rec) {
|
||||
//Get the full record from backup_ids
|
||||
@@ -1913,14 +1930,7 @@
|
||||
foreach ($info as $category) {
|
||||
//Skip empty categories (some backups can contain them)
|
||||
if (!empty($category->id)) {
|
||||
$catrestore = "restore_question_categories";
|
||||
if (function_exists($catrestore)) {
|
||||
//print_object ($category); //Debug
|
||||
$status = $catrestore($category,$restore);
|
||||
} else {
|
||||
//Something was wrong. Function should exist.
|
||||
$status = false;
|
||||
}
|
||||
$status = restore_question_categories($category,$restore);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2090,7 +2100,18 @@
|
||||
|
||||
//Now search if that group exists (by name and description field) in
|
||||
//restore->course_id course
|
||||
$gro_db = get_record("groups","courseid",$restore->course_id,"name",$gro->name,"description",$gro->description);
|
||||
//Going to compare LOB columns so, use the cross-db sql_compare_text() in both sides.
|
||||
$description_clause = '';
|
||||
if (!empty($gro->description)) { /// Only for groups having a description
|
||||
$literal_description = "'" . $gro->description . "'";
|
||||
$description_clause = " AND " .
|
||||
sql_compare_text('description') . " = " .
|
||||
sql_compare_text($literal_description);
|
||||
}
|
||||
$gro_db = get_record_sql("SELECT *
|
||||
FROM {$CFG->prefix}groups
|
||||
WHERE courseid = $restore->course_id AND
|
||||
name = '{$gro->name}'" . $description_clause);
|
||||
//If it doesn't exist, create
|
||||
if (!$gro_db) {
|
||||
$create_group = true;
|
||||
@@ -2599,7 +2620,7 @@
|
||||
while ($counter < $count_logs) {
|
||||
//Get a chunk of records
|
||||
//Take old_id twice to avoid adodb limitation
|
||||
$logs = get_records_select("backup_ids","table_name = 'log' AND backup_code = '$restore->backup_unique_code'","old_id","old_id,old_id",$counter,$recordset_size);
|
||||
$logs = get_records_select("backup_ids","table_name = 'log' AND backup_code = '$restore->backup_unique_code'","old_id","old_id",$counter,$recordset_size);
|
||||
//We have logs
|
||||
if ($logs) {
|
||||
//Iterate
|
||||
@@ -4411,7 +4432,7 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($this->level == 6 && $this->tree[5]!="ROLE_ASSIGNMENTS" && $this->tree[5]!="ROLE_OVERRIDES") {
|
||||
if ($this->level == 6 && $this->tree[5]!="ROLES_ASSIGNMENTS" && $this->tree[5]!="ROLES_OVERRIDES") {
|
||||
switch ($tagName) {
|
||||
case "ROLE":
|
||||
//We've finalized a role, get it
|
||||
@@ -4426,7 +4447,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->level == 7 && $this->tree[5]!="ROLE_ASSIGNMENTS" && $this->tree[5]!="ROLE_OVERRIDES") {
|
||||
if ($this->level == 7) {
|
||||
switch ($tagName) {
|
||||
case "TYPE":
|
||||
$this->info->temprole->type = $this->getContents();
|
||||
@@ -5825,9 +5846,9 @@
|
||||
}
|
||||
if (!$status = restore_decode_content_links($restore)) {
|
||||
if (!defined('RESTORE_SILENTLY')) {
|
||||
notify("Could not refresh events for activities!");
|
||||
notify("Could not decode content links!");
|
||||
} else {
|
||||
$errorstr = "Could not refresh events for activities!";
|
||||
$errorstr = "Could not decode content links!";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -6017,10 +6038,19 @@
|
||||
if (!empty($restore->rolesmapping)) {
|
||||
$rolemappings = $restore->rolesmapping;
|
||||
}
|
||||
// $info->roles will be empty for backups pre 1.7
|
||||
if (isset($info->roles) && $info->roles) {
|
||||
foreach ($info->roles as $oldroleid=>$roledata) {
|
||||
|
||||
/// first we check if the roles are in the mappings
|
||||
foreach ($info->roles as $oldroleid=>$roledata) {
|
||||
if (empty($restore->rolesmapping)) {
|
||||
// if this is empty altogether, we came from import or there's no roles used in course at all
|
||||
// in this case, write the same oldid as this is the same site
|
||||
// no need to do mapping
|
||||
$status = backup_putid($restore->backup_unique_code,"role",$oldroleid,
|
||||
$oldroleid); // adding a new id
|
||||
continue; // do not create additonal roles;
|
||||
}
|
||||
// first we check if the roles are in the mappings
|
||||
// if so, we just do a mapping i.e. update oldids table
|
||||
if (isset($rolemappings[$oldroleid]) && $rolemappings[$oldroleid]) {
|
||||
$status = backup_putid($restore->backup_unique_code,"role",$oldroleid,
|
||||
@@ -6091,7 +6121,13 @@
|
||||
}
|
||||
$course = restore_read_xml_course_header($xmlfile);
|
||||
|
||||
if (!empty($course->roleassignments)) {
|
||||
if (!isset($restore->rolesmapping)) {
|
||||
$isimport = true; // course import from another course, or course with no role assignments
|
||||
} else {
|
||||
$isimport = false; // course restore with role assignments
|
||||
}
|
||||
|
||||
if (!empty($course->roleassignments) && !$isimport) {
|
||||
$courseassignments = $course->roleassignments;
|
||||
|
||||
foreach ($courseassignments as $oldroleid => $courseassignment) {
|
||||
@@ -6102,7 +6138,7 @@
|
||||
* Restoring from course level overrides *
|
||||
*****************************************************/
|
||||
|
||||
if (!empty($course->roleoverrides)) {
|
||||
if (!empty($course->roleoverrides) && !$isimport) {
|
||||
$courseoverrides = $course->roleoverrides;
|
||||
foreach ($courseoverrides as $oldroleid => $courseoverride) {
|
||||
// if not importing into exiting course, or creating new role, we are ok
|
||||
@@ -6127,11 +6163,12 @@
|
||||
foreach ($secs as $section) {
|
||||
if (isset($section->mods)) {
|
||||
foreach ($section->mods as $modid=>$mod) {
|
||||
if (isset($mod->roleassignments)) {
|
||||
if (isset($mod->roleassignments) && !$isimport) {
|
||||
foreach ($mod->roleassignments as $oldroleid=>$modassignment) {
|
||||
restore_write_roleassignments($restore, $modassignment->assignments, "course_modules", CONTEXT_MODULE, $modid, $oldroleid);
|
||||
}
|
||||
}
|
||||
// role overrides always applies, in import or backup/restore
|
||||
if (isset($mod->roleoverrides)) {
|
||||
foreach ($mod->roleoverrides as $oldroleid=>$modoverride) {
|
||||
restore_write_roleoverrides($restore, $modoverride->overrides, "course_modules", CONTEXT_MODULE, $modid, $oldroleid);
|
||||
@@ -6153,13 +6190,14 @@
|
||||
$blocks = restore_read_xml_blocks($xmlfile);
|
||||
if (isset($blocks->instances)) {
|
||||
foreach ($blocks->instances as $instance) {
|
||||
if (isset($instance->roleassignments)) {
|
||||
if (isset($instance->roleassignments) && !$isimport) {
|
||||
foreach ($instance->roleassignments as $oldroleid=>$blockassignment) {
|
||||
restore_write_roleassignments($restore, $blockassignment->assignments, "block_instance", CONTEXT_BLOCK, $instance->id, $oldroleid);
|
||||
|
||||
}
|
||||
}
|
||||
if (isset($instance->roleoverrides)) {
|
||||
// likewise block overrides should always be restored like mods
|
||||
if (isset($instance->roleoverrides)) {
|
||||
foreach ($instance->roleoverrides as $oldroleid=>$blockoverride) {
|
||||
restore_write_roleoverrides($restore, $blockoverride->overrides, "block_instance", CONTEXT_BLOCK, $instance->id, $oldroleid);
|
||||
}
|
||||
@@ -6175,7 +6213,7 @@
|
||||
echo "<li>".get_string("creatinguserroles").'</li>';
|
||||
}
|
||||
$info = restore_read_xml_users($restore, $xmlfile);
|
||||
if (!empty($info->users)) {
|
||||
if (!empty($info->users) && !$isimport) { // no need to restore user assignments for imports (same course)
|
||||
//For each user, take its info from backup_ids
|
||||
foreach ($info->users as $userid) {
|
||||
$rec = backup_getid($restore->backup_unique_code,"user",$userid);
|
||||
@@ -6221,7 +6259,7 @@
|
||||
$newcontext = get_context_instance($contextlevel, $oldinstance->new_id);
|
||||
$assignment->contextid = $newcontext->id; // new context id
|
||||
// might already have same assignment
|
||||
role_assign($assignment->roleid, $assignment->userid, 0, $assignment->contextid, $assignment->timestart, $assignment->timeend, $assignment->hidden, $assignment->enrol);
|
||||
role_assign($assignment->roleid, $assignment->userid, 0, $assignment->contextid, $assignment->timestart, $assignment->timeend, $assignment->hidden, $assignment->enrol, $assignment->timemodified);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -6316,4 +6354,4 @@
|
||||
fclose($restorelog);
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
-1232
File diff suppressed because it is too large
Load Diff
@@ -57,7 +57,10 @@ class block_admin_bookmarks extends block_base {
|
||||
$bookmarks = array();
|
||||
}
|
||||
|
||||
if (($section = (isset($PAGE->section) ? $PAGE->section : '')) && (in_array($section, $bookmarks))) {
|
||||
if(isset($PAGE->section) and $PAGE->section == 'search'){
|
||||
// the search page can't be properly bookmarked at present
|
||||
$this->content->footer = '';
|
||||
}elseif (($section = (isset($PAGE->section) ? $PAGE->section : '')) && (in_array($section, $bookmarks))) {
|
||||
$this->content->footer = '<a href="' . $CFG->wwwroot . '/blocks/admin_bookmarks/delete.php?section=' . $section . '&sesskey='.sesskey().'">' . get_string('unbookmarkthispage','admin') . '</a>';
|
||||
} elseif ($section = (isset($PAGE->section) ? $PAGE->section : '')) {
|
||||
$this->content->footer = '<a href="' . $CFG->wwwroot . '/blocks/admin_bookmarks/create.php?section=' . $section . '&sesskey='.sesskey().'">' . get_string('bookmarkthispage','admin') . '</a>';
|
||||
|
||||
+24
-18
@@ -15,8 +15,13 @@ function migrate2utf8_block_instance_configdata($recordid){
|
||||
$fromenc = $globallang;
|
||||
} else {
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($blockinstance->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockinstance->pageid); //N.E.!!
|
||||
if ($blockinstance->pagetype == 'course-view') {
|
||||
$courselang = get_course_lang($blockinstance->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockinstance->pageid); //N.E.!!
|
||||
} else {
|
||||
$courselang = false;
|
||||
$userlang = false;
|
||||
}
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
}
|
||||
@@ -42,8 +47,13 @@ function migrate2utf8_block_instance_configdata($recordid){
|
||||
$fromenc = $globallang;
|
||||
} else {
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($blockinstance->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockinstance->pageid); //N.E.!!
|
||||
if ($blockinstance->pagetype == 'course-view') {
|
||||
$courselang = get_course_lang($blockinstance->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockinstance->pageid); //N.E.!!
|
||||
} else {
|
||||
$courselang = false;
|
||||
$userlang = false;
|
||||
}
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
}
|
||||
@@ -68,8 +78,13 @@ function migrate2utf8_block_instance_configdata($recordid){
|
||||
$fromenc = $globallang;
|
||||
} else {
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($blockinstance->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockinstance->pageid); //N.E.!!
|
||||
if ($blockinstance->pagetype == 'course-view') {
|
||||
$courselang = get_course_lang($blockinstance->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockinstance->pageid); //N.E.!!
|
||||
} else {
|
||||
$courselang = false;
|
||||
$userlang = false;
|
||||
}
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
}
|
||||
@@ -110,10 +125,7 @@ global $CFG, $globallang;
|
||||
$fromenc = $globallang;
|
||||
} else {
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($blockpinned->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockpinned->pageid); //N.E.!!
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
$fromenc = get_original_encoding($sitelang, false, false);
|
||||
}
|
||||
|
||||
$blah = unserialize(base64_decode($blockpinned->configdata));
|
||||
@@ -137,10 +149,7 @@ global $CFG, $globallang;
|
||||
$fromenc = $globallang;
|
||||
} else {
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($blockpinned->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockpinned->pageid); //N.E.!!
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
$fromenc = get_original_encoding($sitelang, false, false);
|
||||
}
|
||||
|
||||
$blah = unserialize(base64_decode($blockpinned->configdata));
|
||||
@@ -163,10 +172,7 @@ global $CFG, $globallang;
|
||||
$fromenc = $globallang;
|
||||
} else {
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($blockpinned->pageid); //Non existing!
|
||||
$userlang = get_main_teacher_lang($blockpinned->pageid); //N.E.!!
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
$fromenc = get_original_encoding($sitelang, false, false);
|
||||
}
|
||||
|
||||
$blah = unserialize(base64_decode($blockpinned->configdata));
|
||||
|
||||
@@ -52,7 +52,7 @@ class block_login extends block_base {
|
||||
$this->content->text .= '<table align="center" cellpadding="2" cellspacing="0" class="logintable">';
|
||||
|
||||
$this->content->text .= '<tr><td class="c0 r0" align="right">'.get_string('username').':</td>';
|
||||
$this->content->text .= '<td class="c1 r0"><input type="text" name="username" size="10" value="'.$username.'" /></td></tr>';
|
||||
$this->content->text .= '<td class="c1 r0"><input type="text" name="username" size="10" value="'.s($username).'" /></td></tr>';
|
||||
|
||||
$this->content->text .= '<tr><td class="c0 r1" align="right">'.get_string('password').':</td>';
|
||||
$this->content->text .= '<td class="c1 r1"><input type="password" name="password" size="10" value="" /></td></tr>';
|
||||
|
||||
@@ -303,13 +303,7 @@ class block_base {
|
||||
|
||||
switch ($this->instance->pagetype) {
|
||||
case 'course-view':
|
||||
if ($this->instance->pageid == SITEID) {
|
||||
$context = get_context_instance(CONTEXT_SYSTEM, $this->instance->pageid);
|
||||
} else {
|
||||
$context = get_context_instance(CONTEXT_COURSE, $this->instance->pageid);
|
||||
}
|
||||
|
||||
if (!has_capability('moodle/site:manageblocks', $context)) {
|
||||
if (!has_capability('moodle/site:manageblocks', $blockcontext)) {
|
||||
return null;
|
||||
}
|
||||
break;
|
||||
@@ -706,4 +700,4 @@ class block_list extends block_base {
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -273,8 +273,12 @@ if ($act == 'updfeed') {
|
||||
if (file_exists($CFG->dirroot .'/blog/lib.php')) {
|
||||
//Blog module is installed - provide "blog this" link
|
||||
print '<td align="right">'."\n";
|
||||
print '<img src="'. $CFG->pixpath .'/blog/blog.gif" alt="'. get_string('blogthis', 'blog').'" title="'. get_string('blogthis', 'blog') .'" border="0" align="middle" />'."\n";
|
||||
print '<a href="'. $CFG->wwwroot .'/blog/blogthis.php?userid='. $userid .'&act=use&item='. $y .'&rssid='. $rssid .'"><small><strong>'. get_string('blogthis', 'blog') .'</strong></small></a>'."\n";
|
||||
|
||||
/// MDL-9291, blog this feature needs further discussion/implementation
|
||||
/// temporarily disabling for now.
|
||||
|
||||
// print '<img src="'. $CFG->pixpath .'/blog/blog.gif" alt="'. get_string('blogthis', 'blog').'" title="'. get_string('blogthis', 'blog') .'" border="0" align="middle" />'."\n";
|
||||
//print '<a href="'. $CFG->wwwroot .'/blog/blogthis.php?userid='. $USER->id .'&act=use&item='. $y .'&rssid='. $rssid .'"><small><strong>'. get_string('blogthis', 'blog') .'</strong></small></a>'."\n";
|
||||
} else {
|
||||
print '<td> ';
|
||||
}
|
||||
|
||||
@@ -40,7 +40,6 @@ $block_rss_client_capabilities = array(
|
||||
'legacy' => array(
|
||||
'teacher' => CAP_ALLOW,
|
||||
'editingteacher' => CAP_ALLOW,
|
||||
'coursecreator' => CAP_ALLOW,
|
||||
'admin' => CAP_ALLOW
|
||||
)
|
||||
),
|
||||
@@ -51,7 +50,6 @@ $block_rss_client_capabilities = array(
|
||||
'contextlevel' => CONTEXT_SYSTEM,
|
||||
'legacy' => array(
|
||||
'editingteacher' => CAP_ALLOW,
|
||||
'coursecreator' => CAP_ALLOW,
|
||||
'admin' => CAP_ALLOW
|
||||
)
|
||||
),
|
||||
@@ -63,7 +61,6 @@ $block_rss_client_capabilities = array(
|
||||
'legacy' => array(
|
||||
'teacher' => CAP_ALLOW,
|
||||
'editingteacher' => CAP_ALLOW,
|
||||
'coursecreator' => CAP_ALLOW,
|
||||
'admin' => CAP_ALLOW
|
||||
)
|
||||
),
|
||||
|
||||
+4
-3
@@ -75,7 +75,7 @@ switch ($filtertype) {
|
||||
$courseid = $course->id;
|
||||
$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
require_login($course->id);
|
||||
if (!has_capability('moodle/blog:view', $sitecontext)) {
|
||||
if (!has_capability('moodle/blog:view', $coursecontext)) {
|
||||
error('You do not have the required permissions to view blogs in this course');
|
||||
}
|
||||
break;
|
||||
@@ -84,7 +84,8 @@ switch ($filtertype) {
|
||||
if ($CFG->bloglevel < BLOG_GROUP_LEVEL) {
|
||||
error('Group blogs is not enabled');
|
||||
}
|
||||
if (!$group = get_record('groups','id',$groupid)) {
|
||||
// fix for MDL-9268
|
||||
if (!$group = get_record('groups','id',$filterselect)) {
|
||||
error('Incorrect group id specified');
|
||||
}
|
||||
if (!$course = get_record('course', 'id', $group->courseid)) {
|
||||
@@ -115,7 +116,7 @@ switch ($filtertype) {
|
||||
if ($USER->id == $filterselect) {
|
||||
if (!has_capability('moodle/blog:create', $sitecontext)
|
||||
and !has_capability('moodle/blog:view', $sitecontext)) {
|
||||
error('You do not have your own a blog, sorry.');
|
||||
error('You do not have your own blog, sorry.');
|
||||
}
|
||||
} else {
|
||||
$personalcontext = get_context_instance(CONTEXT_USER, $filterselect);
|
||||
|
||||
+34
-15
@@ -327,10 +327,16 @@
|
||||
if (has_capability('moodle/blog:manageentries', $sitecontext)) {
|
||||
return true; // can manage all posts
|
||||
}
|
||||
|
||||
|
||||
// coming for 1 post, make sure it's not a draft
|
||||
if ($blogEntry and $blogEntry->publishstate == 'draft') {
|
||||
return false; // can not view draft of others
|
||||
}
|
||||
|
||||
// coming for 1 post, make sure user is logged in, if not a public blog
|
||||
if ($blogEntry && $blogEntry->publishstate != 'public' && !isloggedin()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch ($CFG->bloglevel) {
|
||||
case BLOG_GLOBAL_LEVEL:
|
||||
@@ -345,7 +351,7 @@
|
||||
break;
|
||||
|
||||
case BLOG_COURSE_LEVEL:
|
||||
$mycourses = array_keys(get_my_courses($targetuserid));
|
||||
$mycourses = array_keys(get_my_courses($USER->id));
|
||||
$usercourses = array_keys(get_my_courses($targetuserid));
|
||||
$shared = array_intersect($mycourses, $usercourses);
|
||||
if (!empty($shared)) {
|
||||
@@ -355,7 +361,7 @@
|
||||
break;
|
||||
|
||||
case BLOG_GROUP_LEVEL:
|
||||
$mycourses = array_keys(get_my_courses($targetuserid));
|
||||
$mycourses = array_keys(get_my_courses($USER->id));
|
||||
$usercourses = array_keys(get_my_courses($targetuserid));
|
||||
$shared = array_intersect($mycourses, $usercourses);
|
||||
foreach ($shared as $courseid) {
|
||||
@@ -393,6 +399,8 @@
|
||||
|
||||
global $CFG, $USER;
|
||||
|
||||
$typesql = " AND p.module = 'blog' ";
|
||||
|
||||
/// set the tag id for searching
|
||||
if ($tagid) {
|
||||
$tag = $tagid;
|
||||
@@ -411,7 +419,7 @@
|
||||
|
||||
if ($post = get_record('post', 'id', $postid)) {
|
||||
|
||||
if (blog_user_can_view_user_post($post->userid)) {
|
||||
if (blog_user_can_view_user_post($post->userid, $post)) {
|
||||
|
||||
if ($user = get_record('user', 'id', $post->userid)) {
|
||||
$post->email = $user->email;
|
||||
@@ -437,13 +445,19 @@
|
||||
$tagquerysql = '';
|
||||
}
|
||||
|
||||
if (isloggedin()) {
|
||||
$permissionsql = '(p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.')';
|
||||
if (isloggedin() && !has_capability('moodle/legacy:guest', get_context_instance(CONTEXT_SYSTEM, SITEID), $USER->id, false)) {
|
||||
$permissionsql = 'AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.')';
|
||||
} else {
|
||||
$permissionsql = 'p.publishstate = \'public\'';
|
||||
$permissionsql = 'AND p.publishstate = \'public\'';
|
||||
}
|
||||
|
||||
// fix for MDL-9165, use with readuserblogs capability in a user context can read that user's private blogs
|
||||
// admins can see all blogs regardless of publish states, as described on the help page
|
||||
if (has_capability('moodle/user:readuserblogs', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
|
||||
$permissionsql = '';
|
||||
} else if ($filtertype=='user' && has_capability('moodle/user:readuserblogs', get_context_instance(CONTEXT_USER, $filterselect))) {
|
||||
$permissionsql = '';
|
||||
}
|
||||
|
||||
|
||||
/****************************************
|
||||
* depending on the type, there are 4 *
|
||||
* different possible sqls *
|
||||
@@ -463,7 +477,7 @@
|
||||
.$CFG->prefix.'user u
|
||||
WHERE p.userid = u.id '.$tagquerysql.'
|
||||
AND u.deleted = 0
|
||||
AND '.$permissionsql;
|
||||
'.$permissionsql.$typesql;
|
||||
|
||||
break;
|
||||
|
||||
@@ -477,20 +491,25 @@
|
||||
AND ra.contextid '.get_related_contexts_string($context).'
|
||||
AND u.id = p.userid
|
||||
AND u.deleted = 0
|
||||
AND '.$permissionsql;
|
||||
'.$permissionsql.$typesql;
|
||||
|
||||
break;
|
||||
|
||||
case 'group':
|
||||
|
||||
$SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
|
||||
.$CFG->prefix.'groups_members m, '.$CFG->prefix.'user u
|
||||
WHERE p.userid = m.userid '.$tagquerysql.'
|
||||
AND u.id = p.userid
|
||||
AND m.groupid = '.$filterselect.'
|
||||
AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.')';
|
||||
|
||||
/*$SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
|
||||
.groups_members_from_sql().', '.$CFG->prefix.'user u
|
||||
WHERE '.groups_members_where_sql($filterselect, 'p.userid').'
|
||||
AND u.id = p.userid
|
||||
AND u.deleted = 0
|
||||
AND '.$permissionsql;
|
||||
|
||||
'.$permissionsql.$typesql;
|
||||
*/
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
@@ -500,7 +519,7 @@
|
||||
WHERE p.userid = u.id '.$tagquerysql.'
|
||||
AND u.id = '.$filterselect.'
|
||||
AND u.deleted = 0
|
||||
AND '.$permissionsql;
|
||||
'.$permissionsql.$typesql;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -9,14 +9,14 @@
|
||||
// Copyright (C) 2003-2004 Greek School Network www.sch.gr //
|
||||
// //
|
||||
// Designed by: //
|
||||
// Avgoustos Tsinakos (tsinakos@uom.gr) //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Avgoustos Tsinakos (tsinakos@teikav.edu.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// Programming and development: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// For bugs, suggestions, etc contact: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// The current module was developed at the University of Macedonia //
|
||||
// (www.uom.gr) under the funding of the Greek School Network (www.sch.gr) //
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<form method="get" action="export_execute.php">
|
||||
<?php print_string('iwanttoexport', 'calendar'); ?>:
|
||||
<div class="indent">
|
||||
<input type="radio" name="preset_what" id="pw_all" value="all" /><label for="pw_all"><?php print_string('eventsall', 'calendar'); ?></label><br />
|
||||
<input type="radio" name="preset_what" id="pw_all" value="all" checked="checked"/><label for="pw_all"><?php print_string('eventsall', 'calendar'); ?></label><br />
|
||||
<input type="radio" name="preset_what" id="pw_course" value="courses" /><label for="pw_course"><?php print_string('eventsrelatedtocourses', 'calendar'); ?></label><br />
|
||||
</div>
|
||||
<?php print_string('for', 'calendar'); ?>:
|
||||
<div class="indent">
|
||||
<?php if($allowthisweek) { ?>
|
||||
<input type="radio" name="preset_time" id="pt_wknow" value="weeknow" /><label for="pt_wknow"><?php print_string('weekthis', 'calendar'); ?></label><br />
|
||||
<input type="radio" name="preset_time" id="pt_wknow" value="weeknow" checked="checked"/><label for="pt_wknow"><?php print_string('weekthis', 'calendar'); ?></label><br />
|
||||
<?php } ?>
|
||||
<?php if($allownextweek) { ?>
|
||||
<input type="radio" name="preset_time" id="pt_wknext" value="weeknext" /><label for="pt_wknext"><?php print_string('weeknext', 'calendar'); ?></label><br />
|
||||
|
||||
@@ -16,8 +16,8 @@ $day = optional_param('cal_d', 0, PARAM_INT);
|
||||
$mon = optional_param('cal_m', 0, PARAM_INT);
|
||||
$yr = optional_param('cal_y', 0, PARAM_INT);
|
||||
|
||||
$what = optional_param('preset_what', '', PARAM_ALPHA);
|
||||
$time = optional_param('preset_time', '', PARAM_ALPHA);
|
||||
$what = optional_param('preset_what', 'all', PARAM_ALPHA);
|
||||
$time = optional_param('preset_time', 'weeknow', PARAM_ALPHA);
|
||||
|
||||
$now = usergetdate(time());
|
||||
// Let's see if we have sufficient and correct data
|
||||
|
||||
+39
-30
@@ -9,14 +9,14 @@
|
||||
// Copyright (C) 2003-2004 Greek School Network www.sch.gr //
|
||||
// //
|
||||
// Designed by: //
|
||||
// Avgoustos Tsinakos (tsinakos@uom.gr) //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Avgoustos Tsinakos (tsinakos@teikav.edu.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// Programming and development: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// For bugs, suggestions, etc contact: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// The current module was developed at the University of Macedonia //
|
||||
// (www.uom.gr) under the funding of the Greek School Network (www.sch.gr) //
|
||||
@@ -242,7 +242,7 @@ function calendar_get_mini($courses, $groups, $users, $cal_month = false, $cal_y
|
||||
$popupicon = $CFG->pixpath.'/c/user.gif';
|
||||
$popupalt = '';
|
||||
}
|
||||
$popupcontent .= '<div><img height="16" width="16" src="'.$popupicon.'" style="vertical-align: middle; margin-right: 4px;" alt="'.$popupalt.'" /><a href="'.$dayhref.'">'.format_string($event->name,true).'</a></div>';
|
||||
$popupcontent .= '<div><img height="16" width="16" src="'.$popupicon.'" style="vertical-align: middle; margin-right: 4px;" alt="'.$popupalt.'" /><a href="'.$dayhref.'#event_'.$event->id.'">'.format_string($event->name,true).'</a></div>';
|
||||
}
|
||||
|
||||
//Accessibility: functionality moved to calendar_get_popup.
|
||||
@@ -456,7 +456,7 @@ function calendar_print_event($event) {
|
||||
static $strftimetime;
|
||||
|
||||
$event = calendar_add_event_metadata($event);
|
||||
echo '<table class="event" cellspacing="0">';
|
||||
echo '<a name="event_'.$event->id.'"></a><table class="event" cellspacing="0">';
|
||||
echo '<tr><td class="picture">';
|
||||
if (!empty($event->icon)) {
|
||||
echo $event->icon;
|
||||
@@ -870,7 +870,7 @@ function calendar_get_sideblock_upcoming($events, $linkhref = NULL) {
|
||||
if(!empty($linkhref)) {
|
||||
$ed = usergetdate($events[$i]->timestart);
|
||||
$href = calendar_get_link_href(CALENDAR_URL.$linkhref, $ed['mday'], $ed['mon'], $ed['year']);
|
||||
$content .= '<a href="'.$href.'">'.$events[$i]->name.'</a>';
|
||||
$content .= '<a href="'.$href.'#event_'.$events[$i]->id.'">'.$events[$i]->name.'</a>';
|
||||
}
|
||||
else {
|
||||
$content .= $events[$i]->name;
|
||||
@@ -1095,10 +1095,11 @@ function calendar_set_filters(&$courses, &$group, &$user, $courseeventsfrom = NU
|
||||
else {
|
||||
$courses = false;
|
||||
}
|
||||
//BUG 6130 clean $courses array as SESSION has bad entries.
|
||||
foreach ($courses as $index => $value) {
|
||||
if (empty($value)) unset($courses[$index]);
|
||||
}
|
||||
//BUG 6130 clean $courses array as SESSION has bad entries.
|
||||
// [pj] TODO: See if this has to do with my new change in get_default_courses and can be taken out
|
||||
foreach ($courses as $index => $value) {
|
||||
if (empty($value)) unset($courses[$index]);
|
||||
}
|
||||
|
||||
if($SESSION->cal_show_user || $ignorefilters) {
|
||||
// This doesn't work for arrays yet (maybe someday it will)
|
||||
@@ -1177,15 +1178,11 @@ function calendar_edit_event_allowed($event) {
|
||||
if (has_capability('moodle/calendar:manageentries', $sitecontext)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// editting userid account
|
||||
if ($event->userid) {
|
||||
if ($event->userid == $USER->id) {
|
||||
return (has_capability('moodle/calendar:manageownentries', $sitecontext));
|
||||
}
|
||||
} else if ($event->groupid) {
|
||||
$group = get_record('groups', 'id', $event->groupid);
|
||||
if($group === false) {
|
||||
|
||||
// if groupid is set, it's definitely a group event
|
||||
if ($event->groupid) {
|
||||
//TODO:check.
|
||||
if (! groups_group_exists($event->groupid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1193,10 +1190,15 @@ function calendar_edit_event_allowed($event) {
|
||||
// to edit group calendar too
|
||||
// there is no need to check membership, because if you have this capability
|
||||
// you will have a role in this group context
|
||||
return has_capability('moodle/calendar:manageentries', get_context_instance(CONTEXT_GROUP, $group->id));
|
||||
return has_capability('moodle/calendar:manageentries', get_context_instance(CONTEXT_GROUP, $event->groupid));
|
||||
} else if ($event->courseid) {
|
||||
return has_capability('moodle/calendar:manageentries', get_context_instance(CONTEXT_COURSE, $event->courseid));
|
||||
}
|
||||
// if groupid is not set, but course is set,
|
||||
// it's definiely a course event
|
||||
return has_capability('moodle/calendar:manageentries', get_context_instance(CONTEXT_COURSE, $event->courseid));
|
||||
} else if ($event->userid && $event->userid == $USER->id) {
|
||||
// if course is not set, but userid id set, it's a user event
|
||||
return (has_capability('moodle/calendar:manageownentries', $sitecontext));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1222,15 +1224,22 @@ function calendar_get_default_courses($ignoreref = false) {
|
||||
// find all course this student can view
|
||||
if ($allcourses = get_my_courses($USER->id,'visible DESC,sortorder ASC', '*', true)) {
|
||||
foreach ($allcourses as $courseid=>$acourse) {
|
||||
$auth = '';
|
||||
$context = get_context_instance(CONTEXT_COURSE, $courseid);
|
||||
// let's try to see if there is any direct assignments on tihs context
|
||||
if ($roleassign = get_record('role_assignments', 'contextid', $context->id, 'userid', $USER->id)) {
|
||||
$auth = $roleassign->enrol;
|
||||
if ($roleassign = get_records_sql("SELECT * FROM {$CFG->prefix}role_assignments
|
||||
WHERE contextid = $context->id
|
||||
AND userid = $USER->id")) {
|
||||
foreach ($roleassign as $rid => $rs) {
|
||||
if (!empty($rs->enrol)) {
|
||||
$auth = $rs->enrol;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$auth = '';
|
||||
}
|
||||
$courses[$courseid] = $auth;
|
||||
}
|
||||
}
|
||||
$courses[$courseid] = $auth;
|
||||
}
|
||||
}
|
||||
|
||||
return $courses;
|
||||
@@ -1356,4 +1365,4 @@ function calendar_set_filters_status($packed_bitfield) {
|
||||
return true;
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
+4
-4
@@ -9,14 +9,14 @@
|
||||
// Copyright (C) 2003-2004 Greek School Network www.sch.gr //
|
||||
// //
|
||||
// Designed by: //
|
||||
// Avgoustos Tsinakos (tsinakos@uom.gr) //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Avgoustos Tsinakos (tsinakos@teikav.edu.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// Programming and development: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// For bugs, suggestions, etc contact: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// The current module was developed at the University of Macedonia //
|
||||
// (www.uom.gr) under the funding of the Greek School Network (www.sch.gr) //
|
||||
|
||||
+23
-13
@@ -9,14 +9,14 @@
|
||||
// Copyright (C) 2003-2004 Greek School Network www.sch.gr //
|
||||
// //
|
||||
// Designed by: //
|
||||
// Avgoustos Tsinakos (tsinakos@uom.gr) //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Avgoustos Tsinakos (tsinakos@teikav.edu.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// Programming and development: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// For bugs, suggestions, etc contact: //
|
||||
// Jon Papaioannou (pj@uom.gr) //
|
||||
// Jon Papaioannou (pj@moodle.org) //
|
||||
// //
|
||||
// The current module was developed at the University of Macedonia //
|
||||
// (www.uom.gr) under the funding of the Greek School Network (www.sch.gr) //
|
||||
@@ -44,8 +44,8 @@
|
||||
require_once($CFG->dirroot.'/course/lib.php');
|
||||
require_once($CFG->dirroot.'/calendar/lib.php');
|
||||
|
||||
$course = optional_param('course', 0);
|
||||
$view = optional_param('view', 'upcoming');
|
||||
$courseid = optional_param('course', 0, PARAM_INT);
|
||||
$view = optional_param('view', 'upcoming', PARAM_ALPHA);
|
||||
$day = optional_param('cal_d', 0, PARAM_INT);
|
||||
$mon = optional_param('cal_m', 0, PARAM_INT);
|
||||
$yr = optional_param('cal_y', 0, PARAM_INT);
|
||||
@@ -54,7 +54,9 @@
|
||||
redirect($CFG->wwwroot.'/'.$CFG->admin.'/index.php');
|
||||
}
|
||||
|
||||
if ($CFG->forcelogin) {
|
||||
if ($courseid) {
|
||||
require_login($courseid);
|
||||
} else if ($CFG->forcelogin) {
|
||||
require_login();
|
||||
}
|
||||
|
||||
@@ -87,8 +89,8 @@
|
||||
}
|
||||
|
||||
// If a course has been supplied in the URL, change the filters to show that one
|
||||
if (!empty($course)) {
|
||||
if ($course = get_record('course', 'id', $course)) {
|
||||
if (!empty($courseid)) {
|
||||
if ($course = get_record('course', 'id', $courseid)) {
|
||||
if ($course->id == SITEID) {
|
||||
// If coming from the home page, show all courses
|
||||
$SESSION->cal_courses_shown = calendar_get_default_courses(true);
|
||||
@@ -100,6 +102,8 @@
|
||||
calendar_set_referring_course($SESSION->cal_courses_shown);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$course = null;
|
||||
}
|
||||
|
||||
if (empty($USER->id) or isguest()) {
|
||||
@@ -302,9 +306,15 @@ function calendar_show_month_detailed($m, $y, $courses, $groups, $users) {
|
||||
list($d, $m, $y) = array($date['mday'], $date['mon'], $date['year']); // This is what we want to display
|
||||
$display->maxdays = calendar_days_in_month($m, $y);
|
||||
|
||||
// We 'll keep these values as GMT here, and offset them when the time comes to query the db
|
||||
$display->tstart = gmmktime(0, 0, 0, $m, 1, $y); // This is GMT
|
||||
$display->tend = gmmktime(23, 59, 59, $m, $display->maxdays, $y); // GMT
|
||||
if (get_user_timezone_offset() < 99) {
|
||||
// We 'll keep these values as GMT here, and offset them when the time comes to query the db
|
||||
$display->tstart = gmmktime(0, 0, 0, $m, 1, $y); // This is GMT
|
||||
$display->tend = gmmktime(23, 59, 59, $m, $display->maxdays, $y); // GMT
|
||||
} else {
|
||||
// no timezone info specified
|
||||
$display->tstart = mktime(0, 0, 0, $m, 1, $y);
|
||||
$display->tend = mktime(23, 59, 59, $m, $display->maxdays, $y);
|
||||
}
|
||||
|
||||
$startwday = gmdate('w', $display->tstart); // $display->tstart is already GMT, so don't use date(): messes with server's TZ
|
||||
|
||||
@@ -440,7 +450,7 @@ function calendar_show_month_detailed($m, $y, $courses, $groups, $users) {
|
||||
if(isset($eventsbyday[$day])) {
|
||||
echo '<ul class="events-new">';
|
||||
foreach($eventsbyday[$day] as $eventindex) {
|
||||
echo '<li><a href="'.$dayhref.'">'.format_string($events[$eventindex]->name,true).'</a></li>';
|
||||
echo '<li><a href="'.$dayhref.'#event_'.$events[$eventindex]->id.'">'.format_string($events[$eventindex]->name, true).'</a></li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
}
|
||||
|
||||
+2
-2
@@ -325,12 +325,12 @@
|
||||
echo'<a title="'.get_string('assignroles', 'role').'" href="'.$CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$coursecontext->id.'"><img src="'.$CFG->pixpath.'/i/roles.gif" height="11" width="11" alt="'.get_string('assignroles', 'role').'" /></a>';
|
||||
}
|
||||
|
||||
if (has_capability('moodle/course:delete', $coursecontext)) {
|
||||
if (can_delete_course($acourse->id)) {
|
||||
echo '<a title="'.$strdelete.'" href="delete.php?id='.$acourse->id.'">'.
|
||||
'<img src="'.$CFG->pixpath.'/t/delete.gif" height="11" width="11" border="0" alt="'.$strdelete.'" /></a> ';
|
||||
}
|
||||
|
||||
if (has_capability('moodle/course:visibility', $coursecontext)) {
|
||||
if (has_capability('moodle/course:visibility', $coursecontext) && has_capability('moodle/course:viewhiddencourses', $coursecontext)) {
|
||||
if (!empty($acourse->visible)) {
|
||||
echo '<a title="'.$strhide.'" href="category.php?id='.$category->id.'&page='.$page.
|
||||
'&perpage='.$perpage.'&hide='.$acourse->id.'&sesskey='.$USER->sesskey.'">'.
|
||||
|
||||
+3
-1
@@ -8,7 +8,9 @@
|
||||
|
||||
require_login();
|
||||
|
||||
require_capability('moodle/course:delete', get_context_instance(CONTEXT_SYSTEM, SITEID));
|
||||
if (!can_delete_course($id)) {
|
||||
error('You do not have the permission to delete this course.');
|
||||
}
|
||||
|
||||
if (!$site = get_site()) {
|
||||
error("Site not found!");
|
||||
|
||||
@@ -156,6 +156,11 @@
|
||||
}
|
||||
|
||||
$choices = $choices + $roles;
|
||||
|
||||
// fix for MDL-9197
|
||||
foreach ($choices as $choiceid => $choice) {
|
||||
$choices[$choiceid] = format_string($choice);
|
||||
}
|
||||
|
||||
choose_from_menu ($choices, 'defaultrole', $form->defaultrole, '');
|
||||
helpbutton("coursedefaultrole", get_string("defaultrole"));
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@
|
||||
$disable_meta = get_string('metaalreadyhasenrolments');
|
||||
}
|
||||
}
|
||||
} else { // Admin is creating a new course
|
||||
} else { // Creating a new course
|
||||
|
||||
$context = get_context_instance(CONTEXT_COURSECAT, $category);
|
||||
// first check to see if user has site level course creation.
|
||||
|
||||
+103
-159
@@ -1,177 +1,122 @@
|
||||
<?php // $Id$
|
||||
// Edit course settings
|
||||
|
||||
require_once("../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("$CFG->libdir/blocklib.php");
|
||||
require_once("$CFG->dirroot/enrol/enrol.class.php");
|
||||
require_once('../config.php');
|
||||
require_once($CFG->dirroot.'/enrol/enrol.class.php');
|
||||
require_once($CFG->libdir.'/blocklib.php');
|
||||
require_once('lib.php');
|
||||
require_once('edit_form.php');
|
||||
|
||||
include_once $CFG->libdir.'/formslib.php';
|
||||
$id = optional_param('id', 0, PARAM_INT); // course id
|
||||
$categoryid = optional_param('category', 0, PARAM_INT); // course category - can be changed in edit form
|
||||
|
||||
require_login();
|
||||
|
||||
$mform =& new moodleform('edit_course', 'post', 'edit2.php');
|
||||
|
||||
$mform->acceptGet('id', 'category');
|
||||
|
||||
$id = $mform->optional_param('id', 0, PARAM_INT); // course id
|
||||
$category = $mform->optional_param('category', 0, PARAM_INT); // possible default category
|
||||
|
||||
|
||||
$disable_meta = false;
|
||||
$focus = "";
|
||||
|
||||
if ($id) {
|
||||
if (! $course = get_record("course", "id", $id)) {
|
||||
error("Course ID was incorrect");
|
||||
/// basic access control checks
|
||||
if ($id) { // editing course
|
||||
if (!$course = get_record('course', 'id', $id)) {
|
||||
error('Course ID was incorrect');
|
||||
}
|
||||
$category = get_record('course_categories', 'id', $course->category);
|
||||
require_capability('moodle/course:update', get_context_instance(CONTEXT_COURSE, $course->id));
|
||||
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
|
||||
if (!has_capability('moodle/course:update', $context)) {
|
||||
error("You do not currently have editing privileges!");
|
||||
} else if ($categoryid) { // creating new course in this category
|
||||
$course = null;
|
||||
if (!$category = get_record('course_categories', 'id', $categoryid)) {
|
||||
error('Category ID was incorrect');
|
||||
}
|
||||
|
||||
if (course_in_meta($course)) {
|
||||
$disable_meta = get_string('metaalreadyinmeta');
|
||||
} else if ($course->metacourse) {
|
||||
if (count_records("course_meta","parent_course",$course->id) > 0) {
|
||||
$disable_meta = get_string('metaalreadyhascourses');
|
||||
}
|
||||
} else {
|
||||
$managers = count(get_users_by_capability($context, 'moodle/course:managemetacourse'));
|
||||
$participants = count(get_users_by_capability($context, 'moodle/course:view'));
|
||||
if ($participants > $managers) {
|
||||
$disable_meta = get_string('metaalreadyhasenrolments');
|
||||
}
|
||||
}
|
||||
} else { // Admin is creating a new course
|
||||
|
||||
$context = get_context_instance(CONTEXT_SYSTEM, SITEID);
|
||||
if (!has_capability('moodle/course:create',$context)) {
|
||||
error("You do not currently have course creation privileges!");
|
||||
}
|
||||
|
||||
$course = NULL;
|
||||
require_capability('moodle/course:create', get_context_instance(CONTEXT_COURSECAT, $category->id));
|
||||
} else {
|
||||
error('Either course id or category must be specified');
|
||||
}
|
||||
|
||||
if (! $site = get_site()) {
|
||||
redirect("$CFG->wwwroot/$CFG->admin/index.php");
|
||||
}
|
||||
|
||||
|
||||
|
||||
include("edit_form.php");
|
||||
|
||||
|
||||
|
||||
/// If data submitted, then process and store.
|
||||
// data_submitted tries to validate form data and returns false if
|
||||
// the user inputted data is invalid and the form should be redisplayed with
|
||||
// feedback.
|
||||
|
||||
if ($fromform=$mform->data_submitted()) {
|
||||
|
||||
|
||||
if (!empty($fromform->enrolstartdisabled)){
|
||||
$fromform->enrolstartdate = 0;
|
||||
}
|
||||
|
||||
if (!empty($fromform->enrolenddisabled)) {
|
||||
$fromform->enrolenddate = 0;
|
||||
}
|
||||
/// prepare course
|
||||
if (!empty($course)) {
|
||||
$allowedmods = array();
|
||||
if (!empty($fromform->allowedmods)) {
|
||||
$allowedmods = $fromform->allowedmods;
|
||||
unset($fromform->allowedmods);
|
||||
}
|
||||
|
||||
$fromform->timemodified = time();
|
||||
|
||||
if ($fromform->defaultrole == -1) { // Just leave it however it is
|
||||
unset($fromform->defaultrole);
|
||||
}
|
||||
if (!empty($course)) {
|
||||
// Test for and remove blocks which aren't appropriate anymore
|
||||
$page = page_create_object(PAGE_COURSE_VIEW, $course->id);
|
||||
blocks_remove_inappropriate($page);
|
||||
|
||||
// Update with the new data
|
||||
if (update_record('course', $fromform)) {
|
||||
add_to_log($course->id, "course", "update", "edit.php?id=$id", "");
|
||||
if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
|
||||
$course->restrictmodules = $fromform->restrictmodules;
|
||||
update_restricted_mods($course,$allowedmods);
|
||||
if ($am = get_records('course_allowed_modules','course',$course->id)) {
|
||||
foreach ($am as $m) {
|
||||
$allowedmods[] = $m->module;
|
||||
}
|
||||
fix_course_sortorder();
|
||||
// everything ok, no need to display any message in redirect
|
||||
redirect("view.php?id=$course->id");
|
||||
} else {
|
||||
error("Serious Error! Could not update the course record! (id = $fromform->id)");
|
||||
if (empty($course->restrictmodules)) {
|
||||
$allowedmods = explode(',',$CFG->defaultallowedmodules);
|
||||
} // it'll be greyed out but we want these by default anyway.
|
||||
}
|
||||
} else {
|
||||
$fromform->timecreated = time();
|
||||
|
||||
// place at beginning of category
|
||||
fix_course_sortorder();
|
||||
$fromform->sortorder = get_field_sql("SELECT min(sortorder)-1 FROM {$CFG->prefix}course WHERE category=$fromform->category");
|
||||
if (empty($fromform->sortorder)) {
|
||||
$fromform->sortorder = 100;
|
||||
$course->allowedmods = $allowedmods;
|
||||
|
||||
if ($course->enrolstartdate){
|
||||
$course->enrolstartdisabled = 0;
|
||||
}
|
||||
// fill in default teacher and student names to keep backwards compatibility
|
||||
$fromform->teacher = addslashes(get_string('defaultcourseteacher'));
|
||||
$fromform->teachers = addslashes(get_string('defaultcourseteachers'));
|
||||
$fromform->student = addslashes(get_string('defaultcoursestudent'));
|
||||
$fromform->students = addslashes(get_string('defaultcoursestudents'));
|
||||
|
||||
if ($newcourseid = insert_record('course', $fromform)) { // Set up new course
|
||||
|
||||
// Setup the blocks
|
||||
$page = page_create_object(PAGE_COURSE_VIEW, $newcourseid);
|
||||
blocks_repopulate_page($page); // Return value not checked because you can always edit later
|
||||
|
||||
if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
|
||||
$course = get_record("course","id",$newcourseid);
|
||||
update_restricted_mods($course,$allowedmods);
|
||||
}
|
||||
|
||||
$section = NULL;
|
||||
$section->course = $newcourseid; // Create a default section.
|
||||
$section->section = 0;
|
||||
$section->id = insert_record("course_sections", $section);
|
||||
|
||||
fix_course_sortorder();
|
||||
add_to_log(SITEID, "course", "new", "view.php?id=$newcourseid", "$fromform->fullname (ID $newcourseid)") ;
|
||||
$context = get_context_instance(CONTEXT_COURSE, $newcourseid);
|
||||
|
||||
if ($fromform->metacourse and has_capability('moodle/course:managemetacourse', $context)) { // Redirect users with metacourse capability to student import
|
||||
redirect($CFG->wwwroot."/course/importstudents.php?id=$newcourseid");
|
||||
|
||||
} else if (has_capability('moodle/role:assign', $context)) { // Redirect users with assign capability to assign users to different roles
|
||||
redirect($CFG->wwwroot."/$CFG->admin/roles/assign.php?contextid=$context->id");
|
||||
|
||||
} else { // Add current teacher and send to course
|
||||
|
||||
// find a role with legacy:edittingteacher
|
||||
if ($teacherroles = get_roles_with_capability('moodle/legacy:editingteacher', CAP_ALLOW, $context)) {
|
||||
// assign the role to this user
|
||||
$teachereditrole = array_shift($teacherroles);
|
||||
role_assign($teachereditrole->id, $USER->id, 0, $context->id);
|
||||
}
|
||||
|
||||
redirect("view.php?id=$newcourseid");
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
error("Serious Error! Could not create the new course!");
|
||||
|
||||
if ($course->enrolenddate) {
|
||||
$course->enrolenddisabled = 0;
|
||||
}
|
||||
}
|
||||
die;
|
||||
}
|
||||
|
||||
|
||||
//print the form
|
||||
/// first create the form
|
||||
$editform = new course_edit_form('edit.php', compact('course', 'category'));
|
||||
// now override defaults if course already exists
|
||||
if (!empty($course)) {
|
||||
$editform->set_data($course);
|
||||
}
|
||||
if ($editform->is_cancelled()){
|
||||
if (empty($course)) {
|
||||
redirect($CFG->wwwroot);
|
||||
} else {
|
||||
redirect($CFG->wwwroot.'/course/view.php?id='.$course->id);
|
||||
}
|
||||
|
||||
} else if ($data = $editform->get_data()) {
|
||||
|
||||
/// process data if submitted
|
||||
|
||||
//preprocess data
|
||||
if ($data->enrolstartdisabled){
|
||||
$data->enrolstartdate = 0;
|
||||
}
|
||||
|
||||
if ($data->enrolenddisabled) {
|
||||
$data->enrolenddate = 0;
|
||||
}
|
||||
|
||||
$data->timemodified = time();
|
||||
|
||||
if (empty($course)) {
|
||||
if (!$course = create_course($data)) {
|
||||
print_error('coursenotcreated');
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
|
||||
// assign default role to creator if not already having permission to manage course assignments
|
||||
if (!has_capability('moodle/course:view', $context) or !has_capability('moodle/role:assign', $context)) {
|
||||
role_assign($CFG->creatornewroleid, $USER->id, 0, $context->id);
|
||||
}
|
||||
|
||||
if ($data->metacourse and has_capability('moodle/course:managemetacourse', $context)) {
|
||||
// Redirect users with metacourse capability to student import
|
||||
redirect($CFG->wwwroot."/course/importstudents.php?id=$course->id");
|
||||
} else {
|
||||
// Redirect to roles assignment
|
||||
redirect($CFG->wwwroot."/$CFG->admin/roles/assign.php?contextid=$context->id");
|
||||
}
|
||||
|
||||
} else {
|
||||
if (!update_course($data)) {
|
||||
print_error('coursenotupdated');
|
||||
}
|
||||
|
||||
redirect($CFG->wwwroot."/course/view.php?id=$course->id");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// Print the form
|
||||
|
||||
$site = get_site();
|
||||
|
||||
$streditcoursesettings = get_string("editcoursesettings");
|
||||
$straddnewcourse = get_string("addnewcourse");
|
||||
@@ -179,20 +124,19 @@
|
||||
$strcategories = get_string("categories");
|
||||
|
||||
if (!empty($course)) {
|
||||
print_header($streditcoursesettings, "$course->fullname",
|
||||
print_header($streditcoursesettings, $course->fullname,
|
||||
"<a href=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</a>
|
||||
-> $streditcoursesettings", $focus);
|
||||
-> $streditcoursesettings", $editform->focus());
|
||||
} else {
|
||||
print_header("$site->shortname: $straddnewcourse", "$site->fullname",
|
||||
"<a href=\"../$CFG->admin/index.php\">$stradministration</a> -> ".
|
||||
"<a href=\"index.php\">$strcategories</a> -> $straddnewcourse", $focus);
|
||||
print_header("$site->shortname: $straddnewcourse", $site->fullname,
|
||||
"<a href=\"$CFG->wwwroot/$CFG->admin/index.php\">$stradministration</a> -> ".
|
||||
"<a href=\"index.php\">$strcategories</a> -> $straddnewcourse", $editform->focus());
|
||||
}
|
||||
|
||||
|
||||
print_heading($streditcoursesettings);
|
||||
|
||||
$mform->display();
|
||||
|
||||
$editform->display();
|
||||
|
||||
print_footer($course);
|
||||
|
||||
?>
|
||||
|
||||
+341
-351
@@ -1,392 +1,382 @@
|
||||
<?php
|
||||
/// For moodleform we reconstruct all the data about the form after submission before we
|
||||
/// extract data submitted. So we can then tell for select, checkbox and radio fields what
|
||||
/// options could have been submitted by the form eg submitted value for a single selection
|
||||
/// select field must be one of the options of the select field.
|
||||
<?php //$Id$
|
||||
|
||||
// $toform will be used for the default value of a field if no data has been submitted.
|
||||
require_once($CFG->libdir.'/formslib.php');
|
||||
|
||||
if (!empty($course)) {
|
||||
//this is what we do if we are editing a record from the db
|
||||
$toform = $course;
|
||||
$toform->allowedmods = array();
|
||||
if ($am = get_records("course_allowed_modules","course",$course->id)) {
|
||||
foreach ($am as $m) {
|
||||
$toform->allowedmods[] = $m->module;
|
||||
class course_edit_form extends moodleform {
|
||||
|
||||
function definition() {
|
||||
global $USER, $CFG;
|
||||
|
||||
$mform =& $this->_form;
|
||||
|
||||
$course = $this->_customdata['course'];
|
||||
$category = $this->_customdata['category'];
|
||||
|
||||
$systemcontext = get_context_instance(CONTEXT_SYSTEM);
|
||||
$categorycontext = get_context_instance(CONTEXT_COURSECAT, $category->id);
|
||||
|
||||
$disable_meta = false; // basic meta course state protection; server-side security checks not needed
|
||||
|
||||
if (!empty($course)) {
|
||||
$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
$context = $coursecontext;
|
||||
|
||||
if (course_in_meta($course)) {
|
||||
$disable_meta = get_string('metaalreadyinmeta');
|
||||
|
||||
} else if ($course->metacourse) {
|
||||
if (count_records('course_meta', 'parent_course', $course->id) > 0) {
|
||||
$disable_meta = get_string('metaalreadyhascourses');
|
||||
}
|
||||
|
||||
} else {
|
||||
$managers = count(get_users_by_capability($coursecontext, 'moodle/course:managemetacourse'));
|
||||
$participants = count(get_users_by_capability($coursecontext, 'moodle/course:view'));
|
||||
if ($participants > $managers) {
|
||||
$disable_meta = get_string('metaalreadyhasenrolments');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (empty($course->restrictmodules)) {
|
||||
$toform->allowedmods = explode(',',$CFG->defaultallowedmodules);
|
||||
} // it'll be greyed out but we want these by default anyway.
|
||||
}
|
||||
} else {
|
||||
//this is a brand new course!
|
||||
$toform->startdate = time() + 3600 * 24;
|
||||
$toform->fullname = get_string("defaultcoursefullname");
|
||||
$toform->shortname = get_string("defaultcourseshortname");
|
||||
$toform->summary = get_string("defaultcoursesummary");
|
||||
$toform->format = "weeks";
|
||||
$toform->password = "";
|
||||
$toform->guest = 0;
|
||||
$toform->numsections = 10;
|
||||
$toform->idnumber = '';
|
||||
$toform->cost = '';
|
||||
$toform->currency = empty($CFG->enrol_currency) ? 'USD' : $CFG->enrol_currency;
|
||||
$toform->newsitems = 5;
|
||||
$toform->showgrades = 1;
|
||||
$toform->groupmode = 0;
|
||||
$toform->groupmodeforce = 0;
|
||||
$toform->category = $category;
|
||||
$toform->id = "";
|
||||
$toform->visible = 1;
|
||||
$toform->allowedmods = array();
|
||||
if ($CFG->restrictmodulesfor == 'all') {
|
||||
$toform->allowedmods = explode(',',$CFG->defaultallowedmodules);
|
||||
if (!empty($CFG->restrictbydefault)) {
|
||||
$toform->restrictmodules = 1;
|
||||
}
|
||||
$coursecontext = null;
|
||||
$context = $categorycontext;
|
||||
}
|
||||
|
||||
/// form definition with new course defaults
|
||||
//--------------------------------------------------------------------------------
|
||||
$mform->addElement('header','general', get_string('general', 'form'));
|
||||
|
||||
}
|
||||
//must have create course capability in both categories in order to move course
|
||||
if (has_capability('moodle/course:create', $categorycontext)) {
|
||||
$displaylist = array();
|
||||
$parentlist = array();
|
||||
make_categories_list($displaylist, $parentlist);
|
||||
foreach ($displaylist as $key=>$val) {
|
||||
if (!has_capability('moodle/course:create', get_context_instance(CONTEXT_COURSECAT, $key))) {
|
||||
unset($displaylist[$key]);
|
||||
}
|
||||
}
|
||||
$mform->addElement('select', 'category', get_string('category'), $displaylist);
|
||||
} else {
|
||||
$mform->addElement('hidden', 'category', null);
|
||||
}
|
||||
$mform->setHelpButton('category', array('coursecategory', get_string('category')));
|
||||
$mform->setDefault('category', $category->id);
|
||||
$mform->setType('category', PARAM_INT);
|
||||
|
||||
$mform->addElement('header','general', get_string("general"));
|
||||
if (has_capability('moodle/course:create', get_context_instance(CONTEXT_COURSECAT, $toform->category))) {
|
||||
$displaylist = array();
|
||||
$parentlist = array();
|
||||
make_categories_list($displaylist, $parentlist);
|
||||
$mform->addElement('select', "category", get_string("category"), $displaylist );
|
||||
}
|
||||
$mform->setDefault('fullname', $toform->fullname);
|
||||
$mform->addElement('text','fullname', get_string("fullname"),'maxlength="254" size="50"');
|
||||
$mform->setDefault('shortname', $toform->shortname);
|
||||
$mform->addElement('text','shortname', get_string("shortname"),'maxlength="15" size="10"');
|
||||
$mform->setDefault('idnumber', $toform->idnumber);
|
||||
$mform->addElement('text','idnumber', get_string("idnumbercourse"),'maxlength="100" size="10"');
|
||||
$mform->setDefault('summary', $toform->summary);
|
||||
$mform->addElement('htmleditor','summary', get_string("summary"), array('rows'=>'10', 'cols'=>'65'));
|
||||
$mform->addElement('text','fullname', get_string('fullname'),'maxlength="254" size="50"');
|
||||
$mform->setHelpButton('fullname', array('coursefullname', get_string('fullname')), true);
|
||||
$mform->setDefault('fullname', get_string('defaultcoursefullname'));
|
||||
$mform->addRule('fullname', get_string('missingfullname'), 'required', null, 'client');
|
||||
$mform->setType('fullname', PARAM_MULTILANG);
|
||||
|
||||
$mform->setDefault('format', $toform->format);
|
||||
$courseformats = get_list_of_plugins("course/format");
|
||||
$formcourseformats = array();
|
||||
$mform->addElement('text','shortname', get_string('shortname'),'maxlength="15" size="10"');
|
||||
$mform->setHelpButton('shortname', array('courseshortname', get_string('shortname')), true);
|
||||
$mform->setDefault('shortname', get_string('defaultcourseshortname'));
|
||||
$mform->addRule('shortname', get_string('missingshortname'), 'required', null, 'client');
|
||||
$mform->setType('shortname', PARAM_MULTILANG);
|
||||
|
||||
foreach ($courseformats as $courseformat) {
|
||||
$formcourseformats["$courseformat"] = get_string("format$courseformat");
|
||||
}
|
||||
$mform->addElement('text','idnumber', get_string('idnumbercourse'),'maxlength="100" size="10"');
|
||||
$mform->setHelpButton('idnumber', array('courseidnumber', get_string('idnumbercourse')), true);
|
||||
$mform->setType('idnumber', PARAM_RAW);
|
||||
|
||||
$mform->addElement('select', 'format', get_string("format"), $formcourseformats );
|
||||
$mform->addElement('htmleditor','summary', get_string('summary'), array('rows'=> '10', 'cols'=>'65'));
|
||||
$mform->setHelpButton('summary', array('text', get_string('helptext')), true);
|
||||
$mform->setDefault('summary', get_string('defaultcoursesummary'));
|
||||
$mform->addRule('summary', get_string('missingsummary'), 'required', null, 'client');
|
||||
$mform->setType('summary', PARAM_RAW);
|
||||
|
||||
$mform->setDefault('numsections', $toform->numsections);
|
||||
for ($i=1; $i<=52; $i++) {
|
||||
$sectionmenu[$i] = "$i";
|
||||
}
|
||||
$mform->addElement('select', 'numsections', get_string("numberweeks"), $sectionmenu);
|
||||
$mform->setDefault('startdate', $toform->startdate);
|
||||
$mform->addElement('date_selector', 'startdate', get_string('startdate'));
|
||||
$courseformats = get_list_of_plugins('course/format');
|
||||
$formcourseformats = array();
|
||||
foreach ($courseformats as $courseformat) {
|
||||
$formcourseformats["$courseformat"] = get_string("format$courseformat","format_$courseformat");
|
||||
if($formcourseformats["$courseformat"]=="[[format$courseformat]]") {
|
||||
$formcourseformats["$courseformat"] = get_string("format$courseformat");
|
||||
}
|
||||
}
|
||||
$mform->addElement('select', 'format', get_string('format'), $formcourseformats);
|
||||
$mform->setHelpButton('format', array('courseformats', get_string('courseformats')), true);
|
||||
$mform->setDefault('format', 'weeks');
|
||||
|
||||
$mform->setDefault('hiddensections',(isset($toform->hiddensections))?$toform->hiddensections:0);
|
||||
unset($choices);
|
||||
$choices["0"] = get_string("hiddensectionscollapsed");
|
||||
$choices["1"] = get_string("hiddensectionsinvisible");
|
||||
$mform->addElement('select', 'hiddensections', get_string("hiddensections"), $choices);
|
||||
for ($i=1; $i<=52; $i++) {
|
||||
$sectionmenu[$i] = "$i";
|
||||
}
|
||||
$mform->addElement('select', 'numsections', get_string('numberweeks'), $sectionmenu);
|
||||
$mform->setDefault('numsections', 10);
|
||||
|
||||
$mform->setDefault('newsitems', $toform->newsitems);
|
||||
$newsitem = get_string("newsitem");
|
||||
$newsitems = get_string("newsitems");
|
||||
$options = array("0" => "0 $newsitems",
|
||||
"1" => "1 $newsitem",
|
||||
"2" => "2 $newsitems",
|
||||
"3" => "3 $newsitems",
|
||||
"4" => "4 $newsitems",
|
||||
"5" => "5 $newsitems",
|
||||
"6" => "6 $newsitems",
|
||||
"7" => "7 $newsitems",
|
||||
"8" => "8 $newsitems",
|
||||
"9" => "9 $newsitems",
|
||||
"10" => "10 $newsitems");
|
||||
$mform->addElement('select', 'newsitems', get_string("newsitemsnumber"), $options);
|
||||
$mform->addElement('date_selector', 'startdate', get_string('startdate'));
|
||||
$mform->setHelpButton('startdate', array('coursestartdate', get_string('startdate')), true);
|
||||
$mform->setDefault('startdate', time() + 3600 * 24);
|
||||
|
||||
$mform->setDefault('showgrades', $toform->showgrades);
|
||||
unset($choices);
|
||||
$choices["0"] = get_string("no");
|
||||
$choices["1"] = get_string("yes");
|
||||
$mform->addElement('select', 'showgrades', get_string("showgrades"), $choices);
|
||||
unset($choices);
|
||||
$mform->setDefault('showreports',(isset($toform->showreports))?$toform->showreports:0);
|
||||
$choices["0"] = get_string("no");
|
||||
$choices["1"] = get_string("yes");
|
||||
$mform->addElement('select', 'showreports', get_string("showreports"), $choices);
|
||||
$mform->setDefault('maxbytes',(isset($toform->maxbytes))?$toform->maxbytes:0);
|
||||
$choices = get_max_upload_sizes($CFG->maxbytes);
|
||||
$mform->addElement('select', 'maxbytes', get_string("maximumupload"), $choices);
|
||||
if (!empty($CFG->allowcoursethemes)) {
|
||||
$mform->setDefault('theme',(isset($toform->theme))?$toform->theme:'');
|
||||
|
||||
$themes=array();
|
||||
$themes[''] = get_string("forceno");
|
||||
$themes += get_list_of_themes();
|
||||
$mform->addElement('select', 'theme', get_string("forcetheme"), $themes);
|
||||
}
|
||||
unset($choices);
|
||||
$mform->setDefault('metacourse',(isset($toform->metacourse))?$toform->metacourse:0);
|
||||
$choices = array();
|
||||
$choices['0'] = get_string('hiddensectionscollapsed');
|
||||
$choices['1'] = get_string('hiddensectionsinvisible');
|
||||
$mform->addElement('select', 'hiddensections', get_string('hiddensections'), $choices);
|
||||
$mform->setHelpButton('hiddensections', array('coursehiddensections', get_string('hiddensections')), true);
|
||||
$mform->setDefault('hiddensections', 0);
|
||||
|
||||
$options = range(0, 10);
|
||||
$mform->addElement('select', 'newsitems', get_string('newsitemsnumber'), $options);
|
||||
$mform->setHelpButton('newsitems', array('coursenewsitems', get_string('newsitemsnumber')), true);
|
||||
$mform->setDefault('newsitems', 5);
|
||||
|
||||
$mform->addElement('selectyesno', 'showgrades', get_string('showgrades'));
|
||||
$mform->setHelpButton('showgrades', array('coursegrades', get_string('grades')), true);
|
||||
$mform->setDefault('showgrades', 1);
|
||||
|
||||
$mform->addElement('selectyesno', 'showreports', get_string('showreports'));
|
||||
$mform->setHelpButton('showreports', array('coursereports', get_string('activityreport')), true);
|
||||
$mform->setDefault('showreports', 0);
|
||||
|
||||
$choices = get_max_upload_sizes($CFG->maxbytes);
|
||||
$mform->addElement('select', 'maxbytes', get_string('maximumupload'), $choices);
|
||||
$mform->setHelpButton('maxbytes', array('courseuploadsize', get_string('maximumupload')), true);
|
||||
|
||||
if (!empty($CFG->allowcoursethemes)) {
|
||||
$themes=array();
|
||||
$themes[''] = get_string('forceno');
|
||||
$themes += get_list_of_themes();
|
||||
$mform->addElement('select', 'theme', get_string('forcetheme'), $themes);
|
||||
}
|
||||
|
||||
if (empty($disable_meta)) {
|
||||
$meta=array();
|
||||
$meta[0] = get_string('no');
|
||||
$meta[1] = get_string('yes');
|
||||
$mform->addElement('select', 'metacourse', get_string("managemeta"), $meta);
|
||||
}else{
|
||||
$mform->addElement('static', 'metacourse', get_string("managemeta"),
|
||||
((empty($toform->metacourse)) ? get_string("no") : get_string("yes"))
|
||||
. " - $disable_meta ");
|
||||
|
||||
}
|
||||
|
||||
$mform->setDefault('defaultrole',(isset($toform->defaultrole))?$toform->defaultrole:0);
|
||||
$roles = get_assignable_roles($context);
|
||||
asort($roles);
|
||||
$choices = array();
|
||||
|
||||
if ($sitedefaultrole = get_record('role', 'id', $CFG->defaultcourseroleid)) {
|
||||
$choices[0] = get_string('sitedefault').' ('.$sitedefaultrole->name.')';
|
||||
} else {
|
||||
$choices[0] = get_string('sitedefault');
|
||||
}
|
||||
|
||||
$choices = $choices + $roles;
|
||||
$defaultroleelement=$mform->addElement('select', 'defaultrole', get_string('defaultrole', 'role'), $choices );
|
||||
if ($mform->exportValue('defaultrole') && !isset($roles[$mform->exportValue('defaultrole')])) { // Existing setting is one we can't choose
|
||||
if ($coursedefaultrole = get_record('role', 'id', $mform->exportValue('defaultrole'))) {
|
||||
|
||||
$defaultroleelement->addOption(get_string('currentrole', 'role').' ('.$coursedefaultrole->name.')',-1);
|
||||
if ($disable_meta === false) {
|
||||
$mform->addElement('select', 'metacourse', get_string('managemeta'), $meta);
|
||||
$mform->setHelpButton('metacourse', array('metacourse', get_string('metacourse')), true);
|
||||
$mform->setDefault('metacourse', 0);
|
||||
} else {
|
||||
$defaultroleelement->addOption(get_string('currentrole', 'role'),-1);
|
||||
// no metacourse element - we do not want to change it anyway!
|
||||
$mform->addElement('static', 'nometacourse', get_string('managemeta'),
|
||||
((empty($course->metacourse)) ? $meta[0] : $meta[1]) . " - $disable_meta ");
|
||||
$mform->setHelpButton('nometacourse', array('metacourse', get_string('metacourse')), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$mform->addElement('header','enrolhdr', get_string("enrolment"));
|
||||
$mform->setDefault('enrol',(isset($toform->enrol))?$toform->enrol:'');
|
||||
|
||||
$modules = explode(',', $CFG->enrol_plugins_enabled);
|
||||
foreach ($modules as $module) {
|
||||
$name = get_string("enrolname", "enrol_$module");
|
||||
$plugin = enrolment_factory::factory($module);
|
||||
if (method_exists($plugin, 'print_entry')) {
|
||||
$choices[$name] = $module;
|
||||
$roles = get_assignable_roles($context);
|
||||
if (!empty($course)) {
|
||||
// add current default role, so that it is selectable even when user can not assign it
|
||||
if ($current_role = get_record('role', 'id', $course->defaultrole)) {
|
||||
$roles[$current_role->id] = strip_tags(format_string($current_role->name, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
asort($choices);
|
||||
$choices = array_flip($choices);
|
||||
$choices = array_merge(array('' => get_string('sitedefault').' ('.get_string("enrolname", "enrol_$CFG->enrol").')'), $choices);
|
||||
$mform->addElement('select', 'enrol', get_string("enrolmentplugins"), $choices );
|
||||
|
||||
$mform->setDefault('enrollable',(isset($toform->enrollable))?$toform->enrollable:1);
|
||||
$radio = array();
|
||||
$radio[] = &moodleform::createElement('radio', 'enrollable', null, get_string("no"), 0);
|
||||
$radio[] = &moodleform::createElement('radio', 'enrollable', null, get_string("yes"), 1);
|
||||
$radio[] = &moodleform::createElement('radio', 'enrollable', null, get_string("enroldate"), 2);
|
||||
$mform->addGroup($radio, 'enrollable', get_string("enrollable"), ' ', false);
|
||||
|
||||
$mform->setDefault('enrolstartdate',(isset($toform->enrolstartdate))?$toform->enrolstartdate:0);
|
||||
$mform->setDefault('enrolstartdisabled',
|
||||
(!isset($toform->enrolstartdate)||
|
||||
(isset($toform->enrolstartdate)&&!$toform->enrolstartdate)
|
||||
?1:0));
|
||||
$enroldatestartgrp = array();
|
||||
$enroldatestartgrp[] = &moodleform::createElement('date_selector', 'enrolstartdate');
|
||||
$enroldatestartgrp[] = &moodleform::createElement('checkbox', 'enrolstartdisabled', null, get_string('disable'));
|
||||
$mform->addGroup($enroldatestartgrp, '', get_string('enrolstartdate'), ' ', false);
|
||||
|
||||
$mform->setDefault('enrolenddate',(isset($toform->enrolenddate))?$toform->enrolenddate:0);
|
||||
$mform->setDefault('enrolenddisabled',
|
||||
(!isset($toform->enrolenddate)||
|
||||
(isset($toform->enrolenddate)&&!$toform->enrolenddate)
|
||||
?1:0));
|
||||
$enroldateendgrp = array();
|
||||
$enroldateendgrp[] = &moodleform::createElement('date_selector', 'enrolenddate');
|
||||
$enroldateendgrp[] = &moodleform::createElement('checkbox', 'enrolenddisabled', null, get_string('disable'));
|
||||
$mform->addGroup($enroldateendgrp, 'enroldateendgrp', get_string('enrolenddate'), ' ', false);
|
||||
|
||||
$mform->setDefault('enrolperiod',(isset($toform->enrolperiod))?$toform->enrolperiod:0);
|
||||
$periodmenu=array();
|
||||
$periodmenu[0] = get_string('unlimited');
|
||||
for ($i=1; $i<=365; $i++) {
|
||||
$seconds = $i * 86400;
|
||||
$periodmenu[$seconds] = get_string('numdays', '', $i);
|
||||
}
|
||||
$mform->addElement('select', 'enrolperiod', get_string("enrolperiod"), $periodmenu);
|
||||
|
||||
|
||||
$mform->addElement('header','expirynotifyhdr', get_string("expirynotify"));
|
||||
|
||||
$mform->setDefault('expirynotify',(isset($toform->expirynotify))?$toform->expirynotify:0);
|
||||
unset($choices);
|
||||
$choices["0"] = get_string("no");
|
||||
$choices["1"] = get_string("yes");
|
||||
$mform->addElement('select', 'expirynotify', get_string("expirynotify"), $choices);
|
||||
$mform->setDefault('notifystudents',(isset($toform->notifystudents))?$toform->notifystudents:0);
|
||||
$mform->addElement('select', 'notifystudents', get_string("expirynotifystudents"), $choices);
|
||||
$mform->setDefault('expirythreshold',(isset($toform->expirythreshold))?$toform->expirythreshold:10 * 86400);
|
||||
$thresholdmenu=array();
|
||||
for ($i=1; $i<=30; $i++) {
|
||||
$seconds = $i * 86400;
|
||||
$thresholdmenu[$seconds] = get_string('numdays', '', $i);
|
||||
}
|
||||
$mform->addElement('select', 'expirythreshold', get_string("expirythreshold"), $thresholdmenu);
|
||||
|
||||
|
||||
$mform->addElement('header','', get_string("groupmode"));
|
||||
$choices = array();
|
||||
if ($sitedefaultrole = get_record('role', 'id', $CFG->defaultcourseroleid)) {
|
||||
$choices[0] = get_string('sitedefault').' ('.$sitedefaultrole->name.')';
|
||||
} else {
|
||||
$choices[0] = get_string('sitedefault');
|
||||
}
|
||||
$choices = $choices + $roles;
|
||||
$mform->addElement('select', 'defaultrole', get_string('defaultrole', 'role'), $choices);
|
||||
$mform->setDefault('defaultrole', 0);
|
||||
|
||||
$mform->setDefault('groupmode', $toform->groupmode);
|
||||
unset($choices);
|
||||
$choices[NOGROUPS] = get_string("groupsnone");
|
||||
$choices[SEPARATEGROUPS] = get_string("groupsseparate");
|
||||
$choices[VISIBLEGROUPS] = get_string("groupsvisible");
|
||||
$mform->addElement('select', 'groupmode', get_string("groupmode"), $choices);
|
||||
$mform->setDefault('groupmodeforce', $toform->groupmodeforce);
|
||||
unset($choices);
|
||||
$choices["0"] = get_string("no");
|
||||
$choices["1"] = get_string("yes");
|
||||
$mform->addElement('select', 'groupmodeforce', get_string("force"), $choices);
|
||||
//--------------------------------------------------------------------------------
|
||||
$mform->addElement('header','enrolhdr', get_string('enrolments'));
|
||||
|
||||
$mform->addElement('header','', get_string("availability"));
|
||||
$choices = array();
|
||||
$modules = explode(',', $CFG->enrol_plugins_enabled);
|
||||
foreach ($modules as $module) {
|
||||
$name = get_string('enrolname', "enrol_$module");
|
||||
$plugin = enrolment_factory::factory($module);
|
||||
if (method_exists($plugin, 'print_entry')) {
|
||||
$choices[$name] = $module;
|
||||
}
|
||||
}
|
||||
asort($choices);
|
||||
$choices = array_flip($choices);
|
||||
$choices = array_merge(array('' => get_string('sitedefault').' ('.get_string('enrolname', "enrol_$CFG->enrol").')'), $choices);
|
||||
$mform->addElement('select', 'enrol', get_string('enrolmentplugins'), $choices);
|
||||
$mform->setHelpButton('enrol', array('courseenrolmentplugins', get_string('enrolmentplugins')), true);
|
||||
|
||||
$mform->setDefault('visible', $toform->visible);
|
||||
unset($choices);
|
||||
$choices["0"] = get_string("courseavailablenot");
|
||||
$choices["1"] = get_string("courseavailable");
|
||||
$mform->addElement('select', 'visible', get_string("availability"), $choices);
|
||||
$mform->setDefault('password', $toform->password);
|
||||
$mform->addElement('text', 'password', get_string("enrolmentkey"), 'size="25"');
|
||||
$mform->setDefault('guest', $toform->guest);
|
||||
unset($choices);
|
||||
$choices["0"] = get_string("guestsno");
|
||||
$choices["1"] = get_string("guestsyes");
|
||||
$choices["2"] = get_string("guestskey");
|
||||
$mform->addElement('select', 'guest', get_string("opentoguests"), $choices);
|
||||
if (isset($course) && method_exists(enrolment_factory::factory($course->enrol), 'print_entry') && $course->enrol != 'manual') {
|
||||
$mform->setDefault('cost', $toform->cost);
|
||||
$mform->setDefault('currency', $toform->currency);
|
||||
$costgroup=array();
|
||||
$currencies = get_list_of_currencies();
|
||||
$costgroup[]= &moodleform::createElement('text','cost', '', 'maxlength="6" size="6"');
|
||||
$costgroup[]= &moodleform::createElement('select', 'currency', '', $currencies);
|
||||
$mform->addGroup($costgroup, 'costgrp', get_string("cost"), ' ', false);
|
||||
$radio = array();
|
||||
$radio[] = &MoodleQuickForm::createElement('radio', 'enrollable', null, get_string('no'), 0);
|
||||
$radio[] = &MoodleQuickForm::createElement('radio', 'enrollable', null, get_string('yes'), 1);
|
||||
$radio[] = &MoodleQuickForm::createElement('radio', 'enrollable', null, get_string('enroldate'), 2);
|
||||
$mform->addGroup($radio, 'enrollable', get_string('enrollable'), ' ', false);
|
||||
$mform->setHelpButton('enrollable', array('courseenrollable', get_string('enrollable')), true);
|
||||
$mform->setDefault('enrollable', 1);
|
||||
|
||||
$enroldatestartgrp = array();
|
||||
$enroldatestartgrp[] = &MoodleQuickForm::createElement('date_selector', 'enrolstartdate');
|
||||
$enroldatestartgrp[] = &MoodleQuickForm::createElement('checkbox', 'enrolstartdisabled', null, get_string('disable'));
|
||||
$mform->addGroup($enroldatestartgrp, 'enrolstartdategrp', get_string('enrolstartdate'), ' ', false);
|
||||
$mform->setDefault('enrolstartdate', 0);
|
||||
$mform->setDefault('enrolstartdisabled', 1);
|
||||
$mform->disabledIf('enrolstartdategrp', 'enrolstartdisabled', 'checked');
|
||||
|
||||
$enroldateendgrp = array();
|
||||
$enroldateendgrp[] = &MoodleQuickForm::createElement('date_selector', 'enrolenddate');
|
||||
$enroldateendgrp[] = &MoodleQuickForm::createElement('checkbox', 'enrolenddisabled', null, get_string('disable'));
|
||||
$mform->addGroup($enroldateendgrp, 'enroldateendgrp', get_string('enrolenddate'), ' ', false);
|
||||
$mform->setDefault('enrolenddate', 0);
|
||||
$mform->setDefault('enrolenddisabled', 1);
|
||||
$mform->disabledIf('enroldateendgrp', 'enrolenddisabled', 'checked');
|
||||
|
||||
$periodmenu=array();
|
||||
$periodmenu[0] = get_string('unlimited');
|
||||
for ($i=1; $i<=365; $i++) {
|
||||
$seconds = $i * 86400;
|
||||
$periodmenu[$seconds] = get_string('numdays', '', $i);
|
||||
}
|
||||
$mform->addElement('select', 'enrolperiod', get_string('enrolperiod'), $periodmenu);
|
||||
$mform->setDefault('enrolperiod', 0);
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
$mform->addElement('header','expirynotifyhdr', get_string('expirynotify'));
|
||||
|
||||
$choices = array();
|
||||
$choices['0'] = get_string('no');
|
||||
$choices['1'] = get_string('yes');
|
||||
$mform->addElement('select', 'expirynotify', get_string('notify'), $choices);
|
||||
$mform->setHelpButton('expirynotify', array('expirynotify', get_string('expirynotify')), true);
|
||||
$mform->setDefault('expirynotify', 0);
|
||||
|
||||
$mform->addElement('select', 'notifystudents', get_string('expirynotifystudents'), $choices);
|
||||
$mform->setHelpButton('notifystudents', array('expirynotifystudents', get_string('expirynotifystudents')), true);
|
||||
$mform->setDefault('notifystudents', 0);
|
||||
|
||||
$thresholdmenu=array();
|
||||
for ($i=1; $i<=30; $i++) {
|
||||
$seconds = $i * 86400;
|
||||
$thresholdmenu[$seconds] = get_string('numdays', '', $i);
|
||||
}
|
||||
$mform->addElement('select', 'expirythreshold', get_string('expirythreshold'), $thresholdmenu);
|
||||
$mform->setHelpButton('expirythreshold', array('expirythreshold', get_string('expirythreshold')), true);
|
||||
$mform->setDefault('expirythreshold', 10 * 86400);
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
$mform->addElement('header','', get_string('groups', 'group'));
|
||||
|
||||
$choices = array();
|
||||
$choices[NOGROUPS] = get_string('no');
|
||||
$choices[SEPARATEGROUPS] = get_string('separate');
|
||||
$choices[VISIBLEGROUPS] = get_string('visible');
|
||||
$mform->addElement('select', 'groupmode', get_string('groupmode'), $choices);
|
||||
$mform->setHelpButton('groupmode', array('groupmode', get_string('groupmode')), true);
|
||||
$mform->setDefault('groupmode', 0);
|
||||
|
||||
$choices = array();
|
||||
$choices['0'] = get_string('no');
|
||||
$choices['1'] = get_string('yes');
|
||||
$mform->addElement('select', 'groupmodeforce', get_string('force'), $choices);
|
||||
$mform->setHelpButton('groupmodeforce', array('groupmodeforce', get_string('groupmodeforce')), true);
|
||||
$mform->setDefault('groupmodeforce', 0);
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
$mform->addElement('header','', get_string('availability'));
|
||||
|
||||
$choices = array();
|
||||
$choices['0'] = get_string('courseavailablenot');
|
||||
$choices['1'] = get_string('courseavailable');
|
||||
$mform->addElement('select', 'visible', get_string('availability'), $choices);
|
||||
$mform->setHelpButton('visible', array('courseavailability', get_string('availability')), true);
|
||||
$mform->setDefault('visible', 1);
|
||||
|
||||
$mform->addElement('text', 'password', get_string('enrolmentkey'), 'size="25"');
|
||||
$mform->setHelpButton('password', array('enrolmentkey', get_string('enrolmentkey')), true);
|
||||
$mform->setDefault('password', '');
|
||||
$mform->setType('password', PARAM_RAW);
|
||||
|
||||
$choices = array();
|
||||
$choices['0'] = get_string('guestsno');
|
||||
$choices['1'] = get_string('guestsyes');
|
||||
$choices['2'] = get_string('guestskey');
|
||||
$mform->addElement('select', 'guest', get_string('opentoguests'), $choices);
|
||||
$mform->setHelpButton('guest', array('guestaccess', get_string('opentoguests')), true);
|
||||
$mform->setDefault('guest', 0);
|
||||
|
||||
if (!empty($course) && method_exists(enrolment_factory::factory($course->enrol), 'print_entry') && $course->enrol != 'manual') {
|
||||
$costgroup=array();
|
||||
$currencies = get_list_of_currencies();
|
||||
$costgroup[]= &MoodleQuickForm::createElement('text','cost', '', 'maxlength="6" size="6"');
|
||||
$costgroup[]= &MoodleQuickForm::createElement('select', 'currency', '', $currencies);
|
||||
$mform->addGroup($costgroup, 'costgrp', get_string('cost'), ' ', false);
|
||||
//defining a rule for a form element within a group :
|
||||
$costgrprules=array();
|
||||
//set the message to null to tell Moodle to use a default message
|
||||
//available for most rules, fetched from language pack (err_{rulename}).
|
||||
$costgrprules['cost'][]=array(null, 'numeric', null, 'client');
|
||||
$mform->addGroupRule('costgrp',$costgrprules);
|
||||
$mform->setHelpButton('costgrp', array('cost', get_string('cost')), true);
|
||||
$mform->setDefault('cost', '');
|
||||
$mform->setDefault('currency', empty($CFG->enrol_currency) ? 'USD' : $CFG->enrol_currency);
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
$mform->addElement('header','', get_string('language'));
|
||||
|
||||
$languages=array();
|
||||
$languages[''] = get_string('forceno');
|
||||
$languages += get_list_of_languages();
|
||||
$mform->addElement('select', 'lang', get_string('forcelanguage'), $languages);
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
if (has_capability('moodle/site:config', $systemcontext) && ((!empty($course->requested) && $CFG->restrictmodulesfor == 'requested') || $CFG->restrictmodulesfor == 'all')) {
|
||||
$mform->addElement('header', '', get_string('restrictmodules'));
|
||||
|
||||
$options = array();
|
||||
$options['0'] = get_string('no');
|
||||
$options['1'] = get_string('yes');
|
||||
$mform->addElement('select', 'restrictmodules', get_string('restrictmodules'), $options);
|
||||
$mods = array(0=>get_string('allownone'));
|
||||
$mods += get_records_menu('modules', '','','','id, name');
|
||||
|
||||
|
||||
$mform->addElement('select', 'allowedmods', get_string('to'), $mods,
|
||||
array('multiple'=>'multiple', 'size'=>'10'));
|
||||
$mform->disabledIf('allowedmods', 'restrictmodules', 'eq', 0);
|
||||
} else {
|
||||
$mform->addElement('hidden', 'restrictmodules', null);
|
||||
}
|
||||
if ($CFG->restrictmodulesfor == 'all') {
|
||||
$mform->setDefault('allowedmods', explode(',',$CFG->defaultallowedmodules));
|
||||
if (!empty($CFG->restrictbydefault)) {
|
||||
$mform->setDefault('restrictmodules', 1);
|
||||
}
|
||||
}
|
||||
$mform->setType('restrictmodules', PARAM_INT);
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
$this->add_action_buttons();
|
||||
//--------------------------------------------------------------------------------
|
||||
$mform->addElement('hidden', 'id', null);
|
||||
$mform->setType('id', PARAM_INT);
|
||||
|
||||
// fill in default teacher and student names to keep backwards compatibility for a while
|
||||
$mform->addElement('hidden', 'teacher', get_string('defaultcourseteacher'));
|
||||
$mform->addElement('hidden', 'teachers', get_string('defaultcourseteachers'));
|
||||
$mform->addElement('hidden', 'student', get_string('defaultcoursestudent'));
|
||||
$mform->addElement('hidden', 'students', get_string('defaultcoursestudents'));
|
||||
}
|
||||
|
||||
$mform->addElement('header','', get_string("language"));
|
||||
$mform->setDefault('lang',(isset($toform->lang))?$toform->lang:'');
|
||||
$languages=array();
|
||||
$languages[''] = get_string("forceno");
|
||||
$languages += get_list_of_languages();
|
||||
$mform->addElement('select', 'lang', get_string("forcelanguage"), $languages);
|
||||
|
||||
if(!has_capability('moodle/course:create', get_context_instance(CONTEXT_COURSECAT, $toform->category))) {
|
||||
$mform->addElement('hidden', 'category', null);
|
||||
}
|
||||
$mform->addElement('hidden', 'id', null);
|
||||
|
||||
$mform->setDefault('restrictmodules',(isset($toform->restrictmodules))?$toform->restrictmodules:0);
|
||||
if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID)) && ((!empty($course->requested) && $CFG->restrictmodulesfor == 'requested') || $CFG->restrictmodulesfor == 'all')) {
|
||||
unset($options);
|
||||
$options[0] = get_string("no");
|
||||
$options[1] = get_string("yes");
|
||||
$mform->addElement('header', '', get_string("restrictmodules"));
|
||||
$mform->addElement('select', 'restrictmodules', get_string("restrictmodules"), $options,
|
||||
array('onChange'=>"document.getElementById('id_allowedmods').disabled=".
|
||||
"((this.selectedIndex==0)?true:false);"));
|
||||
$mods = array(0=>get_string('allownone'));
|
||||
$mods += get_records_menu("modules", '','','','id, name');
|
||||
$disabled=($mform->exportValue('restrictmodules')==1) ? array() :array('disabled' => 'disabled') ;
|
||||
|
||||
|
||||
$mform->setDefault('allowedmods', $toform->allowedmods);
|
||||
$mform->addElement('select', 'allowedmods', get_string("to"),$mods,
|
||||
array('multiple'=>"multiple", 'size'=>"10", 'id'=>"allowedmods")
|
||||
+$disabled);
|
||||
}else {
|
||||
$mform->addElement('hidden', 'restrictmodules', $toform->restrictmodules);
|
||||
}
|
||||
$mform->setHelpButtons(array('category'=>array("coursecategory", get_string("category")),
|
||||
'fullname'=>array("coursefullname", get_string("fullname")),
|
||||
'shortname'=>array("courseshortname", get_string("shortname")),
|
||||
'idnumber'=>array("courseidnumber", get_string("idnumbercourse")),
|
||||
'summary'=>array("text", get_string("helptext")),
|
||||
'format'=>array("courseformats", get_string("courseformats")),
|
||||
'summary'=>array("coursestartdate", get_string("startdate")),
|
||||
'enrol'=>array("courseenrolmentplugins", get_string("enrolmentplugins")),
|
||||
'enrollable'=>array("courseenrollable", get_string("enrollable")),
|
||||
'expirynotify'=>array("expirynotify", get_string("expirynotify")),
|
||||
'notifystudents'=>array("expirynotifystudents", get_string("expirynotifystudents")),
|
||||
'expirythreshold'=>array("expirythreshold", get_string("expirythreshold")),
|
||||
'groupmode'=>array("groupmode", get_string("groupmode")),
|
||||
'groupmodeforce'=>array("groupmodeforce", get_string("groupmodeforce")),
|
||||
'visible'=>array("courseavailability", get_string("availability")),
|
||||
'password'=>array("enrolmentkey", get_string("enrolmentkey")),
|
||||
'guest'=>array("guestaccess", get_string("opentoguests")),
|
||||
'costgrp'=>array("cost", get_string("cost")),
|
||||
'hiddensections'=>array("coursehiddensections", get_string("hiddensections")),
|
||||
'newsitems'=>array("coursenewsitems", get_string("newsitemsnumber")),
|
||||
'showgrades'=>array("coursegrades", get_string("grades")),
|
||||
'showreports'=>array("coursereports", get_string("activityreport")),
|
||||
'maxbytes'=>array("courseuploadsize", get_string("maximumupload")),
|
||||
'metacourse'=>array("metacourse", get_string("metacourse")),
|
||||
'defaultrole'=>array("coursedefaultrole", get_string("defaultrole", 'role'))),
|
||||
true);
|
||||
$mform->addElement('submit', 'submit', get_string("savechanges"));
|
||||
|
||||
$mform->addRule('fullname', get_string("missingfullname"), 'required', null, 'client');
|
||||
$mform->addRule('shortname', get_string("missingshortname"), 'required', null, 'client');
|
||||
$mform->addRule('summary', get_string("missingsummary"), 'required', null, 'client');
|
||||
$mform->addRule('category', get_string("missingcategory"), 'required', null, 'client');
|
||||
|
||||
/**
|
||||
* a Form rule check - if we need to create rules which involve the contents of more than one
|
||||
* field this is the way to do it. We can do it all at once in one function or create several
|
||||
* form rules.
|
||||
*
|
||||
* @param array $fields values from form without slashes
|
||||
* @return mixed array of errors or true if passed check
|
||||
*/
|
||||
function form_check($fields){
|
||||
global $course;
|
||||
/// perform some extra moodle validation
|
||||
function validation($data){
|
||||
$errors= array();
|
||||
if ($foundcourses = get_records("course", "shortname", addslashes($fields['shortname']))) {
|
||||
if (!empty($course->id)) {
|
||||
unset($foundcourses[$course->id]);
|
||||
if ($foundcourses = get_records('course', 'shortname', $data['shortname'])) {
|
||||
if (!empty($data['id'])) {
|
||||
unset($foundcourses[$data['id']]);
|
||||
}
|
||||
if (!empty($foundcourses)) {
|
||||
foreach ($foundcourses as $foundcourse) {
|
||||
$foundcoursenames[] = $foundcourse->fullname;
|
||||
}
|
||||
$foundcoursenamestring = addslashes(implode(',', $foundcoursenames));
|
||||
|
||||
$errors['shortname']= get_string("shortnametaken", "", $foundcoursenamestring);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (empty($fields['enrolenddisabled'])){
|
||||
$enrolenddate=make_timestamp($fields['enrolenddate']['year'],
|
||||
$fields['enrolenddate']['month'],
|
||||
$fields['enrolenddate']['day']);
|
||||
$enrolstartdate=make_timestamp($fields['enrolstartdate']['year'],
|
||||
$fields['enrolstartdate']['month'],
|
||||
$fields['enrolstartdate']['day']);
|
||||
if ($enrolenddate <= $enrolstartdate){
|
||||
$errors['enroldateendgrp']=get_string("enrolenddaterror");
|
||||
$foundcoursenamestring = implode(',', $foundcoursenames);
|
||||
$errors['shortname']= get_string('shortnametaken', '', $foundcoursenamestring);
|
||||
}
|
||||
}
|
||||
if (0==count($errors)){
|
||||
|
||||
if (empty($data['enrolenddisabled'])){
|
||||
if ($data['enrolenddate'] <= $data['enrolstartdate']){
|
||||
$errors['enroldateendgrp'] = get_string('enrolenddaterror');
|
||||
}
|
||||
}
|
||||
|
||||
if (0 == count($errors)){
|
||||
return true;
|
||||
}else {
|
||||
} else {
|
||||
return $errors;
|
||||
}
|
||||
}
|
||||
$mform->addFormRule('form_check');
|
||||
|
||||
$renderer =& $mform->defaultRenderer();
|
||||
$renderer->addStopFieldsetElements('submit');
|
||||
?>
|
||||
}
|
||||
?>
|
||||
@@ -238,17 +238,19 @@ while ($section <= $course->numsections) {
|
||||
|
||||
$currenttopic = ($course->marker == $section);
|
||||
|
||||
$currenttext = '';
|
||||
if (!$thissection->visible) {
|
||||
$sectionstyle = ' hidden';
|
||||
} else if ($currenttopic) {
|
||||
$sectionstyle = ' current';
|
||||
$currenttext = get_accesshide(get_string('currenttopic','access'));
|
||||
} else {
|
||||
$sectionstyle = '';
|
||||
}
|
||||
|
||||
echo '<tr id="section-'.$section.'" class="section main'.$sectionstyle.'">';
|
||||
|
||||
echo '<td class="left side"> </td>';
|
||||
echo '<td class="left side"> '.$currenttext.'</td>';
|
||||
|
||||
echo '<td class="content">';
|
||||
if (!has_capability('moodle/course:viewhiddensections', $context) and !$thissection->visible) { // Hidden for students
|
||||
|
||||
@@ -171,16 +171,18 @@
|
||||
|
||||
$currenttopic = ($course->marker == $section);
|
||||
|
||||
$currenttext = '';
|
||||
if (!$thissection->visible) {
|
||||
$sectionstyle = ' hidden';
|
||||
} else if ($currenttopic) {
|
||||
$sectionstyle = ' current';
|
||||
$currenttext = get_accesshide(get_string('currenttopic','access'));
|
||||
} else {
|
||||
$sectionstyle = '';
|
||||
}
|
||||
|
||||
echo '<tr id="section-'.$section.'" class="section main'.$sectionstyle.'">';
|
||||
echo '<td class="left side">'.$section.'</td>';
|
||||
echo '<td class="left side">'.$currenttext.$section.'</td>';
|
||||
|
||||
echo '<td class="content">';
|
||||
if (!has_capability('moodle/course:viewhiddensections', $context) and !$thissection->visible) { // Hidden for students
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
define('BLOCK_R_MIN_WIDTH', 100);
|
||||
define('BLOCK_R_MAX_WIDTH', 210);
|
||||
|
||||
$preferred_width_left = bounded_number(BLOCK_L_MIN_WIDTH, blocks_preferred_width($pageblocks[BLOCK_POS_LEFT]),
|
||||
$preferred_width_left = bounded_number(BLOCK_L_MIN_WIDTH, blocks_preferred_width($pageblocks[BLOCK_POS_LEFT]),
|
||||
BLOCK_L_MAX_WIDTH);
|
||||
$preferred_width_right = bounded_number(BLOCK_R_MIN_WIDTH, blocks_preferred_width($pageblocks[BLOCK_POS_RIGHT]),
|
||||
$preferred_width_right = bounded_number(BLOCK_R_MIN_WIDTH, blocks_preferred_width($pageblocks[BLOCK_POS_RIGHT]),
|
||||
BLOCK_R_MAX_WIDTH);
|
||||
|
||||
if ($week != -1) {
|
||||
@@ -88,7 +88,7 @@
|
||||
echo '<tr id="section-0" class="section main">';
|
||||
echo '<td class="left side"> </td>';
|
||||
echo '<td class="content">';
|
||||
|
||||
|
||||
echo '<div class="summary">';
|
||||
$summaryformatoptions->noclean = true;
|
||||
echo format_text($thissection->summary, FORMAT_HTML, $summaryformatoptions);
|
||||
@@ -99,7 +99,7 @@
|
||||
'class="icon edit" alt="'.$streditsummary.'" /></a><br /><br />';
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
|
||||
print_section($course, $thissection, $mods, $modnamesused);
|
||||
|
||||
if (isediting($course->id)) {
|
||||
@@ -162,28 +162,20 @@
|
||||
|
||||
$currentweek = (($weekdate <= $timenow) && ($timenow < $nextweekdate));
|
||||
|
||||
$currenttext = '';
|
||||
if (!$thissection->visible) {
|
||||
$sectionstyle = ' hidden';
|
||||
} else if ($currentweek) {
|
||||
$sectionstyle = ' current';
|
||||
$currenttext = get_accesshide(get_string('currentweek','access'));
|
||||
} else {
|
||||
$sectionstyle = '';
|
||||
}
|
||||
|
||||
echo '<tr id="section-'.$section.'" class="section main'.$sectionstyle.'">';
|
||||
echo '<td class="left side"> </td>';
|
||||
|
||||
|
||||
if (ajaxenabled() && $editing) {
|
||||
// Temporarily hide the dates for the weeks. We do it this way
|
||||
// for now. Eventually, we'll have to modify the javascript code
|
||||
// to handle re-calculation of dates when sections are moved
|
||||
// around. For now, just hide all the dates to avoid confusion.
|
||||
$weekperiod = '';
|
||||
} else {
|
||||
$weekperiod = $weekday.' '.$endweekday;
|
||||
}
|
||||
echo '<td class="left side"> '.$currenttext.'</td>';
|
||||
|
||||
$weekperiod = $weekday.' - '.$endweekday;
|
||||
|
||||
echo '<td class="content">';
|
||||
if (!has_capability('moodle/course:viewhiddensections', $context) and !$thissection->visible) { // Hidden for students
|
||||
@@ -267,4 +259,4 @@
|
||||
|
||||
echo '</tr></table>';
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -190,10 +190,12 @@
|
||||
|
||||
$currentweek = (($weekdate <= $timenow) && ($timenow < $nextweekdate));
|
||||
|
||||
$currenttext = '';
|
||||
if (!$thissection->visible) {
|
||||
$sectionstyle = ' hidden';
|
||||
} else if ($currentweek) {
|
||||
$sectionstyle = ' current';
|
||||
$currenttext = get_accesshide(get_string('currentweek','access'));
|
||||
} else {
|
||||
$sectionstyle = '';
|
||||
}
|
||||
@@ -201,7 +203,7 @@
|
||||
echo '<li id="section-'.$section.'" class="section main'.$sectionstyle.'" >'; //'<div class="left side"> </div>';
|
||||
|
||||
// Note, 'right side' is BEFORE content.
|
||||
echo '<div class="right side">';
|
||||
echo '<div class="right side">'.$currenttext;
|
||||
|
||||
if ($displaysection == $section) {
|
||||
echo '<a href="view.php?id='.$course->id.'&week=0#section-'.$section.'" title="'.$strshowallweeks.'">'.
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
$newgrpcoursecontext = get_context_instance(CONTEXT_COURSE, $newgroup->courseid);
|
||||
|
||||
///Users cannot upload groups in courses they cannot update.
|
||||
if (has_capability('moodle/course:update', $newgrpcoursecontext)){
|
||||
if (!has_capability('moodle/course:managegroups', $newgrpcoursecontext)){
|
||||
notify("$newgroup->name ".get_string('notaddedto').$newgroup->coursename.get_string('notinyourcapacity'));
|
||||
}
|
||||
|
||||
@@ -212,4 +212,3 @@ function my_file_get_contents($filename, $use_include_path = 0) {
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
+4
-2
@@ -60,11 +60,13 @@
|
||||
echo "<center>";
|
||||
|
||||
/// I am not sure this context in the next has_capability call is correct.
|
||||
if (isloggedin() and !isguest() and !has_capability('moodle/course:create', get_context_instance(CONTEXT_SYSTEM, SITEID))) { // Print link to request a new course
|
||||
if (isloggedin() and !isguest() and !has_capability('moodle/course:create', get_context_instance(CONTEXT_SYSTEM, SITEID)) and $CFG->enablecourserequests) { // Print link to request a new course
|
||||
print_single_button("request.php", NULL, get_string("courserequest"), "get");
|
||||
}
|
||||
if (has_capability('moodle/course:create', get_context_instance(CONTEXT_SYSTEM, SITEID))) { // Print link to create a new course
|
||||
print_single_button("edit.php", NULL, get_string("addnewcourse"), "get");
|
||||
/// Get the 1st available category
|
||||
$options = array('category' => get_field('course_categories', 'id', 'parent', '0'));
|
||||
print_single_button('edit.php', $options, get_string('addnewcourse'), 'get');
|
||||
}
|
||||
if (has_capability('moodle/site:approvecourse', get_context_instance(CONTEXT_SYSTEM, SITEID)) and !empty($CFG->enablecourserequests)) {
|
||||
print_single_button('pending.php',NULL, get_string('coursespending'),"get");
|
||||
|
||||
+24
-16
@@ -43,28 +43,37 @@
|
||||
}
|
||||
|
||||
|
||||
if ($teachers = get_course_teachers($course->id)) {
|
||||
echo "<table align=\"center\"><tr><td nowrap=\"nowrap\">";
|
||||
echo "<p><font size=\"1\">\n";
|
||||
foreach ($teachers as $teacher) {
|
||||
if ($teacher->authority > 0) {
|
||||
if (!$teacher->role) {
|
||||
$teacher->role = $course->teacher;
|
||||
/// first find all roles that are supposed to be displayed
|
||||
if (!empty($CFG->coursemanager)) {
|
||||
$coursemanagerroles = split(',', $CFG->coursemanager);
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
foreach ($coursemanagerroles as $roleid) {
|
||||
$role = get_record('role','id',$roleid);
|
||||
if ($users = get_role_users($roleid, $context, true, '', 'u.lastname ASC', true)) {
|
||||
foreach ($users as $teacher) {
|
||||
$fullname = fullname($teacher, has_capability('moodle/site:viewfullnames', $context));
|
||||
$namesarray[] = format_string($role->name).': <a href="'.$CFG->wwwroot.'/user/view.php?id='.
|
||||
$teacher->id.'&course='.SITEID.'">'.$fullname.'</a>';
|
||||
}
|
||||
echo "$teacher->role: ";
|
||||
link_to_popup_window ("/user/view.php?id=$teacher->id&course=$site->id", "opener",
|
||||
fullname($teacher), 400, 500, "$teacher->role",
|
||||
"");
|
||||
echo "<br />";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($namesarray)) {
|
||||
echo "<div align=\"center\">";
|
||||
echo implode('<br />', $namesarray);
|
||||
echo "</div>";
|
||||
}
|
||||
echo "</font></p>";
|
||||
echo "</td</tr></table>";
|
||||
}
|
||||
|
||||
echo "<br />";
|
||||
|
||||
print_simple_box_start("center", "100%");
|
||||
echo filter_text(text_to_html($course->summary),$course->id);
|
||||
|
||||
require_once("$CFG->dirroot/enrol/enrol.class.php");
|
||||
$enrol = enrolment_factory::factory($course->enrol);
|
||||
echo $enrol->get_access_icons($course);
|
||||
|
||||
print_simple_box_end();
|
||||
|
||||
echo "<br />";
|
||||
@@ -72,4 +81,3 @@
|
||||
close_window_button();
|
||||
|
||||
?>
|
||||
|
||||
|
||||
+49
-17
@@ -417,7 +417,7 @@ function print_log($course, $user=0, $date=0, $order="l.time ASC", $page=0, $per
|
||||
|
||||
$log->url = strip_tags(urldecode($log->url)); // Some XSS protection
|
||||
$log->info = strip_tags(urldecode($log->info)); // Some XSS protection
|
||||
$log->url = str_replace('&', '&', $log->url); /// XHTML compatibility
|
||||
$log->url = s($log->url); /// XSS protection and XHTML compatibility - should be in link_to_popup_window() instead!!
|
||||
|
||||
echo '<tr class="r'.$row.'">';
|
||||
if ($course->id == SITEID) {
|
||||
@@ -509,7 +509,7 @@ function print_log_csv($course, $user, $date, $order='l.time DESC', $modname,
|
||||
|
||||
$log->url = strip_tags(urldecode($log->url)); // Some XSS protection
|
||||
$log->info = strip_tags(urldecode($log->info)); // Some XSS protection
|
||||
$log->url = str_replace('&', '&', $log->url); // XHTML compatibility
|
||||
$log->url = str_replace('&', '&', $log->url); /// XHTML compatibility
|
||||
|
||||
$firstField = $courses[$log->course];
|
||||
$fullname = fullname($log, has_capability('moodle/site:viewfullnames', get_context_instance(CONTEXT_COURSE, $course->id)));
|
||||
@@ -1550,21 +1550,21 @@ function print_course($course, $width="100%") {
|
||||
$linkcss.' href="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'">'.
|
||||
$course->fullname.'</a></b><br />';
|
||||
|
||||
if ($teachers = get_users_by_capability($context, 'moodle/course:update',
|
||||
'u.*, ul.timeaccess as lastaccess, ra.hidden',
|
||||
'r.sortorder ASC', '','','','', false)) {
|
||||
$canseehidden = has_capability('moodle/role:viewhiddenassigns', $context);
|
||||
$namesarray = array();
|
||||
foreach ($teachers as $teacher) {
|
||||
if (!$teacher->hidden || $canseehidden) {
|
||||
$roles = get_user_roles($context, $teacher->id, true, 'r.sortorder ASC');
|
||||
$role = array_shift($roles); // First one
|
||||
$fullname = fullname($teacher, has_capability('moodle/site:viewfullnames', $context));
|
||||
$namesarray[] = format_string($role->name).': <a href="'.$CFG->wwwroot.'/user/view.php?id='.
|
||||
$teacher->id.'&course='.SITEID.'">'.$fullname.'</a>';
|
||||
}
|
||||
/// first find all roles that are supposed to be displayed
|
||||
if (!empty($CFG->coursemanager)) {
|
||||
$coursemanagerroles = split(',', $CFG->coursemanager);
|
||||
foreach ($coursemanagerroles as $roleid) {
|
||||
$role = get_record('role','id',$roleid);
|
||||
if ($users = get_role_users($roleid, $context, true, '', 'u.lastname ASC', true)) {
|
||||
foreach ($users as $teacher) {
|
||||
$fullname = fullname($teacher, has_capability('moodle/site:viewfullnames', $context));
|
||||
$namesarray[] = format_string($role->name).': <a href="'.$CFG->wwwroot.'/user/view.php?id='.
|
||||
$teacher->id.'&course='.SITEID.'">'.$fullname.'</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($namesarray) {
|
||||
|
||||
if (!empty($namesarray)) {
|
||||
echo "<ul class=\"teachers\">\n<li>";
|
||||
echo implode('</li><li>', $namesarray);
|
||||
echo "</li></ul>";
|
||||
@@ -1764,7 +1764,7 @@ function delete_course_module($id) {
|
||||
$modulename = get_field('modules', 'name', 'id', $cm->module);
|
||||
if ($events = get_records_select('event', "instance = '$cm->instance' AND modulename = '$modulename'")) {
|
||||
foreach($events as $event) {
|
||||
delete_event($event);
|
||||
delete_event($event->id);
|
||||
}
|
||||
}
|
||||
return delete_records('course_modules', 'id', $cm->id);
|
||||
@@ -2193,4 +2193,36 @@ function move_courses ($courseids, $categoryid) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Can the current user delete this course?
|
||||
* @param int $courseid
|
||||
* @return boolean
|
||||
*
|
||||
* Exception here to fix MDL-7796.
|
||||
*
|
||||
* FIXME
|
||||
* Course creators who can manage activities in the course
|
||||
* shoule be allowed to delete the course. We do it this
|
||||
* way because we need a quick fix to bring the functionality
|
||||
* in line with what we had pre-roles. We can't give the
|
||||
* default course creator role moodle/course:delete at
|
||||
* CONTEXT_SYSTEM level because this will allow them to
|
||||
* delete any course in the site. So we hard code this here
|
||||
* for now.
|
||||
*
|
||||
* @author vyshane AT gmail.com
|
||||
*/
|
||||
function can_delete_course($courseid) {
|
||||
|
||||
$context = get_context_instance(CONTEXT_COURSE, $courseid);
|
||||
|
||||
return ( has_capability('moodle/course:delete', $context)
|
||||
|| (has_capability('moodle/legacy:coursecreator', $context)
|
||||
&& has_capability('moodle/course:manageactivities', $context)) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@@ -53,6 +53,9 @@
|
||||
if (!has_capability('moodle/course:view', $context, $userid, false)) {
|
||||
error('This user is not in this course!');
|
||||
}
|
||||
if (has_capability('moodle/site:doanything', $context, $userid, false)) {
|
||||
print_error('nologinas');
|
||||
}
|
||||
}
|
||||
|
||||
/// User must have permissions
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
// Moves, adds, updates, duplicates or deletes modules in a course
|
||||
|
||||
require("../config.php");
|
||||
require("lib.php");
|
||||
require_once("lib.php");
|
||||
|
||||
require_login();
|
||||
|
||||
|
||||
@@ -126,4 +126,3 @@ function print_outline_row($mod, $instance, $result) {
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -73,17 +73,17 @@
|
||||
$graph->y_data['line3'][] = $stat->line3;
|
||||
}
|
||||
}
|
||||
$graph->y_order = array('line1','line2');
|
||||
if (!empty($param->line3)) {
|
||||
$graph->y_order[] = 'line3';
|
||||
}
|
||||
$graph->y_order = array('line1');
|
||||
$graph->y_format['line1'] = array('colour' => $c[1],'line' => 'line','legend' => $param->line1);
|
||||
if (!empty($param->line2)) {
|
||||
$graph->y_order[] = 'line2';
|
||||
$graph->y_format['line2'] = array('colour' => $c[2],'line' => 'line','legend' => $param->line2);
|
||||
}
|
||||
if (!empty($param->line3)) {
|
||||
$graph->y_order[] = 'line3';
|
||||
$graph->y_format['line3'] = array('colour' => $c[3],'line' => 'line','legend' => $param->line3);
|
||||
}
|
||||
$graph->y_tick_labels = false;
|
||||
} else {
|
||||
$data = array();
|
||||
$times = array();
|
||||
@@ -103,6 +103,16 @@
|
||||
$times[$stat->timeend] = userdate($stat->timeend,get_string('strftimedate'),$CFG->timezone);
|
||||
}
|
||||
}
|
||||
foreach (array_keys($times) as $t) {
|
||||
foreach ($data as $roleid => $stuff) {
|
||||
if (!array_key_exists($t, $stuff)) {
|
||||
$data[$roleid][$t] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach ($data as $role => $stuff) {
|
||||
ksort($data[$role]);
|
||||
}
|
||||
$nonzeroroleid = 0;
|
||||
foreach (array_keys($data) as $roleid) {
|
||||
if ($roleid == 0) {
|
||||
|
||||
@@ -167,6 +167,13 @@
|
||||
$rolesdata[$roleid] = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
foreach (array_keys($roles) as $r) {
|
||||
if (!array_key_exists($r, $rolesdata)) {
|
||||
$rolesdata[$r] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
krsort($rolesdata);
|
||||
$row = array_merge(array($times[$time]),$rolesdata);
|
||||
if (empty($CFG->loglifetime) || ($stat->timeend-(60*60*24)) >= (time()-60*60*24*$CFG->loglifetime)) {
|
||||
|
||||
+1
-2
@@ -247,7 +247,7 @@
|
||||
|
||||
if ($perpage != 99999 && $totalcount > $perpage) {
|
||||
echo "<center><p>";
|
||||
echo "<a href=\"search.php?search=$encoededsearch&perpage=99999\">".get_string("showall", "", $totalcount)."</a>";
|
||||
echo "<a href=\"search.php?search=$encodedsearch&perpage=99999\">".get_string("showall", "", $totalcount)."</a>";
|
||||
echo "</p></center>";
|
||||
}
|
||||
|
||||
@@ -263,4 +263,3 @@
|
||||
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -285,4 +285,3 @@ function print_outline_row($mod, $instance, $result) {
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -140,11 +140,6 @@ function authorize_action(&$order, &$message, &$extra, $action=AN_ACTION_NONE, $
|
||||
}
|
||||
}
|
||||
|
||||
if ($action <= AN_ACTION_NONE or $action > AN_ACTION_VOID) {
|
||||
$message = "Invalid action!";
|
||||
return AN_RETURNZERO;
|
||||
}
|
||||
|
||||
$poststring = $conststring;
|
||||
$poststring .= '&x_method=' . $method;
|
||||
|
||||
@@ -363,8 +358,6 @@ function authorize_action(&$order, &$message, &$extra, $action=AN_ACTION_NONE, $
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return AN_RETURNZERO;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -47,7 +47,7 @@ class enrolment_plugin_authorize
|
||||
|
||||
httpsrequired();
|
||||
|
||||
if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') {
|
||||
if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] != 443) { // MDL-9836
|
||||
if (empty($CFG->loginhttps)) {
|
||||
error(get_string('httpsrequired', 'enrol_authorize'));
|
||||
} else {
|
||||
@@ -405,7 +405,7 @@ class enrolment_plugin_authorize
|
||||
$a->url = "$CFG->wwwroot/$CFG->admin/settings.php?section=httpsecurity";
|
||||
notice(get_string('adminconfighttps', 'enrol_authorize', $a));
|
||||
}
|
||||
elseif (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') {
|
||||
elseif (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] != 443) { // MDL-9836
|
||||
$wwwsroot = qualified_me();
|
||||
$wwwsroot = str_replace('http:', 'https:', $wwwsroot);
|
||||
$a = new stdClass;
|
||||
|
||||
@@ -49,7 +49,7 @@ function prevent_double_paid($course)
|
||||
}
|
||||
if (isset($SESSION->ccpaid)) {
|
||||
unset($SESSION->ccpaid);
|
||||
redirect($CFG->wwwroot . '/login/logout.php');
|
||||
redirect($CFG->wwwroot . '/login/logout.php?sesskey='.sesskey());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<th colspan="2">
|
||||
<?php print_string("field_mapping", "enrol_database") ?>
|
||||
<?php print_string("remote_fields_mapping", "enrol_database") ?>
|
||||
</td>
|
||||
<tr valign="top">
|
||||
<td align="right">enrol_localcoursefield:</td>
|
||||
|
||||
+65
-48
@@ -83,43 +83,61 @@ function setup_enrolments(&$user) {
|
||||
if ($rs->RecordCount() > 0) { // We found some courses
|
||||
|
||||
$courselist = array();
|
||||
while (!$rs->EOF) { // Make a nice little array of courses to process
|
||||
$courselist[] = $rs->fields['enrolremotecoursefield'];
|
||||
$rs->MoveNext();
|
||||
while ($fields_obj = rs_fetch_next_record($rs)) { // Make a nice little array of courses to process
|
||||
$courselist[] = $fields_obj->enrolremotecoursefield;
|
||||
}
|
||||
$rs->Close();
|
||||
rs_close($rs);
|
||||
|
||||
foreach ($courselist as $coursefield) { /// Check the list of courses against existing
|
||||
if ($course = get_record('course', $CFG->enrol_localcoursefield, $coursefield)) {
|
||||
|
||||
/// If there's no role specified, we get the default course role (usually student)
|
||||
if ($use_default_role) {
|
||||
$role = get_default_course_role($course);
|
||||
$course = get_record('course', $CFG->enrol_localcoursefield, $coursefield);
|
||||
if (!is_object($course)) {
|
||||
if (empty($CFG->enrol_db_autocreate)) { // autocreation not allowed
|
||||
print "Course $coursefield does not exist, skipping\n";
|
||||
continue; // next foreach course
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
|
||||
// Couldn't get a role or context, skip.
|
||||
if (!$role || !$context) {
|
||||
continue;
|
||||
// ok, now then let's create it!
|
||||
print "Creating Course $coursefield...";
|
||||
// prepare any course properties we actually have
|
||||
$course = new StdClass;
|
||||
$course->{$CFG->enrol_localcoursefield} = $coursefield;
|
||||
$course->fullname = $coursefield;
|
||||
$course->shortname = $coursefield;
|
||||
if ($newcourseid = $this->create_course($course, true)
|
||||
and $course = get_record( 'course', 'id', $newcourseid)) {
|
||||
// we are skipping fix_course_sortorder()
|
||||
print "created\n";
|
||||
} else {
|
||||
print "failed\n";
|
||||
continue; // nothing left to do...
|
||||
}
|
||||
|
||||
|
||||
// Search the role assignments to see if this user
|
||||
// already has this role in this context. If it is, we
|
||||
// skip to the next course.
|
||||
foreach($existing as $key => $role_assignment) {
|
||||
if ($role_assignment->roleid = $role->id
|
||||
&& $role_assignment->contextid = $context->id) {
|
||||
unset($existing[$key]);
|
||||
//error_log('[ENROL_DB] User is already enroled in course '.$course->idnumber);
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
//error_log('[ENROL_DB] Enrolling user in course '.$course->idnumber);
|
||||
role_assign($role->id, $user->id, 0, $context->id, 0, 0, 0, 'database');
|
||||
}
|
||||
|
||||
/// If there's no role specified, we get the default course role (usually student)
|
||||
if ($use_default_role) {
|
||||
$role = get_default_course_role($course);
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
|
||||
// Couldn't get a role or context, skip.
|
||||
if (!$role || !$context) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Search the role assignments to see if this user
|
||||
// already has this role in this context. If it is, we
|
||||
// skip to the next course.
|
||||
foreach($existing as $key => $role_assignment) {
|
||||
if ($role_assignment->roleid == $role->id
|
||||
&& $role_assignment->contextid == $context->id) {
|
||||
unset($existing[$key]);
|
||||
//error_log('[ENROL_DB] User is already enroled in course '.$course->idnumber);
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
//error_log('[ENROL_DB] Enrolling user in course '.$course->idnumber);
|
||||
role_assign($role->id, $user->id, 0, $context->id, 0, 0, 0, 'database');
|
||||
}
|
||||
} // We've processed all external courses found
|
||||
|
||||
@@ -193,10 +211,9 @@ function sync_enrolments($role = null) {
|
||||
|
||||
begin_sql();
|
||||
$extcourses = array();
|
||||
while (!$rs->EOF) { // there are more course records
|
||||
$extcourse = $rs->Fields($CFG->enrol_remotecoursefield);
|
||||
while ($extcourse_obj = rs_fetch_next_record($rs)) { // there are more course records
|
||||
$extcourse = $extcourse_obj->{$CFG->enrol_remotecoursefield};
|
||||
array_push($extcourses, $extcourse);
|
||||
$rs->MoveNext(); // prep the next record
|
||||
|
||||
print "course $extcourse\n";
|
||||
|
||||
@@ -255,11 +272,10 @@ function sync_enrolments($role = null) {
|
||||
}
|
||||
|
||||
// slurp results into an array
|
||||
while (!$crs->EOF) {
|
||||
array_push($extenrolments,$crs->Fields($CFG->enrol_remoteuserfield));
|
||||
$crs->MoveNext();
|
||||
while ($crs_obj = rs_fetch_next_record($crs)) {
|
||||
array_push($extenrolments, $crs_obj->{$CFG->enrol_remoteuserfield});
|
||||
}
|
||||
$crs->Close(); // release the handle
|
||||
rs_close($crs); // release the handle
|
||||
|
||||
//
|
||||
// prune enrolments
|
||||
@@ -318,9 +334,10 @@ function sync_enrolments($role = null) {
|
||||
trigger_error('weird! no user record entry?');
|
||||
continue;
|
||||
}
|
||||
$userid = $ers->Fields('userid');
|
||||
$enrolmentid = $ers->Fields('enrolmentid');
|
||||
unset($ers); // release the handle
|
||||
$user_obj = rs_fetch_record($ers);
|
||||
$userid = $user_obj->userid;
|
||||
$enrolmentid = $user_obj->enrolmentid;
|
||||
rs_close($ers); // release the handle
|
||||
|
||||
if ($enrolmentid) { // already enrolled - skip
|
||||
continue;
|
||||
@@ -334,6 +351,7 @@ function sync_enrolments($role = null) {
|
||||
|
||||
} // end foreach member
|
||||
} // end while course records
|
||||
rs_close($rs); //Close the main course recordset
|
||||
|
||||
//
|
||||
// prune enrolments to courses that are no longer in ext auth
|
||||
@@ -364,19 +382,18 @@ function sync_enrolments($role = null) {
|
||||
return false;
|
||||
}
|
||||
if ( $ers->RecordCount() > 0 ) {
|
||||
while (!$ers->EOF) {
|
||||
$roleid = $ers->Fields('roleid');
|
||||
$user = $ers->Fields('userid');
|
||||
$contextid = $ers->Fields('contextid');
|
||||
$ers->MoveNext();
|
||||
while ($user_obj = rs_fetch_next_record($ers)) {
|
||||
$roleid = $user_obj->roleid;
|
||||
$user = $user_obj->userid;
|
||||
$contextid = $user_obj->contextid;
|
||||
if (role_unassign($roleid, $user, 0, $contextid)){
|
||||
print "Unassigned role {$roleid} from user $user in context $contextid\n";
|
||||
} else {
|
||||
print "Failed unassign role {$roleid} from user $user in context $contextid\n";
|
||||
}
|
||||
}
|
||||
rs_close($ers); // release the handle
|
||||
}
|
||||
unset($ers); // release the handle
|
||||
commit_sql();
|
||||
|
||||
// we are done now, a bit of housekeeping
|
||||
@@ -561,7 +578,7 @@ function create_course ($course,$skip_fix_course_sortorder=0){
|
||||
$course->shortname = substr($course->shortname, 0, 15);
|
||||
|
||||
// store it and log
|
||||
if ($newcourseid = insert_record("course", $course)) { // Set up new course
|
||||
if ($newcourseid = insert_record("course", addslashes_object($course))) { // Set up new course
|
||||
$section = NULL;
|
||||
$section->course = $newcourseid; // Create a default section.
|
||||
$section->section = 0;
|
||||
|
||||
@@ -542,7 +542,7 @@ function process_group_tag($tagcontents){
|
||||
}else{
|
||||
$course->sortorder = 1000;
|
||||
}
|
||||
if($course->id = insert_record('course', $course)){
|
||||
if($course->id = insert_record('course', addslashes_object($course))){
|
||||
|
||||
// Setup the blocks
|
||||
$page = page_create_object(PAGE_COURSE_VIEW, $course->id);
|
||||
|
||||
@@ -76,7 +76,7 @@ function setup_enrolments(&$user) {
|
||||
error_log("[ENROL_LDAP] User $user->username enrolled to a nonexistant course $course_ext_id \n");
|
||||
}
|
||||
} else { // the course object exists before we call...
|
||||
if ($course_obj->visible==0 && $user->{$type}[$course_obj->id] == 'ldap') {
|
||||
if ($course_obj->visible==0) {
|
||||
// non-visible courses don't show up in the enrolled
|
||||
// array, so we should skip them --
|
||||
continue;
|
||||
@@ -576,8 +576,8 @@ function create_course ($course_ext,$skip_fix_course_sortorder=0){
|
||||
|
||||
// override with required ext data
|
||||
$course->idnumber = $course_ext[$CFG->enrol_ldap_course_idnumber][0];
|
||||
$course->fullname = $course_ext[$CFG->enrol_ldap_course_fullname][0];
|
||||
$course->shortname = $course_ext[$CFG->enrol_ldap_course_shortname][0];
|
||||
$course->fullname = addslashes($course_ext[$CFG->enrol_ldap_course_fullname][0]);
|
||||
$course->shortname = addslashes($course_ext[$CFG->enrol_ldap_course_shortname][0]);
|
||||
if ( empty($course->idnumber)
|
||||
|| empty($course->fullname)
|
||||
|| empty($course->shortname) ) {
|
||||
@@ -589,7 +589,7 @@ function create_course ($course_ext,$skip_fix_course_sortorder=0){
|
||||
|
||||
$course->summary = empty($CFG->enrol_ldap_course_summary) || empty($course_ext[$CFG->enrol_ldap_course_summary][0])
|
||||
? ''
|
||||
: $course_ext[$CFG->enrol_ldap_course_summary][0];
|
||||
: addslashes($course_ext[$CFG->enrol_ldap_course_summary][0]);
|
||||
|
||||
if(!empty($CFG->enrol_ldap_category)){ // optional ... but ensure it is set!
|
||||
$course->category = $CFG->enrol_ldap_category;
|
||||
|
||||
@@ -8,12 +8,20 @@
|
||||
|
||||
global $CFG;
|
||||
|
||||
// Trivial-cache - keyed on $cachedcourseid
|
||||
static $activitylist;
|
||||
static $cachedcourseid;
|
||||
|
||||
if (empty($courseid)) {
|
||||
$courseid = SITEID;
|
||||
}
|
||||
|
||||
// Initialise/invalidate our trivial cache if dealing with a different course
|
||||
if (!isset($cachedcourseid) || $cachedcourseid !== (int)$courseid) {
|
||||
$activitylist = array();
|
||||
}
|
||||
$cachedcourseid = (int)$courseid;
|
||||
|
||||
/// It may be cached
|
||||
|
||||
if (empty($activitylist)) {
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
}
|
||||
|
||||
function algebra2tex($algebra) {
|
||||
Global $CFG;
|
||||
global $CFG;
|
||||
$algebra = str_replace('<','<',$algebra);
|
||||
$algebra = str_replace('>','>',$algebra);
|
||||
$algebra = str_replace('<>','#',$algebra);
|
||||
@@ -99,9 +99,9 @@ function algebra2tex($algebra) {
|
||||
$algebra = str_replace('epsilon','zepslon',$algebra);
|
||||
$algebra = str_replace('upsilon','zupslon',$algebra);
|
||||
$algebra = preg_replace('!\r\n?!',' ',$algebra);
|
||||
$algebra = escapeshellarg($algebra);
|
||||
|
||||
if ( (PHP_OS == "WINNT") || (PHP_OS == "WIN32") || (PHP_OS == "Windows") ) {
|
||||
$algebra = "\"". str_replace('"','\"',$algebra) . "\"";
|
||||
$cmd = "cd $CFG->dirroot\\$CFG->algebrafilterdirwin & algebra2tex.pl x/2";
|
||||
$test = `$cmd`;
|
||||
if ($test != '\frac{x}{2}') {
|
||||
@@ -117,7 +117,6 @@ function algebra2tex($algebra) {
|
||||
}
|
||||
$cmd = "cd $CFG->dirroot\\$CFG->algebrafilterdirwin & algebra2tex.pl $algebra";
|
||||
} else {
|
||||
$algebra = escapeshellarg($algebra);
|
||||
$cmd = "cd $CFG->dirroot/$CFG->algebrafilterdir; ./algebra2tex.pl x/2";
|
||||
$test = `$cmd`;
|
||||
if ($test != '\frac{x}{2}') {
|
||||
@@ -206,66 +205,66 @@ function outputText($texexp) {
|
||||
}
|
||||
|
||||
function tex2image($texexp, $md5, $return=false) {
|
||||
global $CFG;
|
||||
$error_message1 = "Your system is not configured to run mimeTeX. ";
|
||||
$error_message1 .= "You need to download the appropriate<br /> executable ";
|
||||
$error_message1 .= "from <a href=\"http://moodle.org/download/mimetex/\">";
|
||||
$error_message1 .= "http://moodle.org/download/mimetex/</a>, or obtain the ";
|
||||
$error_message1 .= "C source<br /> from <a href=\"http://www.forkosh.com/mimetex.zip\">";
|
||||
$error_message1 .= "http://www.forkosh.com/mimetex.zip</a>, compile it and ";
|
||||
$error_message1 .= "put the executable into your<br /> moodle/filter/tex/ directory. ";
|
||||
$error_message1 .= "You also need to edit your moodle/filter/algebra/pix.php file<br />";
|
||||
$error_message1 .= ' by adding the line<br /><pre> case "' . PHP_OS . "\":\n";
|
||||
$error_message1 .= " \$cmd = \"\\\\\"\$CFG->dirroot/\$CFG->texfilterdir/";
|
||||
$error_message1 .= 'mimetex.' . strtolower(PHP_OS) . "\\\\\" -e \\\\\"\$pathname\\\\\" \". escapeshellarg(\$texexp);";
|
||||
$error_message1 .= "</pre>You also need to add this to your algebradebug.php file.";
|
||||
global $CFG;
|
||||
$error_message1 = "Your system is not configured to run mimeTeX. ";
|
||||
$error_message1 .= "You need to download the appropriate<br /> executable ";
|
||||
$error_message1 .= "from <a href=\"http://moodle.org/download/mimetex/\">";
|
||||
$error_message1 .= "http://moodle.org/download/mimetex/</a>, or obtain the ";
|
||||
$error_message1 .= "C source<br /> from <a href=\"http://www.forkosh.com/mimetex.zip\">";
|
||||
$error_message1 .= "http://www.forkosh.com/mimetex.zip</a>, compile it and ";
|
||||
$error_message1 .= "put the executable into your<br /> moodle/filter/tex/ directory. ";
|
||||
$error_message1 .= "You also need to edit your moodle/filter/algebra/pix.php file<br />";
|
||||
$error_message1 .= ' by adding the line<br /><pre> case "' . PHP_OS . "\":\n";
|
||||
$error_message1 .= " \$cmd = \"\\\\\"\$CFG->dirroot/\$CFG->texfilterdir/";
|
||||
$error_message1 .= 'mimetex.' . strtolower(PHP_OS) . "\\\\\" -e \\\\\"\$pathname\\\\\" \". escapeshellarg(\$texexp);";
|
||||
$error_message1 .= "</pre>You also need to add this to your algebradebug.php file.";
|
||||
|
||||
if ($texexp) {
|
||||
$texexp = '\Large ' . $texexp;
|
||||
$lifetime = 86400;
|
||||
$image = $md5 . ".gif";
|
||||
$filetype = 'image/gif';
|
||||
if (!file_exists("$CFG->dataroot/$CFG->algebraimagedir")) {
|
||||
make_upload_directory($CFG->algebraimagedir);
|
||||
}
|
||||
$pathname = "$CFG->dataroot/$CFG->algebraimagedir/$image";
|
||||
if (file_exists($pathname)) {
|
||||
unlink($pathname);
|
||||
}
|
||||
$commandpath = "";
|
||||
$cmd = "";
|
||||
switch (PHP_OS) {
|
||||
case "Linux":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.linux";
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" ". escapeshellarg($texexp);
|
||||
break;
|
||||
case "WINNT":
|
||||
case "WIN32":
|
||||
case "Windows":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.exe";
|
||||
$texexp = str_replace('"','\"',$texexp);
|
||||
$cmd = str_replace(' ','^ ',$commandpath);
|
||||
$cmd .= " ++ -e \"$pathname\" \"$texexp\"";
|
||||
break;
|
||||
case "Darwin":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin";
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" ". escapeshellarg($texexp);
|
||||
break;
|
||||
}
|
||||
if (!$cmd) {
|
||||
if (is_executable("$CFG->dirroot/$CFG->texfilterdir/mimetex")) { /// Use the custom binary
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex";
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname ". escapeshellarg($texexp);
|
||||
} else {
|
||||
error($error_message1);
|
||||
}
|
||||
}
|
||||
system($cmd, $status);
|
||||
}
|
||||
if ($return) {
|
||||
return $image;
|
||||
}
|
||||
if ($texexp && file_exists($pathname)) {
|
||||
if ($texexp) {
|
||||
$texexp = '\Large ' . $texexp;
|
||||
$lifetime = 86400;
|
||||
$image = $md5 . ".gif";
|
||||
$filetype = 'image/gif';
|
||||
if (!file_exists("$CFG->dataroot/$CFG->algebraimagedir")) {
|
||||
make_upload_directory($CFG->algebraimagedir);
|
||||
}
|
||||
$pathname = "$CFG->dataroot/$CFG->algebraimagedir/$image";
|
||||
if (file_exists($pathname)) {
|
||||
unlink($pathname);
|
||||
}
|
||||
$commandpath = "";
|
||||
$cmd = "";
|
||||
$texexp = escapeshellarg($texexp);
|
||||
switch (PHP_OS) {
|
||||
case "Linux":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.linux";
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" $texexp";
|
||||
break;
|
||||
case "WINNT":
|
||||
case "WIN32":
|
||||
case "Windows":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.exe";
|
||||
$cmd = str_replace(' ','^ ',$commandpath);
|
||||
$cmd .= " ++ -e \"$pathname\" $texexp";
|
||||
break;
|
||||
case "Darwin":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin";
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" $texexp";
|
||||
break;
|
||||
}
|
||||
if (!$cmd) {
|
||||
if (is_executable("$CFG->dirroot/$CFG->texfilterdir/mimetex")) { /// Use the custom binary
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex";
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname $texexp";
|
||||
} else {
|
||||
error($error_message1);
|
||||
}
|
||||
}
|
||||
system($cmd, $status);
|
||||
}
|
||||
if ($return) {
|
||||
return $image;
|
||||
}
|
||||
if ($texexp && file_exists($pathname)) {
|
||||
$lastmodified = filemtime($pathname);
|
||||
header("Last-Modified: " . gmdate("D, d M Y H:i:s", $lastmodified) . " GMT");
|
||||
header("Expires: " . gmdate("D, d M Y H:i:s", time() + $lifetime) . " GMT");
|
||||
@@ -275,7 +274,7 @@ function tex2image($texexp, $md5, $return=false) {
|
||||
header("Content-length: ".filesize($pathname));
|
||||
header("Content-type: $filetype");
|
||||
readfile("$pathname");
|
||||
} else {
|
||||
} else {
|
||||
$ecmd = "$cmd 2>&1";
|
||||
echo `$ecmd` . "<br />\n";
|
||||
echo "The shell command<br />$cmd<br />returned status = $status<br />\n";
|
||||
@@ -301,7 +300,7 @@ function tex2image($texexp, $md5, $return=false) {
|
||||
echo "mimetex executable $commandpath not found!<br />";
|
||||
}
|
||||
echo "Image not found!";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function slasharguments($texexp, $md5) {
|
||||
|
||||
@@ -161,11 +161,10 @@ function algebra_filter ($courseid, $text) {
|
||||
$algebra = str_replace('epsilon','zepslon',$algebra);
|
||||
$algebra = str_replace('upsilon','zupslon',$algebra);
|
||||
$algebra = preg_replace('!\r\n?!',' ',$algebra);
|
||||
$algebra = escapeshellarg($algebra);
|
||||
if ( (PHP_OS == "WINNT") || (PHP_OS == "WIN32") || (PHP_OS == "Windows") ) {
|
||||
$algebra = "\"". str_replace('"','\"',$algebra) . "\"";
|
||||
$cmd = "cd $CFG->dirroot\\$CFG->algebrafilterdirwin & algebra2tex.pl $algebra";
|
||||
} else {
|
||||
$algebra = escapeshellarg($algebra);
|
||||
$cmd = "cd $CFG->dirroot/$CFG->algebrafilterdir; ./algebra2tex.pl $algebra";
|
||||
}
|
||||
$texexp = `$cmd`;
|
||||
|
||||
@@ -54,25 +54,25 @@
|
||||
$texexp = str_replace('>','>',$texexp);
|
||||
$texexp = preg_replace('!\r\n?!',' ',$texexp);
|
||||
$texexp = '\Large ' . $texexp;
|
||||
$texexp = escapeshellarg($texexp);
|
||||
|
||||
if ((PHP_OS == "WINNT") || (PHP_OS == "WIN32") || (PHP_OS == "Windows")) {
|
||||
$texexp = str_replace('"','\"',$texexp);
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex.exe";
|
||||
$cmd = str_replace(' ','^ ',$cmd);
|
||||
$cmd .= " ++ -e \"$pathname\" -- \"$texexp\"";
|
||||
$cmd .= " ++ -e \"$pathname\" -- $texexp";
|
||||
} else if (is_executable("$CFG->dirroot/$CFG->texfilterdir/mimetex")) { /// Use the custom binary
|
||||
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname -- ". escapeshellarg($texexp);
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname -- $texexp";
|
||||
|
||||
} else { /// Auto-detect the right TeX binary
|
||||
switch (PHP_OS) {
|
||||
|
||||
case "Linux":
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" -- ". escapeshellarg($texexp);
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" -- $texexp";
|
||||
break;
|
||||
|
||||
case "Darwin":
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" -- ". escapeshellarg($texexp);
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" -- $texexp";
|
||||
break;
|
||||
|
||||
default: /// Nothing was found, so tell them how to fix it.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?php // $id$
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Media plugin filtering
|
||||
//
|
||||
// This filter will replace any links to a media file with
|
||||
//
|
||||
// This filter will replace any links to a media file with
|
||||
// a media plugin that plays that media inline
|
||||
//
|
||||
// To activate this filter, add a line like this to your
|
||||
@@ -12,7 +12,7 @@
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
/// This is the filtering function itself. It accepts the
|
||||
/// This is the filtering function itself. It accepts the
|
||||
/// courseid and the text to be filtered (in HTML form).
|
||||
|
||||
function mediaplugin_filter($courseid, $text) {
|
||||
@@ -20,6 +20,12 @@ function mediaplugin_filter($courseid, $text) {
|
||||
|
||||
include "defaultsettings.php";
|
||||
|
||||
// You should never modify parameters passed to a method or function, it's BAD practice. Create a copy instead.
|
||||
// The reason is that you must always be able to refer to the original parameter that was passed.
|
||||
// For this reason, I changed $text = preg_replace(..,..,$text) into $newtext = preg.... (NICOLAS CONNAULT)
|
||||
// Thanks to Pablo Etcheverry for pointing this out! MDL-10177
|
||||
$newtext = fullclone($text);
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_mp3) {
|
||||
static $c;
|
||||
|
||||
@@ -47,8 +53,8 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= ' pluginspage="http://www.macromedia.com/go/getflashplayer">';
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object> ';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_swf) {
|
||||
@@ -85,13 +91,13 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace[1] .= '</embed>';
|
||||
$replace[1] .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
|
||||
}
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_flv) {
|
||||
$search = '/<a(.*?)href=\"([^<]+)\.flv\"([^>]*)>(.*?)<\/a>/is';
|
||||
|
||||
|
||||
$replace = '\\0 <object class="mediaplugin flv" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
|
||||
$replace .= ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ';
|
||||
$replace .= ' width="480" height="360" id="flvplayer">';
|
||||
@@ -104,8 +110,8 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= ' pluginspage="http://www.macromedia.com/go/getflashplayer">';
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object> ';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_mov) {
|
||||
@@ -127,7 +133,7 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_wmv) {
|
||||
@@ -154,7 +160,7 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_mpg) {
|
||||
@@ -166,8 +172,8 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '<param name="autoplay" value="false" />';
|
||||
$replace .= '<embed src="\\2.\\3" width="240" height="180" controller="true" autoplay="false"> </embed>';
|
||||
$replace .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_avi) {
|
||||
@@ -179,10 +185,10 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '<param name="autoplay" value="false" />';
|
||||
$replace .= '<embed src="\\2.avi" width="240" height="180" controller="true" autoplay="false"> </embed>';
|
||||
$replace .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_ram) {
|
||||
$search = '/<a(.*?)href=\"([^<]+)\.ram\"([^>]*)>(.*?)<\/a>/is';
|
||||
|
||||
@@ -192,7 +198,7 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '<param name="controls" value="imagewindow" />';
|
||||
$replace .= '<param name="console" value="video" />';
|
||||
$replace .= '<param name="loop" value="true" />';
|
||||
$replace .= '<embed src="\\2.rm" width=240" height="180" loop="true" type="audio/x-pn-realaudio-plugin" controls="imagewindow" console="video" autostart="true">';
|
||||
$replace .= '<embed src="\\2.ram" width=240" height="180" loop="true" type="audio/x-pn-realaudio-plugin" controls="imagewindow" console="video" autostart="true">';
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object><br />';
|
||||
|
||||
@@ -201,13 +207,13 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '<param name="autostart" value="true" />';
|
||||
$replace .= '<param name="controls" value="ControlPanel" />';
|
||||
$replace .= '<param name="console" value="video" />';
|
||||
$replace .= '<embed src="\\2.rm" width="240" height="30" controls="ControlPanel" type="audio/x-pn-realaudio-plugin" console="video" autostart="true">';
|
||||
$replace .= '<embed src="\\2.ram" width="240" height="30" controls="ControlPanel" type="audio/x-pn-realaudio-plugin" console="video" autostart="true">';
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_rpm) {
|
||||
$search = '/<a(.*?)href=\"([^<]+)\.rpm\"([^>]*)>(.*?)<\/a>/is';
|
||||
|
||||
@@ -217,7 +223,7 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '<param name="controls" value="imagewindow" />';
|
||||
$replace .= '<param name="console" value="video" />';
|
||||
$replace .= '<param name="loop" value="true" />';
|
||||
$replace .= '<embed src="\\2.rm" width=240" height="180" loop="true" type="audio/x-pn-realaudio-plugin" controls="imagewindow" console="video" autostart="true">';
|
||||
$replace .= '<embed src="\\2.rpm" width=240" height="180" loop="true" type="audio/x-pn-realaudio-plugin" controls="imagewindow" console="video" autostart="true">';
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object><br />';
|
||||
|
||||
@@ -226,13 +232,13 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '<param name="autostart" value="true" />';
|
||||
$replace .= '<param name="controls" value="ControlPanel" />';
|
||||
$replace .= '<param name="console" value="video" />';
|
||||
$replace .= '<embed src="\\2.rm" width="240" height="30" controls="ControlPanel" type="audio/x-pn-realaudio-plugin" console="video" autostart="true">';
|
||||
$replace .= '<embed src="\\2.rpm" width="240" height="30" controls="ControlPanel" type="audio/x-pn-realaudio-plugin" console="video" autostart="true">';
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
|
||||
if ($CFG->filter_mediaplugin_enable_rm) {
|
||||
$search = '/<a(.*?)href=\"([^<]+)\.rm\"([^>]*)>(.*?)<\/a>/is';
|
||||
|
||||
@@ -255,11 +261,13 @@ function mediaplugin_filter($courseid, $text) {
|
||||
$replace .= '</embed>';
|
||||
$replace .= '</object></p>';
|
||||
|
||||
$text = preg_replace($search, $replace, $text);
|
||||
$newtext = preg_replace($search, $replace, $newtext);
|
||||
}
|
||||
|
||||
|
||||
return $text;
|
||||
if (is_null($newtext)) {
|
||||
$newtext = $text;
|
||||
}
|
||||
return $newtext;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+6
-6
@@ -68,29 +68,29 @@
|
||||
$texexp = str_replace('>','>',$texexp);
|
||||
$texexp = preg_replace('!\r\n?!',' ',$texexp);
|
||||
$texexp = '\Large ' . $texexp;
|
||||
$texexp = escapeshellarg($texexp);
|
||||
|
||||
if ((PHP_OS == "WINNT") || (PHP_OS == "WIN32") || (PHP_OS == "Windows")) {
|
||||
$texexp = str_replace('"','\"',$texexp);
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex.exe";
|
||||
$cmd = str_replace(' ','^ ',$cmd);
|
||||
$cmd .= " ++ -e \"$pathname\" -- \"$texexp\"";
|
||||
$cmd .= " ++ -e \"$pathname\" -- $texexp";
|
||||
} else if (is_executable("$CFG->dirroot/$CFG->texfilterdir/mimetex")) { /// Use the custom binary
|
||||
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname -- ". escapeshellarg($texexp);
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname -- $texexp";
|
||||
|
||||
} else { /// Auto-detect the right TeX binary
|
||||
switch (PHP_OS) {
|
||||
|
||||
case "Linux":
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" -- ". escapeshellarg($texexp);
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" -- $texexp";
|
||||
break;
|
||||
|
||||
case "Darwin":
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" -- ". escapeshellarg($texexp);
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" -- $texexp";
|
||||
break;
|
||||
|
||||
case "FreeBSD":
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.freebsd\" -e \"$pathname\" ". escapeshellarg($texexp);
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.freebsd\" -e \"$pathname\" $texexp";
|
||||
break;
|
||||
|
||||
default: /// Nothing was found, so tell them how to fix it.
|
||||
|
||||
+13
-13
@@ -111,31 +111,31 @@
|
||||
}
|
||||
$commandpath = "";
|
||||
$cmd = "";
|
||||
$texexp = escapeshellarg($texexp);
|
||||
switch (PHP_OS) {
|
||||
case "Linux":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.linux";
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" ". escapeshellarg($texexp);
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.linux\" -e \"$pathname\" $texexp";
|
||||
break;
|
||||
case "WINNT":
|
||||
case "WIN32":
|
||||
case "Windows":
|
||||
case "WIN32":
|
||||
case "Windows":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.exe";
|
||||
$texexp = str_replace('"','\"',$texexp);
|
||||
$cmd = str_replace(' ','^ ',$commandpath);
|
||||
$cmd .= " ++ -e \"$pathname\" \"$texexp\"";
|
||||
$cmd = str_replace(' ','^ ',$commandpath);
|
||||
$cmd .= " ++ -e \"$pathname\" $texexp";
|
||||
break;
|
||||
case "Darwin":
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin";
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" ". escapeshellarg($texexp);
|
||||
$cmd = "\"$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin\" -e \"$pathname\" $texexp";
|
||||
break;
|
||||
}
|
||||
if (!$cmd) {
|
||||
if (is_executable("$CFG->dirroot/$CFG->texfilterdir/mimetex")) { /// Use the custom binary
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex";
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname ". escapeshellarg($texexp);
|
||||
} else {
|
||||
error($error_message1);
|
||||
}
|
||||
if (is_executable("$CFG->dirroot/$CFG->texfilterdir/mimetex")) { /// Use the custom binary
|
||||
$commandpath="$CFG->dirroot/$CFG->texfilterdir/mimetex";
|
||||
$cmd = "$CFG->dirroot/$CFG->texfilterdir/mimetex -e $pathname $texexp";
|
||||
} else {
|
||||
error($error_message1);
|
||||
}
|
||||
}
|
||||
system($cmd, $status);
|
||||
}
|
||||
|
||||
@@ -32,18 +32,19 @@
|
||||
make_upload_directory($CFG->teximagedir);
|
||||
}
|
||||
$pathname = "$CFG->dataroot/$CFG->teximagedir/$image";
|
||||
$texexp = escapeshellarg($texexp);
|
||||
|
||||
switch (PHP_OS) {
|
||||
case "Linux":
|
||||
system("$CFG->dirroot/$CFG->texfilterdir/mimetex.linux -e $pathname -- ". escapeshellarg($texexp) );
|
||||
system("$CFG->dirroot/$CFG->texfilterdir/mimetex.linux -e $pathname -- $texexp" );
|
||||
break;
|
||||
case "WINNT":
|
||||
case "WIN32":
|
||||
case "Windows":
|
||||
$texexp = str_replace('"','\"',$texexp);
|
||||
system("$CFG->dirroot/$CFG->texfilterdir/mimetex.exe -e $pathname -- \"$texexp\"");
|
||||
case "WIN32":
|
||||
case "Windows":
|
||||
system("$CFG->dirroot/$CFG->texfilterdir/mimetex.exe -e $pathname -- $texexp");
|
||||
break;
|
||||
case "Darwin":
|
||||
system("$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin -e $pathname -- ". escapeshellarg($texexp) );
|
||||
system("$CFG->dirroot/$CFG->texfilterdir/mimetex.darwin -e $pathname -- $texexp" );
|
||||
break;
|
||||
}
|
||||
if (file_exists($pathname)) {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
* @param string text to be filtered
|
||||
*/
|
||||
function tidy_filter($courseid, $text) {
|
||||
|
||||
global $CFG;
|
||||
/// Configuration for tidy. Feel free to tune for your needs, e.g. to allow
|
||||
/// proprietary markup.
|
||||
$tidyoptions = array(
|
||||
@@ -39,7 +39,11 @@ function tidy_filter($courseid, $text) {
|
||||
|
||||
/// If enabled: run tidy over the entire string
|
||||
if (function_exists('tidy_repair_string')){
|
||||
$text = tidy_repair_string($text, $tidyoptions);
|
||||
if (empty($CFG->unicodedb)) {
|
||||
$text = tidy_repair_string($text, $tidyoptions);
|
||||
} else {
|
||||
$text = tidy_repair_string($text, $tidyoptions, 'utf8');
|
||||
}
|
||||
}
|
||||
|
||||
return $text;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
require_login($course->id);
|
||||
|
||||
require_capability('moodle/course:managegrades', get_context_instance(CONTEXT_MODULE, $id));
|
||||
require_capability('moodle/course:managegrades', get_context_instance(CONTEXT_COURSE, $id));
|
||||
|
||||
$group = get_current_group($course->id);
|
||||
|
||||
|
||||
+3
-3
@@ -2024,7 +2024,7 @@ function grade_view_all_grades($view_by_student) { // if mode=='grade' then we a
|
||||
$header = '<tr><th rowspan="2">'.$student_heading_link.'</th>';
|
||||
}
|
||||
else {
|
||||
$header = '</tr>';
|
||||
$header = '<tr>';
|
||||
}
|
||||
$header1 = '<tr>';
|
||||
|
||||
@@ -3005,12 +3005,12 @@ function grade_get_course_students($courseid) {
|
||||
}
|
||||
|
||||
$configvar = get_config('', 'gradebookroles');
|
||||
if (empty($configvar->value)) {
|
||||
if (empty($configvar)) {
|
||||
notify ('no roles defined in admin->appearance->graderoles');
|
||||
return false; // no roles to displayreturn false;
|
||||
}
|
||||
|
||||
if ($rolestoget = explode(',', $configvar->value)) {
|
||||
if ($rolestoget = explode(',', $configvar)) {
|
||||
foreach ($rolestoget as $crole) {
|
||||
if ($tempstudents = get_role_users($crole, $context, true)) {
|
||||
foreach ($tempstudents as $tempuserid=>$tempstudent) {
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php');
|
||||
}
|
||||
} else if (!empty($CFG->mymoodleredirect)) { // Redirect logged-in users to My Moodle overview if required
|
||||
if (isloggedin()) {
|
||||
if (isloggedin() and !isguest()) {
|
||||
redirect($CFG->wwwroot .'/my/index.php');
|
||||
}
|
||||
}
|
||||
|
||||
+44
-32
@@ -3,7 +3,7 @@
|
||||
|
||||
/// If config.php exists already then we are not needed.
|
||||
|
||||
if (file_exists('./config.php')) {
|
||||
if (file_exists('./config.php')) {
|
||||
header('Location: index.php');
|
||||
die;
|
||||
} else {
|
||||
@@ -97,18 +97,18 @@ if (isset($_POST['stage'])) {
|
||||
|
||||
|
||||
if ($nextstage < 0) $nextstage = WELCOME;
|
||||
|
||||
|
||||
|
||||
/// Store any posted data
|
||||
foreach ($_POST as $setting=>$value) {
|
||||
$INSTALL[$setting] = $value;
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
$goforward = true;
|
||||
$nextstage = WELCOME;
|
||||
|
||||
|
||||
}
|
||||
|
||||
//==========================================================================//
|
||||
@@ -201,7 +201,7 @@ if (isset($_GET['help'])) {
|
||||
/// Are we in config download mode?
|
||||
|
||||
if (isset($_GET['download'])) {
|
||||
header("Content-Type: application/download\n");
|
||||
header("Content-Type: application/download\n");
|
||||
header("Content-Disposition: attachment; filename=\"config.php\"");
|
||||
echo $INSTALL['config'];
|
||||
exit;
|
||||
@@ -218,7 +218,7 @@ if (isset($_GET['download'])) {
|
||||
if ($INSTALL['stage'] == DIRECTORY) {
|
||||
|
||||
error_reporting(0);
|
||||
|
||||
|
||||
/// check wwwroot
|
||||
if (ini_get('allow_url_fopen')) {
|
||||
if (($fh = @fopen($INSTALL['wwwrootform'].'/install.php', 'r')) === false) {
|
||||
@@ -227,12 +227,12 @@ if ($INSTALL['stage'] == DIRECTORY) {
|
||||
}
|
||||
}
|
||||
if ($fh) fclose($fh);
|
||||
|
||||
|
||||
/// check dirroot
|
||||
if (($fh = @fopen($INSTALL['dirrootform'].'/install.php', 'r')) === false ) {
|
||||
$errormsg .= get_string('dirrooterror', 'install').'<br />';
|
||||
$INSTALL['dirrootform'] = $INSTALL['dirroot'];
|
||||
}
|
||||
}
|
||||
if ($fh) fclose($fh);
|
||||
|
||||
/// check dataroot
|
||||
@@ -240,7 +240,7 @@ if ($INSTALL['stage'] == DIRECTORY) {
|
||||
if (make_upload_directory('sessions', false) === false ) {
|
||||
$errormsg .= get_string('datarooterror', 'install').'<br />';
|
||||
}
|
||||
if ($fh) fclose($fh);
|
||||
if ($fh) fclose($fh);
|
||||
|
||||
if (!empty($errormsg)) $nextstage = DIRECTORY;
|
||||
|
||||
@@ -262,7 +262,7 @@ if ($INSTALL['stage'] == DATABASE) {
|
||||
} else {
|
||||
$INSTALL['skipdbencodingtest'] = false;
|
||||
}
|
||||
|
||||
|
||||
/// different format for postgres7 by socket
|
||||
if ($INSTALL['dbtype'] == 'postgres7' and ($INSTALL['dbhost'] == 'localhost' || $INSTALL['dbhost'] == '127.0.0.1')) {
|
||||
$INSTALL['dbhost'] = "user='{$INSTALL['dbuser']}' password='{$INSTALL['dbpass']}' dbname='{$INSTALL['dbname']}'";
|
||||
@@ -335,11 +335,11 @@ if ($INSTALL['stage'] == DATABASE) {
|
||||
|
||||
if (empty($errormsg)) {
|
||||
|
||||
error_reporting(0); // Hide errors
|
||||
error_reporting(0); // Hide errors
|
||||
|
||||
if (! $dbconnected = $db->Connect($INSTALL['dbhost'],$INSTALL['dbuser'],$INSTALL['dbpass'],$INSTALL['dbname'])) {
|
||||
/// The following doesn't seem to work but we're working on it
|
||||
/// If you come up with a solution for creating a database in MySQL
|
||||
/// If you come up with a solution for creating a database in MySQL
|
||||
/// feel free to put it in and let us know
|
||||
if ($dbconnected = $db->Connect($INSTALL['dbhost'],$INSTALL['dbuser'],$INSTALL['dbpass'])) {
|
||||
switch ($INSTALL['dbtype']) { /// Try to create a database
|
||||
@@ -384,7 +384,7 @@ if ($INSTALL['stage'] == DATABASE) {
|
||||
$nextstage = DATABASE;
|
||||
$INSTALL['showskipdbencodingtest'] = true;
|
||||
$INSTALL['dbencodingtestresults'] = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$INSTALL['showskipdbencodingtest'] = true;
|
||||
$INSTALL['dbencodingtestresults'] = false;
|
||||
@@ -537,7 +537,7 @@ if ($INSTALL['stage'] == DOWNLOADLANG && $INSTALL['downloadlangpack']) {
|
||||
$INSTALL['showdownloadlangpack'] = false;
|
||||
$INSTALL['downloadlangpackerror'] = $downloaderror;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -591,7 +591,7 @@ if ($nextstage == SAVE) {
|
||||
fwrite($fh, $str);
|
||||
fclose($fh);
|
||||
}
|
||||
|
||||
|
||||
|
||||
$INSTALL['config'] = $str;
|
||||
}
|
||||
@@ -681,7 +681,7 @@ if (isset($_GET['help'])) {
|
||||
|
||||
<tr>
|
||||
<td class="td_main" colspan="2">
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
if (!empty($errormsg)) echo "<p class=\"errormsg\" align=\"center\">$errormsg</p>\n";
|
||||
@@ -698,7 +698,7 @@ if ($nextstage == SAVE) {
|
||||
echo "<tr>\n";
|
||||
echo "<td width=\"33.3%\"> </td>\n";
|
||||
echo "<td width=\"33.3%\"> </td>\n";
|
||||
echo "<td width=\"33.3%\" align=\"right\">\n";
|
||||
echo "<td width=\"33.3%\" align=\"right\">\n";
|
||||
print_single_button("index.php", $options, get_string('continue')." »");
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
@@ -706,16 +706,16 @@ if ($nextstage == SAVE) {
|
||||
|
||||
} else {
|
||||
echo "<p class=\"errormsg\">".get_string('configfilenotwritten', 'install')."</p>";
|
||||
|
||||
|
||||
echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">\n";
|
||||
echo "<tr>\n";
|
||||
echo "<td width=\"33.3%\"> </td>\n";
|
||||
echo "<td width=\"33.3%\" align=\"center\">\n";
|
||||
echo "<td width=\"33.3%\" align=\"center\">\n";
|
||||
$installoptions = array();
|
||||
$installoptions['download'] = 1;
|
||||
$installoptions['download'] = 1;
|
||||
print_single_button("install.php", $installoptions, get_string('download', 'install'));
|
||||
echo "</td>\n";
|
||||
echo "<td width=\"33.3%\" align=\"right\">\n";
|
||||
echo "<td width=\"33.3%\" align=\"right\">\n";
|
||||
print_single_button("index.php", $options, get_string('continue')." »");
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
@@ -753,7 +753,7 @@ if ($nextstage == SAVE) {
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
<?php
|
||||
|
||||
//==========================================================================//
|
||||
|
||||
@@ -802,7 +802,7 @@ function form_table($nextstage = WELCOME, $formaction = "install.php") {
|
||||
break;
|
||||
case COMPATIBILITY: /// Compatibilty check
|
||||
$compatsuccess = true;
|
||||
|
||||
|
||||
/// Check that PHP is of a sufficient version
|
||||
print_compatibility_row(inst_check_php_version(), get_string('phpversion', 'install'), get_string('phpversionerror', 'install'), 'phpversionhelp');
|
||||
/// Check session auto start
|
||||
@@ -811,7 +811,7 @@ function form_table($nextstage = WELCOME, $formaction = "install.php") {
|
||||
print_compatibility_row(!ini_get_bool('magic_quotes_runtime'), get_string('magicquotesruntime', 'install'), get_string('magicquotesruntimeerror', 'install'), 'magicquotesruntimehelp');
|
||||
/// Check unsupported PHP configuration
|
||||
print_compatibility_row(ini_get_bool('magic_quotes_gpc') || (!ini_get_bool('register_globals')), get_string('globalsquotes', 'install'), get_string('globalsquoteserror', 'install'), 'globalsquoteshelp');
|
||||
/// Check safe mode
|
||||
/// Check safe mode
|
||||
print_compatibility_row(!ini_get_bool('safe_mode'), get_string('safemode', 'install'), get_string('safemodeerror', 'install'), 'safemodehelp', true);
|
||||
/// Check file uploads
|
||||
print_compatibility_row(ini_get_bool('file_uploads'), get_string('fileuploads', 'install'), get_string('fileuploadserror', 'install'), 'fileuploadshelp', true);
|
||||
@@ -854,10 +854,10 @@ function form_table($nextstage = WELCOME, $formaction = "install.php") {
|
||||
<td class="td_right">
|
||||
<?php choose_from_menu (array('mysql' => get_string('mysql', 'install'),
|
||||
'oci8po' => get_string('oci8po', 'install'),
|
||||
'postgres7' => get_string('postgres7', 'install'),
|
||||
'mssql' => get_string('mssql', 'install'),
|
||||
'mssql_n' => get_string('mssql_n', 'install'),
|
||||
'odbc_mssql' => get_string('odbc_mssql', 'install')),
|
||||
'postgres7' => get_string('postgres7', 'install'),
|
||||
'mssql' => get_string('mssql', 'install'),
|
||||
'mssql_n' => get_string('mssql_n', 'install'),
|
||||
'odbc_mssql' => get_string('odbc_mssql', 'install')),
|
||||
'dbtype', $INSTALL['dbtype'], '', 'toggledbinfo();') ?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -956,7 +956,7 @@ function form_table($nextstage = WELCOME, $formaction = "install.php") {
|
||||
print_single_button('install.php', $options, get_string('downloadlanguagebutton','install', $languages[$INSTALL['language']]), 'POST');
|
||||
print_simple_box_end();
|
||||
} else {
|
||||
/// Show result info
|
||||
/// Show result info
|
||||
/// English lang packs aren't downloaded
|
||||
if (substr($INSTALL['language'],0,2) == 'en') {
|
||||
print_simple_box(get_string('downloadlanguagenotneeded', 'install', $languages[$INSTALL['language']]), 'center', '80%');
|
||||
@@ -1006,7 +1006,7 @@ function form_table($nextstage = WELCOME, $formaction = "install.php") {
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
<?php
|
||||
if (!$needtoopenform) {
|
||||
@@ -1055,7 +1055,7 @@ function install_helpbutton($url, $title='') {
|
||||
echo "onClick=\"return window.open('$url', 'Help', 'menubar=0,location=0,scrollbars,resizable,width=500,height=400')\">";
|
||||
echo "</a>\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//==========================================================================//
|
||||
@@ -1154,7 +1154,7 @@ function css_styles() {
|
||||
<style type="text/css">
|
||||
|
||||
body { background-color: #ffeece; }
|
||||
p, li, td {
|
||||
p, li, td {
|
||||
font-family: helvetica, arial, sans-serif;
|
||||
font-size: 10pt;
|
||||
}
|
||||
@@ -1231,6 +1231,18 @@ function css_styles() {
|
||||
font-size: 10pt;
|
||||
border-color: #ffc85f;
|
||||
}
|
||||
table.environmenttable .error {
|
||||
background-color : red;
|
||||
color : inherit;
|
||||
}
|
||||
|
||||
table.environmenttable .warn {
|
||||
background-color : yellow;
|
||||
}
|
||||
|
||||
table.environmenttable .ok {
|
||||
background-color : lightgreen;
|
||||
}
|
||||
.header {
|
||||
background-color: #fee6b9;
|
||||
font-size: 10pt;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['closewindow'] = 'Maak die venster toe';
|
||||
$string['continue'] = 'Gaan voort';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirerror'] = 'مجلد الإدارة المحدد غير صحيح';
|
||||
$string['admindirname'] = 'مجلد الإدارة';
|
||||
@@ -41,7 +41,7 @@ $string['dirroot'] = 'دليل مودل';
|
||||
$string['dirrooterror'] = 'إعدادّّّ\"المجلد\" غير صحيح. حاول إعادة الإعداد';
|
||||
$string['download'] = 'تنزيل';
|
||||
$string['downloadlanguagehead'] = 'تنزيل حزمة اللغة';
|
||||
$string['environmenterrortodo'] = 'يجب عليك تصحيح كل المشاكل (الأخطاء) الموضحه أعلاه قبل الأستمرار في ثتبيت هذا الأصدار لمودل';
|
||||
$string['environmenterrortodo'] = 'يجب عليك تصحيح كل المشاكل (الأخطاء) الموضحه أعلاه قبل الأستمرار في ثتبيت هذا الأصدار لموّدل';
|
||||
$string['environmenthead'] = 'يتم فحص البيئة';
|
||||
$string['environmentrecommendinstall'] = 'ينصح بتثبيته/تمكينه';
|
||||
$string['environmentrecommendversion'] = 'يفضل الأصدار a$->needed ، وانت تستخدم الأصدار a$->current';
|
||||
@@ -62,6 +62,7 @@ $string['magicquotesruntimeerror'] = 'هذا يجب ان يكون معطل';
|
||||
$string['mbstringrecommended'] = 'يفضل وبشدة تثبيت مكتبة (MBSTRING) الاختيارية وذلك لتسحين اداء الموقع وبذات لوكان موقعك يدعم لغات غير لاتينية.';
|
||||
$string['memorylimit'] = 'حد الذاكرة';
|
||||
$string['memorylimiterror'] = 'ذاكرة الـ PHP صغيرة جداً... من المحتل ستواجه بعض المشاكل لاحقاً';
|
||||
$string['missingrequiredfield'] = 'بعض الحقول المطلوبة مفقودة';
|
||||
$string['moodledocslink'] = 'وثائق مودل لهذه الصفحة';
|
||||
$string['mysql416bypassed'] = 'على الرغم من أن موقعك يستخدم iso-8859-1 للغات (اللأتينية)فقط، يمكنك الأستمرار في استخدام MySQL 4.1.12 أو أعلى المثبتة حاليا.';
|
||||
$string['mysql416required'] = 'MySQL 4.1.16 هي الأصدار الأقل المطلوب لاتثبيت أصدار مودل 1.6 وذلك لضمان إمكانية تحويل جميع البيانات إلى UTF-8 في المستقبل.';
|
||||
@@ -72,7 +73,7 @@ $string['parentlanguage'] = 'المترجمون: أذا كانت لغتك لها
|
||||
$string['pass'] = 'اجتياز';
|
||||
$string['password'] = 'كلمة المرور';
|
||||
$string['phpversion'] = 'أصدار PHP';
|
||||
$string['phpversionerror'] = 'يجب ان يكون إصدار PHP 4.1.0 على الاقل ';
|
||||
$string['phpversionerror'] = 'يجب ان يكون إصدار PHP 4.1.0 على الاقل';
|
||||
$string['phpversionhelp'] = '<p> يتطلب مودل على الاقل الأصدار 4.1.0 لـ PHP </p>
|
||||
<p> انت تستخدم الأصدار $a </p>
|
||||
<p> يجب عليك ترقية PHP أو الانتقال إلى مستظيف أخر لديه أصدار اجد لـ PHP.</p>';
|
||||
@@ -86,6 +87,7 @@ $string['sessionautostarterror'] = 'يجب أن يكون هذا معطل';
|
||||
$string['skipdbencodingtest'] = 'تخطى اختبار تشفير قاعدة البيانات';
|
||||
$string['status'] = 'الحالة';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'rtl';
|
||||
$string['thislanguage'] = 'عربي';
|
||||
$string['user'] = 'مستخدم';
|
||||
$string['wwwroot'] = 'WWW';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirerror'] = 'Абраны каталог адміністратара няслушны';
|
||||
$string['admindirname'] = 'Каталог адміністратара';
|
||||
@@ -37,6 +37,7 @@ $string['password'] = 'Пароль';
|
||||
$string['previous'] = 'Папярэдні';
|
||||
$string['status'] = 'Статус';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Беларуская';
|
||||
$string['user'] = 'Карыстальнік';
|
||||
?>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['closewindow'] = 'Затваряне на прозореца';
|
||||
$string['continue'] = 'Напред';
|
||||
@@ -22,6 +22,7 @@ $string['password'] = 'Парола';
|
||||
$string['previous'] = 'Предишен';
|
||||
$string['status'] = 'Състояние';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Български';
|
||||
$string['user'] = 'Потребител';
|
||||
?>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirerror'] = 'Određeni administratorski direktorij je nepravilan';
|
||||
$string['admindirname'] = 'Administratorski direktorij';
|
||||
@@ -51,10 +51,10 @@ $string['memorylimithelp'] = '<p>PHP ograničenje memorije za Vaš server je tre
|
||||
|
||||
<p>Ovo možda prouzrokuje Moodlu da kasnije ima problema sa memorijom, posebno ako imate mnogo dozvoljenih modula i /ili mnogo korisnika.</p>
|
||||
|
||||
<p>Preporučujemo Vam da konfigurišete PHP sa visokim ograničenjem ako je moguće, kao 16M. Čineći ovo tamo je nekoliko načina pa možete pokušati: </p><ol>
|
||||
<p>Preporučujemo Vam da konfigurišete PHP sa visokim ograničenjem ako je moguće, kao 40M. Čineći ovo tamo je nekoliko načina pa možete pokušati: </p><ol>
|
||||
<li>Ako ste, opet kompajlisati PHP sa <i>--dostupnim-memorijskim-ograničenjem</i>. Ovo će dozvoliti Moodle da postavi memorijsko ograničenje sam za sebe.</li>
|
||||
<li>Ako imate pristup na Vašu php.ini datoteku, možete promijeniti <b>memorijsko_ograničenje</b> podešavanje u nešto kao ovo 16M. Ako nemate pristup možete pitati svog administratora da to uradi za Vas.</li>
|
||||
<li>Na nekim PHP serverima možete kreirati a.ht pristupnu datoteku u Moodle direktoriju koji se sadrži na ovoj liniji:<br /><blockquote>php_vrijednost memorijskog_ograničenja 16M</blockquote></li>
|
||||
<li>Ako imate pristup na Vašu php.ini datoteku, možete promijeniti <b>memorijsko_ograničenje</b> podešavanje u nešto kao ovo 40M. Ako nemate pristup možete pitati svog administratora da to uradi za Vas.</li>
|
||||
<li>Na nekim PHP serverima možete kreirati a.ht pristupnu datoteku u Moodle direktoriju koji se sadrži na ovoj liniji:<br /><blockquote>php_vrijednost memorijskog_ograničenja 40M</blockquote></li>
|
||||
<br />Kakogod, na istom serveru ovo izbjegavajte <b>sve</b> PHP stranice za rad (vidjet ćete grešku prilkom pregleda stranice) ćete na njima morati izbrisati .htpristupnu datoteku. </li></ol>';
|
||||
$string['mysqlextensionisnotpresentinphp'] = 'PHP neće biti propisno konfigurisan sa MySQL ekstenzijom tako da može komunicirati sa MySQL. Molimo Vas da provjerite svoju php.ini datoteku ili opet kompajlišite PHP.';
|
||||
$string['name'] = 'Ime';
|
||||
@@ -74,6 +74,7 @@ $string['sessionautostart'] = 'Automatski početak akcije';
|
||||
$string['sessionautostarterror'] = 'Ovo bi trebalo biti isključeno';
|
||||
$string['status'] = 'Status';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Bosanski';
|
||||
$string['user'] = 'Korisnik';
|
||||
$string['wwwroot'] = 'Web adresa';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirerror'] = 'El directori d\'administració especificat és incorrecte';
|
||||
$string['admindirname'] = 'Directori d\'administració';
|
||||
@@ -15,7 +15,7 @@ $string['admindirsettinghead'] = 'S\'està configurant el directori d\'administr
|
||||
$string['admindirsettingsub'] = 'Alguns proveïdors d\'espai web utilitzen /admin com una adreça URL especial per accedir a un tauler de control o quelcom semblant. Malauradament això interfereix amb la ubicació estàndard de les pàgines d\'administració de Moodle. Podeu solucionar aquest problema canviant el nom del directori admin en la vostra instal·lació i introduint aquí el nou nom. Per exemple: <br /> <br /><b>moodleadmin</b><br /> <br />
|
||||
Això repararà tots els enllaços d\'administració de Moodle.';
|
||||
$string['bypassed'] = 'S\'ha deixat de banda';
|
||||
$string['cannotcreatelangdir'] = 'No es pot crear el directori d\'idiomes.';
|
||||
$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';
|
||||
@@ -37,6 +37,7 @@ $string['configurationcompletehead'] = 'S\'ha completat la configuració';
|
||||
$string['configurationcompletesub'] = 'Moodle ha intentat desar la configuració en un fitxer en l\'arrel de la vostra instal·lació de Moodle.';
|
||||
$string['continue'] = 'Continua';
|
||||
$string['curlrecommended'] = 'Es recomana instal·lar la biblioteca opcional Curl a fi d\'habilitar la funcionalitat de Moodle en Xarxa.';
|
||||
$string['customcheck'] = 'Altres comprovacions';
|
||||
$string['database'] = 'Base de dades';
|
||||
$string['databasecreationsettingshead'] = 'Ara cal configurar els paràmetres de la base de dades on s\'emmagatzemaran la majoria de dades de Moodle. L\'instal·lador crearà automàticament aquesta base de dades amb els paràmetres que especifiqueu aquí.';
|
||||
$string['databasecreationsettingssub'] = '<b>Tipus:</b> fixat a \"mysql\" per l\'instal·lador<br />
|
||||
@@ -70,6 +71,12 @@ $string['databasesettingssub_mysql'] = '<b>Tipus:</b> MySQL<br />
|
||||
<b>Usuari:</b> el vostre nom d\'usuari de la base de dades<br />
|
||||
<b>Contrasenya:</b> la vostra contrasenya de la base de dades<br />
|
||||
<b>Prefix de les taules:</b> prefix que cal anteposar als noms de totes les taules (opcional)';
|
||||
$string['databasesettingssub_mysqli'] = '<b>Tipus:</b> MySQL Improved<br />
|
||||
<b>Servidor:</b> p. ex. localhost o db.isp.com<br />
|
||||
<b>Nom:</b> nom de la base de dades, p. ex. moodle<br />
|
||||
<b>Usuari:</b> el vostre nom d\'usuari de la base de dades<br />
|
||||
<b>Contrasenya:</b> la vostra contrasenya de la base de dades<br />
|
||||
<b>Prefix de les taules:</b> prefix que cal anteposar als noms de totes les taules (opcional)';
|
||||
$string['databasesettingssub_oci8po'] = '<b>Tipus:</b> Oracle<br />
|
||||
<b>Servidor:</b> no utilitzat, s\'ha de deixar en blanc<br />
|
||||
<b>Nom:</b> nom de la connexió tnsnames.ora<br />
|
||||
@@ -118,8 +125,10 @@ $string['downloadlanguagenotneeded'] = 'Podeu continuar el procés d\'instal·la
|
||||
$string['downloadlanguagesub'] = 'Ara teniu l\'opció de baixar un paquet d\'idioma i continuar el procés d\'instal·lació en aquest idioma.<br /><br />Si no podeu baixar el paquet, el procés d\'instal·lació prosseguirà en anglès. (Després que s\'hagi completat la instal·lació, tindreu l\'oportunitat de baixar i instal·lar paquets d\'idioma addicionals.)';
|
||||
$string['environmenterrortodo'] = 'Abans d\'instal·lar aquesta versió de Moodle heu de resoldre tots els problemes d\'entorn (errors) que s\'han trobat.';
|
||||
$string['environmenthead'] = 'S\'està comprovant el vostre entorn';
|
||||
$string['environmentrecommendcustomcheck'] = 'si aquesta prova falla, això indica un problema en potència';
|
||||
$string['environmentrecommendinstall'] = 'es recomana instal·lar/habilitar';
|
||||
$string['environmentrecommendversion'] = 'esteu executant la versió $a->current i es recomana la $a->needed';
|
||||
$string['environmentrequirecustomcheck'] = 'cal passar aquesta prova';
|
||||
$string['environmentrequireinstall'] = 'es requereix instal·lar/habilitar';
|
||||
$string['environmentrequireversion'] = 'esteu executant la versió $a->current i es requereix la $a->needed';
|
||||
$string['environmentsub'] = 'S\'està comprovant si els diferents components del vostre sistema satisfan els requeriments';
|
||||
@@ -156,12 +165,12 @@ $string['memorylimithelp'] = '<p>El límit de memòria del PHP del vostre servid
|
||||
|
||||
<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>
|
||||
|
||||
<p>És recomanable que configureu el PHP amb un límit superior, com ara 16 MB, sempre que sigui possible. Hi ha diverses maneres de fer això:</p>
|
||||
<p>És recomanable que configureu el PHP amb un límit superior, com ara 40 MB, sempre que sigui possible. Hi ha diverses maneres de fer això:</p>
|
||||
<ol>
|
||||
<li>Si podeu, recompileu el PHP amb <i>--enable-memory-limit</i>. Això permetrà que Moodle defineixi el límit de memòria per si mateix.</li>
|
||||
<li>Si teniu accés al fitxer php.ini, podeu canviar el paràmetre <b>memory_limit</b> a 16M. Si no hi teniu accés podeu demanar al vostre administrador que ho faci ell.</li>
|
||||
<li>Si teniu accés al fitxer php.ini, podeu canviar el paràmetre <b>memory_limit</b> a 40 MB. Si no hi teniu accés podeu demanar al vostre administrador que ho faci ell.</li>
|
||||
<li>En alguns servidors PHP podeu crear un fitxer .htaccess dins del directori de Moodle amb aquesta línia:
|
||||
<p><blockquote>php_value memory_limit 16M</blockquote></p>
|
||||
<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['missingrequiredfield'] = 'Falta algun camp necessari';
|
||||
@@ -173,6 +182,8 @@ $string['mysql'] = 'MySQL (mysql)';
|
||||
$string['mysql416bypassed'] = 'Tanmateix, si el vostre lloc fa servir NOMÉS llengües romàniques (iso-8859-1), podeu seguir utilitzant el MySQL 4.1.12 (o superior) instal·lat.';
|
||||
$string['mysql416required'] = 'MySQL 4.1.16 és la versió mínima requerida per Moodle 1.6 a fi de garantir la conversió de totes les dades a UTF-8 en el futur.';
|
||||
$string['mysqlextensionisnotpresentinphp'] = 'El PHP no s\'ha configurat correctament amb l\'extensió MySQL de manera que pugui comunicar-se amb MySQL. Reviseu el fitxer php.ini o recompileu el PHP.';
|
||||
$string['mysqli'] = 'MySQL Improved (mysqli)';
|
||||
$string['mysqliextensionisnotpresentinphp'] = 'El PHP no ha estat configurat adequadament amb l\'extensió MySQLi de manera que pugui comunicar-se amb MySQL. Reviseu el fitxer php.ini o recompileu el PHP. L\'extensió MySQLi no està disponible per a PHP 4.';
|
||||
$string['name'] = 'Nom';
|
||||
$string['next'] = 'Següent';
|
||||
$string['oci8po'] = 'Oracle (oci8po)';
|
||||
@@ -192,16 +203,20 @@ $string['phpversionhelp'] = '<p>Moodle necessita la versió de PHP 4.1.0 o poste
|
||||
<p>Us caldrà actualitzar el PHP o traslladar Moodle a un ordinador amb una versió de PHP més recent.</p>';
|
||||
$string['postgres7'] = 'PostgreSQL (postgres7)';
|
||||
$string['previous'] = 'Anterior';
|
||||
$string['qtyperqpwillberemoved'] = 'Durant l\'actualització, el tipus de pregunta RPQ se suprimirà. No estàveu utilitzant aquest tipus de pregunta, de manera que no hauríeu d\'experimentar cap problema.';
|
||||
$string['qtyperqpwillberemovedanyway'] = 'Durant l\'actualització, el tipus de pregunta RPQ se suprimirà. Teniu algunes preguntes RQP en la base de dades que deixaran de funcionar si no reinstal·leu el codi de http://moodle.org/mod/data/view.php?d=13&rid=797 abans de prosseguir l\'actualització.';
|
||||
$string['remotedownloadnotallowed'] = 'El vostre servidor no permet baixar components ((allow_url_fopen inhabilitat).<br /><br />Baixeu manualment el fitxer <a href=\"$a->url\">$a->url</a>, copieu en la ubicació \"$a->dest\" del vostre servidor i descomprimiu-lo allí.';
|
||||
$string['report'] = 'Informe';
|
||||
$string['restricted'] = 'Restringit';
|
||||
$string['safemode'] = 'Mode segur';
|
||||
$string['safemodeerror'] = 'Moodle pot tenir problemes amb el mode segur activat';
|
||||
$string['serverchecks'] = 'Proves del servidor';
|
||||
$string['sessionautostart'] = 'Autoinici de sessió';
|
||||
$string['sessionautostarterror'] = 'Hauria d\'estar desactivat';
|
||||
$string['skipdbencodingtest'] = 'Omet la prova de codificació de la base de dades';
|
||||
$string['status'] = 'Estat';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Català';
|
||||
$string['unicoderecommended'] = 'Es recomana emmagatzemar totes les dades en Unicode (UTF-8). Les noves instal·lacions s\'haurien de realitzar en bases de dades que tinguin definit com a Unicode el conjunt de caràcters per defecte. Si esteu fent una actualització, hauríeu de passar el procés de migració a UTF-8 (vg. la pàgina d\'Administració).';
|
||||
$string['unicoderequired'] = 'Es requereix emmagatzemar totes les dades en format Unicode (UTF-8). Les noves instal·lacions s\'han de realitzar en bases de dades que tinguin definit com a Unicode el conjunt de caràcters per defecte. Si esteu fent una actualització, hauríeu de passar el procés de migració a UTF-8 (vg. la pàgina d\'Administració).';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirerror'] = 'Adresář pro správu (admin) není zadán správně.';
|
||||
$string['admindirname'] = 'Adresář pro správu (admin)';
|
||||
@@ -37,6 +37,7 @@ $string['configurationcompletehead'] = 'Konfigurace dokončena';
|
||||
$string['configurationcompletesub'] = 'Moodle se pokusil uložit soubor s konfigurací do kořenového adresáře instalace Moodlu.';
|
||||
$string['continue'] = 'Pokračovat';
|
||||
$string['curlrecommended'] = 'Pro běh síťových funkcionalit (\"Moodle Networking\") je potřeba nainstalovat volitelnou knihovnu Curl.';
|
||||
$string['customcheck'] = 'Další kontroly';
|
||||
$string['database'] = 'Databáze';
|
||||
$string['databasecreationsettingshead'] = 'Nyní musíte nastavit připojení k databázi, kam si bude Moodle ukládat většinu svých dat. Tato databáze může být vytvořena instalátorem automaticky podle následujícího nastavení.';
|
||||
$string['databasecreationsettingssub'] = '<b>Typ:</b> instalátor nastaví na \"mysql\"<br />
|
||||
@@ -52,6 +53,42 @@ $string['databasesettingssub'] = '<b>Typ:</b> mysql nebo postgres7<br />
|
||||
<b>Uživatel:</b> uživatelské jméno účtu pro přístup k databázi<br />
|
||||
<b>Heslo:</b> heslo k tomuto účtu<br />
|
||||
<b>Předpona tabulek:</b> volitelná předpona, která se vloží před názvy všech tabulek (umožňuje používat jednu databázi pro více instalací Moodlu)';
|
||||
$string['databasesettingssub_mssql'] = '<b>Typ:</b> SQL*Server (bez UTF-8) <b><font color=\"red\">Jen pro experimentování! (není určeno pro produkční servery)</font></b><br />
|
||||
<b>Hostitel (Host):</b> např. localhost nebo db.naseskola.cz<br />
|
||||
<b>Název (Name):</b> název databáze, např. moodle<br />
|
||||
<b>Uživatel (User):</b> uživatel oprávněný pro práci s databází<br />
|
||||
<b>Heslo (Password):</b> heslo pro uživatele<br />
|
||||
<b>Předpona (Tables Prefix):</b> jednotná předpona názvů všech tabulek, např. mdl_ (povinné)';
|
||||
$string['databasesettingssub_mssql_n'] = '<b>Typ:</b> SQL*Server (s UTF-8) <br />
|
||||
<b>Hostitel (Host):</b> např. localhost nebo db.naseskola.cz<br />
|
||||
<b>Název (Name):</b> název databáze, např. moodle<br />
|
||||
<b>Uživatel (User):</b> uživatel oprávněný pro práci s databází<br />
|
||||
<b>Heslo (Password):</b> heslo pro uživatele<br />
|
||||
<b>Předpona (Tables Prefix):</b> jednotná předpona názvů všech tabulek, např. mdl_ (povinné)';
|
||||
$string['databasesettingssub_mysql'] = '<b>Typ:</b> MySQL<br />
|
||||
<b>Hostitel (Host):</b> např. localhost nebo db.naseskola.cz<br />
|
||||
<b>Název (Name):</b> název databáze, např. moodle<br />
|
||||
<b>Uživatel (User):</b> uživatel oprávněný pro práci s databází<br />
|
||||
<b>Heslo (Password):</b> heslo pro uživatele<br />
|
||||
<b>Předpona (Tables Prefix):</b> jednotná předpona názvů všech tabulek, např. mdl_ (volitelné)';
|
||||
$string['databasesettingssub_oci8po'] = '<b>Typ:</b> Oracle<br />
|
||||
<b>Hostitel (Host):</b> nepoužito, musí být prázdné<br />
|
||||
<b>Název (Name):</b> daný název připojení tnsnames.ora<br />
|
||||
<b>Uživatel (User):</b> uživatel oprávněný pro práci s databází<br />
|
||||
<b>Heslo (Password):</b> heslo pro uživatele<br />
|
||||
<b>Předpona (Tables Prefix):</b> jednotná předpona názvů všech tabulek (povinné, max 2 znaky)';
|
||||
$string['databasesettingssub_odbc_mssql'] = '<b>Typ:</b> SQL*Server (přes ODBC) <b><font color=\"red\">Jen pro experimentování! (není určeno pro produkční servery)</font></b><br />
|
||||
<b>Hostitel (Host):</b> název DSN podle řídicího panelu ODBC<br />
|
||||
<b>Název (Name):</b>název databáze, např. moodle <br />
|
||||
<b>Uživatel (User):</b> uživatel oprávněný pro práci s databází<br />
|
||||
<b>Heslo (Password):</b> heslo pro uživatele<br />
|
||||
<b>Předpona (Tables Prefix):</b> jednotná předpona názvů všech tabulek (povinné)';
|
||||
$string['databasesettingssub_postgres7'] = '<b>Typ:</b> PostgreSQL<br />
|
||||
<b>Hostitel (Host):</b> např. localhost nebo db.naseskola.cz<br />
|
||||
<b>Název (Name):</b> název databáze, např. moodle<br />
|
||||
<b>Uživatel (User):</b> uživatel oprávněný pro práci s databází<br />
|
||||
<b>Heslo (Password):</b> heslo pro uživatele<br />
|
||||
<b>Předpona (Tables Prefix):</b> jednotná předpona názvů všech tabulek, např. mdl_ (povinné)';
|
||||
$string['dataroot'] = 'Datový adresář';
|
||||
$string['datarooterror'] = 'Zadaný datový adresář se nepodařilo nalézt nebo vytvořit. Buď opravte zadanou cestu, nebo vytvořte adresář ručně.';
|
||||
$string['dbconnectionerror'] = 'Nepodařilo se připojit k databázi, kterou jste zadali. Zkontrolujte prosím nastavení databáze.';
|
||||
@@ -60,6 +97,9 @@ $string['dbhost'] = 'Hostitelský server';
|
||||
$string['dbprefix'] = 'Předpona tabulek';
|
||||
$string['dbtype'] = 'Typ';
|
||||
$string['dbwrongencoding'] = 'Vybraná databáze používá nedoporučené kódování $a. Vhodnější by bylo používat databázi s kódováním Unicode (UTF-8). Tuto kontrolu můžete přeskočit zaškrtnutím pole \"Přeskočit test kódování DB\", můžete však v budoucnu narazit na problémy.';
|
||||
$string['dbwronghostserver'] = 'Chyba v názvu hostitele.';
|
||||
$string['dbwrongnlslang'] = 'Proměnná prostředí Vašeho serveru NLS_LANG musí používat znakovou sadu AL32UTF8. Viz dokumentaci PHP o konfiguraci vlastnosti OCI8.';
|
||||
$string['dbwrongprefix'] = 'Chyba v předponě názvů tabulek.';
|
||||
$string['directorysettingshead'] = 'Potvrďte prosím adresy této instalace Moodlu.';
|
||||
$string['directorysettingssub'] = '<b>Webová adresa</b>:
|
||||
zadejte úplnou webovou adresu, na níž bude Moodle dostupný. Jsou-li vaše stránky dostupné na více URL, vyberte z nich tu, kterou budou vaši studenti používat nejčastěji. Na konci adresy neuvádějte lomítko.
|
||||
@@ -81,8 +121,10 @@ $string['downloadlanguagenotneeded'] = 'V instalaci lze nyní pokračovat v jazy
|
||||
$string['downloadlanguagesub'] = 'Nyní máte možnost stáhnout si některý z jazykových balíčků Moodlu a pokračovat v tomto jazyce.<br /><br />Pokud si momentálně nemůžete nebo nechcete stáhnout jazykový balíček, bude instalační proces pokračovat v angličtině. Jazykové balíčky si budete moci stáhnout i později po ukončení instalace.';
|
||||
$string['environmenterrortodo'] = 'Pro pokračování v instalaci této verze Moodlu je nutné nejdříve vyřešit problémy v programovém prostředí (chyby) serveru uvedené výše!';
|
||||
$string['environmenthead'] = 'Kontrola programového prostředí...';
|
||||
$string['environmentrecommendcustomcheck'] = 'Pokud tento test selhal, znamená to možné problémy';
|
||||
$string['environmentrecommendinstall'] = 'doporučená komponenta';
|
||||
$string['environmentrecommendversion'] = 'doporučena je verze $a->needed, nyní používáte verzi $a->current';
|
||||
$string['environmentrequirecustomcheck'] = 'Tebto test musí projít';
|
||||
$string['environmentrequireinstall'] = 'vyžadovaná komponenta';
|
||||
$string['environmentrequireversion'] = 'vyžadována je verze $a->needed, nyní používáte verzi $a->current';
|
||||
$string['environmentsub'] = 'Nyní se prověřuje, zda vybrané komponenty vašeho systému splňují požadavky instalace.';
|
||||
@@ -119,27 +161,37 @@ $string['memorylimithelp'] = '<p>Limit paměti pro PHP skripty je na vašem serv
|
||||
|
||||
<p>To může později způsobovat Moodlu problémy, zvláště při větším množství modulů a/nebo uživatelů.</p>
|
||||
|
||||
<p>Je-li to možné, doporučujeme vám nastavit v PHP vyšší limit, např. 16M. Můžete to provést několika způsoby:
|
||||
<p>Je-li to možné, doporučujeme vám nastavit v PHP vyšší limit, např. 40M. Můžete to provést několika způsoby:
|
||||
<ol>
|
||||
<li>Můžete-li, překompilujte PHP s volbou <i>--enable-memory-limit</i>.
|
||||
Moodle si tak bude sám moci nastavit potřebný limit.</li>
|
||||
<li>Máte-li přístup k souboru php.ini, změňte nastavení <b>memory_limit</b>
|
||||
na hodnotu blízkou 16M. Nemáte-li taková práva, požádejte správce vašeho webového serveru, aby toto nastavení provedl on.</li>
|
||||
na hodnotu blízkou 40M. Nemáte-li taková práva, požádejte správce vašeho webového serveru, aby toto nastavení provedl on.</li>
|
||||
<li>Na některých serverech můžete v kořenovém adresáři Moodlu vytvořit soubor .htaccess s následujícím řádkem:
|
||||
<p><blockquote>php_value memory_limit 16M</blockquote></p>
|
||||
<p><blockquote>php_value memory_limit 40M</blockquote></p>
|
||||
<p>Bohužel, v některých případech tím vyřadíte z provozu <b>všechny</b> PHP stránky (při jejich prohlížení uvidíte chybová hlášení), takže budete muset soubor .htaccess zase odstranit.</li>
|
||||
</ol>';
|
||||
$string['missingrequiredfield'] = 'Chybí některé z povinných polí';
|
||||
$string['moodledocslink'] = 'Dokumentace k této stránce';
|
||||
$string['mssql'] = 'SQL*Server (mssql)';
|
||||
$string['mssql_n'] = 'SQL*Server s podporou UTF-8 (mssql_n)';
|
||||
$string['mssqlextensionisnotpresentinphp'] = 'PHP nebylo korektně nakonfigurováno pro komunikaci s SQL*Server přes rozšíření MSSQL. Zkontrolujte váš php.ini nebo překompilujte PHP.';
|
||||
$string['mysql'] = 'MySQL (mysql)';
|
||||
$string['mysql416bypassed'] = 'Pokud ovšem ve vaší instalaci Moodlu používáte POUZE jazyky založené na latince (iso-8859-1), můžete nadále používat momentálně nainstalovanou verzi MySQL 4.1.12 (nebo vyšší).';
|
||||
$string['mysql416required'] = 'Minimální verzí požadovanou pro Moodle 1.6 -- a pro pozdější bezpečný převod všech dat do UTF-8 -- je MySQL 4.1.16.';
|
||||
$string['mysqlextensionisnotpresentinphp'] = 'PHP nebylo korektně nakonfigurováno pro komunikaci v MySQL. Zkontrolujte váš php.ini nebo překompilujte PHP.';
|
||||
$string['mysqlextensionisnotpresentinphp'] = 'PHP nebylo korektně nakonfigurováno pro komunikaci s MySQL. Zkontrolujte váš php.ini nebo překompilujte PHP.';
|
||||
$string['name'] = 'Název';
|
||||
$string['next'] = 'Další';
|
||||
$string['oci8po'] = 'Oracle (oci8po)';
|
||||
$string['ociextensionisnotpresentinphp'] = 'PHP nebylo korektně nakonfigurováno pro komunikaci s Oracle přes rozšíření OCI8. Zkontrolujte váš php.ini nebo překompilujte PHP.';
|
||||
$string['odbc_mssql'] = 'SQL*Server přes ODBC (odbc_mssql)';
|
||||
$string['odbcextensionisnotpresentinphp'] = 'PHP nebylo korektně nakonfigurováno pro komunikaci s SQL*Server přes rozšíření ODBC. Zkontrolujte váš php.ini nebo překompilujte PHP.';
|
||||
$string['ok'] = 'OK';
|
||||
$string['opensslrecommended'] = 'Pro běh síťových funkcionalit (\"Moodle Networking\") je potřeba nainstalovat volitelnou knihovnu OpenSSL.';
|
||||
$string['parentlanguage'] = '<< Překladatelé: Pokud Váš jazyk má \"nadřazený\" jazyk\", který má Moodle používat v případech, kdy řetězce ve vašem jazykovém balíčku chybí, specifikujte jeho kód zde. Příklad: nl >>';
|
||||
$string['pass'] = 'V pořádku';
|
||||
$string['password'] = 'Heslo';
|
||||
$string['pgsqlextensionisnotpresentinphp'] = 'PHP nebylo korektně nakonfigurováno pro komunikaci s PostgreSQL přes rozšíření PGSQL. Zkontrolujte váš php.ini nebo překompilujte PHP.';
|
||||
$string['php50restricted'] = 'V PHP 5.0.x bylo nalezeno množství chyb; přejděte buď na vyšší verzi 5.1.x, nebo na nižší verzi 4.3.x či 4.4.x.';
|
||||
$string['phpversion'] = 'Verze PHP';
|
||||
$string['phpversionerror'] = 'Verze PHP musí být alespoň 4.3.0 nebo 5.1.0 (PHP 5.0.x obsahuje množství chyb).';
|
||||
@@ -147,17 +199,22 @@ $string['phpversionhelp'] = '<p>Moodle vyžaduje PHP alespoň verze 4.3.0 nebo 5
|
||||
<p>Nyní používáte PHP verze $a.</p>
|
||||
<p>Musíte PHP upgradovat, nebo přejít k hostiteli s vyšší verzí!<br />
|
||||
(U PHP 5.0.x můžete také přejít na nižší verzi 4.4.x či 4.3.x.)</p>';
|
||||
$string['postgres7'] = 'PostgreSQL (postgres7)';
|
||||
$string['previous'] = 'Předchozí';
|
||||
$string['qtyperqpwillberemoved'] = 'Během upgrade bude odstraněn typ testové úlohy RQP. Tento typ jste nepoužívali, takže byste neměli zaznamenta žádné problémy.';
|
||||
$string['qtyperqpwillberemovedanyway'] = 'Během upgrade bude odstraněn typ testové úlohy RQP. Ve vaší databázi existuje několik takových úloh a ty nebudou fungovat, dokud nepřeinstalujete kód z http://moodle.org/mod/data/view.php?d=13&rid=797 před pokračováním upgrade.';
|
||||
$string['remotedownloadnotallowed'] = 'Stahování komponent na server není povoleno (direktiva allow_url_fopen je ve stavu \'vypnuto\').<br /><br />Musíte soubor stáhnout <a href=\"$a->url\">$a->url</a> ručně, zkopírovat jej na serveru do umístění \"$a->dest\" a tam jej dekomprimovat.';
|
||||
$string['report'] = 'Protokol';
|
||||
$string['report'] = 'Sestava';
|
||||
$string['restricted'] = 'Nedostupné';
|
||||
$string['safemode'] = 'Bezpečný režim (Safe Mode)';
|
||||
$string['safemodeerror'] = 'Se zapnutým bezpečným režimem (Safe Mode) může mít Moodle problémy.';
|
||||
$string['serverchecks'] = 'Kontroly serveru';
|
||||
$string['sessionautostart'] = 'Session Auto Start';
|
||||
$string['sessionautostarterror'] = 'Mělo by být vypnuto';
|
||||
$string['skipdbencodingtest'] = 'Přeskočit test kódování DB';
|
||||
$string['status'] = 'Stav';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Čeština';
|
||||
$string['unicoderecommended'] = 'Doporučujeme ukládání dat v kódování Unicode (UTF-8). Nové instalace by měly být založeny nad databází s výchozím kódováním Unicode. Pokud přecházíte z nižších verzí, měli byste podstoupit proces migrace na UTF-8 (viz stránku Správa).';
|
||||
$string['unicoderequired'] = 'Je nezbytné ukládání dat v kódování Unicode (UTF-8). Nové instalace musí být založeny nad databází s výchozím kódováním Unicode. Pokud přecházíte z nižších verzí, měli byste podstoupit proces migrace na UTF-8 (viz stránku Správa).';
|
||||
|
||||
@@ -7,99 +7,223 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirerror'] = 'Det angivende admin biblioteket er forkert';
|
||||
$string['admindirerror'] = 'Det angivne adminbibliotek er forkert';
|
||||
$string['admindirname'] = 'Adminbibliotek';
|
||||
$string['admindirsettinghead'] = 'Sætter admin-biblioteket...';
|
||||
$string['admindirsettingsub'] = 'Nogle får webhoteller bruger /admin adresse til kontrolpanelet el.lign. Desværre konflikter dette med standardplaceringen af Moodles administrationssider. Du kan i så tilfælde omdøbe admin-biblioteket i din installation og skrive navnet her. Eksempel:<br /> <br /><b>moodleadmin</b><br /> <br />
|
||||
Dette vil sikre admin-links i Moodle.';
|
||||
$string['bypassed'] = 'Forbigået';
|
||||
$string['cannotcreatelangdir'] = 'Kan ikke oprette sprogmappe';
|
||||
$string['cannotcreatetempdir'] = 'Kan ikke oprette temp-mappe';
|
||||
$string['cannotdownloadcomponents'] = 'Kan ikke downloade komponenter';
|
||||
$string['cannotdownloadzipfile'] = 'Kan ikke downloade zip-fil';
|
||||
$string['cannotfindcomponent'] = 'Kan ikke finde komponent';
|
||||
$string['cannotsavemd5file'] = 'Kan ikke gemme md5-fil';
|
||||
$string['cannotsavezipfile'] = 'Kan ikke gemme zip-fil';
|
||||
$string['cannotunzipfile'] = 'Kan ikke unzippe filen';
|
||||
$string['caution'] = 'Pas på';
|
||||
$string['check'] = 'Kontroller';
|
||||
$string['chooselanguagehead'] = 'Vælg et sprog';
|
||||
$string['chooselanguagesub'] = 'Vælg et sprog til brug under installationen. Senere vil du kunne vælge hvilke sprog Moodle skal kunne bruge.';
|
||||
$string['closewindow'] = 'Luk dette vindue';
|
||||
$string['configfilenotwritten'] = 'Installationsscriptet var ikke i stand til at oprette config.php filen der indeholder de valgte indstillinger, sandsynligvis fordi den bruger hvis apache(PHP) kører med (apache, nobody ell) ikke har rettigheder til at skrive til moodlebiblioteket. Du kan manuelt kopiere den følgende kode ind i en fil med navnet \"config.php\" i roden af moodle-biblioteket.';
|
||||
$string['compatibilitysettingshead'] = 'Kontrollerer dine PHP-indstillinger...';
|
||||
$string['compatibilitysettingssub'] = 'For at Moodle kan køre uden problemer skal din server \"bestå\" alle disse test.';
|
||||
$string['componentisuptodate'] = 'Komponenten er up to date';
|
||||
$string['configfilenotwritten'] = 'Installationsscriptet var ikke i stand til at oprette config.php-filen, der indeholder de valgte indstillinger, sandsynligvis fordi Moodlebiblioteket er skrivebeskyttet. Du kan manuelt kopiere den følgende kode ind i en fil med navnet \"config.php\" i roden af Moodle-biblioteket.';
|
||||
$string['configfilewritten'] = 'config.php er blevet oprettet';
|
||||
$string['configurationcompletehead'] = 'Konfigurationen er færdig.';
|
||||
$string['configurationcompletesub'] = 'Moodle har forsøgt at gemme din konfiguration i en fil i roden af Moodle-installationen';
|
||||
$string['continue'] = 'Fortsæt';
|
||||
$string['database'] = 'Database';
|
||||
$string['dataroot'] = 'DataBibliotek';
|
||||
$string['datarooterror'] = 'DataBiblioteket du specificerede kan ikke findes eller oprettes. Ret stien til biblioteket eller opret det manuelt.';
|
||||
$string['databasecreationsettingshead'] = 'Nu skal du konfigurere databaseindstillingerne for hvor de fleste Moodle-data skal gemmes. Denne database vil automatisk blive oprettet af installationsprogrammet med indstillingerne herunder.';
|
||||
$string['databasecreationsettingssub'] = '<b>Type:</b> fikseret til \"mysql\" af installationsprogrammet<br />
|
||||
<b>Host:</b> fikseret til \"localhost\" af installationsprogrammet<br />
|
||||
<b>Name:</b> database-navn, f.eks. Moodle<br />
|
||||
<b>User:</b> fikseret til \"root\" af installationsprogrammet<br />
|
||||
<b>Password:</b> adgangskoden til din database<br />
|
||||
<b>Tables Prefix:</b> valgfrit fornavn (prefix) til alle tabelnavne';
|
||||
$string['databasesettingshead'] = 'Du skal nu konfigurere databasen hvor det meste af Moodle\'s data vil blive gemt. Databaseserveren skal allerede være oprettet og du skal bruge brugernavn og adgangskode til en brugerkonto der har adgang til den.';
|
||||
$string['databasesettingssub'] = '<b>Type:</b> mysql eller postgres7<br />
|
||||
<b>Vært:</b> f.eks. localhost eller db.isp.com<br />
|
||||
<b>Database:</b> database-navn, f.eks. Moodle<br />
|
||||
<b>Bruger:</b> Brugernavnet til databasen<br />
|
||||
<b>Password:</b> Password til databasebrugeren<br />
|
||||
<b>Tabel Præfix:</b> Valgfrit fornavn (prefix) der bliver sat foran alle tabelnavne (kan anbefales hvis der er flere systemer der skal bruge samme database).';
|
||||
$string['databasesettingssub_mssql'] = '<b>Type:</b> SQL*Server (non UTF-8) <b><font color=\"red\">Experimentiel! (ikke til brug i et produktionsmiljø)</font></b><br />
|
||||
<b>Vært:</b> f.eks. localhost eller db.isp.com<br />
|
||||
<b>Navn:</b> databasenavn, f.eks. Moodle<br />
|
||||
<b>Bruger:</b> brugernavnet til din database<br />
|
||||
<b>Password:</b> din databases adgangskode<br />
|
||||
<b>Tabelprefix:</b> prefix for alle tabelnavne (mandatory)';
|
||||
$string['databasesettingssub_mssql_n'] = '<b>Type:</b> SQL*Server (non UTF-8 aktiveret) <b><font color=\"red\">Experimentiel! (ikke til brug i et produktionsmiljø)</font></b><br />
|
||||
<b>Vært:</b> f.eks. localhost eller db.isp.com<br />
|
||||
<b>Navn:</b> databasenavn, f.eks. Moodle<br />
|
||||
<b>Bruger:</b> brugernavnet til din database<br />
|
||||
<b>Password:</b> din databases adgangskode<br />
|
||||
<b>Tabelprefix:</b> prefix for alle tabelnavne (mandatory)';
|
||||
$string['databasesettingssub_mysql'] = '<b>Type:</b> MySQL<br />
|
||||
<b>Vært:</b> f.eks. localhost eller db.isp.com<br />
|
||||
<b>Navn:</b> databasenavn, f.eks. Moodle<br />
|
||||
<b>Bruger:</b> brugernavnet til din database<br />
|
||||
<b>Password:</b> din databases adgangskode<br />
|
||||
<b>Tabelprefix:</b> prefix for alle tabelnavne (mandatory)';
|
||||
$string['databasesettingssub_oci8po'] = '<b>Type:</b> Oracle<br />
|
||||
<b>Vært:</b> ikke brugt, skal være blank<br />
|
||||
<b>Navn:</b> navnet på forbindelsen fra tnsnames.ora <br />
|
||||
<b>Bruger:</b> dit database brugernavn<br />
|
||||
<b>Password:</b> brugerens password<br />
|
||||
<b>Tabel Præfix:</b> præfix til alle tabellerne (nødvendigt,højst 2 karaktere)';
|
||||
$string['databasesettingssub_odbc_mssql'] = '<b>Type:</b> SQL*Server (over ODBC) <b><font color=\"red\">Eksperimentielt! (ikke beregnet til brug i produktionsmiljø)</font></b><br />
|
||||
<b>Vært:</b> navnet på DSN forbindelsen i ODBC kontrolpanelet<br />
|
||||
<b>Navn:</b> databasenavnet , f.eks. moodle<br />
|
||||
<b>Bruger:</b> dit databasebrugernavn<br />
|
||||
<b>Password:</b> dit database password<br />
|
||||
<b>Tabel Præfix:</b> præfix der bruges til alle tabelnavnene (nødvendigt)';
|
||||
$string['databasesettingssub_postgres7'] = '<b>Type:</b> PostgreSQL<br />
|
||||
<b>Vært:</b> f.eks. localhost eller db.isp.com<br />
|
||||
<b>Navn:</b> databasenavn, f.eks. moodle<br />
|
||||
<b>Bruger:</b> dit databasebrugernavn<br />
|
||||
<b>Password:</b> dit database password<br />
|
||||
<b>Tables Præfix:</b> præfix der bruges foran alle tabelnavnene (nødvendigt)';
|
||||
$string['dataroot'] = 'Databibliotek';
|
||||
$string['datarooterror'] = 'Data-biblioteket du specificerede kan ikke findes eller oprettes. Ret stien til biblioteket eller opret det manuelt.';
|
||||
$string['dbconnectionerror'] = 'Den angive database kunne ikke kontaktes. Kontroller eller ret venligst databaseinformationerne.';
|
||||
$string['dbcreationerror'] = 'Fejl ved oprettelse af databasen. Kan ikke oprette den givne database med de angivne indstillinger.';
|
||||
$string['dbhost'] = 'Værts Server';
|
||||
$string['dbprefix'] = 'præfix for tabeller';
|
||||
$string['dbhost'] = 'Værtsserver';
|
||||
$string['dbprefix'] = 'Præfix for tabeller';
|
||||
$string['dbtype'] = 'Type';
|
||||
$string['dirroot'] = 'Moodle bibliotek';
|
||||
$string['dirrooterror'] = 'Det angivne moodle-bibliotek lader ikke til at være rigtigt - der kan ikke findes en Moodle-installation. Den nedenstående værdi er blevet fjernet.';
|
||||
$string['dbwrongencoding'] = 'Den valgte database kører under en ikke anbefalet encoding ($a). Det vil være bedre at benytte en Unicode (UTF-8) encoded database i stedet.
|
||||
Du kan alligevel springe denne test over ved at vælge \"Skip DB Encoding Test\" tjek herunder, men det kan give problemer fremover.';
|
||||
$string['dbwronghostserver'] = 'Du skal følge \"Værtsreglerne\" som forklaret ovenfor.';
|
||||
$string['dbwrongnlslang'] = 'Environment variablen NLS_LANG på din webserver skal bruge AL32UTF8 tegnsættet. Se PHP documentationen for hvordan man konfigurere OCI8 korrekt.';
|
||||
$string['dbwrongprefix'] = 'Du skal følge Tabel-prefix-reglerne som forklaret ovenfor.';
|
||||
$string['directorysettingshead'] = 'Bekræft hvor Moodle skal installeres';
|
||||
$string['directorysettingssub'] = '<b>Web-adresse:</b>
|
||||
Angiv den fulde adresse til Moodle. Hvis der skal være adgang til siden fra flere URL\'er så vælg den naturligste, den deltagerne vil bruge. Adressen må ikke slutte med en skråstreg (slash).
|
||||
<br />
|
||||
<br />
|
||||
<b>Moodle-bibliotek:</b>
|
||||
Angiv den fulde sti til installationen. Vær påpasselig med små og store bogstaver, adressen er casesensitiv.
|
||||
<br />
|
||||
<br />
|
||||
<b>Data-bibliotek:</b>
|
||||
Det sted, hvor Moodle placerer uploadede filer. Dette bibliotek skal være læse- OG SKRIVBART for web-server-brugeren (typisk \'nobody\' eller \'apache\'), men der må ikke være direkte adgang fra internettet.';
|
||||
$string['dirroot'] = 'Moodle-bibliotek';
|
||||
$string['dirrooterror'] = 'Det angivne Moodle-bibliotek lader ikke til at være rigtigt - der kan ikke findes en Moodle-installation. Den nedenstående værdi er blevet fjernet.';
|
||||
$string['download'] = 'Download';
|
||||
$string['downloadedfilecheckfailed'] = '\"Downloadet fil-tjek fejlede';
|
||||
$string['downloadlanguagebutton'] = 'Download \"$a\"-sprogpakken';
|
||||
$string['downloadlanguagehead'] = 'Download sprogpakke';
|
||||
$string['downloadlanguagenotneeded'] = 'Du kan fortsætte installationen med standard-sprogpakken,\"$a\".';
|
||||
$string['downloadlanguagesub'] = 'Du har nu mulighed for at downloade en sprogpakke og fortsætte installationsprocessen i dette sprog.<br /><br />
|
||||
Kan du ikke downloade sprogpakken vil installationen fortsætte på engelsk.
|
||||
(Når installationsprocessen er færdig kan du downloade og installere flere sprogpakker.)';
|
||||
$string['environmenterrortodo'] = 'Du bliver nødt til at løse de ovenstående problemer (fejl) der er ved serveropsætningen før du kan installere denne version af Moodle';
|
||||
$string['environmenthead'] = 'Kontrollere din serveropsætning...';
|
||||
$string['environmentrecommendinstall'] = 'det anbefales installeret/aktiveret';
|
||||
$string['environmentrecommendversion'] = 'version $a->needed er anbefalet og du kører $a->current';
|
||||
$string['environmentrequireinstall'] = 'det er nødvendigt at installere/aktivere';
|
||||
$string['environmentrequireversion'] = 'version $a->needed er nødvendigt og du kører $a->current';
|
||||
$string['environmentsub'] = 'Vi tjekker om de forskellige komponenter i dit system lever op til de Moodles krav.';
|
||||
$string['environmentxmlerror'] = 'Fejl ved læsning af serveropsætningens data ($a->error_code)';
|
||||
$string['error'] = 'Fejl';
|
||||
$string['fail'] = 'Mislykkedes';
|
||||
$string['fileuploads'] = 'Fil uploads';
|
||||
$string['fileuploadserror'] = 'Denne skulle være aktiveret';
|
||||
$string['gdversion'] = 'GD version';
|
||||
$string['gdversionerror'] = 'GD library skal være tilgængelig for PHP for at der kan billeder kan manipuleres og oprettes.';
|
||||
$string['gdversionerror'] = 'GD library skal være tilgængelig for PHP for at der billeder kan manipuleres og oprettes.';
|
||||
$string['gdversionhelp'] = '<p>Det lader til at din server ikke har GD installeret.</p>
|
||||
|
||||
<p>GD er et library som PHP bruger til at behandle billeder (såsom brugerprofil-billeder) og til at oprette nye billeder såsom loggrafer. Moodle kan stadig fungere uden GD - men disse funktioner vil så ikke være til rådighed.</p>
|
||||
<p>GD er et bibliotek som PHP bruger til at behandle billeder (såsom brugerprofil-billeder) og til at oprette nye billeder såsom loggrafer. Moodle kan stadig fungere uden GD - men disse funktioner vil så ikke være til rådighed.</p>
|
||||
|
||||
<p>For at tilføje GD på unix skal PHP kompileres med \'--with-gd\" parameteret.</p>
|
||||
|
||||
<p>Under windows er det normalt nok at udkommentere den linje i php.ini der referere til libgd.dll </p>';
|
||||
<p>Under windows er det normalt nok at udkommentere den linje i php.ini der refererer til libgd.dll </p>';
|
||||
$string['globalsquotes'] = 'Usikker håndtering af Globale variabler';
|
||||
$string['globalsquoteserror'] = 'Fix dine PHP-indstillinger: aktiver register_globals and/or slå magic_quotes_gpc til';
|
||||
$string['help'] = 'Hjælp';
|
||||
$string['iconvrecommended'] = 'Det anbefales at installere/aktivere ICONV udvidelsen for at forbedre sitets hastighed, især hvis dit site understøtter sprog med ikke-latinske tegn.';
|
||||
$string['info'] = 'Information';
|
||||
$string['installation'] = 'Installation';
|
||||
$string['invalidmd5'] = 'Ugyldig md5';
|
||||
$string['langdownloaderror'] = 'Sproget \"$a\" blev desværre ikke installeret. Installationen vil fortsætte på engelsk.';
|
||||
$string['langdownloadok'] = 'Sproget \"$a\" blev installeret. Installationen vil fortsætte på dette sprog.';
|
||||
$string['language'] = 'Sprog';
|
||||
$string['magicquotesruntime'] = 'Magic Quotes Run Time';
|
||||
$string['magicquotesruntimeerror'] = 'Denne skulle være deaktiveret';
|
||||
$string['mbstringrecommended'] = 'Det anbefales at installere/aktivere MBSTRING udvidelsen for at forbedre sitets ydeevne, især hvis sitet understøtter ikke-latinske sprog og tegn.';
|
||||
$string['memorylimit'] = 'Hukommelses begrænsning';
|
||||
$string['memorylimit'] = 'Hukommelsesbegrænsning';
|
||||
$string['memorylimiterror'] = 'Den tilgængelige hukommelse til PHP er ret lav... Det kan være at der opstår problemer senere.';
|
||||
$string['memorylimithelp'] = '<p>Mængden af hukommelse som PHP kan bruge er sat til $a.</p>
|
||||
|
||||
<p>Dette kan forårsage at der opstår problemer senere, især hvis du har mange moduler installeret eller mange brugere.</p>
|
||||
|
||||
<p>Vi anbefaler at du konfigurere PHP til at kunne bruge mere hukommelse, f.eks. 16Mb.
|
||||
<p>Vi anbefaler at du konfigurerer PHP til at kunne bruge mere hukommelse, f.eks. 16Mb.
|
||||
Der er flere måder hvorpå du kan rette det.</p>
|
||||
<ol>
|
||||
<li>Hvis du har mulighed for det kan du rekompilere PHP med <i>--enable-memory-limit</i>.
|
||||
Dette vil tillade at Moodle selv kan definere hvor meget hukommelse der er brug for.</li>
|
||||
<li>Hvis du har adgang til php.ini filen kan du ændre <b>memory_limit</b>
|
||||
<li>Hvis du har adgang til php.ini filen kan du ændre <b>memory_limit</b>-
|
||||
indstillingen så der er minimum 16Mb til rådighed. Hvis du ikke har direkte adgang til den kan du spørge systemadministratoren om han han vil gøre det for dig.</li>
|
||||
<li>På nogle servere kan du oprette en \'.htaccess\' fil, gemme den i moodle biblioteket med linjen <p><blockquote>php_value memory_limit 16M</blockquote></p>
|
||||
<p>Det kan dog på nogle servere forårsage en fejl på <b>alle</b> PHPsiderne. i så fald kan du blive nødt til at fjerne \'.htaccess\' filen igen.</p></li>
|
||||
<li>På nogle servere kan du oprette en \'.htaccess\' fil, gemme den i Moodle-biblioteket med linjen <p><blockquote>php_value memory_limit 16M</blockquote></p>
|
||||
<p>Det kan dog på nogle servere forårsage en fejl på <b>alle</b> PHP-siderne. I så fald kan du blive nødt til at fjerne \'.htaccess\' filen igen.</p></li>
|
||||
</ol>';
|
||||
$string['missingrequiredfield'] = 'Der mangler nogle obligatoriske felter';
|
||||
$string['moodledocslink'] = 'Moodle Doks for denne side';
|
||||
$string['mssql'] = 'SQL*Server (mssql)';
|
||||
$string['mssql_n'] = 'SQL*Server med UTF-8 support (mssql_n)';
|
||||
$string['mssqlextensionisnotpresentinphp'] = 'PHP er ikke konfigureret ordentligt med MSSQL-extensionen så den kan kommunikere med SQL*Serveren. Vær venlig at tjekke din php.ini-fil eller genkompiler PHP.';
|
||||
$string['mysql'] = 'MySQL (mysql)';
|
||||
$string['mysql416bypassed'] = 'Hvis sitet kun benytter iso-8859-1 (latin-1) sprog/tegnsæt, kan du fortsætte med at benytte den nuværende version 4.1.12 af MySQL (eller nyere)';
|
||||
$string['mysql416required'] = 'Moodle 1.6 skal som minimum bruge MySql version 4.1.16 for at garantere at data kan konverteres til UTF-8 fremover.';
|
||||
$string['mysqlextensionisnotpresentinphp'] = 'PHP er ikke blevet ordentligt konfigureret med MySQL udvidelsen så den kan kommunikere med MySQL. Det kan skyldes at MySQL extension/dll ikke er loadet. Kontroller venlist phpinfo() og php.ini filen eller rekompiler PHP.';
|
||||
$string['name'] = 'Navn';
|
||||
$string['next'] = 'Næste';
|
||||
$string['oci8po'] = 'Oracle (oci8po)';
|
||||
$string['ociextensionisnotpresentinphp'] = 'PHP er ikke konfigureret ordentligt med OCI8-extensionen så den kan kommunikere med Oracle. Vær venlig at tjekke din php.ini-fil eller genkompiler PHP.';
|
||||
$string['odbc_mssql'] = 'SQL*Server over ODBC (odbc_mssql)';
|
||||
$string['odbcextensionisnotpresentinphp'] = 'PHP er ikke blevet korrekt konfigureret med PHP\'s ODBC modul så den kan kommunikere med SQL*Serveren. Kontroller venligst php.ini filen eller rekompiler PHP.';
|
||||
$string['ok'] = 'OK';
|
||||
$string['pass'] = 'OK';
|
||||
$string['password'] = 'Adgangskode';
|
||||
$string['pgsqlextensionisnotpresentinphp'] = 'PHP er ikke blevet korrekt konfigureret med PHP\'s PGSQL modul så den kan kommunikere med PostgreSQL. Kontroller venligst php.ini filen eller rekompiler PHP.';
|
||||
$string['php50restricted'] = 'PHP 5.0.x har nogle kendte fejl og problemer. Opgrader venligst til 5.1.x eller nedgradér til 4.3.x eller 4.4.x';
|
||||
$string['phpversion'] = 'PHP version';
|
||||
$string['phpversionerror'] = 'PHP versionen skal være nyere end 4.1.0';
|
||||
$string['phpversionhelp'] = '<p>Moodle kræver en PHP version der er nyere end 4.1.0.</p>
|
||||
<p>Webserveren bruger i øjeblikket version $a</p>
|
||||
<p>Du bliver nødt til at opdatere PHP eller flytte systemet over på en anden webserver der har en nyere version af PHP!</p>';
|
||||
$string['postgres7'] = 'PostgreSQL (postgres7)';
|
||||
$string['previous'] = 'Forrige';
|
||||
$string['remotedownloadnotallowed'] = 'Download af komponenter til din server er ikke tilladt (\"allow_url_fopen\" er deaktiveret).<br /><br />Du må downloade
|
||||
<a href=\"$a->url\">$a->url</a>-filen manuelt, kopiere den til \"$a->dest\" til din server og unzippe den der.';
|
||||
$string['report'] = 'Rapport';
|
||||
$string['restricted'] = 'Afvist';
|
||||
$string['safemode'] = 'Safe mode';
|
||||
$string['safemodeerror'] = 'Moodle kan have problemer med \"Safe mode : on\"';
|
||||
$string['sessionautostart'] = 'Session autostart';
|
||||
$string['sessionautostarterror'] = 'Denne skulle være deaktiveret';
|
||||
$string['skipdbencodingtest'] = 'Spring DB tegnsæts testen over';
|
||||
$string['status'] = 'Status';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Dansk';
|
||||
$string['unicoderecommended'] = 'Alle data skal helst gemmes i Unicode (UTF-8). Nye installationer skal helst installeres i databaser der har UTF-8 som standard karaktersæt. Hvis du opgradere fra en tidligere installation bør du migrere eksisterende data til UTF-8 (se Admin siderne)';
|
||||
$string['unicoderequired'] = 'Alle data skal gemmes i Unicode (UTF-8). Nye installationer skal helst installeres i databaser der har UTF-8 som standard karaktersæt. Hvis du opgradere fra en tidligere installation bør du migrere eksisterende data til UTF-8 (se Admin siderne)';
|
||||
$string['user'] = 'Bruger';
|
||||
$string['wwwroot'] = 'Web adresse';
|
||||
$string['wwwrooterror'] = 'Webadressen lader ikke til at være korrekt - Moodleinstallationen kunne ikke findes der.';
|
||||
$string['welcomep10'] = '$a->installername ($a->installerversion)';
|
||||
$string['welcomep20'] = 'Du ser denne side fordi du med succes har installeret og åbnet pakken <strong>$a->packname $a->packversion</strong> på din computer.
|
||||
Tillykke med det!';
|
||||
$string['welcomep30'] = 'Denne udgave af <strong>$a->installername</strong> inkluderer programmerne til at oprette et miljø hvori <strong>Moodle</strong> vil operaere, nemlig:';
|
||||
$string['welcomep40'] = 'Pakken indeholder også <strong>Moodle $a->moodlerelease ($a->moodleversion)</strong>.';
|
||||
$string['welcomep50'] = 'Brugen af programmerne i denne pakke er styret af deres respektive licenser. Hele <strong>$a->installername</strong>-pakken er <a href=\"http://www.opensource.org/docs/definition_plain.html\">open source</a> og distribueret under <a href=\"http://www.gnu.org/copyleft/gpl.html\">GPL</a>-licensen.';
|
||||
$string['welcomep60'] = 'De følgende sider vil hjælpe dig gennem nogle nemme trin til konfiguration og opsætning af <strong>Moodle</strong> på din computer. Du kan acceptere standardindstillingerne eller vælge at ændre dem så de bedre svarer til dine egne behov.';
|
||||
$string['welcomep70'] = 'Klik på \"Næste\" herunder for at forsætte opsætningen af <strong>Moodle</strong>.';
|
||||
$string['wrongdestpath'] = 'Forkert destinations sti';
|
||||
$string['wrongsourcebase'] = 'Forkert kilde URL';
|
||||
$string['wrongzipfilename'] = 'Forkert zip-filnavn.';
|
||||
$string['wwwroot'] = 'Web-adresse';
|
||||
$string['wwwrooterror'] = 'Webadressen lader ikke til at være korrekt - Moodle-installationen kunne ikke findes der.';
|
||||
?>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirsettingsub'] = 'Einige wenige Webhosting-Anbieter benutzen /admin als spezielles Verzeichnis für den Zugang zum Administrationstool oder andere Dinge. Leider kommt es dadurch zu Konflikten mit dem Standard für das Administrationsverzeichnis von Moodle. Du kannst dies ändern, indem du das Verzeichnis /admin in der Moodle-Installation umbenennst. Den geänderten Namen dieses Verzeichnisses musst du hier eingeben.
|
||||
z.B.: <br /> <br /><b>moodleadmin</b><br />
|
||||
@@ -94,11 +94,11 @@ $string['iconvrecommended'] = 'Die Installation der ICONV Bibliothek wird zur Le
|
||||
$string['mbstringrecommended'] = 'Die Installation der Bibliothek MBSTRING wird zur Leistungsverbesserung dringend empfohlen. Dies ist besonders wichtig, wenn du Sprachen mit anderen als lateinischen Zeichensätzen verwendest.';
|
||||
$string['memorylimithelp'] = '<p>Die PHP-Einstellung memory_limit für deinen Server ist zur Zeit auf $a eingestellt. </p>
|
||||
<p>Dies wird vermutlich zu Problemen führen, wenn du Moodle mit vielen Aktivitäten oder vielen Nutzer/innen verwendst. </p>
|
||||
<p>Wir empfehlen die Einstellung zu erhöhen. Empfohlen werden 16M oder mehr. Dies kannst du auf verschiedene Arten machen:</p>
|
||||
<p>Wir empfehlen die Einstellung zu erhöhen. Empfohlen werden 40M oder mehr. Dies kannst du auf verschiedene Arten machen:</p>
|
||||
<ol>
|
||||
<li>Wenn du PHP neu kompilieren kannst, nimm die Einstellung <i>--enable-memory-limit</i>. Dann kann Moodle die Einstellung selber vornehmen.
|
||||
<li>Wenn du Zugriff auf die Datei php.ini hast, kannst du die Einstellung <b>memory_limit</b> selber auf z.B. 16M anpassen. Wenn du selber keinen Zugriff hast, fragst du den Server-Admin, dies für dich zu tun.
|
||||
<li>Auf einigen PHP-Servern kannst du eine .htaccess-Datei im Moodle-Verzeichnis einrichten. Trage darin die folgende Zeile ein: <p><blockquote>php_value memory_limit 16M</blockquote></p>
|
||||
<li>Wenn du Zugriff auf die Datei php.ini hast, kannst du die Einstellung <b>memory_limit</b> selber auf z.B. 40M anpassen. Wenn du selber keinen Zugriff hast, fragst du den Server-Admin, dies für dich zu tun.
|
||||
<li>Auf einigen PHP-Servern kannst du eine .htaccess-Datei im Moodle-Verzeichnis einrichten. Trage darin die folgende Zeile ein: <p><blockquote>php_value memory_limit 40M</blockquote></p>
|
||||
<p>Achtung: auf einigen Servern hindert diese Einstellung <b>alle</b> PHP-Seiten und du erhältst Fehlermeldungen. Entferne dann den Eintrag in der .htaccess-Datei wieder.</p></li>
|
||||
</ol>';
|
||||
$string['mssqlextensionisnotpresentinphp'] = 'PHP wurde nicht richtig konfiguriert, um über die MSSQL-Erweiterung mit SQL*Server zu kommunizieren. Bitte prüfe die Datei php.ini oder kompiliere PHP neu.';
|
||||
@@ -115,6 +115,7 @@ $string['phpversionhelp'] = '<p>Moodle erwartet PHP mindestens in der Version 4.
|
||||
(Im Falle von 5.0.x könntest du auch zu einer Version 4.3.x/4.4.x downgraden)</p>';
|
||||
$string['remotedownloadnotallowed'] = 'Der Download von Komponenten auf deinen Server ist nicht erlaubt (allow_url_fopen ist deaktiviert). <br /><br /> Die Datei <a href=\"$a->url\">$a->url</a> muss manuell heruntergeladen werden. Kopiere die Datei nach \"$a->dest\" auf deinen Server und entpacke sie dort.';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Deutsch - Du';
|
||||
$string['unicoderecommended'] = 'Es wird empfohlen, alle Daten im Format Unicode UTF8 zu speichern. Neuinstallationen sollten mit Datenbanken vorgenommen werden, die als Standardzeichensatz UTF8 benutzen. Wenn du ein Upgrade durchführst, solltest du die UTF8-Migration starten (Admin-Seite).';
|
||||
$string['unicoderequired'] = 'Es ist notwendig, alle Daten im Format Unicode UTF8 zu speichern. Neuinstallationen müssen mit Datenbanken vorgenommen werden, die als Standardzeichensatz UTF8 benutzen. Wenn du ein Upgrade durchführst, solltest du die UTF8-Migration starten (Admin-Seite).';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['admindirerror'] = 'Das angegebene Admin-Verzeichnis ist falsch.';
|
||||
$string['admindirname'] = 'Name für das Admin-Verzeichnis';
|
||||
@@ -16,8 +16,8 @@ $string['admindirsettingsub'] = 'Einige wenige Webhosting-Anbieter benutzen /adm
|
||||
z.B.: <br /> <br /><b>moodleadmin</b><br />
|
||||
Dies ändert die Links für das Admin-Verzeichnis in Moodle.';
|
||||
$string['bypassed'] = 'Unberücksichtigt';
|
||||
$string['cannotcreatelangdir'] = 'Das Verzeichnis \"lang\" kann nicht angelegt werden.';
|
||||
$string['cannotcreatetempdir'] = 'Das temporäre Verzeichnis kann nicht angelegt werden.';
|
||||
$string['cannotcreatelangdir'] = 'Verzeichnis \"lang\" kann nicht angelegt werden.';
|
||||
$string['cannotcreatetempdir'] = 'Temporäres Verzeichnis kann nicht angelegt werden.';
|
||||
$string['cannotdownloadcomponents'] = 'Komponenten können nicht heruntergeladen werden.';
|
||||
$string['cannotdownloadzipfile'] = 'ZIP-Datei kann nicht heruntergeladen werden.';
|
||||
$string['cannotfindcomponent'] = 'Komponente wurde nicht gefunden.';
|
||||
@@ -37,6 +37,8 @@ $string['configfilewritten'] = 'Die Datei config.php wurde erfolgreich erstellt'
|
||||
$string['configurationcompletehead'] = 'Die Konfiguration ist abgeschlossen.';
|
||||
$string['configurationcompletesub'] = 'Moodle speichert Ihre Konfigurationseinstellungen nun im Hauptverzeichnis Ihrer Moodle-Installation.';
|
||||
$string['continue'] = 'Weiter';
|
||||
$string['curlrecommended'] = 'Die Installation der optionalen Bibliothek Curl wird empfohlen, um die Moodle-Netzwerk-Funktionalität einzuschalten.';
|
||||
$string['customcheck'] = 'Weitere Überprüfungen';
|
||||
$string['database'] = 'Datenbank';
|
||||
$string['databasecreationsettingshead'] = 'Sie müssen Einstellungen für die Datenbank konfigurieren, in der die meisten Moodle-Daten abgelegt werden. Der Installationsprozess erstellt die Datenbanktabellen automatisch auf der Grundlage der Einstellungen.';
|
||||
$string['databasecreationsettingssub'] = '<b>Typ:</b> \"mysql\" vom Installer festgelegt<br />
|
||||
@@ -70,6 +72,12 @@ $string['databasesettingssub_mysql'] = '<b>Typ:</b> MySQL<br />
|
||||
<b>User:</b> Ihr Anmeldename für die Datenbank<br />
|
||||
<b>Password:</b> Ihr Passwort für die Datenbank<br />
|
||||
<b>Tabellen-Prefix:</b> Prefix für alle Tabellen (optional)';
|
||||
$string['databasesettingssub_mysqli'] = '<b>Typ:</b> Improved MySQL<br />
|
||||
<b>Host:</b> z.B. localhost oder db.domain.com<br />
|
||||
<b>Name:</b> Datenbank-Name, z.B moodle<br />
|
||||
<b>User:</b> Ihr Datenbank-Anmeldename<br />
|
||||
<b>Passwort:</b> Ihr Datenbank-Passwort<br />
|
||||
<b>Tabellen-Prefix:</b> Prefix für alle Tabellen (optional)';
|
||||
$string['databasesettingssub_oci8po'] = '<b>Typ:</b> Oracle<br />
|
||||
<b>Host:</b> unbenutzt - muss leer bleiben!<br />
|
||||
<b>Name:</b> vorgegebener Verbindungname zu tnsnames.ora<br />
|
||||
@@ -113,15 +121,17 @@ web-user des Servers haben. (üblicherweise \'nobody\' or \'apache\'), aber es s
|
||||
$string['dirroot'] = 'Moodle-Verzeichnis';
|
||||
$string['dirrooterror'] = 'Die Einstellungen für das Moodle-Verzeichnis sind nicht korrekt. Es wurde keine Moodle-Installation gefunden. Die anderen Werte wurden gelöscht.';
|
||||
$string['download'] = 'Herunterladen';
|
||||
$string['downloadedfilecheckfailed'] = 'Die Prüfung der heruntergeladenen Datei ist gescheitert';
|
||||
$string['downloadedfilecheckfailed'] = 'Prüfung der heruntergeladenen Datei ist gescheitert';
|
||||
$string['downloadlanguagebutton'] = 'Download des Sprachpakets: $a';
|
||||
$string['downloadlanguagehead'] = 'Download der Sprachpakete';
|
||||
$string['downloadlanguagenotneeded'] = 'Sie können die Installation mit dem Sprachpaket \"$a\" fortsetzen.';
|
||||
$string['downloadlanguagesub'] = 'Sie haben nun die Möglichkeit, ein Sprachpaket herunterzuladen und den Installationsprozess mit dieser Sprache fortzusetzen. <br /><br /> Falls sie keinen Download durchführen können, wird die Installation auf Englisch fortgeführt. (Wenn die Installation abgeschlossen ist, haben Sie die Option weitere Sprachpakete herunterzuladen.)';
|
||||
$string['environmenterrortodo'] = 'Sie müssen zunächst alle Probleme mit der Server-Konfiguration beheben, bevor Sie mit der Installation dieser Moodle-Version fortfahren können.';
|
||||
$string['environmenthead'] = 'Prüfung der Installationsvoraussetzungen';
|
||||
$string['environmentrecommendcustomcheck'] = 'Wenn dieser Test fehlschlägt, dann ist ein mögliches Problem vorhanden.';
|
||||
$string['environmentrecommendinstall'] = 'sollte installiert und aktiviert sein.';
|
||||
$string['environmentrecommendversion'] = 'Version $a->needed wird empfohlen - aktuell ist $a->current installiert.';
|
||||
$string['environmentrequirecustomcheck'] = 'Dieser Test muss erfolgreich verlaufen.';
|
||||
$string['environmentrequireinstall'] = 'muss installiert und aktiviert sein.';
|
||||
$string['environmentrequireversion'] = 'Version $a->needed ist erforderlich - aktuell ist $a->current installiert.';
|
||||
$string['environmentsub'] = 'Es wird geprüft, ob die verschiedenen Komponenten Ihres Systems die Installationsanforderungen erfüllen.';
|
||||
@@ -153,11 +163,11 @@ $string['memorylimit'] = 'Memory Limit';
|
||||
$string['memorylimiterror'] = 'Die PHP-Speichereinstellung memory_limit ist zu niedrig. Dies könnte später zu Problemen führen.';
|
||||
$string['memorylimithelp'] = '<p>Die PHP-Einstellung memory_limit für Ihren Server ist zur Zeit auf $a eingestellt. </p>
|
||||
<p>Dies wird vermutlich zu Problemen führen, wenn Sie Moodle mit vielen Aktivitäten oder vielen Nutzer/innen verwenden. </p>
|
||||
<p>Wir empfehlen die Einstellung zu erhöhen. Empfohlen werden 16M oder mehr. Dies können Sie auf verschiedene Arten machen:</p>
|
||||
<p>Wir empfehlen die Einstellung zu erhöhen. Empfohlen werden 40M oder mehr. Dies können Sie auf verschiedene Arten machen:</p>
|
||||
<ol>
|
||||
<li>Wenn Sie PHP neu kompilieren können, nehmen Sie die Einstellung <i>--enable-memory-limit</i>. Dann kann Moodle die Einstellung selber vornehmen.
|
||||
<li>Wenn Sie Zugriff auf die Datei php.ini haben, können Sie die Einstellung <b>memory_limit</b> selber auf z.B. 16M anpassen. Wenn Sie selber keinen Zugriff haben, fragen Sie den Server-Admin, dies für Sie zu tun.
|
||||
<li>Auf einigen PHP-Servern können Sie eine .htaccess-Datei im Moodle-Verzeichnis einrichten. Tragen Sie darin die folgende Zeile ein: <p><blockquote>php_value memory_limit 16M</blockquote></p>
|
||||
<li>Wenn Sie Zugriff auf die Datei php.ini haben, können Sie die Einstellung <b>memory_limit</b> selber auf z.B. 40M anpassen. Wenn Sie selber keinen Zugriff haben, fragen Sie den Server-Admin, dies für Sie zu tun.
|
||||
<li>Auf einigen PHP-Servern können Sie eine .htaccess-Datei im Moodle-Verzeichnis einrichten. Tragen Sie darin die folgende Zeile ein: <p><blockquote>php_value memory_limit 40M</blockquote></p>
|
||||
<p>Achtung: auf einigen Servern hindert diese Einstellung <b>alle</b> PHP-Seiten und Sie erhalten Fehlermeldungen. Entfernen Sie dann den Eintrag in der .htaccess-Datei wieder.</p></li>
|
||||
</ol>';
|
||||
$string['missingrequiredfield'] = 'Einige erforderliche Felder sind nicht ausgefüllt.';
|
||||
@@ -169,6 +179,8 @@ $string['mysql'] = 'MySQL (mysql)';
|
||||
$string['mysql416bypassed'] = 'Wenn Sie in Ihrer Website ausschließlich ISO-8859-1 (lateinische) Sprachen verwenden, können Sie eine MySQL-Version ab 4.1.12 (oder höher) verwenden.';
|
||||
$string['mysql416required'] = 'MySQL 4.1.16 (oder höher) ist für Moodle 1.6 unbedingt erforderlich, um eine Datenkonvertierung nach UTF-8 sicherzustellen.';
|
||||
$string['mysqlextensionisnotpresentinphp'] = 'PHP wurde nicht richtig konfiguriert, um über die MySQL-Erweiterung mit MySQL zu kommunizieren. Bitte prüfen Sie die Datei php.ini oder kompilieren Sie PHP neu.';
|
||||
$string['mysqli'] = 'Improved MySQL (mysqli)';
|
||||
$string['mysqliextensionisnotpresentinphp'] = 'PHP wurde nicht ordnungsgemäß für die MySQLi-Erweiterung konfiguriert, um mit MySQL zu kommunizieren. Bitte überprüfen Sie die Datei php.ini oder übersetzen Sie PHP neu. Die MySQLi-Erweiterung ist nicht für PHP4 verfügbar.';
|
||||
$string['name'] = 'Name';
|
||||
$string['next'] = 'Nächste';
|
||||
$string['oci8po'] = 'Oracle (oci8po)';
|
||||
@@ -176,6 +188,7 @@ $string['ociextensionisnotpresentinphp'] = 'PHP wurde nicht richtig konfiguriert
|
||||
$string['odbc_mssql'] = 'SQL*Server über ODBC (odbc_mssql)';
|
||||
$string['odbcextensionisnotpresentinphp'] = 'PHP wurde nicht richtig konfiguriert, um über die ODBC-Erweiterung mit SQL*Server zu kommunizieren. Bitte prüfen Sie die Datei php.ini oder kompilieren Sie PHP neu.';
|
||||
$string['ok'] = 'OK';
|
||||
$string['opensslrecommended'] = 'Die optionale Installation der OpenSSL Bibliothek wird dringend empfohlen. Dadurch wird die Moodle-Netzwerk-Funktionalität ermöglicht.';
|
||||
$string['parentlanguage'] = 'en_utf8';
|
||||
$string['pass'] = 'Durchgang';
|
||||
$string['password'] = 'Kennwort';
|
||||
@@ -189,16 +202,20 @@ $string['phpversionhelp'] = '<p>Moodle erwartet PHP mindestens in der Version 4.
|
||||
(Im Falle von 5.0.x könnten Sie auch zu einer Version 4.3.x/4.4.x downgraden)</p>';
|
||||
$string['postgres7'] = 'PostgreSQL (postgres7)';
|
||||
$string['previous'] = 'Frühere';
|
||||
$string['qtyperqpwillberemoved'] = 'Während des Updates wird der Fragentyp RQP entfernt. Da Sie diesen Fragentyp nicht benutzen, sollten Sie keinerlei Probleme bekommen.';
|
||||
$string['qtyperqpwillberemovedanyway'] = 'Während des Updates wird der Fragentyp RQP entfernt. Sie haben einige RQP Fragen in Ihrer Datenbank, die nicht mehr funktionieren werden, falls Sie nicht den dafür notwendigen Code vor der Fortsetzung dieses Updates installieren. http://moodle.org/mod/data/view.php?d=13&rid=797';
|
||||
$string['remotedownloadnotallowed'] = 'Der Download von Komponenten auf Ihren Server ist nicht erlaubt (allow_url_fopen ist deaktiviert). <br /><br /> Die Datei <a href=\"$a->url\">$a->url</a> muss manuell heruntergeladen werden. Kopieren Sie die Datei nach \"$a->dest\" auf Ihren Server und entpacken Sie sie dort.';
|
||||
$string['report'] = 'Bericht';
|
||||
$string['restricted'] = 'Eingeschränkt';
|
||||
$string['safemode'] = 'Safe Mode';
|
||||
$string['safemodeerror'] = 'Die Nutzung von Moodle im Safe Mode kann zu Schwierigkeiten führen.';
|
||||
$string['serverchecks'] = 'Server-Überprüfung';
|
||||
$string['sessionautostart'] = 'Session Auto Start';
|
||||
$string['sessionautostarterror'] = 'Diese Option sollte abgeschaltet sein';
|
||||
$string['skipdbencodingtest'] = 'Prüfung der Datenbank-Verschlüsselung überspringen';
|
||||
$string['status'] = 'Status';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Deutsch';
|
||||
$string['unicoderecommended'] = 'Es wird empfohlen, alle Daten im Format Unicode UTF-8 zu speichern. Neuinstallationen sollten mit Datenbanken vorgenommen werden, die als Standardzeichensatz UTF-8 benutzen. Wenn Sie ein Upgrade durchführen, sollten Sie die UTF-8-Migration starten (Admin-Seite).';
|
||||
$string['unicoderequired'] = 'Es ist notwendig, alle Daten im Format Unicode UTF-8 zu speichern. Neuinstallationen müssen mit Datenbanken vorgenommen werden, die als Standardzeichensatz UTF-8 benutzen. Wenn Sie ein Upgrade durchführen, sollten Sie die UTF-8-Migration starten (Admin-Seite).';
|
||||
|
||||
@@ -7,19 +7,28 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['check'] = 'Επιλογή';
|
||||
$string['closewindow'] = 'Κλείστε αυτό το παράθυρο';
|
||||
$string['continue'] = 'Συνέχεια';
|
||||
$string['download'] = 'Κατέβασμα';
|
||||
$string['error'] = 'Σφάλμα';
|
||||
$string['gdversion'] = 'Έκδοση GD';
|
||||
$string['help'] = 'Βοήθεια';
|
||||
$string['info'] = 'Πληροφορίες';
|
||||
$string['language'] = 'Γλώσσα';
|
||||
$string['moodledocslink'] = 'Αρχεία βοήθειας για αυτήν την σελίδα';
|
||||
$string['name'] = 'Όνομα';
|
||||
$string['next'] = 'Επόμενος';
|
||||
$string['next'] = 'Επόμενο';
|
||||
$string['ok'] = 'OK';
|
||||
$string['password'] = 'Κωδικός πρόσβασης';
|
||||
$string['previous'] = 'Προηγούμενο';
|
||||
$string['report'] = 'Αναφορά';
|
||||
$string['restricted'] = 'Περιορισμένο';
|
||||
$string['status'] = 'Κατάσταση';
|
||||
$string['thischarset'] = 'UTF-8';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Ελληνικά';
|
||||
$string['user'] = 'Χρήστης';
|
||||
?>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/// keep us informed using http://moodle.org/bugs Thanks!
|
||||
///
|
||||
/// File generated by cvs://contrib/lang2installer/installer_builder
|
||||
/// using strings defined in installer_strings (same dir)
|
||||
/// using strings defined in stringnames.txt (same dir)
|
||||
|
||||
$string['parentlanguage'] = 'en_utf8';
|
||||
$string['thischarset'] = 'iso-8859-1';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user