defined('MOODLE_INTERNAL') || die();
-$string['admindirname'] = 'Ð\9aаÑ\82алог админиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80а';
+$string['admindirname'] = 'Ð\9aаÑ\82алог админиÑ\81Ñ\82Ñ\80иÑ\80ованиÑ\8f';
$string['availablelangs'] = 'Доступные языковые пакеты';
$string['chooselanguagehead'] = 'Выберите язык';
$string['chooselanguagesub'] = 'Сейчас необходимо выбрать язык ТОЛЬКО для сообщений во время установки. Язык сайта и пользовательских интерфейсов можно будет указать далее в процессе установки.';
$string['dbprefix'] = 'Префикс имен таблиц';
$string['dirroot'] = 'Каталог Moodle';
$string['environmenthead'] = 'Проверка среды...';
-$string['environmentsub2'] = 'У каждой версии Moodle есть минимальные требования к версии PHP и набор обязательных расширений PHP.
+$string['environmentsub2'] = 'У каждой версии Moodle есть минимальные требования к версии PHP и набору обязательных расширений PHP.
Полная проверка среды осуществляется перед каждой установкой и обновлением.
Пожалуйста, свяжитесь с администратором сервера, если не знаете, как установить новую версию или включить расширения PHP.';
$string['errorsinenvironment'] = 'Проверка окружения не выполнена!';
$string['pathsrodataroot'] = 'Каталог данных недоступен для записи.';
$string['pathsroparentdataroot'] = 'Родительский каталог ({$a->parent}) не доступен для записи. Программа установки не может создать каталог данных ({$a->dataroot}).';
$string['pathssubadmindir'] = 'На небольшом числе веб-хостингов путь /admin используется для доступа к панели управления или чему-то еще. К сожалению, это противоречит стандартному расположению страниц управления Moodle. Это можно исправить путем переименования папки admin в каталоге Moodle и указания нового имени здесь. Например: <em>moodleadmin</em>. При этом все ссылки на панель управления Moodle исправятся автоматически.';
-$string['pathssubdataroot'] = 'Необходимо указать место, где Moodle будет хранить загружаемые файлы. Этот каталог должен быть доступен для чтения и ЗАПИСИ тому пользователю, от чьего имени запускается веб-сервер (обычно \'nobody\' или \'apache\'), но при этом не должен быть доступен напрямую через Интернет. Программа установки попробует создать этот каталог, если он не существует.';
-$string['pathssubdirroot'] = 'Полный путь к каталогу установки Moodle.';
-$string['pathssubwwwroot'] = 'Полный веб-адрес, по которому будет доступен Moodle.
-Использовать для доступа к Moodle несколько публичных адресов невозможно.
-Если у вашего сайта есть еще несколько публичных адресов, вам следует настроить постоянные перенаправления с этих адресов на указанный.
-Если ваш сайт доступен как из Интернета, так и из локальной сети, укажите здесь публичный адрес и настройте DNS таким образом, чтобы этот адрес был доступен и локальным пользователям.
-Если указанный здесь адрес неверный, измените URL в строке адреса браузера, чтобы перезапустить установку с другим значением.';
+$string['pathssubdataroot'] = '<p>Каталог, в котором Moodle будет хранить все файлы, размещаемые пользователями. </p><p>Этот каталог должен быть доступен для чтения и ЗАПИСИ тому пользователю, от чьего имени запускается веб-сервер (обычно \'www-data\', \'nobody\' или \'apache\'). </p><p>Этот каталог не должен быть доступен напрямую через Интернет. </p><p>Программа установки попробует создать этот каталог, если он не существует. </p>';
+$string['pathssubdirroot'] = '<p>Полный путь к каталогу установки Moodle.</p>';
+$string['pathssubwwwroot'] = '<p>Полный веб-адрес, по которому будет доступен Moodle, т.е. адрес, который пользователи будут вводить в адресной строке своего браузера для доступа к сайту Moodle.</p>
+<p>Использовать для доступа к Moodle несколько публичных адресов невозможно. Если у Вашего сайта есть еще несколько публичных адресов, то следует настроить постоянные перенаправления с этих адресов на указанный.</p>
+</p>Если Ваш сайт доступен как из Интернета, так и из локальной сети (иногда называют Интранет), укажите здесь публичный адрес.</p>
+</p>Если указанный здесь адрес неверный, измените URL в адресной строке браузера и перезапустите установку.</p>';
$string['pathsunsecuredataroot'] = 'Расположение каталога данных не отвечает требованиям безопасности';
$string['pathswrongadmindir'] = 'Каталог admin не существует';
$string['phpextension'] = 'Расширение PHP «{$a}»';
$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://ru.wikipedia.org/wiki/Открытое_программное_обеспечение">открытым </a> и распространяется на условиях лицензии <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>.';
+$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>Moodle</strong> на свой компьютер. Вы сможете принять настройки по умолчанию или изменить их в зависимости от своих потребностей.';
$string['welcomep70'] = 'Нажмите кнопку «Далее» чтобы продолжить процесс установки <strong>Moodle</strong>.';
$string['wwwroot'] = 'Веб-адрес';
defined('MOODLE_INTERNAL') || die();
+$string['admindirname'] = 'అడ్మిన్ డైరెక్టరీ';
$string['availablelangs'] = 'అందుబాటులో ఉన్న భాషల జాబితా';
$string['chooselanguagehead'] = 'భాషను ఎంచుకోండి';
$string['databasehost'] = 'డేటాబేసు హోస్టు';
$string['databasename'] = 'డేటాబేసు పేరు';
+$string['databasetypehead'] = 'డేటాబేస్ డ్రైవర్ ఎంచుకోండి';
$string['dataroot'] = 'డేటా డైరెక్టరీ';
+$string['datarootpermission'] = 'డేటా డైరెక్టరీల అనుమతి';
$string['dbprefix'] = 'టేబుళ్ళ ఆదిపదం (ప్రిఫిక్స్)';
$string['dirroot'] = 'Moodle డైరెక్టరీ';
$string['environmenthead'] = 'మీ ఎన్విరాన్మెంటును పరిశీలిస్తున్నాం ...';
+$string['installation'] = 'సంస్థాపన';
+$string['paths'] = 'మార్గాలు';
+$string['pathswrongadmindir'] = 'అడ్మిన్ డైరెక్టరీ అసలు లేదు';
$string['wwwroot'] = 'వెబ్ చిరునామా';
defined('MOODLE_INTERNAL') || die();
+$string['clianswerno'] = 'ні';
+$string['cliansweryes'] = 'так';
+$string['cliincorrectvalueerror'] = 'Помилка, некоректне значення "{$a->value}" для "{$a->option}"';
+$string['cliincorrectvalueretry'] = 'Некоректне значення, повторіть правильно';
+$string['clitypevalue'] = 'тип значення';
+$string['clitypevaluedefault'] = 'тип значення, натисніть Enter для використання типового значення ({$a})';
+$string['cliunknowoption'] = 'Невизначені опції: {$a}. Будь ласка, використайте опцію --help.';
+$string['cliyesnoprompt'] = 'натисніть y (означає так) або n (означає ні)';
$string['environmentrequireinstall'] = 'повинен бути встановлений і включений';
$string['environmentrequireversion'] = 'рекомендується версія {$a->needed}, використовується версія {$a->current}';
$string['cliansweryes'] = 'y';
$string['cliincorrectvalueerror'] = 'Lỗi, giá trị không đúng "{$a->value}" for "{$a->option}"';
$string['cliincorrectvalueretry'] = 'Giá trị không đúng, vui lòng thử lại';
+$string['clitypevalue'] = 'nhập giá trị';
+$string['clitypevaluedefault'] = 'nhập giá trị, nhấn phím Enter để dùng giá trị mặc định ({$a})';
+$string['cliunknowoption'] = 'Lựa chọn chưa được nhận diện:
+ {$a}
+Vui lòng sử dụng lựa chọn --help.';
+$string['cliyesnoprompt'] = 'nhập y (có) hay n (không)';
$string['environmentrequireinstall'] = 'cần phải được cài hay kích hoạt.';
$string['environmentrequireversion'] = 'Cần phiên bản {$a->needed} trong khi bạn đang dùng {$a->current}';
$params = array('timestart1' => $timestart, 'timestart2' => $timestart);
$records = $DB->get_records_select('task_scheduled', $where, $params);
+ $pluginmanager = \core_plugin_manager::instance();
+
foreach ($records as $record) {
if ($lock = $cronlockfactory->get_lock(($record->classname), 10)) {
$task = self::scheduled_task_from_record($record);
$task->set_lock($lock);
+
+ // See if the component is disabled.
+ $plugininfo = $pluginmanager->get_plugin_info($task->get_component());
+
+ if ($plugininfo) {
+ if (!$task->get_run_if_component_disabled() && !$plugininfo->is_enabled()) {
+ $lock->release();
+ continue;
+ }
+ }
+
if (!$task->is_blocking()) {
$cronlock->release();
} else {
return $this->disabled;
}
+ /**
+ * Override this function if you want this scheduled task to run, even if the component is disabled.
+ *
+ * @return bool
+ */
+ public function get_run_if_component_disabled() {
+ return false;
+ }
+
/**
* Take a cron field definition and return an array of valid numbers with the range min-max.
*
$data->assignment = $this->get_new_parentid('assign');
$data->userid = $this->get_mappingid('user', $data->userid);
- $data->allocatedmarker = $this->get_mappingid('user', $data->allocatedmarker);
+ if (!empty($data->allocatedmarker)) {
+ $data->allocatedmarker = $this->get_mappingid('user', $data->allocatedmarker);
+ }
if (!empty($data->extensionduedate)) {
$data->extensionduedate = $this->apply_date_offset($data->extensionduedate);
} else {
$user = $DB->get_record('user', array('id' => $submission->userid), '*', MUST_EXIST);
$name = fullname($user);
} else {
- $group = $DB->get_record('groups', array('id' => $submission->groupid), '*', MUST_EXIST);
- $name = $group->name;
+ $group = $this->get_submission_group($submission->userid);
+ if ($group) {
+ $name = $group->name;
+ } else {
+ $name = get_string('defaultteam', 'assign');
+ }
}
$status = get_string('submissionstatus_' . $submission->status, 'assign');
$params = array('id'=>$submission->userid, 'fullname'=>$name, 'status'=>$status);
$this->assertEquals(self::GROUP_COUNT + 1, $assign->count_teams());
}
+ public function test_submit_to_default_group() {
+ global $DB;
+
+ $this->preventResetByRollback();
+ $sink = $this->redirectMessages();
+
+ $this->setUser($this->editingteachers[0]);
+ $params = array('teamsubmission' => 1,
+ 'assignsubmission_onlinetext_enabled' => 1,
+ 'submissiondrafts'=>0);
+ $assign = $this->create_instance($params);
+
+ $newstudent = $this->getDataGenerator()->create_user();
+ $studentrole = $DB->get_record('role', array('shortname'=>'student'));
+ $this->getDataGenerator()->enrol_user($newstudent->id,
+ $this->course->id,
+ $studentrole->id);
+ $this->setUser($newstudent);
+ $data = new stdClass();
+ $data->onlinetext_editor = array('itemid'=>file_get_unused_draft_itemid(),
+ 'text'=>'Submission text',
+ 'format'=>FORMAT_MOODLE);
+ $notices = array();
+
+ $group = $assign->get_submission_group($newstudent->id);
+ $this->assertFalse($group, 'New student is in default group');
+ $assign->save_submission($data, $notices);
+ $this->assertEmpty($notices, 'No errors on save submission');
+
+ $sink->close();
+ }
+
public function test_count_submissions() {
$this->create_extra_users();
$this->setUser($this->editingteachers[0]);
defined('MOODLE_INTERNAL') || die();
-$version = 2014072200.00; // YYYYMMDD = weekly release date of this DEV branch.
+$version = 2014072400.00; // YYYYMMDD = weekly release date of this DEV branch.
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.
-$release = '2.8dev (Build: 20140717)'; // Human-friendly version name
+$release = '2.8dev (Build: 20140724)'; // Human-friendly version name
$branch = '28'; // This version's branch.
$maturity = MATURITY_ALPHA; // This version's maturity level.