gadGetStates()

This function returns the meta-information needed to validate the parameters to a gadget. Normally there is a catalog of all legal states, a description of the required parameter names, and possibly a title for the state.

The function returns a hash keyed by state. If the state does not appear in the hash, it is assumed not to exist (see Asterix exception to this rule). After that, another hash appears keyed by the following values:

ValueDescriptionFormat Description
public describes if the state is a public state, an internal process state, or a private state. If the state is public, then it will not carry context information when it is entered. Most general-purpose pages on the website are public including all special format pages (with the exception of dialogue and HTML formats). Private states get context information and are expected to return to the host page immediately after being executed. These are typically one click operations (remove me from our group and return me back to the host page). Internal states are used to identify steps that are intermediate to a process. true = public, 'c' = internal, false = private
process List the states used in the process, excluding the current state. array of state names or null for no process
params A list of parameters that are required. The check of parameters currently just looks to see if the parameter exists. No parameter validation is currently done. No indication of whether or not the parameter comes from a POST, GET, or direct population is made either. In the future, this may be expanded to include those considerations. array of parameter names that are required, if an array appears in the array and the members of the subarray are considered to be aliases of each other. For example, array('id',array('site','branch'), 'list') indicates that the ID parameter in a list parameter are required by name, and that either site OR branch must also be included.
title the title of the state string which indicates the title in English of the state
security the name of the security provider for the state security providers can be specified on a per state basis with a string specifying the name of security provider
securitydesc specifies a description to provided the security UI to describe any special considerations that need to be made for the state an English string describing any security information that should be taken into consideration
freeformat specifies whether or not a strict check of parameters and states should be done. In some cases third-party software is dispatched to within the framework. Normally the third-party software is responsible for maintaining its own parameters. In that case the freeformat flag should be set ( usually in the Asterix state, see below ) true or false
redirect describes where to go in the case of security or parameter-format violation this is an array specifying gadget name, state, and a map of parameters to translate into redirecting

Special States

There are a couple special states which deserve mention. I state defined with an Asterix (*) applies the parameters defined in the state to all the states. If a security provider is defined in the Asterix state, then it applies to all states that don't define a security provider.

In some of the third-party integrated components, the freeformat state is set to true in order to skip parameter validation. Parameters are considered validated by the third-party software.

Example Implementation

This is taken from RiverGadget and shows all the parameters that are handled by the main gadget. Notice the call to the base static function which gathers all the states for the sub gadgets that are proxied to via the main river gadget ( like river detail and River books information ).

static public function gadGetStates()
{
	return (array_merge(array (
		// Manage Directories in general. No Parameters.
		'drain-summary' => array (
			'public' => true,
			'params' => array (
				'state'
			)
		),
		'list' => array (
			'public' => true,
			'params' => array (
				'list'
			)
		),
		'state-summary' => array (
			'public' => true,
			'params' => array (
				'state'
			)
		),
		'view' => array (
			'public' => true
		),
		'search' => array (
			'public' => true,
		),
		'geo-summary' => array (
			'public' => true,
			'params' => array (
				'geoN',
				'geoS',
				'geoE',
				'geoW'
			)
		),
		'list-personal'=>array(
			'public'=>true
		)
		
	), CGadget :: subGetStates(self::$subgadgets,self::$subparams) ));
}

The following shows how processes defined from one of the gadgets in the stream maintence gadgets.

