Пример #1
0
 /**
  * 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');
 }