public static function get_course_notes($courseid, $userid = 0) {
        global $CFG, $USER;

        if (empty($CFG->enablenotes)) {
            throw new moodle_exception('notesdisabled', 'notes');
        }

        $warnings = array();
        $arrayparams = array(
            'courseid' => $courseid,
            'userid'   => $userid,
        );
        $params = self::validate_parameters(self::get_course_notes_parameters(), $arrayparams);

        if (empty($params['courseid'])) {
            $params['courseid'] = SITEID;
        }
        $user = null;
        if (!empty($params['userid'])) {
            $user = core_user::get_user($params['userid'], '*', MUST_EXIST);
            core_user::require_active_user($user);
        }

        $course = get_course($params['courseid']);

        $systemcontext = context_system::instance();
        $canmanagesystemnotes = has_capability('moodle/notes:manage', $systemcontext);

        if ($course->id == SITEID) {
            $context = $systemcontext;
            $canmanagecoursenotes = $canmanagesystemnotes;
        } else {
            $context = context_course::instance($course->id);
            $canmanagecoursenotes = has_capability('moodle/notes:manage', $context);
        }
        self::validate_context($context);

        $sitenotes = array();
        $coursenotes = array();
        $personalnotes = array();

        if ($course->id != SITEID) {

            require_capability('moodle/notes:view', $context);
            $sitenotes = self::create_note_list(0, $systemcontext, $params['userid'], NOTES_STATE_SITE);
            $coursenotes = self::create_note_list($course->id, $context, $params['userid'], NOTES_STATE_PUBLIC);
            $personalnotes = self::create_note_list($course->id, $context, $params['userid'], NOTES_STATE_DRAFT,
                                                        $USER->id);
        } else {
            if (has_capability('moodle/notes:view', $context)) {
                $sitenotes = self::create_note_list(0, $context, $params['userid'], NOTES_STATE_SITE);
            }
            // It returns notes only for a specific user!
            if (!empty($user)) {
                $usercourses = enrol_get_users_courses($user->id, true);
                foreach ($usercourses as $c) {
                    // All notes at course level, only if we have capability on every course.
                    if (has_capability('moodle/notes:view', context_course::instance($c->id))) {
                        $coursenotes += self::create_note_list($c->id, $context, $params['userid'], NOTES_STATE_PUBLIC);
                    }
                }
            }
        }

        $results = array(
            'sitenotes'     => $sitenotes,
            'coursenotes'   => $coursenotes,
            'personalnotes' => $personalnotes,
            'canmanagesystemnotes' => $canmanagesystemnotes,
            'canmanagecoursenotes' => $canmanagecoursenotes,
            'warnings'      => $warnings
        );
        return $results;

    }
public static function get_course_notes($courseid, $userid = 0) {
        global $CFG, $USER;

        if (empty($CFG->enablenotes)) {
            throw new moodle_exception('notesdisabled', 'notes');
        }

        $warnings = array();
        $arrayparams = array(
            'courseid' => $courseid,
            'userid'   => $userid,
        );
        $params = self::validate_parameters(self::get_course_notes_parameters(), $arrayparams);

        if (empty($params['courseid'])) {
            $params['courseid'] = SITEID;
        }
        $user = null;
        if (!empty($params['userid'])) {
            $user = core_user::get_user($params['userid'], '*', MUST_EXIST);
            core_user::require_active_user($user);
        }

        $course = get_course($params['courseid']);

        $systemcontext = context_system::instance();
        $canmanagesystemnotes = has_capability('moodle/notes:manage', $systemcontext);

        if ($course->id == SITEID) {
            $context = $systemcontext;
            $canmanagecoursenotes = $canmanagesystemnotes;
        } else {
            $context = context_course::instance($course->id);
            $canmanagecoursenotes = has_capability('moodle/notes:manage', $context);
        }
        self::validate_context($context);

        $sitenotes = array();
        $coursenotes = array();
        $personalnotes = array();

        if ($course->id != SITEID) {

            require_capability('moodle/notes:view', $context);
            $sitenotes = self::create_note_list(0, $systemcontext, $params['userid'], NOTES_STATE_SITE);
            $coursenotes = self::create_note_list($course->id, $context, $params['userid'], NOTES_STATE_PUBLIC);
            $personalnotes = self::create_note_list($course->id, $context, $params['userid'], NOTES_STATE_DRAFT,
                                                        $USER->id);
        } else {
            if (has_capability('moodle/notes:view', $context)) {
                $sitenotes = self::create_note_list(0, $context, $params['userid'], NOTES_STATE_SITE);
            }
            // It returns notes only for a specific user!
            if (!empty($user)) {
                $usercourses = enrol_get_users_courses($user->id, true);
                foreach ($usercourses as $c) {
                    // All notes at course level, only if we have capability on every course.
                    if (has_capability('moodle/notes:view', context_course::instance($c->id))) {
                        $coursenotes += self::create_note_list($c->id, $context, $params['userid'], NOTES_STATE_PUBLIC);
                    }
                }
            }
        }

        $results = array(
            'sitenotes'     => $sitenotes,
            'coursenotes'   => $coursenotes,
            'personalnotes' => $personalnotes,
            'canmanagesystemnotes' => $canmanagesystemnotes,
            'canmanagecoursenotes' => $canmanagecoursenotes,
            'warnings'      => $warnings
        );
        return $results;

    }