static public function gadGetStates()
{
	return (array (
		// Manage Directories in general. No Parameters.
		'assign-sk-to-state' => array (
			'public' => true,
			'process'=>array('finalize-sk-to-state'),
			'title' => 'Assign to State StreamTeam'
		),
		'finalize-sk-to-state' => array (
			'public' => 'c'
		)
	));
}
7.4.3PHP Version20.35sRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (1.23s)
    • Application (19.12s)
    • 1 x Application (93.97%)
      19.12s
      1 x Booting (6.03%)
      1.23s
      14 templates were rendered
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • app::layout.gadget (resources/views/layout/gadget.blade.php)2blade
        Params
        0
        contents
        1
        formRenderService
      • layout.columnstyle.one (resources/views/layout/columnstyle/one.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.columnstyle.componentstack (resources/views/layout/columnstyle/componentstack.blade.php)9blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        stack
        8
        component
      • layout.main (resources/views/layout/main.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._headers (resources/views/layout/_headers.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.header (resources/views/layout/header.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._scripts (resources/views/layout/_scripts.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.navigation (resources/views/layout/navigation.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • includes.alert.membership (resources/views/includes/alert/membership.blade.php)17blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
        15
        shouldNotifyUser
        16
        user
      • navigation.menu.static (resources/views/navigation/menu/static.blade.php)15blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
      • includes.footer (resources/views/includes/footer.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • layout.pagemap (resources/views/layout/pagemap.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      uri
      GET content/{url}
      middleware
      web
      controller
      App\Http\Controllers\Wh2oController@content
      namespace
      App\Http\Controllers
      where
      as
      generated::Os9R4mqMKRF5ktoI
      file
      app/Http/Controllers/Wh2oController.php:34-68
      16 statements were executed, 4 of which were duplicated, 12 unique149ms
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        27.88ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        66.42ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        19.38ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        33.16ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from security where domain in ('StewardshipGadget') and area is null;
        159μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('VolunteerGadget') and area is null;
        150μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('StoreGadget') and area is null;
        155μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('RiverGadget') and area is null;
        168μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('JournalGadget') and area is null;
        236μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('AffiliateGadget') and area is null;
        151μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('EventsGadget') and area is null;
        155μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('SearchGadget') and area is null;
        150μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('MembershipGadget') and area is null;
        158μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('StreamTeamGadget') and area is null;
        464μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('Wh2oController') and area is null;
        187μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security_defaults where domain in ('BugTrackerGadget');
        146μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:134
        • 9. /app/Legacy/Security/BaseSecurity.php:200
          _token
          w79T1Nyf3rmvmdsQAYo7TOrRnyXEPNdnZlKIhz51
          page
          array:1 [ "count" => 9 ]
          PHPDEBUGBAR_STACK_DATA
          []
          _previous
          array:1 [ "url" => "https://beta.americanwhitewater.org/content/Wiki/aw:deductions?idx=staff" ]
          _flash
          array:2 [ "old" => [] "new" => [] ]
          path_info
          /content/Wiki/developer:gadgetstates
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:16 [ "cookie" => array:1 [ 0 => "PHPSESSID=n1j17hjnuatkb1le4gj5d2acrt; XSRF-TOKEN=eyJpdiI6InZIMFNHYnpTanNhUjNQMUJpWG14bVE9PSIsInZhbHVlIjoiN1A1czJZYksvK2N1bDFyTnJrYi9RWWF3b01GOUtYNlJmcFMrcnVIOGdzeUhUa3VETWN4NE1NMFFXdnZWWjZ4bVFkZGxrUjdhSy9WUVlST1hyU3FESEMrWUhnZkVVa3dTdENuS0FoM2JCMFBYTnpNNUl1ajhPa0pjeUxFK2lpWGsiLCJtYWMiOiJlYjQ2OTE0MzQ0YzQ4ODdlZWRhZTcyM2RhYzI4YTliMTRhN2E1Mzk2MmM3OGY2MmMxNjlhZjFiYTg3Zjg4YzI5In0%3D; americanwhitewater_session=D8LZpoWOKp6nxvhw7pIMW2Y1ZfE44qvKAwfNc8b3PHPSESSID=n1j17hjnuatkb1le4gj5d2acrt; XSRF-TOKEN=eyJpdiI6InZIMFNHYnpTanNhUjNQMUJpWG14bVE9PSIsInZhbHVlIjoiN1A1czJZYksvK2N1bDFyTnJrYi9RWWF3b01GOUtYNlJmcFMrcnVIOGd" ] "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "host" => array:1 [ 0 => "beta.americanwhitewater.org" ] ]
          request_server
          0 of 0
          array:43 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_COOKIE" => "PHPSESSID=n1j17hjnuatkb1le4gj5d2acrt; XSRF-TOKEN=eyJpdiI6InZIMFNHYnpTanNhUjNQMUJpWG14bVE9PSIsInZhbHVlIjoiN1A1czJZYksvK2N1bDFyTnJrYi9RWWF3b01GOUtYNlJmcFMrcnVIOGdzeUhUa3VETWN4NE1NMFFXdnZWWjZ4bVFkZGxrUjdhSy9WUVlST1hyU3FESEMrWUhnZkVVa3dTdENuS0FoM2JCMFBYTnpNNUl1ajhPa0pjeUxFK2lpWGsiLCJtYWMiOiJlYjQ2OTE0MzQ0YzQ4ODdlZWRhZTcyM2RhYzI4YTliMTRhN2E1Mzk2MmM3OGY2MmMxNjlhZjFiYTg3Zjg4YzI5In0%3D; americanwhitewater_session=D8LZpoWOKp6nxvhw7pIMW2Y1ZfE44qvKAwfNc8b3PHPSESSID=n1j17hjnuatkb1le4gj5d2acrt; XSRF-TOKEN=eyJpdiI6InZIMFNHYnpTanNhUjNQMUJpWG14bVE9PSIsInZhbHVlIjoiN1A1czJZYksvK2N1bDFyTnJrYi9RWWF3b01GOUtYNlJmcFMrcnVIOGd" "HTTP_PRIORITY" => "u=0, i" "HTTP_ACCEPT_ENCODING" => "gzip, deflate, br, zstd" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_HOST" => "beta.americanwhitewater.org" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "beta.americanwhitewater.org" "SERVER_PORT" => "443" "SERVER_ADDR" => "172.31.18.125" "REMOTE_PORT" => "64905" "REMOTE_ADDR" => "3.129.218.43" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => true "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/opt/americanwhitewater.org/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/content/Wiki/developer:gadgetstates" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "PHP_VALUE" => "post_max_size=20M" "SCRIPT_FILENAME" => "/opt/americanwhitewater.org/public/index.php" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744281209.9351 "REQUEST_TIME" => 1744281209 ]
          request_cookies
          0 of 0
          array:3 [ "PHPSESSID" => null "XSRF-TOKEN" => "HPlsEDRn4tTbOnAVbIPknuRUuaMFLeBBGcLukvJy" "americanwhitewater_session" => null ]
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 10 Apr 2025 10:33:46 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImYyWHNWcGM5d2VnWUJZZVNxNDNwSEE9PSIsInZhbHVlIjoid1liWEkxeDE5VjFMaFZHRU0vN2lDdG9vbDJ2VUZ2RXBLZ1ZCcW02d0k1ZnpQZFFZRjFGM21iQkduV1VlMzdNSzdvdjVFcmZtYU5jWGY1TmRENzdmcHdUVmtsRU15NnJtMWVOenRwejlXeE1pYy9xWnZNc1ZkWEczS0dhTEs0ZGYiLCJtYWMiOiIwNzFhZjk2ZDczOTk1ZGI4YTE0ZDE5ZDEzMjk1NmUyNmQ1Y2RiODc2ODNlN2U2OTdkMzJkYzBlNGY0YmU2NjU4In0%3D; expires=Thu, 10-Apr-2025 12:33:50 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6ImYyWHNWcGM5d2VnWUJZZVNxNDNwSEE9PSIsInZhbHVlIjoid1liWEkxeDE5VjFMaFZHRU0vN2lDdG9vbDJ2VUZ2RXBLZ1ZCcW02d0k1ZnpQZFFZRjFGM21iQkduV1VlMzdNSzdvdjVFc" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IlVnaTlQek03dko0eHd0anQwcGdOaEE9PSIsInZhbHVlIjoicjNBTlNNSndBUXZLYzBNbTlQc3pRNzlQUWZsSDhLS2F6NEUxTVJxR2ZJdzB6Q2hoYUg0TGRKUTF4ZjYwNlFYciIsIm1hYyI6IjU5MmMxYWEwOTlhNGM3MGVkYzFhMjFjZTU1MTI1MGViMGY3OWM1MWE1M2Q4NTNkZDg4YmQxZTZiMDdiODVkNWMifQ%3D%3D; expires=Thu, 10-Apr-2025 10:32:45 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IlVnaTlQek03dko0eHd0anQwcGdOaEE9PSIsInZhbHVlIjoicjNBTlNNSndBUXZLYzBNbTlQc3pRNzlQUWZsSDhLS2F6NEUxTVJxR2ZJdzB6Q2hoYUg0T" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImYyWHNWcGM5d2VnWUJZZVNxNDNwSEE9PSIsInZhbHVlIjoid1liWEkxeDE5VjFMaFZHRU0vN2lDdG9vbDJ2VUZ2RXBLZ1ZCcW02d0k1ZnpQZFFZRjFGM21iQkduV1VlMzdNSzdvdjVFcmZtYU5jWGY1TmRENzdmcHdUVmtsRU15NnJtMWVOenRwejlXeE1pYy9xWnZNc1ZkWEczS0dhTEs0ZGYiLCJtYWMiOiIwNzFhZjk2ZDczOTk1ZGI4YTE0ZDE5ZDEzMjk1NmUyNmQ1Y2RiODc2ODNlN2U2OTdkMzJkYzBlNGY0YmU2NjU4In0%3D; expires=Thu, 10-Apr-2025 12:33:50 GMT; path=/XSRF-TOKEN=eyJpdiI6ImYyWHNWcGM5d2VnWUJZZVNxNDNwSEE9PSIsInZhbHVlIjoid1liWEkxeDE5VjFMaFZHRU0vN2lDdG9vbDJ2VUZ2RXBLZ1ZCcW02d0k1ZnpQZFFZRjFGM21iQkduV1VlMzdNSzdvdjVFc" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IlVnaTlQek03dko0eHd0anQwcGdOaEE9PSIsInZhbHVlIjoicjNBTlNNSndBUXZLYzBNbTlQc3pRNzlQUWZsSDhLS2F6NEUxTVJxR2ZJdzB6Q2hoYUg0TGRKUTF4ZjYwNlFYciIsIm1hYyI6IjU5MmMxYWEwOTlhNGM3MGVkYzFhMjFjZTU1MTI1MGViMGY3OWM1MWE1M2Q4NTNkZDg4YmQxZTZiMDdiODVkNWMifQ%3D%3D; expires=Thu, 10-Apr-2025 10:32:45 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IlVnaTlQek03dko0eHd0anQwcGdOaEE9PSIsInZhbHVlIjoicjNBTlNNSndBUXZLYzBNbTlQc3pRNzlQUWZsSDhLS2F6NEUxTVJxR2ZJdzB6Q2hoYUg0T" ] ]
          session_attributes
          0 of 0
          array:5 [ "_token" => "w79T1Nyf3rmvmdsQAYo7TOrRnyXEPNdnZlKIhz51" "page" => array:1 [ "count" => 9 ] "PHPDEBUGBAR_STACK_DATA" => [] "_previous" => array:1 [ "url" => "https://beta.americanwhitewater.org/content/Wiki/aw:deductions?idx=staff" ] "_flash" => array:2 [ "old" => [] "new" => [] ] ]