more fixes for lockoptions behaviour; changes to forum/mod_form.php; removed forum/mod.html

This commit is contained in:
jamiesensei
2006-11-21 11:02:13 +00:00
parent 002bd26872
commit 9c03bbaa04
4 changed files with 31 additions and 332 deletions
+3 -2
View File
@@ -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;
+5 -3
View File
@@ -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++) {
-313
View File
@@ -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 '&nbsp;'.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>&nbsp;</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
View File
@@ -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);
}
}