1
0
Files
homelab-public-context/runtime/latest.json
T

39 lines
40 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "SUPPORT-260918-XENFORO-TEMPLATE-NATIVE-HISTORY-RCA-495T3R2",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "read-only",
"component": "xenforo-template-native-history-rca",
"started_at_utc": "2026-09-17T22:03:34Z",
"finished_at_utc": "2026-09-17T22:03:38Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "dbced2707f675a917f31874231b4f3fbb05350f4bade851f4affe06d3dda7940",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "521f12b02c1a8371365c9ac87693c3280b9c9d393d97d5a51dcf6d807e37c9b1",
"sanitized_output_sha256": "521f12b02c1a8371365c9ac87693c3280b9c9d393d97d5a51dcf6d807e37c9b1",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "TPL495T3R2_WRAPPER_BEGIN=true\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nTPL495T3R2_BEGIN=true\nMODE=READ_ONLY_NATIVE_HISTORY_RCA\nVM211_EXCLUDED=true\nTPL495T3R2_SAFE_REPORT={\"affected_sites\":5,\"affected_site_names\":[\"codevipe.ru\",\"dsmods.ru\",\"gamevipe.ru\",\"hkmods.ru\",\"zakrutim.ru\"],\"outdated_total\":5,\"xf_error_rows_total\":0,\"public_http_200\":7,\"sites\":[{\"site\":\"codevipe.ru\",\"root\":\"/var/www/forums/codevipe/public\",\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1401,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1721849139,\"outdated_by_version\":1,\"outdated_by_date\":0},\"template\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1401,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"body\":{\"sha256\":\"ca051810957679432c36024c18f3adbf3a087c7a034cd46d72edfffbd4564b6c\",\"bytes\":2396,\"lines\":131}},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789648610},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1721849139,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"master\":{\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1721849139,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"history\":[],\"template_method\":{\"exists\":false},\"repo_method\":{\"exists\":false},\"template_call\":{\"exists\":false},\"repo_call\":{\"exists\":false}}],\"controller_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"actionMergeOutdated\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":1,\"total\":1,\"params\":[{\"name\":\"params\",\"optional\":false,\"variadic\":false,\"type\":\"XF\\\\Mvc\\\\ParameterBag\"}],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":439,\"end\":492,\"source_sha256\":\"1379d227c66f90a1e58acd7d0a3d00af36a7a8a3eaeee728cbb752231f6fcd61\",\"token_skeleton\":\"public function actionMergeOutdated ( ParameterBag $params ) { $this -> setSectionContext ( <str> ) ; $template = $this -> assertTemplateForComparison ( $params -> template_id ) ; $parentTemplate = $template -> ParentTemplate ; if ( ! $parentTemplate -> last_edit_date || $parentTemplate -> last_edit_date < $template -> last_edit_date ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } $historyRepo = $this -> repository ( TemplateHistoryRepository :: class ) ; $previousVersion = $historyRepo -> getHistoryForMerge ( $template , $parentTemplate ) ; if ( ! $previousVersion ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } if ( $this -> isPost ( ) ) { $merged = $this -> filter ( <str> , <str> ) ; $final = implode ( <str> , $merged ) ; $template -> template = $final ; $template -> last_edit_date = time ( ) ; if ( ! $template -> isChanged ( <str> ) ) { $template -> updateVersionId ( ) ; } $template -> save ( ) ; return $this -> redirect ( $this -> buildLink ( <str> ) ) ; } else { $diff = new Diff3 ( ) ; $diffs = $diff -> findDifferences ( $template -> template , $previousVersion -> template , $parentTemplate -> template ) ; $viewParams = [ <str> => $template , <str> => $parentTemplate , <str> => $previousVersion , <str> => $diffs , ] ; return $this -> view ( <str> , <str> , $viewParams ) ; } }\"},\"actionAutoMerge\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":494,\"end\":511,\"source_sha256\":\"dafc6ff3ebb435f50860ed1de3d0569dcbb95771b88898885be8f56c01986a0c\",\"token_skeleton\":\"public function actionAutoMerge ( ) { if ( $this -> isPost ( ) ) { $templateRepo = $this -> getTemplateRepo ( ) ; $templateIds = array_keys ( $templateRepo -> getOutdatedTemplates ( ) ) ; $this -> app -> jobManager ( ) -> enqueueUnique ( <str> , TemplateMerge :: class , [ <str> => $templateIds , ] ) ; return $this -> redirect ( $this -> buildLink ( <str> , null , [ <str> => <num> ] ) ) ; } else { return $this -> view ( <str> , <str> ) ; } }\"}},\"repo_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"getOutdatedTemplates\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":85,\"end\":110,\"source_sha256\":\"d78b3772d6aa9d553902a10b90d692f184d3f56d08f3255defc88a9ce5b65b16\",\"token_skeleton\":\"public function getOutdatedTemplates ( ) { $data = $this -> getBaseOutdatedTemplateData ( ) ; $templateIds = array_keys ( $data ) ; if ( ! $templateIds ) { return [ ] ; } $templates = $this -> em -> findByIds ( Template :: class , $templateIds ) ; $output = [ ] ; foreach ( $data AS $templateId => $outdated ) { if ( ! isset ( $templates [ $templateId ] ) ) { continue ; } $outdated [ <str> ] = $templates [ $templateId ] ; $output [ $templateId ] = $outdated ; } return $output ; }\"},\"getBaseOutdatedTemplateData\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":false,\"protected\":true,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":112,\"end\":138,\"source_sha256\":\"d5dc4e81e1834a500f3c5064cad55ee2eb03399d85a7c7a16561321039b2e6f2\",\"token_skeleton\":\"protected function getBaseOutdatedTemplateData ( ) { $db = $this -> db ( ) ; return $db -> fetchAllKeyed ( <str> , <str> ) ; }\"}}},{\"site\":\"dsmods.ru\",\"root\":\"/var/www/forums/dsmods/public\",\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1317,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1728727128,\"outdated_by_version\":1,\"outdated_by_date\":0},\"template\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1317,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"body\":{\"sha256\":\"3898034b75b561c774b41f6e1d8dce66a171fe30c7c210d543b41a8133e42fa2\",\"bytes\":2402,\"lines\":131}},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649311},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1728727128,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"master\":{\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1728727128,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"history\":[],\"template_method\":{\"exists\":false},\"repo_method\":{\"exists\":false},\"template_call\":{\"exists\":false},\"repo_call\":{\"exists\":false}}],\"controller_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"actionMergeOutdated\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":1,\"total\":1,\"params\":[{\"name\":\"params\",\"optional\":false,\"variadic\":false,\"type\":\"XF\\\\Mvc\\\\ParameterBag\"}],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":439,\"end\":492,\"source_sha256\":\"1379d227c66f90a1e58acd7d0a3d00af36a7a8a3eaeee728cbb752231f6fcd61\",\"token_skeleton\":\"public function actionMergeOutdated ( ParameterBag $params ) { $this -> setSectionContext ( <str> ) ; $template = $this -> assertTemplateForComparison ( $params -> template_id ) ; $parentTemplate = $template -> ParentTemplate ; if ( ! $parentTemplate -> last_edit_date || $parentTemplate -> last_edit_date < $template -> last_edit_date ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } $historyRepo = $this -> repository ( TemplateHistoryRepository :: class ) ; $previousVersion = $historyRepo -> getHistoryForMerge ( $template , $parentTemplate ) ; if ( ! $previousVersion ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } if ( $this -> isPost ( ) ) { $merged = $this -> filter ( <str> , <str> ) ; $final = implode ( <str> , $merged ) ; $template -> template = $final ; $template -> last_edit_date = time ( ) ; if ( ! $template -> isChanged ( <str> ) ) { $template -> updateVersionId ( ) ; } $template -> save ( ) ; return $this -> redirect ( $this -> buildLink ( <str> ) ) ; } else { $diff = new Diff3 ( ) ; $diffs = $diff -> findDifferences ( $template -> template , $previousVersion -> template , $parentTemplate -> template ) ; $viewParams = [ <str> => $template , <str> => $parentTemplate , <str> => $previousVersion , <str> => $diffs , ] ; return $this -> view ( <str> , <str> , $viewParams ) ; } }\"},\"actionAutoMerge\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":494,\"end\":511,\"source_sha256\":\"dafc6ff3ebb435f50860ed1de3d0569dcbb95771b88898885be8f56c01986a0c\",\"token_skeleton\":\"public function actionAutoMerge ( ) { if ( $this -> isPost ( ) ) { $templateRepo = $this -> getTemplateRepo ( ) ; $templateIds = array_keys ( $templateRepo -> getOutdatedTemplates ( ) ) ; $this -> app -> jobManager ( ) -> enqueueUnique ( <str> , TemplateMerge :: class , [ <str> => $templateIds , ] ) ; return $this -> redirect ( $this -> buildLink ( <str> , null , [ <str> => <num> ] ) ) ; } else { return $this -> view ( <str> , <str> ) ; } }\"}},\"repo_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"getOutdatedTemplates\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":85,\"end\":110,\"source_sha256\":\"d78b3772d6aa9d553902a10b90d692f184d3f56d08f3255defc88a9ce5b65b16\",\"token_skeleton\":\"public function getOutdatedTemplates ( ) { $data = $this -> getBaseOutdatedTemplateData ( ) ; $templateIds = array_keys ( $data ) ; if ( ! $templateIds ) { return [ ] ; } $templates = $this -> em -> findByIds ( Template :: class , $templateIds ) ; $output = [ ] ; foreach ( $data AS $templateId => $outdated ) { if ( ! isset ( $templates [ $templateId ] ) ) { continue ; } $outdated [ <str> ] = $templates [ $templateId ] ; $output [ $templateId ] = $outdated ; } return $output ; }\"},\"getBaseOutdatedTemplateData\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":false,\"protected\":true,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":112,\"end\":138,\"source_sha256\":\"d5dc4e81e1834a500f3c5064cad55ee2eb03399d85a7c7a16561321039b2e6f2\",\"token_skeleton\":\"protected function getBaseOutdatedTemplateData ( ) { $db = $this -> db ( ) ; return $db -> fetchAllKeyed ( <str> , <str> ) ; }\"}}},{\"site\":\"gamevipe.ru\",\"root\":\"/var/www/forums/gamevipe/public\",\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1696,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1720986507,\"outdated_by_version\":1,\"outdated_by_date\":0},\"template\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1696,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"body\":{\"sha256\":\"fde07ae7d5f65a3cdee23b7f90834229c95495fb69db44727345b550441646ab\",\"bytes\":2410,\"lines\":131}},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649315},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1720986507,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"master\":{\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1720986507,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"history\":[],\"template_method\":{\"exists\":false},\"repo_method\":{\"exists\":false},\"template_call\":{\"exists\":false},\"repo_call\":{\"exists\":false}}],\"controller_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"actionMergeOutdated\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":1,\"total\":1,\"params\":[{\"name\":\"params\",\"optional\":false,\"variadic\":false,\"type\":\"XF\\\\Mvc\\\\ParameterBag\"}],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":439,\"end\":492,\"source_sha256\":\"1379d227c66f90a1e58acd7d0a3d00af36a7a8a3eaeee728cbb752231f6fcd61\",\"token_skeleton\":\"public function actionMergeOutdated ( ParameterBag $params ) { $this -> setSectionContext ( <str> ) ; $template = $this -> assertTemplateForComparison ( $params -> template_id ) ; $parentTemplate = $template -> ParentTemplate ; if ( ! $parentTemplate -> last_edit_date || $parentTemplate -> last_edit_date < $template -> last_edit_date ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } $historyRepo = $this -> repository ( TemplateHistoryRepository :: class ) ; $previousVersion = $historyRepo -> getHistoryForMerge ( $template , $parentTemplate ) ; if ( ! $previousVersion ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } if ( $this -> isPost ( ) ) { $merged = $this -> filter ( <str> , <str> ) ; $final = implode ( <str> , $merged ) ; $template -> template = $final ; $template -> last_edit_date = time ( ) ; if ( ! $template -> isChanged ( <str> ) ) { $template -> updateVersionId ( ) ; } $template -> save ( ) ; return $this -> redirect ( $this -> buildLink ( <str> ) ) ; } else { $diff = new Diff3 ( ) ; $diffs = $diff -> findDifferences ( $template -> template , $previousVersion -> template , $parentTemplate -> template ) ; $viewParams = [ <str> => $template , <str> => $parentTemplate , <str> => $previousVersion , <str> => $diffs , ] ; return $this -> view ( <str> , <str> , $viewParams ) ; } }\"},\"actionAutoMerge\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":494,\"end\":511,\"source_sha256\":\"dafc6ff3ebb435f50860ed1de3d0569dcbb95771b88898885be8f56c01986a0c\",\"token_skeleton\":\"public function actionAutoMerge ( ) { if ( $this -> isPost ( ) ) { $templateRepo = $this -> getTemplateRepo ( ) ; $templateIds = array_keys ( $templateRepo -> getOutdatedTemplates ( ) ) ; $this -> app -> jobManager ( ) -> enqueueUnique ( <str> , TemplateMerge :: class , [ <str> => $templateIds , ] ) ; return $this -> redirect ( $this -> buildLink ( <str> , null , [ <str> => <num> ] ) ) ; } else { return $this -> view ( <str> , <str> ) ; } }\"}},\"repo_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"getOutdatedTemplates\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":85,\"end\":110,\"source_sha256\":\"d78b3772d6aa9d553902a10b90d692f184d3f56d08f3255defc88a9ce5b65b16\",\"token_skeleton\":\"public function getOutdatedTemplates ( ) { $data = $this -> getBaseOutdatedTemplateData ( ) ; $templateIds = array_keys ( $data ) ; if ( ! $templateIds ) { return [ ] ; } $templates = $this -> em -> findByIds ( Template :: class , $templateIds ) ; $output = [ ] ; foreach ( $data AS $templateId => $outdated ) { if ( ! isset ( $templates [ $templateId ] ) ) { continue ; } $outdated [ <str> ] = $templates [ $templateId ] ; $output [ $templateId ] = $outdated ; } return $output ; }\"},\"getBaseOutdatedTemplateData\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":false,\"protected\":true,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":112,\"end\":138,\"source_sha256\":\"d5dc4e81e1834a500f3c5064cad55ee2eb03399d85a7c7a16561321039b2e6f2\",\"token_skeleton\":\"protected function getBaseOutdatedTemplateData ( ) { $db = $this -> db ( ) ; return $db -> fetchAllKeyed ( <str> , <str> ) ; }\"}}},{\"site\":\"hkmods.ru\",\"root\":\"/var/www/forums/hkmods/public\",\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":2021,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1691944582,\"outdated_by_version\":1,\"outdated_by_date\":0},\"template\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":2021,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"body\":{\"sha256\":\"2339326596eb8f77111df70fa4336809e67615942b4b7b1afb2777d8ee447bd3\",\"bytes\":2422,\"lines\":131}},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649318},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":798,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1691944582,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"master\":{\"template_id\":798,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1691944582,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"history\":[],\"template_method\":{\"exists\":false},\"repo_method\":{\"exists\":false},\"template_call\":{\"exists\":false},\"repo_call\":{\"exists\":false}}],\"controller_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"actionMergeOutdated\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":1,\"total\":1,\"params\":[{\"name\":\"params\",\"optional\":false,\"variadic\":false,\"type\":\"XF\\\\Mvc\\\\ParameterBag\"}],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":439,\"end\":492,\"source_sha256\":\"1379d227c66f90a1e58acd7d0a3d00af36a7a8a3eaeee728cbb752231f6fcd61\",\"token_skeleton\":\"public function actionMergeOutdated ( ParameterBag $params ) { $this -> setSectionContext ( <str> ) ; $template = $this -> assertTemplateForComparison ( $params -> template_id ) ; $parentTemplate = $template -> ParentTemplate ; if ( ! $parentTemplate -> last_edit_date || $parentTemplate -> last_edit_date < $template -> last_edit_date ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } $historyRepo = $this -> repository ( TemplateHistoryRepository :: class ) ; $previousVersion = $historyRepo -> getHistoryForMerge ( $template , $parentTemplate ) ; if ( ! $previousVersion ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } if ( $this -> isPost ( ) ) { $merged = $this -> filter ( <str> , <str> ) ; $final = implode ( <str> , $merged ) ; $template -> template = $final ; $template -> last_edit_date = time ( ) ; if ( ! $template -> isChanged ( <str> ) ) { $template -> updateVersionId ( ) ; } $template -> save ( ) ; return $this -> redirect ( $this -> buildLink ( <str> ) ) ; } else { $diff = new Diff3 ( ) ; $diffs = $diff -> findDifferences ( $template -> template , $previousVersion -> template , $parentTemplate -> template ) ; $viewParams = [ <str> => $template , <str> => $parentTemplate , <str> => $previousVersion , <str> => $diffs , ] ; return $this -> view ( <str> , <str> , $viewParams ) ; } }\"},\"actionAutoMerge\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":494,\"end\":511,\"source_sha256\":\"dafc6ff3ebb435f50860ed1de3d0569dcbb95771b88898885be8f56c01986a0c\",\"token_skeleton\":\"public function actionAutoMerge ( ) { if ( $this -> isPost ( ) ) { $templateRepo = $this -> getTemplateRepo ( ) ; $templateIds = array_keys ( $templateRepo -> getOutdatedTemplates ( ) ) ; $this -> app -> jobManager ( ) -> enqueueUnique ( <str> , TemplateMerge :: class , [ <str> => $templateIds , ] ) ; return $this -> redirect ( $this -> buildLink ( <str> , null , [ <str> => <num> ] ) ) ; } else { return $this -> view ( <str> , <str> ) ; } }\"}},\"repo_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"getOutdatedTemplates\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":85,\"end\":110,\"source_sha256\":\"d78b3772d6aa9d553902a10b90d692f184d3f56d08f3255defc88a9ce5b65b16\",\"token_skeleton\":\"public function getOutdatedTemplates ( ) { $data = $this -> getBaseOutdatedTemplateData ( ) ; $templateIds = array_keys ( $data ) ; if ( ! $templateIds ) { return [ ] ; } $templates = $this -> em -> findByIds ( Template :: class , $templateIds ) ; $output = [ ] ; foreach ( $data AS $templateId => $outdated ) { if ( ! isset ( $templates [ $templateId ] ) ) { continue ; } $outdated [ <str> ] = $templates [ $templateId ] ; $output [ $templateId ] = $outdated ; } return $output ; }\"},\"getBaseOutdatedTemplateData\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":false,\"protected\":true,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":112,\"end\":138,\"source_sha256\":\"d5dc4e81e1834a500f3c5064cad55ee2eb03399d85a7c7a16561321039b2e6f2\",\"token_skeleton\":\"protected function getBaseOutdatedTemplateData ( ) { $db = $this -> db ( ) ; return $db -> fetchAllKeyed ( <str> , <str> ) ; }\"}}},{\"site\":\"kingofwolk.ru\",\"root\":\"/var/www/forums/kingofwolk/public\",\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":0,\"outdated\":[],\"controller_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"actionMergeOutdated\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":1,\"total\":1,\"params\":[{\"name\":\"params\",\"optional\":false,\"variadic\":false,\"type\":\"XF\\\\Mvc\\\\ParameterBag\"}],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":439,\"end\":492,\"source_sha256\":\"1379d227c66f90a1e58acd7d0a3d00af36a7a8a3eaeee728cbb752231f6fcd61\",\"token_skeleton\":\"public function actionMergeOutdated ( ParameterBag $params ) { $this -> setSectionContext ( <str> ) ; $template = $this -> assertTemplateForComparison ( $params -> template_id ) ; $parentTemplate = $template -> ParentTemplate ; if ( ! $parentTemplate -> last_edit_date || $parentTemplate -> last_edit_date < $template -> last_edit_date ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } $historyRepo = $this -> repository ( TemplateHistoryRepository :: class ) ; $previousVersion = $historyRepo -> getHistoryForMerge ( $template , $parentTemplate ) ; if ( ! $previousVersion ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } if ( $this -> isPost ( ) ) { $merged = $this -> filter ( <str> , <str> ) ; $final = implode ( <str> , $merged ) ; $template -> template = $final ; $template -> last_edit_date = time ( ) ; if ( ! $template -> isChanged ( <str> ) ) { $template -> updateVersionId ( ) ; } $template -> save ( ) ; return $this -> redirect ( $this -> buildLink ( <str> ) ) ; } else { $diff = new Diff3 ( ) ; $diffs = $diff -> findDifferences ( $template -> template , $previousVersion -> template , $parentTemplate -> template ) ; $viewParams = [ <str> => $template , <str> => $parentTemplate , <str> => $previousVersion , <str> => $diffs , ] ; return $this -> view ( <str> , <str> , $viewParams ) ; } }\"},\"actionAutoMerge\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":494,\"end\":511,\"source_sha256\":\"dafc6ff3ebb435f50860ed1de3d0569dcbb95771b88898885be8f56c01986a0c\",\"token_skeleton\":\"public function actionAutoMerge ( ) { if ( $this -> isPost ( ) ) { $templateRepo = $this -> getTemplateRepo ( ) ; $templateIds = array_keys ( $templateRepo -> getOutdatedTemplates ( ) ) ; $this -> app -> jobManager ( ) -> enqueueUnique ( <str> , TemplateMerge :: class , [ <str> => $templateIds , ] ) ; return $this -> redirect ( $this -> buildLink ( <str> , null , [ <str> => <num> ] ) ) ; } else { return $this -> view ( <str> , <str> ) ; } }\"}},\"repo_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"getOutdatedTemplates\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":85,\"end\":110,\"source_sha256\":\"d78b3772d6aa9d553902a10b90d692f184d3f56d08f3255defc88a9ce5b65b16\",\"token_skeleton\":\"public function getOutdatedTemplates ( ) { $data = $this -> getBaseOutdatedTemplateData ( ) ; $templateIds = array_keys ( $data ) ; if ( ! $templateIds ) { return [ ] ; } $templates = $this -> em -> findByIds ( Template :: class , $templateIds ) ; $output = [ ] ; foreach ( $data AS $templateId => $outdated ) { if ( ! isset ( $templates [ $templateId ] ) ) { continue ; } $outdated [ <str> ] = $templates [ $templateId ] ; $output [ $templateId ] = $outdated ; } return $output ; }\"},\"getBaseOutdatedTemplateData\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":false,\"protected\":true,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":112,\"end\":138,\"source_sha256\":\"d5dc4e81e1834a500f3c5064cad55ee2eb03399d85a7c7a16561321039b2e6f2\",\"token_skeleton\":\"protected function getBaseOutdatedTemplateData ( ) { $db = $this -> db ( ) ; return $db -> fetchAllKeyed ( <str> , <str> ) ; }\"}}},{\"site\":\"zakrutim.ru\",\"root\":\"/var/www/forums/zakrutim/public\",\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1921,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1692264832,\"outdated_by_version\":1,\"outdated_by_date\":0},\"template\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1921,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"body\":{\"sha256\":\"9662d1b57f5f6fcd2992fd9d150aeb887c242f792eb750cf6cb458d65b99a12d\",\"bytes\":2435,\"lines\":131}},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649326},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1692264832,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"master\":{\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1692264832,\"body\":{\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"bytes\":0,\"lines\":1}},\"history\":[],\"template_method\":{\"exists\":false},\"repo_method\":{\"exists\":false},\"template_call\":{\"exists\":false},\"repo_call\":{\"exists\":false}}],\"controller_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"actionMergeOutdated\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":1,\"total\":1,\"params\":[{\"name\":\"params\",\"optional\":false,\"variadic\":false,\"type\":\"XF\\\\Mvc\\\\ParameterBag\"}],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":439,\"end\":492,\"source_sha256\":\"1379d227c66f90a1e58acd7d0a3d00af36a7a8a3eaeee728cbb752231f6fcd61\",\"token_skeleton\":\"public function actionMergeOutdated ( ParameterBag $params ) { $this -> setSectionContext ( <str> ) ; $template = $this -> assertTemplateForComparison ( $params -> template_id ) ; $parentTemplate = $template -> ParentTemplate ; if ( ! $parentTemplate -> last_edit_date || $parentTemplate -> last_edit_date < $template -> last_edit_date ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } $historyRepo = $this -> repository ( TemplateHistoryRepository :: class ) ; $previousVersion = $historyRepo -> getHistoryForMerge ( $template , $parentTemplate ) ; if ( ! $previousVersion ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } if ( $this -> isPost ( ) ) { $merged = $this -> filter ( <str> , <str> ) ; $final = implode ( <str> , $merged ) ; $template -> template = $final ; $template -> last_edit_date = time ( ) ; if ( ! $template -> isChanged ( <str> ) ) { $template -> updateVersionId ( ) ; } $template -> save ( ) ; return $this -> redirect ( $this -> buildLink ( <str> ) ) ; } else { $diff = new Diff3 ( ) ; $diffs = $diff -> findDifferences ( $template -> template , $previousVersion -> template , $parentTemplate -> template ) ; $viewParams = [ <str> => $template , <str> => $parentTemplate , <str> => $previousVersion , <str> => $diffs , ] ; return $this -> view ( <str> , <str> , $viewParams ) ; } }\"},\"actionAutoMerge\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":494,\"end\":511,\"source_sha256\":\"dafc6ff3ebb435f50860ed1de3d0569dcbb95771b88898885be8f56c01986a0c\",\"token_skeleton\":\"public function actionAutoMerge ( ) { if ( $this -> isPost ( ) ) { $templateRepo = $this -> getTemplateRepo ( ) ; $templateIds = array_keys ( $templateRepo -> getOutdatedTemplates ( ) ) ; $this -> app -> jobManager ( ) -> enqueueUnique ( <str> , TemplateMerge :: class , [ <str> => $templateIds , ] ) ; return $this -> redirect ( $this -> buildLink ( <str> , null , [ <str> => <num> ] ) ) ; } else { return $this -> view ( <str> , <str> ) ; } }\"}},\"repo_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"getOutdatedTemplates\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":85,\"end\":110,\"source_sha256\":\"d78b3772d6aa9d553902a10b90d692f184d3f56d08f3255defc88a9ce5b65b16\",\"token_skeleton\":\"public function getOutdatedTemplates ( ) { $data = $this -> getBaseOutdatedTemplateData ( ) ; $templateIds = array_keys ( $data ) ; if ( ! $templateIds ) { return [ ] ; } $templates = $this -> em -> findByIds ( Template :: class , $templateIds ) ; $output = [ ] ; foreach ( $data AS $templateId => $outdated ) { if ( ! isset ( $templates [ $templateId ] ) ) { continue ; } $outdated [ <str> ] = $templates [ $templateId ] ; $output [ $templateId ] = $outdated ; } return $output ; }\"},\"getBaseOutdatedTemplateData\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":false,\"protected\":true,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":112,\"end\":138,\"source_sha256\":\"d5dc4e81e1834a500f3c5064cad55ee2eb03399d85a7c7a16561321039b2e6f2\",\"token_skeleton\":\"protected function getBaseOutdatedTemplateData ( ) { $db = $this -> db ( ) ; return $db -> fetchAllKeyed ( <str> , <str> ) ; }\"}}},{\"site\":\"newfi.ru\",\"root\":\"/var/www/forums/newfi/public\",\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"4\",\"outdated_count_repo\":0,\"outdated\":[],\"controller_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"actionMergeOutdated\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":1,\"total\":1,\"params\":[{\"name\":\"params\",\"optional\":false,\"variadic\":false,\"type\":\"XF\\\\Mvc\\\\ParameterBag\"}],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":439,\"end\":492,\"source_sha256\":\"1379d227c66f90a1e58acd7d0a3d00af36a7a8a3eaeee728cbb752231f6fcd61\",\"token_skeleton\":\"public function actionMergeOutdated ( ParameterBag $params ) { $this -> setSectionContext ( <str> ) ; $template = $this -> assertTemplateForComparison ( $params -> template_id ) ; $parentTemplate = $template -> ParentTemplate ; if ( ! $parentTemplate -> last_edit_date || $parentTemplate -> last_edit_date < $template -> last_edit_date ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } $historyRepo = $this -> repository ( TemplateHistoryRepository :: class ) ; $previousVersion = $historyRepo -> getHistoryForMerge ( $template , $parentTemplate ) ; if ( ! $previousVersion ) { return $this -> error ( \\\\XF :: phrase ( <str> ) ) ; } if ( $this -> isPost ( ) ) { $merged = $this -> filter ( <str> , <str> ) ; $final = implode ( <str> , $merged ) ; $template -> template = $final ; $template -> last_edit_date = time ( ) ; if ( ! $template -> isChanged ( <str> ) ) { $template -> updateVersionId ( ) ; } $template -> save ( ) ; return $this -> redirect ( $this -> buildLink ( <str> ) ) ; } else { $diff = new Diff3 ( ) ; $diffs = $diff -> findDifferences ( $template -> template , $previousVersion -> template , $parentTemplate -> template ) ; $viewParams = [ <str> => $template , <str> => $parentTemplate , <str> => $previousVersion , <str> => $diffs , ] ; return $this -> view ( <str> , <str> , $viewParams ) ; } }\"},\"actionAutoMerge\":{\"exists\":true,\"class\":\"XF\\\\Admin\\\\Controller\\\\TemplateController\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Admin/Controller/TemplateController.php\",\"start\":494,\"end\":511,\"source_sha256\":\"dafc6ff3ebb435f50860ed1de3d0569dcbb95771b88898885be8f56c01986a0c\",\"token_skeleton\":\"public function actionAutoMerge ( ) { if ( $this -> isPost ( ) ) { $templateRepo = $this -> getTemplateRepo ( ) ; $templateIds = array_keys ( $templateRepo -> getOutdatedTemplates ( ) ) ; $this -> app -> jobManager ( ) -> enqueueUnique ( <str> , TemplateMerge :: class , [ <str> => $templateIds , ] ) ; return $this -> redirect ( $this -> buildLink ( <str> , null , [ <str> => <num> ] ) ) ; } else { return $this -> view ( <str> , <str> ) ; } }\"}},\"repo_methods\":{\"getHistoryForMerge\":{\"exists\":false},\"getOutdatedTemplates\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":true,\"protected\":false,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":85,\"end\":110,\"source_sha256\":\"d78b3772d6aa9d553902a10b90d692f184d3f56d08f3255defc88a9ce5b65b16\",\"token_skeleton\":\"public function getOutdatedTemplates ( ) { $data = $this -> getBaseOutdatedTemplateData ( ) ; $templateIds = array_keys ( $data ) ; if ( ! $templateIds ) { return [ ] ; } $templates = $this -> em -> findByIds ( Template :: class , $templateIds ) ; $output = [ ] ; foreach ( $data AS $templateId => $outdated ) { if ( ! isset ( $templates [ $templateId ] ) ) { continue ; } $outdated [ <str> ] = $templates [ $templateId ] ; $output [ $templateId ] = $outdated ; } return $output ; }\"},\"getBaseOutdatedTemplateData\":{\"exists\":true,\"class\":\"XF\\\\Repository\\\\TemplateRepository\",\"public\":false,\"protected\":true,\"private\":false,\"static\":false,\"required\":0,\"total\":0,\"params\":[],\"file\":\"src/XF/Repository/TemplateRepository.php\",\"start\":112,\"end\":138,\"source_sha256\":\"d5dc4e81e1834a500f3c5064cad55ee2eb03399d85a7c7a16561321039b2e6f2\",\"token_skeleton\":\"protected function getBaseOutdatedTemplateData ( ) { $db = $this -> db ( ) ; return $db -> fetchAllKeyed ( <str> , <str> ) ; }\"}}}],\"http\":[{\"domain\":\"codevipe.ru\",\"rc\":0,\"http_code\":\"200\"},{\"domain\":\"dsmods.ru\",\"rc\":0,\"http_code\":\"200\"},{\"domain\":\"gamevipe.ru\",\"rc\":0,\"http_code\":\"200\"},{\"domain\":\"hkmods.ru\",\"rc\":0,\"http_code\":\"200\"},{\"domain\":\"kingofwolk.ru\",\"rc\":0,\"http_code\":\"200\"},{\"domain\":\"zakrutim.ru\",\"rc\":0,\"http_code\":\"200\"},{\"domain\":\"newfi.ru\",\"rc\":0,\"http_code\":\"200\"}],\"vm211_excluded\":true,\"scope\":\"READ_ONLY_NO_XENFORO_MUTATION\"}\nTPL495T3R2_DECISION=PASS_NATIVE_HISTORY_RCA_CAPTURE\nTPL495T3R2_NEXT_GATE=READY_FOR_OFFLINE_EXACT_BASE_ANALYSIS_THEN_BOUNDED_REPAIR_495T4\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-XENFORO-TEMPLATE-NATIVE-HISTORY-RCA-495T3R2\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
}