original_string: public static function get_contexts_for_userid(int $userid) : contextlist {
          $params = ['modulename' => 'assign',
                     'contextlevel' => CONTEXT_MODULE,
                     'userid' => $userid,
                     'graderid' => $userid,
                     'aouserid' => $userid,
                     'asnuserid' => $userid,
                     'aufuserid' => $userid,
                     'aumuserid' => $userid];
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_grades} ag ON a.id = ag.assignment AND (ag.userid = :userid OR ag.grader = :graderid)";
  
          $contextlist = new contextlist();
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_overrides} ao ON a.id = ao.assignid
                   WHERE ao.userid = :aouserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_submission} asn ON a.id = asn.assignment
                   WHERE asn.userid = :asnuserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_user_flags} auf ON a.id = auf.assignment
                   WHERE auf.userid = :aufuserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_user_mapping} aum ON a.id = aum.assignment
                   WHERE aum.userid = :aumuserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          manager::plugintype_class_callback('assignfeedback', self::ASSIGNFEEDBACK_INTERFACE,
                  'get_context_for_userid_within_feedback', [$userid, $contextlist]);
          manager::plugintype_class_callback('assignsubmission', self::ASSIGNSUBMISSION_INTERFACE,
                  'get_context_for_userid_within_submission', [$userid, $contextlist]);
  
          return $contextlist;
      }
code: public static function get_contexts_for_userid(int $userid) : contextlist {
          $params = ['modulename' => 'assign',
                     'contextlevel' => CONTEXT_MODULE,
                     'userid' => $userid,
                     'graderid' => $userid,
                     'aouserid' => $userid,
                     'asnuserid' => $userid,
                     'aufuserid' => $userid,
                     'aumuserid' => $userid];
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_grades} ag ON a.id = ag.assignment AND (ag.userid = :userid OR ag.grader = :graderid)";
  
          $contextlist = new contextlist();
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_overrides} ao ON a.id = ao.assignid
                   WHERE ao.userid = :aouserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_submission} asn ON a.id = asn.assignment
                   WHERE asn.userid = :asnuserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_user_flags} auf ON a.id = auf.assignment
                   WHERE auf.userid = :aufuserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          $sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_user_mapping} aum ON a.id = aum.assignment
                   WHERE aum.userid = :aumuserid";
  
          $contextlist->add_from_sql($sql, $params);
  
          manager::plugintype_class_callback('assignfeedback', self::ASSIGNFEEDBACK_INTERFACE,
                  'get_context_for_userid_within_feedback', [$userid, $contextlist]);
          manager::plugintype_class_callback('assignsubmission', self::ASSIGNSUBMISSION_INTERFACE,
                  'get_context_for_userid_within_submission', [$userid, $contextlist]);
  
          return $contextlist;
      }
code_tokens: public static function get_contexts_for_userid ( int $ userid ) : contextlist { $ params = [ 'modulename' => 'assign' , 'contextlevel' => CONTEXT_MODULE , 'userid' => $ userid , 'graderid' => $ userid , 'aouserid' => $ userid , 'asnuserid' => $ userid , 'aufuserid' => $ userid , 'aumuserid' => $ userid ] ; $ sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_grades} ag ON a.id = ag.assignment AND (ag.userid = :userid OR ag.grader = :graderid)" ; $ contextlist = new contextlist ( ) ; $ contextlist -> add_from_sql ( $ sql , $ params ) ; $ sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_overrides} ao ON a.id = ao.assignid
                   WHERE ao.userid = :aouserid" ; $ contextlist -> add_from_sql ( $ sql , $ params ) ; $ sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_submission} asn ON a.id = asn.assignment
                   WHERE asn.userid = :asnuserid" ; $ contextlist -> add_from_sql ( $ sql , $ params ) ; $ sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_user_flags} auf ON a.id = auf.assignment
                   WHERE auf.userid = :aufuserid" ; $ contextlist -> add_from_sql ( $ sql , $ params ) ; $ sql = "SELECT ctx.id
                    FROM {course_modules} cm
                    JOIN {modules} m ON cm.module = m.id AND m.name = :modulename
                    JOIN {assign} a ON cm.instance = a.id
                    JOIN {context} ctx ON cm.id = ctx.instanceid AND ctx.contextlevel = :contextlevel
                    JOIN {assign_user_mapping} aum ON a.id = aum.assignment
                   WHERE aum.userid = :aumuserid" ; $ contextlist -> add_from_sql ( $ sql , $ params ) ; manager :: plugintype_class_callback ( 'assignfeedback' , self :: ASSIGNFEEDBACK_INTERFACE , 'get_context_for_userid_within_feedback' , [ $ userid , $ contextlist ] ) ; manager :: plugintype_class_callback ( 'assignsubmission' , self :: ASSIGNSUBMISSION_INTERFACE , 'get_context_for_userid_within_submission' , [ $ userid , $ contextlist ] ) ; return $ contextlist ; }
docstring: Returns all of the contexts that has information relating to the userid.
  
  @param  int $userid The user ID.
  @return contextlist an object with the contexts related to a userid.
docstring_tokens: Returns all of the contexts that has information relating to the userid .