original_string: protected static function get_preferences_structure() {
          return new external_single_structure(
              array(
                  'userid' => new external_value(PARAM_INT, 'User id'),
                  'disableall' => new external_value(PARAM_INT, 'Whether all the preferences are disabled'),
                  'processors' => new external_multiple_structure(
                      new external_single_structure(
                          array(
                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                              'name' => new external_value(PARAM_PLUGIN, 'Processor name'),
                              'hassettings' => new external_value(PARAM_BOOL, 'Whether has settings'),
                              'contextid' => new external_value(PARAM_INT, 'Context id'),
                              'userconfigured' => new external_value(PARAM_INT, 'Whether is configured by the user'),
                          )
                      ),
                      'Config form values'
                  ),
                  'components' => new external_multiple_structure(
                      new external_single_structure(
                          array(
                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                              'notifications' => new external_multiple_structure(
                                  new external_single_structure(
                                      array(
                                          'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                          'preferencekey' => new external_value(PARAM_ALPHANUMEXT, 'Preference key'),
                                          'processors' => new external_multiple_structure(
                                              new external_single_structure(
                                                  array(
                                                      'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                                      'name' => new external_value(PARAM_PLUGIN, 'Processor name'),
                                                      'locked' => new external_value(PARAM_BOOL, 'Is locked by admin?'),
                                                      'lockedmessage' => new external_value(PARAM_TEXT,
                                                          'Text to display if locked', VALUE_OPTIONAL),
                                                      'userconfigured' => new external_value(PARAM_INT, 'Is configured?'),
                                                      'loggedin' => new external_single_structure(
                                                          array(
                                                              'name' => new external_value(PARAM_NOTAGS, 'Name'),
                                                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                                              'checked' => new external_value(PARAM_BOOL, 'Is checked?'),
                                                          )
                                                      ),
                                                      'loggedoff' => new external_single_structure(
                                                          array(
                                                              'name' => new external_value(PARAM_NOTAGS, 'Name'),
                                                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                                              'checked' => new external_value(PARAM_BOOL, 'Is checked?'),
                                                          )
                                                      ),
                                                  )
                                              ),
                                              'Processors values for this notification'
                                          ),
                                      )
                                  ),
                                  'List of notificaitons for the component'
                              ),
                          )
                      ),
                      'Available components'
                  ),
              )
          );
      }
code: protected static function get_preferences_structure() {
          return new external_single_structure(
              array(
                  'userid' => new external_value(PARAM_INT, 'User id'),
                  'disableall' => new external_value(PARAM_INT, 'Whether all the preferences are disabled'),
                  'processors' => new external_multiple_structure(
                      new external_single_structure(
                          array(
                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                              'name' => new external_value(PARAM_PLUGIN, 'Processor name'),
                              'hassettings' => new external_value(PARAM_BOOL, 'Whether has settings'),
                              'contextid' => new external_value(PARAM_INT, 'Context id'),
                              'userconfigured' => new external_value(PARAM_INT, 'Whether is configured by the user'),
                          )
                      ),
                      'Config form values'
                  ),
                  'components' => new external_multiple_structure(
                      new external_single_structure(
                          array(
                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                              'notifications' => new external_multiple_structure(
                                  new external_single_structure(
                                      array(
                                          'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                          'preferencekey' => new external_value(PARAM_ALPHANUMEXT, 'Preference key'),
                                          'processors' => new external_multiple_structure(
                                              new external_single_structure(
                                                  array(
                                                      'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                                      'name' => new external_value(PARAM_PLUGIN, 'Processor name'),
                                                      'locked' => new external_value(PARAM_BOOL, 'Is locked by admin?'),
                                                      'lockedmessage' => new external_value(PARAM_TEXT,
                                                          'Text to display if locked', VALUE_OPTIONAL),
                                                      'userconfigured' => new external_value(PARAM_INT, 'Is configured?'),
                                                      'loggedin' => new external_single_structure(
                                                          array(
                                                              'name' => new external_value(PARAM_NOTAGS, 'Name'),
                                                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                                              'checked' => new external_value(PARAM_BOOL, 'Is checked?'),
                                                          )
                                                      ),
                                                      'loggedoff' => new external_single_structure(
                                                          array(
                                                              'name' => new external_value(PARAM_NOTAGS, 'Name'),
                                                              'displayname' => new external_value(PARAM_TEXT, 'Display name'),
                                                              'checked' => new external_value(PARAM_BOOL, 'Is checked?'),
                                                          )
                                                      ),
                                                  )
                                              ),
                                              'Processors values for this notification'
                                          ),
                                      )
                                  ),
                                  'List of notificaitons for the component'
                              ),
                          )
                      ),
                      'Available components'
                  ),
              )
          );
      }
code_tokens: protected static function get_preferences_structure ( ) { return new external_single_structure ( array ( 'userid' => new external_value ( PARAM_INT , 'User id' ) , 'disableall' => new external_value ( PARAM_INT , 'Whether all the preferences are disabled' ) , 'processors' => new external_multiple_structure ( new external_single_structure ( array ( 'displayname' => new external_value ( PARAM_TEXT , 'Display name' ) , 'name' => new external_value ( PARAM_PLUGIN , 'Processor name' ) , 'hassettings' => new external_value ( PARAM_BOOL , 'Whether has settings' ) , 'contextid' => new external_value ( PARAM_INT , 'Context id' ) , 'userconfigured' => new external_value ( PARAM_INT , 'Whether is configured by the user' ) , ) ) , 'Config form values' ) , 'components' => new external_multiple_structure ( new external_single_structure ( array ( 'displayname' => new external_value ( PARAM_TEXT , 'Display name' ) , 'notifications' => new external_multiple_structure ( new external_single_structure ( array ( 'displayname' => new external_value ( PARAM_TEXT , 'Display name' ) , 'preferencekey' => new external_value ( PARAM_ALPHANUMEXT , 'Preference key' ) , 'processors' => new external_multiple_structure ( new external_single_structure ( array ( 'displayname' => new external_value ( PARAM_TEXT , 'Display name' ) , 'name' => new external_value ( PARAM_PLUGIN , 'Processor name' ) , 'locked' => new external_value ( PARAM_BOOL , 'Is locked by admin?' ) , 'lockedmessage' => new external_value ( PARAM_TEXT , 'Text to display if locked' , VALUE_OPTIONAL ) , 'userconfigured' => new external_value ( PARAM_INT , 'Is configured?' ) , 'loggedin' => new external_single_structure ( array ( 'name' => new external_value ( PARAM_NOTAGS , 'Name' ) , 'displayname' => new external_value ( PARAM_TEXT , 'Display name' ) , 'checked' => new external_value ( PARAM_BOOL , 'Is checked?' ) , ) ) , 'loggedoff' => new external_single_structure ( array ( 'name' => new external_value ( PARAM_NOTAGS , 'Name' ) , 'displayname' => new external_value ( PARAM_TEXT , 'Display name' ) , 'checked' => new external_value ( PARAM_BOOL , 'Is checked?' ) , ) ) , ) ) , 'Processors values for this notification' ) , ) ) , 'List of notificaitons for the component' ) , ) ) , 'Available components' ) , ) ) ; }
docstring: Returns a notification or message preference structure.
  
  @return external_single_structure the structure
  @since  Moodle 3.2
docstring_tokens: Returns a notification or message preference structure .