Page variables | ||
---|---|---|
{{ this }} | ThisVariable | |
Cms\Classes\ThisVariable {#4475 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +config: array:11 [ "controller" => Cms\Classes\Controller {#2077 #theme: Cms\Classes\Theme {#2108 #dirName: "djfest-pro" #configCache: array:5 [ "name" => "djfest-pro" "description" => "" "author" => "Marty Mar" "homepage" => "" "code" => "" ] } #router: Cms\Classes\Router {#2111 #theme: Cms\Classes\Theme {#2108} #url: "/profile/20" #parameters: array:6 [ "slug" => "20" "type" => false "action" => false "context_type" => false "context_slug" => false "action2" => false ] #routerObj: October\Rain\Router\Router {#2099 #routeMap: array:68 [ "submissions.htm" => October\Rain\Router\Rule {#4370 #config: array:9 [ …9] #ruleName: "submissions.htm" #rulePattern: "rozland/submissions" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/rozland/submissions" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 2 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "plurgr-faqs.htm" => October\Rain\Router\Rule {#4416 #config: array:9 [ …9] #ruleName: "plurgr-faqs.htm" #rulePattern: "/plurgr/faqs" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/plurgr/faqs" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 2 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "plurgr-artists.htm" => October\Rain\Router\Rule {#4426 #config: array:9 [ …9] #ruleName: "plurgr-artists.htm" #rulePattern: "/plurgr/artists" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/plurgr/artists" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 2 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "forum/channel.htm" => October\Rain\Router\Rule {#4399 #config: array:9 [ …9] #ruleName: "forum/channel.htm" #rulePattern: "/forum/channel/:slug" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/forum/channel" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 2 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "forum/topic.htm" => October\Rain\Router\Rule {#4400 #config: array:9 [ …9] #ruleName: "forum/topic.htm" #rulePattern: "/forum/topic/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/forum/topic" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 2 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "blog/post.htm" => October\Rain\Router\Rule {#4410 #config: array:9 [ …9] #ruleName: "blog/post.htm" #rulePattern: "/blog/post/:slug" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blog/post" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 2 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "blog/category.htm" => October\Rain\Router\Rule {#4409 #config: array:9 [ …9] #ruleName: "blog/category.htm" #rulePattern: "/blog/category/:slug?/:page?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blog/category" +segments: array:4 [ …4] +segmentCount: 4 +staticSegmentCount: 2 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "education.htm" => October\Rain\Router\Rule {#4339 #config: array:9 [ …9] #ruleName: "education.htm" #rulePattern: "/education" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/education" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "test.htm" => October\Rain\Router\Rule {#4365 #config: array:9 [ …9] #ruleName: "test.htm" #rulePattern: "/test" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/test" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "partners.htm" => October\Rain\Router\Rule {#4367 #config: array:9 [ …9] #ruleName: "partners.htm" #rulePattern: "/partners" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/partners" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "privacy.htm" => October\Rain\Router\Rule {#4368 #config: array:9 [ …9] #ruleName: "privacy.htm" #rulePattern: "/privacy" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/privacy" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "artists.htm" => October\Rain\Router\Rule {#4369 #config: array:9 [ …9] #ruleName: "artists.htm" #rulePattern: "/artists" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/artists" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "thegreenroom.htm" => October\Rain\Router\Rule {#4371 #config: array:9 [ …9] #ruleName: "thegreenroom.htm" #rulePattern: "/thegreenroom" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/thegreenroom" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "login.htm" => October\Rain\Router\Rule {#4372 #config: array:9 [ …9] #ruleName: "login.htm" #rulePattern: "/login" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/login" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "cart.htm" => October\Rain\Router\Rule {#4373 #config: array:9 [ …9] #ruleName: "cart.htm" #rulePattern: "/cart" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/cart" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "traits.htm" => October\Rain\Router\Rule {#4375 #config: array:9 [ …9] #ruleName: "traits.htm" #rulePattern: "/traits" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/traits" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "test-prolms.htm" => October\Rain\Router\Rule {#4376 #config: array:9 [ …9] #ruleName: "test-prolms.htm" #rulePattern: "/test-prolms" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/test-prolms" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "hollowtipsmichigan.htm" => October\Rain\Router\Rule {#4377 #config: array:9 [ …9] #ruleName: "hollowtipsmichigan.htm" #rulePattern: "/hollowtipsmichigan" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/hollowtipsmichigan" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "backstage.htm" => October\Rain\Router\Rule {#4379 #config: array:9 [ …9] #ruleName: "backstage.htm" #rulePattern: "/backstage" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/backstage" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "account.htm" => October\Rain\Router\Rule {#4380 #config: array:9 [ …9] #ruleName: "account.htm" #rulePattern: "/account" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/account" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "flowartists.htm" => October\Rain\Router\Rule {#4382 #config: array:9 [ …9] #ruleName: "flowartists.htm" #rulePattern: "/flowartists" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/flowartists" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "eventpage2.htm" => October\Rain\Router\Rule {#4383 #config: array:9 [ …9] #ruleName: "eventpage2.htm" #rulePattern: "/eventpage2" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/eventpage2" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "productions.htm" => October\Rain\Router\Rule {#4384 #config: array:9 [ …9] #ruleName: "productions.htm" #rulePattern: "/productions" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/productions" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "launchpad.htm" => October\Rain\Router\Rule {#4385 #config: array:9 [ …9] #ruleName: "launchpad.htm" #rulePattern: "/launchpad" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/launchpad" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "aisolutions.htm" => October\Rain\Router\Rule {#4386 #config: array:9 [ …9] #ruleName: "aisolutions.htm" #rulePattern: "/aisolutions" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/aisolutions" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "resources.htm" => October\Rain\Router\Rule {#4388 #config: array:9 [ …9] #ruleName: "resources.htm" #rulePattern: "/resources" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/resources" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "omi.htm" => October\Rain\Router\Rule {#4389 #config: array:9 [ …9] #ruleName: "omi.htm" #rulePattern: "/omi" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/omi" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "genres.htm" => October\Rain\Router\Rule {#4391 #config: array:9 [ …9] #ruleName: "genres.htm" #rulePattern: "/genres" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/genres" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "festipillar.htm" => October\Rain\Router\Rule {#4392 #config: array:9 [ …9] #ruleName: "festipillar.htm" #rulePattern: "/festipillar" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/festipillar" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "contact.htm" => October\Rain\Router\Rule {#4393 #config: array:9 [ …9] #ruleName: "contact.htm" #rulePattern: "/contact" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/contact" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "profiletype.htm" => October\Rain\Router\Rule {#4395 #config: array:9 [ …9] #ruleName: "profiletype.htm" #rulePattern: "/profiletype" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/profiletype" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "tom.htm" => October\Rain\Router\Rule {#4396 #config: array:9 [ …9] #ruleName: "tom.htm" #rulePattern: "/becca" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/becca" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "features.htm" => October\Rain\Router\Rule {#4398 #config: array:9 [ …9] #ruleName: "features.htm" #rulePattern: "/features" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/features" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "collective.htm" => October\Rain\Router\Rule {#4401 #config: array:9 [ …9] #ruleName: "collective.htm" #rulePattern: "/collective" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/collective" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "collectives.htm" => October\Rain\Router\Rule {#4402 #config: array:9 [ …9] #ruleName: "collectives.htm" #rulePattern: "/collectives" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/collectives" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "sidequest.htm" => October\Rain\Router\Rule {#4403 #config: array:9 [ …9] #ruleName: "sidequest.htm" #rulePattern: "/sidequest" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/sidequest" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "hunt.htm" => October\Rain\Router\Rule {#4404 #config: array:9 [ …9] #ruleName: "hunt.htm" #rulePattern: "/hunt" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/hunt" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "venues.htm" => October\Rain\Router\Rule {#4405 #config: array:9 [ …9] #ruleName: "venues.htm" #rulePattern: "/venues" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/venues" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "searched.htm" => October\Rain\Router\Rule {#4406 #config: array:9 [ …9] #ruleName: "searched.htm" #rulePattern: "/searched" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/searched" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "about.htm" => October\Rain\Router\Rule {#4407 #config: array:9 [ …9] #ruleName: "about.htm" #rulePattern: "/about" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/about" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "users.htm" => October\Rain\Router\Rule {#4411 #config: array:9 [ …9] #ruleName: "users.htm" #rulePattern: "/users" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/users" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "grand-rapids.htm" => October\Rain\Router\Rule {#4412 #config: array:9 [ …9] #ruleName: "grand-rapids.htm" #rulePattern: "/grand-rapids" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/grand-rapids" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "forum.htm" => October\Rain\Router\Rule {#4413 #config: array:9 [ …9] #ruleName: "forum.htm" #rulePattern: "/forum" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/forum" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "deactivate.htm" => October\Rain\Router\Rule {#4414 #config: array:9 [ …9] #ruleName: "deactivate.htm" #rulePattern: "/deactivate" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/deactivate" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "vendors.htm" => October\Rain\Router\Rule {#4415 #config: array:9 [ …9] #ruleName: "vendors.htm" #rulePattern: "/vendors" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/vendors" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "streamlinks.htm" => October\Rain\Router\Rule {#4417 #config: array:9 [ …9] #ruleName: "streamlinks.htm" #rulePattern: "/streamlinks" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/streamlinks" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "api.htm" => October\Rain\Router\Rule {#4419 #config: array:9 [ …9] #ruleName: "api.htm" #rulePattern: "/documentation" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/documentation" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "sage.htm" => October\Rain\Router\Rule {#4421 #config: array:9 [ …9] #ruleName: "sage.htm" #rulePattern: "/sage" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/sage" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "giveaway.htm" => October\Rain\Router\Rule {#4423 #config: array:9 [ …9] #ruleName: "giveaway.htm" #rulePattern: "/giveaway" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/giveaway" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "deepdebug.htm" => October\Rain\Router\Rule {#4424 #config: array:9 [ …9] #ruleName: "deepdebug.htm" #rulePattern: "/deepdebug" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/deepdebug" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "plurgr.htm" => October\Rain\Router\Rule {#4425 #config: array:9 [ …9] #ruleName: "plurgr.htm" #rulePattern: "/plurgr" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/plurgr" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "ai.htm" => October\Rain\Router\Rule {#4427 #config: array:9 [ …9] #ruleName: "ai.htm" #rulePattern: "/ai" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/ai" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "blogcat2.htm" => October\Rain\Router\Rule {#4428 #config: array:9 [ …9] #ruleName: "blogcat2.htm" #rulePattern: "/blogcat2" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blogcat2" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "search.htm" => October\Rain\Router\Rule {#4429 #config: array:9 [ …9] #ruleName: "search.htm" #rulePattern: "/search" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/search" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "workshops.htm" => October\Rain\Router\Rule {#4430 #config: array:9 [ …9] #ruleName: "workshops.htm" #rulePattern: "/workshops" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/workshops" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "curriculum.htm" => October\Rain\Router\Rule {#4378 #config: array:9 [ …9] #ruleName: "curriculum.htm" #rulePattern: "/curriculum/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/curriculum" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "opportunity.htm" => October\Rain\Router\Rule {#4381 #config: array:9 [ …9] #ruleName: "opportunity.htm" #rulePattern: "/opportunity/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/opportunity" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "genre.htm" => October\Rain\Router\Rule {#4394 #config: array:9 [ …9] #ruleName: "genre.htm" #rulePattern: "/genre/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/genre" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "equipment.htm" => October\Rain\Router\Rule {#4418 #config: array:9 [ …9] #ruleName: "equipment.htm" #rulePattern: "/equipment/:catslug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/equipment" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "events.htm" => October\Rain\Router\Rule {#4422 #config: array:9 [ …9] #ruleName: "events.htm" #rulePattern: "/events/:venue?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/events" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "merchbooth.htm" => October\Rain\Router\Rule {#4366 #config: array:9 [ …9] #ruleName: "merchbooth.htm" #rulePattern: "/merchbooth/:accountslug?/:itemslug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/merchbooth" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "learning.htm" => October\Rain\Router\Rule {#4390 #config: array:9 [ …9] #ruleName: "learning.htm" #rulePattern: "/prolms/:slug?/:profiletype?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/prolms" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "blog/blog.htm" => October\Rain\Router\Rule {#4408 #config: array:9 [ …9] #ruleName: "blog/blog.htm" #rulePattern: "/blog/:slug?/:page?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blog" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "subox.htm" => October\Rain\Router\Rule {#4420 #config: array:9 [ …9] #ruleName: "subox.htm" #rulePattern: "/subox/:accountslug?/:accounttype?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/subox" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "card.htm" => October\Rain\Router\Rule {#4374 #config: array:9 [ …9] #ruleName: "card.htm" #rulePattern: "/card/:userinfo?/:model?/:action?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/card" +segments: array:4 [ …4] +segmentCount: 4 +staticSegmentCount: 1 +dynamicSegmentCount: 3 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "event-page.htm" => October\Rain\Router\Rule {#4387 #config: array:9 [ …9] #ruleName: "event-page.htm" #rulePattern: "/event/:slug?/:model?/:modelslug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/event" +segments: array:4 [ …4] +segmentCount: 4 +staticSegmentCount: 1 +dynamicSegmentCount: 3 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "profile.htm" => October\Rain\Router\Rule {#4397 #config: array:9 [ "ruleName" => "profile.htm" "rulePattern" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "segments" => array:7 [ …7] "segmentCount" => 7 "staticUrl" => "/profile" "staticSegments" => array:1 [ …1] "staticSegmentCount" => 1 "dynamicSegmentCount" => 6 "wildSegmentCount" => 0 ] #ruleName: "profile.htm" #rulePattern: "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/profile" +segments: array:7 [ 0 => "profile" 1 => ":slug?" 2 => ":type?" 3 => ":action?" 4 => ":context_type?" 5 => ":context_slug?" 6 => ":action2?" ] +segmentCount: 7 +staticSegmentCount: 1 +dynamicSegmentCount: 6 +wildSegmentCount: 0 +"staticSegments": array:1 [ 0 => "profile" ] } "index.htm" => October\Rain\Router\Rule {#4431 #config: array:9 [ …9] #ruleName: "index.htm" #rulePattern: "/" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/" +segments: [] +segmentCount: 0 +staticSegmentCount: 0 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": [] } ] #matchedRouteRule: October\Rain\Router\Rule {#4397} #parameters: array:6 [ "slug" => "20" "type" => false "action" => false "context_type" => false "context_slug" => false "action2" => false ] } } #loader: Cms\Twig\Loader {#2114 #cache: [] #obj: Cms\Classes\ComponentPartial {#4888 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] #component: Marty\Djfest\Components\AccountEditor {#4519 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: "accountEditor68f39a15034e6" +alias: "accountEditor" +name: "accountEditor" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "marty/djfest/components/accounteditor" #controller: null #page: array:18 [ "profilesByType" => array:1 [ "user" => array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ …33] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ …1] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ …1] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ …23] #guarded: array:1 [ …1] +implement: null +attributes: array:33 [ …33] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ …1] +hasMany: array:6 [ …6] +belongsTo: array:2 [ …2] +belongsToMany: array:3 [ …3] +morphTo: array:1 [ …1] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ …13] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ …1] #emitterEventSorted: [] #extensionData: array:4 [ …4] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ …2] +rules: array:7 [ …7] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] ] "profileTypeTabs" => array:1 [ 0 => "user" ] "viewedAccountProfileTypes" => null "profileLayoutHtml" => "<div class="alert alert-danger">Error loading profile layout.</div>" "dynamicRelationships" => [] "relationshipLayout" => "tabs" "requiresDjfestProfile" => true "profileType" => Marty\Djfest\Models\ProfileType {#4661 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #changes: [] #casts: array:28 [ "access" => "array" "agent_config" => "array" "api_help" => "array" "api_methods" => "array" "blog_article" => "array" "common" => "array" "content_types" => "array" "conversation_analysis" => "array" "descriptions" => "array" "error_guidance" => "array" "fillable_fields" => "array" "sensitive_fields" => "array" "knowledgebase" => "array" "logging_details" => "array" "methods" => "array" "query_params" => "array" "related_files" => "array" "relationships" => "array" "response_structure" => "array" "sensitive_data" => "array" "status_groups" => "array" "tone" => "array" "metadata" => "array" "is_active" => "boolean" "is_featured" => "boolean" "is_default" => "boolean" "ai_enabled" => "boolean" "requires_djfest_profile" => "boolean" ] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:50 [ 0 => "name" 1 => "code" 2 => "model_class" 3 => "description" 4 => "category" 5 => "type" 6 => "status" 7 => "slug" 8 => "scope" 9 => "uuid" 10 => "icon" 11 => "prompt_instructions" 12 => "sort_order" 13 => "user_id" 14 => "djfest_profile_id" 15 => "namespace" 16 => "is_active" 17 => "is_featured" 18 => "is_default" 19 => "ai_enabled" 20 => "requires_djfest_profile" 21 => "api_endpoint" 22 => "api_version" 23 => "controller_path" 24 => "migration_path" 25 => "fields_path" 26 => "columns_path" 27 => "class" 28 => "agent_config" 29 => "common" 30 => "fillable_fields" 31 => "sensitive_fields" 32 => "tone" 33 => "content_types" 34 => "conversation_analysis" 35 => "query_params" 36 => "blog_article" 37 => "relationships" 38 => "metadata" 39 => "response_structure" 40 => "error_guidance" 41 => "logging_details" 42 => "related_files" 43 => "api_help" 44 => "access" 45 => "status_groups" 46 => "methods" 47 => "api_methods" 48 => "knowledgebase" 49 => "sensitive_data" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: [] +belongsTo: [] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:2 [ "model.saveInternal" => array:1 [ …1] "model.beforeSave" => array:1 [ …1] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null #rules: [] +table: "marty_djfest_profiletypes" +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } "formFields" => array:2 [ "djfestProfile" => null "extendedUserProfile" => null ] "metadata" => array:9 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} "accountModel" => RainLab\User\Models\User {#4792 #connection: "mysql" #table: "users" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:7 [ 0 => "last_seen" 1 => "banned_at" 2 => "deleted_at" 3 => "created_at" 4 => "updated_at" 5 => "activated_at" 6 => "two_factor_confirmed_at" ] #dateFormat: null #appends: array:1 [ 0 => "avatar_url" ] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "djfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} ] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ 0 => "profile_name" 1 => "uuid" 2 => "profiletype_id" 3 => "is_verified" 4 => "primary_color" 5 => "secondary_color" 6 => "highlight" 7 => "highlight_two" 8 => "highlight_three" 9 => "text_color_primary" 10 => "text_color_secondary" 11 => "text_color_highlight" 12 => "layout_preference" 13 => "slug" 14 => "sort_order" 15 => "user_id" 16 => "extended_profile_id" 17 => "is_active" 18 => "is_admin_managed" 19 => "is_remote_support" 20 => "subscription_tier" 21 => "related_type" 22 => "related_id" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => 20 "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ "ai_credits" => array:2 [ 0 => "Marty\AiSolutions\Models\AICredits" "key" => "djfest_profile_id" ] ] +hasMany: array:6 [ "socialAccounts" => array:2 [ 0 => "Marty\UserProfile\Models\SocialAccount" "key" => "djfest_profile_id" ] "submissions" => array:2 [ 0 => "Marty\Lineup\Models\Submission" "key" => "profile_id" ] "eventSubmissions" => array:2 [ 0 => "Marty\Djfest\Models\EventSubmission" "key" => "profile_id" ] "agent_instance_configs" => array:2 [ 0 => "Marty\AiSolutions\Models\AgentInstanceConfig" "key" => "djfest_profile_id" ] "links" => array:2 [ 0 => "Marty\Djfest\Models\Link" "key" => "djfest_profile_id" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "djfest_profile_id" ] ] +belongsTo: array:2 [ "user" => array:3 [ 0 => "RainLab\User\Models\User" "key" => "user_id" "otherKey" => "id" ] "profiletype" => array:3 [ 0 => "Marty\Djfest\Models\ProfileType" …2 ] ] +belongsToMany: array:3 [ "events" => array:5 [ …5] "ownedProfiles" => array:5 [ …5] "blogPosts" => array:4 [ …4] ] +morphTo: array:1 [ "related" => [] ] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ "statuses" => array:3 [ …3] "owners" => array:7 [ …7] "equipment" => array:2 [ …2] "attendees" => array:9 [ …9] "attending" => array:9 [ …9] "hosts" => array:9 [ …9] "hostedBy" => array:9 [ …9] "managers" => array:7 [ …7] "managedBy" => array:7 [ …7] "members" => array:7 [ …7] "memberOf" => array:7 [ …7] "ownables" => array:7 [ …7] "ownedBy" => array:7 [ …7] ] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ …1] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ 0 => "RainLab\Blog\Models\Post" 1 => "RainLab\User\Models\User" ] +rules: array:7 [ "profile_name" => "required|string|max:255" "profiletype_id" => "required|exists:marty_djfest_profiletypes,id" "slug" => "nullable|string|unique:marty_djfest_profiles,slug" "related_type" => "nullable|string" "related_id" => "nullable|integer" "is_admin_managed" => "boolean" "is_remote_support" => "boolean" ] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] #touches: [] +timestamps: true #hidden: array:4 [ 0 => "password" 1 => "remember_token" 2 => "two_factor_recovery_codes" 3 => "two_factor_secret" ] #visible: [] #fillable: array:7 [ 0 => "first_name" 1 => "last_name" 2 => "username" 3 => "email" 4 => "password" 5 => "password_confirmation" 6 => "is_guest" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:32 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "ownerId" => 20 "layout" => "Default" "isOwner" => null "hasElevatedPrivileges" => null "ownerInfo" => array:3 [ …3] "metadata" => array:6 [ …6] "profileContext" => array:2 [ …2] ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:3 [ "extendedProfile" => array:1 [ …1] "djfestProfile" => array:3 [ …3] "extendedUserProfile" => array:2 [ …2] ] +hasMany: array:3 [ "activity_log" => array:2 [ …2] "djfestProfiles" => array:2 [ …2] "djFestProfiles" => array:4 [ …4] ] +belongsTo: array:1 [ "primary_group" => "RainLab\User\Models\UserGroup" ] +belongsToMany: array:1 [ "groups" => array:2 [ …2] ] +morphTo: [] +morphOne: [] +morphMany: array:1 [ "ownables" => array:5 [ …5] ] +morphToMany: array:1 [ "ownedDjfestProfiles" => array:7 [ …7] ] +morphedByMany: [] +attachOne: array:1 [ "avatar" => "System\Models\File" ] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: array:1 [ "model.afterSave" => array:1 [ …1] ] #emitterEventCollection: array:4 [ "model.saveInternal" => array:1 [ …1] "model.beforeSetAttribute" => array:1 [ …1] "model.beforeGetAttribute" => array:1 [ …1] "model.beforeSaveDone" => array:1 [ …1] ] #emitterEventSorted: array:2 [ "model.beforeGetAttribute" => array:1 [ …1] "model.beforeSetAttribute" => array:2 [ …2] ] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +rules: array:5 [ "first_name" => array:3 [ …3] "email" => array:4 [ …4] "username" => array:3 [ …3] "password" => array:3 [ …3] "avatar" => array:3 [ …3] ] #purgeable: array:2 [ 0 => "password_confirmation" 1 => "send_invite" ] #hashable: array:1 [ 0 => "password" ] #encryptable: array:2 [ 0 => "two_factor_secret" 1 => "two_factor_recovery_codes" ] #passwordResetUrl: null #rememberTokenName: "remember_token" #emailVerificationUrl: null #forceDeleting: false +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #originalEncryptableValues: [] #originalPurgeableValues: [] #originalHashableValues: [] } "requiresDjfestProfile" => true "hasDjfestProfile" => false "isComplete" => true "hasAccountModel" => true "modelClass" => "RainLab\User\Models\User" "profileId" => 20 "userId" => 20 ] "loggedInUser" => null "viewedDjfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580} "accessLevel" => "guest" "currentPage" => "20" "loadedAccount" => RainLab\User\Models\User {#4792} "fullUrl" => "https://www.djfest.app/profile/20" "displayAccount" => null "profileTypes" => [] ] #externalPropertyNames: [] #componentGetPathCache: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/components/accounteditor" #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/marty/djfest" +assetUrlPath: "/plugins/marty/djfest" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:5 [ "defaultAccessLevel" => "view" "showRelationships" => true "relationshipWhitelist" => "" "relationshipBlacklist" => "" "relationshipLayout" => "tabs" ] +themeCssVariables: array:8 [ "primary" => "#3490dc" "secondary" => "#2779bd" "highlight" => "#f6993f" "highlight_two" => "#f2d024" "highlight_three" => "#9C27B0" "text_primary" => "#ffffff" "text_secondary" => "#212121" "text_highlight" => "#212121" ] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4516 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4515} } #accountEditorService: Marty\Djfest\Services\AccountEditorService {#4522 +profileData: Marty\Djfest\Services\ProfileDataService {#4524 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4525} } +accessControl: Marty\Djfest\Services\AccessControlService {#4521 #component: null #services: [] } +accountSwitching: Marty\Djfest\Services\AccountSwitchingService {#4529 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4531 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4532} } #accessControlService: Marty\Djfest\Services\AccessControlService {#4528 #component: null #services: [] } } +dashboardData: Marty\Djfest\Services\DashboardDataService {#4523 #component: null #services: [] } +userProfile: Marty\Djfest\Services\UserProfileService {#4534 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4535 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4536} } } #formCache: [] #fieldConfigCache: [] } #themeService: Marty\Djfest\Services\ThemeCustomizationService {#4518 #component: null #services: [] } #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4520} #profileLayoutService: Marty\Djfest\Services\ProfileLayoutService {#4514 #component: null #services: [] #layoutStructure: array:3 [ "basic" => array:3 [ "hero" => "layout-elements/hero-sections/basic.htm" "about" => "layout-elements/text-blocks/simple.htm" "contact" => "layout-elements/contact-cards/minimal.htm" ] "premium" => array:5 [ "hero" => "layout-elements/hero-sections/enhanced.htm" "gallery" => "layout-elements/slideshow/carousel.htm" "about" => "layout-elements/text-blocks/rich.htm" "contact" => "layout-elements/contact-cards/detailed.htm" "social" => "layout-elements/social/comprehensive.htm" ] "enterprise" => array:5 [ "hero" => "layout-elements/hero-sections/custom.htm" "gallery" => "layout-elements/slideshow/masonry.htm" "stats" => "layout-elements/widgets/analytics.htm" "relationships" => "layout-elements/lists/dynamic.htm" "custom_sections" => "layout-elements/custom/configurable.htm" ] ] #elementDataSources: array:4 [ "slideshow" => array:3 [ "primary" => "attachMany:gallery" "fallback" => array:3 [ …3] "fields" => array:3 [ …3] ] "contact" => array:2 [ "primary" => "self" "fields" => array:5 [ …5] ] "relationships" => array:2 [ "configurable" => true "available" => array:4 [ …4] ] "stats" => array:3 [ "primary" => "self" "relationships" => array:3 [ …3] "computed" => true ] ] } #accountEditorWrapper: null +allProfiles: October\Rain\Database\Collection {#4588 #items: array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555} ] #escapeWhenCastingToString: false } +componentError: null +loggedInUser: null +viewedDjfestProfile: Marty\Djfest\Models\DjfestProfile {#4580} +accessLevel: "guest" +currentPage: "20" +hasElevatedPrivileges: false +isOwner: false +canViewDashboard: false +loadedAccount: RainLab\User\Models\User {#4792} +ownedProfiles: null +ownerId: null +layout: "Default" +activeAccount: null +profileTypes: [] +viewedAccountProfiletypes: [] +profileLayoutPartial: "layout-default" +forceDebugProfile: 0 #accessStates: [] } +fileName: "default.htm" +mtime: 1758437531 +content: """ {# Enhanced AccountEditor Default Template with Content-Driven Layout Support #}\n \n {% if __SELF__ %}\n {% set profile = __SELF__.viewedDjfestProfile %}\n {% set ownerID = profile ? profile.user_id : null %}\n {% set currentUser = accountEditor.loggedInUser ? accountEditor.loggedInUser.id : null %}\n {% set useContentLayout = profile and profile.layout_preference == 'content' %}\n {% set layoutContent = useContentLayout ? profile.layout_content : null %}\n \n {# Show dashboard for logged-in users viewing their own profile or when no specific profile is loaded #}\n {% if currentUser and (not profile or currentUser == ownerID) %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n {%partial __SELF__~"::partials/profile/dashboard" %}\n {# Profile layout display for viewing other profiles #}\n {% elseif profile and currentUser != ownerID %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n \n {{dump()}}\n \n \n {% if isLayoutNameValid %}\n {% partial __SELF__~"::partials/layouts/"~layoutName %}\n {% else %}\n {% set fallbackLayout = 'Default' %}\n {% partial __SELF__~"::partials/layouts/"~fallbackLayout %}\n {% endif %}\n \n {# No user logged in - redirect to login #}\n {% elseif not currentUser %}\n <script>\n window.location.href = '/login';\n </script>\n {% endif %}\n \n {# Content-driven layout system for advanced profiles #}\n {% if useContentLayout and layoutContent %}\n {% if profile.full_width_layout %}\n <script>document.body.classList.add('profile-full-width');</script>\n {% endif %}\n {% content layoutContent %}\n {% endif %}\n \n {# Edit forms for profile owners #}\n {% if canEdit %}\n {% partial __SELF__ ~ '::forms' %}\n {% endif %}\n \n {# Debug section - only show when explicitly enabled #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div class="alert alert-info mt-2">\n <strong>Debug:</strong> currentUser = {{ currentUser }}, ownerID = {{ ownerID }}\n </div>\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h4>Twig Dump: AccountEditor Context</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profile) }}</pre>\n </div>\n {% endif %}\n \n {% else %}\n {# This block is rendered when component is not properly initialized #}\n <div class="container">\n <div class="row">\n <div class="col-12">\n <div class="alert alert-warning text-center py-5">\n <i class="fas fa-user-slash fs-1 text-muted mb-3"></i>\n <h4>Profile Not Found: Account Editor Component</h4>\n <p class="mb-0">The requested profile could not be found or may have been removed.</p>\n </div>\n </div>\n </div>\n </div>\n {% endif %}\n """ #maxNesting: 5 #allowedExtensions: array:1 [ 0 => "htm" ] #defaultExtension: "htm" } #fallbackCache: [] } #page: Cms\Classes\Page {#3229 +implement: [] #extensionData: array:4 [ "extensions" => array:2 [ "RainLab\Translate\Behaviors\TranslatablePageUrl" => RainLab\Translate\Behaviors\TranslatablePageUrl {#3233 #extensionHidden: array:2 [ …2] #model: Cms\Classes\Page {#3229} #translatableContext: "en" #translatableDefault: "en" #translatableDefaultUrl: "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" } "RainLab\Translate\Behaviors\TranslatablePage" => RainLab\Translate\Behaviors\TranslatablePage {#3231 #extensionHidden: array:2 [ …2] #model: Cms\Classes\Page {#3229} #translatableContext: "en" #translatableDefault: "en" #translatableUseFallback: true #translatableAttributes: [] #translatableOriginals: array:4 [ …4] #requiredProperties: array:1 [ …1] } ] "methods" => array:33 [ "initTranslatableContext" => "RainLab\Translate\Behaviors\TranslatablePage" "rewriteTranslatablePageUrl" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "hasTranslatablePageUrl" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "getSettingsUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "getOriginalUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "setSettingsUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "getViewBagUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "setViewBagUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "extend" => "RainLab\Translate\Behaviors\TranslatablePage" "extensionApplyInitCallbacks" => "RainLab\Translate\Behaviors\TranslatablePage" "extensionExtendCallback" => "RainLab\Translate\Behaviors\TranslatablePage" "getCalledExtensionClass" => "RainLab\Translate\Behaviors\TranslatablePage" "isTranslatable" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslatableAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "getModelAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "rewriteTranslatablePageAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "getAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePage" "setAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePage" "saveTranslation" => "RainLab\Translate\Behaviors\TranslatablePage" "shouldTranslate" => "RainLab\Translate\Behaviors\TranslatablePage" "noFallbackLocale" => "RainLab\Translate\Behaviors\TranslatablePage" "withFallbackLocale" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslateAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "hasTranslation" => "RainLab\Translate\Behaviors\TranslatablePage" "syncTranslatableAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "translateContext" => "RainLab\Translate\Behaviors\TranslatablePage" "lang" => "RainLab\Translate\Behaviors\TranslatablePage" "hasTranslatableAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslatableAttributesWithOptions" => "RainLab\Translate\Behaviors\TranslatablePage" "isTranslateDirty" => "RainLab\Translate\Behaviors\TranslatablePage" "getDirtyLocales" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslatableOriginals" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslateDirty" => "RainLab\Translate\Behaviors\TranslatablePage" ] "dynamicMethods" => [] "dynamicProperties" => array:1 [ 0 => "translatable" ] ] #datasource: "djfest-pro" #dirName: "pages" +attributes: array:14 [ "fileName" => "profile.htm" "content" => """ url = "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/"\n layout = "Default"\n title = "Profile"\n \n [session]\n security = "all"\n checkToken = 0\n \n [accountEditor]\n defaultAccessLevel = "view"\n showRelationships = 1\n relationshipLayout = "tabs"\n ==\n <?php\n function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n }\n ?>\n ==\n <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "mtime" => 1757992023 "markup" => """ <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "code" => """ function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n } """ "url" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "layout" => "Default" "title" => "Profile" "session" => array:2 [ "security" => "all" "checkToken" => "0" ] "accountEditor" => array:3 [ "defaultAccessLevel" => "view" "showRelationships" => "1" "relationshipLayout" => "tabs" ] "description" => null "meta_title" => null "meta_description" => null "bodyClass" => "page-profile" ] #original: array:10 [ "fileName" => "profile.htm" "content" => """ url = "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/"\n layout = "Default"\n title = "Profile"\n \n [session]\n security = "all"\n checkToken = 0\n \n [accountEditor]\n defaultAccessLevel = "view"\n showRelationships = 1\n relationshipLayout = "tabs"\n ==\n <?php\n function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n }\n ?>\n ==\n <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "mtime" => 1757992023 "markup" => """ <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "code" => """ function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n } """ "url" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "layout" => "Default" "title" => "Profile" "session" => array:2 [ "security" => "all" "checkToken" => "0" ] "accountEditor" => array:3 [ "defaultAccessLevel" => "view" "showRelationships" => "1" "relationshipLayout" => "tabs" ] ] #appends: [] #fillable: array:10 [ 0 => "url" 1 => "layout" 2 => "title" 3 => "description" 4 => "is_hidden" 5 => "meta_title" 6 => "meta_description" 7 => "markup" 8 => "settings" 9 => "code" ] #purgeable: [] #allowedExtensions: array:1 [ 0 => "htm" ] #defaultExtension: "htm" #isCompoundObject: true #wrapCode: true #maxNesting: 5 #loadedFromCache: true +exists: true #emitterSingleEventCollection: [] #emitterEventCollection: array:6 [ "model.afterFetch" => array:1 [ 0 => array:2 [ 0 => Closure() {#3232 class: "RainLab\Translate\Behaviors\TranslatablePageUrl" this: RainLab\Translate\Behaviors\TranslatablePageUrl {#3233} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/behaviors/TranslatablePageUrl.php" line: "49 to 55" } 1 => Closure() {#3235 class: "RainLab\Translate\Behaviors\TranslatablePage" this: RainLab\Translate\Behaviors\TranslatablePage {#3231} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/behaviors/TranslatablePage.php" line: "27 to 33" } ] ] "model.saveInternal" => array:2 [ 0 => array:1 [ 0 => array:2 [ …2] ] 500 => array:1 [ 0 => Closure($data, $options) {#3236 …4} ] ] "model.beforeGetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key) {#3230 class: "RainLab\Translate\Behaviors\TranslatablePage" this: RainLab\Translate\Behaviors\TranslatablePage {#3231} use: { …1} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/classes/TranslatableBehavior.php" line: "63 to 72" } ] ] "model.beforeSetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key, $value) {#3234 class: "RainLab\Translate\Behaviors\TranslatablePage" this: RainLab\Translate\Behaviors\TranslatablePage {#3231} use: { …1} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/classes/TranslatableBehavior.php" line: "74 to 83" } ] ] "model.beforeDelete" => array:1 [ 0 => array:1 [ 0 => Closure() {#3237 …4} ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#3238 …4} ] ] ] #emitterEventSorted: array:3 [ "model.afterFetch" => array:2 [ 0 => Closure() {#3232} 1 => Closure() {#3235} ] "model.beforeGetAttribute" => array:1 [ 0 => Closure($key) {#3230} ] "model.beforeSetAttribute" => array:1 [ 0 => Closure($key, $value) {#3234} ] ] #observables: [] +rules: array:2 [ "title" => "required" "url" => "required" ] +attributeNames: [] +customMessages: [] #themeCache: Cms\Classes\Theme {#4496 #dirName: "djfest-pro" #configCache: null } #validationErrors: null +components: array:2 [ "session" => RainLab\User\Components\Session {#4509 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: "session" +name: "session" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "rainlab/user/components/session" #controller: Cms\Classes\Controller {#2077} #page: Cmsfb719b351f78d8a913978ed3b9b7fe5ef72feaada48af85566ed4f97b78e03c6Class {#4491 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +page: Cms\Classes\Page {#3229} +layout: Cms\Classes\Layout {#4480 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] #datasource: "djfest-pro" #dirName: "layouts" +attributes: array:6 [ "fileName" => "Default.htm" "content" => """ [session]\n security = "all"\n checkToken = 0\n ==\n <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "mtime" => 1756880214 "markup" => """ <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "code" => null "session" => array:2 [ "security" => "all" "checkToken" => "0" ] ] #original: array:6 [ "fileName" => "Default.htm" "content" => """ [session]\n security = "all"\n checkToken = 0\n ==\n <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "mtime" => 1756880214 "markup" => """ <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "code" => null "session" => array:2 [ "security" => "all" "checkToken" => "0" ] ] #appends: [] #fillable: array:5 [ 0 => "description" 1 => "is_priority" 2 => "markup" 3 => "settings" 4 => "code" ] #purgeable: [] #allowedExtensions: array:1 [ 0 => "htm" ] #defaultExtension: "htm" #isCompoundObject: true #wrapCode: true #maxNesting: 5 #loadedFromCache: true +exists: true #emitterSingleEventCollection: [] #emitterEventCollection: array:3 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure($data, $options) {#4481 …4} ] ] "model.beforeDelete" => array:1 [ 0 => array:1 [ 0 => Closure() {#4482 …4} ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4483 …4} ] ] ] #emitterEventSorted: [] #observables: [] +rules: [] +attributeNames: [] +customMessages: [] #themeCache: Cms\Classes\Theme {#4493 #dirName: "djfest-pro" #configCache: null } #validationErrors: null +components: array:1 [ "session" => RainLab\User\Components\Session {#4499 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: "session" +name: "session" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "rainlab/user/components/session" #controller: Cms\Classes\Controller {#2077} #page: Cmse1f277bf26b0bff861c1b46b1a62055070a0423baf42016d1019664b83d6b7d6Class {#4494 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +page: Cms\Classes\Page {#3229} +layout: Cms\Classes\Layout {#4480} +controller: Cms\Classes\Controller {#2077} +vars: array:1 [ "user" => null ] } #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/rainlab/user" +assetUrlPath: "/plugins/rainlab/user" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:3 [ "security" => "all" "redirect" => "" "checkToken" => "0" ] } ] +settings: array:1 [ "components" => array:1 [ "session" => array:2 [ "security" => "all" "checkToken" => "0" ] ] ] +viewBag: [] #passthru: array:6 [ 0 => "lists" 1 => "pluck" 2 => "where" 3 => "sortBy" 4 => "whereComponent" 5 => "withComponent" ] #viewBagCache: Cms\Components\ViewBag {#4485 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: null +name: "viewBag" +isHidden: true +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "cms/components/viewbag" #controller: null #page: null #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/cms" +assetUrlPath: "/modules/cms" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: [] } #parsable: [] #parsableAttributes: [] } +controller: Cms\Classes\Controller {#2077} +vars: array:1 [ "user" => null ] } #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/rainlab/user" +assetUrlPath: "/plugins/rainlab/user" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:3 [ "security" => "all" "redirect" => "" "checkToken" => "0" ] } "accountEditor" => Marty\Djfest\Components\AccountEditor {#4519} ] +settings: array:7 [ "url" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "layout" => "Default" "title" => "Profile" "description" => null "meta_title" => null "meta_description" => null "components" => array:2 [ "session" => array:2 [ "security" => "all" "checkToken" => "0" ] "accountEditor" => array:3 [ "defaultAccessLevel" => "view" "showRelationships" => "1" "relationshipLayout" => "tabs" ] ] ] +viewBag: [] #passthru: array:6 [ 0 => "lists" 1 => "pluck" 2 => "where" 3 => "sortBy" 4 => "whereComponent" 5 => "withComponent" ] #viewBagCache: Cms\Components\ViewBag {#3240 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: null +name: "viewBag" +isHidden: true +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "cms/components/viewbag" #controller: null #page: null #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/cms" +assetUrlPath: "/modules/cms" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: [] } #parsable: array:2 [ 0 => "meta_title" 1 => "meta_description" ] +apiBag: [] #parsableAttributes: [] +"translatable": array:4 [ 0 => "title" 1 => "description" 2 => "meta_title" 3 => "meta_description" ] } #pageObj: Cmsfb719b351f78d8a913978ed3b9b7fe5ef72feaada48af85566ed4f97b78e03c6Class {#4491} #layout: Cms\Classes\Layout {#4480} #layoutObj: Cmse1f277bf26b0bff861c1b46b1a62055070a0423baf42016d1019664b83d6b7d6Class {#4494} #twig: Twig\Environment {#2115 -charset: "UTF-8" -loader: Cms\Twig\Loader {#2114} -debug: true -autoReload: true -cache: Twig\Cache\FilesystemCache {#2112 -directory: "/home/oxe56lh8rwz9/public_html/djfest/storage/cms/twig/" -options: 1 } -lexer: null -parser: null -compiler: null -globals: [] -resolvedGlobals: [] -loadedTemplates: array:2 [ "__TwigTemplate_4c2b259fa64177c919c8ff0eefb009fd" => __TwigTemplate_4c2b259fa64177c919c8ff0eefb009fd {#4831 #parent: false #parents: [] #blocks: [] #traits: [] #traitAliases: [] #extensions: array:7 [ "Twig\Extension\CoreExtension" => Twig\Extension\CoreExtension {#786 -dateFormats: array:2 [ …2] -numberFormat: array:3 [ …3] -timezone: null } "Twig\Extension\EscaperExtension" => Twig\Extension\EscaperExtension {#1756 -environment: Twig\Environment {#2115} -escapers: [] -escaper: Twig\Runtime\EscaperRuntime {#1972 -escapers: [] +safeClasses: [] +safeLookup: [] -charset: "UTF-8" } -defaultStrategy: "html" } "Twig\Extension\YieldNotReadyExtension" => Twig\Extension\YieldNotReadyExtension {#1975 -useYield: false } "Twig\Extension\OptimizerExtension" => Twig\Extension\OptimizerExtension {#1978 -optimizers: -1 } "Cms\Twig\Extension" => Cms\Twig\Extension {#1981 #controller: Cms\Classes\Controller {#2077} #putOnceCache: [] } "System\Twig\Extension" => System\Twig\Extension {#1984 #markupManager: System\Classes\MarkupManager {#1990 …1} } "Cms\Twig\DebugExtension" => Cms\Twig\DebugExtension {#1987 #controller: null #zebra: 0 #variablePrefix: true #commentMap: [] #blockMethods: array:7 [ …7] } ] #sandbox: null -useYield: false #env: Twig\Environment {#2115} -source: Twig\Source {#4852 -code: """ <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ -name: "/home/oxe56lh8rwz9/public_html/djfest/themes/djfest-pro/pages/profile.htm" -path: "" } -macros: [] } "__TwigTemplate_73f07e0075aeff453ffa04f2b74d5409" => __TwigTemplate_73f07e0075aeff453ffa04f2b74d5409 {#4891 #parent: false #parents: [] #blocks: [] #traits: [] #traitAliases: [] #extensions: array:7 [ "Twig\Extension\CoreExtension" => Twig\Extension\CoreExtension {#786} "Twig\Extension\EscaperExtension" => Twig\Extension\EscaperExtension {#1756} "Twig\Extension\YieldNotReadyExtension" => Twig\Extension\YieldNotReadyExtension {#1975} "Twig\Extension\OptimizerExtension" => Twig\Extension\OptimizerExtension {#1978} "Cms\Twig\Extension" => Cms\Twig\Extension {#1981} "System\Twig\Extension" => System\Twig\Extension {#1984} "Cms\Twig\DebugExtension" => Cms\Twig\DebugExtension {#1987} ] #sandbox: null -useYield: false #env: Twig\Environment {#2115} -source: Twig\Source {#4892 -code: """ {# Enhanced AccountEditor Default Template with Content-Driven Layout Support #}\n \n {% if __SELF__ %}\n {% set profile = __SELF__.viewedDjfestProfile %}\n {% set ownerID = profile ? profile.user_id : null %}\n {% set currentUser = accountEditor.loggedInUser ? accountEditor.loggedInUser.id : null %}\n {% set useContentLayout = profile and profile.layout_preference == 'content' %}\n {% set layoutContent = useContentLayout ? profile.layout_content : null %}\n \n {# Show dashboard for logged-in users viewing their own profile or when no specific profile is loaded #}\n {% if currentUser and (not profile or currentUser == ownerID) %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n {%partial __SELF__~"::partials/profile/dashboard" %}\n {# Profile layout display for viewing other profiles #}\n {% elseif profile and currentUser != ownerID %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n \n {{dump()}}\n \n \n {% if isLayoutNameValid %}\n {% partial __SELF__~"::partials/layouts/"~layoutName %}\n {% else %}\n {% set fallbackLayout = 'Default' %}\n {% partial __SELF__~"::partials/layouts/"~fallbackLayout %}\n {% endif %}\n \n {# No user logged in - redirect to login #}\n {% elseif not currentUser %}\n <script>\n window.location.href = '/login';\n </script>\n {% endif %}\n \n {# Content-driven layout system for advanced profiles #}\n {% if useContentLayout and layoutContent %}\n {% if profile.full_width_layout %}\n <script>document.body.classList.add('profile-full-width');</script>\n {% endif %}\n {% content layoutContent %}\n {% endif %}\n \n {# Edit forms for profile owners #}\n {% if canEdit %}\n {% partial __SELF__ ~ '::forms' %}\n {% endif %}\n \n {# Debug section - only show when explicitly enabled #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div class="alert alert-info mt-2">\n <strong>Debug:</strong> currentUser = {{ currentUser }}, ownerID = {{ ownerID }}\n </div>\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h4>Twig Dump: AccountEditor Context</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profile) }}</pre>\n </div>\n {% endif %}\n \n {% else %}\n {# This block is rendered when component is not properly initialized #}\n <div class="container">\n <div class="row">\n <div class="col-12">\n <div class="alert alert-warning text-center py-5">\n <i class="fas fa-user-slash fs-1 text-muted mb-3"></i>\n <h4>Profile Not Found: Account Editor Component</h4>\n <p class="mb-0">The requested profile could not be found or may have been removed.</p>\n </div>\n </div>\n </div>\n </div>\n {% endif %}\n """ -name: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/components/accounteditor/default.htm" -path: "" } -macros: [] } ] -strictVariables: false -originalCache: Twig\Cache\FilesystemCache {#2112} -extensionSet: Twig\ExtensionSet {#2117 -extensions: array:7 [ "Twig\Extension\CoreExtension" => Twig\Extension\CoreExtension {#786} "Twig\Extension\EscaperExtension" => Twig\Extension\EscaperExtension {#1756} "Twig\Extension\YieldNotReadyExtension" => Twig\Extension\YieldNotReadyExtension {#1975} "Twig\Extension\OptimizerExtension" => Twig\Extension\OptimizerExtension {#1978} "Cms\Twig\Extension" => Cms\Twig\Extension {#1981} "System\Twig\Extension" => System\Twig\Extension {#1984} "Cms\Twig\DebugExtension" => Cms\Twig\DebugExtension {#1987} ] -initialized: false -runtimeInitialized: true -staging: Twig\Extension\StagingExtension {#2118 -functions: [] -filters: [] -visitors: [] -tokenParsers: [] -tests: [] } -parsers: null -visitors: null -filters: null -dynamicFilters: null -tests: null -dynamicTests: null -functions: null -dynamicFunctions: null -expressionParsers: ? Twig\ExpressionParser\ExpressionParsers -globals: null -functionCallbacks: [] -filterCallbacks: [] -parserCallbacks: [] -lastModified: 1747557562 } -runtimeLoaders: [] -runtimes: array:1 [ "Twig\Runtime\EscaperRuntime" => Twig\Runtime\EscaperRuntime {#1972} ] -optionsHash: "["Twig\\Extension\\CoreExtension","Twig\\Extension\\EscaperExtension","Twig\\Extension\\YieldNotReadyExtension","Twig\\Extension\\OptimizerExtension","Cms\\Twig\\Extension","System\\Twig\\Extension","Cms\\Twig\\DebugExtension"]:8:3:3.21.1:1:0:0" -useYield: false -defaultRuntimeLoader: Twig\RuntimeLoader\FactoryRuntimeLoader {#2120 -map: array:1 [ "Twig\Runtime\EscaperRuntime" => Closure() {#2121 class: "Twig\Environment" this: Twig\Environment {#2115} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/twig/twig/src/Environment.php" line: "134 to 134" } ] } -hotCache: [] } #pageContents: null +vars: array:7 [ "this" => Cms\Classes\ThisVariable {#4475} "errors" => Illuminate\Support\ViewErrorBag {#4490 #bags: [] } "oldInput" => [] "session" => RainLab\User\Components\Session {#4509} "accountEditor" => Marty\Djfest\Components\AccountEditor {#4519} "user" => null "__SELF__" => Marty\Djfest\Components\AccountEditor {#4519} ] #componentContext: Marty\Djfest\Components\AccountEditor {#4519} #partialStack: null #partialWatcher: null #pageCycled: true #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/themes/djfest-pro" +assetUrlPath: "/themes/djfest-pro" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "page.init" => array:1 [ 0 => array:2 [ 0 => Closure() {#4504 class: "RainLab\User\Components\Session" this: RainLab\User\Components\Session {#4499} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/user/components/Session.php" line: "186 to 190" } 1 => Closure() {#4508 class: "RainLab\User\Components\Session" this: RainLab\User\Components\Session {#4509} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/user/components/Session.php" line: "186 to 190" } ] ] ] #emitterEventSorted: array:1 [ "page.init" => array:2 [ 0 => Closure() {#4504} 1 => Closure() {#4508} ] ] #statusCode: 200 #responseOverride: null #responseHeaderBag: null #responseBrowserEvents: [] } "page" => Cms\Classes\Page {#3229} "layout" => Cms\Classes\Layout {#4480} "theme" => Cms\Classes\Theme {#2108} "param" => array:6 [ "slug" => "20" "type" => false "action" => false "context_type" => false "context_slug" => false "action2" => false ] "environment" => Closure() {#4479 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "328 to 328" } "request" => Closure() {#4484 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "329 to 329" } "session" => Closure() {#4487 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "330 to 330" } "site" => Closure() {#4486 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "331 to 331" } "locale" => Closure() {#4488 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "332 to 332" } "method" => Closure() {#4489 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "335 to 335" } ] } |
||
{{ errors }} | ViewErrorBag | |
Illuminate\Support\ViewErrorBag {#4490 #bags: [] } |
||
{{ oldInput }} | array(0) | |
[] |
||
{{ session }} | Component | Session |
RainLab\User\Components\Session {#4509 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: "session" +name: "session" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "rainlab/user/components/session" #controller: Cms\Classes\Controller {#2077 #theme: Cms\Classes\Theme {#2108 #dirName: "djfest-pro" #configCache: array:5 [ "name" => "djfest-pro" "description" => "" "author" => "Marty Mar" "homepage" => "" "code" => "" ] } #router: Cms\Classes\Router {#2111 #theme: Cms\Classes\Theme {#2108} #url: "/profile/20" #parameters: array:6 [ "slug" => "20" "type" => false "action" => false "context_type" => false "context_slug" => false "action2" => false ] #routerObj: October\Rain\Router\Router {#2099 #routeMap: array:68 [ "submissions.htm" => October\Rain\Router\Rule {#4370 #config: array:9 [ …9] #ruleName: "submissions.htm" #rulePattern: "rozland/submissions" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/rozland/submissions" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 2 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "plurgr-faqs.htm" => October\Rain\Router\Rule {#4416 #config: array:9 [ …9] #ruleName: "plurgr-faqs.htm" #rulePattern: "/plurgr/faqs" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/plurgr/faqs" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 2 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "plurgr-artists.htm" => October\Rain\Router\Rule {#4426 #config: array:9 [ …9] #ruleName: "plurgr-artists.htm" #rulePattern: "/plurgr/artists" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/plurgr/artists" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 2 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "forum/channel.htm" => October\Rain\Router\Rule {#4399 #config: array:9 [ …9] #ruleName: "forum/channel.htm" #rulePattern: "/forum/channel/:slug" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/forum/channel" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 2 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "forum/topic.htm" => October\Rain\Router\Rule {#4400 #config: array:9 [ …9] #ruleName: "forum/topic.htm" #rulePattern: "/forum/topic/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/forum/topic" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 2 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "blog/post.htm" => October\Rain\Router\Rule {#4410 #config: array:9 [ …9] #ruleName: "blog/post.htm" #rulePattern: "/blog/post/:slug" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blog/post" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 2 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "blog/category.htm" => October\Rain\Router\Rule {#4409 #config: array:9 [ …9] #ruleName: "blog/category.htm" #rulePattern: "/blog/category/:slug?/:page?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blog/category" +segments: array:4 [ …4] +segmentCount: 4 +staticSegmentCount: 2 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:2 [ …2] } "education.htm" => October\Rain\Router\Rule {#4339 #config: array:9 [ …9] #ruleName: "education.htm" #rulePattern: "/education" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/education" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "test.htm" => October\Rain\Router\Rule {#4365 #config: array:9 [ …9] #ruleName: "test.htm" #rulePattern: "/test" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/test" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "partners.htm" => October\Rain\Router\Rule {#4367 #config: array:9 [ …9] #ruleName: "partners.htm" #rulePattern: "/partners" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/partners" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "privacy.htm" => October\Rain\Router\Rule {#4368 #config: array:9 [ …9] #ruleName: "privacy.htm" #rulePattern: "/privacy" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/privacy" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "artists.htm" => October\Rain\Router\Rule {#4369 #config: array:9 [ …9] #ruleName: "artists.htm" #rulePattern: "/artists" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/artists" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "thegreenroom.htm" => October\Rain\Router\Rule {#4371 #config: array:9 [ …9] #ruleName: "thegreenroom.htm" #rulePattern: "/thegreenroom" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/thegreenroom" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "login.htm" => October\Rain\Router\Rule {#4372 #config: array:9 [ …9] #ruleName: "login.htm" #rulePattern: "/login" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/login" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "cart.htm" => October\Rain\Router\Rule {#4373 #config: array:9 [ …9] #ruleName: "cart.htm" #rulePattern: "/cart" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/cart" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "traits.htm" => October\Rain\Router\Rule {#4375 #config: array:9 [ …9] #ruleName: "traits.htm" #rulePattern: "/traits" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/traits" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "test-prolms.htm" => October\Rain\Router\Rule {#4376 #config: array:9 [ …9] #ruleName: "test-prolms.htm" #rulePattern: "/test-prolms" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/test-prolms" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "hollowtipsmichigan.htm" => October\Rain\Router\Rule {#4377 #config: array:9 [ …9] #ruleName: "hollowtipsmichigan.htm" #rulePattern: "/hollowtipsmichigan" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/hollowtipsmichigan" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "backstage.htm" => October\Rain\Router\Rule {#4379 #config: array:9 [ …9] #ruleName: "backstage.htm" #rulePattern: "/backstage" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/backstage" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "account.htm" => October\Rain\Router\Rule {#4380 #config: array:9 [ …9] #ruleName: "account.htm" #rulePattern: "/account" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/account" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "flowartists.htm" => October\Rain\Router\Rule {#4382 #config: array:9 [ …9] #ruleName: "flowartists.htm" #rulePattern: "/flowartists" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/flowartists" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "eventpage2.htm" => October\Rain\Router\Rule {#4383 #config: array:9 [ …9] #ruleName: "eventpage2.htm" #rulePattern: "/eventpage2" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/eventpage2" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "productions.htm" => October\Rain\Router\Rule {#4384 #config: array:9 [ …9] #ruleName: "productions.htm" #rulePattern: "/productions" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/productions" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "launchpad.htm" => October\Rain\Router\Rule {#4385 #config: array:9 [ …9] #ruleName: "launchpad.htm" #rulePattern: "/launchpad" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/launchpad" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "aisolutions.htm" => October\Rain\Router\Rule {#4386 #config: array:9 [ …9] #ruleName: "aisolutions.htm" #rulePattern: "/aisolutions" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/aisolutions" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "resources.htm" => October\Rain\Router\Rule {#4388 #config: array:9 [ …9] #ruleName: "resources.htm" #rulePattern: "/resources" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/resources" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "omi.htm" => October\Rain\Router\Rule {#4389 #config: array:9 [ …9] #ruleName: "omi.htm" #rulePattern: "/omi" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/omi" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "genres.htm" => October\Rain\Router\Rule {#4391 #config: array:9 [ …9] #ruleName: "genres.htm" #rulePattern: "/genres" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/genres" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "festipillar.htm" => October\Rain\Router\Rule {#4392 #config: array:9 [ …9] #ruleName: "festipillar.htm" #rulePattern: "/festipillar" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/festipillar" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "contact.htm" => October\Rain\Router\Rule {#4393 #config: array:9 [ …9] #ruleName: "contact.htm" #rulePattern: "/contact" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/contact" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "profiletype.htm" => October\Rain\Router\Rule {#4395 #config: array:9 [ …9] #ruleName: "profiletype.htm" #rulePattern: "/profiletype" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/profiletype" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "tom.htm" => October\Rain\Router\Rule {#4396 #config: array:9 [ …9] #ruleName: "tom.htm" #rulePattern: "/becca" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/becca" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "features.htm" => October\Rain\Router\Rule {#4398 #config: array:9 [ …9] #ruleName: "features.htm" #rulePattern: "/features" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/features" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "collective.htm" => October\Rain\Router\Rule {#4401 #config: array:9 [ …9] #ruleName: "collective.htm" #rulePattern: "/collective" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/collective" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "collectives.htm" => October\Rain\Router\Rule {#4402 #config: array:9 [ …9] #ruleName: "collectives.htm" #rulePattern: "/collectives" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/collectives" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "sidequest.htm" => October\Rain\Router\Rule {#4403 #config: array:9 [ …9] #ruleName: "sidequest.htm" #rulePattern: "/sidequest" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/sidequest" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "hunt.htm" => October\Rain\Router\Rule {#4404 #config: array:9 [ …9] #ruleName: "hunt.htm" #rulePattern: "/hunt" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/hunt" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "venues.htm" => October\Rain\Router\Rule {#4405 #config: array:9 [ …9] #ruleName: "venues.htm" #rulePattern: "/venues" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/venues" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "searched.htm" => October\Rain\Router\Rule {#4406 #config: array:9 [ …9] #ruleName: "searched.htm" #rulePattern: "/searched" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/searched" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "about.htm" => October\Rain\Router\Rule {#4407 #config: array:9 [ …9] #ruleName: "about.htm" #rulePattern: "/about" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/about" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "users.htm" => October\Rain\Router\Rule {#4411 #config: array:9 [ …9] #ruleName: "users.htm" #rulePattern: "/users" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/users" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "grand-rapids.htm" => October\Rain\Router\Rule {#4412 #config: array:9 [ …9] #ruleName: "grand-rapids.htm" #rulePattern: "/grand-rapids" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/grand-rapids" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "forum.htm" => October\Rain\Router\Rule {#4413 #config: array:9 [ …9] #ruleName: "forum.htm" #rulePattern: "/forum" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/forum" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "deactivate.htm" => October\Rain\Router\Rule {#4414 #config: array:9 [ …9] #ruleName: "deactivate.htm" #rulePattern: "/deactivate" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/deactivate" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "vendors.htm" => October\Rain\Router\Rule {#4415 #config: array:9 [ …9] #ruleName: "vendors.htm" #rulePattern: "/vendors" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/vendors" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "streamlinks.htm" => October\Rain\Router\Rule {#4417 #config: array:9 [ …9] #ruleName: "streamlinks.htm" #rulePattern: "/streamlinks" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/streamlinks" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "api.htm" => October\Rain\Router\Rule {#4419 #config: array:9 [ …9] #ruleName: "api.htm" #rulePattern: "/documentation" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/documentation" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "sage.htm" => October\Rain\Router\Rule {#4421 #config: array:9 [ …9] #ruleName: "sage.htm" #rulePattern: "/sage" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/sage" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "giveaway.htm" => October\Rain\Router\Rule {#4423 #config: array:9 [ …9] #ruleName: "giveaway.htm" #rulePattern: "/giveaway" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/giveaway" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "deepdebug.htm" => October\Rain\Router\Rule {#4424 #config: array:9 [ …9] #ruleName: "deepdebug.htm" #rulePattern: "/deepdebug" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/deepdebug" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "plurgr.htm" => October\Rain\Router\Rule {#4425 #config: array:9 [ …9] #ruleName: "plurgr.htm" #rulePattern: "/plurgr" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/plurgr" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "ai.htm" => October\Rain\Router\Rule {#4427 #config: array:9 [ …9] #ruleName: "ai.htm" #rulePattern: "/ai" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/ai" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "blogcat2.htm" => October\Rain\Router\Rule {#4428 #config: array:9 [ …9] #ruleName: "blogcat2.htm" #rulePattern: "/blogcat2" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blogcat2" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "search.htm" => October\Rain\Router\Rule {#4429 #config: array:9 [ …9] #ruleName: "search.htm" #rulePattern: "/search" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/search" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "workshops.htm" => October\Rain\Router\Rule {#4430 #config: array:9 [ …9] #ruleName: "workshops.htm" #rulePattern: "/workshops" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/workshops" +segments: array:1 [ …1] +segmentCount: 1 +staticSegmentCount: 1 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "curriculum.htm" => October\Rain\Router\Rule {#4378 #config: array:9 [ …9] #ruleName: "curriculum.htm" #rulePattern: "/curriculum/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/curriculum" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "opportunity.htm" => October\Rain\Router\Rule {#4381 #config: array:9 [ …9] #ruleName: "opportunity.htm" #rulePattern: "/opportunity/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/opportunity" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "genre.htm" => October\Rain\Router\Rule {#4394 #config: array:9 [ …9] #ruleName: "genre.htm" #rulePattern: "/genre/:slug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/genre" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "equipment.htm" => October\Rain\Router\Rule {#4418 #config: array:9 [ …9] #ruleName: "equipment.htm" #rulePattern: "/equipment/:catslug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/equipment" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "events.htm" => October\Rain\Router\Rule {#4422 #config: array:9 [ …9] #ruleName: "events.htm" #rulePattern: "/events/:venue?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/events" +segments: array:2 [ …2] +segmentCount: 2 +staticSegmentCount: 1 +dynamicSegmentCount: 1 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "merchbooth.htm" => October\Rain\Router\Rule {#4366 #config: array:9 [ …9] #ruleName: "merchbooth.htm" #rulePattern: "/merchbooth/:accountslug?/:itemslug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/merchbooth" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "learning.htm" => October\Rain\Router\Rule {#4390 #config: array:9 [ …9] #ruleName: "learning.htm" #rulePattern: "/prolms/:slug?/:profiletype?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/prolms" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "blog/blog.htm" => October\Rain\Router\Rule {#4408 #config: array:9 [ …9] #ruleName: "blog/blog.htm" #rulePattern: "/blog/:slug?/:page?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/blog" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "subox.htm" => October\Rain\Router\Rule {#4420 #config: array:9 [ …9] #ruleName: "subox.htm" #rulePattern: "/subox/:accountslug?/:accounttype?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/subox" +segments: array:3 [ …3] +segmentCount: 3 +staticSegmentCount: 1 +dynamicSegmentCount: 2 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "card.htm" => October\Rain\Router\Rule {#4374 #config: array:9 [ …9] #ruleName: "card.htm" #rulePattern: "/card/:userinfo?/:model?/:action?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/card" +segments: array:4 [ …4] +segmentCount: 4 +staticSegmentCount: 1 +dynamicSegmentCount: 3 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "event-page.htm" => October\Rain\Router\Rule {#4387 #config: array:9 [ …9] #ruleName: "event-page.htm" #rulePattern: "/event/:slug?/:model?/:modelslug?" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/event" +segments: array:4 [ …4] +segmentCount: 4 +staticSegmentCount: 1 +dynamicSegmentCount: 3 +wildSegmentCount: 0 +"staticSegments": array:1 [ …1] } "profile.htm" => October\Rain\Router\Rule {#4397 #config: array:9 [ "ruleName" => "profile.htm" "rulePattern" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "segments" => array:7 [ …7] "segmentCount" => 7 "staticUrl" => "/profile" "staticSegments" => array:1 [ …1] "staticSegmentCount" => 1 "dynamicSegmentCount" => 6 "wildSegmentCount" => 0 ] #ruleName: "profile.htm" #rulePattern: "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/profile" +segments: array:7 [ 0 => "profile" 1 => ":slug?" 2 => ":type?" 3 => ":action?" 4 => ":context_type?" 5 => ":context_slug?" 6 => ":action2?" ] +segmentCount: 7 +staticSegmentCount: 1 +dynamicSegmentCount: 6 +wildSegmentCount: 0 +"staticSegments": array:1 [ 0 => "profile" ] } "index.htm" => October\Rain\Router\Rule {#4431 #config: array:9 [ …9] #ruleName: "index.htm" #rulePattern: "/" #conditionCallback: null #afterMatchCallback: null +staticUrl: "/" +segments: [] +segmentCount: 0 +staticSegmentCount: 0 +dynamicSegmentCount: 0 +wildSegmentCount: 0 +"staticSegments": [] } ] #matchedRouteRule: October\Rain\Router\Rule {#4397} #parameters: array:6 [ "slug" => "20" "type" => false "action" => false "context_type" => false "context_slug" => false "action2" => false ] } } #loader: Cms\Twig\Loader {#2114 #cache: [] #obj: Cms\Classes\ComponentPartial {#4888 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] #component: Marty\Djfest\Components\AccountEditor {#4519 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: "accountEditor68f39a15034e6" +alias: "accountEditor" +name: "accountEditor" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "marty/djfest/components/accounteditor" #controller: null #page: array:18 [ "profilesByType" => array:1 [ "user" => array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ …33] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ …1] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ …1] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ …23] #guarded: array:1 [ …1] +implement: null +attributes: array:33 [ …33] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ …1] +hasMany: array:6 [ …6] +belongsTo: array:2 [ …2] +belongsToMany: array:3 [ …3] +morphTo: array:1 [ …1] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ …13] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ …1] #emitterEventSorted: [] #extensionData: array:4 [ …4] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ …2] +rules: array:7 [ …7] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] ] "profileTypeTabs" => array:1 [ 0 => "user" ] "viewedAccountProfileTypes" => null "profileLayoutHtml" => "<div class="alert alert-danger">Error loading profile layout.</div>" "dynamicRelationships" => [] "relationshipLayout" => "tabs" "requiresDjfestProfile" => true "profileType" => Marty\Djfest\Models\ProfileType {#4661 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #changes: [] #casts: array:28 [ "access" => "array" "agent_config" => "array" "api_help" => "array" "api_methods" => "array" "blog_article" => "array" "common" => "array" "content_types" => "array" "conversation_analysis" => "array" "descriptions" => "array" "error_guidance" => "array" "fillable_fields" => "array" "sensitive_fields" => "array" "knowledgebase" => "array" "logging_details" => "array" "methods" => "array" "query_params" => "array" "related_files" => "array" "relationships" => "array" "response_structure" => "array" "sensitive_data" => "array" "status_groups" => "array" "tone" => "array" "metadata" => "array" "is_active" => "boolean" "is_featured" => "boolean" "is_default" => "boolean" "ai_enabled" => "boolean" "requires_djfest_profile" => "boolean" ] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:50 [ 0 => "name" 1 => "code" 2 => "model_class" 3 => "description" 4 => "category" 5 => "type" 6 => "status" 7 => "slug" 8 => "scope" 9 => "uuid" 10 => "icon" 11 => "prompt_instructions" 12 => "sort_order" 13 => "user_id" 14 => "djfest_profile_id" 15 => "namespace" 16 => "is_active" 17 => "is_featured" 18 => "is_default" 19 => "ai_enabled" 20 => "requires_djfest_profile" 21 => "api_endpoint" 22 => "api_version" 23 => "controller_path" 24 => "migration_path" 25 => "fields_path" 26 => "columns_path" 27 => "class" 28 => "agent_config" 29 => "common" 30 => "fillable_fields" 31 => "sensitive_fields" 32 => "tone" 33 => "content_types" 34 => "conversation_analysis" 35 => "query_params" 36 => "blog_article" 37 => "relationships" 38 => "metadata" 39 => "response_structure" 40 => "error_guidance" 41 => "logging_details" 42 => "related_files" 43 => "api_help" 44 => "access" 45 => "status_groups" 46 => "methods" 47 => "api_methods" 48 => "knowledgebase" 49 => "sensitive_data" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: [] +belongsTo: [] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:2 [ "model.saveInternal" => array:1 [ …1] "model.beforeSave" => array:1 [ …1] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null #rules: [] +table: "marty_djfest_profiletypes" +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } "formFields" => array:2 [ "djfestProfile" => null "extendedUserProfile" => null ] "metadata" => array:9 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} "accountModel" => RainLab\User\Models\User {#4792 #connection: "mysql" #table: "users" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:7 [ 0 => "last_seen" 1 => "banned_at" 2 => "deleted_at" 3 => "created_at" 4 => "updated_at" 5 => "activated_at" 6 => "two_factor_confirmed_at" ] #dateFormat: null #appends: array:1 [ 0 => "avatar_url" ] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "djfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} ] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ 0 => "profile_name" 1 => "uuid" 2 => "profiletype_id" 3 => "is_verified" 4 => "primary_color" 5 => "secondary_color" 6 => "highlight" 7 => "highlight_two" 8 => "highlight_three" 9 => "text_color_primary" 10 => "text_color_secondary" 11 => "text_color_highlight" 12 => "layout_preference" 13 => "slug" 14 => "sort_order" 15 => "user_id" 16 => "extended_profile_id" 17 => "is_active" 18 => "is_admin_managed" 19 => "is_remote_support" 20 => "subscription_tier" 21 => "related_type" 22 => "related_id" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => 20 "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ "ai_credits" => array:2 [ 0 => "Marty\AiSolutions\Models\AICredits" "key" => "djfest_profile_id" ] ] +hasMany: array:6 [ "socialAccounts" => array:2 [ 0 => "Marty\UserProfile\Models\SocialAccount" "key" => "djfest_profile_id" ] "submissions" => array:2 [ 0 => "Marty\Lineup\Models\Submission" "key" => "profile_id" ] "eventSubmissions" => array:2 [ 0 => "Marty\Djfest\Models\EventSubmission" "key" => "profile_id" ] "agent_instance_configs" => array:2 [ 0 => "Marty\AiSolutions\Models\AgentInstanceConfig" "key" => "djfest_profile_id" ] "links" => array:2 [ 0 => "Marty\Djfest\Models\Link" "key" => "djfest_profile_id" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "djfest_profile_id" ] ] +belongsTo: array:2 [ "user" => array:3 [ 0 => "RainLab\User\Models\User" "key" => "user_id" "otherKey" => "id" ] "profiletype" => array:3 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" "otherKey" => "id" ] ] +belongsToMany: array:3 [ "events" => array:5 [ 0 => "Radiantweb\Proevents\Models\Event" "table" => "marty_djfest_event_submissions" "key" => "profile_id" "otherKey" => "event_id" "pivot" => array:4 [ …4] ] "ownedProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "blogPosts" => array:4 [ 0 => "RainLab\Blog\Models\Post" "table" => "marty_djfest_post_profiles" "key" => "profile_id" "otherKey" => "post_id" ] ] +morphTo: array:1 [ "related" => [] ] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ "statuses" => array:3 [ 0 => "Marty\Djfest\Models\Status" "name" => "statusable" "table" => "marty_djfest_status_relations" ] "owners" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "ownable" …5 ] "equipment" => array:2 [ …2] "attendees" => array:9 [ …9] "attending" => array:9 [ …9] "hosts" => array:9 [ …9] "hostedBy" => array:9 [ …9] "managers" => array:7 [ …7] "managedBy" => array:7 [ …7] "members" => array:7 [ …7] "memberOf" => array:7 [ …7] "ownables" => array:7 [ …7] "ownedBy" => array:7 [ …7] ] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ …1] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ 0 => "RainLab\Blog\Models\Post" 1 => "RainLab\User\Models\User" ] +rules: array:7 [ "profile_name" => "required|string|max:255" "profiletype_id" => "required|exists:marty_djfest_profiletypes,id" "slug" => "nullable|string|unique:marty_djfest_profiles,slug" "related_type" => "nullable|string" "related_id" => "nullable|integer" "is_admin_managed" => "boolean" "is_remote_support" => "boolean" ] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] #touches: [] +timestamps: true #hidden: array:4 [ 0 => "password" 1 => "remember_token" 2 => "two_factor_recovery_codes" 3 => "two_factor_secret" ] #visible: [] #fillable: array:7 [ 0 => "first_name" 1 => "last_name" 2 => "username" 3 => "email" 4 => "password" 5 => "password_confirmation" 6 => "is_guest" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:32 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "ownerId" => 20 "layout" => "Default" "isOwner" => null "hasElevatedPrivileges" => null "ownerInfo" => array:3 [ …3] "metadata" => array:6 [ …6] "profileContext" => array:2 [ …2] ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:3 [ "extendedProfile" => array:1 [ …1] "djfestProfile" => array:3 [ …3] "extendedUserProfile" => array:2 [ …2] ] +hasMany: array:3 [ "activity_log" => array:2 [ …2] "djfestProfiles" => array:2 [ …2] "djFestProfiles" => array:4 [ …4] ] +belongsTo: array:1 [ "primary_group" => "RainLab\User\Models\UserGroup" ] +belongsToMany: array:1 [ "groups" => array:2 [ …2] ] +morphTo: [] +morphOne: [] +morphMany: array:1 [ "ownables" => array:5 [ …5] ] +morphToMany: array:1 [ "ownedDjfestProfiles" => array:7 [ …7] ] +morphedByMany: [] +attachOne: array:1 [ "avatar" => "System\Models\File" ] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: array:1 [ "model.afterSave" => array:1 [ …1] ] #emitterEventCollection: array:4 [ "model.saveInternal" => array:1 [ …1] "model.beforeSetAttribute" => array:1 [ …1] "model.beforeGetAttribute" => array:1 [ …1] "model.beforeSaveDone" => array:1 [ …1] ] #emitterEventSorted: array:2 [ "model.beforeGetAttribute" => array:1 [ …1] "model.beforeSetAttribute" => array:2 [ …2] ] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +rules: array:5 [ "first_name" => array:3 [ …3] "email" => array:4 [ …4] "username" => array:3 [ …3] "password" => array:3 [ …3] "avatar" => array:3 [ …3] ] #purgeable: array:2 [ 0 => "password_confirmation" 1 => "send_invite" ] #hashable: array:1 [ 0 => "password" ] #encryptable: array:2 [ 0 => "two_factor_secret" 1 => "two_factor_recovery_codes" ] #passwordResetUrl: null #rememberTokenName: "remember_token" #emailVerificationUrl: null #forceDeleting: false +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #originalEncryptableValues: [] #originalPurgeableValues: [] #originalHashableValues: [] } "requiresDjfestProfile" => true "hasDjfestProfile" => false "isComplete" => true "hasAccountModel" => true "modelClass" => "RainLab\User\Models\User" "profileId" => 20 "userId" => 20 ] "loggedInUser" => null "viewedDjfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580} "accessLevel" => "guest" "currentPage" => "20" "loadedAccount" => RainLab\User\Models\User {#4792} "fullUrl" => "https://www.djfest.app/profile/20" "displayAccount" => null "profileTypes" => [] ] #externalPropertyNames: [] #componentGetPathCache: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/components/accounteditor" #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/marty/djfest" +assetUrlPath: "/plugins/marty/djfest" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:5 [ "defaultAccessLevel" => "view" "showRelationships" => true "relationshipWhitelist" => "" "relationshipBlacklist" => "" "relationshipLayout" => "tabs" ] +themeCssVariables: array:8 [ "primary" => "#3490dc" "secondary" => "#2779bd" "highlight" => "#f6993f" "highlight_two" => "#f2d024" "highlight_three" => "#9C27B0" "text_primary" => "#ffffff" "text_secondary" => "#212121" "text_highlight" => "#212121" ] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4516 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4515} } #accountEditorService: Marty\Djfest\Services\AccountEditorService {#4522 +profileData: Marty\Djfest\Services\ProfileDataService {#4524 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4525} } +accessControl: Marty\Djfest\Services\AccessControlService {#4521 #component: null #services: [] } +accountSwitching: Marty\Djfest\Services\AccountSwitchingService {#4529 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4531 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4532} } #accessControlService: Marty\Djfest\Services\AccessControlService {#4528 #component: null #services: [] } } +dashboardData: Marty\Djfest\Services\DashboardDataService {#4523 #component: null #services: [] } +userProfile: Marty\Djfest\Services\UserProfileService {#4534 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4535 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4536} } } #formCache: [] #fieldConfigCache: [] } #themeService: Marty\Djfest\Services\ThemeCustomizationService {#4518 #component: null #services: [] } #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4520} #profileLayoutService: Marty\Djfest\Services\ProfileLayoutService {#4514 #component: null #services: [] #layoutStructure: array:3 [ "basic" => array:3 [ "hero" => "layout-elements/hero-sections/basic.htm" "about" => "layout-elements/text-blocks/simple.htm" "contact" => "layout-elements/contact-cards/minimal.htm" ] "premium" => array:5 [ "hero" => "layout-elements/hero-sections/enhanced.htm" "gallery" => "layout-elements/slideshow/carousel.htm" "about" => "layout-elements/text-blocks/rich.htm" "contact" => "layout-elements/contact-cards/detailed.htm" "social" => "layout-elements/social/comprehensive.htm" ] "enterprise" => array:5 [ "hero" => "layout-elements/hero-sections/custom.htm" "gallery" => "layout-elements/slideshow/masonry.htm" "stats" => "layout-elements/widgets/analytics.htm" "relationships" => "layout-elements/lists/dynamic.htm" "custom_sections" => "layout-elements/custom/configurable.htm" ] ] #elementDataSources: array:4 [ "slideshow" => array:3 [ "primary" => "attachMany:gallery" "fallback" => array:3 [ …3] "fields" => array:3 [ …3] ] "contact" => array:2 [ "primary" => "self" "fields" => array:5 [ …5] ] "relationships" => array:2 [ "configurable" => true "available" => array:4 [ …4] ] "stats" => array:3 [ "primary" => "self" "relationships" => array:3 [ …3] "computed" => true ] ] } #accountEditorWrapper: null +allProfiles: October\Rain\Database\Collection {#4588 #items: array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555} ] #escapeWhenCastingToString: false } +componentError: null +loggedInUser: null +viewedDjfestProfile: Marty\Djfest\Models\DjfestProfile {#4580} +accessLevel: "guest" +currentPage: "20" +hasElevatedPrivileges: false +isOwner: false +canViewDashboard: false +loadedAccount: RainLab\User\Models\User {#4792} +ownedProfiles: null +ownerId: null +layout: "Default" +activeAccount: null +profileTypes: [] +viewedAccountProfiletypes: [] +profileLayoutPartial: "layout-default" +forceDebugProfile: 0 #accessStates: [] } +fileName: "default.htm" +mtime: 1758437531 +content: """ {# Enhanced AccountEditor Default Template with Content-Driven Layout Support #}\n \n {% if __SELF__ %}\n {% set profile = __SELF__.viewedDjfestProfile %}\n {% set ownerID = profile ? profile.user_id : null %}\n {% set currentUser = accountEditor.loggedInUser ? accountEditor.loggedInUser.id : null %}\n {% set useContentLayout = profile and profile.layout_preference == 'content' %}\n {% set layoutContent = useContentLayout ? profile.layout_content : null %}\n \n {# Show dashboard for logged-in users viewing their own profile or when no specific profile is loaded #}\n {% if currentUser and (not profile or currentUser == ownerID) %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n {%partial __SELF__~"::partials/profile/dashboard" %}\n {# Profile layout display for viewing other profiles #}\n {% elseif profile and currentUser != ownerID %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n \n {{dump()}}\n \n \n {% if isLayoutNameValid %}\n {% partial __SELF__~"::partials/layouts/"~layoutName %}\n {% else %}\n {% set fallbackLayout = 'Default' %}\n {% partial __SELF__~"::partials/layouts/"~fallbackLayout %}\n {% endif %}\n \n {# No user logged in - redirect to login #}\n {% elseif not currentUser %}\n <script>\n window.location.href = '/login';\n </script>\n {% endif %}\n \n {# Content-driven layout system for advanced profiles #}\n {% if useContentLayout and layoutContent %}\n {% if profile.full_width_layout %}\n <script>document.body.classList.add('profile-full-width');</script>\n {% endif %}\n {% content layoutContent %}\n {% endif %}\n \n {# Edit forms for profile owners #}\n {% if canEdit %}\n {% partial __SELF__ ~ '::forms' %}\n {% endif %}\n \n {# Debug section - only show when explicitly enabled #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div class="alert alert-info mt-2">\n <strong>Debug:</strong> currentUser = {{ currentUser }}, ownerID = {{ ownerID }}\n </div>\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h4>Twig Dump: AccountEditor Context</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profile) }}</pre>\n </div>\n {% endif %}\n \n {% else %}\n {# This block is rendered when component is not properly initialized #}\n <div class="container">\n <div class="row">\n <div class="col-12">\n <div class="alert alert-warning text-center py-5">\n <i class="fas fa-user-slash fs-1 text-muted mb-3"></i>\n <h4>Profile Not Found: Account Editor Component</h4>\n <p class="mb-0">The requested profile could not be found or may have been removed.</p>\n </div>\n </div>\n </div>\n </div>\n {% endif %}\n """ #maxNesting: 5 #allowedExtensions: array:1 [ 0 => "htm" ] #defaultExtension: "htm" } #fallbackCache: [] } #page: Cms\Classes\Page {#3229 +implement: [] #extensionData: array:4 [ "extensions" => array:2 [ "RainLab\Translate\Behaviors\TranslatablePageUrl" => RainLab\Translate\Behaviors\TranslatablePageUrl {#3233 #extensionHidden: array:2 [ …2] #model: Cms\Classes\Page {#3229} #translatableContext: "en" #translatableDefault: "en" #translatableDefaultUrl: "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" } "RainLab\Translate\Behaviors\TranslatablePage" => RainLab\Translate\Behaviors\TranslatablePage {#3231 #extensionHidden: array:2 [ …2] #model: Cms\Classes\Page {#3229} #translatableContext: "en" #translatableDefault: "en" #translatableUseFallback: true #translatableAttributes: [] #translatableOriginals: array:4 [ …4] #requiredProperties: array:1 [ …1] } ] "methods" => array:33 [ "initTranslatableContext" => "RainLab\Translate\Behaviors\TranslatablePage" "rewriteTranslatablePageUrl" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "hasTranslatablePageUrl" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "getSettingsUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "getOriginalUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "setSettingsUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "getViewBagUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "setViewBagUrlAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePageUrl" "extend" => "RainLab\Translate\Behaviors\TranslatablePage" "extensionApplyInitCallbacks" => "RainLab\Translate\Behaviors\TranslatablePage" "extensionExtendCallback" => "RainLab\Translate\Behaviors\TranslatablePage" "getCalledExtensionClass" => "RainLab\Translate\Behaviors\TranslatablePage" "isTranslatable" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslatableAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "getModelAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "rewriteTranslatablePageAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "getAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePage" "setAttributeTranslated" => "RainLab\Translate\Behaviors\TranslatablePage" "saveTranslation" => "RainLab\Translate\Behaviors\TranslatablePage" "shouldTranslate" => "RainLab\Translate\Behaviors\TranslatablePage" "noFallbackLocale" => "RainLab\Translate\Behaviors\TranslatablePage" "withFallbackLocale" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslateAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "hasTranslation" => "RainLab\Translate\Behaviors\TranslatablePage" "syncTranslatableAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "translateContext" => "RainLab\Translate\Behaviors\TranslatablePage" "lang" => "RainLab\Translate\Behaviors\TranslatablePage" "hasTranslatableAttributes" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslatableAttributesWithOptions" => "RainLab\Translate\Behaviors\TranslatablePage" "isTranslateDirty" => "RainLab\Translate\Behaviors\TranslatablePage" "getDirtyLocales" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslatableOriginals" => "RainLab\Translate\Behaviors\TranslatablePage" "getTranslateDirty" => "RainLab\Translate\Behaviors\TranslatablePage" ] "dynamicMethods" => [] "dynamicProperties" => array:1 [ 0 => "translatable" ] ] #datasource: "djfest-pro" #dirName: "pages" +attributes: array:14 [ "fileName" => "profile.htm" "content" => """ url = "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/"\n layout = "Default"\n title = "Profile"\n \n [session]\n security = "all"\n checkToken = 0\n \n [accountEditor]\n defaultAccessLevel = "view"\n showRelationships = 1\n relationshipLayout = "tabs"\n ==\n <?php\n function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n }\n ?>\n ==\n <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "mtime" => 1757992023 "markup" => """ <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "code" => """ function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n } """ "url" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "layout" => "Default" "title" => "Profile" "session" => array:2 [ "security" => "all" "checkToken" => "0" ] "accountEditor" => array:3 [ "defaultAccessLevel" => "view" "showRelationships" => "1" "relationshipLayout" => "tabs" ] "description" => null "meta_title" => null "meta_description" => null "bodyClass" => "page-profile" ] #original: array:10 [ "fileName" => "profile.htm" "content" => """ url = "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/"\n layout = "Default"\n title = "Profile"\n \n [session]\n security = "all"\n checkToken = 0\n \n [accountEditor]\n defaultAccessLevel = "view"\n showRelationships = 1\n relationshipLayout = "tabs"\n ==\n <?php\n function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n }\n ?>\n ==\n <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "mtime" => 1757992023 "markup" => """ <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ "code" => """ function onStart()\n {\n // Simple page setup - let the component handle layout variations\n $this->page->bodyClass = 'page-profile';\n $slug = isset($this->param['slug']) ? $this->param['slug'] : null;\n $type = isset($this->param['type']) ? $this->param['type'] : null;\n $segments = \Request::segments();\n if (!is_array($segments)) {\n $segments = [];\n }\n // Only require login for the exact /profile URL (no slug, no other segments)\n if (count($segments) === 1 && $segments[0] === 'profile') {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n \n // If visiting /profile/:slug with no :type, treat as dashboard or redirect\n if (count($segments) === 2 && $segments[0] === 'profile' && $slug && !$type) {\n $user = Auth::getUser();\n if (!$user) {\n return Redirect::to('/login');\n }\n $this->page['showDashboard'] = true;\n return;\n }\n // All other profile pages are viewable by guests\n } """ "url" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "layout" => "Default" "title" => "Profile" "session" => array:2 [ "security" => "all" "checkToken" => "0" ] "accountEditor" => array:3 [ "defaultAccessLevel" => "view" "showRelationships" => "1" "relationshipLayout" => "tabs" ] ] #appends: [] #fillable: array:10 [ 0 => "url" 1 => "layout" 2 => "title" 3 => "description" 4 => "is_hidden" 5 => "meta_title" 6 => "meta_description" 7 => "markup" 8 => "settings" 9 => "code" ] #purgeable: [] #allowedExtensions: array:1 [ 0 => "htm" ] #defaultExtension: "htm" #isCompoundObject: true #wrapCode: true #maxNesting: 5 #loadedFromCache: true +exists: true #emitterSingleEventCollection: [] #emitterEventCollection: array:6 [ "model.afterFetch" => array:1 [ 0 => array:2 [ 0 => Closure() {#3232 class: "RainLab\Translate\Behaviors\TranslatablePageUrl" this: RainLab\Translate\Behaviors\TranslatablePageUrl {#3233} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/behaviors/TranslatablePageUrl.php" line: "49 to 55" } 1 => Closure() {#3235 class: "RainLab\Translate\Behaviors\TranslatablePage" this: RainLab\Translate\Behaviors\TranslatablePage {#3231} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/behaviors/TranslatablePage.php" line: "27 to 33" } ] ] "model.saveInternal" => array:2 [ 0 => array:1 [ 0 => array:2 [ …2] ] 500 => array:1 [ 0 => Closure($data, $options) {#3236 …4} ] ] "model.beforeGetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key) {#3230 class: "RainLab\Translate\Behaviors\TranslatablePage" this: RainLab\Translate\Behaviors\TranslatablePage {#3231} use: { …1} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/classes/TranslatableBehavior.php" line: "63 to 72" } ] ] "model.beforeSetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key, $value) {#3234 class: "RainLab\Translate\Behaviors\TranslatablePage" this: RainLab\Translate\Behaviors\TranslatablePage {#3231} use: { …1} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/translate/classes/TranslatableBehavior.php" line: "74 to 83" } ] ] "model.beforeDelete" => array:1 [ 0 => array:1 [ 0 => Closure() {#3237 …4} ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#3238 …4} ] ] ] #emitterEventSorted: array:3 [ "model.afterFetch" => array:2 [ 0 => Closure() {#3232} 1 => Closure() {#3235} ] "model.beforeGetAttribute" => array:1 [ 0 => Closure($key) {#3230} ] "model.beforeSetAttribute" => array:1 [ 0 => Closure($key, $value) {#3234} ] ] #observables: [] +rules: array:2 [ "title" => "required" "url" => "required" ] +attributeNames: [] +customMessages: [] #themeCache: Cms\Classes\Theme {#4496 #dirName: "djfest-pro" #configCache: null } #validationErrors: null +components: array:2 [ "session" => RainLab\User\Components\Session {#4509} "accountEditor" => Marty\Djfest\Components\AccountEditor {#4519} ] +settings: array:7 [ "url" => "/profile/:slug?/:type?/:action?/:context_type?/:context_slug?/:action2?/" "layout" => "Default" "title" => "Profile" "description" => null "meta_title" => null "meta_description" => null "components" => array:2 [ "session" => array:2 [ "security" => "all" "checkToken" => "0" ] "accountEditor" => array:3 [ "defaultAccessLevel" => "view" "showRelationships" => "1" "relationshipLayout" => "tabs" ] ] ] +viewBag: [] #passthru: array:6 [ 0 => "lists" 1 => "pluck" 2 => "where" 3 => "sortBy" 4 => "whereComponent" 5 => "withComponent" ] #viewBagCache: Cms\Components\ViewBag {#3240 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: null +name: "viewBag" +isHidden: true +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "cms/components/viewbag" #controller: null #page: null #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/cms" +assetUrlPath: "/modules/cms" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: [] } #parsable: array:2 [ 0 => "meta_title" 1 => "meta_description" ] +apiBag: [] #parsableAttributes: [] +"translatable": array:4 [ 0 => "title" 1 => "description" 2 => "meta_title" 3 => "meta_description" ] } #pageObj: Cmsfb719b351f78d8a913978ed3b9b7fe5ef72feaada48af85566ed4f97b78e03c6Class {#4491 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +page: Cms\Classes\Page {#3229} +layout: Cms\Classes\Layout {#4480 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] #datasource: "djfest-pro" #dirName: "layouts" +attributes: array:6 [ "fileName" => "Default.htm" "content" => """ [session]\n security = "all"\n checkToken = 0\n ==\n <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "mtime" => 1756880214 "markup" => """ <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "code" => null "session" => array:2 [ "security" => "all" "checkToken" => "0" ] ] #original: array:6 [ "fileName" => "Default.htm" "content" => """ [session]\n security = "all"\n checkToken = 0\n ==\n <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "mtime" => 1756880214 "markup" => """ <!DOCTYPE html>\n <html lang="en">\n \n <head>\n \t<!-- Google tag (gtag.js) -->\n \t<script async src="https://www.googletagmanager.com/gtag/js?id=G-R0HLRES5JW"></script>\n \t<script>\n \t\twindow.dataLayer = window.dataLayer || [];\n \t\tfunction gtag() { dataLayer.push(arguments); }\n \t\tgtag('js', new Date());\n \n \t\tgtag('config', 'G-R0HLRES5JW');\n \t</script>\n \t<meta charset="utf-8">\n \t<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n \t{% styles %}\n \t<!-- CSS -->\n \t<link rel="stylesheet" href="{{'assets/css/owl.carousel.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/magnific-popup.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/select2.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/paymentfont.min.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/slider-radio.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/plyr.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% if this.page.title == 'test' %}\n \t<link rel="stylesheet" href="{{'assets/wheel2.css'|theme}}">\n \t{% endif %}\n \t<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"\n \t\tintegrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">\n \t<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">\n \t<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">\n \n \t<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>\n \n \t<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">\n \t<link rel="stylesheet" href="{{'assets/css/layout-overrides.css'|theme}}">\n \t<!-- Favicons -->\n \t<link rel="icon" type="image/png" href="{{'assets/icon/favicon-32x32.png'|theme}}" sizes="32x32">\n \t<link rel="apple-touch-icon" href="{{'assets/icon/favicon-32x32.png'|theme}}">\n <style>\n body {\n --primary: {{ accountEditor.themeCssVariables.primary|default('#3490dc') }};\n --secondary: {{ accountEditor.themeCssVariables.secondary|default('#2779bd') }};\n --highlight: {{ accountEditor.themeCssVariables.highlight|default('#f6993f') }};\n --highlight-two: {{ accountEditor.themeCssVariables.highlight_two|default('#f2d024') }};\n --highlight-three: {{ accountEditor.themeCssVariables.highlight_three|default('#9C27B0') }};\n --text-primary: {{ accountEditor.themeCssVariables.text_primary|default('#ffffff') }};\n --text-secondary: {{ accountEditor.themeCssVariables.text_secondary|default('#212121') }};\n --text-highlight: {{ accountEditor.themeCssVariables.text_highlight|default('#212121') }};\n }\n </style>\n {% styles %}\n \n \t<meta name="description" content="Welcome to DJFest.app where we elevate local artists around Michigan">\n \t<meta name="keywords"\n \t\tcontent="EDM, Hip-Hop, Dj's, Michigan EDM, The intersection EDM, Papa Petes EDM, Kalamazoo EDM, Detroit EDM, Local Dj's">\n \t<meta name="author" content="Martel Strickland">\n \t<meta property="og:title" content="{{ this.page.title }}" />\n \t<meta property="og:description" content="{{ this.page.meta_description|default('Some default description') }}" />\n \n \t{% if this.page.featured_image %}\n \t<meta property="og:image" content="{{ this.page.featured_image.getThumb(500, 300, 'crop') }}" />\n \t{% endif %}\n \n <meta property="og:url" content="{{ this.page.url }}" />\n <title>{{this.page.title}}: Default.htm</title>\n \n </head>\n \n <body>\n \t<!-- header -->\n \t<header class="header">\n \t\t<div class="header__content">\n \t\t\t<div class="header__logo">\n \t\t\t\t<a href="{{'index'|page}}">\n \t\t\t\t\t<img src="{{'assets/img/dj-fest-logo-tiny.svg'|theme}}" alt="">\n \t\t\t\t</a>\n \t\t\t</div>\n \n \t\t\t<nav class="header__nav">\n \t\t\t\t<a href="/profile">Profile</a>\n \t\t\t\t<a href="{{'about'|page}}">About</a>\n \t\t\t\t<a href="{{'contacts'|page}}">Contacts</a>\n \t\t\t</nav>\n \n \t\t\t<div class="header__actions">\n \t\t\t\t<div class="header__action header__action--search">\n \t\t\t\t\t<button class="header__action-btn" type="button"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z" />\n \t\t\t\t\t\t</svg></button>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--note">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a href="#" class="header__action-btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M19.05566,2h-14a3.00328,3.00328,0,0,0-3,3V19a3.00328,3.00328,0,0,0,3,3h14a3.00328,3.00328,0,0,0,3-3V5A3.00328,3.00328,0,0,0,19.05566,2Zm-14,2h14a1.001,1.001,0,0,1,1,1v8H17.59082a1.99687,1.99687,0,0,0-1.66406.89062L14.52051,16H9.59082L8.18457,13.89062A1.99687,1.99687,0,0,0,6.52051,13H4.05566V5A1.001,1.001,0,0,1,5.05566,4Zm14,16h-14a1.001,1.001,0,0,1-1-1V15H6.52051l1.40625,2.10938A1.99687,1.99687,0,0,0,9.59082,18h4.92969a1.99687,1.99687,0,0,0,1.66406-.89062L17.59082,15h2.46484v4A1.001,1.001,0,0,1,19.05566,20Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">View all</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t\t\t\t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t\t\t\t\t\t\t<script>\n \t\t\t\t\t\t\t\tvar djfestJQ = $.noConflict(true);\n \t\t\t\t\t\t\t</script>\n \n \t\t\t\t<div class="header__action header__action--cart">\n \t\t\t\t\t<span>\n \t\t\t\t\t</span>\n \t\t\t\t\t<a class="header__action-btn" href="cart.html"><svg xmlns="http://www.w3.org/2000/svg"\n \t\t\t\t\t\t\tviewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M8.5,19A1.5,1.5,0,1,0,10,20.5,1.5,1.5,0,0,0,8.5,19ZM19,16H7a1,1,0,0,1,0-2h8.49121A3.0132,3.0132,0,0,0,18.376,11.82422L19.96143,6.2749A1.00009,1.00009,0,0,0,19,5H6.73907A3.00666,3.00666,0,0,0,3.92139,3H3A1,1,0,0,0,3,5h.92139a1.00459,1.00459,0,0,1,.96142.7251l.15552.54474.00024.00506L6.6792,12.01709A3.00006,3.00006,0,0,0,7,18H19a1,1,0,0,0,0-2ZM17.67432,7l-1.2212,4.27441A1.00458,1.00458,0,0,1,15.49121,12H8.75439l-.25494-.89221L7.32642,7ZM16.5,19A1.5,1.5,0,1,0,18,20.5,1.5,1.5,0,0,0,16.5,19Z" />\n \t\t\t\t\t\t</svg></a>\n \n \t\t\t\t\t<div class="header__drop">\n \t\t\t\t\t\t<a href="#" class="header__all">Go to cart</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="header__action header__action--signin">\n \t\t\t\t\t{% if user %}\n \t\t\t\t\t<a class="header__action-btn" data-request="onLogout" data-request-data="redirect: '/'">\n \t\t\t\t\t\t<span>Logout</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% else %}\n \t\t\t\t\t<a class="header__action-btn" href="{{ 'login'|page }}">\n \t\t\t\t\t\t<span>Sign in</span>\n \t\t\t\t\t\t<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t\t\t\t\t\t\t<path\n \t\t\t\t\t\t\t\td="M20,12a1,1,0,0,0-1-1H11.41l2.3-2.29a1,1,0,1,0-1.42-1.42l-4,4a1,1,0,0,0-.21.33,1,1,0,0,0,0,.76,1,1,0,0,0,.21.33l4,4a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42L11.41,13H19A1,1,0,0,0,20,12ZM17,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V16a1,1,0,0,0-2,0v3a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V5A1,1,0,0,1,7,4H17a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,17,2Z" />\n \t\t\t\t\t\t</svg>\n \t\t\t\t\t</a>\n \t\t\t\t\t{% endif %}\n \t\t\t\t</div>\n \t\t\t</div>\n \n \t\t\t<button class="header__btn" type="button">\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t\t<span></span>\n \t\t\t</button>\n \t\t</div>\n \t</header>\n \t<!-- end header -->\n \t<!-- sidebar -->\n \t{% partial 'default-sidebar' %}\n \t<!-- player -->\n \t{% partial 'default-player' %}\n \t<!-- main content -->\n \t<main class="main" ">\n \t\t<div class="container-fluid" id="layout-container">\n \t\n \t\t\t{% if sub_layout_partial %}\n \t\t\t\t{# This will render the partial for 'free' tier users, e.g., 'profile/artist-pro' #}\n \t\t\t\t{% partial sub_layout_partial %}\n \t\t\t{% else %}\n \t\t\t\t{# This will render the content for paid users on the default layout #}\n \t\t\t\t{% page %} \n \t\t\t{% endif %}\n \t\n \t\t</div>\n \t</main>\n \t<!-- end main content -->\n \t<!-- footer -->\n \t{% partial 'default-footer' %}\n \n \n \t<!-- ticket modal -->\n \n \t<!-- JS -->\n \t<script src="{{'assets/js/jquery-3.5.1.min.js'|theme}}"></script>\n \t<script src="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.js"></script>\n \t<script src="{{'assets/js/bootstrap.bundle.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/owl.carousel.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.magnific-popup.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/smooth-scrollbar.js'|theme}}"></script>\n \t<script src="{{'assets/js/select2.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/slider-radio.js'|theme}}"></script>\n \t<script src="{{'assets/js/jquery.inputmask.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/plyr.min.js'|theme}}"></script>\n \t<script src="{{'assets/js/main.js'|theme}}"></script>\n \t<script src="{{'assets/js/artqrcode.js'|theme}}"></script>\n \t <script src="https://djfest.app/plugins/marty/djfest/components/accounteditor/assets/js/tab3.js"></script>\n \t{#\n \t<script src="{{'assets/wheel.js'|theme}}"></script> #}\n <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>\n <!-- Chart JS -->\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>\n <!-- Chart JS Plugin for displaying text over chart -->\n <script\n src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.1.0/chartjs-plugin-datalabels.min.js"></script>\n {# The following script is for dragable tables using bootstrap #}\n <script\n src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/draggable/bootstrap-table-draggable.js"></script>\n \n <script>\n \t\tfunction shareOnFacebook(link, imagePath, artistName, artistBio) {\n \t\t\t// Construct the Facebook share URL with the image, artist name, and artist bio.\n \t\t\tvar shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(link) +\n \t\t\t\t'"e=' + encodeURIComponent('Meet Artist ' + artistName + '\n' + artistBio) +\n \t\t\t\t'&picture=' + encodeURIComponent(imagePath);\n \n \t\t\t// Open a new window for the Facebook Share Dialog.\n \t\t\twindow.open(shareUrl, 'Share on Facebook', 'width=600,height=400');\n \t\t}\n \t</script>\n <script>\n \t\tfunction shareOnFacebookMessenger(link, imagePath, artistName, artistBio) {\n \t\t\tFB.ui({\n \t\t\t\tmethod: 'send',\n \t\t\t\tlink: link,\n \t\t\t\tpicture: imagePath,\n \t\t\t\ttitle: 'Meet Artist ' + artistName,\n \t\t\t\tdescription: artistBio,\n \t\t\t}, function (response) { });\n \t\t}\n \t</script>\n <script>\n // Handle AJAX login and logout success messages for OctoberCMS\n $(document).on('ajaxSuccess', function(event, context, response) {\n if (context.handler === 'onSignin' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/profile';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n if (context.handler === 'onLogout' && response && response.success) {\n var alertDiv = $('<div class="alert alert-success text-center" style="z-index:9999;position:fixed;top:20px;left:50%;transform:translateX(-50%);width:400px;">'+response.success+'</div>');\n $('body').append(alertDiv);\n setTimeout(function() {\n alertDiv.fadeOut(400, function() {\n $(this).remove();\n if (response.redirect) {\n window.location.href = response.redirect;\n } else {\n window.location.href = '/';\n }\n });\n }, 2000); // Show for 2 seconds\n }\n });\n </script>\n \n {% if flash.error and not user %}\n <div class="alert alert-danger text-center">{{ flash.error }}</div>\n {% endif %}\n {% if flash.success and not user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n {% if flash.success and user %}\n <div class="alert alert-success text-center">{{ flash.success }}</div>\n {% endif %}\n \n \n \n \n {% scripts %}\n {% framework %}\n {% framework extras %}\n </body>\n \n </html> """ "code" => null "session" => array:2 [ "security" => "all" "checkToken" => "0" ] ] #appends: [] #fillable: array:5 [ 0 => "description" 1 => "is_priority" 2 => "markup" 3 => "settings" 4 => "code" ] #purgeable: [] #allowedExtensions: array:1 [ 0 => "htm" ] #defaultExtension: "htm" #isCompoundObject: true #wrapCode: true #maxNesting: 5 #loadedFromCache: true +exists: true #emitterSingleEventCollection: [] #emitterEventCollection: array:3 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure($data, $options) {#4481 …4} ] ] "model.beforeDelete" => array:1 [ 0 => array:1 [ 0 => Closure() {#4482 …4} ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4483 …4} ] ] ] #emitterEventSorted: [] #observables: [] +rules: [] +attributeNames: [] +customMessages: [] #themeCache: Cms\Classes\Theme {#4493 #dirName: "djfest-pro" #configCache: null } #validationErrors: null +components: array:1 [ "session" => RainLab\User\Components\Session {#4499 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: "session" +name: "session" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "rainlab/user/components/session" #controller: Cms\Classes\Controller {#2077} #page: Cmse1f277bf26b0bff861c1b46b1a62055070a0423baf42016d1019664b83d6b7d6Class {#4494 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +page: Cms\Classes\Page {#3229} +layout: Cms\Classes\Layout {#4480} +controller: Cms\Classes\Controller {#2077} +vars: array:1 [ "user" => null ] } #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/rainlab/user" +assetUrlPath: "/plugins/rainlab/user" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:3 [ "security" => "all" "redirect" => "" "checkToken" => "0" ] } ] +settings: array:1 [ "components" => array:1 [ "session" => array:2 [ "security" => "all" "checkToken" => "0" ] ] ] +viewBag: [] #passthru: array:6 [ 0 => "lists" 1 => "pluck" 2 => "where" 3 => "sortBy" 4 => "whereComponent" 5 => "withComponent" ] #viewBagCache: Cms\Components\ViewBag {#4485 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: null +alias: null +name: "viewBag" +isHidden: true +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "cms/components/viewbag" #controller: null #page: null #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/cms" +assetUrlPath: "/modules/cms" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: [] } #parsable: [] #parsableAttributes: [] } +controller: Cms\Classes\Controller {#2077} +vars: array:1 [ "user" => null ] } #layout: Cms\Classes\Layout {#4480} #layoutObj: Cmse1f277bf26b0bff861c1b46b1a62055070a0423baf42016d1019664b83d6b7d6Class {#4494} #twig: Twig\Environment {#2115 -charset: "UTF-8" -loader: Cms\Twig\Loader {#2114} -debug: true -autoReload: true -cache: Twig\Cache\FilesystemCache {#2112 -directory: "/home/oxe56lh8rwz9/public_html/djfest/storage/cms/twig/" -options: 1 } -lexer: null -parser: null -compiler: null -globals: [] -resolvedGlobals: [] -loadedTemplates: array:2 [ "__TwigTemplate_4c2b259fa64177c919c8ff0eefb009fd" => __TwigTemplate_4c2b259fa64177c919c8ff0eefb009fd {#4831 #parent: false #parents: [] #blocks: [] #traits: [] #traitAliases: [] #extensions: array:7 [ "Twig\Extension\CoreExtension" => Twig\Extension\CoreExtension {#786 -dateFormats: array:2 [ …2] -numberFormat: array:3 [ …3] -timezone: null } "Twig\Extension\EscaperExtension" => Twig\Extension\EscaperExtension {#1756 -environment: Twig\Environment {#2115} -escapers: [] -escaper: Twig\Runtime\EscaperRuntime {#1972 -escapers: [] +safeClasses: [] +safeLookup: [] -charset: "UTF-8" } -defaultStrategy: "html" } "Twig\Extension\YieldNotReadyExtension" => Twig\Extension\YieldNotReadyExtension {#1975 -useYield: false } "Twig\Extension\OptimizerExtension" => Twig\Extension\OptimizerExtension {#1978 -optimizers: -1 } "Cms\Twig\Extension" => Cms\Twig\Extension {#1981 #controller: Cms\Classes\Controller {#2077} #putOnceCache: [] } "System\Twig\Extension" => System\Twig\Extension {#1984 #markupManager: System\Classes\MarkupManager {#1990 …1} } "Cms\Twig\DebugExtension" => Cms\Twig\DebugExtension {#1987 #controller: null #zebra: 1 #variablePrefix: true #commentMap: [] #blockMethods: array:7 [ …7] } ] #sandbox: null -useYield: false #env: Twig\Environment {#2115} -source: Twig\Source {#4852 -code: """ <!-- \n Simple approach: Let the accountEditor component handle its own layout variations\n based on the viewedDjfestProfile.layout_preference value internally\n -->\n \n {% component 'accountEditor' %}\n {# DEBUG: Live dump of AccountEditor data for troubleshooting. Remove or comment out when finished. #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h3>Debug: AccountEditor data</h3>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.viewedDjfestProfile) }}</pre>\n <h4>loadedAccount</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor.loadedAccount) }}</pre>\n <h4>ownedProfiles</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(ownedProfiles) }}</pre>\n <h4>profileTypes</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profileTypes) }}</pre>\n </div>\n {% endif %} """ -name: "/home/oxe56lh8rwz9/public_html/djfest/themes/djfest-pro/pages/profile.htm" -path: "" } -macros: [] } "__TwigTemplate_73f07e0075aeff453ffa04f2b74d5409" => __TwigTemplate_73f07e0075aeff453ffa04f2b74d5409 {#4891 #parent: false #parents: [] #blocks: [] #traits: [] #traitAliases: [] #extensions: array:7 [ "Twig\Extension\CoreExtension" => Twig\Extension\CoreExtension {#786} "Twig\Extension\EscaperExtension" => Twig\Extension\EscaperExtension {#1756} "Twig\Extension\YieldNotReadyExtension" => Twig\Extension\YieldNotReadyExtension {#1975} "Twig\Extension\OptimizerExtension" => Twig\Extension\OptimizerExtension {#1978} "Cms\Twig\Extension" => Cms\Twig\Extension {#1981} "System\Twig\Extension" => System\Twig\Extension {#1984} "Cms\Twig\DebugExtension" => Cms\Twig\DebugExtension {#1987} ] #sandbox: null -useYield: false #env: Twig\Environment {#2115} -source: Twig\Source {#4892 -code: """ {# Enhanced AccountEditor Default Template with Content-Driven Layout Support #}\n \n {% if __SELF__ %}\n {% set profile = __SELF__.viewedDjfestProfile %}\n {% set ownerID = profile ? profile.user_id : null %}\n {% set currentUser = accountEditor.loggedInUser ? accountEditor.loggedInUser.id : null %}\n {% set useContentLayout = profile and profile.layout_preference == 'content' %}\n {% set layoutContent = useContentLayout ? profile.layout_content : null %}\n \n {# Show dashboard for logged-in users viewing their own profile or when no specific profile is loaded #}\n {% if currentUser and (not profile or currentUser == ownerID) %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n {%partial __SELF__~"::partials/profile/dashboard" %}\n {# Profile layout display for viewing other profiles #}\n {% elseif profile and currentUser != ownerID %}\n {% set layoutName = profile.layout_preference ?: 'Default' %}\n {% set isLayoutNameValid = layoutName is not empty and layoutName|length > 0 %}\n \n {{dump()}}\n \n \n {% if isLayoutNameValid %}\n {% partial __SELF__~"::partials/layouts/"~layoutName %}\n {% else %}\n {% set fallbackLayout = 'Default' %}\n {% partial __SELF__~"::partials/layouts/"~fallbackLayout %}\n {% endif %}\n \n {# No user logged in - redirect to login #}\n {% elseif not currentUser %}\n <script>\n window.location.href = '/login';\n </script>\n {% endif %}\n \n {# Content-driven layout system for advanced profiles #}\n {% if useContentLayout and layoutContent %}\n {% if profile.full_width_layout %}\n <script>document.body.classList.add('profile-full-width');</script>\n {% endif %}\n {% content layoutContent %}\n {% endif %}\n \n {# Edit forms for profile owners #}\n {% if canEdit %}\n {% partial __SELF__ ~ '::forms' %}\n {% endif %}\n \n {# Debug section - only show when explicitly enabled #}\n {% if accountEditor.forceDebugProfile == 1 %}\n <div class="alert alert-info mt-2">\n <strong>Debug:</strong> currentUser = {{ currentUser }}, ownerID = {{ ownerID }}\n </div>\n <div style="background:#fff;color:#000;padding:1rem;border:1px solid #ccc;margin:1rem 0;">\n <h4>Twig Dump: AccountEditor Context</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(accountEditor) }}</pre>\n <h4>viewedDjfestProfile</h4>\n <pre style="white-space:pre-wrap;word-wrap:break-word;">{{ dump(profile) }}</pre>\n </div>\n {% endif %}\n \n {% else %}\n {# This block is rendered when component is not properly initialized #}\n <div class="container">\n <div class="row">\n <div class="col-12">\n <div class="alert alert-warning text-center py-5">\n <i class="fas fa-user-slash fs-1 text-muted mb-3"></i>\n <h4>Profile Not Found: Account Editor Component</h4>\n <p class="mb-0">The requested profile could not be found or may have been removed.</p>\n </div>\n </div>\n </div>\n </div>\n {% endif %}\n """ -name: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/components/accounteditor/default.htm" -path: "" } -macros: [] } ] -strictVariables: false -originalCache: Twig\Cache\FilesystemCache {#2112} -extensionSet: Twig\ExtensionSet {#2117 -extensions: array:7 [ "Twig\Extension\CoreExtension" => Twig\Extension\CoreExtension {#786} "Twig\Extension\EscaperExtension" => Twig\Extension\EscaperExtension {#1756} "Twig\Extension\YieldNotReadyExtension" => Twig\Extension\YieldNotReadyExtension {#1975} "Twig\Extension\OptimizerExtension" => Twig\Extension\OptimizerExtension {#1978} "Cms\Twig\Extension" => Cms\Twig\Extension {#1981} "System\Twig\Extension" => System\Twig\Extension {#1984} "Cms\Twig\DebugExtension" => Cms\Twig\DebugExtension {#1987} ] -initialized: false -runtimeInitialized: true -staging: Twig\Extension\StagingExtension {#2118 -functions: [] -filters: [] -visitors: [] -tokenParsers: [] -tests: [] } -parsers: null -visitors: null -filters: null -dynamicFilters: null -tests: null -dynamicTests: null -functions: null -dynamicFunctions: null -expressionParsers: ? Twig\ExpressionParser\ExpressionParsers -globals: null -functionCallbacks: [] -filterCallbacks: [] -parserCallbacks: [] -lastModified: 1747557562 } -runtimeLoaders: [] -runtimes: array:1 [ "Twig\Runtime\EscaperRuntime" => Twig\Runtime\EscaperRuntime {#1972} ] -optionsHash: "["Twig\\Extension\\CoreExtension","Twig\\Extension\\EscaperExtension","Twig\\Extension\\YieldNotReadyExtension","Twig\\Extension\\OptimizerExtension","Cms\\Twig\\Extension","System\\Twig\\Extension","Cms\\Twig\\DebugExtension"]:8:3:3.21.1:1:0:0" -useYield: false -defaultRuntimeLoader: Twig\RuntimeLoader\FactoryRuntimeLoader {#2120 -map: array:1 [ "Twig\Runtime\EscaperRuntime" => Closure() {#2121 class: "Twig\Environment" this: Twig\Environment {#2115} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/twig/twig/src/Environment.php" line: "134 to 134" } ] } -hotCache: [] } #pageContents: null +vars: array:7 [ "this" => Cms\Classes\ThisVariable {#4475 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +config: array:11 [ "controller" => Cms\Classes\Controller {#2077} "page" => Cms\Classes\Page {#3229} "layout" => Cms\Classes\Layout {#4480} "theme" => Cms\Classes\Theme {#2108} "param" => array:6 [ "slug" => "20" "type" => false "action" => false "context_type" => false "context_slug" => false "action2" => false ] "environment" => Closure() {#4479 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "328 to 328" } "request" => Closure() {#4484 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "329 to 329" } "session" => Closure() {#4487 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "330 to 330" } "site" => Closure() {#4486 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "331 to 331" } "locale" => Closure() {#4488 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "332 to 332" } "method" => Closure() {#4489 class: "Cms\Classes\Controller" this: Cms\Classes\Controller {#2077} file: "/home/oxe56lh8rwz9/public_html/djfest/modules/cms/classes/Controller.php" line: "335 to 335" } ] } "errors" => Illuminate\Support\ViewErrorBag {#4490 #bags: [] } "oldInput" => [] "session" => RainLab\User\Components\Session {#4509} "accountEditor" => Marty\Djfest\Components\AccountEditor {#4519} "user" => null "__SELF__" => Marty\Djfest\Components\AccountEditor {#4519} ] #componentContext: Marty\Djfest\Components\AccountEditor {#4519} #partialStack: null #partialWatcher: null #pageCycled: true #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/themes/djfest-pro" +assetUrlPath: "/themes/djfest-pro" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "page.init" => array:1 [ 0 => array:2 [ 0 => Closure() {#4504 class: "RainLab\User\Components\Session" this: RainLab\User\Components\Session {#4499} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/user/components/Session.php" line: "186 to 190" } 1 => Closure() {#4508 class: "RainLab\User\Components\Session" this: RainLab\User\Components\Session {#4509} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/rainlab/user/components/Session.php" line: "186 to 190" } ] ] ] #emitterEventSorted: array:1 [ "page.init" => array:2 [ 0 => Closure() {#4504} 1 => Closure() {#4508} ] ] #statusCode: 200 #responseOverride: null #responseHeaderBag: null #responseBrowserEvents: [] } #page: Cmsfb719b351f78d8a913978ed3b9b7fe5ef72feaada48af85566ed4f97b78e03c6Class {#4491} #externalPropertyNames: [] #componentGetPathCache: null #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/rainlab/user" +assetUrlPath: "/plugins/rainlab/user" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:3 [ "security" => "all" "redirect" => "" "checkToken" => "0" ] } |
||
{{ accountEditor }} | Component | Account Editor (Display & Theming) |
Marty\Djfest\Components\AccountEditor {#4519 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: "accountEditor68f39a15034e6" +alias: "accountEditor" +name: "accountEditor" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "marty/djfest/components/accounteditor" #controller: null #page: array:18 [ "profilesByType" => array:1 [ "user" => array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "profileType" => Marty\Djfest\Models\ProfileType {#4599 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #changes: [] #casts: array:28 [ "access" => "array" "agent_config" => "array" "api_help" => "array" "api_methods" => "array" "blog_article" => "array" "common" => "array" "content_types" => "array" "conversation_analysis" => "array" "descriptions" => "array" "error_guidance" => "array" "fillable_fields" => "array" "sensitive_fields" => "array" "knowledgebase" => "array" "logging_details" => "array" "methods" => "array" "query_params" => "array" "related_files" => "array" "relationships" => "array" "response_structure" => "array" "sensitive_data" => "array" "status_groups" => "array" "tone" => "array" "metadata" => "array" "is_active" => "boolean" "is_featured" => "boolean" "is_default" => "boolean" "ai_enabled" => "boolean" "requires_djfest_profile" => "boolean" ] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:50 [ 0 => "name" 1 => "code" 2 => "model_class" 3 => "description" 4 => "category" 5 => "type" 6 => "status" 7 => "slug" 8 => "scope" 9 => "uuid" 10 => "icon" 11 => "prompt_instructions" 12 => "sort_order" 13 => "user_id" 14 => "djfest_profile_id" 15 => "namespace" 16 => "is_active" 17 => "is_featured" 18 => "is_default" 19 => "ai_enabled" 20 => "requires_djfest_profile" 21 => "api_endpoint" 22 => "api_version" 23 => "controller_path" 24 => "migration_path" 25 => "fields_path" 26 => "columns_path" 27 => "class" 28 => "agent_config" 29 => "common" 30 => "fillable_fields" 31 => "sensitive_fields" 32 => "tone" 33 => "content_types" 34 => "conversation_analysis" 35 => "query_params" 36 => "blog_article" 37 => "relationships" 38 => "metadata" 39 => "response_structure" 40 => "error_guidance" 41 => "logging_details" 42 => "related_files" 43 => "api_help" 44 => "access" 45 => "status_groups" 46 => "methods" 47 => "api_methods" 48 => "knowledgebase" 49 => "sensitive_data" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: [] +belongsTo: [] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:2 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4597 class: "Marty\Djfest\Models\ProfileType" this: Marty\Djfest\Models\ProfileType {#4599} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4611 class: "Marty\Djfest\Models\ProfileType" use: { $model: Marty\Djfest\Models\ProfileType {#4599} } file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/models/ProfileType.php" line: "173 to 182" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null #rules: [] +table: "marty_djfest_profiletypes" +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ 0 => "profile_name" 1 => "uuid" 2 => "profiletype_id" 3 => "is_verified" 4 => "primary_color" 5 => "secondary_color" 6 => "highlight" 7 => "highlight_two" 8 => "highlight_three" 9 => "text_color_primary" 10 => "text_color_secondary" 11 => "text_color_highlight" 12 => "layout_preference" 13 => "slug" 14 => "sort_order" 15 => "user_id" 16 => "extended_profile_id" 17 => "is_active" 18 => "is_admin_managed" 19 => "is_remote_support" 20 => "subscription_tier" 21 => "related_type" 22 => "related_id" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ "ai_credits" => array:2 [ 0 => "Marty\AiSolutions\Models\AICredits" "key" => "djfest_profile_id" ] ] +hasMany: array:6 [ "socialAccounts" => array:2 [ 0 => "Marty\UserProfile\Models\SocialAccount" "key" => "djfest_profile_id" ] "submissions" => array:2 [ 0 => "Marty\Lineup\Models\Submission" "key" => "profile_id" ] "eventSubmissions" => array:2 [ 0 => "Marty\Djfest\Models\EventSubmission" "key" => "profile_id" ] "agent_instance_configs" => array:2 [ 0 => "Marty\AiSolutions\Models\AgentInstanceConfig" "key" => "djfest_profile_id" ] "links" => array:2 [ 0 => "Marty\Djfest\Models\Link" "key" => "djfest_profile_id" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "djfest_profile_id" ] ] +belongsTo: array:2 [ "user" => array:3 [ 0 => "RainLab\User\Models\User" "key" => "user_id" "otherKey" => "id" ] "profiletype" => array:3 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" "otherKey" => "id" ] ] +belongsToMany: array:3 [ "events" => array:5 [ 0 => "Radiantweb\Proevents\Models\Event" "table" => "marty_djfest_event_submissions" "key" => "profile_id" "otherKey" => "event_id" "pivot" => array:4 [ 0 => "status" 1 => "notes" 2 => "profiletype_id" 3 => "sort_order" ] ] "ownedProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "blogPosts" => array:4 [ 0 => "RainLab\Blog\Models\Post" "table" => "marty_djfest_post_profiles" "key" => "profile_id" "otherKey" => "post_id" ] ] +morphTo: array:1 [ "related" => [] ] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ "statuses" => array:3 [ 0 => "Marty\Djfest\Models\Status" "name" => "statusable" "table" => "marty_djfest_status_relations" ] "owners" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "equipment" => array:2 [ 0 => "Marty\Djfest\Models\Equipment" "name" => "owner" ] "attendees" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendable" "table" => "marty_userprofile_attendables" "key" => "attendable_uuid" "otherKey" => "attendee_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "attending" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendee" "table" => "marty_userprofile_attendables" "key" => "attendee_profile_uuid" "otherKey" => "attendable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hosts" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "hostable" "table" => "marty_userprofile_hostables" "key" => "hostable_uuid" "otherKey" => "host_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hostedBy" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "host" "table" => "marty_userprofile_hostables" "key" => "host_profile_uuid" "otherKey" => "hostable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "managers" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manageable" "table" => "marty_userprofile_manageables" "key" => "manageable_uuid" "otherKey" => "manager_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "managedBy" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manager" "table" => "marty_userprofile_manageables" "key" => "manager_profile_uuid" "otherKey" => "manageable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "members" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "membership" "table" => "marty_djfest_memberships" "key" => "membership_uuid" "otherKey" => "member_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "memberOf" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "member" "table" => "marty_djfest_memberships" "key" => "member_profile_uuid" "otherKey" => "membership_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownables" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownedBy" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4603 class: "Marty\Djfest\Models\DjfestProfile" this: Marty\Djfest\Models\DjfestProfile {#4555} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ 0 => "RainLab\Blog\Models\Post" 1 => "RainLab\User\Models\User" ] +rules: array:7 [ "profile_name" => "required|string|max:255" "profiletype_id" => "required|exists:marty_djfest_profiletypes,id" "slug" => "nullable|string|unique:marty_djfest_profiles,slug" "related_type" => "nullable|string" "related_id" => "nullable|integer" "is_admin_managed" => "boolean" "is_remote_support" => "boolean" ] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] ] "profileTypeTabs" => array:1 [ 0 => "user" ] "viewedAccountProfileTypes" => null "profileLayoutHtml" => "<div class="alert alert-danger">Error loading profile layout.</div>" "dynamicRelationships" => [] "relationshipLayout" => "tabs" "requiresDjfestProfile" => true "profileType" => Marty\Djfest\Models\ProfileType {#4661 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #changes: [] #casts: array:28 [ "access" => "array" "agent_config" => "array" "api_help" => "array" "api_methods" => "array" "blog_article" => "array" "common" => "array" "content_types" => "array" "conversation_analysis" => "array" "descriptions" => "array" "error_guidance" => "array" "fillable_fields" => "array" "sensitive_fields" => "array" "knowledgebase" => "array" "logging_details" => "array" "methods" => "array" "query_params" => "array" "related_files" => "array" "relationships" => "array" "response_structure" => "array" "sensitive_data" => "array" "status_groups" => "array" "tone" => "array" "metadata" => "array" "is_active" => "boolean" "is_featured" => "boolean" "is_default" => "boolean" "ai_enabled" => "boolean" "requires_djfest_profile" => "boolean" ] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:50 [ 0 => "name" 1 => "code" 2 => "model_class" 3 => "description" 4 => "category" 5 => "type" 6 => "status" 7 => "slug" 8 => "scope" 9 => "uuid" 10 => "icon" 11 => "prompt_instructions" 12 => "sort_order" 13 => "user_id" 14 => "djfest_profile_id" 15 => "namespace" 16 => "is_active" 17 => "is_featured" 18 => "is_default" 19 => "ai_enabled" 20 => "requires_djfest_profile" 21 => "api_endpoint" 22 => "api_version" 23 => "controller_path" 24 => "migration_path" 25 => "fields_path" 26 => "columns_path" 27 => "class" 28 => "agent_config" 29 => "common" 30 => "fillable_fields" 31 => "sensitive_fields" 32 => "tone" 33 => "content_types" 34 => "conversation_analysis" 35 => "query_params" 36 => "blog_article" 37 => "relationships" 38 => "metadata" 39 => "response_structure" 40 => "error_guidance" 41 => "logging_details" 42 => "related_files" 43 => "api_help" 44 => "access" 45 => "status_groups" 46 => "methods" 47 => "api_methods" 48 => "knowledgebase" 49 => "sensitive_data" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: [] +belongsTo: [] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:2 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4659 class: "Marty\Djfest\Models\ProfileType" this: Marty\Djfest\Models\ProfileType {#4661} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4673 class: "Marty\Djfest\Models\ProfileType" use: { $model: Marty\Djfest\Models\ProfileType {#4661} } file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/models/ProfileType.php" line: "173 to 182" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null #rules: [] +table: "marty_djfest_profiletypes" +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } "formFields" => array:2 [ "djfestProfile" => null "extendedUserProfile" => null ] "metadata" => array:9 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} "accountModel" => RainLab\User\Models\User {#4792 #connection: "mysql" #table: "users" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:7 [ 0 => "last_seen" 1 => "banned_at" 2 => "deleted_at" 3 => "created_at" 4 => "updated_at" 5 => "activated_at" 6 => "two_factor_confirmed_at" ] #dateFormat: null #appends: array:1 [ 0 => "avatar_url" ] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "djfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} ] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ 0 => "profile_name" 1 => "uuid" 2 => "profiletype_id" 3 => "is_verified" 4 => "primary_color" 5 => "secondary_color" 6 => "highlight" 7 => "highlight_two" 8 => "highlight_three" 9 => "text_color_primary" 10 => "text_color_secondary" 11 => "text_color_highlight" 12 => "layout_preference" 13 => "slug" 14 => "sort_order" 15 => "user_id" 16 => "extended_profile_id" 17 => "is_active" 18 => "is_admin_managed" 19 => "is_remote_support" 20 => "subscription_tier" 21 => "related_type" 22 => "related_id" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => 20 "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ "ai_credits" => array:2 [ 0 => "Marty\AiSolutions\Models\AICredits" "key" => "djfest_profile_id" ] ] +hasMany: array:6 [ "socialAccounts" => array:2 [ 0 => "Marty\UserProfile\Models\SocialAccount" "key" => "djfest_profile_id" ] "submissions" => array:2 [ 0 => "Marty\Lineup\Models\Submission" "key" => "profile_id" ] "eventSubmissions" => array:2 [ 0 => "Marty\Djfest\Models\EventSubmission" "key" => "profile_id" ] "agent_instance_configs" => array:2 [ 0 => "Marty\AiSolutions\Models\AgentInstanceConfig" "key" => "djfest_profile_id" ] "links" => array:2 [ 0 => "Marty\Djfest\Models\Link" "key" => "djfest_profile_id" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "djfest_profile_id" ] ] +belongsTo: array:2 [ "user" => array:3 [ 0 => "RainLab\User\Models\User" "key" => "user_id" "otherKey" => "id" ] "profiletype" => array:3 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" "otherKey" => "id" ] ] +belongsToMany: array:3 [ "events" => array:5 [ 0 => "Radiantweb\Proevents\Models\Event" "table" => "marty_djfest_event_submissions" "key" => "profile_id" "otherKey" => "event_id" "pivot" => array:4 [ 0 => "status" 1 => "notes" 2 => "profiletype_id" 3 => "sort_order" ] ] "ownedProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "blogPosts" => array:4 [ 0 => "RainLab\Blog\Models\Post" "table" => "marty_djfest_post_profiles" "key" => "profile_id" "otherKey" => "post_id" ] ] +morphTo: array:1 [ "related" => [] ] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ "statuses" => array:3 [ 0 => "Marty\Djfest\Models\Status" "name" => "statusable" "table" => "marty_djfest_status_relations" ] "owners" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "equipment" => array:2 [ 0 => "Marty\Djfest\Models\Equipment" "name" => "owner" ] "attendees" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendable" "table" => "marty_userprofile_attendables" "key" => "attendable_uuid" "otherKey" => "attendee_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "attending" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendee" "table" => "marty_userprofile_attendables" "key" => "attendee_profile_uuid" "otherKey" => "attendable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hosts" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "hostable" "table" => "marty_userprofile_hostables" "key" => "hostable_uuid" "otherKey" => "host_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hostedBy" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "host" "table" => "marty_userprofile_hostables" "key" => "host_profile_uuid" "otherKey" => "hostable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "managers" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manageable" "table" => "marty_userprofile_manageables" "key" => "manageable_uuid" "otherKey" => "manager_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "managedBy" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manager" "table" => "marty_userprofile_manageables" "key" => "manager_profile_uuid" "otherKey" => "manageable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "members" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "membership" "table" => "marty_djfest_memberships" "key" => "membership_uuid" "otherKey" => "member_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "memberOf" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "member" "table" => "marty_djfest_memberships" "key" => "member_profile_uuid" "otherKey" => "membership_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownables" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownedBy" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4665 class: "Marty\Djfest\Models\DjfestProfile" this: Marty\Djfest\Models\DjfestProfile {#4580} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ 0 => "RainLab\Blog\Models\Post" 1 => "RainLab\User\Models\User" ] +rules: array:7 [ "profile_name" => "required|string|max:255" "profiletype_id" => "required|exists:marty_djfest_profiletypes,id" "slug" => "nullable|string|unique:marty_djfest_profiles,slug" "related_type" => "nullable|string" "related_id" => "nullable|integer" "is_admin_managed" => "boolean" "is_remote_support" => "boolean" ] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] #touches: [] +timestamps: true #hidden: array:4 [ 0 => "password" 1 => "remember_token" 2 => "two_factor_recovery_codes" 3 => "two_factor_secret" ] #visible: [] #fillable: array:7 [ 0 => "first_name" 1 => "last_name" 2 => "username" 3 => "email" 4 => "password" 5 => "password_confirmation" 6 => "is_guest" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:32 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "ownerId" => 20 "layout" => "Default" "isOwner" => null "hasElevatedPrivileges" => null "ownerInfo" => array:3 [ "user" => RainLab\User\Models\User {#4812 #connection: "mysql" #table: "users" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:7 [ 0 => "last_seen" 1 => "banned_at" 2 => "deleted_at" 3 => "created_at" 4 => "updated_at" 5 => "activated_at" 6 => "two_factor_confirmed_at" ] #dateFormat: null #appends: array:1 [ 0 => "avatar_url" ] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: array:4 [ 0 => "password" 1 => "remember_token" 2 => "two_factor_recovery_codes" 3 => "two_factor_secret" ] #visible: [] #fillable: array:7 [ 0 => "first_name" 1 => "last_name" 2 => "username" 3 => "email" 4 => "password" 5 => "password_confirmation" 6 => "is_guest" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:3 [ "extendedProfile" => array:1 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" ] "djfestProfile" => array:3 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" "scope" => Closure($query) {#4817 class: "Marty\Djfest\Plugin" this: Marty\Djfest\Plugin {#295 …} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/Plugin.php" line: "139 to 143" } ] "extendedUserProfile" => array:2 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "key" => "user_id" ] ] +hasMany: array:3 [ "activity_log" => array:2 [ 0 => "RainLab\User\Models\UserLog" "delete" => true ] "djfestProfiles" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" ] "djFestProfiles" => array:4 [ 0 => "Marty\Djfest\Models\DjfestProfile" "through" => "Marty\UserProfile\Models\ExtendedUserProfile" "foreignKey" => "user_id" "localKey" => "id" ] ] +belongsTo: array:1 [ "primary_group" => "RainLab\User\Models\UserGroup" ] +belongsToMany: array:1 [ "groups" => array:2 [ 0 => "RainLab\User\Models\UserGroup" "table" => "users_groups" ] ] +morphTo: [] +morphOne: [] +morphMany: array:1 [ "ownables" => array:5 [ 0 => "Marty\UserProfile\Models\Ownable" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" ] ] +morphToMany: array:1 [ "ownedDjfestProfiles" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: array:1 [ "avatar" => "System\Models\File" ] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:4 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4813 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSetAttribute" => array:1 [ 0 => array:2 [ 0 => Closure($key, $value) {#4814 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "39 to 47" } 1 => Closure($key, $value) {#4816 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Hashable.php" line: "38 to 43" } ] ] "model.beforeGetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key) {#4815 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "49 to 57" } ] ] "model.beforeSaveDone" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => RainLab\User\Models\User {#4812} 1 => "purgeAttributes" ] ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +rules: array:5 [ "first_name" => array:3 [ 0 => "required" 1 => "string" 2 => "max:255" ] "email" => array:4 [ 0 => "required" 1 => "between:3,255" 2 => "email" 3 => "unique:users,email,NULL,id,is_guest,false" ] "username" => array:3 [ 0 => "required" 1 => "between:2,255" 2 => "unique:users,username,NULL,id,is_guest,false" ] "password" => array:3 [ 0 => "required:create" 1 => "string" 2 => "confirmed" ] "avatar" => array:3 [ 0 => "nullable" 1 => "image" 2 => "max:4000" ] ] #purgeable: array:2 [ 0 => "password_confirmation" 1 => "send_invite" ] #hashable: array:1 [ 0 => "password" ] #encryptable: array:2 [ 0 => "two_factor_secret" 1 => "two_factor_recovery_codes" ] #passwordResetUrl: null #rememberTokenName: "remember_token" #emailVerificationUrl: null #forceDeleting: false +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #originalEncryptableValues: [] #originalPurgeableValues: [] #originalHashableValues: [] } "djfestProfile" => null "extendedUserProfile" => Marty\UserProfile\Models\ExtendedUserProfile {#4821 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:42 [ "id" => "20" "uuid" => "c98a5185-1656-4819-ad38-0f5789acd193" "user_id" => "20" "djfest_profile_id" => "39" "bio" => null "phone" => null "website" => null "api_key" => null "status" => null "profile_image" => null "location" => null "country" => null "date_of_birth" => null "skills" => null "interests" => null "work_experience" => null "education" => null "seeking_employment" => "0" "available_for_volunteer_work" => "0" "headline" => null "social_media_links" => null "resume_file" => null "languages" => null "timezone" => null "available_for_remote_work" => "0" "portfolio_link" => null "preferred_communication_method" => null "emergency_contact_name" => null "emergency_contact_relationship" => null "emergency_contact_phone" => null "emergency_contact_email" => null "medical_information" => null "additional_notes" => null "is_active" => "1" "is_verified" => "0" "is_public" => "1" "is_featured" => "0" "is_claimed" => "0" "profile_id" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "deleted_at" => null ] #changes: [] #casts: array:4 [ "uuid" => "string" "ai_provider_configs" => "array" "ai_usage_limits" => "array" "ai_cost_tracking" => "array" ] #classCastCache: [] #attributeCastCache: [] #dates: [] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:39 [ 0 => "user_id" 1 => "bio" 2 => "phone" 3 => "website" 4 => "status" 5 => "profile_image" 6 => "location" 7 => "country" 8 => "date_of_birth" 9 => "skills" 10 => "interests" 11 => "work_experience" 12 => "education" 13 => "seeking_employment" 14 => "available_for_volunteer_work" 15 => "headline" 16 => "social_media_links" 17 => "resume_file" 18 => "languages" 19 => "timezone" 20 => "available_for_remote_work" 21 => "portfolio_link" 22 => "preferred_communication_method" 23 => "emergency_contact_name" 24 => "emergency_contact_relationship" 25 => "emergency_contact_phone" 26 => "emergency_contact_email" 27 => "medical_information" 28 => "additional_notes" 29 => "is_active" 30 => "is_verified" 31 => "is_public" 32 => "is_featured" 33 => "is_claimed" 34 => "djfest_profile_id" 35 => "uuid" 36 => "ai_provider_configs" 37 => "ai_usage_limits" 38 => "ai_cost_tracking" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:42 [ "id" => "20" "uuid" => "c98a5185-1656-4819-ad38-0f5789acd193" "user_id" => "20" "djfest_profile_id" => "39" "bio" => null "phone" => null "website" => null "api_key" => null "status" => null "profile_image" => null "location" => null "country" => null "date_of_birth" => null "skills" => null "interests" => null "work_experience" => null "education" => null "seeking_employment" => "0" "available_for_volunteer_work" => "0" "headline" => null "social_media_links" => null "resume_file" => null "languages" => null "timezone" => null "available_for_remote_work" => "0" "portfolio_link" => null "preferred_communication_method" => null "emergency_contact_name" => null "emergency_contact_relationship" => null "emergency_contact_phone" => null "emergency_contact_email" => null "medical_information" => null "additional_notes" => null "is_active" => "1" "is_verified" => "0" "is_public" => "1" "is_featured" => "0" "is_claimed" => "0" "profile_id" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: array:3 [ "djfestProfiles" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "extended_profile_id" ] "ownedDjFestProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "extended_profile_id" ] ] +belongsTo: array:3 [ "user" => array:2 [ 0 => "RainLab\User\Models\User" "key" => "user_id" ] "profileType" => array:2 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" ] "primaryDjfestProfile" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "djfest_profile_id" ] ] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4776 class: "Marty\UserProfile\Models\ExtendedUserProfile" this: Marty\UserProfile\Models\ExtendedUserProfile {#4821} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_userprofile_extended_profiles" +relationConfig: "config_relation.yaml" +rules: array:2 [ "user_id" => "required|exists:users,id" "profiletype_id" => "exists:profile_types,id" ] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] } ] "metadata" => array:6 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} "modelClass" => "RainLab\User\Models\User" "profileId" => 20 "userId" => 20 "isComplete" => true "hasAccountModel" => true ] "profileContext" => array:2 [ "isComplete" => true "hasAccountModel" => true ] ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:3 [ "extendedProfile" => array:1 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" ] "djfestProfile" => array:3 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" "scope" => Closure($query) {#4797 class: "Marty\Djfest\Plugin" this: Marty\Djfest\Plugin {#295 …} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/Plugin.php" line: "139 to 143" } ] "extendedUserProfile" => array:2 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "key" => "user_id" ] ] +hasMany: array:3 [ "activity_log" => array:2 [ 0 => "RainLab\User\Models\UserLog" "delete" => true ] "djfestProfiles" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" ] "djFestProfiles" => array:4 [ 0 => "Marty\Djfest\Models\DjfestProfile" "through" => "Marty\UserProfile\Models\ExtendedUserProfile" "foreignKey" => "user_id" "localKey" => "id" ] ] +belongsTo: array:1 [ "primary_group" => "RainLab\User\Models\UserGroup" ] +belongsToMany: array:1 [ "groups" => array:2 [ 0 => "RainLab\User\Models\UserGroup" "table" => "users_groups" ] ] +morphTo: [] +morphOne: [] +morphMany: array:1 [ "ownables" => array:5 [ 0 => "Marty\UserProfile\Models\Ownable" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" ] ] +morphToMany: array:1 [ "ownedDjfestProfiles" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: array:1 [ "avatar" => "System\Models\File" ] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: array:1 [ "model.afterSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4842 class: "October\Rain\Database\Relations\HasOne" this: October\Rain\Database\Relations\HasOne {#4785 …} use: { $instance: Marty\Djfest\Models\DjfestProfile {#4580} } file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Relations/HasOne.php" line: "69 to 80" } ] ] ] #emitterEventCollection: array:4 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4793 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSetAttribute" => array:1 [ 0 => array:2 [ 0 => Closure($key, $value) {#4794 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "39 to 47" } 1 => Closure($key, $value) {#4796 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Hashable.php" line: "38 to 43" } ] ] "model.beforeGetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key) {#4795 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "49 to 57" } ] ] "model.beforeSaveDone" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => RainLab\User\Models\User {#4792} 1 => "purgeAttributes" ] ] ] ] #emitterEventSorted: array:2 [ "model.beforeGetAttribute" => array:1 [ 0 => Closure($key) {#4795} ] "model.beforeSetAttribute" => array:2 [ 0 => Closure($key, $value) {#4794} 1 => Closure($key, $value) {#4796} ] ] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +rules: array:5 [ "first_name" => array:3 [ 0 => "required" 1 => "string" 2 => "max:255" ] "email" => array:4 [ 0 => "required" 1 => "between:3,255" 2 => "email" 3 => "unique:users,email,NULL,id,is_guest,false" ] "username" => array:3 [ 0 => "required" 1 => "between:2,255" 2 => "unique:users,username,NULL,id,is_guest,false" ] "password" => array:3 [ 0 => "required:create" 1 => "string" 2 => "confirmed" ] "avatar" => array:3 [ 0 => "nullable" 1 => "image" 2 => "max:4000" ] ] #purgeable: array:2 [ 0 => "password_confirmation" 1 => "send_invite" ] #hashable: array:1 [ 0 => "password" ] #encryptable: array:2 [ 0 => "two_factor_secret" 1 => "two_factor_recovery_codes" ] #passwordResetUrl: null #rememberTokenName: "remember_token" #emailVerificationUrl: null #forceDeleting: false +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #originalEncryptableValues: [] #originalPurgeableValues: [] #originalHashableValues: [] } "requiresDjfestProfile" => true "hasDjfestProfile" => false "isComplete" => true "hasAccountModel" => true "modelClass" => "RainLab\User\Models\User" "profileId" => 20 "userId" => 20 ] "loggedInUser" => null "viewedDjfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580} "accessLevel" => "guest" "currentPage" => "20" "loadedAccount" => RainLab\User\Models\User {#4792} "fullUrl" => "https://www.djfest.app/profile/20" "displayAccount" => null "profileTypes" => [] ] #externalPropertyNames: [] #componentGetPathCache: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/components/accounteditor" #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/marty/djfest" +assetUrlPath: "/plugins/marty/djfest" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:5 [ "defaultAccessLevel" => "view" "showRelationships" => true "relationshipWhitelist" => "" "relationshipBlacklist" => "" "relationshipLayout" => "tabs" ] +themeCssVariables: array:8 [ "primary" => "#3490dc" "secondary" => "#2779bd" "highlight" => "#f6993f" "highlight_two" => "#f2d024" "highlight_three" => "#9C27B0" "text_primary" => "#ffffff" "text_secondary" => "#212121" "text_highlight" => "#212121" ] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4516 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4515} } #accountEditorService: Marty\Djfest\Services\AccountEditorService {#4522 +profileData: Marty\Djfest\Services\ProfileDataService {#4524 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4525} } +accessControl: Marty\Djfest\Services\AccessControlService {#4521 #component: null #services: [] } +accountSwitching: Marty\Djfest\Services\AccountSwitchingService {#4529 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4531 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4532} } #accessControlService: Marty\Djfest\Services\AccessControlService {#4528 #component: null #services: [] } } +dashboardData: Marty\Djfest\Services\DashboardDataService {#4523 #component: null #services: [] } +userProfile: Marty\Djfest\Services\UserProfileService {#4534 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4535 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4536} } } #formCache: [] #fieldConfigCache: [] } #themeService: Marty\Djfest\Services\ThemeCustomizationService {#4518 #component: null #services: [] } #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4520} #profileLayoutService: Marty\Djfest\Services\ProfileLayoutService {#4514 #component: null #services: [] #layoutStructure: array:3 [ "basic" => array:3 [ "hero" => "layout-elements/hero-sections/basic.htm" "about" => "layout-elements/text-blocks/simple.htm" "contact" => "layout-elements/contact-cards/minimal.htm" ] "premium" => array:5 [ "hero" => "layout-elements/hero-sections/enhanced.htm" "gallery" => "layout-elements/slideshow/carousel.htm" "about" => "layout-elements/text-blocks/rich.htm" "contact" => "layout-elements/contact-cards/detailed.htm" "social" => "layout-elements/social/comprehensive.htm" ] "enterprise" => array:5 [ "hero" => "layout-elements/hero-sections/custom.htm" "gallery" => "layout-elements/slideshow/masonry.htm" "stats" => "layout-elements/widgets/analytics.htm" "relationships" => "layout-elements/lists/dynamic.htm" "custom_sections" => "layout-elements/custom/configurable.htm" ] ] #elementDataSources: array:4 [ "slideshow" => array:3 [ "primary" => "attachMany:gallery" "fallback" => array:3 [ 0 => "hasMany:images" 1 => "hasMany:photos" 2 => "belongsToMany:media" ] "fields" => array:3 [ 0 => "image" 1 => "banner" 2 => "avatar" ] ] "contact" => array:2 [ "primary" => "self" "fields" => array:5 [ 0 => "email" 1 => "phone" 2 => "website" 3 => "address" 4 => "social_*" ] ] "relationships" => array:2 [ "configurable" => true "available" => array:4 [ 0 => "hasMany" 1 => "belongsToMany" 2 => "morphToMany" 3 => "morphMany" ] ] "stats" => array:3 [ "primary" => "self" "relationships" => array:3 [ 0 => "hasMany:events" 1 => "hasMany:bookings" 2 => "belongsToMany:followers" ] "computed" => true ] ] } #accountEditorWrapper: null +allProfiles: October\Rain\Database\Collection {#4588 #items: array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555} ] #escapeWhenCastingToString: false } +componentError: null +loggedInUser: null +viewedDjfestProfile: Marty\Djfest\Models\DjfestProfile {#4580} +accessLevel: "guest" +currentPage: "20" +hasElevatedPrivileges: false +isOwner: false +canViewDashboard: false +loadedAccount: RainLab\User\Models\User {#4792} +ownedProfiles: null +ownerId: null +layout: "Default" +activeAccount: null +profileTypes: [] +viewedAccountProfiletypes: [] +profileLayoutPartial: "layout-default" +forceDebugProfile: 0 #accessStates: [] } |
||
{{ user }} | NULL | |
null
|
||
{{ __SELF__ }} | Component | Account Editor (Display & Theming) |
Marty\Djfest\Components\AccountEditor {#4519 +implement: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +id: "accountEditor68f39a15034e6" +alias: "accountEditor" +name: "accountEditor" +isHidden: false +pluginIcon: null +componentCssClass: null +inspectorEnabled: true #dirName: "marty/djfest/components/accounteditor" #controller: null #page: array:18 [ "profilesByType" => array:1 [ "user" => array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "profileType" => Marty\Djfest\Models\ProfileType {#4599 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #changes: [] #casts: array:28 [ "access" => "array" "agent_config" => "array" "api_help" => "array" "api_methods" => "array" "blog_article" => "array" "common" => "array" "content_types" => "array" "conversation_analysis" => "array" "descriptions" => "array" "error_guidance" => "array" "fillable_fields" => "array" "sensitive_fields" => "array" "knowledgebase" => "array" "logging_details" => "array" "methods" => "array" "query_params" => "array" "related_files" => "array" "relationships" => "array" "response_structure" => "array" "sensitive_data" => "array" "status_groups" => "array" "tone" => "array" "metadata" => "array" "is_active" => "boolean" "is_featured" => "boolean" "is_default" => "boolean" "ai_enabled" => "boolean" "requires_djfest_profile" => "boolean" ] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:50 [ 0 => "name" 1 => "code" 2 => "model_class" 3 => "description" 4 => "category" 5 => "type" 6 => "status" 7 => "slug" 8 => "scope" 9 => "uuid" 10 => "icon" 11 => "prompt_instructions" 12 => "sort_order" 13 => "user_id" 14 => "djfest_profile_id" 15 => "namespace" 16 => "is_active" 17 => "is_featured" 18 => "is_default" 19 => "ai_enabled" 20 => "requires_djfest_profile" 21 => "api_endpoint" 22 => "api_version" 23 => "controller_path" 24 => "migration_path" 25 => "fields_path" 26 => "columns_path" 27 => "class" 28 => "agent_config" 29 => "common" 30 => "fillable_fields" 31 => "sensitive_fields" 32 => "tone" 33 => "content_types" 34 => "conversation_analysis" 35 => "query_params" 36 => "blog_article" 37 => "relationships" 38 => "metadata" 39 => "response_structure" 40 => "error_guidance" 41 => "logging_details" 42 => "related_files" 43 => "api_help" 44 => "access" 45 => "status_groups" 46 => "methods" 47 => "api_methods" 48 => "knowledgebase" 49 => "sensitive_data" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: [] +belongsTo: [] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:2 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4597 class: "Marty\Djfest\Models\ProfileType" this: Marty\Djfest\Models\ProfileType {#4599} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4611 class: "Marty\Djfest\Models\ProfileType" use: { $model: Marty\Djfest\Models\ProfileType {#4599} } file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/models/ProfileType.php" line: "173 to 182" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null #rules: [] +table: "marty_djfest_profiletypes" +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ 0 => "profile_name" 1 => "uuid" 2 => "profiletype_id" 3 => "is_verified" 4 => "primary_color" 5 => "secondary_color" 6 => "highlight" 7 => "highlight_two" 8 => "highlight_three" 9 => "text_color_primary" 10 => "text_color_secondary" 11 => "text_color_highlight" 12 => "layout_preference" 13 => "slug" 14 => "sort_order" 15 => "user_id" 16 => "extended_profile_id" 17 => "is_active" 18 => "is_admin_managed" 19 => "is_remote_support" 20 => "subscription_tier" 21 => "related_type" 22 => "related_id" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ "ai_credits" => array:2 [ 0 => "Marty\AiSolutions\Models\AICredits" "key" => "djfest_profile_id" ] ] +hasMany: array:6 [ "socialAccounts" => array:2 [ 0 => "Marty\UserProfile\Models\SocialAccount" "key" => "djfest_profile_id" ] "submissions" => array:2 [ 0 => "Marty\Lineup\Models\Submission" "key" => "profile_id" ] "eventSubmissions" => array:2 [ 0 => "Marty\Djfest\Models\EventSubmission" "key" => "profile_id" ] "agent_instance_configs" => array:2 [ 0 => "Marty\AiSolutions\Models\AgentInstanceConfig" "key" => "djfest_profile_id" ] "links" => array:2 [ 0 => "Marty\Djfest\Models\Link" "key" => "djfest_profile_id" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "djfest_profile_id" ] ] +belongsTo: array:2 [ "user" => array:3 [ 0 => "RainLab\User\Models\User" "key" => "user_id" "otherKey" => "id" ] "profiletype" => array:3 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" "otherKey" => "id" ] ] +belongsToMany: array:3 [ "events" => array:5 [ 0 => "Radiantweb\Proevents\Models\Event" "table" => "marty_djfest_event_submissions" "key" => "profile_id" "otherKey" => "event_id" "pivot" => array:4 [ 0 => "status" 1 => "notes" 2 => "profiletype_id" 3 => "sort_order" ] ] "ownedProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "blogPosts" => array:4 [ 0 => "RainLab\Blog\Models\Post" "table" => "marty_djfest_post_profiles" "key" => "profile_id" "otherKey" => "post_id" ] ] +morphTo: array:1 [ "related" => [] ] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ "statuses" => array:3 [ 0 => "Marty\Djfest\Models\Status" "name" => "statusable" "table" => "marty_djfest_status_relations" ] "owners" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "equipment" => array:2 [ 0 => "Marty\Djfest\Models\Equipment" "name" => "owner" ] "attendees" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendable" "table" => "marty_userprofile_attendables" "key" => "attendable_uuid" "otherKey" => "attendee_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "attending" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendee" "table" => "marty_userprofile_attendables" "key" => "attendee_profile_uuid" "otherKey" => "attendable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hosts" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "hostable" "table" => "marty_userprofile_hostables" "key" => "hostable_uuid" "otherKey" => "host_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hostedBy" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "host" "table" => "marty_userprofile_hostables" "key" => "host_profile_uuid" "otherKey" => "hostable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "managers" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manageable" "table" => "marty_userprofile_manageables" "key" => "manageable_uuid" "otherKey" => "manager_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "managedBy" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manager" "table" => "marty_userprofile_manageables" "key" => "manager_profile_uuid" "otherKey" => "manageable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "members" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "membership" "table" => "marty_djfest_memberships" "key" => "membership_uuid" "otherKey" => "member_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "memberOf" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "member" "table" => "marty_djfest_memberships" "key" => "member_profile_uuid" "otherKey" => "membership_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownables" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownedBy" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4603 class: "Marty\Djfest\Models\DjfestProfile" this: Marty\Djfest\Models\DjfestProfile {#4555} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ 0 => "RainLab\Blog\Models\Post" 1 => "RainLab\User\Models\User" ] +rules: array:7 [ "profile_name" => "required|string|max:255" "profiletype_id" => "required|exists:marty_djfest_profiletypes,id" "slug" => "nullable|string|unique:marty_djfest_profiles,slug" "related_type" => "nullable|string" "related_id" => "nullable|integer" "is_admin_managed" => "boolean" "is_remote_support" => "boolean" ] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] ] "profileTypeTabs" => array:1 [ 0 => "user" ] "viewedAccountProfileTypes" => null "profileLayoutHtml" => "<div class="alert alert-danger">Error loading profile layout.</div>" "dynamicRelationships" => [] "relationshipLayout" => "tabs" "requiresDjfestProfile" => true "profileType" => Marty\Djfest\Models\ProfileType {#4661 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #changes: [] #casts: array:28 [ "access" => "array" "agent_config" => "array" "api_help" => "array" "api_methods" => "array" "blog_article" => "array" "common" => "array" "content_types" => "array" "conversation_analysis" => "array" "descriptions" => "array" "error_guidance" => "array" "fillable_fields" => "array" "sensitive_fields" => "array" "knowledgebase" => "array" "logging_details" => "array" "methods" => "array" "query_params" => "array" "related_files" => "array" "relationships" => "array" "response_structure" => "array" "sensitive_data" => "array" "status_groups" => "array" "tone" => "array" "metadata" => "array" "is_active" => "boolean" "is_featured" => "boolean" "is_default" => "boolean" "ai_enabled" => "boolean" "requires_djfest_profile" => "boolean" ] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:50 [ 0 => "name" 1 => "code" 2 => "model_class" 3 => "description" 4 => "category" 5 => "type" 6 => "status" 7 => "slug" 8 => "scope" 9 => "uuid" 10 => "icon" 11 => "prompt_instructions" 12 => "sort_order" 13 => "user_id" 14 => "djfest_profile_id" 15 => "namespace" 16 => "is_active" 17 => "is_featured" 18 => "is_default" 19 => "ai_enabled" 20 => "requires_djfest_profile" 21 => "api_endpoint" 22 => "api_version" 23 => "controller_path" 24 => "migration_path" 25 => "fields_path" 26 => "columns_path" 27 => "class" 28 => "agent_config" 29 => "common" 30 => "fillable_fields" 31 => "sensitive_fields" 32 => "tone" 33 => "content_types" 34 => "conversation_analysis" 35 => "query_params" 36 => "blog_article" 37 => "relationships" 38 => "metadata" 39 => "response_structure" 40 => "error_guidance" 41 => "logging_details" 42 => "related_files" 43 => "api_help" 44 => "access" 45 => "status_groups" 46 => "methods" 47 => "api_methods" 48 => "knowledgebase" 49 => "sensitive_data" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: [] +belongsTo: [] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:2 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4659 class: "Marty\Djfest\Models\ProfileType" this: Marty\Djfest\Models\ProfileType {#4661} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4673 class: "Marty\Djfest\Models\ProfileType" use: { $model: Marty\Djfest\Models\ProfileType {#4661} } file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/models/ProfileType.php" line: "173 to 182" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null #rules: [] +table: "marty_djfest_profiletypes" +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } "formFields" => array:2 [ "djfestProfile" => null "extendedUserProfile" => null ] "metadata" => array:9 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} "accountModel" => RainLab\User\Models\User {#4792 #connection: "mysql" #table: "users" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:7 [ 0 => "last_seen" 1 => "banned_at" 2 => "deleted_at" 3 => "created_at" 4 => "updated_at" 5 => "activated_at" 6 => "two_factor_confirmed_at" ] #dateFormat: null #appends: array:1 [ 0 => "avatar_url" ] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "djfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} ] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ 0 => "profile_name" 1 => "uuid" 2 => "profiletype_id" 3 => "is_verified" 4 => "primary_color" 5 => "secondary_color" 6 => "highlight" 7 => "highlight_two" 8 => "highlight_three" 9 => "text_color_primary" 10 => "text_color_secondary" 11 => "text_color_highlight" 12 => "layout_preference" 13 => "slug" 14 => "sort_order" 15 => "user_id" 16 => "extended_profile_id" 17 => "is_active" 18 => "is_admin_managed" 19 => "is_remote_support" 20 => "subscription_tier" 21 => "related_type" 22 => "related_id" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => 20 "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ "ai_credits" => array:2 [ 0 => "Marty\AiSolutions\Models\AICredits" "key" => "djfest_profile_id" ] ] +hasMany: array:6 [ "socialAccounts" => array:2 [ 0 => "Marty\UserProfile\Models\SocialAccount" "key" => "djfest_profile_id" ] "submissions" => array:2 [ 0 => "Marty\Lineup\Models\Submission" "key" => "profile_id" ] "eventSubmissions" => array:2 [ 0 => "Marty\Djfest\Models\EventSubmission" "key" => "profile_id" ] "agent_instance_configs" => array:2 [ 0 => "Marty\AiSolutions\Models\AgentInstanceConfig" "key" => "djfest_profile_id" ] "links" => array:2 [ 0 => "Marty\Djfest\Models\Link" "key" => "djfest_profile_id" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "djfest_profile_id" ] ] +belongsTo: array:2 [ "user" => array:3 [ 0 => "RainLab\User\Models\User" "key" => "user_id" "otherKey" => "id" ] "profiletype" => array:3 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" "otherKey" => "id" ] ] +belongsToMany: array:3 [ "events" => array:5 [ 0 => "Radiantweb\Proevents\Models\Event" "table" => "marty_djfest_event_submissions" "key" => "profile_id" "otherKey" => "event_id" "pivot" => array:4 [ 0 => "status" 1 => "notes" 2 => "profiletype_id" 3 => "sort_order" ] ] "ownedProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "blogPosts" => array:4 [ 0 => "RainLab\Blog\Models\Post" "table" => "marty_djfest_post_profiles" "key" => "profile_id" "otherKey" => "post_id" ] ] +morphTo: array:1 [ "related" => [] ] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ "statuses" => array:3 [ 0 => "Marty\Djfest\Models\Status" "name" => "statusable" "table" => "marty_djfest_status_relations" ] "owners" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "equipment" => array:2 [ 0 => "Marty\Djfest\Models\Equipment" "name" => "owner" ] "attendees" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendable" "table" => "marty_userprofile_attendables" "key" => "attendable_uuid" "otherKey" => "attendee_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "attending" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendee" "table" => "marty_userprofile_attendables" "key" => "attendee_profile_uuid" "otherKey" => "attendable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hosts" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "hostable" "table" => "marty_userprofile_hostables" "key" => "hostable_uuid" "otherKey" => "host_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hostedBy" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "host" "table" => "marty_userprofile_hostables" "key" => "host_profile_uuid" "otherKey" => "hostable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "managers" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manageable" "table" => "marty_userprofile_manageables" "key" => "manageable_uuid" "otherKey" => "manager_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "managedBy" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manager" "table" => "marty_userprofile_manageables" "key" => "manager_profile_uuid" "otherKey" => "manageable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "members" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "membership" "table" => "marty_djfest_memberships" "key" => "membership_uuid" "otherKey" => "member_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "memberOf" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "member" "table" => "marty_djfest_memberships" "key" => "member_profile_uuid" "otherKey" => "membership_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownables" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownedBy" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4665 class: "Marty\Djfest\Models\DjfestProfile" this: Marty\Djfest\Models\DjfestProfile {#4580} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ 0 => "RainLab\Blog\Models\Post" 1 => "RainLab\User\Models\User" ] +rules: array:7 [ "profile_name" => "required|string|max:255" "profiletype_id" => "required|exists:marty_djfest_profiletypes,id" "slug" => "nullable|string|unique:marty_djfest_profiles,slug" "related_type" => "nullable|string" "related_id" => "nullable|integer" "is_admin_managed" => "boolean" "is_remote_support" => "boolean" ] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] #touches: [] +timestamps: true #hidden: array:4 [ 0 => "password" 1 => "remember_token" 2 => "two_factor_recovery_codes" 3 => "two_factor_secret" ] #visible: [] #fillable: array:7 [ 0 => "first_name" 1 => "last_name" 2 => "username" 3 => "email" 4 => "password" 5 => "password_confirmation" 6 => "is_guest" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:32 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "ownerId" => 20 "layout" => "Default" "isOwner" => null "hasElevatedPrivileges" => null "ownerInfo" => array:3 [ "user" => RainLab\User\Models\User {#4812 #connection: "mysql" #table: "users" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:7 [ 0 => "last_seen" 1 => "banned_at" 2 => "deleted_at" 3 => "created_at" 4 => "updated_at" 5 => "activated_at" 6 => "two_factor_confirmed_at" ] #dateFormat: null #appends: array:1 [ 0 => "avatar_url" ] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: array:4 [ 0 => "password" 1 => "remember_token" 2 => "two_factor_recovery_codes" 3 => "two_factor_secret" ] #visible: [] #fillable: array:7 [ 0 => "first_name" 1 => "last_name" 2 => "username" 3 => "email" 4 => "password" 5 => "password_confirmation" 6 => "is_guest" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:25 [ "id" => "20" "is_guest" => "0" "is_mail_blocked" => "0" "first_name" => "Gage" "last_name" => "Baggs" "username" => "gage-baggs" "email" => "Gagebaggsmusic@gmail.com" "notes" => null "password" => "$2y$10$U/Qo6h2sZH4HJmv/xPDzJe51rDL.3hIV5aFt25tvNEGy1Mw/XI.5a" "activation_code" => null "persist_code" => null "remember_token" => null "two_factor_secret" => null "two_factor_recovery_codes" => null "primary_group_id" => "2" "created_ip_address" => null "last_ip_address" => null "banned_reason" => null "banned_at" => null "activated_at" => "2025-09-17 18:29:30" "two_factor_confirmed_at" => null "last_seen" => null "deleted_at" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:3 [ "extendedProfile" => array:1 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" ] "djfestProfile" => array:3 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" "scope" => Closure($query) {#4817 class: "Marty\Djfest\Plugin" this: Marty\Djfest\Plugin {#295 …} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/Plugin.php" line: "139 to 143" } ] "extendedUserProfile" => array:2 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "key" => "user_id" ] ] +hasMany: array:3 [ "activity_log" => array:2 [ 0 => "RainLab\User\Models\UserLog" "delete" => true ] "djfestProfiles" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" ] "djFestProfiles" => array:4 [ 0 => "Marty\Djfest\Models\DjfestProfile" "through" => "Marty\UserProfile\Models\ExtendedUserProfile" "foreignKey" => "user_id" "localKey" => "id" ] ] +belongsTo: array:1 [ "primary_group" => "RainLab\User\Models\UserGroup" ] +belongsToMany: array:1 [ "groups" => array:2 [ 0 => "RainLab\User\Models\UserGroup" "table" => "users_groups" ] ] +morphTo: [] +morphOne: [] +morphMany: array:1 [ "ownables" => array:5 [ 0 => "Marty\UserProfile\Models\Ownable" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" ] ] +morphToMany: array:1 [ "ownedDjfestProfiles" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: array:1 [ "avatar" => "System\Models\File" ] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:4 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4813 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSetAttribute" => array:1 [ 0 => array:2 [ 0 => Closure($key, $value) {#4814 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "39 to 47" } 1 => Closure($key, $value) {#4816 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Hashable.php" line: "38 to 43" } ] ] "model.beforeGetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key) {#4815 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4812} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "49 to 57" } ] ] "model.beforeSaveDone" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => RainLab\User\Models\User {#4812} 1 => "purgeAttributes" ] ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +rules: array:5 [ "first_name" => array:3 [ 0 => "required" 1 => "string" 2 => "max:255" ] "email" => array:4 [ 0 => "required" 1 => "between:3,255" 2 => "email" 3 => "unique:users,email,NULL,id,is_guest,false" ] "username" => array:3 [ 0 => "required" 1 => "between:2,255" 2 => "unique:users,username,NULL,id,is_guest,false" ] "password" => array:3 [ 0 => "required:create" 1 => "string" 2 => "confirmed" ] "avatar" => array:3 [ 0 => "nullable" 1 => "image" 2 => "max:4000" ] ] #purgeable: array:2 [ 0 => "password_confirmation" 1 => "send_invite" ] #hashable: array:1 [ 0 => "password" ] #encryptable: array:2 [ 0 => "two_factor_secret" 1 => "two_factor_recovery_codes" ] #passwordResetUrl: null #rememberTokenName: "remember_token" #emailVerificationUrl: null #forceDeleting: false +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #originalEncryptableValues: [] #originalPurgeableValues: [] #originalHashableValues: [] } "djfestProfile" => null "extendedUserProfile" => Marty\UserProfile\Models\ExtendedUserProfile {#4821 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:42 [ "id" => "20" "uuid" => "c98a5185-1656-4819-ad38-0f5789acd193" "user_id" => "20" "djfest_profile_id" => "39" "bio" => null "phone" => null "website" => null "api_key" => null "status" => null "profile_image" => null "location" => null "country" => null "date_of_birth" => null "skills" => null "interests" => null "work_experience" => null "education" => null "seeking_employment" => "0" "available_for_volunteer_work" => "0" "headline" => null "social_media_links" => null "resume_file" => null "languages" => null "timezone" => null "available_for_remote_work" => "0" "portfolio_link" => null "preferred_communication_method" => null "emergency_contact_name" => null "emergency_contact_relationship" => null "emergency_contact_phone" => null "emergency_contact_email" => null "medical_information" => null "additional_notes" => null "is_active" => "1" "is_verified" => "0" "is_public" => "1" "is_featured" => "0" "is_claimed" => "0" "profile_id" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "deleted_at" => null ] #changes: [] #casts: array:4 [ "uuid" => "string" "ai_provider_configs" => "array" "ai_usage_limits" => "array" "ai_cost_tracking" => "array" ] #classCastCache: [] #attributeCastCache: [] #dates: [] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:39 [ 0 => "user_id" 1 => "bio" 2 => "phone" 3 => "website" 4 => "status" 5 => "profile_image" 6 => "location" 7 => "country" 8 => "date_of_birth" 9 => "skills" 10 => "interests" 11 => "work_experience" 12 => "education" 13 => "seeking_employment" 14 => "available_for_volunteer_work" 15 => "headline" 16 => "social_media_links" 17 => "resume_file" 18 => "languages" 19 => "timezone" 20 => "available_for_remote_work" 21 => "portfolio_link" 22 => "preferred_communication_method" 23 => "emergency_contact_name" 24 => "emergency_contact_relationship" 25 => "emergency_contact_phone" 26 => "emergency_contact_email" 27 => "medical_information" 28 => "additional_notes" 29 => "is_active" 30 => "is_verified" 31 => "is_public" 32 => "is_featured" 33 => "is_claimed" 34 => "djfest_profile_id" 35 => "uuid" 36 => "ai_provider_configs" 37 => "ai_usage_limits" 38 => "ai_cost_tracking" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:42 [ "id" => "20" "uuid" => "c98a5185-1656-4819-ad38-0f5789acd193" "user_id" => "20" "djfest_profile_id" => "39" "bio" => null "phone" => null "website" => null "api_key" => null "status" => null "profile_image" => null "location" => null "country" => null "date_of_birth" => null "skills" => null "interests" => null "work_experience" => null "education" => null "seeking_employment" => "0" "available_for_volunteer_work" => "0" "headline" => null "social_media_links" => null "resume_file" => null "languages" => null "timezone" => null "available_for_remote_work" => "0" "portfolio_link" => null "preferred_communication_method" => null "emergency_contact_name" => null "emergency_contact_relationship" => null "emergency_contact_phone" => null "emergency_contact_email" => null "medical_information" => null "additional_notes" => null "is_active" => "1" "is_verified" => "0" "is_public" => "1" "is_featured" => "0" "is_claimed" => "0" "profile_id" => null "created_at" => "2025-09-17 18:29:30" "updated_at" => "2025-09-17 18:29:30" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: array:3 [ "djfestProfiles" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "extended_profile_id" ] "ownedDjFestProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "extended_profile_id" ] ] +belongsTo: array:3 [ "user" => array:2 [ 0 => "RainLab\User\Models\User" "key" => "user_id" ] "profileType" => array:2 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" ] "primaryDjfestProfile" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "djfest_profile_id" ] ] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4776 class: "Marty\UserProfile\Models\ExtendedUserProfile" this: Marty\UserProfile\Models\ExtendedUserProfile {#4821} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_userprofile_extended_profiles" +relationConfig: "config_relation.yaml" +rules: array:2 [ "user_id" => "required|exists:users,id" "profiletype_id" => "exists:profile_types,id" ] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] } ] "metadata" => array:6 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661} "modelClass" => "RainLab\User\Models\User" "profileId" => 20 "userId" => 20 "isComplete" => true "hasAccountModel" => true ] "profileContext" => array:2 [ "isComplete" => true "hasAccountModel" => true ] ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:3 [ "extendedProfile" => array:1 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" ] "djfestProfile" => array:3 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" "scope" => Closure($query) {#4797 class: "Marty\Djfest\Plugin" this: Marty\Djfest\Plugin {#295 …} file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/Plugin.php" line: "139 to 143" } ] "extendedUserProfile" => array:2 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "key" => "user_id" ] ] +hasMany: array:3 [ "activity_log" => array:2 [ 0 => "RainLab\User\Models\UserLog" "delete" => true ] "djfestProfiles" => array:2 [ 0 => "Marty\Djfest\Models\DjfestProfile" "key" => "user_id" ] "djFestProfiles" => array:4 [ 0 => "Marty\Djfest\Models\DjfestProfile" "through" => "Marty\UserProfile\Models\ExtendedUserProfile" "foreignKey" => "user_id" "localKey" => "id" ] ] +belongsTo: array:1 [ "primary_group" => "RainLab\User\Models\UserGroup" ] +belongsToMany: array:1 [ "groups" => array:2 [ 0 => "RainLab\User\Models\UserGroup" "table" => "users_groups" ] ] +morphTo: [] +morphOne: [] +morphMany: array:1 [ "ownables" => array:5 [ 0 => "Marty\UserProfile\Models\Ownable" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" ] ] +morphToMany: array:1 [ "ownedDjfestProfiles" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: array:1 [ "avatar" => "System\Models\File" ] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: array:1 [ "model.afterSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4842 class: "October\Rain\Database\Relations\HasOne" this: October\Rain\Database\Relations\HasOne {#4785 …} use: { $instance: Marty\Djfest\Models\DjfestProfile {#4580} } file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Relations/HasOne.php" line: "69 to 80" } ] ] ] #emitterEventCollection: array:4 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4793 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSetAttribute" => array:1 [ 0 => array:2 [ 0 => Closure($key, $value) {#4794 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "39 to 47" } 1 => Closure($key, $value) {#4796 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Hashable.php" line: "38 to 43" } ] ] "model.beforeGetAttribute" => array:1 [ 0 => array:1 [ 0 => Closure($key) {#4795 class: "RainLab\User\Models\User" this: RainLab\User\Models\User {#4792} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Encryptable.php" line: "49 to 57" } ] ] "model.beforeSaveDone" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => RainLab\User\Models\User {#4792} 1 => "purgeAttributes" ] ] ] ] #emitterEventSorted: array:2 [ "model.beforeGetAttribute" => array:1 [ 0 => Closure($key) {#4795} ] "model.beforeSetAttribute" => array:2 [ 0 => Closure($key, $value) {#4794} 1 => Closure($key, $value) {#4796} ] ] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +rules: array:5 [ "first_name" => array:3 [ 0 => "required" 1 => "string" 2 => "max:255" ] "email" => array:4 [ 0 => "required" 1 => "between:3,255" 2 => "email" 3 => "unique:users,email,NULL,id,is_guest,false" ] "username" => array:3 [ 0 => "required" 1 => "between:2,255" 2 => "unique:users,username,NULL,id,is_guest,false" ] "password" => array:3 [ 0 => "required:create" 1 => "string" 2 => "confirmed" ] "avatar" => array:3 [ 0 => "nullable" 1 => "image" 2 => "max:4000" ] ] #purgeable: array:2 [ 0 => "password_confirmation" 1 => "send_invite" ] #hashable: array:1 [ 0 => "password" ] #encryptable: array:2 [ 0 => "two_factor_secret" 1 => "two_factor_recovery_codes" ] #passwordResetUrl: null #rememberTokenName: "remember_token" #emailVerificationUrl: null #forceDeleting: false +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #originalEncryptableValues: [] #originalPurgeableValues: [] #originalHashableValues: [] } "requiresDjfestProfile" => true "hasDjfestProfile" => false "isComplete" => true "hasAccountModel" => true "modelClass" => "RainLab\User\Models\User" "profileId" => 20 "userId" => 20 ] "loggedInUser" => null "viewedDjfestProfile" => Marty\Djfest\Models\DjfestProfile {#4580} "accessLevel" => "guest" "currentPage" => "20" "loadedAccount" => RainLab\User\Models\User {#4792} "fullUrl" => "https://www.djfest.app/profile/20" "displayAccount" => null "profileTypes" => [] ] #externalPropertyNames: [] #componentGetPathCache: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/components/accounteditor" #assets: array:3 [ "js" => [] "css" => [] "rss" => [] ] #assetBundles: array:2 [ "js" => [] "css" => [] ] +assetPath: "/plugins/marty/djfest" +assetUrlPath: "/plugins/marty/djfest" #assetDefaults: array:1 [ "build" => "core" ] #emitterSingleEventCollection: [] #emitterEventCollection: [] #emitterEventSorted: [] #dependencyResolver: null #properties: array:5 [ "defaultAccessLevel" => "view" "showRelationships" => true "relationshipWhitelist" => "" "relationshipBlacklist" => "" "relationshipLayout" => "tabs" ] +themeCssVariables: array:8 [ "primary" => "#3490dc" "secondary" => "#2779bd" "highlight" => "#f6993f" "highlight_two" => "#f2d024" "highlight_three" => "#9C27B0" "text_primary" => "#ffffff" "text_secondary" => "#212121" "text_highlight" => "#212121" ] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4516 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4515} } #accountEditorService: Marty\Djfest\Services\AccountEditorService {#4522 +profileData: Marty\Djfest\Services\ProfileDataService {#4524 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4525} } +accessControl: Marty\Djfest\Services\AccessControlService {#4521 #component: null #services: [] } +accountSwitching: Marty\Djfest\Services\AccountSwitchingService {#4529 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4531 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4532} } #accessControlService: Marty\Djfest\Services\AccessControlService {#4528 #component: null #services: [] } } +dashboardData: Marty\Djfest\Services\DashboardDataService {#4523 #component: null #services: [] } +userProfile: Marty\Djfest\Services\UserProfileService {#4534 #component: null #services: [] #profileDataService: Marty\Djfest\Services\ProfileDataService {#4535 #component: null #services: [] #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4536} } } #formCache: [] #fieldConfigCache: [] } #themeService: Marty\Djfest\Services\ThemeCustomizationService {#4518 #component: null #services: [] } #modelConfigService: Marty\Djfest\Services\ModelConfigurationService {#4520} #profileLayoutService: Marty\Djfest\Services\ProfileLayoutService {#4514 #component: null #services: [] #layoutStructure: array:3 [ "basic" => array:3 [ "hero" => "layout-elements/hero-sections/basic.htm" "about" => "layout-elements/text-blocks/simple.htm" "contact" => "layout-elements/contact-cards/minimal.htm" ] "premium" => array:5 [ "hero" => "layout-elements/hero-sections/enhanced.htm" "gallery" => "layout-elements/slideshow/carousel.htm" "about" => "layout-elements/text-blocks/rich.htm" "contact" => "layout-elements/contact-cards/detailed.htm" "social" => "layout-elements/social/comprehensive.htm" ] "enterprise" => array:5 [ "hero" => "layout-elements/hero-sections/custom.htm" "gallery" => "layout-elements/slideshow/masonry.htm" "stats" => "layout-elements/widgets/analytics.htm" "relationships" => "layout-elements/lists/dynamic.htm" "custom_sections" => "layout-elements/custom/configurable.htm" ] ] #elementDataSources: array:4 [ "slideshow" => array:3 [ "primary" => "attachMany:gallery" "fallback" => array:3 [ 0 => "hasMany:images" 1 => "hasMany:photos" 2 => "belongsToMany:media" ] "fields" => array:3 [ 0 => "image" 1 => "banner" 2 => "avatar" ] ] "contact" => array:2 [ "primary" => "self" "fields" => array:5 [ 0 => "email" 1 => "phone" 2 => "website" 3 => "address" 4 => "social_*" ] ] "relationships" => array:2 [ "configurable" => true "available" => array:4 [ 0 => "hasMany" 1 => "belongsToMany" 2 => "morphToMany" 3 => "morphMany" ] ] "stats" => array:3 [ "primary" => "self" "relationships" => array:3 [ 0 => "hasMany:events" 1 => "hasMany:bookings" 2 => "belongsToMany:followers" ] "computed" => true ] ] } #accountEditorWrapper: null +allProfiles: October\Rain\Database\Collection {#4588 #items: array:1 [ 0 => Marty\Djfest\Models\DjfestProfile {#4555} ] #escapeWhenCastingToString: false } +componentError: null +loggedInUser: null +viewedDjfestProfile: Marty\Djfest\Models\DjfestProfile {#4580} +accessLevel: "guest" +currentPage: "20" +hasElevatedPrivileges: false +isOwner: false +canViewDashboard: false +loadedAccount: RainLab\User\Models\User {#4792} +ownedProfiles: null +ownerId: null +layout: "Default" +activeAccount: null +profileTypes: [] +viewedAccountProfiletypes: [] +profileLayoutPartial: "layout-default" +forceDebugProfile: 0 #accessStates: [] } |
||
{{ profile }} | Model | |
Marty\Djfest\Models\DjfestProfile {#4580 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => "20" "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #changes: [] #casts: [] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: array:1 [ "profileType" => Marty\Djfest\Models\ProfileType {#4661 #connection: "mysql" #table: ? #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] +preventsLazyLoading: false #perPage: 15 +exists: true +wasRecentlyCreated: false #escapeWhenCastingToString: false #attributes: ? #original: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #changes: [] #casts: array:28 [ "access" => "array" "agent_config" => "array" "api_help" => "array" "api_methods" => "array" "blog_article" => "array" "common" => "array" "content_types" => "array" "conversation_analysis" => "array" "descriptions" => "array" "error_guidance" => "array" "fillable_fields" => "array" "sensitive_fields" => "array" "knowledgebase" => "array" "logging_details" => "array" "methods" => "array" "query_params" => "array" "related_files" => "array" "relationships" => "array" "response_structure" => "array" "sensitive_data" => "array" "status_groups" => "array" "tone" => "array" "metadata" => "array" "is_active" => "boolean" "is_featured" => "boolean" "is_default" => "boolean" "ai_enabled" => "boolean" "requires_djfest_profile" => "boolean" ] #classCastCache: [] #attributeCastCache: [] #dates: array:1 [ 0 => "deleted_at" ] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:50 [ 0 => "name" 1 => "code" 2 => "model_class" 3 => "description" 4 => "category" 5 => "type" 6 => "status" 7 => "slug" 8 => "scope" 9 => "uuid" 10 => "icon" 11 => "prompt_instructions" 12 => "sort_order" 13 => "user_id" 14 => "djfest_profile_id" 15 => "namespace" 16 => "is_active" 17 => "is_featured" 18 => "is_default" 19 => "ai_enabled" 20 => "requires_djfest_profile" 21 => "api_endpoint" 22 => "api_version" 23 => "controller_path" 24 => "migration_path" 25 => "fields_path" 26 => "columns_path" 27 => "class" 28 => "agent_config" 29 => "common" 30 => "fillable_fields" 31 => "sensitive_fields" 32 => "tone" 33 => "content_types" 34 => "conversation_analysis" 35 => "query_params" 36 => "blog_article" 37 => "relationships" 38 => "metadata" 39 => "response_structure" 40 => "error_guidance" 41 => "logging_details" 42 => "related_files" 43 => "api_help" 44 => "access" 45 => "status_groups" 46 => "methods" 47 => "api_methods" 48 => "knowledgebase" 49 => "sensitive_data" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:54 [ "id" => "33" "uuid" => null "name" => "User" "code" => null "access" => ""restricted"" "scope" => "public" "api_endpoint" => "/api/v2/users" "api_help" => "{"documentation_links":["\/api\/v2\/users"],"example_calls":["GET \/api\/v2\/users\/{id}","PUT \/api\/v2\/users\/{id}"],"common_errors":["404 Not Found","401 Unauthorized","403 Forbidden"]}" "agent_config" => null "blog_article" => "{"topics":["Getting Started: Your First Steps on the Platform","Personalizing Your User Experience","Understanding Your Privacy Settings"],"target_audience":["New Users","Existing Users","Account Holders"],"writing_style":"Informative, supportive, user-friendly"}" "class" => null "common" => "["platform user","registered member","account holder","site user","member"]" "controller_path" => "RainLab\User\Controllers\Users" "content_types" => "["User Accounts","Profile Management","Authentication Records","Privacy Settings"]" "conversation_analysis" => "{"goals":["Manage personal account","Access platform features","Interact with other users","Receive notifications"],"strategies":["Update profile information","Engage in community discussions","Customize preferences","Utilize platform services"],"keywords":["account","profile","login","registration","settings","personal data"]}" "category" => "People" "description" => "Represents a registered user of the platform, with core authentication and profile information." "error_guidance" => "{"USER_NOT_FOUND":"The requested user was not found. Please check the ID.","INVALID_CREDENTIALS":"The provided login credentials are incorrect.","EMAIL_ALREADY_EXISTS":"A user with this email address already exists."}" "fillable_fields" => "["name","email","password","username","first_name","last_name","is_activated","last_login","created_at","updated_at","metadata"]" "sensitive_fields" => null "icon" => "icon-user" "is_active" => "1" "is_featured" => "0" "is_default" => "0" "ai_enabled" => "0" "logging_details" => "{"key_relationships":{"djfest_profile":"Has-one relationship with DjfestProfile model","social_accounts":"Has-many relationship with SocialAccount model"},"data_validation":{"email":"Required, unique, valid email format","password":"Required, minimum 8 characters"}}" "model_class" => "RainLab\User\Models\User" "namespace" => "RainLab\User" "type" => "user" "prompt_instructions" => "Focus on the user's identity and their interaction with the platform. Describe how their profile information is managed, their access to features, and their ability to personalize their experience. Emphasize security and privacy." "query_params" => "{"sort":"created_at desc","with":["djfest_profile","social_accounts"]}" "related_files" => "["plugins\/rainlab\/user\/updates\/create_users_table.php","plugins\/rainlab\/user\/models\/User.php","plugins\/rainlab\/user\/models\/user\/fields.yaml","plugins\/rainlab\/user\/models\/user\/columns.yaml","plugins\/rainlab\/user\/controllers\/Users.php","plugins\/rainlab\/user\/Plugin.php"]" "relationships" => "{"DjfestProfile":"Has one DJFest profile","SocialAccount":"Can have multiple social accounts","Address":"Can have multiple addresses","Like":"Can like various entities","ChatSession":"Participates in chat sessions"}" "response_structure" => "{"user":{"0":"id","1":"name","2":"email","3":"username","4":"first_name","5":"last_name","6":"is_activated","7":"last_login","8":"created_at","9":"updated_at","10":"metadata","djfest_profile":[],"social_accounts":[]}}" "slug" => null "order" => "0" "status" => "pending" "status_groups" => "["active","inactive","suspended","banned","pending_activation"]" "tone" => ""Informative, secure, empowering"" "user_id" => null "djfest_profile_id" => null "created_at" => "2025-09-18 16:16:28" "updated_at" => "2025-09-18 16:16:28" "deleted_at" => null "migration_path" => null "fields_path" => null "columns_path" => null "api_version" => "v2" "knowledgebase" => "{"documentation":["https:\/\/octobercms.com\/docs\/plugin\/updates#database-seeders"],"zipfolders":["rainlab-user-plugin.zip"]}" "api_methods" => "["GET","POST","PUT","DELETE"]" "methods" => null "sensitive_data" => null "metadata" => null "requires_djfest_profile" => "1" ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: [] +hasMany: [] +belongsTo: [] +belongsToMany: [] +morphTo: [] +morphOne: [] +morphMany: [] +morphToMany: [] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:2 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4659 class: "Marty\Djfest\Models\ProfileType" this: Marty\Djfest\Models\ProfileType {#4661} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] "model.beforeSave" => array:1 [ 0 => array:1 [ 0 => Closure() {#4673 class: "Marty\Djfest\Models\ProfileType" use: { $model: Marty\Djfest\Models\ProfileType {#4661} } file: "/home/oxe56lh8rwz9/public_html/djfest/plugins/marty/djfest/models/ProfileType.php" line: "173 to 182" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null #rules: [] +table: "marty_djfest_profiletypes" +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } ] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: array:23 [ 0 => "profile_name" 1 => "uuid" 2 => "profiletype_id" 3 => "is_verified" 4 => "primary_color" 5 => "secondary_color" 6 => "highlight" 7 => "highlight_two" 8 => "highlight_three" 9 => "text_color_primary" 10 => "text_color_secondary" 11 => "text_color_highlight" 12 => "layout_preference" 13 => "slug" 14 => "sort_order" 15 => "user_id" 16 => "extended_profile_id" 17 => "is_active" 18 => "is_admin_managed" 19 => "is_remote_support" 20 => "subscription_tier" 21 => "related_type" 22 => "related_id" ] #guarded: array:1 [ 0 => "*" ] +implement: null +attributes: array:33 [ "id" => "20" "uuid" => "7c25a0c0-9de3-4346-937f-3e7adabc6ecf" "account_id" => "20" "account_type_id" => null "extended_profile_id" => null "user_id" => 20 "profile_name" => "Gage-Baggs-User_Profile" "profile_image" => null "profiletype_id" => "33" "is_verified" => "0" "is_primary" => "0" "is_active" => "1" "subscription_tier" => "free" "primary_color" => "#F44336" "secondary_color" => "#2196F3" "highlight" => "#FFEB3B" "highlight_two" => "#4CAF50" "highlight_three" => "#9C27B0" "text_color_primary" => "#FFFFFF" "text_color_secondary" => "#212121" "text_color_highlight" => "#212121" "layout_preference" => "Default" "access_key" => "344d12" "api_token" => null "slug" => "gage-baggs-user-profile" "sort_order" => null "related_type" => "RainLab\User\Models\User" "related_id" => "20" "is_admin_managed" => "0" "is_remote_support" => "0" "created_at" => "2025-09-18 16:16:29" "updated_at" => "2025-09-18 16:16:29" "deleted_at" => null ] #savingOptions: [] +trimStrings: true #jsonable: [] +hasOne: array:1 [ "ai_credits" => array:2 [ 0 => "Marty\AiSolutions\Models\AICredits" "key" => "djfest_profile_id" ] ] +hasMany: array:6 [ "socialAccounts" => array:2 [ 0 => "Marty\UserProfile\Models\SocialAccount" "key" => "djfest_profile_id" ] "submissions" => array:2 [ 0 => "Marty\Lineup\Models\Submission" "key" => "profile_id" ] "eventSubmissions" => array:2 [ 0 => "Marty\Djfest\Models\EventSubmission" "key" => "profile_id" ] "agent_instance_configs" => array:2 [ 0 => "Marty\AiSolutions\Models\AgentInstanceConfig" "key" => "djfest_profile_id" ] "links" => array:2 [ 0 => "Marty\Djfest\Models\Link" "key" => "djfest_profile_id" ] "apiTokens" => array:2 [ 0 => "Marty\Djfest\Models\ApiToken" "key" => "djfest_profile_id" ] ] +belongsTo: array:2 [ "user" => array:3 [ 0 => "RainLab\User\Models\User" "key" => "user_id" "otherKey" => "id" ] "profiletype" => array:3 [ 0 => "Marty\Djfest\Models\ProfileType" "key" => "profiletype_id" "otherKey" => "id" ] ] +belongsToMany: array:3 [ "events" => array:5 [ 0 => "Radiantweb\Proevents\Models\Event" "table" => "marty_djfest_event_submissions" "key" => "profile_id" "otherKey" => "event_id" "pivot" => array:4 [ 0 => "status" 1 => "notes" 2 => "profiletype_id" 3 => "sort_order" ] ] "ownedProfiles" => array:5 [ 0 => "Marty\Djfest\Models\DjfestProfile" "table" => "marty_userprofile_ownables" "foreignKey" => "owner_profile_uuid" "otherKey" => "uuid" "key" => "uuid" ] "blogPosts" => array:4 [ 0 => "RainLab\Blog\Models\Post" "table" => "marty_djfest_post_profiles" "key" => "profile_id" "otherKey" => "post_id" ] ] +morphTo: array:1 [ "related" => [] ] +morphOne: [] +morphMany: [] +morphToMany: array:13 [ "statuses" => array:3 [ 0 => "Marty\Djfest\Models\Status" "name" => "statusable" "table" => "marty_djfest_status_relations" ] "owners" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "equipment" => array:2 [ 0 => "Marty\Djfest\Models\Equipment" "name" => "owner" ] "attendees" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendable" "table" => "marty_userprofile_attendables" "key" => "attendable_uuid" "otherKey" => "attendee_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "attending" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "attendee" "table" => "marty_userprofile_attendables" "key" => "attendee_profile_uuid" "otherKey" => "attendable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "attendable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hosts" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "hostable" "table" => "marty_userprofile_hostables" "key" => "hostable_uuid" "otherKey" => "host_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "hostedBy" => array:9 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "host" "table" => "marty_userprofile_hostables" "key" => "host_profile_uuid" "otherKey" => "hostable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" "morphType" => "hostable_type" "morphClass" => "Marty\Djfest\Models\DjfestProfile" ] "managers" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manageable" "table" => "marty_userprofile_manageables" "key" => "manageable_uuid" "otherKey" => "manager_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "managedBy" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "manager" "table" => "marty_userprofile_manageables" "key" => "manager_profile_uuid" "otherKey" => "manageable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "members" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "membership" "table" => "marty_djfest_memberships" "key" => "membership_uuid" "otherKey" => "member_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "memberOf" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "member" "table" => "marty_djfest_memberships" "key" => "member_profile_uuid" "otherKey" => "membership_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownables" => array:7 [ 0 => "Marty\Djfest\Models\DjfestProfile" "name" => "ownable" "table" => "marty_userprofile_ownables" "key" => "ownable_uuid" "otherKey" => "owner_profile_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] "ownedBy" => array:7 [ 0 => "Marty\UserProfile\Models\ExtendedUserProfile" "name" => "owner" "table" => "marty_userprofile_ownables" "key" => "owner_profile_uuid" "otherKey" => "ownable_uuid" "relatedKey" => "uuid" "otherRelatedKey" => "uuid" ] ] +morphedByMany: [] +attachOne: [] +attachMany: [] +hasManyThrough: [] +hasOneThrough: [] #emitterSingleEventCollection: [] #emitterEventCollection: array:1 [ "model.saveInternal" => array:1 [ 500 => array:1 [ 0 => Closure() {#4665 class: "Marty\Djfest\Models\DjfestProfile" this: Marty\Djfest\Models\DjfestProfile {#4580} file: "/home/oxe56lh8rwz9/public_html/djfest/vendor/october/rain/src/Database/Traits/Validation.php" line: "72 to 94" } ] ] ] #emitterEventSorted: [] #extensionData: array:4 [ "extensions" => [] "methods" => [] "dynamicMethods" => [] "dynamicProperties" => [] ] +sessionKey: null +table: "marty_djfest_profiles" #excludedModels: array:2 [ 0 => "RainLab\Blog\Models\Post" 1 => "RainLab\User\Models\User" ] +rules: array:7 [ "profile_name" => "required|string|max:255" "profiletype_id" => "required|exists:marty_djfest_profiletypes,id" "slug" => "nullable|string|unique:marty_djfest_profiles,slug" "related_type" => "nullable|string" "related_id" => "nullable|integer" "is_admin_managed" => "boolean" "is_remote_support" => "boolean" ] #allowedStatusGroups: [] +validationForced: false #validationErrors: null #validationDefaultAttrNames: [] #forceDeleting: false } |
||
{{ ownerID }} | integer | |
20
|
||
{{ currentUser }} | NULL | |
null
|
||
{{ useContentLayout }} | boolean | |
false
|
||
{{ layoutContent }} | NULL | |
null
|
||
{{ layoutName }} | string | |
"Default"
|
||
{{ isLayoutNameValid }} | boolean | |
true
|
Electronic Music Artist
Explore