function JLMS_viewHWResult($option)
{
    global $my, $JLMS_DB, $Itemid, $JLMS_CONFIG;
    $course_id = intval(mosGetParam($_REQUEST, 'course_id', 0));
    $user_id = intval(mosGetParam($_REQUEST, 'user_id', 0));
    $hw_id = intval(mosGetParam($_REQUEST, 'hw_id', 0));
    $JLMS_ACL =& JLMSFactory::getACL();
    if ($JLMS_ACL->CheckPermissions('homework', 'manage') && ($hw_id && JLMS_GetHWCourse($hw_id) == $course_id)) {
        $query = "SELECT * \n\t\t\t\t\tFROM #__lms_homework_results \n\t\t\t\t\tWHERE hw_id = '" . $hw_id . "' AND user_id = '" . $user_id . "' AND course_id = '" . $course_id . "'";
        $JLMS_DB->setQuery($query);
        $row = $JLMS_DB->LoadObject();
        if (is_object($row)) {
            $hw = new mos_Joomla_LMS_HomeWork($JLMS_DB);
            $hw->load($row->hw_id);
            $row->hw = $hw;
            if ($JLMS_CONFIG->get('use_global_groups', 1)) {
                $user_group_ids = JLMS_ACL_HELPER::GetUserGlobalGroup($row->user_id, $row->course_id);
            } else {
                $user_group_ids = JLMS_ACL_HELPER::GetUserGroup($row->user_id, $row->course_id);
            }
            if ($JLMS_ACL->CheckPermissions('advanced', 'assigned_groups_only')) {
                $assigned_group_ids = JLMS_ACL_HELPER::GetAssignedGroups($row->user_id, $row->course_id);
                $user_group_ids = array_intersect($user_group_ids, $assigned_group_ids);
            }
            $user = JUser::getInstance($user_id);
            $user->group = '';
            if (isset($user_group_ids[0])) {
                $query = "SELECT ug_name FROM #__lms_usergroups WHERE id IN (" . implode(',', $user_group_ids) . ")";
                $JLMS_DB->setQuery($query);
                $user_groups = $JLMS_DB->loadResultArray();
                if (isset($user_groups[0])) {
                    $user->group = implode(', ', $user_groups);
                }
            }
            $row->user = $user;
            $row->file = false;
            switch ($hw->activity_type) {
                case _ACTIVITY_TYPE_UPLOAD:
                    $query = "SELECT * FROM #__lms_files WHERE id = " . $row->file_id;
                    $JLMS_DB->setQuery($query);
                    $file = $JLMS_DB->loadObject();
                    if (is_object($file)) {
                        $base_path = str_replace('\\', '/', JPATH_BASE);
                        $doc_path = str_replace('\\', '/', _JOOMLMS_DOC_FOLDER);
                        $doc_folder = str_replace($base_path, '', $doc_path);
                        $doc_folder = ltrim($doc_folder, '/');
                        $file->path = JURI::root() . $doc_folder . $file->file_srv_name;
                        $row->file = $file;
                    }
                    break;
            }
            if ($hw->graded_activity) {
                $query = "SELECT scale_name AS value, scale_name AS text \n\t\t\t\t\t\tFROM #__lms_gradebook_scale \n\t\t\t\t\t\tWHERE course_id = " . $row->course_id . "\n\t\t\t\t\t\tORDER BY ordering";
                $JLMS_DB->setQuery($query);
                $grade_list = $JLMS_DB->loadObjectList();
                if (isset($grade_list[0])) {
                    $grade_list = array_merge(array(mosHTML::makeOption('not_selected', ' ')), $grade_list);
                } else {
                    $grade_list[] = mosHTML::makeOption('not_selected', ' ');
                }
                $grade_list[] = mosHTML::makeOption(_STATUS_INCOMPLETE, _JLMS_HW_STATUS_INCOMPLETE);
            } else {
                $grade_list[] = mosHTML::makeOption(_STATUS_NOT_SELECT, ' ');
                $grade_list[] = mosHTML::makeOption(_STATUS_NOT_PASSED, _JLMS_HW_STATUS_NOT_PASSED);
                $grade_list[] = mosHTML::makeOption(_STATUS_PASSED, _JLMS_HW_STATUS_PASSED);
                $grade_list[] = mosHTML::makeOption(_STATUS_INCOMPLETE, _JLMS_HW_STATUS_INCOMPLETE);
            }
            if (!$row->grade) {
                $row->grade = _STATUS_NOT_SELECT;
            }
            $lists['grade'] = mosHTML::selectList($grade_list, 'grade', 'class="inputbox" size="1"', 'value', 'text', $row->grade);
            JLMS_homework_html::viewHWResult($row, $option, $lists);
        } else {
            JLMSRedirect(sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}&task=homework&id={$course_id}"));
        }
    } else {
        JLMSRedirect(sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}&task=homework&id={$course_id}"));
    }
}