case 'report': $teacher_name = urlencode(base64_decode(rawurldecode($_PORTAL['params']['teacher']))); $class_name = urlencode(base64_decode(rawurldecode($_PORTAL['params']['class']))); $activity_name = urlencode(base64_decode(rawurldecode($_PORTAL['params']['activity']))); $member_list = urlencode(base64_decode(rawurldecode($_PORTAL['params']['members']))); $class_identifier = urlencode(base64_decode(rawurldecode($_PORTAL['params']['uuid']))); $url = 'http://' . $portal_config['diy_server'] . $portal_config['diy_server_path'] . '/reports/' . $diy_id . '/sail_jnlp?users=' . $member_list . '&system.report.class.name=' . $class_name . '&system.report.teacher.name=' . $teacher_name . '&system.report.activity.name=' . $activity_name . '&group_id=' . $class_identifier . '&group_list=' . urlencode($class_members); // . '&group_list_url=' . $class_list_url; break; case 'run': $url = 'http://' . $portal_config['diy_server'] . $portal_config['diy_server_path'] . '/' . $portal_config['diy_activities_name'] . '/' . $diy_id . '/sail_jnlp/' . $member_interface_path . '?group_id=' . $class_identifier . '&system.report.class.name=' . urlencode($class_name) . '&group_list=' . urlencode($class_members); // . '&group_list_url=' . $class_list_url ; break; case 'show': $url = 'http://' . $portal_config['diy_server'] . $portal_config['diy_server_path'] . '/' . $portal_config['diy_activities_name'] . '/' . $diy_id; break; case 'usage': $url = 'http://' . $portal_config['diy_server'] . $portal_config['diy_server_path'] . '/' . $portal_config['diy_activities_name'] . '/' . $diy_id . '/usage'; break; case 'work': $class_info = portal_get_class_info_by_student($student_id); $class_members = implode(',', portal_get_class_students_diy_ids($class_info['class_id'])); $class_identifier = $class_info['class_uuid']; $class_name = $class_info['class_name']; $class_id_prefix = strlen($reporting_param) == 0 ? '?group_id=' : '&group_id='; $url = 'http://' . $portal_config['diy_server'] . $portal_config['diy_server_path'] . '/' . $portal_config['diy_activities_name'] . '/' . $diy_id . '/sail_jnlp/' . $student_interface_path . '/view' . $reporting_param . $class_id_prefix . $class_identifier . '&system.report.class.name=' . urlencode($class_name) . '&group_list=' . urlencode($class_members); // . '&group_list_url=' . $class_list_url; break; } mystery_redirect($url); exit;
function portal_generate_class_aggregate_report_link($activity, $class_id) { $diy_id = $activity['activity_id']; $report_link = ''; $reports = portal_get_diy_reports_for_activity($diy_id); if (count($reports) > 0) { $class_info = portal_get_class_info($class_id); $teacher_info = portal_get_member_info($class_info['class_teacher']); $class_members = portal_get_class_students_diy_ids($class_id); $class_name = $class_info['class_name']; $class_uuid = $class_info['class_uuid']; $class_teacher_name = $teacher_info['member_first_name'] . ' ' . $teacher_info['member_last_name']; $report_links = array(); for ($i = 0; $i < count($reports); $i++) { $reports[$i]['name'] = ucwords(str_replace('_', ' ', $reports[$i]['name'])); $report_links[] = '<a title="View class report: ' . $reports[$i]['name'] . '" href="/diy/report/' . $reports[$i]['id'] . '/class/' . rawurlencode(base64_encode($class_name)) . '/teacher/' . rawurlencode(base64_encode($class_teacher_name)) . '/members/' . rawurlencode(base64_encode(implode(',', $class_members))) . '/uuid/' . rawurlencode(base64_encode($class_uuid)) . '/activity/' . rawurlencode(base64_encode($activity['activity_name'])) . '/">' . portal_icon('report') . '</a>'; } $report_link = '<br>' . implode(' ', $report_links); } return $report_link; }