|
|
@@ -22,7 +22,7 @@
|
|
|
* @calledby ./locallib.php: function add_edit_iassign(): $mform = new mod_iassign_form(null, null, null, null, array('id'=>'mform1'));
|
|
|
*
|
|
|
* @author Patricia Alves Rodrigues
|
|
|
- * @author Leônidas O. Brandão
|
|
|
+ * @author Leo^nidas de Oliveira Branda~o
|
|
|
* @version v 1.5 2013/09/19
|
|
|
* @package mod_iassign
|
|
|
* @since 2010/09/27
|
|
|
@@ -44,7 +44,9 @@ require_once($CFG->dirroot . '/mod/iassign/lib.php');
|
|
|
|
|
|
|
|
|
/// This class create form based moodleform.
|
|
|
-// @see /lib/formslib.php: __construct($action=null, $customdata=null, $method='post', $target='', $attributes=null, $editable=true, $ajaxformdata=null)
|
|
|
+// @see ./lib/formslib.php: __construct($action=null, $customdata=null, $method='post', $target='', $attributes=null, $editable=true, $ajaxformdata=null)
|
|
|
+// @calledby ./mod/iassign/locallib.php : add_edit_iassign() : $mform = new mod_iassign_form(...)
|
|
|
+// @see ./mod/iassign/locallib.php : function update_iassign($param) : that will register in {iassign_statement}
|
|
|
class mod_iassign_form extends moodleform {
|
|
|
|
|
|
/// Add elements to form
|
|
|
@@ -54,15 +56,16 @@ class mod_iassign_form extends moodleform {
|
|
|
$instance = $this->_customdata;
|
|
|
|
|
|
//D echo "<br/><br/><br/><br/>iassign_form.php: this->_customdata="; print_r($this->_customdata); echo "<br/>";
|
|
|
-
|
|
|
+
|
|
|
// iGeom has special parameter 'script'
|
|
|
$params = array('name' => '%iGeom%', 'parent' => 0);
|
|
|
$igeom = $DB->get_records_sql(
|
|
|
"SELECT s.id, s.name, s.parent FROM {iassign_ilm} s
|
|
|
WHERE s.name LIKE :name AND s.parent = :parent", $params);
|
|
|
- $id = $COURSE->cm;
|
|
|
+ // $id = $COURSE->cm;
|
|
|
foreach ($igeom as $item)
|
|
|
$idigeom = $item->id; // get the last id of iGeom
|
|
|
+ //D echo "iassign_form.php!definition(): COURSE->iassignid=" . $COURSE->iassignid . "<br/>\n"; // NAO def ", id=" . $id .
|
|
|
|
|
|
// Get recently used ilm id: @igor
|
|
|
$params = array('curso' => $COURSE->id);
|
|
|
@@ -71,6 +74,8 @@ class mod_iassign_form extends moodleform {
|
|
|
WHERE stm.iassignid = ias.id AND ias.course=:curso ORDER BY stm.id DESC LIMIT 1", $params);
|
|
|
|
|
|
$all_ilm = $DB->get_records('iassign_ilm', array('enable' => 1)); // or use ./lib.php function: $all_ilm = search_iLM(1);
|
|
|
+
|
|
|
+ // $COURSE->iassignid is define in 'locallib.php!add_edit_iassign()' with "$COURSE->iassignid = $iassignid;"
|
|
|
$iassigns = $DB->get_records('iassign_statement', array('iassignid' => $COURSE->iassignid));
|
|
|
|
|
|
if ($all_ilm) {
|
|
|
@@ -95,13 +100,13 @@ class mod_iassign_form extends moodleform {
|
|
|
|
|
|
$error_name = get_string('error_iassign_name', 'iassign');
|
|
|
|
|
|
- // @todo Código Javascript, verificar alternativa.
|
|
|
+ // Javascript code to build form
|
|
|
$code_javascript = "
|
|
|
<script type='text/javascript'>
|
|
|
//<![CDATA[
|
|
|
|
|
|
var i;
|
|
|
- var ids = new Array($ids);
|
|
|
+ var ids = new Array(" . $ids . ");
|
|
|
var evaluates = new Array($evaluates);
|
|
|
|
|
|
document.forms['mform1'].filename.disabled=1;
|
|
|
@@ -145,8 +150,8 @@ class mod_iassign_form extends moodleform {
|
|
|
}
|
|
|
|
|
|
function config_ilm (id) {
|
|
|
- //alert('config_ilm('+id+'): idigeom=$idigeom, ilmid='+document.forms['mform1'].iassign_ilmid.value);
|
|
|
- if (id==$idigeom) {
|
|
|
+ //alert('config_ilm('+id+'): idigeom=" . $idigeom . ", ilmid='+document.forms['mform1'].iassign_ilmid.value);
|
|
|
+ if (id==" . $idigeom . ") {
|
|
|
document.forms['mform1'].special_param1.style.display='block';
|
|
|
document.forms['mform1'].special_param1.disabled=0;
|
|
|
}
|
|
|
@@ -156,7 +161,7 @@ class mod_iassign_form extends moodleform {
|
|
|
document.forms['mform1'].special_param1.disabled=1;
|
|
|
}
|
|
|
var i;
|
|
|
- var ids = new Array($ids);
|
|
|
+ var ids = new Array(" . $ids . ");
|
|
|
var evaluates = new Array($evaluates);
|
|
|
if (document.forms['mform1'].type_iassign.value==1) {
|
|
|
document.forms['mform1'].automatic_evaluate.disabled=1;
|
|
|
@@ -221,7 +226,7 @@ class mod_iassign_form extends moodleform {
|
|
|
|
|
|
function view_ilm_manager () {
|
|
|
document.forms['mform1'].filename.disabled=1;
|
|
|
- open_ilm_manager=window.open('$CFG->wwwroot/mod/iassign/ilm_manager.php?id=$COURSE->id&from=iassign&ilmid='+document.forms['mform1'].iassign_ilmid.value,'','width=1000,height=880,menubar=0,location=0,scrollbars,status,fullscreen,resizable');
|
|
|
+ open_ilm_manager=window.open('" . $CFG->wwwroot ."/mod/iassign/ilm_manager.php?id=" . $COURSE->id . "&from=iassign&ilmid='+document.forms['mform1'].iassign_ilmid.value,'','width=1000,height=880,menubar=0,location=0,scrollbars,status,fullscreen,resizable');
|
|
|
}
|
|
|
//]]>
|
|
|
</script>";
|
|
|
@@ -242,11 +247,15 @@ class mod_iassign_form extends moodleform {
|
|
|
//-------------------------------------------------------------------------------
|
|
|
// Adding the "data_activity" fieldset, where all the common settings are showed
|
|
|
|
|
|
- $mform->addElement('header', 'data_activity', get_string('data_activity', 'iassign'));
|
|
|
- $mform->addElement('static', 'author', get_string('author_id', 'iassign'));
|
|
|
- $mform->addElement('static', 'author_modified', get_string('author_id_modified', 'iassign'));
|
|
|
+ // Information activity
|
|
|
+ // Author activity:
|
|
|
+ // Last modified by:
|
|
|
+ $mform->addElement('header', 'data_activity', get_string('data_activity', 'iassign')); // data_activity ='Information activity'
|
|
|
+ $mform->addElement('static', 'author', get_string('author_id', 'iassign')); // author_id ='Author activity:'
|
|
|
+ $mform->addElement('static', 'author_modified', get_string('author_id_modified', 'iassign')); // author_id_modified ='Last modified by:'
|
|
|
|
|
|
- // Adding the standard "name" field
|
|
|
+ // Adding the standard "name" field: the title of this activity
|
|
|
+ // Title [ ]
|
|
|
$mform->addElement('text', 'name', get_string('iassigntitle', 'iassign'), array('size' => '55', 'onChange' => 'confirm_name(this.value);'));
|
|
|
$mform->setType('name', PARAM_TEXT);
|
|
|
$mform->addRule('name', get_string('required', 'iassign'), 'required');
|
|
|
@@ -303,37 +312,37 @@ class mod_iassign_form extends moodleform {
|
|
|
$html_group = get_string("group", "iassign") . " HTML";
|
|
|
$java_group = get_string("group", "iassign") . " Java";
|
|
|
|
|
|
-
|
|
|
$arrayHTML = array();
|
|
|
$arrayJava = array();
|
|
|
-
|
|
|
for ($ii=0; $ii<$num_iLM_html; $ii++) {
|
|
|
$arrayHTML[$list_html_id[$ii]] = $list_html[$ii];
|
|
|
}
|
|
|
for ($ii=0; $ii<$num_iLM_java; $ii++) {
|
|
|
$arrayJava[$list_applets_id[$ii]] = $list_applets[$ii];
|
|
|
}
|
|
|
-
|
|
|
- $selectElems = array(
|
|
|
- $html_group => $arrayHTML,
|
|
|
- $java_group => $arrayJava
|
|
|
- );
|
|
|
+ $selectElems = array($html_group => $arrayHTML, $java_group => $arrayJava);
|
|
|
|
|
|
$ilm_select = $mform->addElement('selectgroups', 'iassign_ilmid', get_string('choose_iLM', 'iassign'), $selectElems);
|
|
|
$mform->addHelpButton('iassign_ilmid', 'choose_iLM', 'iassign');
|
|
|
|
|
|
- if (isset($this->_customdata['iassign_ilmid'])) { // if it is first acces, define 'iassign_ilmid'
|
|
|
- // It is defined in "locallib.php:add_edit_iassign()": $mform = new mod_iassign_form(null, array('id'=>'mform1', 'iassign_ilmid'=>$param->iassign_ilmid));
|
|
|
- $iassign_ilmid = $this->_customdata['iassign_ilmid'];
|
|
|
- $code_javascript .= ' <script> document.forms[0].iassign_ilmid.value = ' . $iassign_ilmid . '</script>' . "\n";
|
|
|
+ // Select the iLM associated to this activity/file
|
|
|
+ // It is defined in "locallib.php:add_edit_iassign()": $mform = new mod_iassign_form(null, array('id'=>'mform1', 'iassign_ilmid'=>$param->iassign_ilmid));
|
|
|
+ // if (isset($this->_customdata['iassign_ilmid'])) $iassign_ilmid = $this->_customdata['iassign_ilmid'];
|
|
|
+ if (isset($mform->_attributes['iassign_ilmid'])) { // if it is first acces, define 'iassign_ilmid'
|
|
|
+ // ATTENTION, if the iLM is disabled, it is not selected under the JavaScript command bellow
|
|
|
+ // $mform->_attributes = Array([id] => mform1 [iassign_ilmid] => 1 [autocomplete] => off [action] => http://localhost/dev_saw/mod/iassign/view.php [method] => post [accept-charset] => utf-8 [class] => mform )
|
|
|
+ $iassign_ilmid = $mform->_attributes['iassign_ilmid'];
|
|
|
+ // If the page has more then one 'mform' the line bellow could fail, it is better to get "mform" by its id="mform1"
|
|
|
+ // $code_javascript .= ' <script> document.forms[0].iassign_ilmid.value = ' . $iassign_ilmid . '</script>' . "\n";
|
|
|
+ $code_javascript .= ' <script> document.forms["mform1"].iassign_ilmid.value = ' . $iassign_ilmid . '</script>' . "\n";
|
|
|
}
|
|
|
else
|
|
|
if ($result_recent && isset($result_recent->iassign_ilmid)) { // try the last iLM used...
|
|
|
- $code_javascript .= ' <script> document.forms[0].iassign_ilmid.value = ' . $result_recent->iassign_ilmid . '</script>' . "\n";
|
|
|
+ // $code_javascript .= ' <script> document.forms[0].iassign_ilmid.value = ' . $result_recent->iassign_ilmid . '</script>' . "\n";
|
|
|
+ $code_javascript .= ' <script> document.forms["mform1"].iassign_ilmid.value = ' . $result_recent->iassign_ilmid . '</script>' . "\n";
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- //TODO Adaptives to use API of MoodleForm
|
|
|
+ //TODO Adjusts to use API of MoodleForm
|
|
|
// addOption($optgroup, $text, $value, $attributes=null)
|
|
|
// $allOptions = array(); $ilmHtml = array(); $ilmJava = array();
|
|
|
// $ilmHtml[] = $mform->createElement('optgroup', 'groupHtml', 'Group HTML');
|
|
|
@@ -354,22 +363,23 @@ class mod_iassign_form extends moodleform {
|
|
|
// Field 'action'
|
|
|
$fileurl = "";
|
|
|
$filename = "";
|
|
|
- if (!is_null($COURSE->iassign_file_id)) {
|
|
|
+ if (!is_null($COURSE->iassign_file_id)) { // "$COURSE->iassign_file_id" must be filled in "locallib.php : function add_edit_iassign(): ... = $file_item->get_id()"
|
|
|
$mform->addElement('hidden', 'action', 'viewpluginpage');
|
|
|
$fs = get_file_storage();
|
|
|
$file = $fs->get_file_by_id($COURSE->iassign_file_id);
|
|
|
$fileurl = $CFG->wwwroot . "/pluginfile.php/" . $file->get_contextid() . "/mod_iassign/exercise" . '/' . $file->get_itemid() . $file->get_filepath() . $file->get_filename();
|
|
|
$filename = $file->get_filename();
|
|
|
}
|
|
|
+ //D echo "iassign_form.php: COURSE->id=" . $COURSE->id . ", COURSE->iassign_file_id=" . $COURSE->iassign_file_id . ", filename=" . $filename . "<br/>\n";// exit;
|
|
|
|
|
|
- $html_div = '<div id="fitem_id_iassign_file_id" class="fitem required fitem_fgroup" style="padding: 35px; padding-left: 0;">';
|
|
|
- $html_div .= '<div class="fitemtitle col-md-3" style="padding: 0; float: left;">' . get_string('choose_file', 'iassign'); // 'Choose the file with the iLM activity'
|
|
|
-
|
|
|
- $html_div .= '<span><a><i class="icon fa fa-exclamation-circle text-danger fa-fw " title="' . get_string('requiredelement', 'form') . '" aria-label="' . get_string('requiredelement', 'form') . '" style="float: right; cursor: help; padding-right: 15px;"></i></a></span></div>';
|
|
|
-
|
|
|
- $html_div .= '<div class="felement fselect" id="error_message_file"><div class="file_iassign" id="file_border" style="display: inline;margin-left: 14px;border: 1px solid #cecfd1;padding: 8px;padding-right: 8px;border-radius: 4px;padding-right: 2px;">';
|
|
|
|
|
|
- $html_div .= '<i class="icon fa fa-file-text-o fa-fw" id="icon_doc" style="color: #8f8f8f;"></i><span id="iassign_file_link" style="color:#000000;"><a href="' . $fileurl . '" target="_blank" title="' . get_string('download_file', 'iassign') . $filename . '">' . $filename . '</a></span>';
|
|
|
+ // Form field: "Choose the file with the iLM activity"
|
|
|
+ // Here appears the file name (content to the iLM)
|
|
|
+ $html_div = '<div id="fitem_id_iassign_file_id" class="fitem required fitem_fgroup" style="padding: 35px; padding-left: 0;">' . chr(13);
|
|
|
+ $html_div .= '<div class="fitemtitle col-md-3" style="padding: 0; float: left;">' . get_string('choose_file', 'iassign'); // 'Choose the file with the iLM activity'
|
|
|
+ $html_div .= '<span><a><i class="icon fa fa-exclamation-circle text-danger fa-fw " title="' . get_string('requiredelement', 'form') . '" aria-label="' . get_string('requiredelement', 'form') . '" style="float: right; cursor: help; padding-right: 15px;"></i></a></span></div>' . chr(13);
|
|
|
+ $html_div .= '<div class="felement fselect" id="error_message_file"><div class="file_iassign" id="file_border" style="display: inline;margin-left: 14px;border: 1px solid #cecfd1;padding: 8px;padding-right: 8px;border-radius: 4px;padding-right: 2px;">' . chr(13);
|
|
|
+ $html_div .= '<i class="icon fa fa-file-text-o fa-fw" id="icon_doc" style="color: #8f8f8f;"></i><span id="iassign_file_link" style="color:#000000;"><a href="' . $fileurl . '" target="_blank" title="' . get_string('download_file', 'iassign') . $filename . '">' . $filename . '</a></span>' . chr(13);
|
|
|
|
|
|
if ($fileurl != "")
|
|
|
$html_div .= ' ';
|
|
|
@@ -392,11 +402,11 @@ class mod_iassign_form extends moodleform {
|
|
|
//Applies only when the iLM is automatic evaluate.
|
|
|
$mform->addElement('header', 'id_automatic_evaluate', get_string('only_automatic_evaluate', 'iassign'));
|
|
|
|
|
|
- // Using automatic evaluation activity? 0 - no / 1 – yes
|
|
|
+ // Using automatic evaluation activity? 0 - no / 1 - Yes
|
|
|
$mform->addElement('selectyesno', 'automatic_evaluate', get_string('automatic_evaluate', 'iassign'), array('onChange' => 'disable_answer(this.value);'));
|
|
|
$mform->disabledIf('automatic_evaluate', 'type_iassign', 'eq', 1); //activity does not display if the type example
|
|
|
$mform->setDefault('automatic_evaluate', 0);
|
|
|
- // @todo Ver código comentado
|
|
|
+ // @todo See commentd code
|
|
|
//$mform->addHelpButton('automatic_evaluate', 'helpautomatic_evaluate', 'iassign');
|
|
|
//Show automatic evaluation results to students? 0 - no / 1 - yes
|
|
|
$mform->addElement('selectyesno', 'show_answer', get_string('show_answer', 'iassign'));
|
|
|
@@ -433,7 +443,7 @@ class mod_iassign_form extends moodleform {
|
|
|
//--------------
|
|
|
$mform->addElement('header', 'op_val', get_string('op_val', 'iassign'));
|
|
|
|
|
|
- $mform->addElement('modgrade', 'grade', get_string('grade', 'iassign'));
|
|
|
+ $mform->addElement('modgrade', 'grade', get_string('grade', 'iassign') . ':'); // 'grade'='Grade activity'
|
|
|
$mform->setDefault('grade', 100);
|
|
|
$mform->disabledIf('grade', 'type_iassign', 'eq', 1); //activity does not display if the type example
|
|
|
$mform->disabledIf('grade', 'type_iassign', 'eq', 2); //activity does not display if the type test
|
|
|
@@ -488,10 +498,14 @@ class mod_iassign_form extends moodleform {
|
|
|
$mform->setType('fileold', PARAM_TEXT);
|
|
|
$mform->addElement('hidden', 'iassignid');
|
|
|
$mform->setType('iassignid', PARAM_TEXT);
|
|
|
+
|
|
|
+
|
|
|
$mform->addElement('hidden', 'author_name');
|
|
|
$mform->setType('author_name', PARAM_TEXT);
|
|
|
+
|
|
|
$mform->addElement('hidden', 'author_modified_name');
|
|
|
$mform->setType('author_modified_name', PARAM_TEXT);
|
|
|
+
|
|
|
$mform->addElement('hidden', 'timecreated');
|
|
|
$mform->setType('timecreated', PARAM_TEXT);
|
|
|
$mform->addElement('hidden', 'position');
|