Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 445b4dd368 | |||
| 9865cbfb60 | |||
| c95a67cd94 | |||
| 3875f26ebf | |||
| 9963023979 | |||
| 68763aef2d | |||
| c7c5b77888 | |||
| bf43fdd447 | |||
| ae11b8c080 | |||
| 7cab4616f5 | |||
| ea7f6fb4b1 | |||
| b857de59ab | |||
| d36658a989 | |||
| c97f7de664 | |||
| b24f1eb290 | |||
| f231685050 | |||
| 8ec4354542 | |||
| 1c8fe24234 | |||
| 9900a3df74 | |||
| e78c8c9054 | |||
| 2d2cce8bd2 | |||
| 8f7756b0e2 | |||
| d4c83ae4fb | |||
| c090fe60c7 | |||
| 5b6f73f488 | |||
| e60c472ccb | |||
| 76c590c0aa | |||
| 60dce6a2c1 | |||
| 56f9e59241 | |||
| 6f3c243bb8 | |||
| e74681c8b2 | |||
| b693256a99 | |||
| 77fa678ef2 | |||
| 6819bed8da | |||
| f3ab1e0c8f | |||
| 33faa0d19d | |||
| af08d144c9 | |||
| 5127b43eec | |||
| fc07639e9b | |||
| bc9e603b3f | |||
| 27a7bb1a0d | |||
| aea7288f77 | |||
| 18889e0e78 | |||
| 3df96ad21b | |||
| dc01f95fb4 | |||
| c54cd379ac | |||
| bdeeadb3c3 | |||
| e1abf003ee | |||
| b66a680956 | |||
| 5c89dd5d18 | |||
| 67fb1b666e | |||
| 6311d4de60 | |||
| eace33059c | |||
| e626145ef6 | |||
| dbb729e9d3 | |||
| 331de0b546 |
@@ -77,7 +77,7 @@ if (!during_initial_install()) { //do not use during installation
|
||||
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagebackup', get_string('frontpagebackup', 'admin'), $CFG->wwwroot.'/backup/backup.php?id='.SITEID, 'moodle/backup:backupcourse', false, $frontpagecontext));
|
||||
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', get_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/files/index.php?id='.SITEID.'&wdir=/backupdata', 'moodle/restore:restorecourse', false, $frontpagecontext));
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', get_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/backup/restorefile.php?contextid='.$frontpagecontext->id, 'moodle/restore:restorecourse', false, $frontpagecontext));
|
||||
|
||||
$questioncapabilities = array(
|
||||
'moodle/question:add',
|
||||
|
||||
@@ -281,23 +281,25 @@ abstract class backup_cron_automated_helper {
|
||||
$midnight = usergetmidnight($now, $timezone);
|
||||
$date = usergetdate($now, $timezone);
|
||||
|
||||
//Get number of days (from today) to execute backups
|
||||
$automateddays = substr($config->backup_auto_weekdays,$date['wday']) . $config->backup_auto_weekdays;
|
||||
$daysfromtoday = strpos($automateddays, "1");
|
||||
// Get number of days (from today) to execute backups
|
||||
$automateddays = substr($config->backup_auto_weekdays, $date['wday']) . $config->backup_auto_weekdays;
|
||||
$daysfromtoday = strpos($automateddays, "1", 1);
|
||||
|
||||
// If we can't find the next day, we set it to tomorrow
|
||||
if (empty($daysfromtoday)) {
|
||||
$daysfromtoday = 1;
|
||||
}
|
||||
|
||||
//If some day has been found
|
||||
// If some day has been found
|
||||
if ($daysfromtoday !== false) {
|
||||
//Calculate distance
|
||||
$dist = ($daysfromtoday * 86400) + //Days distance
|
||||
($config->backup_auto_hour * 3600) + //Hours distance
|
||||
($config->backup_auto_minute * 60); //Minutes distance
|
||||
// Calculate distance
|
||||
$dist = ($daysfromtoday * 86400) + // Days distance
|
||||
($config->backup_auto_hour * 3600) + // Hours distance
|
||||
($config->backup_auto_minute * 60); // Minutes distance
|
||||
$result = $midnight + $dist;
|
||||
}
|
||||
|
||||
//If that time is past, call the function recursively to obtain the next valid day
|
||||
// If that time is past, call the function recursively to obtain the next valid day
|
||||
if ($result > 0 && $result < time()) {
|
||||
$result = self::calculate_next_automated_backup($timezone, $result);
|
||||
}
|
||||
|
||||
@@ -85,6 +85,13 @@ if (!empty($course)) {
|
||||
//editor should respect category context if course context is not set.
|
||||
$editoroptions['context'] = $catcontext;
|
||||
$course = file_prepare_standard_editor($course, 'summary', $editoroptions, null, 'course', 'summary', null);
|
||||
|
||||
// Set up the default restricted module list
|
||||
if (!empty($CFG->restrictbydefault)) {
|
||||
if (!empty($CFG->defaultallowedmodules)) {
|
||||
$course->allowedmods = explode(',', $CFG->defaultallowedmodules);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// first create the form
|
||||
|
||||
+1
-1
@@ -3778,7 +3778,7 @@ function create_course($data, $editoroptions = NULL) {
|
||||
fix_course_sortorder();
|
||||
|
||||
// update module restrictions
|
||||
if ($course->restrictmodules) {
|
||||
if ($course->restrictmodules || $CFG->restrictbydefault ) {
|
||||
if (isset($data->allowedmods)) {
|
||||
update_restricted_mods($course, $data->allowedmods);
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ if (!$course = $DB->get_record('course', array('id'=>$id))) {
|
||||
$PAGE->set_url('/course/reset.php', array('id'=>$id));
|
||||
|
||||
require_login($course);
|
||||
require_capability('moodle/course:update', get_context_instance(CONTEXT_COURSE, $course->id));
|
||||
require_capability('moodle/course:reset', get_context_instance(CONTEXT_COURSE, $course->id));
|
||||
|
||||
$strreset = get_string('reset');
|
||||
$strresetcourse = get_string('resetcourse');
|
||||
|
||||
@@ -34,12 +34,12 @@ $string['cannotcreatelangdir'] = 'No s\'ha pogut crear el directori d\'idiomes.'
|
||||
$string['cannotcreatetempdir'] = 'No s\'ha pogut crear el directori temporal';
|
||||
$string['cannotdownloadcomponents'] = 'No s\'han pogut baixar components';
|
||||
$string['cannotdownloadzipfile'] = 'No s\'ha pogut baixar el fitxer zip';
|
||||
$string['cannotfindcomponent'] = 'No s\'ha pogut trobar un component';
|
||||
$string['cannotfindcomponent'] = 'No s\'ha pogut trobar el component';
|
||||
$string['cannotsavemd5file'] = 'No s\'ha pogut desar el fitxer md5';
|
||||
$string['cannotsavezipfile'] = 'No s\'ha pogut desar el fitxer zip';
|
||||
$string['cannotunzipfile'] = 'No s\'ha pogut descomprimir el fitxer';
|
||||
$string['componentisuptodate'] = 'El component està al dia';
|
||||
$string['downloadedfilecheckfailed'] = 'Ha fallat la comprovació del fitxer baixat.';
|
||||
$string['downloadedfilecheckfailed'] = 'Ha fallat la comprovació del fitxer baixat';
|
||||
$string['invalidmd5'] = 'L\'md5 no és vàlid. Torneu-ho a provar';
|
||||
$string['missingrequiredfield'] = 'Falta algun camp necessari';
|
||||
$string['remotedownloaderror'] = 'No s\'ha pogut baixar el component al vostre servidor. Verifiqueu els paràmetres de servidor intermediari. Es recomana l\'extensió cURL.<br /><br />Haureu de baixar manualment el fitxer <a href="{$a->url}">{$a->url}</a>, copiar-lo a la ubicació "{$a->dest}" del vostre servidor i descomprimir-lo allí.';
|
||||
|
||||
@@ -33,16 +33,21 @@ defined('MOODLE_INTERNAL') || die();
|
||||
$string['admindirname'] = 'Directori d\'administració';
|
||||
$string['availablelangs'] = 'Llista d\'idiomes disponibles';
|
||||
$string['chooselanguagehead'] = 'Trieu un idioma';
|
||||
$string['chooselanguagesub'] = 'Trieu un idioma NOMÉS per a la instal·lació. En una pantalla posterior podreu triar idiomes per al lloc i per als usuaris.';
|
||||
$string['chooselanguagesub'] = 'Trieu un idioma per a la instal·lació. S\'utilitzarà també com a idioma per defecte del lloc, tot i que després podeu canviar-lo.';
|
||||
$string['cliinstallheader'] = 'Programa d\'instal·lació de línia d\'ordres de Moodle {$a}';
|
||||
$string['databasehost'] = 'Servidor de base de dades:';
|
||||
$string['databasename'] = 'Nom de la base de dades:';
|
||||
$string['databasetypehead'] = 'Trieu el controlador de la base de dades';
|
||||
$string['dataroot'] = 'Directori de dades';
|
||||
$string['datarootpermission'] = 'Permisos dels directoris de dades';
|
||||
$string['dbprefix'] = 'Prefix de taules';
|
||||
$string['dirroot'] = 'Directori de Moodle';
|
||||
$string['environmenthead'] = 'S\'està comprovant el vostre entorn';
|
||||
$string['errorsinenvironment'] = 'Hi ha errors en l\'entorn.';
|
||||
$string['environmentsub2'] = 'Cada versió de Moodle té uns requeriments mínims de versió de PHP i un nombre d\'extensions de PHP necessàries.
|
||||
Abans de cada instal·lació o actualització es realitza una comprovació exhaustiva de l\'entorn. Contacteu amb l\'administrador si no sabeu com instal·lar una nova versió de PHP o com habilitar les extensions.';
|
||||
$string['errorsinenvironment'] = 'La comprovació de l\'entorn ha fallat.';
|
||||
$string['installation'] = 'Instal·lació';
|
||||
$string['langdownloaderror'] = 'Dissortadament l\'idioma "{$a}" no està instal·lat. La instal·lació prosseguirà en anglès.';
|
||||
$string['langdownloaderror'] = 'Dissortadament l\'idioma "{$a}" no es pot baixar. La instal·lació prosseguirà en anglès.';
|
||||
$string['memorylimithelp'] = '<p>El límit de memòria del PHP del vostre servidor actualment està definit en {$a}.</p>
|
||||
|
||||
<p>Això pot causar que Moodle tingui problemes de memòria més endavant, especialment si teniu molts mòduls habilitats i/o molts usuaris.</p>
|
||||
@@ -55,13 +60,28 @@ $string['memorylimithelp'] = '<p>El límit de memòria del PHP del vostre servid
|
||||
<p><blockquote>php_value memory_limit 40M</blockquote></p>
|
||||
<p>Tanmateix, en alguns servidors això farà que no funcioni <b>cap</b> pàgina PHP (es visualitzaran errors) en el qual cas hauríeu de suprimir el fitxer .htaccess.</p></li>
|
||||
</ol>';
|
||||
$string['paths'] = 'Camins';
|
||||
$string['pathserrcreatedataroot'] = 'L\'instal·lador no pot crear el directori de dades ({$a->dataroot}).';
|
||||
$string['pathshead'] = 'Confirmeu els camins';
|
||||
$string['pathsrodataroot'] = 'No es pot escriure en el directori dataroot.';
|
||||
$string['pathsroparentdataroot'] = 'No es pot escriure en el directori pare ({$a->parent}). L\'instal·lador no pot crear el directori ({$a->dataroot}).';
|
||||
$string['pathssubadmindir'] = 'Alguns serveis d\'allotjament web (pocs) utilitzen un URL especial /admin p. ex. per a accedir a un tauler de control o quelcom semblant. Malauradament això entra en conflicte amb la ubicació estàndard de les pàgines d\'administració de Moodle. Podeu arreglar aquest problema canviant el nom del directori d\'administració de Moodle en la vostra instal·lació i posant el nou nom aquí. Per exemple <em>moodleadmin</em>. Això modificarà els enllaços d\'administració de Moodle.';
|
||||
$string['pathssubdataroot'] = 'Necessiteu un espai on Moodle pugui desar els fitxers penjats. Aquest directori hauria de tenir permisos de lectura I ESCRIPTURA per a l\'usuari del servidor web (normalment \'nobody\' o \'apache\'), però no cal que sigui accessible directament via web. L\'instal·lador provarà de crear-lo si no existeix.';
|
||||
$string['pathssubdirroot'] = 'Camí complet del directori d\'instal·lació de Moodle.';
|
||||
$string['pathssubwwwroot'] = 'L\'adreça web completa on s\'accedirà a Moodle.
|
||||
No és possible accedir a Moodle en diferents adreces.
|
||||
Si el vostre lloc té múltiples adreces públiques haureu de configurar redireccions permanents per a totes excepte aquesta.
|
||||
Si el vostre lloc és accessible tant des d\'Internet com des d\'una intranet, utilitzeu aquí l\'adreça pública i configureu el DNS de manera que els usuaris de la intranet puguin utilitzar també l\'adreça pública.
|
||||
Si l\'adreça no és correcta, canvieu l\'URL en el vostre navegador per reiniciar la instal·lació amb un altre valor.';
|
||||
$string['pathsunsecuredataroot'] = 'La ubicació del dataroot no és segura.';
|
||||
$string['pathswrongadmindir'] = 'No existeix el directori d\'administració';
|
||||
$string['phpextension'] = 'Extensió PHP {$a}';
|
||||
$string['phpversion'] = 'Versió PHP';
|
||||
$string['phpversionhelp'] = '<p>Moodle necessita la versió de PHP 4.1.0 o posterior.</p>
|
||||
$string['phpversionhelp'] = '<p>Moodle necessita una versió de PHP 4.3.0 o 5.1.0 (les versions 5.0.x tenien uns quants problemes coneguts).</p>
|
||||
<p>A hores d\'ara esteu utilitzant la versió {$a}.</p>
|
||||
<p>Us caldrà actualitzar el PHP o traslladar Moodle a un ordinador amb una versió de PHP més recent.</p>';
|
||||
<p>Us cal actualitzar el PHP o traslladar Moodle a un ordinador amb una versió de PHP més recent.<br />(Si esteu utilitzant la versió 5.0.x, alternativament també podríeu tornar enrere a la 4.4.x)</p>';
|
||||
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
|
||||
$string['welcomep20'] = 'Esteu veient aquesta pàgina perquè heu instal·lat amb èxit i heu executat el paquet <strong>{$a->packname} {$a->packversion}</strong>. Felicitacions!';
|
||||
$string['welcomep20'] = 'Esteu veient aquesta pàgina perquè heu instal·lat amb èxit i heu executat el paquet <strong>{$a->packname} {$a->packversion}</strong>. Felicitacions.';
|
||||
$string['welcomep30'] = 'Aquesta versió de <strong>{$a->installername}</strong> inclou les aplicacions necessàries per crear un entorn en el qual funcioni <strong>Moodle</strong>:';
|
||||
$string['welcomep40'] = 'El paquet inclou també <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
|
||||
$string['welcomep50'] = 'L\'ús de totes les aplicacions d\'aquest paquet és governat per les seves llicències respectives. El paquet <strong>{$a->installername}</strong> complet és
|
||||
|
||||
@@ -67,7 +67,10 @@ $string['pathserrcreatedataroot'] = 'Datový adresář ({$a->dataroot}) nemůže
|
||||
$string['pathshead'] = 'Potvrdit cesty';
|
||||
$string['pathsrodataroot'] = 'Do datového adresáře nelze zapisovat.';
|
||||
$string['pathsroparentdataroot'] = 'Do nadřazeného adresáře ({$a->parent}) nelze zapisovat. Datový adresář ({$a->dataroot}) nemůže být tímto průvodcem instalací vytvořen.';
|
||||
$string['pathssubadmindir'] = 'Na některých serverech je URL adresa /admin vyhrazena pro speciální účely (např. pro ovládací panel). Na takových serverech může dojít ke kolizi se standardním umístěním stránek pro správu Moodle. Máte-li tento problém, přejmenujte adresář <eM>admin</em> ve vaší instalaci Moodle a sem zadejte jeho nový název - například <em>moodleadmin</em>. Všechny generované odkazy na stránky správy Moodle budou používat tento nový název.';
|
||||
$string['pathssubdataroot'] = 'Moodle potřebuje prostor, kam si bude ukládat nahrané soubory a další údaje. K tomuto adresáři musí mít proces webového serveru právo ke čtení i k zápisu (webový server bývá většinou spouštěn pod uživatelem "www-data" nebo "apache"). Tento adresář ale zároveň nesmí být dostupný přímo přes webové rozhraní. Instalační skript se pokusí tento adresář vytvořit, pokud nebude existovat.';
|
||||
$string['pathssubdirroot'] = 'Absolutní cesta k adresáři s instalací Moodle';
|
||||
$string['pathssubwwwroot'] = 'Zadejte úplnou webovou adresu, na níž bude Moodle dostupný. Moodle potřebuje jedinečnou adresu, není možné jej provozovat na několika URL současně. Používáte-li několik veřejných domén, musíte si sami nastavit permanentní přesměrování na jednu z nich a tu pak použít. Pokud je váš server dostupný z vnější a z vnitřní sítě pod různými IP adresami, použijte jeho veřejnou adresu a nastavte si váš DNS server tak, že ji mohou používat i uživatelé z vnitřní sítě.';
|
||||
$string['pathsunsecuredataroot'] = 'Umístění datového adresáře není bezpečné';
|
||||
$string['pathswrongadmindir'] = 'Adresář pro správu serveru (admin) neexistuje';
|
||||
$string['phpextension'] = '{$a} PHP rozšíření';
|
||||
|
||||
@@ -30,6 +30,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['parentlanguage'] = 'es';
|
||||
$string['parentlanguage'] = '';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Español - Mexico';
|
||||
|
||||
@@ -36,5 +36,8 @@ $string['cliincorrectvalueerror'] = 'Villa, ótækt gildi "{$a->value}" fyrir "{
|
||||
$string['cliincorrectvalueretry'] = 'Rangt gildi, vinsamlegast reyndu aftur';
|
||||
$string['clitypevalue'] = 'Sláðu inn gildi';
|
||||
$string['clitypevaluedefault'] = 'Sláðu inn gildi, sláðu á Enter hnappinn á lyklaborðinu til að nota sjálfgefið gildi ({$a})';
|
||||
$string['cliunknowoption'] = 'Óþekktir valkostir:
|
||||
{$a}
|
||||
Vinsamlegast notaðu --help valkostinn.';
|
||||
$string['environmentrequireinstall'] = 'verður að vera uppsett og virkjað';
|
||||
$string['environmentrequireversion'] = 'krafist er útgáfu {$a->needed} en þú notast við útgáfu {$a->current}';
|
||||
|
||||
@@ -31,4 +31,4 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Íslenska';
|
||||
$string['thislanguage'] = 'Íslenska';
|
||||
|
||||
@@ -83,10 +83,10 @@ $string['phpversionhelp'] = '<p>무들은 적어도 PHP4.3.0 혹은 5.1.0. 이
|
||||
<p>PHP를 업그레이드 하시거나 새버전을 제공하는 웹호스팅 업체로 이전하기를 권합니다!<br />(만일 5.0.x버전을 사용 중이라면 4.4.x 버전으로 다운그레이드 할 수 있습니다)</p>';
|
||||
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
|
||||
$string['welcomep20'] = '컴퓨터에 <strong>{$a->packname} {$a->packversion}</strong> 패키지를 성공적으로 설치하고 기동하였습니다. 축하합니다!';
|
||||
$string['welcomep30'] = '<strong>{$a->installername}</strong> 릴리스는 <strong>무들</strong>이 동작하는 환경을 생성하기 위한 다음 어플리케이션을 포함하고 있습니다:';
|
||||
$string['welcomep30'] = '<strong>{$a->installername}</strong> 판본은 <strong>무들</strong>이 동작하는 환경을 생성하기 위한 어플리케이션을 포함하고 있습니다.';
|
||||
$string['welcomep40'] = '이 패키지는 <strong>무들 {$a->moodlerelease} ({$a->moodleversion})</strong> 을 포함하고 있습니다.';
|
||||
$string['welcomep50'] = '이 패키지에 있는 모든 어플리케이션을 사용하는 것은 각각의 라이센스에의해 지배받습니다. 완전한<strong>{$a->installername}</strong> 패키지는
|
||||
<a href="http://www.opensource.org/docs/definition_plain.html">공개 소스이며 </a> <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> 라이선스에 의해 배포됩니다.';
|
||||
$string['welcomep60'] = '다음 페이지들은 당신의 컴퓨터에 <strong>무들</strong>을 설정하고 설치하는 길라잡이 역할을 할 것입니다. 기본 설정을 선택하거나 목적에 맞게 선택적으로 수정할 수 있습니다.';
|
||||
$string['welcomep60'] = '다음 페이지들은 컴퓨터에 <strong>무들</strong>을 설치하고 설정하는 길라잡이 역할을 할 것입니다. 기본 설정을 선택하거나 목적에 맞게 선택적으로 수정할 수 있습니다.';
|
||||
$string['welcomep70'] = '<strong>무들</strong> 설정을 계속하기 위해서는 "다음" 버튼을 클릭하세요.';
|
||||
$string['wwwroot'] = '웹 주소';
|
||||
|
||||
@@ -30,5 +30,15 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['clianswerno'] = 'n';
|
||||
$string['cliansweryes'] = 't';
|
||||
$string['cliincorrectvalueerror'] = 'Klaida, klaidinga "{$a->option}" reikšmė "{$a->value}"';
|
||||
$string['cliincorrectvalueretry'] = 'Klaidinga reikšmė, bandykite dar kartą';
|
||||
$string['clitypevalue'] = 'įveskite reikšmę';
|
||||
$string['clitypevaluedefault'] = 'įveskite reikšmę, paspauskite „Enter“, jei norite naudoti numatytąją reikšmę ({$a})';
|
||||
$string['cliunknowoption'] = 'Neatpažintos parinktys:
|
||||
{$a}
|
||||
Naudokite --help parinktį.';
|
||||
$string['cliyesnoprompt'] = 'įveskite t (taip) arba n (ne)';
|
||||
$string['environmentrequireinstall'] = 'turi būti įdiegta ir įgalinta';
|
||||
$string['environmentrequireversion'] = 'reikalinga $a-needed, o Jūs turite $a-current';
|
||||
$string['environmentrequireversion'] = 'reikalinga {$a->needed} versija, o Jūs turite {$a->current}';
|
||||
|
||||
@@ -31,6 +31,6 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['language'] = 'Kalba';
|
||||
$string['next'] = 'Toliau';
|
||||
$string['next'] = 'Pirmyn';
|
||||
$string['previous'] = 'Ankstesnis';
|
||||
$string['reload'] = 'Įkelti iš naujo';
|
||||
|
||||
@@ -30,5 +30,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['parentlanguage'] = '';
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Nederlands';
|
||||
|
||||
@@ -35,10 +35,10 @@ $string['cliansweryes'] = 's';
|
||||
$string['cliincorrectvalueerror'] = 'Erro. Valor "{$a->value}" incorreto para "{$a->option}"';
|
||||
$string['cliincorrectvalueretry'] = 'Valor incorreto, por favor tente novamente';
|
||||
$string['clitypevalue'] = 'valor do tipo';
|
||||
$string['clitypevaluedefault'] = 'Escreva o valor. Ou Enter para usar o valor por omissão ({$a}).';
|
||||
$string['clitypevaluedefault'] = 'valor do tipo, pressione a tecla Enter para usar o valor predefinido ({$a})';
|
||||
$string['cliunknowoption'] = 'Opções desconhecidas:
|
||||
{$a}
|
||||
Por favor use a opção --help';
|
||||
$string['cliyesnoprompt'] = 'digite s (para sim) ou n (para não)';
|
||||
$string['environmentrequireinstall'] = 'é necessário estar instalada/ativa';
|
||||
$string['environmentrequireversion'] = 'É requerida a versão {$a->needed} e está a correr a versão {$a->current}';
|
||||
$string['environmentrequireinstall'] = 'deve estar instalada e ativa';
|
||||
$string['environmentrequireversion'] = 'é requerida a versão {$a->needed} e está a correr a versão {$a->current}';
|
||||
|
||||
@@ -40,6 +40,7 @@ $string['databasehost'] = 'Сервер баз данных';
|
||||
$string['databasename'] = 'Название базы данных';
|
||||
$string['databasetypehead'] = 'Выберите драйвер базы данных';
|
||||
$string['dataroot'] = 'Каталог данных';
|
||||
$string['datarootpermission'] = 'Разрешения на каталоги данных';
|
||||
$string['dbprefix'] = 'Префикс имён таблиц';
|
||||
$string['dirroot'] = 'Каталог Moodle';
|
||||
$string['environmenthead'] = 'Проверка среды...';
|
||||
|
||||
@@ -30,4 +30,5 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['thisdirection'] = 'ltr';
|
||||
$string['thislanguage'] = 'Kiswahili';
|
||||
|
||||
@@ -80,7 +80,7 @@ $string['phpversionhelp'] = '<p>Moodle需要PHP 4.3.0或5.1.0(5.0.x有若干
|
||||
(如果正使用5.0.x,您也可以降级到4.4.x版)</p>
|
||||
';
|
||||
$string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
|
||||
$string['welcomep20'] = '您看到这个页面表明您已经成功地在您的计算机上安装了<strong>{$a->packname} {$a->packversion}</strong>。恭喜您!';
|
||||
$string['welcomep20'] = '您看到这个页面表明您已经成功地在您的计算机上安装并启用了<strong>{$a->packname} {$a->packversion}</strong>软件包。恭喜您!';
|
||||
$string['welcomep30'] = '<strong>{$a->installername}</strong>的此发行版包含了可以创建<strong>Moodle</strong>运行环境的应用程序:';
|
||||
$string['welcomep40'] = '这个软件包还包含了<strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>。';
|
||||
$string['welcomep50'] = '使用本软件包中包含的应用程序时应遵循它们各自的授权协议。整个<strong>{$a->installername}</strong>软件包都是<a href="http://www.opensource.org/docs/definition_plain.html">开源</a>的,并且遵循<a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>授权协议发布。';
|
||||
|
||||
+6
-5
@@ -346,11 +346,12 @@ function rss_geterrorxmlfile($errortype = 'rsserror') {
|
||||
|
||||
function rss_get_userid_from_token($token) {
|
||||
global $DB;
|
||||
$record = $DB->get_record('user_private_key', array('script'=>'rss','value' => $token), 'userid', IGNORE_MISSING);
|
||||
if ($record) {
|
||||
return $record->userid;
|
||||
}
|
||||
return null;
|
||||
|
||||
$sql = 'SELECT u.id FROM {user} u
|
||||
JOIN {user_private_key} k ON u.id = k.userid
|
||||
WHERE u.deleted = 0 AND u.confirmed = 1
|
||||
AND u.suspended = 0 AND k.value = ?';
|
||||
return $DB->get_field_sql($sql, array($token), IGNORE_MISSING);
|
||||
}
|
||||
|
||||
function rss_get_token($userid) {
|
||||
|
||||
@@ -59,12 +59,15 @@ $string['limitanswers'] = 'Limit the number of responses allowed';
|
||||
$string['modulename'] = 'Choice';
|
||||
$string['modulename_help'] = 'The choice module enables the teacher to ask a question and specify a choice of multiple responses.';
|
||||
$string['modulenameplural'] = 'Choices';
|
||||
$string['moveselectedusersto'] = 'Move selected users to...';
|
||||
$string['mustchooseone'] = 'You must choose an answer before saving. Nothing was saved.';
|
||||
$string['noguestchoose'] = 'Sorry, guests are not allowed to make choices.';
|
||||
$string['noresultsviewable'] = 'The results are not currently viewable.';
|
||||
$string['notanswered'] = 'Not answered yet';
|
||||
$string['notenrolledchoose'] = 'Sorry, only enrolled users are allowed to make choices.';
|
||||
$string['notopenyet'] = 'Sorry, this activity is not available until {$a}';
|
||||
$string['numberofuser'] = 'The number of user';
|
||||
$string['numberofuserinpercentage'] = 'The number of user in percentage';
|
||||
$string['option'] = 'Option';
|
||||
$string['page-mod-choice-x'] = 'Any choice module page';
|
||||
$string['pluginadministration'] = 'Choice administration';
|
||||
@@ -80,6 +83,7 @@ $string['publishnot'] = 'Do not publish results to students';
|
||||
$string['removemychoice'] = 'Remove my choice';
|
||||
$string['removeresponses'] = 'Remove all responses';
|
||||
$string['responses'] = 'Responses';
|
||||
$string['responsesresultgraphheader'] = 'Graph display';
|
||||
$string['responsesto'] = 'Responses to {$a}';
|
||||
$string['savemychoice'] = 'Save my choice';
|
||||
$string['showunanswered'] = 'Show column for unanswered';
|
||||
@@ -89,7 +93,6 @@ $string['taken'] = 'Taken';
|
||||
$string['timerestrict'] = 'Restrict answering to this time period';
|
||||
$string['viewallresponses'] = 'View {$a} responses';
|
||||
$string['withselected'] = 'With selected';
|
||||
$string['userchoosethisoption'] = 'User choose this option';
|
||||
$string['yourselection'] = 'Your selection';
|
||||
$string['skipresultgraph'] = 'Skip result graph';
|
||||
$string['moveselectedusersto'] = 'Move selected users to...';
|
||||
$string['numberofuser'] = 'The number of user';
|
||||
|
||||
+165
-88
@@ -141,66 +141,102 @@ class mod_choice_renderer extends plugin_renderer_base {
|
||||
$table->cellspacing = 0;
|
||||
$table->attributes['class'] = 'results names ';
|
||||
$table->tablealign = 'center';
|
||||
$table->summary = get_string('responsesto', 'choice', format_string($choices->name));
|
||||
$table->data = array();
|
||||
|
||||
$count = 0;
|
||||
ksort($choices->options);
|
||||
|
||||
$columns = array();
|
||||
$celldefault = new html_table_cell();
|
||||
$celldefault->attributes['class'] = 'data';
|
||||
|
||||
// This extra cell is needed in order to support accessibility for screenreader. MDL-30816
|
||||
$accessiblecell = new html_table_cell();
|
||||
$accessiblecell->scope = 'row';
|
||||
$accessiblecell->text = get_string('choiceoptions', 'choice');
|
||||
$columns['options'][] = $accessiblecell;
|
||||
|
||||
$usernumberheader = clone($celldefault);
|
||||
$usernumberheader->header = true;
|
||||
$usernumberheader->attributes['class'] = 'header data';
|
||||
$usernumberheader->text = get_string('numberofuser', 'choice');
|
||||
$columns['usernumber'][] = $usernumberheader;
|
||||
|
||||
|
||||
foreach ($choices->options as $optionid => $options) {
|
||||
$coldata = '';
|
||||
$celloption = clone($celldefault);
|
||||
$cellusernumber = clone($celldefault);
|
||||
$cellusernumber->style = 'text-align: center;';
|
||||
|
||||
$celltext = '';
|
||||
if ($choices->showunanswered && $optionid == 0) {
|
||||
$coldata .= html_writer::tag('div', format_string(get_string('notanswered', 'choice')), array('class'=>'option'));
|
||||
$celltext = format_string(get_string('notanswered', 'choice'));
|
||||
} else if ($optionid > 0) {
|
||||
$coldata .= html_writer::tag('div', format_string($choices->options[$optionid]->text), array('class'=>'option'));
|
||||
$celltext = format_string($choices->options[$optionid]->text);
|
||||
}
|
||||
$numberofuser = 0;
|
||||
if (!empty($options->user) && count($options->user) > 0) {
|
||||
$numberofuser = count($options->user);
|
||||
}
|
||||
|
||||
$coldata .= html_writer::tag('div', ' ('.$numberofuser. ')', array('class'=>'numberofuser', 'title' => get_string('numberofuser', 'choice')));
|
||||
$columns[] = $coldata;
|
||||
$celloption->text = $celltext;
|
||||
$cellusernumber->text = $numberofuser;
|
||||
|
||||
$columns['options'][] = $celloption;
|
||||
$columns['usernumber'][] = $cellusernumber;
|
||||
}
|
||||
|
||||
$table->head = $columns;
|
||||
$table->head = $columns['options'];
|
||||
$table->data[] = new html_table_row($columns['usernumber']);
|
||||
|
||||
$coldata = '';
|
||||
$columns = array();
|
||||
|
||||
// This extra cell is needed in order to support accessibility for screenreader. MDL-30816
|
||||
$accessiblecell = new html_table_cell();
|
||||
$accessiblecell->text = get_string('userchoosethisoption', 'choice');
|
||||
$accessiblecell->header = true;
|
||||
$accessiblecell->scope = 'row';
|
||||
$accessiblecell->attributes['class'] = 'header data';
|
||||
$columns[] = $accessiblecell;
|
||||
|
||||
foreach ($choices->options as $optionid => $options) {
|
||||
$coldata = '';
|
||||
$cell = new html_table_cell();
|
||||
$cell->attributes['class'] = 'data';
|
||||
|
||||
if ($choices->showunanswered || $optionid > 0) {
|
||||
if (!empty($options->user)) {
|
||||
$optionusers = '';
|
||||
foreach ($options->user as $user) {
|
||||
$data = '';
|
||||
if (empty($user->imagealt)){
|
||||
$user->imagealt = '';
|
||||
}
|
||||
|
||||
$userfullname = fullname($user, $choices->fullnamecapability);
|
||||
if ($choices->viewresponsecapability && $choices->deleterepsonsecapability && $optionid > 0) {
|
||||
$attemptaction = html_writer::checkbox('attemptid[]', $user->id,'');
|
||||
$attemptaction = html_writer::label($userfullname, 'attempt-user'.$user->id, false, array('class' => 'accesshide'));
|
||||
$attemptaction .= html_writer::checkbox('attemptid[]', $user->id,'', null, array('id' => 'attempt-user'.$user->id));
|
||||
$data .= html_writer::tag('div', $attemptaction, array('class'=>'attemptaction'));
|
||||
}
|
||||
$userimage = $this->output->user_picture($user, array('courseid'=>$choices->courseid));
|
||||
$data .= html_writer::tag('div', $userimage, array('class'=>'image'));
|
||||
|
||||
$userlink = new moodle_url('/user/view.php', array('id'=>$user->id,'course'=>$choices->courseid));
|
||||
$name = html_writer::tag('a', fullname($user, $choices->fullnamecapability), array('href'=>$userlink, 'class'=>'username'));
|
||||
$name = html_writer::tag('a', $userfullname, array('href'=>$userlink, 'class'=>'username'));
|
||||
$data .= html_writer::tag('div', $name, array('class'=>'fullname'));
|
||||
$data .= html_writer::tag('div','', array('class'=>'clearfloat'));
|
||||
$coldata .= html_writer::tag('div', $data, array('class'=>'user'));
|
||||
$optionusers .= html_writer::tag('div', $data, array('class'=>'user'));
|
||||
}
|
||||
$cell->text = $optionusers;
|
||||
}
|
||||
}
|
||||
|
||||
$columns[] = $coldata;
|
||||
$columns[] = $cell;
|
||||
$count++;
|
||||
}
|
||||
$row = new html_table_row($columns);
|
||||
$table->data[] = $row;
|
||||
|
||||
$table->data[] = $columns;
|
||||
foreach ($columns as $d) {
|
||||
$table->colclasses[] = 'data';
|
||||
}
|
||||
$html .= html_writer::tag('div', html_writer::table($table), array('class'=>'response'));
|
||||
|
||||
$actiondata = '';
|
||||
@@ -245,71 +281,88 @@ class mod_choice_renderer extends plugin_renderer_base {
|
||||
$table->cellpadding = 5;
|
||||
$table->cellspacing = 0;
|
||||
$table->attributes['class'] = 'results anonymous ';
|
||||
$table->summary = get_string('responsesto', 'choice', format_string($choices->name));
|
||||
$table->data = array();
|
||||
|
||||
$count = 0;
|
||||
ksort($choices->options);
|
||||
$columns = array();
|
||||
$rows = array();
|
||||
|
||||
foreach ($choices->options as $optionid => $options) {
|
||||
$numberofuser = 0;
|
||||
if (!empty($options->user)) {
|
||||
$numberofuser = count($options->user);
|
||||
$headercelldefault = new html_table_cell();
|
||||
$headercelldefault->scope = 'row';
|
||||
$headercelldefault->header = true;
|
||||
$headercelldefault->attributes = array('class'=>'header data');
|
||||
|
||||
// column header
|
||||
$tableheader = clone($headercelldefault);
|
||||
$tableheader->text = html_writer::tag('div', get_string('choiceoptions', 'choice'), array('class' => 'accesshide'));
|
||||
$rows['header'][] = $tableheader;
|
||||
|
||||
// graph row header
|
||||
$graphheader = clone($headercelldefault);
|
||||
$graphheader->text = html_writer::tag('div', get_string('responsesresultgraphheader', 'choice'), array('class' => 'accesshide'));
|
||||
$rows['graph'][] = $graphheader;
|
||||
|
||||
// user number row header
|
||||
$usernumberheader = clone($headercelldefault);
|
||||
$usernumberheader->text = get_string('numberofuser', 'choice');
|
||||
$rows['usernumber'][] = $usernumberheader;
|
||||
|
||||
// user percentage row header
|
||||
$userpercentageheader = clone($headercelldefault);
|
||||
$userpercentageheader->text = get_string('numberofuserinpercentage', 'choice');
|
||||
$rows['userpercentage'][] = $userpercentageheader;
|
||||
|
||||
$contentcelldefault = new html_table_cell();
|
||||
$contentcelldefault->attributes = array('class'=>'data');
|
||||
|
||||
foreach ($choices->options as $optionid => $option) {
|
||||
// calculate display length
|
||||
$height = $percentageamount = $numberofuser = 0;
|
||||
$usernumber = $userpercentage = '';
|
||||
|
||||
if (!empty($option->user)) {
|
||||
$numberofuser = count($option->user);
|
||||
}
|
||||
$height = 0;
|
||||
$percentageamount = 0;
|
||||
|
||||
if($choices->numberofuser > 0) {
|
||||
$height = ($CHOICE_COLUMN_HEIGHT * ((float)$numberofuser / (float)$choices->numberofuser));
|
||||
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
|
||||
}
|
||||
|
||||
$displaydiagram = html_writer::tag('img','', array('style'=>'height:'.$height.'px;width:49px;', 'alt'=>'', 'src'=>$this->output->pix_url('column', 'choice')));
|
||||
$displaygraph = html_writer::tag('img','', array('style'=>'height:'.$height.'px;width:49px;', 'alt'=>'', 'src'=>$this->output->pix_url('column', 'choice')));
|
||||
|
||||
$cell = new html_table_cell();
|
||||
$cell->text = $displaydiagram;
|
||||
$cell->attributes = array('class'=>'graph vertical data');
|
||||
$columns[] = $cell;
|
||||
// header
|
||||
$headercell = clone($contentcelldefault);
|
||||
$headercell->text = $option->text;
|
||||
$rows['header'][] = $headercell;
|
||||
|
||||
// Graph
|
||||
$graphcell = clone($contentcelldefault);
|
||||
$graphcell->attributes = array('class'=>'graph vertical data');
|
||||
$graphcell->text = $displaygraph;
|
||||
$rows['graph'][] = $graphcell;
|
||||
|
||||
$usernumber .= html_writer::tag('div', ' '.$numberofuser.'', array('class'=>'numberofuser', 'title'=> get_string('numberofuser', 'choice')));
|
||||
$userpercentage .= html_writer::tag('div', format_float($percentageamount,1). '%', array('class'=>'percentage'));
|
||||
|
||||
// number of user
|
||||
$usernumbercell = clone($contentcelldefault);
|
||||
$usernumbercell->text = $usernumber;
|
||||
$rows['usernumber'][] = $usernumbercell;
|
||||
|
||||
// percentage of user
|
||||
$numbercell = clone($contentcelldefault);
|
||||
$numbercell->text = $userpercentage;
|
||||
$rows['userpercentage'][] = $numbercell;
|
||||
}
|
||||
$rowgraph = new html_table_row();
|
||||
$rowgraph->cells = $columns;
|
||||
$rows[] = $rowgraph;
|
||||
|
||||
$columns = array();
|
||||
$printskiplink = true;
|
||||
foreach ($choices->options as $optionid => $options) {
|
||||
$columndata = '';
|
||||
$numberofuser = 0;
|
||||
if (!empty($options->user)) {
|
||||
$numberofuser = count($options->user);
|
||||
}
|
||||
|
||||
if ($printskiplink) {
|
||||
$columndata .= html_writer::tag('div', '', array('class'=>'skip-block-to', 'id'=>'skipresultgraph'));
|
||||
$printskiplink = false;
|
||||
}
|
||||
|
||||
if ($choices->showunanswered && $optionid == 0) {
|
||||
$columndata .= html_writer::tag('div', format_string(get_string('notanswered', 'choice')), array('class'=>'option'));
|
||||
} else if ($optionid > 0) {
|
||||
$columndata .= html_writer::tag('div', format_string($choices->options[$optionid]->text), array('class'=>'option'));
|
||||
}
|
||||
$columndata .= html_writer::tag('div', ' ('.$numberofuser.')', array('class'=>'numberofuser', 'title'=> get_string('numberofuser', 'choice')));
|
||||
|
||||
if($choices->numberofuser > 0) {
|
||||
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
|
||||
}
|
||||
$columndata .= html_writer::tag('div', format_float($percentageamount,1). '%', array('class'=>'percentage'));
|
||||
|
||||
$cell = new html_table_cell();
|
||||
$cell->text = $columndata;
|
||||
$cell->attributes = array('class'=>'data header');
|
||||
$columns[] = $cell;
|
||||
}
|
||||
$rowdata = new html_table_row();
|
||||
$rowdata->cells = $columns;
|
||||
$rows[] = $rowdata;
|
||||
|
||||
$table->data = $rows;
|
||||
$table->head = $rows['header'];
|
||||
$trgraph = new html_table_row($rows['graph']);
|
||||
$trusernumber = new html_table_row($rows['usernumber']);
|
||||
$truserpercentage = new html_table_row($rows['userpercentage']);
|
||||
$table->data = array($trgraph, $trusernumber, $truserpercentage);
|
||||
|
||||
$header = html_writer::tag('h2',format_string(get_string("responses", "choice")));
|
||||
$html .= html_writer::tag('div', $header, array('class'=>'responseheader'));
|
||||
@@ -331,52 +384,76 @@ class mod_choice_renderer extends plugin_renderer_base {
|
||||
$table->cellpadding = 5;
|
||||
$table->cellspacing = 0;
|
||||
$table->attributes['class'] = 'results anonymous ';
|
||||
$table->summary = get_string('responsesto', 'choice', format_string($choices->name));
|
||||
$table->data = array();
|
||||
|
||||
$columnheaderdefault = new html_table_cell();
|
||||
$columnheaderdefault->scope = 'col';
|
||||
|
||||
$tableheadertext = clone($columnheaderdefault);
|
||||
$tableheadertext->text = get_string('choiceoptions', 'choice');
|
||||
|
||||
$tableheadernumber = clone($columnheaderdefault);
|
||||
$tableheadernumber->text = get_string('numberofuser', 'choice');
|
||||
|
||||
$tableheaderpercentage = clone($columnheaderdefault);
|
||||
$tableheaderpercentage->text = get_string('numberofuserinpercentage', 'choice');
|
||||
|
||||
$tableheadergraph = clone($columnheaderdefault);
|
||||
$tableheadergraph->text = get_string('responsesresultgraphheader', 'choice');
|
||||
|
||||
$table->head = array($tableheadertext, $tableheadernumber, $tableheaderpercentage, $tableheadergraph);
|
||||
|
||||
$count = 0;
|
||||
ksort($choices->options);
|
||||
|
||||
$columndefault = new html_table_cell();
|
||||
$columndefault->attributes['class'] = 'data';
|
||||
|
||||
$colheaderdefault = new html_table_cell();
|
||||
$colheaderdefault->scope = 'row';
|
||||
$colheaderdefault->header = true;
|
||||
$colheaderdefault->attributes['class'] = 'header data';
|
||||
|
||||
$rows = array();
|
||||
foreach ($choices->options as $optionid => $options) {
|
||||
$numberofuser = 0;
|
||||
$graphcell = new html_table_cell();
|
||||
$colheader = clone($colheaderdefault);
|
||||
$colheader->text = $options->text;
|
||||
|
||||
$graphcell = clone($columndefault);
|
||||
$datacellnumber = clone($columndefault);
|
||||
$datacellpercentage = clone($columndefault);
|
||||
|
||||
$numberofuser = $width = $percentageamount = 0;
|
||||
|
||||
if (!empty($options->user)) {
|
||||
$numberofuser = count($options->user);
|
||||
}
|
||||
|
||||
$width = 0;
|
||||
$percentageamount = 0;
|
||||
$columndata = '';
|
||||
if($choices->numberofuser > 0) {
|
||||
$width = ($CHOICE_COLUMN_WIDTH * ((float)$numberofuser / (float)$choices->numberofuser));
|
||||
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
|
||||
}
|
||||
$displaydiagram = html_writer::tag('img','', array('style'=>'height:50px; width:'.$width.'px', 'alt'=>'', 'src'=>$this->output->pix_url('row', 'choice')));
|
||||
|
||||
$skiplink = html_writer::tag('a', get_string('skipresultgraph', 'choice'), array('href'=>'#skipresultgraph'. $optionid, 'class'=>'skip-block'));
|
||||
$skiphandler = html_writer::tag('span', '', array('class'=>'skip-block-to', 'id'=>'skipresultgraph'.$optionid));
|
||||
$attributes = array();
|
||||
$attributes['style'] = 'height:50px; width:'.$width.'px';
|
||||
$attributes['alt'] = '';
|
||||
$attributes['src'] = $this->output->pix_url('row', 'choice');
|
||||
$displaydiagram = html_writer::tag('img','', $attributes);
|
||||
|
||||
$graphcell->text = $skiplink . $displaydiagram . $skiphandler;
|
||||
$graphcell->text = $displaydiagram;
|
||||
$graphcell->attributes = array('class'=>'graph horizontal');
|
||||
|
||||
$datacell = new html_table_cell();
|
||||
if ($choices->showunanswered && $optionid == 0) {
|
||||
$columndata .= html_writer::tag('div', format_string(get_string('notanswered', 'choice')), array('class'=>'option'));
|
||||
} else if ($optionid > 0) {
|
||||
$columndata .= html_writer::tag('div', format_string($choices->options[$optionid]->text), array('class'=>'option'));
|
||||
}
|
||||
$columndata .= html_writer::tag('div', ' ('.$numberofuser.')', array('title'=> get_string('numberofuser', 'choice'), 'class'=>'numberofuser'));
|
||||
|
||||
if($choices->numberofuser > 0) {
|
||||
$percentageamount = ((float)$numberofuser/(float)$choices->numberofuser)*100.0;
|
||||
}
|
||||
$columndata .= html_writer::tag('div', format_float($percentageamount,1). '%', array('class'=>'percentage'));
|
||||
|
||||
$datacell->text = $columndata;
|
||||
$datacell->attributes = array('class'=>'header');
|
||||
$datacellnumber->text = $numberofuser;
|
||||
$datacellpercentage->text = format_float($percentageamount,1). '%';
|
||||
|
||||
|
||||
$row = new html_table_row();
|
||||
$row->cells = array($datacell, $graphcell);
|
||||
$row->cells = array($colheader, $datacellnumber, $datacellpercentage, $graphcell);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
|
||||
.path-mod-choice .results.anonymous .graph.vertical,
|
||||
.path-mod-choice .cell {vertical-align: bottom; text-align: center; }
|
||||
.path-mod-choice .results.anonymous th.header {border: 1px solid inherit;}
|
||||
|
||||
.path-mod-choice .results.names .header{width:10%; white-space: normal;}
|
||||
.path-mod-choice .results.names .cell{vertical-align: top; text-align: left;}
|
||||
.path-mod-choice .results.names .user,
|
||||
|
||||
@@ -127,25 +127,72 @@ class backup_scorm_activity_structure_step extends backup_activity_structure_ste
|
||||
// Define sources
|
||||
$scorm->set_source_table('scorm', array('id' => backup::VAR_ACTIVITYID));
|
||||
|
||||
$sco->set_source_table('scorm_scoes', array('scorm' => backup::VAR_PARENTID));
|
||||
// Use set_source_sql for other calls as set_source_table returns records in reverse order
|
||||
// and order is important for several SCORM fields - esp scorm_scoes.
|
||||
$sco->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_scoes}
|
||||
WHERE scorm = :scorm
|
||||
ORDER BY id',
|
||||
array('scorm' => backup::VAR_PARENTID));
|
||||
|
||||
$scodata->set_source_table('scorm_scoes_data', array('scoid' => backup::VAR_PARENTID));
|
||||
$scodata->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_scoes_data}
|
||||
WHERE scoid = :scoid
|
||||
ORDER BY id',
|
||||
array('scoid' => backup::VAR_PARENTID));
|
||||
|
||||
$seqrulecond->set_source_table('scorm_seq_ruleconds', array('scoid' => backup::VAR_PARENTID));
|
||||
$seqrulecond->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_seq_ruleconds}
|
||||
WHERE scoid = :scoid
|
||||
ORDER BY id',
|
||||
array('scoid' => backup::VAR_PARENTID));
|
||||
|
||||
$seqrulecondsdata->set_source_table('scorm_seq_rulecond', array('ruleconditionsid' => backup::VAR_PARENTID));
|
||||
$seqrulecondsdata->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_seq_rulecond}
|
||||
WHERE ruleconditionsid = :ruleconditionsid
|
||||
ORDER BY id',
|
||||
array('ruleconditionsid' => backup::VAR_PARENTID));
|
||||
|
||||
$seqrolluprule->set_source_table('scorm_seq_rolluprule', array('scoid' => backup::VAR_PARENTID));
|
||||
$seqrolluprule->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_seq_rolluprule}
|
||||
WHERE scoid = :scoid
|
||||
ORDER BY id',
|
||||
array('scoid' => backup::VAR_PARENTID));
|
||||
|
||||
$seqrolluprulecond->set_source_table('scorm_seq_rolluprulecond', array('rollupruleid' => backup::VAR_PARENTID));
|
||||
$seqrolluprulecond->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_seq_rolluprulecond}
|
||||
WHERE rollupruleid = :rollupruleid
|
||||
ORDER BY id',
|
||||
array('rollupruleid' => backup::VAR_PARENTID));
|
||||
|
||||
$seqobjective->set_source_table('scorm_seq_objective', array('scoid' => backup::VAR_PARENTID));
|
||||
$seqobjective->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_seq_objective}
|
||||
WHERE scoid = :scoid
|
||||
ORDER BY id',
|
||||
array('scoid' => backup::VAR_PARENTID));
|
||||
|
||||
$seqmapinfo->set_source_table('scorm_seq_mapinfo', array('objectiveid' => backup::VAR_PARENTID));
|
||||
$seqmapinfo->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_seq_mapinfo}
|
||||
WHERE objectiveid = :objectiveid
|
||||
ORDER BY id',
|
||||
array('objectiveid' => backup::VAR_PARENTID));
|
||||
|
||||
// All the rest of elements only happen if we are including user info
|
||||
if ($userinfo) {
|
||||
$scotrack->set_source_table('scorm_scoes_track', array('scoid' => backup::VAR_PARENTID));
|
||||
$scotrack->set_source_sql('
|
||||
SELECT *
|
||||
FROM {scorm_scoes_track}
|
||||
WHERE scoid = :scoid
|
||||
ORDER BY id',
|
||||
array('scoid' => backup::VAR_PARENTID));
|
||||
}
|
||||
|
||||
// Define id annotations
|
||||
|
||||
+3
-3
@@ -101,15 +101,15 @@ if ($component === 'blog') {
|
||||
}
|
||||
}
|
||||
|
||||
if ('publishstate' === 'public') {
|
||||
if ($entry->publishstate === 'public') {
|
||||
if ($CFG->forcelogin) {
|
||||
require_login();
|
||||
}
|
||||
|
||||
} else if ('publishstate' === 'site') {
|
||||
} else if ($entry->publishstate === 'site') {
|
||||
require_login();
|
||||
//ok
|
||||
} else if ('publishstate' === 'draft') {
|
||||
} else if ($entry->publishstate === 'draft') {
|
||||
require_login();
|
||||
if ($USER->id != $entry->userid) {
|
||||
send_file_not_found();
|
||||
|
||||
@@ -815,6 +815,9 @@ abstract class repository {
|
||||
$ft = new filetype_parser();
|
||||
if (isset($args['accepted_types'])) {
|
||||
$accepted_types = $args['accepted_types'];
|
||||
if (is_array($accepted_types) && in_array('*', $accepted_types)) {
|
||||
$accepted_types = '*';
|
||||
}
|
||||
} else {
|
||||
$accepted_types = '*';
|
||||
}
|
||||
|
||||
+2
-2
@@ -30,10 +30,10 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
||||
$version = 2011070107.00; // 20110701 = branching date YYYYMMDD - do not modify!
|
||||
$version = 2011070108.00; // 20110701 = branching date YYYYMMDD - do not modify!
|
||||
// RR = release increments - 00 in DEV branches
|
||||
// .XX = incremental changes
|
||||
|
||||
$release = '2.1.7 (Build: 20120706)'; // Human-friendly version name
|
||||
$release = '2.1.8 (Build: 20120910)'; // Human-friendly version name
|
||||
|
||||
$maturity = MATURITY_STABLE; // this version's maturity level
|
||||
|
||||
+2
-2
@@ -976,7 +976,7 @@ abstract class webservice_zend_server extends webservice_server {
|
||||
FROM {external_services} s
|
||||
JOIN {external_services_functions} sf ON (sf.externalserviceid = s.id AND s.restrictedusers = 1)
|
||||
JOIN {external_services_users} su ON (su.externalserviceid = s.id AND su.userid = :userid)
|
||||
WHERE s.enabled = 1 AND su.validuntil IS NULL OR su.validuntil < :now $wscond2";
|
||||
WHERE s.enabled = 1 AND (su.validuntil IS NULL OR su.validuntil < :now) $wscond2";
|
||||
|
||||
$params = array_merge($params, array('userid'=>$USER->id, 'now'=>time()));
|
||||
|
||||
@@ -1458,7 +1458,7 @@ abstract class webservice_base_server extends webservice_server {
|
||||
FROM {external_services} s
|
||||
JOIN {external_services_functions} sf ON (sf.externalserviceid = s.id AND s.restrictedusers = 1 AND sf.functionname = :name2)
|
||||
JOIN {external_services_users} su ON (su.externalserviceid = s.id AND su.userid = :userid)
|
||||
WHERE s.enabled = 1 AND su.validuntil IS NULL OR su.validuntil < :now $wscond2";
|
||||
WHERE s.enabled = 1 AND (su.validuntil IS NULL OR su.validuntil < :now) $wscond2";
|
||||
$params = array_merge($params, array('userid'=>$USER->id, 'name1'=>$function->name, 'name2'=>$function->name, 'now'=>time()));
|
||||
|
||||
$rs = $DB->get_recordset_sql($sql, $params);
|
||||
|
||||
Reference in New Issue
Block a user