function praxe_view_headm() { global $USER, $cm, $tab, $tab_modes, $CFG, $context; //$praxeaction = optional_param('praxeaction', null, PARAM_ALPHAEXT); //$school = optional_param('school', null, PARAM_INT); switch ($tab) { case PRAXE_TAB_HEADM_HOME: //$schoolid = optional_param('schoolid', 0, PARAM_INT); if ($schools = praxe_get_schools($USER->id)) { $this->content .= self::show_schools($schools, array('mode' => $tab_modes['headm'][PRAXE_TAB_HEADM_EDITSCHOOL])); } else { $this->content .= get_string('noschoolsavailable', 'praxe'); } break; case PRAXE_TAB_HEADM_ADDSCHOOL: self::addschool_form(); break; case PRAXE_TAB_HEADM_TEACHERS: $schoolid = optional_param('schoolid', 0, PARAM_INT); if ($schoolid > 0) { $this->content .= self::school_teachers_by_schools($USER->id, $schoolid); } else { $this->content .= self::school_teachers_by_schools($USER->id); } break; case PRAXE_TAB_HEADM_LOCATIONS: $schoolid = optional_param('schoolid', 0, PARAM_INT); if ($schoolid > 0) { $this->content .= self::show_locations($schoolid); } else { $this->content .= self::show_locations(null, $USER->id); $this->content .= "<p>" . get_string('to_create_location_choose_school', 'praxe') . "</p>"; } break; case PRAXE_TAB_HEADM_EDITSCHOOL: $schoolid = required_param('schoolid', PARAM_INT); $school = praxe_get_school($schoolid); if (!praxe_has_capability('editownschool') || !is_object($school) || !$school->headmaster == $USER->id) { print_error('notallowedaction', 'praxe'); } self::addschool_form(); $this->form->set_form_to_edit($school); break; case PRAXE_TAB_HEADM_ASSIGNTEACHERS: require_capability('mod/praxe:assignteachertoownschool', $context, $USER->id); $schoolid = required_param('schoolid', PARAM_INT); require_once $CFG->dirroot . '/mod/praxe/c_assignteachers.php'; $this->form = new praxe_assignteachers($schoolid); break; case PRAXE_TAB_HEADM_ADDLOCATION: require_capability('mod/praxe:createownlocation', $context, $USER->id); $schoolid = required_param('schoolid', PARAM_INT); require_once $CFG->dirroot . '/mod/praxe/c_addlocation.php'; $this->form = new praxe_addlocation($schoolid); break; default: redirect($CFG->wwwroot . '/mod/praxe/view.php?id=' . $cm->id); break; } }
function praxe_view_extteacher() { global $CFG, $tab, $USER, $tab_modes, $context; switch ($tab) { case PRAXE_TAB_EXTTEACHER_HOME: require_capability('mod/praxe:viewrecordstoownlocation', $context); $detail = optional_param('recordid', 0, PARAM_INT); if ($detail > 0 && ($record = praxe_get_record($detail))) { if ($record->teacherid != $USER->id) { print_error('notallowedaction', 'praxe'); } $schid = optional_param('scheduleid', 0, PARAM_INT); if ($schid > 0 && ($schedule = praxe_get_schedule($schid))) { $this->content .= self::show_schedule_detail($schedule) . "<hr>"; } $this->content .= self::show_record_detail($record); } else { $this->content .= self::show_records(); } break; case PRAXE_TAB_EXTTEACHER_MYLOCATIONS: $factual = optional_param('factualloc', 0, PARAM_INT); $fyear = optional_param('fyearloc', 0, PARAM_INT); $this->content .= self::show_all_my_locations($factual, $fyear); break; case PRAXE_TAB_EXTTEACHER_MYSCHOOLS: $schoolid = optional_param('schoolid', 0, PARAM_INT); $schools = praxe_get_schools(null, $USER->id); if ($schoolid == 0) { $this->content .= self::show_schools($schools); } else { if (isset($schools[$schoolid])) { require_once $CFG->dirroot . '/mod/praxe/view_headm.php'; $this->content .= praxe_view_headm::show_school($schoolid); } else { redirect(praxe_get_base_url(), get_string('notallowedaction', 'praxe')); } } break; case PRAXE_TAB_EXTTEACHER_EDITLOCATION: $locid = required_param('locationid', PARAM_INT); if (!($loc = praxe_get_location($locid, $USER->id))) { print_error('notallowedaction', 'praxe'); } require_once $CFG->dirroot . '/mod/praxe/c_addlocation.php'; $this->form = new praxe_addlocation($loc->school); $this->form->set_redirect_url(null, array('mode' => $tab_modes['extteacher'][PRAXE_TAB_EXTTEACHER_MYLOCATIONS])); $this->form->set_form_to_edit($loc); break; case PRAXE_TAB_EXTTEACHER_COPYLOCATION: // TODO break; default: break; } }
$records = praxe_get_praxe_records(praxe_record::getData('id')); if ($records) { $options = array(); $options[0] = get_string('all'); foreach ($records as $rec) { $options[$rec->id] = $rec->schoolname . " - " . praxe_get_user_fullname($rec->teacherid) . " - " . $rec->subject . " - " . praxe_get_user_fullname($rec->student); } $sel = new single_select(praxe_get_base_url(array('mode' => $mode)), 'recordid', $options, $recordid, null, 'praxepop_recorddetail'); $sel->label = get_string('praxe', 'praxe'); $tab_content .= $OUTPUT->render($sel); } } if ($tab == PRAXE_TAB_EDITTEACHER_SCHOOLS || !is_null($viewschool)) { $activated[] = PRAXE_TAB_EDITTEACHER_SCHOOLS; /// school list exists /// if (is_array($schools = praxe_get_schools())) { /// schoolid is not valid(for this user at least) or viewschool is null => set to default view of schools/// if (!array_key_exists($viewschool, $schools)) { $viewschool = 0; if ($mode != $tab_modes['editteacher'][PRAXE_TAB_EDITTEACHER_TEACHERS] && $mode != $tab_modes['editteacher'][PRAXE_TAB_EDITTEACHER_LOCATIONS]) { $mode = $tab_modes['editteacher'][PRAXE_TAB_EDITTEACHER_SCHOOLS]; $tab = PRAXE_TAB_EDITTEACHER_SCHOOLS; } } $options = array(); $options[0] = get_string('all'); foreach ($schools as $sch) { $options[$sch->id] = $sch->name . "({$sch->city}, {$sch->street})"; } $params = array('mode' => $mode); $sel = new single_select(praxe_get_base_url($params), 'schoolid', $options, $viewschool, null, 'praxepop_praxeschoolselect');