/** * List the classes the user is enrolled in or instructs. * @todo Use language strings. * @uses $OUTPUT * @uses $PAGE * @uses $USER * @return unknown_type */ function display_current() { // action_current() global $OUTPUT, $PAGE, $USER; //$clsid = cm_get_param('clsid', 0); // This is for a Moodle user, so get the Curriculum user id. $cuserid = cm_get_crlmuserid($USER->id); if (empty($cuserid)) { return; } // Needed for the hide buttons $this->include_js(); $usercnt = 0; $usercurs = curriculumstudent::get_curricula($cuserid, $usercnt); $instrcnt = 0; $instrclasses = user::get_instructed_classes($cuserid, $instrcnt); $noncurcnt = 0; $noncurclasses = user::get_non_curriculum_classes($cuserid, $noncurcnt); $numtables = $usercnt + $instrcnt + $noncurcnt; if ($numtables > elis::$config->local_elisprogram->catalog_collapse_count) { $buttonLabel = get_string('show'); $extraclass = ' hide'; } else { $buttonLabel = get_string('hide'); $extraclass = ''; } // Process our curricula in turn, outputting the courses within each. if ($usercnt) { $showcurid = optional_param('showcurid', 0, PARAM_INT); foreach ($usercurs as $usercur) { // make sure the curriculum still exists! $curr = curriculum::find(new field_filter('id', $usercur->curid)); if (empty($curr) || empty($curr->rs) || !$curr->rs->valid()) { continue; } if ($classes = user::get_current_classes_in_curriculum($cuserid, $usercur->curid)) { if ($showcurid > 0) { // If we are passed the showcurid parameter then override the default show/hide settings $buttonLabel = $usercur->curid == $showcurid ? get_string('hide') : get_string('show'); $extraclass = $usercur->curid == $showcurid ? '' : ' hide'; } echo $OUTPUT->heading('<div class="clearfix"></div><div class="headermenu"><script id="curriculum' . $usercur->curid . 'script" type="text/javascript">toggleVisibleInit("curriculum' . $usercur->curid . 'script", "curriculum' . $usercur->curid . 'button", "' . $buttonLabel . '", "Hide", "Show", "curriculum' . $usercur->curid . '");</script></div>' . $usercur->name . ' (' . $usercur->idnumber . ')'); echo '<div id="curriculum' . $usercur->curid . "\" {$this->div_attrs} class=\"yui-skin-sam" . $extraclass . '">'; $table = new currentclasstable($classes, $this->url); echo "<div id=\"{$usercur->id}\"></div>"; $table->print_yui_table('curriculum' . $usercur->curid); } else { $buttonLabel2 = $usercur->curid == $showcurid ? get_string('hide') : get_string('show'); $extraclass2 = $usercur->curid == $showcurid ? '' : ' hide'; echo $OUTPUT->heading('<div class="clearfix"></div><div class="headermenu"><script id="curriculum' . $usercur->curid . 'script" type="text/javascript">toggleVisibleInit("curriculum' . $usercur->curid . 'script", "curriculum' . $usercur->curid . 'button", "' . $buttonLabel2 . '", "Hide", "Show", "curriculum' . $usercur->curid . '");</script></div>' . $usercur->name . ' (' . $usercur->idnumber . ')'); echo '<div id="curriculum' . $usercur->curid . "\" {$this->div_attrs} class=\"yui-skin-sam" . $extraclass2 . '">'; echo '<p>' . get_string('nocoursesinthiscurriculum', 'local_elisprogram') . '</p>'; } echo '</div>'; } } else { echo $OUTPUT->heading(get_string('notassignedtocurricula', 'local_elisprogram')); } // Print out a table for classes not belonging to any curriculum if ($noncurcnt) { $labelshow = get_string('show'); $labelhide = get_string('hide'); echo $OUTPUT->heading('<div class="clearfix"></div><div class="headermenu"><script id="noncurrscript" type="text/javascript">toggleVisibleInit("noncurrscript", "noncurrbutton", "' . $buttonLabel . '", "' . $labelhide . '", "' . $labelshow . '", "noncurr");</script></div>' . get_string('othercourses', 'local_elisprogram')); echo "<div id=\"noncurr\" {$this->div_attrs} class=\"yui-skin-sam" . $extraclass . '">'; echo '<div id="noncurrtable"></div>'; $table = new currentclasstable($noncurclasses, $this->url); $table->print_yui_table("noncurrtable"); echo '</div>'; } else { // Display nothing if we don't have any non-curriculum classes } // Print out a table for classes we instruct if ($instrcnt) { echo $OUTPUT->heading('<div class="clearfix"></div><div class="headermenu"><script id="instrscript" type="text/javascript">toggleVisibleInit("instrscript", "instrbutton", "' . $buttonLabel . '", "Hide", "Show", "instr");</script></div>' . get_string('instructedcourses', 'local_elisprogram')); echo "<div id=\"instr\" {$this->div_attrs} class=\"yui-skin-sam" . $extraclass . '">'; echo '<div id="instrtable"></div>'; $table = new instructortable($instrclasses, $this->url); $classpage = new pmclasspage(); //$table->decorators['classname'] = new recordlinkformatter($classpage,'id'); // ***TBD*** $table->print_yui_table("instrtable"); echo '</div>'; } else { // Display nothing if we don't instruct any classes } echo '<br/>'; echo $OUTPUT->box(get_string('lp_class_instructions', 'local_elisprogram'), 'generalbox lp_instructions'); }
/** * List the classes the user is enrolled in or instructs. * @todo Use language strings. * @return unknown_type */ function action_current() { global $CFG, $USER, $CURMAN; $clsid = cm_get_param('clsid', 0); // This is for a Moodle user, so get the Curriculum user id. $cuserid = cm_get_crlmuserid($USER->id); // Needed for the hide buttons //require_js('yui_yahoo'); //require_js('yui_event'); require_js($CFG->wwwroot . '/curriculum/js/util.js'); $this->include_yui(); $usercurs = curriculumstudent::get_curricula($cuserid); $instrclasses = user::get_instructed_classes($cuserid); $noncurclasses = user::get_non_curriculum_classes($cuserid); $numtables = 0; if ($usercurs) { $numtables += count($usercurs); } if ($instrclasses) { $numtables += count($instrclasses); } if ($noncurclasses) { $numtables += count($noncurclasses); } if ($numtables > $CURMAN->config->catalog_collapse_count) { $buttonLabel = get_string('show', 'block_curr_admin'); $extraclass = ' hide'; } else { $buttonLabel = get_string('hide', 'block_curr_admin'); $extraclass = ''; } // Process our curricula in turn, outputting the courses within each. if ($usercurs) { $showcurid = optional_param('showcurid', 0, PARAM_INT); foreach ($usercurs as $usercur) { if ($classes = user::get_current_classes_in_curriculum($cuserid, $usercur->curid)) { if ($showcurid > 0) { // If we are passed the showcurid parameter then override the default show/hide settings $buttonLabel = $usercur->curid == $showcurid ? get_string('hide', 'block_curr_admin') : get_string('show', 'block_curr_admin'); $extraclass = $usercur->curid == $showcurid ? '' : ' hide'; } print_heading('<div class="clearfix"></div><div class="headermenu"><script id="curriculum' . $usercur->curid . 'script" type="text/javascript">toggleVisibleInit("curriculum' . $usercur->curid . 'script", "curriculum' . $usercur->curid . 'button", "' . $buttonLabel . '", "Hide", "Show", "curriculum' . $usercur->curid . '");</script></div>' . $usercur->name . ' (' . $usercur->idnumber . ')'); echo '<div id="curriculum' . $usercur->curid . '" class="yui-skin-sam ' . $extraclass . '">'; $table = new currentclasstable($classes, $this->get_moodle_url()); echo "<div id=\"{$usercur->id}\"></div>"; $table->print_yui_table($usercur->id); } else { $buttonLabel2 = $usercur->curid == $showcurid ? get_string('hide', 'block_curr_admin') : get_string('show', 'block_curr_admin'); $extraclass2 = $usercur->curid == $showcurid ? '' : ' hide'; print_heading('<div class="clearfix"></div><div class="headermenu"><script id="curriculum' . $usercur->curid . 'script" type="text/javascript">toggleVisibleInit("curriculum' . $usercur->curid . 'script", "curriculum' . $usercur->curid . 'button", "' . $buttonLabel2 . '", "Hide", "Show", "curriculum' . $usercur->curid . '");</script></div>' . $usercur->name . ' (' . $usercur->idnumber . ')'); echo '<div id="curriculum' . $usercur->curid . '" class="yui-skin-sam ' . $extraclass2 . '">'; echo '<p>' . get_string('nocoursesinthiscurriculum', 'block_curr_admin') . '</p>'; } echo '</div>'; } } else { print_heading(get_string('notassignedtocurricula', 'block_curr_admin')); } // Print out a table for classes not belonging to any curriculum if ($noncurclasses) { $labelshow = get_string('show', 'block_curr_admin'); $labelhide = get_string('hide', 'block_curr_admin'); print_heading('<div class="clearfix"></div><div class="headermenu"><script id="noncurrscript" type="text/javascript">toggleVisibleInit("noncurrscript", "noncurrbutton", "' . $buttonLabel . '", "' . $labelhide . '", "' . $labelshow . '", "noncurr");</script></div>' . get_string('othercourses', 'block_curr_admin')); echo '<div id="noncurr" class="yui-skin-sam ' . $extraclass . '">'; echo '<div id="noncurrtable"></div>'; $table = new currentclasstable($noncurclasses, $this->get_moodle_url()); $table->print_yui_table("noncurrtable"); echo '</div>'; } else { // Display nothing if we don't have any non-curriculum classes } // Print out a table for classes we instruct if ($instrclasses) { print_heading('<div class="clearfix"></div><div class="headermenu"><script id="instrscript" type="text/javascript">toggleVisibleInit("instrscript", "instrbutton", "' . $buttonLabel . '", "Hide", "Show", "instr");</script></div>' . get_string('instructedcourses', 'block_curr_admin')); echo '<div id="instr" class="yui-skin-sam ' . $extraclass . '">'; echo '<div id="instrtable"></div>'; $table = new instructortable($instrclasses, $this->get_moodle_url()); $classpage = new cmclasspage(); $table->decorators['classname'] = new recordlinkformatter($classpage, 'id'); $table->print_yui_table("instrtable"); echo '</div>'; } else { // Display nothing if we don't instruct any classes } echo '<br/>'; print_box(get_string('lp_class_instructions', 'block_curr_admin'), 'generalbox lp_instructions'); }