diff --git a/runtime/history/SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2.json b/runtime/history/SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2.json new file mode 100644 index 00000000..e26bf222 --- /dev/null +++ b/runtime/history/SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "pvepro-russian-render-compat-rca-readonly", + "started_at_utc": "2026-09-20T01:15:38Z", + "finished_at_utc": "2026-09-20T01:15:43Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "08c58b6b904dacb9239f463c5b177bc7b653d604e2f5b5a0cc71036a03501e2d", + "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": "44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364", + "sanitized_output_sha256": "44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "PROD_STATUS=status: running\nSTAGE_STATUS=status: stopped\nSTAGE_NAME=pvepro-staging-v1\nSTAGE_ALL_LINK_DOWN=true\nPROD_NONCURRENT_SNAPSHOT_LINES=0\nSTAGE_NONCURRENT_SNAPSHOT_LINES=0\nARCHIVE_BYTES=298309\nARCHIVE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nARCHIVE_XML_COUNT=1\nXML_BYTES=2240918\nXML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nCOMPARE_TRANSPORT_RC=0\nCOMPARE_TRANSPORT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nCOMPARE_GUEST_EXITCODE=0\nCOMPARE_OUTPUT_BEGIN\nZIP_STDIN_BYTES=298309\nZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nZIP_XML_COUNT=1\nEXTRACTED_XML_BYTES=2240918\nEXTRACTED_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nPHP_COMPARE_RC=0\nPHP_COMPARE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_COMPARE_OUTPUT_BEGIN\nXML_STDIN_BYTES=2240918\nXML_STDIN_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nXML_PARSE_OK=true\nMASTER_PHRASE_COUNT=11193\nMASTER_MAX_VERSION_ID=2031270\nPACK_PHRASE_COUNT=11142\nPACK_MAX_VERSION_ID=2031070\nPACK_BLANK_PHRASE_COUNT=112\nCOMMON_PHRASE_COUNT=11141\nPACK_ONLY_COUNT=1\nMASTER_ONLY_COUNT=52\nPACK_ONLY_SAMPLE=[\"php_version_minimum\"]\nMASTER_ONLY_SAMPLE=[\"trophy_description.1\",\"trophy_title.1\",\"trophy_description.2\",\"trophy_title.2\",\"trophy_description.3\",\"trophy_title.3\",\"trophy_description.4\",\"trophy_title.4\",\"trophy_description.5\",\"trophy_title.5\",\"trophy_description.6\",\"trophy_title.6\",\"trophy_description.7\",\"trophy_title.7\",\"trophy_description.8\",\"trophy_title.8\",\"trophy_description.9\",\"trophy_title.9\",\"warning_title.1\",\"warning_conv_title.1\",\"warning_conv_text.1\",\"warning_title.2\",\"warning_conv_title.2\",\"warning_conv_text.2\",\"warning_title.3\",\"warning_conv_title.3\",\"warning_conv_text.3\",\"warning_title.4\",\"warning_conv_title.4\",\"warning_conv_text.4\"]\nPLACEHOLDER_MISMATCH_COUNT=5\nPLACEHOLDER_MISMATCH_SAMPLE=[{\"title\":\"if_enabled_threads_posted_in_this_forum_will_automatically_be_featured\",\"pack\":[\"date\"],\"master\":[]},{\"title\":\"mod_log.thread_edit\",\"pack\":[\"elements\"],\"master\":[]},{\"title\":\"one_or_more_files_do_not_have_allowed_extension_x\",\"pack\":[\"allowed\"],\"master\":[\"allowed\",\"files\"]},{\"title\":\"php_version_not_newest\",\"pack\":[],\"master\":[\"recommended\"]},{\"title\":\"widget_pos_desc.featured_content_list_below_features\",\"pack\":[\"date\"],\"master\":[]}]\nIMPORT_SERVICE_FILE_SHA256=22344729c6871a640b678f3f02f4120d3eaed904f1aba274b8c4911920b1000b\nIMPORT_SERVICE_FILE_BYTES=4464\nIMPORT_SERVICE_KEY_LINES=[{\"line\":48,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"line\":54,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"line\":60,\"text\":\"$error = \\\\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');\"},{\"line\":78,\"text\":\"$errors['addon_id'] = \\\\XF::phrase('xml_file_relates_add_on_not_installed_install_first');\"},{\"line\":97,\"text\":\"$errors['version_id'] = \\\\XF::phrase('xml_file_based_on_newer_version_than_installed');\"},{\"line\":106,\"text\":\"$errors['language_code'] = \\\\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');\"},{\"line\":113,\"text\":\"public function importFromXml(\\\\SimpleXMLElement $document)\"},{\"line\":122,\"text\":\"$phraseImporter = $this->service(\\\\XF\\\\Service\\\\Phrase\\\\ImportService::class, $language);\"},{\"line\":123,\"text\":\"$phraseImporter->importFromXml($document, $addOnId);\"}]\nCURRENT_JOB_COUNT=3\nCURRENT_MANUAL_JOB_COUNT=0\nCURRENT_ERROR_COUNT=16\nCURRENT_DEFAULT_LANGUAGE_ID=1\nCURRENT_RU_COUNT=0\nCURRENT_THREAD_COUNT=44\nCURRENT_POST_COUNT=44\nPHP_COMPARE_OUTPUT_END\nCOMPARE_OUTPUT_END\nSOURCE_SEARCH_TRANSPORT_RC=0\nSOURCE_SEARCH_EXITCODE=0\nSOURCE_LANGUAGE_REBUILD_HITS=[{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":3,\"text\":\"namespace XF\\\\Service\\\\Language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":5,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":13,\"text\":\"* @var Language|null\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":15,\"text\":\"protected $overwriteLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":18,\"text\":\"* @var Language|null\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":20,\"text\":\"protected $parentLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":22,\"text\":\"public function setOverwriteLanguage(Language $language)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":24,\"text\":\"$this->overwriteLanguage = $language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":25,\"text\":\"$this->parentLanguage = null;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":28,\"text\":\"public function getOverwriteLanguage()\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":30,\"text\":\"return $this->overwriteLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":33,\"text\":\"public function setParentLanguage(?Language $language = null)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":35,\"text\":\"$this->parentLanguage = $language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":36,\"text\":\"$this->overwriteLanguage = null;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":39,\"text\":\"public function getParentLanguage()\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":41,\"text\":\"return $this->parentLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":48,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":52,\"text\":\"if ($rootElement->getName() != 'language' || (string) $rootElement['title'] === '')\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":54,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":60,\"text\":\"$error = \\\\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":78,\"text\":\"$errors['addon_id'] = \\\\XF::phrase('xml_file_relates_add_on_not_installed_install_first');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":97,\"text\":\"$errors['version_id'] = \\\\XF::phrase('xml_file_based_on_newer_version_than_installed');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":101,\"text\":\"if ($this->overwriteLanguage)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":103,\"text\":\"$languageCode = (string) $document['language_code'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":104,\"text\":\"if ($languageCode != $this->overwriteLanguage->language_code)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":106,\"text\":\"$errors['language_code'] = \\\\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":113,\"text\":\"public function importFromXml(\\\\SimpleXMLElement $document)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":120,\"text\":\"$language = $this->getTargetLanguage($document);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":122,\"text\":\"$phraseImporter = $this->service(\\\\XF\\\\Service\\\\Phrase\\\\ImportService::class, $language);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":123,\"text\":\"$phraseImporter->importFromXml($document, $addOnId);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":127,\"text\":\"return $language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":130,\"text\":\"protected function getTargetLanguage(\\\\SimpleXMLElement $document)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":132,\"text\":\"if ($this->overwriteLanguage)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":134,\"text\":\"return $this->overwriteLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":138,\"text\":\"$language = $this->em()->create(Language::class);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":139,\"text\":\"$language->title = (string) $document['title'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":140,\"text\":\"$language->parent_id = $this->parentLanguage ? $this->parentLanguage->language_id : 0;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":141,\"text\":\"$language->date_format = (string) $document['date_format'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":142,\"text\":\"$language->date_short_format = (string) $document['date_short_format'] ?: 'M \\\\'y';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":143,\"text\":\"$language->date_short_recent_format = (string) $document['date_short_recent_format'] ?: 'M j';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":144,\"text\":\"$language->time_format = (string) $document['time_format'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":145,\"text\":\"$language->currency_format = (string) $document['currency_format'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":146,\"text\":\"$language->week_start = (string) $document['week_start'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":147,\"text\":\"$language->decimal_point = (string) $document['decimal_point'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":148,\"text\":\"$language->thousands_separator = (string) $document['thousands_separator'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":149,\"text\":\"$language->label_separator = (string) $document['label_separator'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":150,\"text\":\"$language->comma_separator = (string) $document['comma_separator'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":151,\"text\":\"$language->ellipsis = (string) $document['ellipsis'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":152,\"text\":\"$language->parenthesis_open = (string) $document['parenthesis_open'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":153,\"text\":\"$language->parenthesis_close = (string) $document['parenthesis_close'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":154,\"text\":\"$language->language_code = (string) $document['language_code'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":155,\"text\":\"$language->text_direction = (string) $document['text_direction'] ?: 'LTR';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":159,\"text\":\"$language->user_selectable = (string) $document['user_selectable'] === '1';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":162,\"text\":\"$language->save(true, false);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":164,\"text\":\"return $language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":3,\"text\":\"namespace XF\\\\Service\\\\Language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":7,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":17,\"text\":\"* @var Language\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":19,\"text\":\"protected $language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":28,\"text\":\"public function __construct(App $app, Language $language)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":31,\"text\":\"$this->setLanguage($language);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":34,\"text\":\"public function setLanguage(Language $language)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":36,\"text\":\"$this->language = $language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":39,\"text\":\"public function getLanguage()\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":41,\"text\":\"return $this->language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":67,\"text\":\"$languageNode = $this->getLanguageNode($document);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":68,\"text\":\"$document->appendChild($languageNode);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":70,\"text\":\"foreach ($this->getExportablePhrases() AS $phrase)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":72,\"text\":\"$phraseNode = $this->getPhraseNode($document, $phrase);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":73,\"text\":\"$languageNode->appendChild($phraseNode);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":81,\"text\":\"$title = str_replace(' ', '-', Str::transliterate($this->language->title));\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":84,\"text\":\"return \\\"language-{$title}{$addOnLimit}.xml\\\";\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":102,\"text\":\"protected function getLanguageNode(\\\\DOMDocument $document)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":104,\"text\":\"$language = $this->language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":106,\"text\":\"$languageNode = $document->createElement('language');\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":107,\"text\":\"$languageNode->setAttribute('title', $language->title);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":108,\"text\":\"$languageNode->setAttribute('date_format', $language->date_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":109,\"text\":\"$languageNode->setAttribute('date_short_format', $language->date_short_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":110,\"text\":\"$languageNode->setAttribute('date_short_recent_format', $language->date_short_recent_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":111,\"text\":\"$languageNode->setAttribute('time_format', $language->time_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":112,\"text\":\"$languageNode->setAttribute('currency_format', $language->currency_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":113,\"text\":\"$languageNode->setAttribute('week_start', $language->week_start);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":114,\"text\":\"$languageNode->setAttribute('decimal_point', $language->decimal_point);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":115,\"text\":\"$languageNode->setAttribute('thousands_separator', $language->thousands_separator);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":116,\"text\":\"$languageNode->setAttribute('label_separator', $language->label_separator);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":117,\"text\":\"$languageNode->setAttribute('comma_separator', $language->comma_separator);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":118,\"text\":\"$languageNode->setAttribute('ellipsis', $language->ellipsis);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":119,\"text\":\"$languageNode->setAttribute('parenthesis_open', $language->parenthesis_open);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":120,\"text\":\"$languageNode->setAttribute('parenthesis_close', $language->parenthesis_close);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":121,\"text\":\"$languageNode->setAttribute('language_code', $language->language_code);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":122,\"text\":\"$languageNode->setAttribute('text_direction', $language->text_direction);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":123,\"text\":\"$languageNode->setAttribute('user_selectable', $language->user_selectable);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":126,\"text\":\"$languageNode->setAttribute('addon_id', $this->addOn->addon_id);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":127,\"text\":\"$languageNode->setAttribute('base_version_id', $this->addOn->version_id);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":131,\"text\":\"$languageNode->setAttribute('base_version_id', \\\\XF::$versionId);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":133,\"text\":\"$languageNode->setAttribute('export_version', self::EXPORT_VERSION_ID);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":134,\"text\":\"$document->appendChild($languageNode);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":136,\"text\":\"return $languageNode;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":139,\"text\":\"protected function getPhraseNode(\\\\DOMDocument $document, array $phrase)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":141,\"text\":\"$phraseNode = $document->createElement('phrase');\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":142,\"text\":\"$phraseNode->setAttribute('title', $phrase['title']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":143,\"text\":\"$phraseNode->setAttribute('addon_id', $phrase['addon_id']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":144,\"text\":\"if ($phrase['global_cache'])\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":146,\"text\":\"$phraseNode->setAttribute('global_cache', $phrase['global_cache']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":148,\"text\":\"$phraseNode->setAttribute('version_id', $phrase['version_id']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":149,\"text\":\"$phraseNode->setAttribute('version_string', $phrase['version_string']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":150,\"text\":\"$phraseNode->appendChild(\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":151,\"text\":\"Xml::createDomCdataSection($document, $phrase['phrase_text'])\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":154,\"text\":\"return $phraseNode;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":160,\"text\":\"protected function getExportablePhrases()\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":162,\"text\":\"$language = $this->language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":171,\"text\":\"SELECT phrase.*,\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":172,\"text\":\"IF(master.phrase_id IS NOT NULL, master.addon_id, phrase.addon_id) AS addon_id\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":173,\"text\":\"FROM xf_phrase_map AS map\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":174,\"text\":\"INNER JOIN xf_phrase AS phrase ON (map.phrase_id = phrase.phrase_id)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":175,\"text\":\"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":176,\"text\":\"WHERE map.language_id = ?\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":179,\"text\":\"\\\", $language->language_id);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":184,\"text\":\"SELECT phrase.*,\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":185,\"text\":\"IF(master.phrase_id, master.addon_id, phrase.addon_id) AS addon_id\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":186,\"text\":\"FROM xf_phrase AS phrase\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":187,\"text\":\"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":188,\"text\":\"WHERE phrase.language_id = ?\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":190,\"text\":\"ORDER BY phrase.title\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":191,\"text\":\"\\\", $language->language_id);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":3,\"text\":\"namespace XF\\\\Service\\\\Language;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":5,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":6,\"text\":\"use XF\\\\Repository\\\\LanguageRepository;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":10,\"text\":\"class RebuildService extends AbstractService\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":15,\"text\":\"protected $languageTree;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":17,\"text\":\"protected function setupLanguageTree()\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":19,\"text\":\"if ($this->languageTree)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":24,\"text\":\"$repo = $this->app->em()->getRepository(LanguageRepository::class);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":25,\"text\":\"$this->languageTree = $repo->getLanguageTree(false);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":28,\"text\":\"public function rebuildFullParentList()\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":30,\"text\":\"$this->setupLanguageTree();\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":33,\"text\":\"$this->_rebuildParentList(0, []);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":37,\"text\":\"protected function _rebuildParentList($id, array $path)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":41,\"text\":\"/** @var Language $language */\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":42,\"text\":\"$language = $this->languageTree->getData($id);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":43,\"text\":\"if ($language)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":45,\"text\":\"if ($path != $language->parent_list)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":47,\"text\":\"$language->fastUpdate('parent_list', $path);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":51,\"text\":\"foreach ($this->languageTree->childIds($id) AS $childId)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":53,\"text\":\"$this->_rebuildParentList($childId, $path);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":5,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":7,\"text\":\"use XF\\\\Finder\\\\LanguageFinder;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":8,\"text\":\"use XF\\\\Finder\\\\PhraseFinder;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":13,\"text\":\"class LanguageRepository extends Repository\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":16,\"text\":\"* @return LanguageFinder\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":18,\"text\":\"public function findLanguages()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":20,\"text\":\"return $this->finder(LanguageFinder::class)->order('language_id');\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":23,\"text\":\"public function showMasterLanguage()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":28,\"text\":\"public function getMasterLanguage()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":30,\"text\":\"$language = $this->em->create(Language::class);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":31,\"text\":\"$language->setTrusted('language_id', 0);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":32,\"text\":\"$language->setTrusted('parent_id', -1);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":33,\"text\":\"$language->title = \\\\XF::phrase('master_language');\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":34,\"text\":\"$language->setReadOnly(true);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":36,\"text\":\"return $language;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":39,\"text\":\"public function getLanguageTree($withMaster = null)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":41,\"text\":\"$languages = $this->findLanguages()->fetch();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":42,\"text\":\"return $this->createLanguageTree($languages, $withMaster);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":48,\"text\":\"* @return Language[]\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":50,\"text\":\"public function getUserSelectableLanguages(?User $user = null)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":57,\"text\":\"$languages = [];\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":58,\"text\":\"foreach ($this->getLanguageTree(false)->getFlattened(0) AS $id => $record)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":62,\"text\":\"$languages[$id] = $record['record'];\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":66,\"text\":\"return $languages;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":69,\"text\":\"public function createLanguageTree($languages, $withMaster = null, $rootId = null)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":77,\"text\":\"if ($languages instanceof AbstractCollection)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":79,\"text\":\"$languages = $languages->toArray();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":81,\"text\":\"$languages[0] = $this->getMasterLanguage();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":89,\"text\":\"return new Tree($languages, 'parent_id', $rootId);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":92,\"text\":\"public function rebuildGlobalPhraseCache()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":94,\"text\":\"$titles = $this->finder(PhraseFinder::class)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":95,\"text\":\"->where('language_id', 0)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":96,\"text\":\"->where('global_cache', 1)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":100,\"text\":\"$languages = $this->findLanguages()->fetch();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":102,\"text\":\"$globalPhrases = [];\"}]\nNEWFI_LANGUAGE_WORKFLOW_HITS=[{\"path\":\"docs/operations/addons-language.md\",\"line\":18,\"text\":\"- Core Russian created `language_id=2`, title `Russian (RU)`, language code `ru-RU` through `XF\\\\Service\\\\Language\\\\ImportService`.\"},{\"path\":\"docs/operations/addons-language.md\",\"line\":20,\"text\":\"- Accepted phrase counts for language 2: XF `11142`, XFMG `722`, XFRM `464`, total `12328`.\"},{\"path\":\"docs/operations/addons-language.md\",\"line\":22,\"text\":\"- `defaultLanguageId` was changed through the XenForo Option repository from `1` to `2` only after all three packs passed acceptance.\"},{\"path\":\"docs/operations/addons-language.md\",\"line\":32,\"text\":\"- Accepted manual job count: `0`.\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":14,\"text\":\"phrase_rows=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \\\"SELECT CONCAT_WS(0x7c,addon_id,COUNT(*)) FROM xf_phrase WHERE language_id=2 GROUP BY addon_id ORDER BY addon_id\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":19,\"text\":\"phrases=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \\\"SELECT COUNT(*) FROM xf_phrase WHERE language_id=2\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":22,\"text\":\"manual=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \\\"SELECT COUNT(*) FROM xf_job WHERE manual_execute=1\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":25,\"text\":\"expected_phrases=$(printf \\\"XF|11142\\\\nXFMG|722\\\\nXFRM|464\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":26,\"text\":\"printf \\\"ADDON_ROWS_BEGIN\\\\n%s\\\\nADDON_ROWS_END\\\\nLANGUAGE_ROWS_BEGIN\\\\n%s\\\\nLANGUAGE_ROWS_END\\\\nRU_PHRASE_ROWS_BEGIN\\\\n%s\\\\nRU_PHRASE_ROWS_END\\\\nDEFAULT_LANGUAGE_ID=%s\\\\nRU_PHRASE_COUNT=%s\\\\nDB_TABLES=%s\\\\nBOARD_ROW=%s|%s|%s\\\\nERROR_LOG_COUNT=%s\\\\nMANUAL_JOB_COUNT=%s\\\\n\\\" \\\"$addon_rows\\\" \\\"$language_rows\\\" \\\"$phrase_rows\\\" \\\"$default_lang\\\" \\\"$phrases\\\" \\\"$tables\\\" \\\"$board\\\" \\\"$title\\\" \\\"$url\\\" \\\"$errors\\\" \\\"$manual\\\"\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":29,\"text\":\"test \\\"$phrase_rows\\\" = \\\"$expected_phrases\\\"\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":31,\"text\":\"test \\\"$phrases\\\" -eq 12328\"}]\nEDGE_LOG_PROBE_TRANSPORT_RC=2\nROLLBACK_STATE_OK=true\nTASK_COMPLETE=true\nTASK_RESULT=PASS_PVEPRO_RUSSIAN_RENDER_COMPAT_RCA\nNO_MUTATION=true\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2.txt b/runtime/history/SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2.txt new file mode 100644 index 00000000..6b066ae8 --- /dev/null +++ b/runtime/history/SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2.txt @@ -0,0 +1,92 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=pvepro-russian-render-compat-rca-readonly +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=08c58b6b904dacb9239f463c5b177bc7b653d604e2f5b5a0cc71036a03501e2d +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364 +SANITIZED_OUTPUT_SHA256=44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364 +OUTPUT_BEGIN +PROD_STATUS=status: running +STAGE_STATUS=status: stopped +STAGE_NAME=pvepro-staging-v1 +STAGE_ALL_LINK_DOWN=true +PROD_NONCURRENT_SNAPSHOT_LINES=0 +STAGE_NONCURRENT_SNAPSHOT_LINES=0 +ARCHIVE_BYTES=298309 +ARCHIVE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b +ARCHIVE_XML_COUNT=1 +XML_BYTES=2240918 +XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 +COMPARE_TRANSPORT_RC=0 +COMPARE_TRANSPORT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +COMPARE_GUEST_EXITCODE=0 +COMPARE_OUTPUT_BEGIN +ZIP_STDIN_BYTES=298309 +ZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b +ZIP_XML_COUNT=1 +EXTRACTED_XML_BYTES=2240918 +EXTRACTED_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 +PHP_COMPARE_RC=0 +PHP_COMPARE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +PHP_COMPARE_OUTPUT_BEGIN +XML_STDIN_BYTES=2240918 +XML_STDIN_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 +XML_PARSE_OK=true +MASTER_PHRASE_COUNT=11193 +MASTER_MAX_VERSION_ID=2031270 +PACK_PHRASE_COUNT=11142 +PACK_MAX_VERSION_ID=2031070 +PACK_BLANK_PHRASE_COUNT=112 +COMMON_PHRASE_COUNT=11141 +PACK_ONLY_COUNT=1 +MASTER_ONLY_COUNT=52 +PACK_ONLY_SAMPLE=["php_version_minimum"] +MASTER_ONLY_SAMPLE=["trophy_description.1","trophy_title.1","trophy_description.2","trophy_title.2","trophy_description.3","trophy_title.3","trophy_description.4","trophy_title.4","trophy_description.5","trophy_title.5","trophy_description.6","trophy_title.6","trophy_description.7","trophy_title.7","trophy_description.8","trophy_title.8","trophy_description.9","trophy_title.9","warning_title.1","warning_conv_title.1","warning_conv_text.1","warning_title.2","warning_conv_title.2","warning_conv_text.2","warning_title.3","warning_conv_title.3","warning_conv_text.3","warning_title.4","warning_conv_title.4","warning_conv_text.4"] +PLACEHOLDER_MISMATCH_COUNT=5 +PLACEHOLDER_MISMATCH_SAMPLE=[{"title":"if_enabled_threads_posted_in_this_forum_will_automatically_be_featured","pack":["date"],"master":[]},{"title":"mod_log.thread_edit","pack":["elements"],"master":[]},{"title":"one_or_more_files_do_not_have_allowed_extension_x","pack":["allowed"],"master":["allowed","files"]},{"title":"php_version_not_newest","pack":[],"master":["recommended"]},{"title":"widget_pos_desc.featured_content_list_below_features","pack":["date"],"master":[]}] +IMPORT_SERVICE_FILE_SHA256=22344729c6871a640b678f3f02f4120d3eaed904f1aba274b8c4911920b1000b +IMPORT_SERVICE_FILE_BYTES=4464 +IMPORT_SERVICE_KEY_LINES=[{"line":48,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"line":54,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"line":60,"text":"$error = \\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');"},{"line":78,"text":"$errors['addon_id'] = \\XF::phrase('xml_file_relates_add_on_not_installed_install_first');"},{"line":97,"text":"$errors['version_id'] = \\XF::phrase('xml_file_based_on_newer_version_than_installed');"},{"line":106,"text":"$errors['language_code'] = \\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');"},{"line":113,"text":"public function importFromXml(\\SimpleXMLElement $document)"},{"line":122,"text":"$phraseImporter = $this->service(\\XF\\Service\\Phrase\\ImportService::class, $language);"},{"line":123,"text":"$phraseImporter->importFromXml($document, $addOnId);"}] +CURRENT_JOB_COUNT=3 +CURRENT_MANUAL_JOB_COUNT=0 +CURRENT_ERROR_COUNT=16 +CURRENT_DEFAULT_LANGUAGE_ID=1 +CURRENT_RU_COUNT=0 +CURRENT_THREAD_COUNT=44 +CURRENT_POST_COUNT=44 +PHP_COMPARE_OUTPUT_END +COMPARE_OUTPUT_END +SOURCE_SEARCH_TRANSPORT_RC=0 +SOURCE_SEARCH_EXITCODE=0 +SOURCE_LANGUAGE_REBUILD_HITS=[{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":3,"text":"namespace XF\\Service\\Language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":5,"text":"use XF\\Entity\\Language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":13,"text":"* @var Language|null"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":15,"text":"protected $overwriteLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":18,"text":"* @var Language|null"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":20,"text":"protected $parentLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":22,"text":"public function setOverwriteLanguage(Language $language)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":24,"text":"$this->overwriteLanguage = $language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":25,"text":"$this->parentLanguage = null;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":28,"text":"public function getOverwriteLanguage()"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":30,"text":"return $this->overwriteLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":33,"text":"public function setParentLanguage(?Language $language = null)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":35,"text":"$this->parentLanguage = $language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":36,"text":"$this->overwriteLanguage = null;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":39,"text":"public function getParentLanguage()"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":41,"text":"return $this->parentLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":48,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":52,"text":"if ($rootElement->getName() != 'language' || (string) $rootElement['title'] === '')"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":54,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":60,"text":"$error = \\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":78,"text":"$errors['addon_id'] = \\XF::phrase('xml_file_relates_add_on_not_installed_install_first');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":97,"text":"$errors['version_id'] = \\XF::phrase('xml_file_based_on_newer_version_than_installed');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":101,"text":"if ($this->overwriteLanguage)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":103,"text":"$languageCode = (string) $document['language_code'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":104,"text":"if ($languageCode != $this->overwriteLanguage->language_code)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":106,"text":"$errors['language_code'] = \\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":113,"text":"public function importFromXml(\\SimpleXMLElement $document)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":120,"text":"$language = $this->getTargetLanguage($document);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":122,"text":"$phraseImporter = $this->service(\\XF\\Service\\Phrase\\ImportService::class, $language);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":123,"text":"$phraseImporter->importFromXml($document, $addOnId);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":127,"text":"return $language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":130,"text":"protected function getTargetLanguage(\\SimpleXMLElement $document)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":132,"text":"if ($this->overwriteLanguage)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":134,"text":"return $this->overwriteLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":138,"text":"$language = $this->em()->create(Language::class);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":139,"text":"$language->title = (string) $document['title'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":140,"text":"$language->parent_id = $this->parentLanguage ? $this->parentLanguage->language_id : 0;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":141,"text":"$language->date_format = (string) $document['date_format'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":142,"text":"$language->date_short_format = (string) $document['date_short_format'] ?: 'M \\'y';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":143,"text":"$language->date_short_recent_format = (string) $document['date_short_recent_format'] ?: 'M j';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":144,"text":"$language->time_format = (string) $document['time_format'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":145,"text":"$language->currency_format = (string) $document['currency_format'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":146,"text":"$language->week_start = (string) $document['week_start'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":147,"text":"$language->decimal_point = (string) $document['decimal_point'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":148,"text":"$language->thousands_separator = (string) $document['thousands_separator'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":149,"text":"$language->label_separator = (string) $document['label_separator'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":150,"text":"$language->comma_separator = (string) $document['comma_separator'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":151,"text":"$language->ellipsis = (string) $document['ellipsis'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":152,"text":"$language->parenthesis_open = (string) $document['parenthesis_open'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":153,"text":"$language->parenthesis_close = (string) $document['parenthesis_close'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":154,"text":"$language->language_code = (string) $document['language_code'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":155,"text":"$language->text_direction = (string) $document['text_direction'] ?: 'LTR';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":159,"text":"$language->user_selectable = (string) $document['user_selectable'] === '1';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":162,"text":"$language->save(true, false);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":164,"text":"return $language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":3,"text":"namespace XF\\Service\\Language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":7,"text":"use XF\\Entity\\Language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":17,"text":"* @var Language"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":19,"text":"protected $language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":28,"text":"public function __construct(App $app, Language $language)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":31,"text":"$this->setLanguage($language);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":34,"text":"public function setLanguage(Language $language)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":36,"text":"$this->language = $language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":39,"text":"public function getLanguage()"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":41,"text":"return $this->language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":67,"text":"$languageNode = $this->getLanguageNode($document);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":68,"text":"$document->appendChild($languageNode);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":70,"text":"foreach ($this->getExportablePhrases() AS $phrase)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":72,"text":"$phraseNode = $this->getPhraseNode($document, $phrase);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":73,"text":"$languageNode->appendChild($phraseNode);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":81,"text":"$title = str_replace(' ', '-', Str::transliterate($this->language->title));"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":84,"text":"return \"language-{$title}{$addOnLimit}.xml\";"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":102,"text":"protected function getLanguageNode(\\DOMDocument $document)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":104,"text":"$language = $this->language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":106,"text":"$languageNode = $document->createElement('language');"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":107,"text":"$languageNode->setAttribute('title', $language->title);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":108,"text":"$languageNode->setAttribute('date_format', $language->date_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":109,"text":"$languageNode->setAttribute('date_short_format', $language->date_short_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":110,"text":"$languageNode->setAttribute('date_short_recent_format', $language->date_short_recent_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":111,"text":"$languageNode->setAttribute('time_format', $language->time_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":112,"text":"$languageNode->setAttribute('currency_format', $language->currency_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":113,"text":"$languageNode->setAttribute('week_start', $language->week_start);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":114,"text":"$languageNode->setAttribute('decimal_point', $language->decimal_point);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":115,"text":"$languageNode->setAttribute('thousands_separator', $language->thousands_separator);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":116,"text":"$languageNode->setAttribute('label_separator', $language->label_separator);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":117,"text":"$languageNode->setAttribute('comma_separator', $language->comma_separator);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":118,"text":"$languageNode->setAttribute('ellipsis', $language->ellipsis);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":119,"text":"$languageNode->setAttribute('parenthesis_open', $language->parenthesis_open);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":120,"text":"$languageNode->setAttribute('parenthesis_close', $language->parenthesis_close);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":121,"text":"$languageNode->setAttribute('language_code', $language->language_code);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":122,"text":"$languageNode->setAttribute('text_direction', $language->text_direction);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":123,"text":"$languageNode->setAttribute('user_selectable', $language->user_selectable);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":126,"text":"$languageNode->setAttribute('addon_id', $this->addOn->addon_id);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":127,"text":"$languageNode->setAttribute('base_version_id', $this->addOn->version_id);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":131,"text":"$languageNode->setAttribute('base_version_id', \\XF::$versionId);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":133,"text":"$languageNode->setAttribute('export_version', self::EXPORT_VERSION_ID);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":134,"text":"$document->appendChild($languageNode);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":136,"text":"return $languageNode;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":139,"text":"protected function getPhraseNode(\\DOMDocument $document, array $phrase)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":141,"text":"$phraseNode = $document->createElement('phrase');"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":142,"text":"$phraseNode->setAttribute('title', $phrase['title']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":143,"text":"$phraseNode->setAttribute('addon_id', $phrase['addon_id']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":144,"text":"if ($phrase['global_cache'])"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":146,"text":"$phraseNode->setAttribute('global_cache', $phrase['global_cache']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":148,"text":"$phraseNode->setAttribute('version_id', $phrase['version_id']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":149,"text":"$phraseNode->setAttribute('version_string', $phrase['version_string']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":150,"text":"$phraseNode->appendChild("},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":151,"text":"Xml::createDomCdataSection($document, $phrase['phrase_text'])"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":154,"text":"return $phraseNode;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":160,"text":"protected function getExportablePhrases()"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":162,"text":"$language = $this->language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":171,"text":"SELECT phrase.*,"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":172,"text":"IF(master.phrase_id IS NOT NULL, master.addon_id, phrase.addon_id) AS addon_id"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":173,"text":"FROM xf_phrase_map AS map"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":174,"text":"INNER JOIN xf_phrase AS phrase ON (map.phrase_id = phrase.phrase_id)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":175,"text":"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":176,"text":"WHERE map.language_id = ?"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":179,"text":"\", $language->language_id);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":184,"text":"SELECT phrase.*,"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":185,"text":"IF(master.phrase_id, master.addon_id, phrase.addon_id) AS addon_id"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":186,"text":"FROM xf_phrase AS phrase"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":187,"text":"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":188,"text":"WHERE phrase.language_id = ?"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":190,"text":"ORDER BY phrase.title"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":191,"text":"\", $language->language_id);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":3,"text":"namespace XF\\Service\\Language;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":5,"text":"use XF\\Entity\\Language;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":6,"text":"use XF\\Repository\\LanguageRepository;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":10,"text":"class RebuildService extends AbstractService"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":15,"text":"protected $languageTree;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":17,"text":"protected function setupLanguageTree()"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":19,"text":"if ($this->languageTree)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":24,"text":"$repo = $this->app->em()->getRepository(LanguageRepository::class);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":25,"text":"$this->languageTree = $repo->getLanguageTree(false);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":28,"text":"public function rebuildFullParentList()"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":30,"text":"$this->setupLanguageTree();"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":33,"text":"$this->_rebuildParentList(0, []);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":37,"text":"protected function _rebuildParentList($id, array $path)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":41,"text":"/** @var Language $language */"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":42,"text":"$language = $this->languageTree->getData($id);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":43,"text":"if ($language)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":45,"text":"if ($path != $language->parent_list)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":47,"text":"$language->fastUpdate('parent_list', $path);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":51,"text":"foreach ($this->languageTree->childIds($id) AS $childId)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":53,"text":"$this->_rebuildParentList($childId, $path);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":5,"text":"use XF\\Entity\\Language;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":7,"text":"use XF\\Finder\\LanguageFinder;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":8,"text":"use XF\\Finder\\PhraseFinder;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":13,"text":"class LanguageRepository extends Repository"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":16,"text":"* @return LanguageFinder"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":18,"text":"public function findLanguages()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":20,"text":"return $this->finder(LanguageFinder::class)->order('language_id');"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":23,"text":"public function showMasterLanguage()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":28,"text":"public function getMasterLanguage()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":30,"text":"$language = $this->em->create(Language::class);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":31,"text":"$language->setTrusted('language_id', 0);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":32,"text":"$language->setTrusted('parent_id', -1);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":33,"text":"$language->title = \\XF::phrase('master_language');"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":34,"text":"$language->setReadOnly(true);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":36,"text":"return $language;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":39,"text":"public function getLanguageTree($withMaster = null)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":41,"text":"$languages = $this->findLanguages()->fetch();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":42,"text":"return $this->createLanguageTree($languages, $withMaster);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":48,"text":"* @return Language[]"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":50,"text":"public function getUserSelectableLanguages(?User $user = null)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":57,"text":"$languages = [];"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":58,"text":"foreach ($this->getLanguageTree(false)->getFlattened(0) AS $id => $record)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":62,"text":"$languages[$id] = $record['record'];"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":66,"text":"return $languages;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":69,"text":"public function createLanguageTree($languages, $withMaster = null, $rootId = null)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":77,"text":"if ($languages instanceof AbstractCollection)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":79,"text":"$languages = $languages->toArray();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":81,"text":"$languages[0] = $this->getMasterLanguage();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":89,"text":"return new Tree($languages, 'parent_id', $rootId);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":92,"text":"public function rebuildGlobalPhraseCache()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":94,"text":"$titles = $this->finder(PhraseFinder::class)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":95,"text":"->where('language_id', 0)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":96,"text":"->where('global_cache', 1)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":100,"text":"$languages = $this->findLanguages()->fetch();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":102,"text":"$globalPhrases = [];"}] +NEWFI_LANGUAGE_WORKFLOW_HITS=[{"path":"docs/operations/addons-language.md","line":18,"text":"- Core Russian created `language_id=2`, title `Russian (RU)`, language code `ru-RU` through `XF\\Service\\Language\\ImportService`."},{"path":"docs/operations/addons-language.md","line":20,"text":"- Accepted phrase counts for language 2: XF `11142`, XFMG `722`, XFRM `464`, total `12328`."},{"path":"docs/operations/addons-language.md","line":22,"text":"- `defaultLanguageId` was changed through the XenForo Option repository from `1` to `2` only after all three packs passed acceptance."},{"path":"docs/operations/addons-language.md","line":32,"text":"- Accepted manual job count: `0`."},{"path":"scripts/verify-addons-language.sh","line":14,"text":"phrase_rows=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT CONCAT_WS(0x7c,addon_id,COUNT(*)) FROM xf_phrase WHERE language_id=2 GROUP BY addon_id ORDER BY addon_id\")"},{"path":"scripts/verify-addons-language.sh","line":19,"text":"phrases=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT COUNT(*) FROM xf_phrase WHERE language_id=2\")"},{"path":"scripts/verify-addons-language.sh","line":22,"text":"manual=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT COUNT(*) FROM xf_job WHERE manual_execute=1\")"},{"path":"scripts/verify-addons-language.sh","line":25,"text":"expected_phrases=$(printf \"XF|11142\\nXFMG|722\\nXFRM|464\")"},{"path":"scripts/verify-addons-language.sh","line":26,"text":"printf \"ADDON_ROWS_BEGIN\\n%s\\nADDON_ROWS_END\\nLANGUAGE_ROWS_BEGIN\\n%s\\nLANGUAGE_ROWS_END\\nRU_PHRASE_ROWS_BEGIN\\n%s\\nRU_PHRASE_ROWS_END\\nDEFAULT_LANGUAGE_ID=%s\\nRU_PHRASE_COUNT=%s\\nDB_TABLES=%s\\nBOARD_ROW=%s|%s|%s\\nERROR_LOG_COUNT=%s\\nMANUAL_JOB_COUNT=%s\\n\" \"$addon_rows\" \"$language_rows\" \"$phrase_rows\" \"$default_lang\" \"$phrases\" \"$tables\" \"$board\" \"$title\" \"$url\" \"$errors\" \"$manual\""},{"path":"scripts/verify-addons-language.sh","line":29,"text":"test \"$phrase_rows\" = \"$expected_phrases\""},{"path":"scripts/verify-addons-language.sh","line":31,"text":"test \"$phrases\" -eq 12328"}] +EDGE_LOG_PROBE_TRANSPORT_RC=2 +ROLLBACK_STATE_OK=true +TASK_COMPLETE=true +TASK_RESULT=PASS_PVEPRO_RUSSIAN_RENDER_COMPAT_RCA +NO_MUTATION=true +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index a81b1ce3..e26bf222 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-STABLE-VERIFY-727R1", - "status": "FAIL", - "rc": 3, + "command_id": "SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "pvepro-v1-russian-core-stable-verify", - "started_at_utc": "2026-09-20T00:57:43Z", - "finished_at_utc": "2026-09-20T01:00:49Z", + "mode": "read-only", + "component": "pvepro-russian-render-compat-rca-readonly", + "started_at_utc": "2026-09-20T01:15:38Z", + "finished_at_utc": "2026-09-20T01:15:43Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "65cab74b43afd26f49206cba0fcbef8df9ea1f1528d86cf6839db80f093133ad", + "command_sha256": "08c58b6b904dacb9239f463c5b177bc7b653d604e2f5b5a0cc71036a03501e2d", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "FAIL", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 3, - "changes_made": true, - "rollback_started": true, - "rollback_restored": true, - "mutation_outcome": "ROLLED_BACK", + "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": "095ab6d1ce0e2fce95dd14900a5c33cd8423b7c202e02585e416b873513110f9", - "sanitized_output_sha256": "095ab6d1ce0e2fce95dd14900a5c33cd8423b7c202e02585e416b873513110f9", + "raw_evidence_sha256": "44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364", + "sanitized_output_sha256": "44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "RU_ARCHIVE_BYTES=298309\nRU_ARCHIVE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nRU_XML_BYTES=2240918\nRU_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nRU_XML_ROOT_TAG=language\nRU_XML_LANGUAGE_CODE=ru-RU\nRU_XML_TITLE=Russian (RU)\nSTAGE_START_RC=0\nSTAGE_QGA_TRIES_PRE=24\nSTAGE_PREFLIGHT_TRANSPORT_RC=0\nSTAGE_PREFLIGHT_EXITCODE=0\nSTAGE_PREFLIGHT_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nPHP_RC=0\nPHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_STDERR_BYTES=0\nPHP_OUTPUT_BEGIN\nIMPORT_CLASS_EXISTS=true\nIMPORT_METHOD_importFromXml=true\nIMPORT_METHOD_setOverwriteLanguage=true\nIMPORT_SERVICE_FACTORY_OK=true\nLANGUAGE_COUNT=1\nRU_CODE_COUNT=0\nLANGUAGE_ID2_COUNT=0\nDEFAULT_LANGUAGE_ID=1\nENGLISH_ID1_EXISTS=true\nBOARD_ACTIVE=false\nREGISTRATION_ENABLED=false\nTHREAD_COUNT=44\nPOST_COUNT=44\nPHP_OUTPUT_END\nSTAGE_PREFLIGHT_OUTPUT_END\nSTAGE_IMPORT_PREFLIGHT_OK=true\nSTAGE_SNAPSHOT_RC=0\nSTAGE_QGA_TRIES_POST_SNAPSHOT=1\nSTAGE_ZIP_TRANSFER_RC=0\nSTAGE_ZIP_GUEST_EXITCODE=0\nSTAGE_ZIP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nSTAGE_ZIP_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nZIP_STDIN_BYTES=298309\nZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nZIP_FILE_BYTES=298309\nZIP_FILE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nSTAGE_ZIP_OUTPUT_END\nSTAGE_EXTRACT_TRANSPORT_RC=0\nSTAGE_EXTRACT_EXITCODE=0\nSTAGE_EXTRACT_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nZIP_XML_COUNT=1\nEXTRACTED_XML_BYTES=2240918\nEXTRACTED_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nXML_FILE_BYTES=2240918\nXML_FILE_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nSTAGE_EXTRACT_OUTPUT_END\nSTAGE_IMPORT_TRANSPORT_RC=0\nSTAGE_IMPORT_EXITCODE=0\nSTAGE_IMPORT_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nPHP_RC=0\nPHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_STDERR_BYTES=0\nPHP_OUTPUT_BEGIN\nXML_PARSE_OK=true\nIMPORT_SERVICE_READY=true\nRU_CREATED=true\nRU_LANGUAGE_ID=2\nRU_TITLE=Russian (RU)\nRU_CODE=ru-RU\nRU_USER_SELECTABLE=1\nRU_PHRASE_COUNT=11142\nDEFAULT_LANGUAGE_ID_AFTER=1\nPHP_OUTPUT_END\nSTAGE_IMPORT_OUTPUT_END\nSTAGE_VERIFY_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nPHP_RC=0\nPHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_STDERR_BYTES=0\nPHP_OUTPUT_BEGIN\nRU_EXISTS=true\nRU_LANGUAGE_ID=2\nRU_TITLE=Russian (RU)\nRU_CODE=ru-RU\nRU_USER_SELECTABLE=1\nRU_PHRASE_COUNT=11142\nPHRASE_search_PRESENT=true\nPHRASE_search_SHA256=180f58ab975323f98064952d056a0fdf5ca7479de168c77b8c0799aaf011aa92\nPHRASE_search_TEXT=Поиск\nPHRASE_new_posts_PRESENT=true\nPHRASE_new_posts_SHA256=d51ca930fed22325762f086edb61c57ee92467792a3e6f89c04b4aa5935f4404\nPHRASE_new_posts_TEXT=Новые сообщения\nPHRASE_whats_new_PRESENT=true\nPHRASE_whats_new_SHA256=c98392877353ff44de1f3e532a063f3d75325b7559a757232a2a087aa0fd5501\nPHRASE_whats_new_TEXT=Что нового?\nPHRASE_forums_PRESENT=true\nPHRASE_forums_SHA256=45d59d46e223d9719c9fc4128f7e195ae43bb485cee82191ee0bdccdf0647663\nPHRASE_forums_TEXT=Форумы\nLANGUAGE_COUNT=2\nDEFAULT_LANGUAGE_ID=2\nENGLISH_ID1_EXISTS=true\nTHREAD_COUNT=44\nPOST_COUNT=44\nADMIN_COUNT=1\nREGISTRATION_ENABLED=false\nBOARD_ACTIVE=false\nPERMISSION_REBUILD_JOB_COUNT=0\nPHP_OUTPUT_END\nSTAGE_VERIFY_OUTPUT_END\nSTAGE_RUSSIAN_CORE_OK=true\nSTAGE_FINAL_STATUS=stopped\nPROD_PREFLIGHT_TRANSPORT_RC=0\nPROD_PREFLIGHT_EXITCODE=0\nPROD_PREFLIGHT_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nPHP_RC=0\nPHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_STDERR_BYTES=0\nPHP_OUTPUT_BEGIN\nIMPORT_CLASS_EXISTS=true\nIMPORT_METHOD_importFromXml=true\nIMPORT_METHOD_setOverwriteLanguage=true\nIMPORT_SERVICE_FACTORY_OK=true\nLANGUAGE_COUNT=1\nRU_CODE_COUNT=0\nLANGUAGE_ID2_COUNT=0\nDEFAULT_LANGUAGE_ID=1\nENGLISH_ID1_EXISTS=true\nBOARD_ACTIVE=true\nREGISTRATION_ENABLED=false\nTHREAD_COUNT=44\nPOST_COUNT=44\nPHP_OUTPUT_END\nPROD_PREFLIGHT_OUTPUT_END\nPROD_IMPORT_PREFLIGHT_OK=true\nPROD_SNAPSHOT_RC=0\nPROD_QGA_TRIES_POST_SNAPSHOT=1\nPROD_ZIP_TRANSFER_RC=0\nPROD_ZIP_GUEST_EXITCODE=0\nPROD_ZIP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPROD_ZIP_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nZIP_STDIN_BYTES=298309\nZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nZIP_FILE_BYTES=298309\nZIP_FILE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nPROD_ZIP_OUTPUT_END\nPROD_EXTRACT_TRANSPORT_RC=0\nPROD_EXTRACT_EXITCODE=0\nPROD_EXTRACT_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nZIP_XML_COUNT=1\nEXTRACTED_XML_BYTES=2240918\nEXTRACTED_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nXML_FILE_BYTES=2240918\nXML_FILE_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nPROD_EXTRACT_OUTPUT_END\nPROD_IMPORT_TRANSPORT_RC=0\nPROD_IMPORT_EXITCODE=0\nPROD_IMPORT_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nPHP_RC=0\nPHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_STDERR_BYTES=0\nPHP_OUTPUT_BEGIN\nXML_PARSE_OK=true\nIMPORT_SERVICE_READY=true\nRU_CREATED=true\nRU_LANGUAGE_ID=2\nRU_TITLE=Russian (RU)\nRU_CODE=ru-RU\nRU_USER_SELECTABLE=1\nRU_PHRASE_COUNT=11142\nDEFAULT_LANGUAGE_ID_AFTER=1\nPHP_OUTPUT_END\nPROD_IMPORT_OUTPUT_END\nPROD_VERIFY_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219\nPHP_RC=0\nPHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_STDERR_BYTES=0\nPHP_OUTPUT_BEGIN\nRU_EXISTS=true\nRU_LANGUAGE_ID=2\nRU_TITLE=Russian (RU)\nRU_CODE=ru-RU\nRU_USER_SELECTABLE=1\nRU_PHRASE_COUNT=11142\nPHRASE_search_PRESENT=true\nPHRASE_search_SHA256=180f58ab975323f98064952d056a0fdf5ca7479de168c77b8c0799aaf011aa92\nPHRASE_search_TEXT=Поиск\nPHRASE_new_posts_PRESENT=true\nPHRASE_new_posts_SHA256=d51ca930fed22325762f086edb61c57ee92467792a3e6f89c04b4aa5935f4404\nPHRASE_new_posts_TEXT=Новые сообщения\nPHRASE_whats_new_PRESENT=true\nPHRASE_whats_new_SHA256=c98392877353ff44de1f3e532a063f3d75325b7559a757232a2a087aa0fd5501\nPHRASE_whats_new_TEXT=Что нового?\nPHRASE_forums_PRESENT=true\nPHRASE_forums_SHA256=45d59d46e223d9719c9fc4128f7e195ae43bb485cee82191ee0bdccdf0647663\nPHRASE_forums_TEXT=Форумы\nLANGUAGE_COUNT=2\nDEFAULT_LANGUAGE_ID=2\nENGLISH_ID1_EXISTS=true\nTHREAD_COUNT=44\nPOST_COUNT=44\nADMIN_COUNT=1\nREGISTRATION_ENABLED=false\nBOARD_ACTIVE=true\nPERMISSION_REBUILD_JOB_COUNT=0\nPHP_OUTPUT_END\nPROD_VERIFY_OUTPUT_END\nPROD_RUSSIAN_CORE_OK=true\nPUBLIC_EXPECTED_RUSSIAN_PHRASES=[\"Поиск\",\"Новые сообщения\",\"Что нового?\",\"Форумы\"]\nPUBLIC_RUSSIAN_SAMPLES=[{\"sample\":1,\"rc\":0,\"bytes\":1,\"meta\":\"200|0|https://pvepro.ru/index.php|0\",\"pvepro\":false,\"phrase_hits\":0,\"ok\":false,\"sha256\":\"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b\"},{\"sample\":2,\"rc\":0,\"bytes\":1,\"meta\":\"200|0|https://pvepro.ru/index.php|0\",\"pvepro\":false,\"phrase_hits\":0,\"ok\":false,\"sha256\":\"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b\"},{\"sample\":3,\"rc\":0,\"bytes\":1,\"meta\":\"200|0|https://pvepro.ru/index.php|0\",\"pvepro\":false,\"phrase_hits\":0,\"ok\":false,\"sha256\":\"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b\"},{\"sample\":4,\"rc\":0,\"bytes\":1,\"meta\":\"200|0|https://pvepro.ru/index.php|0\",\"pvepro\":false,\"phrase_hits\":0,\"ok\":false,\"sha256\":\"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b\"},{\"sample\":5,\"rc\":0,\"bytes\":1,\"meta\":\"200|0|https://pvepro.ru/index.php|0\",\"pvepro\":false,\"phrase_hits\":0,\"ok\":false,\"sha256\":\"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b\"}]\nPUBLIC_RUSSIAN_GOOD_SAMPLES=0\nPUBLIC_RUSSIAN_STABLE=false\nRUSSIAN_CORE_ERROR=RuntimeError:PUBLIC_RUSSIAN_RENDER\nROLLBACK_PRODUCTION_RESTORED=true\nROLLBACK_STAGING_RESTORED=true\nTASK_RESULT=PVEPRO_V1_RUSSIAN_CORE_FAILED_ROLLED_BACK\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-STABLE-VERIFY-727R1\",\"status\":\"FAIL\",\"changes_made\":true,\"rollback_started\":true,\"rollback_restored\":true}\n" + "output": "PROD_STATUS=status: running\nSTAGE_STATUS=status: stopped\nSTAGE_NAME=pvepro-staging-v1\nSTAGE_ALL_LINK_DOWN=true\nPROD_NONCURRENT_SNAPSHOT_LINES=0\nSTAGE_NONCURRENT_SNAPSHOT_LINES=0\nARCHIVE_BYTES=298309\nARCHIVE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nARCHIVE_XML_COUNT=1\nXML_BYTES=2240918\nXML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nCOMPARE_TRANSPORT_RC=0\nCOMPARE_TRANSPORT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nCOMPARE_GUEST_EXITCODE=0\nCOMPARE_OUTPUT_BEGIN\nZIP_STDIN_BYTES=298309\nZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b\nZIP_XML_COUNT=1\nEXTRACTED_XML_BYTES=2240918\nEXTRACTED_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nPHP_COMPARE_RC=0\nPHP_COMPARE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nPHP_COMPARE_OUTPUT_BEGIN\nXML_STDIN_BYTES=2240918\nXML_STDIN_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63\nXML_PARSE_OK=true\nMASTER_PHRASE_COUNT=11193\nMASTER_MAX_VERSION_ID=2031270\nPACK_PHRASE_COUNT=11142\nPACK_MAX_VERSION_ID=2031070\nPACK_BLANK_PHRASE_COUNT=112\nCOMMON_PHRASE_COUNT=11141\nPACK_ONLY_COUNT=1\nMASTER_ONLY_COUNT=52\nPACK_ONLY_SAMPLE=[\"php_version_minimum\"]\nMASTER_ONLY_SAMPLE=[\"trophy_description.1\",\"trophy_title.1\",\"trophy_description.2\",\"trophy_title.2\",\"trophy_description.3\",\"trophy_title.3\",\"trophy_description.4\",\"trophy_title.4\",\"trophy_description.5\",\"trophy_title.5\",\"trophy_description.6\",\"trophy_title.6\",\"trophy_description.7\",\"trophy_title.7\",\"trophy_description.8\",\"trophy_title.8\",\"trophy_description.9\",\"trophy_title.9\",\"warning_title.1\",\"warning_conv_title.1\",\"warning_conv_text.1\",\"warning_title.2\",\"warning_conv_title.2\",\"warning_conv_text.2\",\"warning_title.3\",\"warning_conv_title.3\",\"warning_conv_text.3\",\"warning_title.4\",\"warning_conv_title.4\",\"warning_conv_text.4\"]\nPLACEHOLDER_MISMATCH_COUNT=5\nPLACEHOLDER_MISMATCH_SAMPLE=[{\"title\":\"if_enabled_threads_posted_in_this_forum_will_automatically_be_featured\",\"pack\":[\"date\"],\"master\":[]},{\"title\":\"mod_log.thread_edit\",\"pack\":[\"elements\"],\"master\":[]},{\"title\":\"one_or_more_files_do_not_have_allowed_extension_x\",\"pack\":[\"allowed\"],\"master\":[\"allowed\",\"files\"]},{\"title\":\"php_version_not_newest\",\"pack\":[],\"master\":[\"recommended\"]},{\"title\":\"widget_pos_desc.featured_content_list_below_features\",\"pack\":[\"date\"],\"master\":[]}]\nIMPORT_SERVICE_FILE_SHA256=22344729c6871a640b678f3f02f4120d3eaed904f1aba274b8c4911920b1000b\nIMPORT_SERVICE_FILE_BYTES=4464\nIMPORT_SERVICE_KEY_LINES=[{\"line\":48,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"line\":54,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"line\":60,\"text\":\"$error = \\\\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');\"},{\"line\":78,\"text\":\"$errors['addon_id'] = \\\\XF::phrase('xml_file_relates_add_on_not_installed_install_first');\"},{\"line\":97,\"text\":\"$errors['version_id'] = \\\\XF::phrase('xml_file_based_on_newer_version_than_installed');\"},{\"line\":106,\"text\":\"$errors['language_code'] = \\\\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');\"},{\"line\":113,\"text\":\"public function importFromXml(\\\\SimpleXMLElement $document)\"},{\"line\":122,\"text\":\"$phraseImporter = $this->service(\\\\XF\\\\Service\\\\Phrase\\\\ImportService::class, $language);\"},{\"line\":123,\"text\":\"$phraseImporter->importFromXml($document, $addOnId);\"}]\nCURRENT_JOB_COUNT=3\nCURRENT_MANUAL_JOB_COUNT=0\nCURRENT_ERROR_COUNT=16\nCURRENT_DEFAULT_LANGUAGE_ID=1\nCURRENT_RU_COUNT=0\nCURRENT_THREAD_COUNT=44\nCURRENT_POST_COUNT=44\nPHP_COMPARE_OUTPUT_END\nCOMPARE_OUTPUT_END\nSOURCE_SEARCH_TRANSPORT_RC=0\nSOURCE_SEARCH_EXITCODE=0\nSOURCE_LANGUAGE_REBUILD_HITS=[{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":3,\"text\":\"namespace XF\\\\Service\\\\Language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":5,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":13,\"text\":\"* @var Language|null\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":15,\"text\":\"protected $overwriteLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":18,\"text\":\"* @var Language|null\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":20,\"text\":\"protected $parentLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":22,\"text\":\"public function setOverwriteLanguage(Language $language)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":24,\"text\":\"$this->overwriteLanguage = $language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":25,\"text\":\"$this->parentLanguage = null;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":28,\"text\":\"public function getOverwriteLanguage()\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":30,\"text\":\"return $this->overwriteLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":33,\"text\":\"public function setParentLanguage(?Language $language = null)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":35,\"text\":\"$this->parentLanguage = $language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":36,\"text\":\"$this->overwriteLanguage = null;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":39,\"text\":\"public function getParentLanguage()\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":41,\"text\":\"return $this->parentLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":48,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":52,\"text\":\"if ($rootElement->getName() != 'language' || (string) $rootElement['title'] === '')\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":54,\"text\":\"$error = \\\\XF::phrase('provided_file_is_not_valid_language_xml');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":60,\"text\":\"$error = \\\\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":78,\"text\":\"$errors['addon_id'] = \\\\XF::phrase('xml_file_relates_add_on_not_installed_install_first');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":97,\"text\":\"$errors['version_id'] = \\\\XF::phrase('xml_file_based_on_newer_version_than_installed');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":101,\"text\":\"if ($this->overwriteLanguage)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":103,\"text\":\"$languageCode = (string) $document['language_code'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":104,\"text\":\"if ($languageCode != $this->overwriteLanguage->language_code)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":106,\"text\":\"$errors['language_code'] = \\\\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":113,\"text\":\"public function importFromXml(\\\\SimpleXMLElement $document)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":120,\"text\":\"$language = $this->getTargetLanguage($document);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":122,\"text\":\"$phraseImporter = $this->service(\\\\XF\\\\Service\\\\Phrase\\\\ImportService::class, $language);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":123,\"text\":\"$phraseImporter->importFromXml($document, $addOnId);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":127,\"text\":\"return $language;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":130,\"text\":\"protected function getTargetLanguage(\\\\SimpleXMLElement $document)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":132,\"text\":\"if ($this->overwriteLanguage)\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":134,\"text\":\"return $this->overwriteLanguage;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":138,\"text\":\"$language = $this->em()->create(Language::class);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":139,\"text\":\"$language->title = (string) $document['title'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":140,\"text\":\"$language->parent_id = $this->parentLanguage ? $this->parentLanguage->language_id : 0;\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":141,\"text\":\"$language->date_format = (string) $document['date_format'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":142,\"text\":\"$language->date_short_format = (string) $document['date_short_format'] ?: 'M \\\\'y';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":143,\"text\":\"$language->date_short_recent_format = (string) $document['date_short_recent_format'] ?: 'M j';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":144,\"text\":\"$language->time_format = (string) $document['time_format'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":145,\"text\":\"$language->currency_format = (string) $document['currency_format'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":146,\"text\":\"$language->week_start = (string) $document['week_start'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":147,\"text\":\"$language->decimal_point = (string) $document['decimal_point'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":148,\"text\":\"$language->thousands_separator = (string) $document['thousands_separator'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":149,\"text\":\"$language->label_separator = (string) $document['label_separator'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":150,\"text\":\"$language->comma_separator = (string) $document['comma_separator'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":151,\"text\":\"$language->ellipsis = (string) $document['ellipsis'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":152,\"text\":\"$language->parenthesis_open = (string) $document['parenthesis_open'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":153,\"text\":\"$language->parenthesis_close = (string) $document['parenthesis_close'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":154,\"text\":\"$language->language_code = (string) $document['language_code'];\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":155,\"text\":\"$language->text_direction = (string) $document['text_direction'] ?: 'LTR';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":159,\"text\":\"$language->user_selectable = (string) $document['user_selectable'] === '1';\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":162,\"text\":\"$language->save(true, false);\"},{\"file\":\"ImportService.php\",\"file_sha256\":\"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1\",\"line\":164,\"text\":\"return $language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":3,\"text\":\"namespace XF\\\\Service\\\\Language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":7,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":17,\"text\":\"* @var Language\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":19,\"text\":\"protected $language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":28,\"text\":\"public function __construct(App $app, Language $language)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":31,\"text\":\"$this->setLanguage($language);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":34,\"text\":\"public function setLanguage(Language $language)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":36,\"text\":\"$this->language = $language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":39,\"text\":\"public function getLanguage()\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":41,\"text\":\"return $this->language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":67,\"text\":\"$languageNode = $this->getLanguageNode($document);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":68,\"text\":\"$document->appendChild($languageNode);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":70,\"text\":\"foreach ($this->getExportablePhrases() AS $phrase)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":72,\"text\":\"$phraseNode = $this->getPhraseNode($document, $phrase);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":73,\"text\":\"$languageNode->appendChild($phraseNode);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":81,\"text\":\"$title = str_replace(' ', '-', Str::transliterate($this->language->title));\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":84,\"text\":\"return \\\"language-{$title}{$addOnLimit}.xml\\\";\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":102,\"text\":\"protected function getLanguageNode(\\\\DOMDocument $document)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":104,\"text\":\"$language = $this->language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":106,\"text\":\"$languageNode = $document->createElement('language');\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":107,\"text\":\"$languageNode->setAttribute('title', $language->title);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":108,\"text\":\"$languageNode->setAttribute('date_format', $language->date_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":109,\"text\":\"$languageNode->setAttribute('date_short_format', $language->date_short_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":110,\"text\":\"$languageNode->setAttribute('date_short_recent_format', $language->date_short_recent_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":111,\"text\":\"$languageNode->setAttribute('time_format', $language->time_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":112,\"text\":\"$languageNode->setAttribute('currency_format', $language->currency_format);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":113,\"text\":\"$languageNode->setAttribute('week_start', $language->week_start);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":114,\"text\":\"$languageNode->setAttribute('decimal_point', $language->decimal_point);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":115,\"text\":\"$languageNode->setAttribute('thousands_separator', $language->thousands_separator);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":116,\"text\":\"$languageNode->setAttribute('label_separator', $language->label_separator);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":117,\"text\":\"$languageNode->setAttribute('comma_separator', $language->comma_separator);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":118,\"text\":\"$languageNode->setAttribute('ellipsis', $language->ellipsis);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":119,\"text\":\"$languageNode->setAttribute('parenthesis_open', $language->parenthesis_open);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":120,\"text\":\"$languageNode->setAttribute('parenthesis_close', $language->parenthesis_close);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":121,\"text\":\"$languageNode->setAttribute('language_code', $language->language_code);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":122,\"text\":\"$languageNode->setAttribute('text_direction', $language->text_direction);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":123,\"text\":\"$languageNode->setAttribute('user_selectable', $language->user_selectable);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":126,\"text\":\"$languageNode->setAttribute('addon_id', $this->addOn->addon_id);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":127,\"text\":\"$languageNode->setAttribute('base_version_id', $this->addOn->version_id);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":131,\"text\":\"$languageNode->setAttribute('base_version_id', \\\\XF::$versionId);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":133,\"text\":\"$languageNode->setAttribute('export_version', self::EXPORT_VERSION_ID);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":134,\"text\":\"$document->appendChild($languageNode);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":136,\"text\":\"return $languageNode;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":139,\"text\":\"protected function getPhraseNode(\\\\DOMDocument $document, array $phrase)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":141,\"text\":\"$phraseNode = $document->createElement('phrase');\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":142,\"text\":\"$phraseNode->setAttribute('title', $phrase['title']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":143,\"text\":\"$phraseNode->setAttribute('addon_id', $phrase['addon_id']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":144,\"text\":\"if ($phrase['global_cache'])\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":146,\"text\":\"$phraseNode->setAttribute('global_cache', $phrase['global_cache']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":148,\"text\":\"$phraseNode->setAttribute('version_id', $phrase['version_id']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":149,\"text\":\"$phraseNode->setAttribute('version_string', $phrase['version_string']);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":150,\"text\":\"$phraseNode->appendChild(\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":151,\"text\":\"Xml::createDomCdataSection($document, $phrase['phrase_text'])\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":154,\"text\":\"return $phraseNode;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":160,\"text\":\"protected function getExportablePhrases()\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":162,\"text\":\"$language = $this->language;\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":171,\"text\":\"SELECT phrase.*,\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":172,\"text\":\"IF(master.phrase_id IS NOT NULL, master.addon_id, phrase.addon_id) AS addon_id\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":173,\"text\":\"FROM xf_phrase_map AS map\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":174,\"text\":\"INNER JOIN xf_phrase AS phrase ON (map.phrase_id = phrase.phrase_id)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":175,\"text\":\"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":176,\"text\":\"WHERE map.language_id = ?\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":179,\"text\":\"\\\", $language->language_id);\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":184,\"text\":\"SELECT phrase.*,\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":185,\"text\":\"IF(master.phrase_id, master.addon_id, phrase.addon_id) AS addon_id\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":186,\"text\":\"FROM xf_phrase AS phrase\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":187,\"text\":\"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":188,\"text\":\"WHERE phrase.language_id = ?\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":190,\"text\":\"ORDER BY phrase.title\"},{\"file\":\"ExportService.php\",\"file_sha256\":\"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128\",\"line\":191,\"text\":\"\\\", $language->language_id);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":3,\"text\":\"namespace XF\\\\Service\\\\Language;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":5,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":6,\"text\":\"use XF\\\\Repository\\\\LanguageRepository;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":10,\"text\":\"class RebuildService extends AbstractService\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":15,\"text\":\"protected $languageTree;\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":17,\"text\":\"protected function setupLanguageTree()\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":19,\"text\":\"if ($this->languageTree)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":24,\"text\":\"$repo = $this->app->em()->getRepository(LanguageRepository::class);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":25,\"text\":\"$this->languageTree = $repo->getLanguageTree(false);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":28,\"text\":\"public function rebuildFullParentList()\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":30,\"text\":\"$this->setupLanguageTree();\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":33,\"text\":\"$this->_rebuildParentList(0, []);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":37,\"text\":\"protected function _rebuildParentList($id, array $path)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":41,\"text\":\"/** @var Language $language */\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":42,\"text\":\"$language = $this->languageTree->getData($id);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":43,\"text\":\"if ($language)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":45,\"text\":\"if ($path != $language->parent_list)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":47,\"text\":\"$language->fastUpdate('parent_list', $path);\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":51,\"text\":\"foreach ($this->languageTree->childIds($id) AS $childId)\"},{\"file\":\"RebuildService.php\",\"file_sha256\":\"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467\",\"line\":53,\"text\":\"$this->_rebuildParentList($childId, $path);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":5,\"text\":\"use XF\\\\Entity\\\\Language;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":7,\"text\":\"use XF\\\\Finder\\\\LanguageFinder;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":8,\"text\":\"use XF\\\\Finder\\\\PhraseFinder;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":13,\"text\":\"class LanguageRepository extends Repository\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":16,\"text\":\"* @return LanguageFinder\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":18,\"text\":\"public function findLanguages()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":20,\"text\":\"return $this->finder(LanguageFinder::class)->order('language_id');\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":23,\"text\":\"public function showMasterLanguage()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":28,\"text\":\"public function getMasterLanguage()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":30,\"text\":\"$language = $this->em->create(Language::class);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":31,\"text\":\"$language->setTrusted('language_id', 0);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":32,\"text\":\"$language->setTrusted('parent_id', -1);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":33,\"text\":\"$language->title = \\\\XF::phrase('master_language');\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":34,\"text\":\"$language->setReadOnly(true);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":36,\"text\":\"return $language;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":39,\"text\":\"public function getLanguageTree($withMaster = null)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":41,\"text\":\"$languages = $this->findLanguages()->fetch();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":42,\"text\":\"return $this->createLanguageTree($languages, $withMaster);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":48,\"text\":\"* @return Language[]\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":50,\"text\":\"public function getUserSelectableLanguages(?User $user = null)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":57,\"text\":\"$languages = [];\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":58,\"text\":\"foreach ($this->getLanguageTree(false)->getFlattened(0) AS $id => $record)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":62,\"text\":\"$languages[$id] = $record['record'];\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":66,\"text\":\"return $languages;\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":69,\"text\":\"public function createLanguageTree($languages, $withMaster = null, $rootId = null)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":77,\"text\":\"if ($languages instanceof AbstractCollection)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":79,\"text\":\"$languages = $languages->toArray();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":81,\"text\":\"$languages[0] = $this->getMasterLanguage();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":89,\"text\":\"return new Tree($languages, 'parent_id', $rootId);\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":92,\"text\":\"public function rebuildGlobalPhraseCache()\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":94,\"text\":\"$titles = $this->finder(PhraseFinder::class)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":95,\"text\":\"->where('language_id', 0)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":96,\"text\":\"->where('global_cache', 1)\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":100,\"text\":\"$languages = $this->findLanguages()->fetch();\"},{\"file\":\"LanguageRepository.php\",\"file_sha256\":\"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf\",\"line\":102,\"text\":\"$globalPhrases = [];\"}]\nNEWFI_LANGUAGE_WORKFLOW_HITS=[{\"path\":\"docs/operations/addons-language.md\",\"line\":18,\"text\":\"- Core Russian created `language_id=2`, title `Russian (RU)`, language code `ru-RU` through `XF\\\\Service\\\\Language\\\\ImportService`.\"},{\"path\":\"docs/operations/addons-language.md\",\"line\":20,\"text\":\"- Accepted phrase counts for language 2: XF `11142`, XFMG `722`, XFRM `464`, total `12328`.\"},{\"path\":\"docs/operations/addons-language.md\",\"line\":22,\"text\":\"- `defaultLanguageId` was changed through the XenForo Option repository from `1` to `2` only after all three packs passed acceptance.\"},{\"path\":\"docs/operations/addons-language.md\",\"line\":32,\"text\":\"- Accepted manual job count: `0`.\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":14,\"text\":\"phrase_rows=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \\\"SELECT CONCAT_WS(0x7c,addon_id,COUNT(*)) FROM xf_phrase WHERE language_id=2 GROUP BY addon_id ORDER BY addon_id\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":19,\"text\":\"phrases=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \\\"SELECT COUNT(*) FROM xf_phrase WHERE language_id=2\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":22,\"text\":\"manual=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \\\"SELECT COUNT(*) FROM xf_job WHERE manual_execute=1\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":25,\"text\":\"expected_phrases=$(printf \\\"XF|11142\\\\nXFMG|722\\\\nXFRM|464\\\")\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":26,\"text\":\"printf \\\"ADDON_ROWS_BEGIN\\\\n%s\\\\nADDON_ROWS_END\\\\nLANGUAGE_ROWS_BEGIN\\\\n%s\\\\nLANGUAGE_ROWS_END\\\\nRU_PHRASE_ROWS_BEGIN\\\\n%s\\\\nRU_PHRASE_ROWS_END\\\\nDEFAULT_LANGUAGE_ID=%s\\\\nRU_PHRASE_COUNT=%s\\\\nDB_TABLES=%s\\\\nBOARD_ROW=%s|%s|%s\\\\nERROR_LOG_COUNT=%s\\\\nMANUAL_JOB_COUNT=%s\\\\n\\\" \\\"$addon_rows\\\" \\\"$language_rows\\\" \\\"$phrase_rows\\\" \\\"$default_lang\\\" \\\"$phrases\\\" \\\"$tables\\\" \\\"$board\\\" \\\"$title\\\" \\\"$url\\\" \\\"$errors\\\" \\\"$manual\\\"\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":29,\"text\":\"test \\\"$phrase_rows\\\" = \\\"$expected_phrases\\\"\"},{\"path\":\"scripts/verify-addons-language.sh\",\"line\":31,\"text\":\"test \\\"$phrases\\\" -eq 12328\"}]\nEDGE_LOG_PROBE_TRANSPORT_RC=2\nROLLBACK_STATE_OK=true\nTASK_COMPLETE=true\nTASK_RESULT=PASS_PVEPRO_RUSSIAN_RENDER_COMPAT_RCA\nNO_MUTATION=true\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 8620d4f5..6b066ae8 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,253 +1,92 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-STABLE-VERIFY-727R1 -STATUS=FAIL -RC=3 +COMMAND_ID=SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=pvepro-v1-russian-core-stable-verify +MODE=read-only +COMPONENT=pvepro-russian-render-compat-rca-readonly REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=65cab74b43afd26f49206cba0fcbef8df9ea1f1528d86cf6839db80f093133ad +COMMAND_SHA256=08c58b6b904dacb9239f463c5b177bc7b653d604e2f5b5a0cc71036a03501e2d DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=FAIL +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=3 -CHANGES_MADE=true -ROLLBACK_STARTED=true -ROLLBACK_RESTORED=true -MUTATION_OUTCOME=ROLLED_BACK +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=095ab6d1ce0e2fce95dd14900a5c33cd8423b7c202e02585e416b873513110f9 -SANITIZED_OUTPUT_SHA256=095ab6d1ce0e2fce95dd14900a5c33cd8423b7c202e02585e416b873513110f9 +RAW_EVIDENCE_SHA256=44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364 +SANITIZED_OUTPUT_SHA256=44b857d085a80ed1072c60417b85c0fa29aa3babbc1422759948f16fc2750364 OUTPUT_BEGIN -RU_ARCHIVE_BYTES=298309 -RU_ARCHIVE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b -RU_XML_BYTES=2240918 -RU_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 -RU_XML_ROOT_TAG=language -RU_XML_LANGUAGE_CODE=ru-RU -RU_XML_TITLE=Russian (RU) -STAGE_START_RC=0 -STAGE_QGA_TRIES_PRE=24 -STAGE_PREFLIGHT_TRANSPORT_RC=0 -STAGE_PREFLIGHT_EXITCODE=0 -STAGE_PREFLIGHT_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -PHP_RC=0 -PHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -PHP_STDERR_BYTES=0 -PHP_OUTPUT_BEGIN -IMPORT_CLASS_EXISTS=true -IMPORT_METHOD_importFromXml=true -IMPORT_METHOD_setOverwriteLanguage=true -IMPORT_SERVICE_FACTORY_OK=true -LANGUAGE_COUNT=1 -RU_CODE_COUNT=0 -LANGUAGE_ID2_COUNT=0 -DEFAULT_LANGUAGE_ID=1 -ENGLISH_ID1_EXISTS=true -BOARD_ACTIVE=false -REGISTRATION_ENABLED=false -THREAD_COUNT=44 -POST_COUNT=44 -PHP_OUTPUT_END -STAGE_PREFLIGHT_OUTPUT_END -STAGE_IMPORT_PREFLIGHT_OK=true -STAGE_SNAPSHOT_RC=0 -STAGE_QGA_TRIES_POST_SNAPSHOT=1 -STAGE_ZIP_TRANSFER_RC=0 -STAGE_ZIP_GUEST_EXITCODE=0 -STAGE_ZIP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -STAGE_ZIP_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 +PROD_STATUS=status: running +STAGE_STATUS=status: stopped +STAGE_NAME=pvepro-staging-v1 +STAGE_ALL_LINK_DOWN=true +PROD_NONCURRENT_SNAPSHOT_LINES=0 +STAGE_NONCURRENT_SNAPSHOT_LINES=0 +ARCHIVE_BYTES=298309 +ARCHIVE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b +ARCHIVE_XML_COUNT=1 +XML_BYTES=2240918 +XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 +COMPARE_TRANSPORT_RC=0 +COMPARE_TRANSPORT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +COMPARE_GUEST_EXITCODE=0 +COMPARE_OUTPUT_BEGIN ZIP_STDIN_BYTES=298309 ZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b -ZIP_FILE_BYTES=298309 -ZIP_FILE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b -STAGE_ZIP_OUTPUT_END -STAGE_EXTRACT_TRANSPORT_RC=0 -STAGE_EXTRACT_EXITCODE=0 -STAGE_EXTRACT_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 ZIP_XML_COUNT=1 EXTRACTED_XML_BYTES=2240918 EXTRACTED_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 -XML_FILE_BYTES=2240918 -XML_FILE_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 -STAGE_EXTRACT_OUTPUT_END -STAGE_IMPORT_TRANSPORT_RC=0 -STAGE_IMPORT_EXITCODE=0 -STAGE_IMPORT_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -PHP_RC=0 -PHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -PHP_STDERR_BYTES=0 -PHP_OUTPUT_BEGIN +PHP_COMPARE_RC=0 +PHP_COMPARE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +PHP_COMPARE_OUTPUT_BEGIN +XML_STDIN_BYTES=2240918 +XML_STDIN_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 XML_PARSE_OK=true -IMPORT_SERVICE_READY=true -RU_CREATED=true -RU_LANGUAGE_ID=2 -RU_TITLE=Russian (RU) -RU_CODE=ru-RU -RU_USER_SELECTABLE=1 -RU_PHRASE_COUNT=11142 -DEFAULT_LANGUAGE_ID_AFTER=1 -PHP_OUTPUT_END -STAGE_IMPORT_OUTPUT_END -STAGE_VERIFY_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -PHP_RC=0 -PHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -PHP_STDERR_BYTES=0 -PHP_OUTPUT_BEGIN -RU_EXISTS=true -RU_LANGUAGE_ID=2 -RU_TITLE=Russian (RU) -RU_CODE=ru-RU -RU_USER_SELECTABLE=1 -RU_PHRASE_COUNT=11142 -PHRASE_search_PRESENT=true -PHRASE_search_SHA256=180f58ab975323f98064952d056a0fdf5ca7479de168c77b8c0799aaf011aa92 -PHRASE_search_TEXT=Поиск -PHRASE_new_posts_PRESENT=true -PHRASE_new_posts_SHA256=d51ca930fed22325762f086edb61c57ee92467792a3e6f89c04b4aa5935f4404 -PHRASE_new_posts_TEXT=Новые сообщения -PHRASE_whats_new_PRESENT=true -PHRASE_whats_new_SHA256=c98392877353ff44de1f3e532a063f3d75325b7559a757232a2a087aa0fd5501 -PHRASE_whats_new_TEXT=Что нового? -PHRASE_forums_PRESENT=true -PHRASE_forums_SHA256=45d59d46e223d9719c9fc4128f7e195ae43bb485cee82191ee0bdccdf0647663 -PHRASE_forums_TEXT=Форумы -LANGUAGE_COUNT=2 -DEFAULT_LANGUAGE_ID=2 -ENGLISH_ID1_EXISTS=true -THREAD_COUNT=44 -POST_COUNT=44 -ADMIN_COUNT=1 -REGISTRATION_ENABLED=false -BOARD_ACTIVE=false -PERMISSION_REBUILD_JOB_COUNT=0 -PHP_OUTPUT_END -STAGE_VERIFY_OUTPUT_END -STAGE_RUSSIAN_CORE_OK=true -STAGE_FINAL_STATUS=stopped -PROD_PREFLIGHT_TRANSPORT_RC=0 -PROD_PREFLIGHT_EXITCODE=0 -PROD_PREFLIGHT_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -PHP_RC=0 -PHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -PHP_STDERR_BYTES=0 -PHP_OUTPUT_BEGIN -IMPORT_CLASS_EXISTS=true -IMPORT_METHOD_importFromXml=true -IMPORT_METHOD_setOverwriteLanguage=true -IMPORT_SERVICE_FACTORY_OK=true -LANGUAGE_COUNT=1 -RU_CODE_COUNT=0 -LANGUAGE_ID2_COUNT=0 -DEFAULT_LANGUAGE_ID=1 -ENGLISH_ID1_EXISTS=true -BOARD_ACTIVE=true -REGISTRATION_ENABLED=false -THREAD_COUNT=44 -POST_COUNT=44 -PHP_OUTPUT_END -PROD_PREFLIGHT_OUTPUT_END -PROD_IMPORT_PREFLIGHT_OK=true -PROD_SNAPSHOT_RC=0 -PROD_QGA_TRIES_POST_SNAPSHOT=1 -PROD_ZIP_TRANSFER_RC=0 -PROD_ZIP_GUEST_EXITCODE=0 -PROD_ZIP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -PROD_ZIP_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -ZIP_STDIN_BYTES=298309 -ZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b -ZIP_FILE_BYTES=298309 -ZIP_FILE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b -PROD_ZIP_OUTPUT_END -PROD_EXTRACT_TRANSPORT_RC=0 -PROD_EXTRACT_EXITCODE=0 -PROD_EXTRACT_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -ZIP_XML_COUNT=1 -EXTRACTED_XML_BYTES=2240918 -EXTRACTED_XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 -XML_FILE_BYTES=2240918 -XML_FILE_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63 -PROD_EXTRACT_OUTPUT_END -PROD_IMPORT_TRANSPORT_RC=0 -PROD_IMPORT_EXITCODE=0 -PROD_IMPORT_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -PHP_RC=0 -PHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -PHP_STDERR_BYTES=0 -PHP_OUTPUT_BEGIN -XML_PARSE_OK=true -IMPORT_SERVICE_READY=true -RU_CREATED=true -RU_LANGUAGE_ID=2 -RU_TITLE=Russian (RU) -RU_CODE=ru-RU -RU_USER_SELECTABLE=1 -RU_PHRASE_COUNT=11142 -DEFAULT_LANGUAGE_ID_AFTER=1 -PHP_OUTPUT_END -PROD_IMPORT_OUTPUT_END -PROD_VERIFY_OUTPUT_BEGIN -XF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219 -PHP_RC=0 -PHP_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -PHP_STDERR_BYTES=0 -PHP_OUTPUT_BEGIN -RU_EXISTS=true -RU_LANGUAGE_ID=2 -RU_TITLE=Russian (RU) -RU_CODE=ru-RU -RU_USER_SELECTABLE=1 -RU_PHRASE_COUNT=11142 -PHRASE_search_PRESENT=true -PHRASE_search_SHA256=180f58ab975323f98064952d056a0fdf5ca7479de168c77b8c0799aaf011aa92 -PHRASE_search_TEXT=Поиск -PHRASE_new_posts_PRESENT=true -PHRASE_new_posts_SHA256=d51ca930fed22325762f086edb61c57ee92467792a3e6f89c04b4aa5935f4404 -PHRASE_new_posts_TEXT=Новые сообщения -PHRASE_whats_new_PRESENT=true -PHRASE_whats_new_SHA256=c98392877353ff44de1f3e532a063f3d75325b7559a757232a2a087aa0fd5501 -PHRASE_whats_new_TEXT=Что нового? -PHRASE_forums_PRESENT=true -PHRASE_forums_SHA256=45d59d46e223d9719c9fc4128f7e195ae43bb485cee82191ee0bdccdf0647663 -PHRASE_forums_TEXT=Форумы -LANGUAGE_COUNT=2 -DEFAULT_LANGUAGE_ID=2 -ENGLISH_ID1_EXISTS=true -THREAD_COUNT=44 -POST_COUNT=44 -ADMIN_COUNT=1 -REGISTRATION_ENABLED=false -BOARD_ACTIVE=true -PERMISSION_REBUILD_JOB_COUNT=0 -PHP_OUTPUT_END -PROD_VERIFY_OUTPUT_END -PROD_RUSSIAN_CORE_OK=true -PUBLIC_EXPECTED_RUSSIAN_PHRASES=["Поиск","Новые сообщения","Что нового?","Форумы"] -PUBLIC_RUSSIAN_SAMPLES=[{"sample":1,"rc":0,"bytes":1,"meta":"200|0|https://pvepro.ru/index.php|0","pvepro":false,"phrase_hits":0,"ok":false,"sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"},{"sample":2,"rc":0,"bytes":1,"meta":"200|0|https://pvepro.ru/index.php|0","pvepro":false,"phrase_hits":0,"ok":false,"sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"},{"sample":3,"rc":0,"bytes":1,"meta":"200|0|https://pvepro.ru/index.php|0","pvepro":false,"phrase_hits":0,"ok":false,"sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"},{"sample":4,"rc":0,"bytes":1,"meta":"200|0|https://pvepro.ru/index.php|0","pvepro":false,"phrase_hits":0,"ok":false,"sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"},{"sample":5,"rc":0,"bytes":1,"meta":"200|0|https://pvepro.ru/index.php|0","pvepro":false,"phrase_hits":0,"ok":false,"sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"}] -PUBLIC_RUSSIAN_GOOD_SAMPLES=0 -PUBLIC_RUSSIAN_STABLE=false -RUSSIAN_CORE_ERROR=RuntimeError:PUBLIC_RUSSIAN_RENDER -ROLLBACK_PRODUCTION_RESTORED=true -ROLLBACK_STAGING_RESTORED=true -TASK_RESULT=PVEPRO_V1_RUSSIAN_CORE_FAILED_ROLLED_BACK -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-STABLE-VERIFY-727R1","status":"FAIL","changes_made":true,"rollback_started":true,"rollback_restored":true} +MASTER_PHRASE_COUNT=11193 +MASTER_MAX_VERSION_ID=2031270 +PACK_PHRASE_COUNT=11142 +PACK_MAX_VERSION_ID=2031070 +PACK_BLANK_PHRASE_COUNT=112 +COMMON_PHRASE_COUNT=11141 +PACK_ONLY_COUNT=1 +MASTER_ONLY_COUNT=52 +PACK_ONLY_SAMPLE=["php_version_minimum"] +MASTER_ONLY_SAMPLE=["trophy_description.1","trophy_title.1","trophy_description.2","trophy_title.2","trophy_description.3","trophy_title.3","trophy_description.4","trophy_title.4","trophy_description.5","trophy_title.5","trophy_description.6","trophy_title.6","trophy_description.7","trophy_title.7","trophy_description.8","trophy_title.8","trophy_description.9","trophy_title.9","warning_title.1","warning_conv_title.1","warning_conv_text.1","warning_title.2","warning_conv_title.2","warning_conv_text.2","warning_title.3","warning_conv_title.3","warning_conv_text.3","warning_title.4","warning_conv_title.4","warning_conv_text.4"] +PLACEHOLDER_MISMATCH_COUNT=5 +PLACEHOLDER_MISMATCH_SAMPLE=[{"title":"if_enabled_threads_posted_in_this_forum_will_automatically_be_featured","pack":["date"],"master":[]},{"title":"mod_log.thread_edit","pack":["elements"],"master":[]},{"title":"one_or_more_files_do_not_have_allowed_extension_x","pack":["allowed"],"master":["allowed","files"]},{"title":"php_version_not_newest","pack":[],"master":["recommended"]},{"title":"widget_pos_desc.featured_content_list_below_features","pack":["date"],"master":[]}] +IMPORT_SERVICE_FILE_SHA256=22344729c6871a640b678f3f02f4120d3eaed904f1aba274b8c4911920b1000b +IMPORT_SERVICE_FILE_BYTES=4464 +IMPORT_SERVICE_KEY_LINES=[{"line":48,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"line":54,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"line":60,"text":"$error = \\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');"},{"line":78,"text":"$errors['addon_id'] = \\XF::phrase('xml_file_relates_add_on_not_installed_install_first');"},{"line":97,"text":"$errors['version_id'] = \\XF::phrase('xml_file_based_on_newer_version_than_installed');"},{"line":106,"text":"$errors['language_code'] = \\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');"},{"line":113,"text":"public function importFromXml(\\SimpleXMLElement $document)"},{"line":122,"text":"$phraseImporter = $this->service(\\XF\\Service\\Phrase\\ImportService::class, $language);"},{"line":123,"text":"$phraseImporter->importFromXml($document, $addOnId);"}] +CURRENT_JOB_COUNT=3 +CURRENT_MANUAL_JOB_COUNT=0 +CURRENT_ERROR_COUNT=16 +CURRENT_DEFAULT_LANGUAGE_ID=1 +CURRENT_RU_COUNT=0 +CURRENT_THREAD_COUNT=44 +CURRENT_POST_COUNT=44 +PHP_COMPARE_OUTPUT_END +COMPARE_OUTPUT_END +SOURCE_SEARCH_TRANSPORT_RC=0 +SOURCE_SEARCH_EXITCODE=0 +SOURCE_LANGUAGE_REBUILD_HITS=[{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":3,"text":"namespace XF\\Service\\Language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":5,"text":"use XF\\Entity\\Language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":13,"text":"* @var Language|null"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":15,"text":"protected $overwriteLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":18,"text":"* @var Language|null"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":20,"text":"protected $parentLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":22,"text":"public function setOverwriteLanguage(Language $language)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":24,"text":"$this->overwriteLanguage = $language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":25,"text":"$this->parentLanguage = null;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":28,"text":"public function getOverwriteLanguage()"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":30,"text":"return $this->overwriteLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":33,"text":"public function setParentLanguage(?Language $language = null)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":35,"text":"$this->parentLanguage = $language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":36,"text":"$this->overwriteLanguage = null;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":39,"text":"public function getParentLanguage()"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":41,"text":"return $this->parentLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":48,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":52,"text":"if ($rootElement->getName() != 'language' || (string) $rootElement['title'] === '')"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":54,"text":"$error = \\XF::phrase('provided_file_is_not_valid_language_xml');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":60,"text":"$error = \\XF::phrase('this_language_xml_file_was_not_built_for_this_version_of_xenforo');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":78,"text":"$errors['addon_id'] = \\XF::phrase('xml_file_relates_add_on_not_installed_install_first');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":97,"text":"$errors['version_id'] = \\XF::phrase('xml_file_based_on_newer_version_than_installed');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":101,"text":"if ($this->overwriteLanguage)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":103,"text":"$languageCode = (string) $document['language_code'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":104,"text":"if ($languageCode != $this->overwriteLanguage->language_code)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":106,"text":"$errors['language_code'] = \\XF::phrase('locale_of_language_importing_differs_overwriting_is_correct');"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":113,"text":"public function importFromXml(\\SimpleXMLElement $document)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":120,"text":"$language = $this->getTargetLanguage($document);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":122,"text":"$phraseImporter = $this->service(\\XF\\Service\\Phrase\\ImportService::class, $language);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":123,"text":"$phraseImporter->importFromXml($document, $addOnId);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":127,"text":"return $language;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":130,"text":"protected function getTargetLanguage(\\SimpleXMLElement $document)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":132,"text":"if ($this->overwriteLanguage)"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":134,"text":"return $this->overwriteLanguage;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":138,"text":"$language = $this->em()->create(Language::class);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":139,"text":"$language->title = (string) $document['title'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":140,"text":"$language->parent_id = $this->parentLanguage ? $this->parentLanguage->language_id : 0;"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":141,"text":"$language->date_format = (string) $document['date_format'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":142,"text":"$language->date_short_format = (string) $document['date_short_format'] ?: 'M \\'y';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":143,"text":"$language->date_short_recent_format = (string) $document['date_short_recent_format'] ?: 'M j';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":144,"text":"$language->time_format = (string) $document['time_format'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":145,"text":"$language->currency_format = (string) $document['currency_format'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":146,"text":"$language->week_start = (string) $document['week_start'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":147,"text":"$language->decimal_point = (string) $document['decimal_point'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":148,"text":"$language->thousands_separator = (string) $document['thousands_separator'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":149,"text":"$language->label_separator = (string) $document['label_separator'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":150,"text":"$language->comma_separator = (string) $document['comma_separator'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":151,"text":"$language->ellipsis = (string) $document['ellipsis'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":152,"text":"$language->parenthesis_open = (string) $document['parenthesis_open'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":153,"text":"$language->parenthesis_close = (string) $document['parenthesis_close'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":154,"text":"$language->language_code = (string) $document['language_code'];"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":155,"text":"$language->text_direction = (string) $document['text_direction'] ?: 'LTR';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":159,"text":"$language->user_selectable = (string) $document['user_selectable'] === '1';"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":162,"text":"$language->save(true, false);"},{"file":"ImportService.php","file_sha256":"a2698fb71908d9db9430e937c265cf7cd26c706e33a26ca6103be926d0fd10a1","line":164,"text":"return $language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":3,"text":"namespace XF\\Service\\Language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":7,"text":"use XF\\Entity\\Language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":17,"text":"* @var Language"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":19,"text":"protected $language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":28,"text":"public function __construct(App $app, Language $language)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":31,"text":"$this->setLanguage($language);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":34,"text":"public function setLanguage(Language $language)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":36,"text":"$this->language = $language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":39,"text":"public function getLanguage()"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":41,"text":"return $this->language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":67,"text":"$languageNode = $this->getLanguageNode($document);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":68,"text":"$document->appendChild($languageNode);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":70,"text":"foreach ($this->getExportablePhrases() AS $phrase)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":72,"text":"$phraseNode = $this->getPhraseNode($document, $phrase);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":73,"text":"$languageNode->appendChild($phraseNode);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":81,"text":"$title = str_replace(' ', '-', Str::transliterate($this->language->title));"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":84,"text":"return \"language-{$title}{$addOnLimit}.xml\";"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":102,"text":"protected function getLanguageNode(\\DOMDocument $document)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":104,"text":"$language = $this->language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":106,"text":"$languageNode = $document->createElement('language');"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":107,"text":"$languageNode->setAttribute('title', $language->title);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":108,"text":"$languageNode->setAttribute('date_format', $language->date_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":109,"text":"$languageNode->setAttribute('date_short_format', $language->date_short_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":110,"text":"$languageNode->setAttribute('date_short_recent_format', $language->date_short_recent_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":111,"text":"$languageNode->setAttribute('time_format', $language->time_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":112,"text":"$languageNode->setAttribute('currency_format', $language->currency_format);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":113,"text":"$languageNode->setAttribute('week_start', $language->week_start);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":114,"text":"$languageNode->setAttribute('decimal_point', $language->decimal_point);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":115,"text":"$languageNode->setAttribute('thousands_separator', $language->thousands_separator);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":116,"text":"$languageNode->setAttribute('label_separator', $language->label_separator);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":117,"text":"$languageNode->setAttribute('comma_separator', $language->comma_separator);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":118,"text":"$languageNode->setAttribute('ellipsis', $language->ellipsis);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":119,"text":"$languageNode->setAttribute('parenthesis_open', $language->parenthesis_open);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":120,"text":"$languageNode->setAttribute('parenthesis_close', $language->parenthesis_close);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":121,"text":"$languageNode->setAttribute('language_code', $language->language_code);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":122,"text":"$languageNode->setAttribute('text_direction', $language->text_direction);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":123,"text":"$languageNode->setAttribute('user_selectable', $language->user_selectable);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":126,"text":"$languageNode->setAttribute('addon_id', $this->addOn->addon_id);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":127,"text":"$languageNode->setAttribute('base_version_id', $this->addOn->version_id);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":131,"text":"$languageNode->setAttribute('base_version_id', \\XF::$versionId);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":133,"text":"$languageNode->setAttribute('export_version', self::EXPORT_VERSION_ID);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":134,"text":"$document->appendChild($languageNode);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":136,"text":"return $languageNode;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":139,"text":"protected function getPhraseNode(\\DOMDocument $document, array $phrase)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":141,"text":"$phraseNode = $document->createElement('phrase');"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":142,"text":"$phraseNode->setAttribute('title', $phrase['title']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":143,"text":"$phraseNode->setAttribute('addon_id', $phrase['addon_id']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":144,"text":"if ($phrase['global_cache'])"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":146,"text":"$phraseNode->setAttribute('global_cache', $phrase['global_cache']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":148,"text":"$phraseNode->setAttribute('version_id', $phrase['version_id']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":149,"text":"$phraseNode->setAttribute('version_string', $phrase['version_string']);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":150,"text":"$phraseNode->appendChild("},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":151,"text":"Xml::createDomCdataSection($document, $phrase['phrase_text'])"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":154,"text":"return $phraseNode;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":160,"text":"protected function getExportablePhrases()"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":162,"text":"$language = $this->language;"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":171,"text":"SELECT phrase.*,"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":172,"text":"IF(master.phrase_id IS NOT NULL, master.addon_id, phrase.addon_id) AS addon_id"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":173,"text":"FROM xf_phrase_map AS map"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":174,"text":"INNER JOIN xf_phrase AS phrase ON (map.phrase_id = phrase.phrase_id)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":175,"text":"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":176,"text":"WHERE map.language_id = ?"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":179,"text":"\", $language->language_id);"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":184,"text":"SELECT phrase.*,"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":185,"text":"IF(master.phrase_id, master.addon_id, phrase.addon_id) AS addon_id"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":186,"text":"FROM xf_phrase AS phrase"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":187,"text":"LEFT JOIN xf_phrase AS master ON (master.title = phrase.title AND master.language_id = 0)"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":188,"text":"WHERE phrase.language_id = ?"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":190,"text":"ORDER BY phrase.title"},{"file":"ExportService.php","file_sha256":"5a4f6e45d47812fa8870d9cc8e7df793b79b0bde135d4d314623a3a6a3083128","line":191,"text":"\", $language->language_id);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":3,"text":"namespace XF\\Service\\Language;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":5,"text":"use XF\\Entity\\Language;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":6,"text":"use XF\\Repository\\LanguageRepository;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":10,"text":"class RebuildService extends AbstractService"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":15,"text":"protected $languageTree;"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":17,"text":"protected function setupLanguageTree()"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":19,"text":"if ($this->languageTree)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":24,"text":"$repo = $this->app->em()->getRepository(LanguageRepository::class);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":25,"text":"$this->languageTree = $repo->getLanguageTree(false);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":28,"text":"public function rebuildFullParentList()"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":30,"text":"$this->setupLanguageTree();"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":33,"text":"$this->_rebuildParentList(0, []);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":37,"text":"protected function _rebuildParentList($id, array $path)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":41,"text":"/** @var Language $language */"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":42,"text":"$language = $this->languageTree->getData($id);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":43,"text":"if ($language)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":45,"text":"if ($path != $language->parent_list)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":47,"text":"$language->fastUpdate('parent_list', $path);"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":51,"text":"foreach ($this->languageTree->childIds($id) AS $childId)"},{"file":"RebuildService.php","file_sha256":"2338e38fed0ca55e11b0756752ba422d2d731236f25d9566c8870fb8097e1467","line":53,"text":"$this->_rebuildParentList($childId, $path);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":5,"text":"use XF\\Entity\\Language;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":7,"text":"use XF\\Finder\\LanguageFinder;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":8,"text":"use XF\\Finder\\PhraseFinder;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":13,"text":"class LanguageRepository extends Repository"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":16,"text":"* @return LanguageFinder"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":18,"text":"public function findLanguages()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":20,"text":"return $this->finder(LanguageFinder::class)->order('language_id');"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":23,"text":"public function showMasterLanguage()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":28,"text":"public function getMasterLanguage()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":30,"text":"$language = $this->em->create(Language::class);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":31,"text":"$language->setTrusted('language_id', 0);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":32,"text":"$language->setTrusted('parent_id', -1);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":33,"text":"$language->title = \\XF::phrase('master_language');"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":34,"text":"$language->setReadOnly(true);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":36,"text":"return $language;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":39,"text":"public function getLanguageTree($withMaster = null)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":41,"text":"$languages = $this->findLanguages()->fetch();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":42,"text":"return $this->createLanguageTree($languages, $withMaster);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":48,"text":"* @return Language[]"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":50,"text":"public function getUserSelectableLanguages(?User $user = null)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":57,"text":"$languages = [];"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":58,"text":"foreach ($this->getLanguageTree(false)->getFlattened(0) AS $id => $record)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":62,"text":"$languages[$id] = $record['record'];"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":66,"text":"return $languages;"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":69,"text":"public function createLanguageTree($languages, $withMaster = null, $rootId = null)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":77,"text":"if ($languages instanceof AbstractCollection)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":79,"text":"$languages = $languages->toArray();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":81,"text":"$languages[0] = $this->getMasterLanguage();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":89,"text":"return new Tree($languages, 'parent_id', $rootId);"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":92,"text":"public function rebuildGlobalPhraseCache()"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":94,"text":"$titles = $this->finder(PhraseFinder::class)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":95,"text":"->where('language_id', 0)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":96,"text":"->where('global_cache', 1)"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":100,"text":"$languages = $this->findLanguages()->fetch();"},{"file":"LanguageRepository.php","file_sha256":"51702258ba9ec83c8c07e4d51f3b440a4d9dd6b4172d005f6053387402adcedf","line":102,"text":"$globalPhrases = [];"}] +NEWFI_LANGUAGE_WORKFLOW_HITS=[{"path":"docs/operations/addons-language.md","line":18,"text":"- Core Russian created `language_id=2`, title `Russian (RU)`, language code `ru-RU` through `XF\\Service\\Language\\ImportService`."},{"path":"docs/operations/addons-language.md","line":20,"text":"- Accepted phrase counts for language 2: XF `11142`, XFMG `722`, XFRM `464`, total `12328`."},{"path":"docs/operations/addons-language.md","line":22,"text":"- `defaultLanguageId` was changed through the XenForo Option repository from `1` to `2` only after all three packs passed acceptance."},{"path":"docs/operations/addons-language.md","line":32,"text":"- Accepted manual job count: `0`."},{"path":"scripts/verify-addons-language.sh","line":14,"text":"phrase_rows=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT CONCAT_WS(0x7c,addon_id,COUNT(*)) FROM xf_phrase WHERE language_id=2 GROUP BY addon_id ORDER BY addon_id\")"},{"path":"scripts/verify-addons-language.sh","line":19,"text":"phrases=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT COUNT(*) FROM xf_phrase WHERE language_id=2\")"},{"path":"scripts/verify-addons-language.sh","line":22,"text":"manual=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT COUNT(*) FROM xf_job WHERE manual_execute=1\")"},{"path":"scripts/verify-addons-language.sh","line":25,"text":"expected_phrases=$(printf \"XF|11142\\nXFMG|722\\nXFRM|464\")"},{"path":"scripts/verify-addons-language.sh","line":26,"text":"printf \"ADDON_ROWS_BEGIN\\n%s\\nADDON_ROWS_END\\nLANGUAGE_ROWS_BEGIN\\n%s\\nLANGUAGE_ROWS_END\\nRU_PHRASE_ROWS_BEGIN\\n%s\\nRU_PHRASE_ROWS_END\\nDEFAULT_LANGUAGE_ID=%s\\nRU_PHRASE_COUNT=%s\\nDB_TABLES=%s\\nBOARD_ROW=%s|%s|%s\\nERROR_LOG_COUNT=%s\\nMANUAL_JOB_COUNT=%s\\n\" \"$addon_rows\" \"$language_rows\" \"$phrase_rows\" \"$default_lang\" \"$phrases\" \"$tables\" \"$board\" \"$title\" \"$url\" \"$errors\" \"$manual\""},{"path":"scripts/verify-addons-language.sh","line":29,"text":"test \"$phrase_rows\" = \"$expected_phrases\""},{"path":"scripts/verify-addons-language.sh","line":31,"text":"test \"$phrases\" -eq 12328"}] +EDGE_LOG_PROBE_TRANSPORT_RC=2 +ROLLBACK_STATE_OK=true +TASK_COMPLETE=true +TASK_RESULT=PASS_PVEPRO_RUSSIAN_RENDER_COMPAT_RCA +NO_MUTATION=true +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260920-PVEPRO-RUSSIAN-RENDER-COMPAT-RCA-READONLY-728R2","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END