public static function get_course_notes ( $ courseid , $ userid = 0 ) { global $ CFG , $ USER ; if ( empty ( $ CFG -> enablenotes ) ) { throw new moodle_exception ( 'notesdisabled' , 'notes' ) ; } $ warnings = array ( ) ; $ arrayparams = array ( 'courseid' => $ courseid , 'userid' => $ userid , ) ; $ params = self :: validate_parameters ( self :: get_course_notes_parameters ( ) , $ arrayparams ) ; if ( empty ( $ params [ 'courseid' ] ) ) { $ params [ 'courseid' ] = SITEID ; } $ user = null ; if ( ! empty ( $ params [ 'userid' ] ) ) { $ user = core_user :: get_user ( $ params [ 'userid' ] , '*' , MUST_EXIST ) ; core_user :: require_active_user ( $ user ) ; } $ course = get_course ( $ params [ 'courseid' ] ) ; $ systemcontext = context_system :: instance ( ) ; $ canmanagesystemnotes = has_capability ( 'moodle/notes:manage' , $ systemcontext ) ; if ( $ course -> id == SITEID ) { $ context = $ systemcontext ; $ canmanagecoursenotes = $ canmanagesystemnotes ; } else { $ context = context_course :: instance ( $ course -> id ) ; $ canmanagecoursenotes = has_capability ( 'moodle/notes:manage' , $ context ) ; } self :: validate_context ( $ context ) ; $ sitenotes = array ( ) ; $ coursenotes = array ( ) ; $ personalnotes = array ( ) ; if ( $ course -> id != SITEID ) { require_capability ( 'moodle/notes:view' , $ context ) ; $ sitenotes = self :: create_note_list ( 0 , $ systemcontext , $ params [ 'userid' ] , NOTES_STATE_SITE ) ; $ coursenotes = self :: create_note_list ( $ course -> id , $ context , $ params [ 'userid' ] , NOTES_STATE_PUBLIC ) ; $ personalnotes = self :: create_note_list ( $ course -> id , $ context , $ params [ 'userid' ] , NOTES_STATE_DRAFT , $ USER -> id ) ; } else { if ( has_capability ( 'moodle/notes:view' , $ context ) ) { $ sitenotes = self :: create_note_list ( 0 , $ context , $ params [ 'userid' ] , NOTES_STATE_SITE ) ; } // It returns notes only for a specific user! if ( ! empty ( $ user ) ) { $ usercourses = enrol_get_users_courses ( $ user -> id , true ) ; foreach ( $ usercourses as $ c ) { // All notes at course level, only if we have capability on every course. if ( has_capability ( 'moodle/notes:view' , context_course :: instance ( $ c -> id ) ) ) { $ coursenotes += self :: create_note_list ( $ c -> id , $ context , $ params [ 'userid' ] , NOTES_STATE_PUBLIC ) ; } } } } $ results = array ( 'sitenotes' => $ sitenotes , 'coursenotes' => $ coursenotes , 'personalnotes' => $ personalnotes , 'canmanagesystemnotes' => $ canmanagesystemnotes , 'canmanagecoursenotes' => $ canmanagecoursenotes , 'warnings' => $ warnings ) ; return $ results ; }
Get a list of course notes

@param int $courseid ID of the Course
@param int $userid ID of the User
@return array of site, course and personal notes and warnings
@since Moodle 2.9
@throws moodle_exception
Get a list of course notes