more fixes for lockoptions behaviour; changes to forum/mod_form.php; removed forum/mod.html
This commit is contained in:
+3
-2
@@ -820,7 +820,8 @@ function validate_' . $this->_attributes['id'] . '(frm) {
|
||||
}
|
||||
/**
|
||||
* Adds a dependency for $elementName which will be disabled if $condition is met.
|
||||
* If $condition='checked' (default) then the condition is that the $dependentOn element
|
||||
* If $condition='notchecked' (default) then the condition is that the $dependentOn element
|
||||
* is not checked. If $condition='checked' then the condition is that the $dependentOn element
|
||||
* is checked. If $condition is something else then it is checked to see if the value
|
||||
* of the $dependentOn element is equal to $condition.
|
||||
*
|
||||
@@ -829,7 +830,7 @@ function validate_' . $this->_attributes['id'] . '(frm) {
|
||||
* condition
|
||||
* @param string $condition the condition to check
|
||||
*/
|
||||
function addDependency($elementName, $dependentOn, $condition='checked'){
|
||||
function addDependency($elementName, $dependentOn, $condition='notchecked'){
|
||||
$el=$this->getElement($elementName);
|
||||
if (is_a($el, 'HTML_QuickForm_group')){
|
||||
$group=$el;
|
||||
|
||||
@@ -65,10 +65,12 @@ function lockoptionsall(formid) {
|
||||
for (var master in items){
|
||||
var subitems=items[master].dependents;
|
||||
var thislock;
|
||||
if (items[master].condition=='checked'){
|
||||
if (items[master].condition=='notchecked'){
|
||||
thislock=!form.elements[master].checked;
|
||||
}else{
|
||||
thislock=!(form.elements[master].value==items[master].condition);
|
||||
} else if (items[master].condition=='checked'){
|
||||
thislock=form.elements[master].checked;
|
||||
} else {
|
||||
thislock=(form.elements[master].value==items[master].condition);
|
||||
}
|
||||
|
||||
for (var i=0; i<subitems.length; i++) {
|
||||
|
||||
@@ -1,313 +0,0 @@
|
||||
<?php
|
||||
include_once($CFG->dirroot.'/mod/forum/lib.php');
|
||||
|
||||
if (!isset($form->name)) {
|
||||
$form->name = '';
|
||||
}
|
||||
if (!isset($form->type)) {
|
||||
$form->type = '';
|
||||
}
|
||||
if (!isset($form->intro)) {
|
||||
$form->intro = '';
|
||||
}
|
||||
if (!isset($form->open)) {
|
||||
$form->open = 2;
|
||||
}
|
||||
if (!isset($form->assessed)) {
|
||||
$form->assessed = 0;
|
||||
}
|
||||
if (!isset($form->forcesubscribe)) {
|
||||
$form->forcesubscribe = 0;
|
||||
}
|
||||
if (!isset($form->maxbytes)) {
|
||||
$form->maxbytes = $CFG->forum_maxbytes;
|
||||
}
|
||||
if (!isset($form->rsstype)) {
|
||||
$form->rsstype = 0;
|
||||
}
|
||||
if (!isset($form->rssarticles)) {
|
||||
$form->rssarticles = 0;
|
||||
}
|
||||
if (!isset($form->scale)) {
|
||||
$form->scale = 0;
|
||||
}
|
||||
if (!isset($form->assesstimestart)) {
|
||||
$form->assesstimestart = 0;
|
||||
}
|
||||
if (!isset($form->assesstimefinish)) {
|
||||
$form->assesstimefinish = 0;
|
||||
}
|
||||
if (!isset($form->trackingtype)) {
|
||||
$form->trackingtype = FORUM_TRACKING_OPTIONAL;
|
||||
}
|
||||
if (!isset($form->warnafter)) {
|
||||
$form->warnafter = 0;
|
||||
}
|
||||
if (!isset($form->blockafter)) {
|
||||
$form->blockafter = 0;
|
||||
}
|
||||
if (!isset($form->blockperiod)) {
|
||||
$form->blockperiod = 0;
|
||||
}
|
||||
|
||||
?>
|
||||
<form name="form" method="post" action="mod.php">
|
||||
<table cellpadding="5">
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string('forumname', 'forum')?>:</b></td>
|
||||
<td>
|
||||
<input type="text" name="name" size="30" alt="<?php print_string('forumname', 'forum')?>" value="<?php p($form->name) ?>" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string('forumtype', 'forum')?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
$student = $course->student;
|
||||
require_once("$CFG->dirroot/mod/forum/lib.php");
|
||||
asort($FORUM_TYPES);
|
||||
if (! $form->type) {
|
||||
$form->type = 'general';
|
||||
}
|
||||
if ($form->type == 'news') {
|
||||
print_string('namenews', 'forum');
|
||||
echo '<input type="hidden" name="type" value="news" />';
|
||||
} else if ($form->type == 'social') {
|
||||
print_string('namesocial', 'forum');
|
||||
echo '<input type="hidden" name="type" value="social" />';
|
||||
} else {
|
||||
choose_from_menu($FORUM_TYPES, 'type', $form->type, '');
|
||||
helpbutton('forumtype', get_string('forumtype', 'forum'), 'forum');
|
||||
}
|
||||
?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string('forumintro', 'forum')?>:</b><br /><br />
|
||||
<?php
|
||||
helpbutton('writing', get_string('helpwriting'), 'moodle', true, true);
|
||||
echo '<br />';
|
||||
helpbutton('questions', get_string('helpquestions'), 'moodle', true, true);
|
||||
echo '<br />';
|
||||
if ($usehtmleditor) {
|
||||
helpbutton('richtext', get_string('helprichtext'), 'moodle', true, true);
|
||||
} else {
|
||||
emoticonhelpbutton('form', 'intro');
|
||||
}
|
||||
echo '<br />';
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php print_textarea($usehtmleditor, 20, 50, 680, 400, 'intro', $form->intro); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><b><?php print_string('forcesubscribeq', 'forum') ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
unset($options);
|
||||
$options[0] = get_string('no');
|
||||
$options[1] = get_string('yesforever', 'forum');
|
||||
$options[FORUM_INITIALSUBSCRIBE] = get_string('yesinitially', 'forum');
|
||||
$options[FORUM_DISALLOWSUBSCRIBE] = get_string('disallowsubscribe','forum');
|
||||
choose_from_menu($options, 'forcesubscribe', $form->forcesubscribe, '');
|
||||
helpbutton('subscription2', get_string('forcesubscribeq', 'forum'), 'forum');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($CFG->forum_trackreadposts) { ?>
|
||||
<tr>
|
||||
<td align="right"><b><?php print_string('trackingtype', 'forum') ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
unset($options);
|
||||
$options[FORUM_TRACKING_OPTIONAL] = get_string('trackingoptional', 'forum');
|
||||
$options[FORUM_TRACKING_OFF] = get_string('trackingoff', 'forum');
|
||||
$options[FORUM_TRACKING_ON] = get_string('trackingon', 'forum');
|
||||
choose_from_menu($options, 'trackingtype', $form->trackingtype, '');
|
||||
helpbutton('trackingtype', get_string('trackingtype', 'forum'), 'forum');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("maxattachmentsize", "forum") ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
$choices = get_max_upload_sizes($CFG->maxbytes, $course->maxbytes);
|
||||
$choices[1] = get_string("uploadnotallowed");
|
||||
$choices[0] = get_string("courseuploadlimit") . " (".display_size($course->maxbytes).")";
|
||||
choose_from_menu ($choices, "maxbytes", $form->maxbytes, "");
|
||||
helpbutton("maxattachmentsize", get_string("maxattachmentsize", "forum"), "forum");
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
//Only show rss parameters if rss is activated at site and forum levels
|
||||
if ($CFG->enablerssfeeds
|
||||
&& isset($CFG->forum_enablerssfeeds)
|
||||
&& $CFG->forum_enablerssfeeds) {
|
||||
echo '<tr valign="top">';
|
||||
echo '<td align="right"><b>'.get_string('rsstype').':</b></td>';
|
||||
echo '<td>';
|
||||
unset($choices);
|
||||
$choices[0] = get_string('none');
|
||||
$choices[1] = get_string('discussions', 'forum');
|
||||
$choices[2] = get_string('posts', 'forum');
|
||||
choose_from_menu ($choices, 'rsstype', $form->rsstype, '');
|
||||
helpbutton('rsstype', get_string('rsstype'), 'forum');
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
|
||||
echo '<tr valign="top">';
|
||||
echo '<td align="right"><b>'.get_string('rssarticles').':</b></td>';
|
||||
echo '<td>';
|
||||
unset($choices);
|
||||
$choices[0] = '0';
|
||||
$choices[1] = '1';
|
||||
$choices[2] = '2';
|
||||
$choices[3] = '3';
|
||||
$choices[4] = '4';
|
||||
$choices[5] = '5';
|
||||
$choices[10] = '10';
|
||||
$choices[15] = '15';
|
||||
$choices[20] = '20';
|
||||
$choices[25] = '25';
|
||||
$choices[30] = '30';
|
||||
$choices[40] = '40';
|
||||
$choices[50] = '50';
|
||||
choose_from_menu ($choices, 'rssarticles', $form->rssarticles, '');
|
||||
helpbutton('rssarticles', get_string('rssarticles'), 'forum');
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td align="right" valign="top"><b><?php print_string("allowratings", "forum") ?>:</b></td>
|
||||
<td>
|
||||
<table cellpadding="1">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<?php
|
||||
echo '<script type="text/javascript">';
|
||||
echo " var subitemstime = ['startday','startmonth','startyear','starthour', 'startminute',".
|
||||
"'finishday','finishmonth','finishyear','finishhour','finishminute'];";
|
||||
|
||||
echo " var subitemsall = ['ratingtime', 'scale', ".
|
||||
"'startday','startmonth','startyear','starthour', 'startminute',".
|
||||
"'finishday','finishmonth','finishyear','finishhour','finishminute'];";
|
||||
echo '</script>';
|
||||
|
||||
echo '<input name="assessed" type="checkbox" alt="'.get_string('ratingsuse', 'forum').'" value="1" ';
|
||||
echo " onclick=\"return lockoptions('form','assessed', subitemsall)\" ";
|
||||
if ($form->assessed) {
|
||||
echo ' checked="checked" ';
|
||||
}
|
||||
echo ' />';
|
||||
echo ' '.get_string('ratingsuse', 'forum').':';
|
||||
echo '</td></tr>';
|
||||
|
||||
echo '<tr><td>';
|
||||
echo get_string('grade').': ';
|
||||
echo '</td><td>';
|
||||
print_grade_menu($course->id, 'scale', $form->scale, false);
|
||||
echo '</td></tr>';
|
||||
|
||||
echo '<tr><td colspan="2">';
|
||||
echo '<input name="ratingtime" type="checkbox" alt="'.get_string('ratingtime', 'forum').'"value="1" ';
|
||||
echo " onclick=\"return lockoptions('form','ratingtime', subitemstime)\" ";
|
||||
if ($form->assesstimestart and $form->assesstimefinish and $form->assessed) {
|
||||
$form->ratingtime = 1;
|
||||
echo ' checked="checked" ';
|
||||
}
|
||||
echo ' /> ';
|
||||
print_string('ratingtime', 'forum');
|
||||
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td> </td><td>';
|
||||
|
||||
echo '<table align="left"><tr><td align="right" nowrap="nowrap">';
|
||||
echo get_string('from').': ';
|
||||
print_date_selector('startday', 'startmonth', 'startyear', $form->assesstimestart);
|
||||
print_time_selector('starthour', 'startminute', $form->assesstimestart);
|
||||
echo '<br />';
|
||||
echo get_string('to').': ';
|
||||
print_date_selector('finishday', 'finishmonth', 'finishyear', $form->assesstimefinish);
|
||||
print_time_selector('finishhour', 'finishminute', $form->assesstimefinish);
|
||||
echo '<br />';
|
||||
echo '</td></tr></table>';
|
||||
|
||||
echo '</td></tr></table>';
|
||||
|
||||
echo '<input type="hidden" name="hratingtime" value="0" />';
|
||||
echo '<input type="hidden" name="hassessed" value="0" />';
|
||||
echo '<input type="hidden" name="hassesspublic" value="0" />';
|
||||
echo '<input type="hidden" name="hscale" value="0" />';
|
||||
echo '<input type="hidden" name="hstartday" value="0" />';
|
||||
echo '<input type="hidden" name="hstartmonth" value="0" />';
|
||||
echo '<input type="hidden" name="hstartyear" value="0" />';
|
||||
echo '<input type="hidden" name="hstarthour" value="0" />';
|
||||
echo '<input type="hidden" name="hstartminute" value="0" />';
|
||||
echo '<input type="hidden" name="hfinishday" value="0" />';
|
||||
echo '<input type="hidden" name="hfinishmonth" value="0" />';
|
||||
echo '<input type="hidden" name="hfinishyear" value="0" />';
|
||||
echo '<input type="hidden" name="hfinishhour" value="0" />';
|
||||
echo '<input type="hidden" name="hfinishminute" value="0" />';
|
||||
|
||||
echo '<script type="text/javascript">';
|
||||
echo "lockoptions('form','assessed', subitemsall);";
|
||||
echo '</script>';
|
||||
|
||||
if (empty($form->ratingtime)) {
|
||||
echo '<script type="text/javascript">';
|
||||
echo "lockoptions('form','ratingtime', subitemstime);";
|
||||
echo '</script>';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" valign="top"><b><?php print_string("warnafter", "forum") ?>:</b></td>
|
||||
<td><input type="text" name="warnafter" value="<?php p($form->warnafter); ?>" /><?php
|
||||
helpbutton('manageposts', get_string('warnafter', 'forum'),'forum'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" valign="top"><b><?php print_string("blockafter", "forum") ?>:</b></td>
|
||||
<td><input type="text" name="blockafter" value="<?php p($form->blockafter); ?>" /><?php
|
||||
helpbutton('manageposts', get_string('blockafter', 'forum'),'forum'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" valign="top"><b><?php print_string("blockperiod", "forum") ?>:</b></td>
|
||||
<td><?php
|
||||
unset($options);
|
||||
$options[0] = get_string('blockperioddisabled','forum');
|
||||
$options[60*60*24] = '1 '.get_string('day');
|
||||
$options[60*60*24*2] = '2 '.get_string('days');
|
||||
$options[60*60*24*3] = '3 '.get_string('days');
|
||||
$options[60*60*24*4] = '4 '.get_string('days');
|
||||
$options[60*60*24*5] = '5 '.get_string('days');
|
||||
$options[60*60*24*6] = '6 '.get_string('days');
|
||||
$options[60*60*24*7] = '1 '.get_string('week');
|
||||
choose_from_menu($options,'blockperiod',$form->blockperiod,'');
|
||||
helpbutton('manageposts', get_string('blockperiod', 'forum'),'forum'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php print_standard_coursemodule_settings($form); ?>
|
||||
</table>
|
||||
<center>
|
||||
<input type="hidden" name="course" value="<?php p($form->course) ?>" />
|
||||
<input type="hidden" name="sesskey" value="<?php p($form->sesskey) ?>" />
|
||||
<input type="hidden" name="coursemodule" value="<?php p($form->coursemodule) ?>" />
|
||||
<input type="hidden" name="section" value="<?php p($form->section) ?>" />
|
||||
<input type="hidden" name="module" value="<?php p($form->module) ?>" />
|
||||
<input type="hidden" name="modulename" value="<?php p($form->modulename) ?>" />
|
||||
<input type="hidden" name="instance" value="<?php p($form->instance) ?>" />
|
||||
<input type="hidden" name="mode" value="<?php p($form->mode) ?>" />
|
||||
<input type="hidden" name="format" value="<?php echo $defaultformat; ?>" />
|
||||
<input type="submit" value="<?php print_string("savechanges") ?>" />
|
||||
<input type="submit" name="cancel" value="<?php print_string("cancel") ?>" />
|
||||
</center>
|
||||
</form>
|
||||
+23
-14
@@ -95,20 +95,6 @@ class forum_mod_form extends moodleform_mod {
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
$mform->addElement('header', '', get_string('blockafter', 'forum'));
|
||||
$mform->addElement('text', 'warnafter', get_string('warnafter', 'forum'));
|
||||
$mform->setType('warnafter', PARAM_INT);
|
||||
$mform->setDefault('warnafter', '0');
|
||||
$mform->addRule('warnafter', null, 'required', null, 'client');
|
||||
$mform->addRule('warnafter', null, 'numeric', null, 'client');
|
||||
$mform->setHelpButton('warnafter', array('manageposts', get_string('warnafter', 'forum'),'forum'));
|
||||
|
||||
$mform->addElement('text', 'blockafter', get_string('blockafter', 'forum'));
|
||||
$mform->setType('blockafter', PARAM_INT);
|
||||
$mform->setDefault('blockafter', '0');
|
||||
$mform->addRule('blockafter', null, 'required', null, 'client');
|
||||
$mform->addRule('blockafter', null, 'numeric', null, 'client');
|
||||
$mform->setHelpButton('blockafter', array('manageposts', get_string('blockafter', 'forum'),'forum'));
|
||||
|
||||
$options = array();
|
||||
$options[0] = get_string('blockperioddisabled','forum');
|
||||
$options[60*60*24] = '1 '.get_string('day');
|
||||
@@ -121,6 +107,21 @@ class forum_mod_form extends moodleform_mod {
|
||||
$mform->addElement('select', 'blockperiod', get_string("blockperiod", "forum") , $options);
|
||||
$mform->setHelpButton('blockperiod', array('manageposts', get_string('blockperiod', 'forum'),'forum'));
|
||||
|
||||
$mform->addElement('text', 'blockafter', get_string('blockafter', 'forum'));
|
||||
$mform->setType('blockafter', PARAM_INT);
|
||||
$mform->setDefault('blockafter', '0');
|
||||
$mform->addRule('blockafter', null, 'numeric', null, 'client');
|
||||
$mform->setHelpButton('blockafter', array('manageposts', get_string('blockafter', 'forum'),'forum'));
|
||||
$mform->addDependency('blockafter', 'blockperiod', 0);
|
||||
|
||||
|
||||
$mform->addElement('text', 'warnafter', get_string('warnafter', 'forum'));
|
||||
$mform->setType('warnafter', PARAM_INT);
|
||||
$mform->setDefault('warnafter', '0');
|
||||
$mform->addRule('warnafter', null, 'numeric', null, 'client');
|
||||
$mform->setHelpButton('warnafter', array('manageposts', get_string('warnafter', 'forum'),'forum'));
|
||||
$mform->addDependency('warnafter', 'blockperiod', 0);
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
$this->standard_coursemodule_elements();
|
||||
|
||||
@@ -147,6 +148,14 @@ class forum_mod_form extends moodleform_mod {
|
||||
$type->freeze();
|
||||
$type->setPersistantFreeze(true);
|
||||
}
|
||||
$assesstimestartvalue=is_array($mform->getElementValue('assesstimestart'));
|
||||
$assesstimefinishvalue=is_array($mform->getElementValue('assesstimefinish'));
|
||||
$ratingtime=&$mform->getElement('ratingtime');
|
||||
if ($assesstimestartvalue && $assesstimefinishvalue){
|
||||
$ratingtime->setValue(true);
|
||||
} else {
|
||||
$ratingtime->setValue(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user