]> git.mjollnir.org Git - moodle.git/commitdiff
more fixes for lockoptions behaviour; changes to forum/mod_form.php; removed forum...
authorjamiesensei <jamiesensei>
Tue, 21 Nov 2006 11:02:13 +0000 (11:02 +0000)
committerjamiesensei <jamiesensei>
Tue, 21 Nov 2006 11:02:13 +0000 (11:02 +0000)
lib/formslib.php
lib/javascript-static.js
mod/forum/mod.html [deleted file]
mod/forum/mod_form.php

index b979f59e9a7f2d6d0ed2ddfc1e8d74af6d411410..4a882c9826c06c747c8929f2df01495e740a899d 100644 (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;
index 5914f78b8c73b0c0374c8a773b355edd588546fd..2f8ed11951c64f8140ca76c0e42700a42cd3a467 100644 (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++) {
diff --git a/mod/forum/mod.html b/mod/forum/mod.html
deleted file mode 100644 (file)
index b5378dc..0000000
+++ /dev/null
@@ -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>
index 35eaebb397922c9ded34f43b3628335f1f9f0a1e..38de1b4af475f28c3f060061d4540e8a6765ed91 100644 (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);
+        }
        }