public static function get_user_plan($workshopid, $userid = 0) {
        global $USER;

        $params = array(
            'workshopid' => $workshopid,
            'userid' => $userid,
        );
        $params = self::validate_parameters(self::get_user_plan_parameters(), $params);

        list($workshop, $course, $cm, $context) = self::validate_workshop($params['workshopid']);

        // Extra checks so only users with permissions can view other users plans.
        if (empty($params['userid']) || $params['userid'] == $USER->id) {
            $userid = $USER->id;
        } else {
            require_capability('moodle/course:manageactivities', $context);
            $user = core_user::get_user($params['userid'], '*', MUST_EXIST);
            core_user::require_active_user($user);
            if (!$workshop->check_group_membership($user->id)) {
                throw new moodle_exception('notingroup');
            }
            $userid = $user->id;
        }

        // Get the user plan information ready for external functions.
        $userplan = new workshop_user_plan($workshop, $userid);
        $userplan = array('phases' => $userplan->phases, 'examples' => $userplan->get_examples());
        foreach ($userplan['phases'] as $phasecode => $phase) {
            $phase->code = $phasecode;
            $userplan['phases'][$phasecode] = (array) $phase;
            foreach ($userplan['phases'][$phasecode]['tasks'] as $taskcode => $task) {
                $task->code = $taskcode;
                if ($task->link instanceof moodle_url) {
                    $task->link = $task->link->out(false);
                }
                $userplan['phases'][$phasecode]['tasks'][$taskcode] = (array) $task;
            }
            foreach ($userplan['phases'][$phasecode]['actions'] as $actioncode => $action) {
                if ($action->url instanceof moodle_url) {
                    $action->url = $action->url->out(false);
                }
                $userplan['phases'][$phasecode]['actions'][$actioncode] = (array) $action;
            }
        }

        $result['userplan'] = $userplan;
        $result['warnings'] = array();
        return $result;
    }
public static function get_user_plan($workshopid, $userid = 0) {
        global $USER;

        $params = array(
            'workshopid' => $workshopid,
            'userid' => $userid,
        );
        $params = self::validate_parameters(self::get_user_plan_parameters(), $params);

        list($workshop, $course, $cm, $context) = self::validate_workshop($params['workshopid']);

        // Extra checks so only users with permissions can view other users plans.
        if (empty($params['userid']) || $params['userid'] == $USER->id) {
            $userid = $USER->id;
        } else {
            require_capability('moodle/course:manageactivities', $context);
            $user = core_user::get_user($params['userid'], '*', MUST_EXIST);
            core_user::require_active_user($user);
            if (!$workshop->check_group_membership($user->id)) {
                throw new moodle_exception('notingroup');
            }
            $userid = $user->id;
        }

        // Get the user plan information ready for external functions.
        $userplan = new workshop_user_plan($workshop, $userid);
        $userplan = array('phases' => $userplan->phases, 'examples' => $userplan->get_examples());
        foreach ($userplan['phases'] as $phasecode => $phase) {
            $phase->code = $phasecode;
            $userplan['phases'][$phasecode] = (array) $phase;
            foreach ($userplan['phases'][$phasecode]['tasks'] as $taskcode => $task) {
                $task->code = $taskcode;
                if ($task->link instanceof moodle_url) {
                    $task->link = $task->link->out(false);
                }
                $userplan['phases'][$phasecode]['tasks'][$taskcode] = (array) $task;
            }
            foreach ($userplan['phases'][$phasecode]['actions'] as $actioncode => $action) {
                if ($action->url instanceof moodle_url) {
                    $action->url = $action->url->out(false);
                }
                $userplan['phases'][$phasecode]['actions'][$actioncode] = (array) $action;
            }
        }

        $result['userplan'] = $userplan;
        $result['warnings'] = array();
        return $result;
    }
public static function get_user_plan ( $ workshopid , $ userid = 0 ) { global $ USER ; $ params = array ( 'workshopid' => $ workshopid , 'userid' => $ userid , ) ; $ params = self :: validate_parameters ( self :: get_user_plan_parameters ( ) , $ params ) ; list ( $ workshop , $ course , $ cm , $ context ) = self :: validate_workshop ( $ params [ 'workshopid' ] ) ; // Extra checks so only users with permissions can view other users plans. if ( empty ( $ params [ 'userid' ] ) || $ params [ 'userid' ] == $ USER -> id ) { $ userid = $ USER -> id ; } else { require_capability ( 'moodle/course:manageactivities' , $ context ) ; $ user = core_user :: get_user ( $ params [ 'userid' ] , '*' , MUST_EXIST ) ; core_user :: require_active_user ( $ user ) ; if ( ! $ workshop -> check_group_membership ( $ user -> id ) ) { throw new moodle_exception ( 'notingroup' ) ; } $ userid = $ user -> id ; } // Get the user plan information ready for external functions. $ userplan = new workshop_user_plan ( $ workshop , $ userid ) ; $ userplan = array ( 'phases' => $ userplan -> phases , 'examples' => $ userplan -> get_examples ( ) ) ; foreach ( $ userplan [ 'phases' ] as $ phasecode => $ phase ) { $ phase -> code = $ phasecode ; $ userplan [ 'phases' ] [ $ phasecode ] = ( array ) $ phase ; foreach ( $ userplan [ 'phases' ] [ $ phasecode ] [ 'tasks' ] as $ taskcode => $ task ) { $ task -> code = $ taskcode ; if ( $ task -> link instanceof moodle_url ) { $ task -> link = $ task -> link -> out ( false ) ; } $ userplan [ 'phases' ] [ $ phasecode ] [ 'tasks' ] [ $ taskcode ] = ( array ) $ task ; } foreach ( $ userplan [ 'phases' ] [ $ phasecode ] [ 'actions' ] as $ actioncode => $ action ) { if ( $ action -> url instanceof moodle_url ) { $ action -> url = $ action -> url -> out ( false ) ; } $ userplan [ 'phases' ] [ $ phasecode ] [ 'actions' ] [ $ actioncode ] = ( array ) $ action ; } } $ result [ 'userplan' ] = $ userplan ; $ result [ 'warnings' ] = array ( ) ; return $ result ; }
Return the planner information for the given user.

@param int $workshopid workshop instance id
@param int $userid user id
@return array of warnings and the user plan
@since Moodle 3.4
@throws  moodle_exception
Return the planner information for the given user .