function get_body() { global $CFG, $CURMAN; $action = cm_get_param('action', ''); $confirm = cm_get_param('confirm', ''); //md5 confirmation hash $confirmuser = cm_get_param('confirmuser', 0); $trackid = cm_get_param('trackid', 0); $id = cm_get_param('id', 0); $sort = cm_get_param('sort', 'idnumber'); $dir = cm_get_param('dir', 'ASC'); $page = cm_get_param('page', 0); $perpage = cm_get_param('perpage', 30); // how many per page $namesearch = trim(cm_get_param('search', '')); $alpha = cm_get_param('alpha', ''); if (!($track = new track($trackid))) { return ' (' . $trackid . ')'; } switch ($action) { case 'add': return $this->get_add_form($trackid); break; case 'confirm': $tk = new trackassignmentclass($id); if (md5($tk->id) != $confirm) { echo cm_error('Invalid confirmation code!'); } else { if (!$tk->delete()) { echo cm_error('Course "name: ' . $tk->track->name . '" not deleted.'); } } break; case 'delete': return $this->get_delete_form($id); break; case 'edit': return $this->get_edit_form($id); break; case 'update': $id = cm_get_param('id', 0); $autoenrol = cm_get_param('autoenrol', 0); $trkassign = new trackassignmentclass($id); $trkassign->autoenrol = $autoenrol; $trkassign->data_update_record(); break; case 'savenew': $classes = cm_get_param('classes', ''); $classes = is_array($classes) ? $classes : array(); $trackid = cm_get_param('trackid', 0, PARAM_INT); if (!empty($classes) and !empty($trackid)) { $param = array('trackid' => $trackid); $trackobj = new track($trackid); foreach ($classes as $classid) { $classobj = new cmclass($classid); $param['classid'] = $classid; $param['courseid'] = $classobj->courseid; $param['autoenrol'] = 0; $param['required'] = 0; // Pull up the curricula assignment record(s) $curcourse = curriculumcourse_get_list_by_curr($trackobj->curid); // Traverse though curricula's courses until the the course the - // selected classs is assigned to comes up foreach ($curcourse as $recid => $curcourec) { // Only interested in the course that the class is assigned to if ($curcourec->courseid == $classobj->courseid) { if ($curcourec->required) { $param['required'] = 1; // Only one class assigned to course to enable auto enrol if (1 == cmclass::count_course_assignments($curcourec->courseid)) { $param['autoenrol'] = 1; } } } } // Assign class to track now $trkassignobj = new trackassignmentclass($param); $trkassignobj->assign_class_to_track(); } } break; } $columns = array('clsname' => get_string('class_id_number', 'block_curr_admin'), 'autoenrol' => get_string('auto_enrol', 'block_curr_admin')); foreach ($columns as $column => $cdesc) { if ($sort != $column) { $columnicon = ""; $columndir = "ASC"; } else { $columndir = $dir == "ASC" ? "DESC" : "ASC"; $columnicon = $dir == "ASC" ? "down" : "up"; $columnicon = " <img src=\"{$CFG->pixpath}/t/{$columnicon}.gif\" alt=\"\" />"; } ${$column} = "<a href=\"index.php?s=trkcls&section=curr&sort={$column}&" . "dir={$columndir}&search=" . urlencode(stripslashes($namesearch)) . "&alpha={$alpha}&trackid={$trackid}\">" . $cdesc . "</a>{$columnicon}"; $table->head[] = ${$column}; $table->align[] = 'left'; $table->wrap[] = false; } $table->head[] = ''; $table->align[] = 'center'; $table->wrap[] = true; $trks = track_assignment_get_listing($trackid, $sort, $dir, $page * $perpage, $perpage, $namesearch, $alpha); $numtrk = track_assignment_count_records($trackid, $namesearch, $alpha); $alphabet = explode(',', get_string('alphabet')); $strall = get_string('all'); /// Nav bar information: $bc = '<div style="float:right;">' . $numtrk . ' track(s) found.</div>' . '<span class="breadcrumb">' . get_string('trackasso_manage_crumb', 'block_curr_admin', $track->name) . '</span>'; echo cm_print_heading_block($bc, '', true); echo '<br />' . "\n"; /// Bar of first initials echo "<p style=\"text-align:center\">"; echo 'Name' . " : "; if ($alpha) { echo " <a href=\"index.php?s=trkcls&section=curr&sort=name&dir=ASC&" . "perpage={$perpage}&trackid={$trackid}\">{$strall}</a> "; } else { echo " <b>{$strall}</b> "; } foreach ($alphabet as $letter) { if ($letter == $alpha) { echo " <b>{$letter}</b> "; } else { echo " <a href=\"index.php?s=trkcls&section=curr&sort=idnumber&dir=ASC&" . "perpage={$perpage}&trackid={$trackid}&alpha={$letter}\">{$letter}</a> "; } } echo "</p>"; print_paging_bar($numtrk, $page, $perpage, "index.php?s=trkm&section=curr&sort={$sort}&dir={$dir}&perpage={$perpage}&" . "alpha={$alpha}&trackid={$trackid}&search=" . urlencode(stripslashes($namesearch)) . "&"); if (!$trks) { $match = array(); if ($namesearch !== '') { $match[] = s($namesearch); } if ($alpha) { $match[] = 'idnumber' . ": {$alpha}" . "___"; } $matchstring = implode(", ", $match); echo get_string('no_matching_track_assign', 'block_curr_admin') . $matchstring; $table = NULL; } else { $table->width = "95%"; foreach ($trks as $trk) { $deletebutton = '<a href="index.php?s=trkcls&section=curr&action=delete&' . 'id=' . $trk->id . '">' . '<img src="pix/delete.gif" alt="Delete" title="Delete" /></a>'; $editbutton = '<a href="index.php?s=trkcls&section=curr&action=edit&id=' . $trk->id . '">' . '<img src="pix/edit.gif" alt="Edit" title="Edit" /></a>'; /*$tagbutton = '<a href="index.php?s=tagins&section=curr&t=cur&i='.$trk->id.'">'. '<img src="pix/tag.gif" alt="Tags" title="Tags" /></a>'; $clusterbutton = '<a href="index.php?s=clutrk&section=curr&mode=trk&' . 'track=' . $trk->id . '"><img src="pix/cluster.gif" alt="Clusters" '. 'title="Clusters" /></a>';*/ $newarr = array(); foreach ($columns as $column => $cdesc) { if ($column == 'clsname') { $newarr[] = '<a href="index.php?s=cls§ion=curr&action=edit&id=' . $trk->classid . '">' . $trk->{$column} . '</a>'; } else { $newarr[] = $trk->{$column}; } } $newarr[] = $editbutton . ' ' . $deletebutton; $table->data[] = $newarr; } } echo "<table class=\"searchbox\" style=\"margin-left:auto;margin-right:auto\" cellpadding=\"10\"><tr><td>"; echo "<form action=\"index.php\" method=\"get\"><fieldset class=\"invisiblefieldset\">"; echo '<input type="hidden" name="s" value="trkcls" />'; echo '<input type="hidden" name="section" value="curr" />'; echo '<input type="hidden" name="sort" value="' . $sort . '" />'; echo '<input type="hidden" name="dir" value="' . $dir . '" />'; echo '<input type="hidden" name="perpage" value="' . $perpage . '" />'; echo '<input type="hidden" name="trackid" value="' . $trackid . '" />'; echo "<input type=\"text\" name=\"search\" value=\"" . s($namesearch, true) . "\" size=\"40\" />"; echo "<input type=\"submit\" value=\"" . get_string('search', 'block_curr_admin') . "\" />"; if ($namesearch) { echo "<input type=\"button\" onclick=\"document.location='index.php?s=trkcls&" . "section=curr&sort={$sort}&dir={$dir}&perpage={$perpage}&alpha={$alpha}&trackid={$trackid}';\" " . "value=\"" . get_string('show_all_curricula', 'block_curr_admin') . "\" />"; } echo "</fieldset></form>"; echo "</td></tr></table>"; if (!empty($table)) { print_heading('<a href="index.php?s=trkcls&section=curr&action=add&trackid=' . $trackid . '">' . get_string('trackasso_add_asso', 'block_curr_admin', $track->name) . '</a>'); print_table($table); print_paging_bar($numtrk, $page, $perpage, "index.php?s=trkcls&section=curr&sort={$sort}&dir={$dir}&perpage={$perpage}" . "&alpha={$alpha}&trackid={$trackid}&search=" . urlencode(stripslashes($namesearch)) . "&"); } print_heading('<a href="index.php?s=trkcls&section=curr&action=add&trackid=' . $trackid . '">' . get_string('trackasso_add_asso', 'block_curr_admin', $track->name) . '</a>'); }