diff --git a/runtime/history/NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1.json b/runtime/history/NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1.json
new file mode 100644
index 00000000..ec473db5
--- /dev/null
+++ b/runtime/history/NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1.json
@@ -0,0 +1,38 @@
+{
+ "schema_version": 1,
+ "channel": "homelab-runtime",
+ "command_id": "NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1",
+ "status": "OK",
+ "rc": 0,
+ "host": "pve01",
+ "mode": "read-only",
+ "component": "newfi-newfdom-events208-full-ui-foundation-audit-readonly-r1-php-linted",
+ "started_at_utc": "2026-09-18T23:47:33Z",
+ "finished_at_utc": "2026-09-18T23:47:37Z",
+ "reference_register_checked": true,
+ "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
+ "error_register_checked": true,
+ "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
+ "command_sha256": "0c8ad785f454cccfac01e122c4b6dd81990c193c83ad7d8708f218a016ff4ed6",
+ "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": "c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282",
+ "sanitized_output_sha256": "c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282",
+ "output_truncated_in_json": false,
+ "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
+ "output": "NEWFI122R1_BEGIN\nCOMMAND_ID=NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1\nNEWFI122R1_GIT={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"clean\":true,\"head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"remotes\":[{\"head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"remote\":\"origin\"}]}\nNEWFI122R1_WORKTREE_FILES=[{\"bytes\":1131,\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"rel\":\"Pub/View/Events.php\",\"sha256\":\"dabbfabaa95bfb8105cea2123827f3433a29f618347dd8f1551124ccaea2a0b2\"},{\"bytes\":2129,\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"rel\":\"_data/routes.xml\",\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\"},{\"bytes\":830,\"rel\":\"_data/templates.xml\",\"sha256\":\"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c\"},{\"bytes\":397,\"rel\":\"addon.json\",\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\"}]\nNEWFI122R1_STAGING={\"files\":[{\"bytes\":1131,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:Event';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],\"},{\"line\":18,\"text\":\" 'starts_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'state' => [\"},{\"line\":20,\"text\":\" 'type' => self::STR,\"},{\"line\":27,\"text\":\" 'updated_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":28,\"text\":\" ];\"},{\"line\":29,\"text\":\" return $structure;\"},{\"line\":30,\"text\":\" }\"},{\"line\":31,\"text\":\"}\"}],\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_change';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventChange';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_change_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'changed_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_source';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventSource';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_source_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],\"},{\"line\":19,\"text\":\" 'checked_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"matches\":[{\"line\":1,\"text\":\"finder('Newfi\\\\Events:Event')\"},{\"line\":12,\"text\":\" ->where('state', 'published')\"},{\"line\":13,\"text\":\" ->order('starts_at', 'ASC')\"},{\"line\":14,\"text\":\" ->order('event_id', 'ASC')\"},{\"line\":15,\"text\":\" ->fetch(100);\"},{\"line\":16,\"text\":\"\"},{\"line\":17,\"text\":\" return $this->view('Newfi\\\\Events:Events', 'newfi_events', [\"},{\"line\":18,\"text\":\" 'events' => $events\"},{\"line\":19,\"text\":\" ]);\"},{\"line\":20,\"text\":\" }\"}],\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"matches\":[{\"line\":1,\"text\":\"schemaManager();\"},{\"line\":13,\"text\":\"\"},{\"line\":14,\"text\":\" $sm->createTable('xf_newfi_event', function (Create $table)\"},{\"line\":15,\"text\":\" {\"},{\"line\":16,\"text\":\" $table->addColumn('event_id', 'int')->autoIncrement();\"},{\"line\":17,\"text\":\" $table->addColumn('title', 'varchar', 100);\"},{\"line\":18,\"text\":\" $table->addColumn('starts_at', 'int');\"},{\"line\":19,\"text\":\" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');\"},{\"line\":20,\"text\":\" $table->addColumn('fingerprint', 'varbinary', 64);\"},{\"line\":21,\"text\":\" $table->addColumn('created_at', 'int');\"},{\"line\":22,\"text\":\" $table->addColumn('updated_at', 'int');\"},{\"line\":23,\"text\":\" $table->addPrimaryKey('event_id');\"},{\"line\":24,\"text\":\" $table->addKey('starts_at');\"},{\"line\":25,\"text\":\" $table->addKey('state');\"},{\"line\":26,\"text\":\" $table->addKey('fingerprint');\"},{\"line\":27,\"text\":\" });\"},{\"line\":28,\"text\":\"\"},{\"line\":29,\"text\":\" $sm->createTable('xf_newfi_event_source', function (Create $table)\"},{\"line\":30,\"text\":\" {\"},{\"line\":31,\"text\":\" $table->addColumn('event_source_id', 'int')->autoIncrement();\"},{\"line\":32,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":33,\"text\":\" $table->addColumn('source_url', 'varchar', 500);\"},{\"line\":34,\"text\":\" $table->addColumn('checked_at', 'int');\"},{\"line\":35,\"text\":\" $table->addPrimaryKey('event_source_id');\"},{\"line\":36,\"text\":\" $table->addKey('event_id');\"},{\"line\":37,\"text\":\" });\"},{\"line\":38,\"text\":\"\"},{\"line\":39,\"text\":\" $sm->createTable('xf_newfi_event_change', function (Create $table)\"},{\"line\":40,\"text\":\" {\"},{\"line\":41,\"text\":\" $table->addColumn('event_change_id', 'int')->autoIncrement();\"},{\"line\":42,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":43,\"text\":\" $table->addColumn('changed_at', 'int');\"},{\"line\":44,\"text\":\" $table->addColumn('change_note', 'text');\"},{\"line\":45,\"text\":\" $table->addPrimaryKey('event_change_id');\"},{\"line\":46,\"text\":\" $table->addKey('event_id');\"},{\"line\":47,\"text\":\" });\"},{\"line\":48,\"text\":\"\"},{\"line\":58,\"text\":\" {\"},{\"line\":59,\"text\":\" $sm = $this->schemaManager();\"},{\"line\":60,\"text\":\" $sm->dropTable('xf_newfi_event_change');\"},{\"line\":61,\"text\":\" $sm->dropTable('xf_newfi_event_source');\"},{\"line\":62,\"text\":\" $sm->dropTable('xf_newfi_event');\"},{\"line\":63,\"text\":\" return null;\"},{\"line\":64,\"text\":\" }\"}],\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" \"},{\"line\":4,\"text\":\"\"}],\"rel\":\"_data/routes.xml\",\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\"},{\"bytes\":830,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" События\"},{\"line\":5,\"text\":\"\"},{\"line\":8,\"text\":\" \"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\"
\"},{\"line\":11,\"text\":\" \"},{\"line\":12,\"text\":\" \"},{\"line\":13,\"text\":\"
{$event.title}
\"},{\"line\":14,\"text\":\"
\"},{\"line\":15,\"text\":\"
\"},{\"line\":16,\"text\":\" \"},{\"line\":21,\"text\":\" \"},{\"line\":22,\"text\":\"\"},{\"line\":23,\"text\":\"]]>\"},{\"line\":24,\"text\":\"\"}],\"rel\":\"_data/templates.xml\",\"sha256\":\"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c\"},{\"bytes\":397,\"matches\":[{\"line\":1,\"text\":\"{\"},{\"line\":2,\"text\":\" \\\"title\\\": \\\"Newfi Events\\\",\"},{\"line\":3,\"text\":\" \\\"description\\\": \\\"Minimal private-staging events/calendar component for the Newfi closed MVP.\\\",\"},{\"line\":4,\"text\":\" \\\"version_id\\\": 1000010,\"},{\"line\":5,\"text\":\" \\\"version_string\\\": \\\"1.0.0 Alpha 1\\\",\"}],\"rel\":\"addon.json\",\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\"}],\"ok\":true,\"role\":\"staging\",\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Newfi/Events\",\"json_hash\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\",\"title\":\"Newfi Events\",\"version_id\":1000010,\"version_string\":\"1.0.0 Alpha 1\"},\"app_counts\":{\"drafts\":0,\"resources\":13,\"tag_content\":39,\"tags\":33,\"updates\":13,\"versions\":13},\"board\":\"0\",\"counts\":{\"xf_newfi_event\":0,\"xf_newfi_event_change\":0,\"xf_newfi_event_source\":0},\"errors\":{\"ids\":[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],\"old_fp\":\"e739c2c309539a508e20eba89b0ebc688640ef6ff9f919bbb419b2faad819f80\",\"rows\":[{\"error_id\":33,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":34,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":35,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":36,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":37,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":38,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":39,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":40,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":41,\"exception_type\":\"XF\\\\PrintableException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":1276,\"message\":\"Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal\"},{\"error_id\":42,\"exception_type\":\"LogicException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":645,\"message\":\"Attempted to set 'type' while a save was pending without forceSet\"},{\"error_id\":43,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":1276,\"message\":\"Fatal Error: Uncaught XF\\\\PrintableException: Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal in /var/www/forums/newfi/public/src/XF/Mvc/Entity/Entity.php:1276 Stack trace: #0 Command line code(31): XF\\\\Mvc\\\\Entity\\\\Entity->save(true, false) #1 {main} thrown\"},{\"error_id\":44,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"Fatal Error: Uncaught XF\\\\Db\\\\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\\\\'Gram/Support\\\\'' at line 1 in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\\\Db\\\\AbstractStatement->getException('...', 1064, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\\\Db\\\\Mysqli\\\\Statement->getException('...', 1064, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\\\Db\\\\Mysqli\\\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\\\Db\\\\Mysqli\\\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(152): XF\\\\Db\\\\AbstractAdapter->query('...', Array) #5 Command line code(1): XF\\\\Db\\\\AbstractAdapter->fetchOne('...') #6 {main} thrown\"},{\"error_id\":45,\"exception_type\":\"XF\\\\PrintableException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":1276,\"message\":\"Пожалуйста, введите корректный префикс роутинга.\"},{\"error_id\":46,\"exception_type\":\"ErrorException\",\"filename\":\"Command line code\",\"line\":5,\"message\":\"Fatal Error: Uncaught ReflectionException: Method XF\\\\AddOn\\\\AbstractSetup::applyGlobalPermissionByGroup() does not exist in Command line code:5 Stack trace: #0 Command line code(5): ReflectionMethod->__construct('...', '...') #1 {main} thrown\"},{\"error_id\":47,\"exception_type\":\"XF\\\\Db\\\\InvalidQueryException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1\"},{\"error_id\":48,\"exception_type\":\"XF\\\\Db\\\\InvalidQueryException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1\"},{\"error_id\":49,\"exception_type\":\"XF\\\\Db\\\\Exception\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1054]: Unknown column 'sub_name_format' in 'SELECT'\"},{\"error_id\":50,\"exception_type\":\"XF\\\\Db\\\\Exception\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT'\"},{\"error_id\":51,\"exception_type\":\"ErrorException\",\"filename\":\"Command line code\",\"line\":32,\"message\":\"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:32 Stack trace: #0 Command line code(32): XF::handlePhpError(2, '...', '...', 32) #1 {main} thrown\"},{\"error_id\":52,\"exception_type\":\"ErrorException\",\"filename\":\"Command line code\",\"line\":16,\"message\":\"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:16 Stack trace: #0 Command line code(16): XF::handlePhpError(2, '...', '...', 16) #1 {main} thrown\"},{\"error_id\":53,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"Fatal Error: Uncaught XF\\\\Db\\\\Exception: MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\\\Db\\\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\\\Db\\\\Mysqli\\\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\\\Db\\\\Mysqli\\\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\\\Db\\\\Mysqli\\\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\\\Db\\\\AbstractAdapter->query('...', Array) #5 Command line code(11): XF\\\\Db\\\\AbstractAdapter->fetchAll('...') #6 {main} thrown\"},{\"error_id\":54,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Service/ValidateAndSavableTrait.php\",\"line\":36,\"message\":\"Fatal Error: Uncaught LogicException: Cannot save with validation errors. Use validate() to ensure there are no errors. (First error: Пожалуйста, укажите корректную версию.) in /var/www/forums/newfi/public/src/XF/Service/ValidateAndSavableTrait.php:36 Stack trace: #0 Command line code(4): XFRM\\\\Service\\\\ResourceItem\\\\Create->save() #1 /var/www/forums/newfi/public/src/XF.php(950): {closure}() #2 Command line code(4): XF::asVisitor(Object(XFRM\\\\XF\\\\Entity\\\\User), Object(Closure)) #3 {main} thrown\"},{\"error_id\":55,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"Fatal Error: Uncaught XF\\\\Db\\\\Exception: MySQL statement prepare error [1054]: Unknown column 'r.category_id' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\\\Db\\\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\\\Db\\\\Mysqli\\\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\\\Db\\\\Mysqli\\\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\\\Db\\\\Mysqli\\\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\\\Db\\\\AbstractAdapter->query('...', Array) #5 Command line code(3): XF\\\\Db\\\\AbstractAdapter->fetchAll('...') #6 {main} thrown\"}]},\"event_templates\":[{\"bytes\":643,\"matches\":[{\"line\":6,\"text\":\"
\"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
\"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\" \"},{\"line\":11,\"text\":\"
{$event.title}
\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\" \"},{\"line\":15,\"text\":\" \"}],\"sha256\":\"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543\",\"style_id\":0,\"template_id\":1612,\"title\":\"newfi_events\"}],\"jobs\":[],\"navigation_tables\":{\"xf_navigation\":{\"count\":56,\"create\":\"CREATE TABLE `xf_navigation` (\\n `navigation_id` varbinary(50) NOT NULL,\\n `parent_navigation_id` varbinary(50) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `type_config` mediumtext NOT NULL,\\n `condition_expression` mediumblob NOT NULL,\\n `condition_setup` mediumblob NOT NULL,\\n `data_expression` mediumblob NOT NULL,\\n `data_setup` mediumblob NOT NULL,\\n `global_setup` mediumblob NOT NULL,\\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `default_value` mediumblob NOT NULL,\\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\\n PRIMARY KEY (`navigation_id`),\\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_navigation_type\":{\"count\":3,\"create\":\"CREATE TABLE `xf_navigation_type` (\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `handler_class` varchar(100) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`navigation_type_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"}},\"portal_template\":{\"bytes\":8623,\"matches\":[{\"line\":6,\"text\":\" \"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
Ньюфаундленды · знания · люди
\"},{\"line\":9,\"text\":\"
Дом сообщества ньюфаундлендов
\"},{\"line\":10,\"text\":\"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
\"},{\"line\":11,\"text\":\"\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
К обсуждениям\"},{\"line\":14,\"text\":\"
События\"},{\"line\":15,\"text\":\"
Собаки\"},{\"line\":16,\"text\":\"
\"},{\"line\":17,\"text\":\"
\"},{\"line\":18,\"text\":\" \"},{\"line\":19,\"text\":\"\"},{\"line\":20,\"text\":\" \"},{\"line\":21,\"text\":\"
\"},{\"line\":22,\"text\":\" \"},{\"line\":29,\"text\":\"\"},{\"line\":30,\"text\":\" \"},{\"line\":31,\"text\":\" \"},{\"line\":32,\"text\":\"
\"},{\"line\":33,\"text\":\" \"},{\"line\":34,\"text\":\" {$thread.title}\"},{\"line\":35,\"text\":\" {$thread.Forum.Node.title}\"},{\"line\":36,\"text\":\" \"},{\"line\":37,\"text\":\" \"},{\"line\":38,\"text\":\" \"},{\"line\":39,\"text\":\"
\"},{\"line\":40,\"text\":\" \"},{\"line\":41,\"text\":\" \"},{\"line\":75,\"text\":\"
\"},{\"line\":76,\"text\":\" \"},{\"line\":77,\"text\":\" \"},{\"line\":78,\"text\":\"
\"},{\"line\":79,\"text\":\" \"},{\"line\":80,\"text\":\" {$resource.title}\"},{\"line\":81,\"text\":\" {$resource.tag_line}\"},{\"line\":82,\"text\":\" \"},{\"line\":83,\"text\":\" \"},{\"line\":84,\"text\":\" \"},{\"line\":85,\"text\":\"
\"},{\"line\":86,\"text\":\" \"},{\"line\":87,\"text\":\" Проверенные материалы появятся здесь после публикации.
\"},{\"line\":88,\"text\":\" \"},{\"line\":89,\"text\":\" Открыть базу знаний\"},{\"line\":90,\"text\":\" \"},{\"line\":91,\"text\":\" \"},{\"line\":92,\"text\":\" База знаний доступна участникам с соответствующими правами.\"},{\"line\":93,\"text\":\"
\"},{\"line\":94,\"text\":\" \"},{\"line\":95,\"text\":\" \"},{\"line\":96,\"text\":\"\"},{\"line\":97,\"text\":\"
\"},{\"line\":98,\"text\":\" \"},{\"line\":105,\"text\":\"\"},{\"line\":106,\"text\":\" \"},{\"line\":107,\"text\":\" \"},{\"line\":108,\"text\":\"
\"},{\"line\":109,\"text\":\" \"},{\"line\":110,\"text\":\" {$event.title}\"},{\"line\":111,\"text\":\" \"},{\"line\":112,\"text\":\"
\"},{\"line\":113,\"text\":\" \"},{\"line\":114,\"text\":\"
\"},{\"line\":115,\"text\":\" \"},{\"line\":116,\"text\":\" \"},{\"line\":120,\"text\":\"
\"},{\"line\":121,\"text\":\" Сообщество\"},{\"line\":122,\"text\":\"
Наши собаки
\"},{\"line\":123,\"text\":\" \"},{\"line\":124,\"text\":\"
Все собаки\"},{\"line\":125,\"text\":\" \"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\" \"},{\"line\":128,\"text\":\"
\"},{\"line\":129,\"text\":\"
\"},{\"line\":130,\"text\":\" \"},{\"line\":131,\"text\":\"
{$dog.full_name}{$dog.name}\"},{\"line\":132,\"text\":\"
{$dog.city}\"},{\"line\":147,\"text\":\"
\"},{\"line\":148,\"text\":\" \"},{\"line\":149,\"text\":\" \"},{\"line\":158,\"text\":\" \"},{\"line\":159,\"text\":\" Фотографии появятся здесь после публикации в галерее.
\"},{\"line\":160,\"text\":\" \"},{\"line\":161,\"text\":\" Открыть галерею\"},{\"line\":162,\"text\":\" \"},{\"line\":163,\"text\":\" \"},{\"line\":164,\"text\":\" Галерея доступна участникам с соответствующими правами.\"},{\"line\":165,\"text\":\"
\"},{\"line\":166,\"text\":\" \"},{\"line\":167,\"text\":\" \"},{\"line\":168,\"text\":\"
\"},{\"line\":169,\"text\":\"\"},{\"line\":172,\"text\":\" НьюфДом\"},{\"line\":173,\"text\":\" Полезное начинается с живого сообщества
\"},{\"line\":174,\"text\":\" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
\"},{\"line\":175,\"text\":\" \"},{\"line\":176,\"text\":\"
Перейти к форуму\"},{\"line\":177,\"text\":\" \"},{\"line\":178,\"text\":\"
\"},{\"line\":179,\"text\":\"\"}],\"sha256\":\"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669\",\"style_id\":0,\"template_id\":1610},\"schemas\":{\"xf_newfi_event\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"title\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(100)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"starts_at\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":\"draft\",\"Extra\":\"\",\"Field\":\"state\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(25)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"fingerprint\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(64)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"created_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"updated_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event` (\\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `title` varchar(100) NOT NULL,\\n `starts_at` int(10) unsigned NOT NULL,\\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\\n `fingerprint` varbinary(64) NOT NULL,\\n `created_at` int(10) unsigned NOT NULL,\\n `updated_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_id`),\\n KEY `starts_at` (`starts_at`),\\n KEY `state` (`state`),\\n KEY `fingerprint` (`fingerprint`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"starts_at\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"starts_at\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"state\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"state\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"fingerprint\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"fingerprint\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"}]},\"xf_newfi_event_change\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_change_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"changed_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"change_note\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"text\"}],\"create\":\"CREATE TABLE `xf_newfi_event_change` (\\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `changed_at` int(10) unsigned NOT NULL,\\n `change_note` text NOT NULL,\\n PRIMARY KEY (`event_change_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_change_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"}]},\"xf_newfi_event_source\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_source_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"source_url\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(500)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"checked_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event_source` (\\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `source_url` varchar(500) NOT NULL,\\n `checked_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_source_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_source_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"}]}}}}\nNEWFI122R1_PRODUCTION={\"files\":[{\"bytes\":1131,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:Event';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],\"},{\"line\":18,\"text\":\" 'starts_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'state' => [\"},{\"line\":20,\"text\":\" 'type' => self::STR,\"},{\"line\":27,\"text\":\" 'updated_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":28,\"text\":\" ];\"},{\"line\":29,\"text\":\" return $structure;\"},{\"line\":30,\"text\":\" }\"},{\"line\":31,\"text\":\"}\"}],\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_change';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventChange';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_change_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'changed_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_source';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventSource';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_source_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],\"},{\"line\":19,\"text\":\" 'checked_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"matches\":[{\"line\":1,\"text\":\"finder('Newfi\\\\Events:Event')\"},{\"line\":12,\"text\":\" ->where('state', 'published')\"},{\"line\":13,\"text\":\" ->order('starts_at', 'ASC')\"},{\"line\":14,\"text\":\" ->order('event_id', 'ASC')\"},{\"line\":15,\"text\":\" ->fetch(100);\"},{\"line\":16,\"text\":\"\"},{\"line\":17,\"text\":\" return $this->view('Newfi\\\\Events:Events', 'newfi_events', [\"},{\"line\":18,\"text\":\" 'events' => $events\"},{\"line\":19,\"text\":\" ]);\"},{\"line\":20,\"text\":\" }\"}],\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"matches\":[{\"line\":1,\"text\":\"schemaManager();\"},{\"line\":13,\"text\":\"\"},{\"line\":14,\"text\":\" $sm->createTable('xf_newfi_event', function (Create $table)\"},{\"line\":15,\"text\":\" {\"},{\"line\":16,\"text\":\" $table->addColumn('event_id', 'int')->autoIncrement();\"},{\"line\":17,\"text\":\" $table->addColumn('title', 'varchar', 100);\"},{\"line\":18,\"text\":\" $table->addColumn('starts_at', 'int');\"},{\"line\":19,\"text\":\" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');\"},{\"line\":20,\"text\":\" $table->addColumn('fingerprint', 'varbinary', 64);\"},{\"line\":21,\"text\":\" $table->addColumn('created_at', 'int');\"},{\"line\":22,\"text\":\" $table->addColumn('updated_at', 'int');\"},{\"line\":23,\"text\":\" $table->addPrimaryKey('event_id');\"},{\"line\":24,\"text\":\" $table->addKey('starts_at');\"},{\"line\":25,\"text\":\" $table->addKey('state');\"},{\"line\":26,\"text\":\" $table->addKey('fingerprint');\"},{\"line\":27,\"text\":\" });\"},{\"line\":28,\"text\":\"\"},{\"line\":29,\"text\":\" $sm->createTable('xf_newfi_event_source', function (Create $table)\"},{\"line\":30,\"text\":\" {\"},{\"line\":31,\"text\":\" $table->addColumn('event_source_id', 'int')->autoIncrement();\"},{\"line\":32,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":33,\"text\":\" $table->addColumn('source_url', 'varchar', 500);\"},{\"line\":34,\"text\":\" $table->addColumn('checked_at', 'int');\"},{\"line\":35,\"text\":\" $table->addPrimaryKey('event_source_id');\"},{\"line\":36,\"text\":\" $table->addKey('event_id');\"},{\"line\":37,\"text\":\" });\"},{\"line\":38,\"text\":\"\"},{\"line\":39,\"text\":\" $sm->createTable('xf_newfi_event_change', function (Create $table)\"},{\"line\":40,\"text\":\" {\"},{\"line\":41,\"text\":\" $table->addColumn('event_change_id', 'int')->autoIncrement();\"},{\"line\":42,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":43,\"text\":\" $table->addColumn('changed_at', 'int');\"},{\"line\":44,\"text\":\" $table->addColumn('change_note', 'text');\"},{\"line\":45,\"text\":\" $table->addPrimaryKey('event_change_id');\"},{\"line\":46,\"text\":\" $table->addKey('event_id');\"},{\"line\":47,\"text\":\" });\"},{\"line\":48,\"text\":\"\"},{\"line\":58,\"text\":\" {\"},{\"line\":59,\"text\":\" $sm = $this->schemaManager();\"},{\"line\":60,\"text\":\" $sm->dropTable('xf_newfi_event_change');\"},{\"line\":61,\"text\":\" $sm->dropTable('xf_newfi_event_source');\"},{\"line\":62,\"text\":\" $sm->dropTable('xf_newfi_event');\"},{\"line\":63,\"text\":\" return null;\"},{\"line\":64,\"text\":\" }\"}],\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" \"},{\"line\":4,\"text\":\"\"}],\"rel\":\"_data/routes.xml\",\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\"},{\"bytes\":830,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" События\"},{\"line\":5,\"text\":\"\"},{\"line\":8,\"text\":\" \"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\"
\"},{\"line\":11,\"text\":\" \"},{\"line\":12,\"text\":\" \"},{\"line\":13,\"text\":\"
{$event.title}
\"},{\"line\":14,\"text\":\"
\"},{\"line\":15,\"text\":\"
\"},{\"line\":16,\"text\":\" \"},{\"line\":21,\"text\":\" \"},{\"line\":22,\"text\":\" \"},{\"line\":23,\"text\":\"]]>\"},{\"line\":24,\"text\":\"\"}],\"rel\":\"_data/templates.xml\",\"sha256\":\"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c\"},{\"bytes\":397,\"matches\":[{\"line\":1,\"text\":\"{\"},{\"line\":2,\"text\":\" \\\"title\\\": \\\"Newfi Events\\\",\"},{\"line\":3,\"text\":\" \\\"description\\\": \\\"Minimal private-staging events/calendar component for the Newfi closed MVP.\\\",\"},{\"line\":4,\"text\":\" \\\"version_id\\\": 1000010,\"},{\"line\":5,\"text\":\" \\\"version_string\\\": \\\"1.0.0 Alpha 1\\\",\"}],\"rel\":\"addon.json\",\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\"}],\"ok\":true,\"role\":\"production\",\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Newfi/Events\",\"json_hash\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\",\"title\":\"Newfi Events\",\"version_id\":1000010,\"version_string\":\"1.0.0 Alpha 1\"},\"app_counts\":{\"drafts\":0,\"resources\":13,\"tag_content\":39,\"tags\":33,\"updates\":13,\"versions\":13},\"board\":\"1\",\"counts\":{\"xf_newfi_event\":0,\"xf_newfi_event_change\":0,\"xf_newfi_event_source\":0},\"errors\":{\"ids\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],\"old_fp\":\"737935e0f156defd5fcd89c9e05899bb3577964371bc436e65db7c7e461be69b\",\"rows\":[{\"error_id\":1,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":2,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":3,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":4,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":5,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":6,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":7,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":8,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":9,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":10,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":11,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":12,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":13,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":14,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":15,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":16,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":17,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":18,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":19,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":20,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":21,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":22,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":23,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":24,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":25,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":26,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":27,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":28,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":29,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":30,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":31,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":32,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":33,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":34,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":35,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":36,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":37,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":38,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":39,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":40,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"}]},\"event_templates\":[{\"bytes\":643,\"matches\":[{\"line\":6,\"text\":\" \"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
\"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\" \"},{\"line\":11,\"text\":\"
{$event.title}
\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\" \"},{\"line\":15,\"text\":\" \"}],\"sha256\":\"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543\",\"style_id\":0,\"template_id\":1612,\"title\":\"newfi_events\"}],\"jobs\":[],\"navigation_tables\":{\"xf_navigation\":{\"count\":56,\"create\":\"CREATE TABLE `xf_navigation` (\\n `navigation_id` varbinary(50) NOT NULL,\\n `parent_navigation_id` varbinary(50) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `type_config` mediumtext NOT NULL,\\n `condition_expression` mediumblob NOT NULL,\\n `condition_setup` mediumblob NOT NULL,\\n `data_expression` mediumblob NOT NULL,\\n `data_setup` mediumblob NOT NULL,\\n `global_setup` mediumblob NOT NULL,\\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `default_value` mediumblob NOT NULL,\\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\\n PRIMARY KEY (`navigation_id`),\\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_navigation_type\":{\"count\":3,\"create\":\"CREATE TABLE `xf_navigation_type` (\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `handler_class` varchar(100) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`navigation_type_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"}},\"portal_template\":{\"bytes\":8623,\"matches\":[{\"line\":6,\"text\":\" \"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
Ньюфаундленды · знания · люди
\"},{\"line\":9,\"text\":\"
Дом сообщества ньюфаундлендов
\"},{\"line\":10,\"text\":\"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
\"},{\"line\":11,\"text\":\"\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
К обсуждениям\"},{\"line\":14,\"text\":\"
События\"},{\"line\":15,\"text\":\"
Собаки\"},{\"line\":16,\"text\":\"
\"},{\"line\":17,\"text\":\"
\"},{\"line\":18,\"text\":\" \"},{\"line\":19,\"text\":\"\"},{\"line\":20,\"text\":\" \"},{\"line\":21,\"text\":\"
\"},{\"line\":22,\"text\":\" \"},{\"line\":29,\"text\":\"\"},{\"line\":30,\"text\":\" \"},{\"line\":31,\"text\":\" \"},{\"line\":32,\"text\":\"
\"},{\"line\":33,\"text\":\" \"},{\"line\":34,\"text\":\" {$thread.title}\"},{\"line\":35,\"text\":\" {$thread.Forum.Node.title}\"},{\"line\":36,\"text\":\" \"},{\"line\":37,\"text\":\" \"},{\"line\":38,\"text\":\" \"},{\"line\":39,\"text\":\"
\"},{\"line\":40,\"text\":\" \"},{\"line\":41,\"text\":\" \"},{\"line\":75,\"text\":\"
\"},{\"line\":76,\"text\":\" \"},{\"line\":77,\"text\":\" \"},{\"line\":78,\"text\":\"
\"},{\"line\":79,\"text\":\" \"},{\"line\":80,\"text\":\" {$resource.title}\"},{\"line\":81,\"text\":\" {$resource.tag_line}\"},{\"line\":82,\"text\":\" \"},{\"line\":83,\"text\":\" \"},{\"line\":84,\"text\":\" \"},{\"line\":85,\"text\":\"
\"},{\"line\":86,\"text\":\" \"},{\"line\":87,\"text\":\" Проверенные материалы появятся здесь после публикации.
\"},{\"line\":88,\"text\":\" \"},{\"line\":89,\"text\":\" Открыть базу знаний\"},{\"line\":90,\"text\":\" \"},{\"line\":91,\"text\":\" \"},{\"line\":92,\"text\":\" База знаний доступна участникам с соответствующими правами.\"},{\"line\":93,\"text\":\"
\"},{\"line\":94,\"text\":\" \"},{\"line\":95,\"text\":\" \"},{\"line\":96,\"text\":\"\"},{\"line\":97,\"text\":\"
\"},{\"line\":98,\"text\":\" \"},{\"line\":105,\"text\":\"\"},{\"line\":106,\"text\":\" \"},{\"line\":107,\"text\":\" \"},{\"line\":108,\"text\":\"
\"},{\"line\":109,\"text\":\" \"},{\"line\":110,\"text\":\" {$event.title}\"},{\"line\":111,\"text\":\" \"},{\"line\":112,\"text\":\"
\"},{\"line\":113,\"text\":\" \"},{\"line\":114,\"text\":\"
\"},{\"line\":115,\"text\":\" \"},{\"line\":116,\"text\":\" \"},{\"line\":120,\"text\":\"
\"},{\"line\":121,\"text\":\" Сообщество\"},{\"line\":122,\"text\":\"
Наши собаки
\"},{\"line\":123,\"text\":\" \"},{\"line\":124,\"text\":\"
Все собаки\"},{\"line\":125,\"text\":\" \"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\" \"},{\"line\":128,\"text\":\"
\"},{\"line\":129,\"text\":\"
\"},{\"line\":130,\"text\":\" \"},{\"line\":131,\"text\":\"
{$dog.full_name}{$dog.name}\"},{\"line\":132,\"text\":\"
{$dog.city}\"},{\"line\":147,\"text\":\"
\"},{\"line\":148,\"text\":\" \"},{\"line\":149,\"text\":\" \"},{\"line\":158,\"text\":\" \"},{\"line\":159,\"text\":\" Фотографии появятся здесь после публикации в галерее.
\"},{\"line\":160,\"text\":\" \"},{\"line\":161,\"text\":\" Открыть галерею\"},{\"line\":162,\"text\":\" \"},{\"line\":163,\"text\":\" \"},{\"line\":164,\"text\":\" Галерея доступна участникам с соответствующими правами.\"},{\"line\":165,\"text\":\"
\"},{\"line\":166,\"text\":\" \"},{\"line\":167,\"text\":\" \"},{\"line\":168,\"text\":\"
\"},{\"line\":169,\"text\":\"\"},{\"line\":172,\"text\":\" НьюфДом\"},{\"line\":173,\"text\":\" Полезное начинается с живого сообщества
\"},{\"line\":174,\"text\":\" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
\"},{\"line\":175,\"text\":\" \"},{\"line\":176,\"text\":\"
Перейти к форуму\"},{\"line\":177,\"text\":\" \"},{\"line\":178,\"text\":\"
\"},{\"line\":179,\"text\":\"\"}],\"sha256\":\"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669\",\"style_id\":0,\"template_id\":1610},\"schemas\":{\"xf_newfi_event\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"title\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(100)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"starts_at\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":\"draft\",\"Extra\":\"\",\"Field\":\"state\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(25)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"fingerprint\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(64)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"created_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"updated_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event` (\\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `title` varchar(100) NOT NULL,\\n `starts_at` int(10) unsigned NOT NULL,\\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\\n `fingerprint` varbinary(64) NOT NULL,\\n `created_at` int(10) unsigned NOT NULL,\\n `updated_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_id`),\\n KEY `starts_at` (`starts_at`),\\n KEY `state` (`state`),\\n KEY `fingerprint` (`fingerprint`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"starts_at\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"starts_at\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"state\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"state\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"fingerprint\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"fingerprint\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"}]},\"xf_newfi_event_change\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_change_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"changed_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"change_note\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"text\"}],\"create\":\"CREATE TABLE `xf_newfi_event_change` (\\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `changed_at` int(10) unsigned NOT NULL,\\n `change_note` text NOT NULL,\\n PRIMARY KEY (`event_change_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_change_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"}]},\"xf_newfi_event_source\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_source_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"source_url\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(500)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"checked_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event_source` (\\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `source_url` varchar(500) NOT NULL,\\n `checked_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_source_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_source_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"}]}}}}\nNEWFI122R1_PUBLIC={\"events_no_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events\"},\"events_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events/\"},\"portal\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/\"}}\nNEWFI122R1_SAFE_REPORT={\"changes_made\":false,\"decision\":\"PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED\",\"event_counts\":{\"xf_newfi_event\":0,\"xf_newfi_event_change\":0,\"xf_newfi_event_source\":0},\"event_templates\":1,\"git_head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"portal_template_sha\":\"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669\",\"public\":{\"events_no_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events\"},\"events_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events/\"},\"portal\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/\"}},\"source_files\":9}\nNEWFI122R1_DECISION=PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED\nNEWFI122R1_NEXT_GATE=DESIGN_EVENTS208_FULL_UI_FROM_EXACT_SCHEMA\n"
+}
diff --git a/runtime/history/NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1.txt b/runtime/history/NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1.txt
new file mode 100644
index 00000000..725f9d01
--- /dev/null
+++ b/runtime/history/NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1.txt
@@ -0,0 +1,42 @@
+CHAT_OUTPUT_BEGIN
+COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1
+STATUS=OK
+RC=0
+HOST=pve01
+MODE=read-only
+COMPONENT=newfi-newfdom-events208-full-ui-foundation-audit-readonly-r1-php-linted
+REFERENCE_REGISTER_CHECK=OK
+REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
+ERROR_REGISTER_CHECK=OK
+ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
+COMMAND_SHA256=0c8ad785f454cccfac01e122c4b6dd81990c193c83ad7d8708f218a016ff4ed6
+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=c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282
+SANITIZED_OUTPUT_SHA256=c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282
+OUTPUT_BEGIN
+NEWFI122R1_BEGIN
+COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1
+NEWFI122R1_GIT={"branch":"implementation/newfi-closed-mvp-20260906","clean":true,"head":"a13361297ba22f9745bb64aac4ed90849242955a","remotes":[{"head":"a13361297ba22f9745bb64aac4ed90849242955a","remote":"origin"}]}
+NEWFI122R1_WORKTREE_FILES=[{"bytes":1131,"rel":"Entity/Event.php","sha256":"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891"},{"bytes":777,"rel":"Entity/EventChange.php","sha256":"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602"},{"bytes":775,"rel":"Entity/EventSource.php","sha256":"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187"},{"bytes":494,"rel":"Pub/Controller/Events.php","sha256":"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b"},{"bytes":79,"rel":"Pub/View/Events.php","sha256":"dabbfabaa95bfb8105cea2123827f3433a29f618347dd8f1551124ccaea2a0b2"},{"bytes":2129,"rel":"Setup.php","sha256":"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b"},{"bytes":144,"rel":"_data/routes.xml","sha256":"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309"},{"bytes":830,"rel":"_data/templates.xml","sha256":"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c"},{"bytes":397,"rel":"addon.json","sha256":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3"}]
+NEWFI122R1_STAGING={"files":[{"bytes":1131,"matches":[{"line":1,"text":"table = 'xf_newfi_event';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:Event';"},{"line":14,"text":" $structure->primaryKey = 'event_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],"},{"line":18,"text":" 'starts_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'state' => ["},{"line":20,"text":" 'type' => self::STR,"},{"line":27,"text":" 'updated_at' => ['type' => self::UINT, 'required' => true]"},{"line":28,"text":" ];"},{"line":29,"text":" return $structure;"},{"line":30,"text":" }"},{"line":31,"text":"}"}],"rel":"Entity/Event.php","sha256":"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891"},{"bytes":777,"matches":[{"line":1,"text":"table = 'xf_newfi_event_change';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventChange';"},{"line":14,"text":" $structure->primaryKey = 'event_change_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'changed_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventChange.php","sha256":"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602"},{"bytes":775,"matches":[{"line":1,"text":"table = 'xf_newfi_event_source';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventSource';"},{"line":14,"text":" $structure->primaryKey = 'event_source_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],"},{"line":19,"text":" 'checked_at' => ['type' => self::UINT, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventSource.php","sha256":"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187"},{"bytes":494,"matches":[{"line":1,"text":"finder('Newfi\\Events:Event')"},{"line":12,"text":" ->where('state', 'published')"},{"line":13,"text":" ->order('starts_at', 'ASC')"},{"line":14,"text":" ->order('event_id', 'ASC')"},{"line":15,"text":" ->fetch(100);"},{"line":16,"text":""},{"line":17,"text":" return $this->view('Newfi\\Events:Events', 'newfi_events', ["},{"line":18,"text":" 'events' => $events"},{"line":19,"text":" ]);"},{"line":20,"text":" }"}],"rel":"Pub/Controller/Events.php","sha256":"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b"},{"bytes":79,"matches":[{"line":1,"text":"schemaManager();"},{"line":13,"text":""},{"line":14,"text":" $sm->createTable('xf_newfi_event', function (Create $table)"},{"line":15,"text":" {"},{"line":16,"text":" $table->addColumn('event_id', 'int')->autoIncrement();"},{"line":17,"text":" $table->addColumn('title', 'varchar', 100);"},{"line":18,"text":" $table->addColumn('starts_at', 'int');"},{"line":19,"text":" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');"},{"line":20,"text":" $table->addColumn('fingerprint', 'varbinary', 64);"},{"line":21,"text":" $table->addColumn('created_at', 'int');"},{"line":22,"text":" $table->addColumn('updated_at', 'int');"},{"line":23,"text":" $table->addPrimaryKey('event_id');"},{"line":24,"text":" $table->addKey('starts_at');"},{"line":25,"text":" $table->addKey('state');"},{"line":26,"text":" $table->addKey('fingerprint');"},{"line":27,"text":" });"},{"line":28,"text":""},{"line":29,"text":" $sm->createTable('xf_newfi_event_source', function (Create $table)"},{"line":30,"text":" {"},{"line":31,"text":" $table->addColumn('event_source_id', 'int')->autoIncrement();"},{"line":32,"text":" $table->addColumn('event_id', 'int');"},{"line":33,"text":" $table->addColumn('source_url', 'varchar', 500);"},{"line":34,"text":" $table->addColumn('checked_at', 'int');"},{"line":35,"text":" $table->addPrimaryKey('event_source_id');"},{"line":36,"text":" $table->addKey('event_id');"},{"line":37,"text":" });"},{"line":38,"text":""},{"line":39,"text":" $sm->createTable('xf_newfi_event_change', function (Create $table)"},{"line":40,"text":" {"},{"line":41,"text":" $table->addColumn('event_change_id', 'int')->autoIncrement();"},{"line":42,"text":" $table->addColumn('event_id', 'int');"},{"line":43,"text":" $table->addColumn('changed_at', 'int');"},{"line":44,"text":" $table->addColumn('change_note', 'text');"},{"line":45,"text":" $table->addPrimaryKey('event_change_id');"},{"line":46,"text":" $table->addKey('event_id');"},{"line":47,"text":" });"},{"line":48,"text":""},{"line":58,"text":" {"},{"line":59,"text":" $sm = $this->schemaManager();"},{"line":60,"text":" $sm->dropTable('xf_newfi_event_change');"},{"line":61,"text":" $sm->dropTable('xf_newfi_event_source');"},{"line":62,"text":" $sm->dropTable('xf_newfi_event');"},{"line":63,"text":" return null;"},{"line":64,"text":" }"}],"rel":"Setup.php","sha256":"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b"},{"bytes":144,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" "},{"line":4,"text":""}],"rel":"_data/routes.xml","sha256":"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309"},{"bytes":830,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" События"},{"line":5,"text":""},{"line":8,"text":" "},{"line":9,"text":" "},{"line":10,"text":"
"},{"line":11,"text":" "},{"line":12,"text":" "},{"line":13,"text":"
{$event.title}
"},{"line":14,"text":"
"},{"line":15,"text":"
"},{"line":16,"text":" "},{"line":21,"text":" "},{"line":22,"text":" "},{"line":23,"text":"]]>"},{"line":24,"text":""}],"rel":"_data/templates.xml","sha256":"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c"},{"bytes":397,"matches":[{"line":1,"text":"{"},{"line":2,"text":" \"title\": \"Newfi Events\","},{"line":3,"text":" \"description\": \"Minimal private-staging events/calendar component for the Newfi closed MVP.\","},{"line":4,"text":" \"version_id\": 1000010,"},{"line":5,"text":" \"version_string\": \"1.0.0 Alpha 1\","}],"rel":"addon.json","sha256":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3"}],"ok":true,"role":"staging","state":{"addon":{"active":1,"addon_id":"Newfi/Events","json_hash":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3","title":"Newfi Events","version_id":1000010,"version_string":"1.0.0 Alpha 1"},"app_counts":{"drafts":0,"resources":13,"tag_content":39,"tags":33,"updates":13,"versions":13},"board":"0","counts":{"xf_newfi_event":0,"xf_newfi_event_change":0,"xf_newfi_event_source":0},"errors":{"ids":[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],"old_fp":"e739c2c309539a508e20eba89b0ebc688640ef6ff9f919bbb419b2faad819f80","rows":[{"error_id":33,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)"},{"error_id":34,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)"},{"error_id":35,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)"},{"error_id":36,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)"},{"error_id":37,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)"},{"error_id":38,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)"},{"error_id":39,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)"},{"error_id":40,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)"},{"error_id":41,"exception_type":"XF\\PrintableException","filename":"src/XF/Mvc/Entity/Entity.php","line":1276,"message":"Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal"},{"error_id":42,"exception_type":"LogicException","filename":"src/XF/Mvc/Entity/Entity.php","line":645,"message":"Attempted to set 'type' while a save was pending without forceSet"},{"error_id":43,"exception_type":"ErrorException","filename":"src/XF/Mvc/Entity/Entity.php","line":1276,"message":"Fatal Error: Uncaught XF\\PrintableException: Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal in /var/www/forums/newfi/public/src/XF/Mvc/Entity/Entity.php:1276 Stack trace: #0 Command line code(31): XF\\Mvc\\Entity\\Entity->save(true, false) #1 {main} thrown"},{"error_id":44,"exception_type":"ErrorException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"Fatal Error: Uncaught XF\\Db\\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\\'Gram/Support\\'' at line 1 in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\Db\\AbstractStatement->getException('...', 1064, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\Db\\Mysqli\\Statement->getException('...', 1064, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\Db\\Mysqli\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\Db\\Mysqli\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(152): XF\\Db\\AbstractAdapter->query('...', Array) #5 Command line code(1): XF\\Db\\AbstractAdapter->fetchOne('...') #6 {main} thrown"},{"error_id":45,"exception_type":"XF\\PrintableException","filename":"src/XF/Mvc/Entity/Entity.php","line":1276,"message":"Пожалуйста, введите корректный префикс роутинга."},{"error_id":46,"exception_type":"ErrorException","filename":"Command line code","line":5,"message":"Fatal Error: Uncaught ReflectionException: Method XF\\AddOn\\AbstractSetup::applyGlobalPermissionByGroup() does not exist in Command line code:5 Stack trace: #0 Command line code(5): ReflectionMethod->__construct('...', '...') #1 {main} thrown"},{"error_id":47,"exception_type":"XF\\Db\\InvalidQueryException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1"},{"error_id":48,"exception_type":"XF\\Db\\InvalidQueryException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1"},{"error_id":49,"exception_type":"XF\\Db\\Exception","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1054]: Unknown column 'sub_name_format' in 'SELECT'"},{"error_id":50,"exception_type":"XF\\Db\\Exception","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT'"},{"error_id":51,"exception_type":"ErrorException","filename":"Command line code","line":32,"message":"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:32 Stack trace: #0 Command line code(32): XF::handlePhpError(2, '...', '...', 32) #1 {main} thrown"},{"error_id":52,"exception_type":"ErrorException","filename":"Command line code","line":16,"message":"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:16 Stack trace: #0 Command line code(16): XF::handlePhpError(2, '...', '...', 16) #1 {main} thrown"},{"error_id":53,"exception_type":"ErrorException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"Fatal Error: Uncaught XF\\Db\\Exception: MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\Db\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\Db\\Mysqli\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\Db\\Mysqli\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\Db\\Mysqli\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\Db\\AbstractAdapter->query('...', Array) #5 Command line code(11): XF\\Db\\AbstractAdapter->fetchAll('...') #6 {main} thrown"},{"error_id":54,"exception_type":"ErrorException","filename":"src/XF/Service/ValidateAndSavableTrait.php","line":36,"message":"Fatal Error: Uncaught LogicException: Cannot save with validation errors. Use validate() to ensure there are no errors. (First error: Пожалуйста, укажите корректную версию.) in /var/www/forums/newfi/public/src/XF/Service/ValidateAndSavableTrait.php:36 Stack trace: #0 Command line code(4): XFRM\\Service\\ResourceItem\\Create->save() #1 /var/www/forums/newfi/public/src/XF.php(950): {closure}() #2 Command line code(4): XF::asVisitor(Object(XFRM\\XF\\Entity\\User), Object(Closure)) #3 {main} thrown"},{"error_id":55,"exception_type":"ErrorException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"Fatal Error: Uncaught XF\\Db\\Exception: MySQL statement prepare error [1054]: Unknown column 'r.category_id' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\Db\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\Db\\Mysqli\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\Db\\Mysqli\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\Db\\Mysqli\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\Db\\AbstractAdapter->query('...', Array) #5 Command line code(3): XF\\Db\\AbstractAdapter->fetchAll('...') #6 {main} thrown"}]},"event_templates":[{"bytes":643,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
"},{"line":9,"text":" "},{"line":10,"text":" "},{"line":11,"text":"
{$event.title}
"},{"line":12,"text":"
"},{"line":13,"text":"
"},{"line":14,"text":" "},{"line":15,"text":" "}],"sha256":"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543","style_id":0,"template_id":1612,"title":"newfi_events"}],"jobs":[],"navigation_tables":{"xf_navigation":{"count":56,"create":"CREATE TABLE `xf_navigation` (\n `navigation_id` varbinary(50) NOT NULL,\n `parent_navigation_id` varbinary(50) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n `navigation_type_id` varbinary(25) NOT NULL,\n `type_config` mediumtext NOT NULL,\n `condition_expression` mediumblob NOT NULL,\n `condition_setup` mediumblob NOT NULL,\n `data_expression` mediumblob NOT NULL,\n `data_setup` mediumblob NOT NULL,\n `global_setup` mediumblob NOT NULL,\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `default_value` mediumblob NOT NULL,\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\n PRIMARY KEY (`navigation_id`),\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_navigation_type":{"count":3,"create":"CREATE TABLE `xf_navigation_type` (\n `navigation_type_id` varbinary(25) NOT NULL,\n `handler_class` varchar(100) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`navigation_type_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"}},"portal_template":{"bytes":8623,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
Ньюфаундленды · знания · люди
"},{"line":9,"text":"
Дом сообщества ньюфаундлендов
"},{"line":10,"text":"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
"},{"line":11,"text":""},{"line":12,"text":"
"},{"line":17,"text":"
"},{"line":18,"text":" "},{"line":19,"text":""},{"line":20,"text":" "},{"line":21,"text":"
"},{"line":22,"text":" "},{"line":29,"text":""},{"line":30,"text":" "},{"line":31,"text":" "},{"line":32,"text":"
"},{"line":33,"text":" "},{"line":34,"text":" {$thread.title}"},{"line":35,"text":" {$thread.Forum.Node.title}"},{"line":36,"text":" "},{"line":37,"text":" "},{"line":38,"text":" "},{"line":39,"text":"
"},{"line":40,"text":" "},{"line":41,"text":" "},{"line":75,"text":"
"},{"line":76,"text":" "},{"line":77,"text":" "},{"line":78,"text":"
"},{"line":79,"text":" "},{"line":80,"text":" {$resource.title}"},{"line":81,"text":" {$resource.tag_line}"},{"line":82,"text":" "},{"line":83,"text":" "},{"line":84,"text":" "},{"line":85,"text":"
"},{"line":86,"text":" "},{"line":87,"text":" Проверенные материалы появятся здесь после публикации.
"},{"line":88,"text":" "},{"line":89,"text":" Открыть базу знаний"},{"line":90,"text":" "},{"line":91,"text":" "},{"line":92,"text":" База знаний доступна участникам с соответствующими правами."},{"line":93,"text":"
"},{"line":94,"text":" "},{"line":95,"text":" "},{"line":96,"text":""},{"line":97,"text":"
"},{"line":98,"text":" "},{"line":105,"text":""},{"line":106,"text":" "},{"line":107,"text":" "},{"line":108,"text":"
"},{"line":109,"text":" "},{"line":110,"text":" {$event.title}"},{"line":111,"text":" "},{"line":112,"text":"
"},{"line":113,"text":" "},{"line":114,"text":"
"},{"line":115,"text":" "},{"line":116,"text":" "},{"line":120,"text":"
"},{"line":121,"text":" Сообщество"},{"line":122,"text":"
Наши собаки
"},{"line":123,"text":" "},{"line":124,"text":"
Все собаки"},{"line":125,"text":" "},{"line":126,"text":""},{"line":127,"text":" "},{"line":128,"text":"
"},{"line":129,"text":"
"},{"line":130,"text":" "},{"line":131,"text":"
{$dog.full_name}{$dog.name}"},{"line":132,"text":"
{$dog.city}"},{"line":147,"text":"
"},{"line":148,"text":" "},{"line":149,"text":" "},{"line":158,"text":" "},{"line":159,"text":" Фотографии появятся здесь после публикации в галерее.
"},{"line":160,"text":" "},{"line":161,"text":" Открыть галерею"},{"line":162,"text":" "},{"line":163,"text":" "},{"line":164,"text":" Галерея доступна участникам с соответствующими правами."},{"line":165,"text":"
"},{"line":166,"text":" "},{"line":167,"text":" "},{"line":168,"text":"
"},{"line":169,"text":""},{"line":172,"text":" НьюфДом"},{"line":173,"text":" Полезное начинается с живого сообщества
"},{"line":174,"text":" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
"},{"line":175,"text":" "},{"line":176,"text":"
Перейти к форуму"},{"line":177,"text":" "},{"line":178,"text":"
"},{"line":179,"text":""}],"sha256":"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669","style_id":0,"template_id":1610},"schemas":{"xf_newfi_event":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"title","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(100)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"starts_at","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":"draft","Extra":"","Field":"state","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(25)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"fingerprint","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(64)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"created_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"updated_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event` (\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `title` varchar(100) NOT NULL,\n `starts_at` int(10) unsigned NOT NULL,\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\n `fingerprint` varbinary(64) NOT NULL,\n `created_at` int(10) unsigned NOT NULL,\n `updated_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_id`),\n KEY `starts_at` (`starts_at`),\n KEY `state` (`state`),\n KEY `fingerprint` (`fingerprint`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"starts_at","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"starts_at","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"state","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"state","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"fingerprint","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"fingerprint","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"}]},"xf_newfi_event_change":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_change_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"changed_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"change_note","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"text"}],"create":"CREATE TABLE `xf_newfi_event_change` (\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `changed_at` int(10) unsigned NOT NULL,\n `change_note` text NOT NULL,\n PRIMARY KEY (`event_change_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_change_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"}]},"xf_newfi_event_source":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_source_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"source_url","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(500)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"checked_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event_source` (\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `source_url` varchar(500) NOT NULL,\n `checked_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_source_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_source_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"}]}}}}
+NEWFI122R1_PRODUCTION={"files":[{"bytes":1131,"matches":[{"line":1,"text":"table = 'xf_newfi_event';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:Event';"},{"line":14,"text":" $structure->primaryKey = 'event_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],"},{"line":18,"text":" 'starts_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'state' => ["},{"line":20,"text":" 'type' => self::STR,"},{"line":27,"text":" 'updated_at' => ['type' => self::UINT, 'required' => true]"},{"line":28,"text":" ];"},{"line":29,"text":" return $structure;"},{"line":30,"text":" }"},{"line":31,"text":"}"}],"rel":"Entity/Event.php","sha256":"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891"},{"bytes":777,"matches":[{"line":1,"text":"table = 'xf_newfi_event_change';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventChange';"},{"line":14,"text":" $structure->primaryKey = 'event_change_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'changed_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventChange.php","sha256":"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602"},{"bytes":775,"matches":[{"line":1,"text":"table = 'xf_newfi_event_source';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventSource';"},{"line":14,"text":" $structure->primaryKey = 'event_source_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],"},{"line":19,"text":" 'checked_at' => ['type' => self::UINT, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventSource.php","sha256":"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187"},{"bytes":494,"matches":[{"line":1,"text":"finder('Newfi\\Events:Event')"},{"line":12,"text":" ->where('state', 'published')"},{"line":13,"text":" ->order('starts_at', 'ASC')"},{"line":14,"text":" ->order('event_id', 'ASC')"},{"line":15,"text":" ->fetch(100);"},{"line":16,"text":""},{"line":17,"text":" return $this->view('Newfi\\Events:Events', 'newfi_events', ["},{"line":18,"text":" 'events' => $events"},{"line":19,"text":" ]);"},{"line":20,"text":" }"}],"rel":"Pub/Controller/Events.php","sha256":"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b"},{"bytes":79,"matches":[{"line":1,"text":"schemaManager();"},{"line":13,"text":""},{"line":14,"text":" $sm->createTable('xf_newfi_event', function (Create $table)"},{"line":15,"text":" {"},{"line":16,"text":" $table->addColumn('event_id', 'int')->autoIncrement();"},{"line":17,"text":" $table->addColumn('title', 'varchar', 100);"},{"line":18,"text":" $table->addColumn('starts_at', 'int');"},{"line":19,"text":" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');"},{"line":20,"text":" $table->addColumn('fingerprint', 'varbinary', 64);"},{"line":21,"text":" $table->addColumn('created_at', 'int');"},{"line":22,"text":" $table->addColumn('updated_at', 'int');"},{"line":23,"text":" $table->addPrimaryKey('event_id');"},{"line":24,"text":" $table->addKey('starts_at');"},{"line":25,"text":" $table->addKey('state');"},{"line":26,"text":" $table->addKey('fingerprint');"},{"line":27,"text":" });"},{"line":28,"text":""},{"line":29,"text":" $sm->createTable('xf_newfi_event_source', function (Create $table)"},{"line":30,"text":" {"},{"line":31,"text":" $table->addColumn('event_source_id', 'int')->autoIncrement();"},{"line":32,"text":" $table->addColumn('event_id', 'int');"},{"line":33,"text":" $table->addColumn('source_url', 'varchar', 500);"},{"line":34,"text":" $table->addColumn('checked_at', 'int');"},{"line":35,"text":" $table->addPrimaryKey('event_source_id');"},{"line":36,"text":" $table->addKey('event_id');"},{"line":37,"text":" });"},{"line":38,"text":""},{"line":39,"text":" $sm->createTable('xf_newfi_event_change', function (Create $table)"},{"line":40,"text":" {"},{"line":41,"text":" $table->addColumn('event_change_id', 'int')->autoIncrement();"},{"line":42,"text":" $table->addColumn('event_id', 'int');"},{"line":43,"text":" $table->addColumn('changed_at', 'int');"},{"line":44,"text":" $table->addColumn('change_note', 'text');"},{"line":45,"text":" $table->addPrimaryKey('event_change_id');"},{"line":46,"text":" $table->addKey('event_id');"},{"line":47,"text":" });"},{"line":48,"text":""},{"line":58,"text":" {"},{"line":59,"text":" $sm = $this->schemaManager();"},{"line":60,"text":" $sm->dropTable('xf_newfi_event_change');"},{"line":61,"text":" $sm->dropTable('xf_newfi_event_source');"},{"line":62,"text":" $sm->dropTable('xf_newfi_event');"},{"line":63,"text":" return null;"},{"line":64,"text":" }"}],"rel":"Setup.php","sha256":"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b"},{"bytes":144,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" "},{"line":4,"text":""}],"rel":"_data/routes.xml","sha256":"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309"},{"bytes":830,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" События"},{"line":5,"text":""},{"line":8,"text":" "},{"line":9,"text":" "},{"line":10,"text":"
"},{"line":11,"text":" "},{"line":12,"text":" "},{"line":13,"text":"
{$event.title}
"},{"line":14,"text":"
"},{"line":15,"text":"
"},{"line":16,"text":" "},{"line":21,"text":" "},{"line":22,"text":" "},{"line":23,"text":"]]>"},{"line":24,"text":""}],"rel":"_data/templates.xml","sha256":"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c"},{"bytes":397,"matches":[{"line":1,"text":"{"},{"line":2,"text":" \"title\": \"Newfi Events\","},{"line":3,"text":" \"description\": \"Minimal private-staging events/calendar component for the Newfi closed MVP.\","},{"line":4,"text":" \"version_id\": 1000010,"},{"line":5,"text":" \"version_string\": \"1.0.0 Alpha 1\","}],"rel":"addon.json","sha256":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3"}],"ok":true,"role":"production","state":{"addon":{"active":1,"addon_id":"Newfi/Events","json_hash":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3","title":"Newfi Events","version_id":1000010,"version_string":"1.0.0 Alpha 1"},"app_counts":{"drafts":0,"resources":13,"tag_content":39,"tags":33,"updates":13,"versions":13},"board":"1","counts":{"xf_newfi_event":0,"xf_newfi_event_change":0,"xf_newfi_event_source":0},"errors":{"ids":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"old_fp":"737935e0f156defd5fcd89c9e05899bb3577964371bc436e65db7c7e461be69b","rows":[{"error_id":1,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":2,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":3,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":4,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":5,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":6,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":7,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":8,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":9,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":10,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":11,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":12,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":13,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":14,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":15,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":16,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":17,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":18,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":19,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":20,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":21,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":22,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":23,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":24,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":25,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":26,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":27,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":28,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":29,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":30,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":31,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":32,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":33,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":34,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":35,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":36,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":37,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":38,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":39,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":40,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"}]},"event_templates":[{"bytes":643,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
"},{"line":9,"text":" "},{"line":10,"text":" "},{"line":11,"text":"
{$event.title}
"},{"line":12,"text":"
"},{"line":13,"text":"
"},{"line":14,"text":" "},{"line":15,"text":" "}],"sha256":"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543","style_id":0,"template_id":1612,"title":"newfi_events"}],"jobs":[],"navigation_tables":{"xf_navigation":{"count":56,"create":"CREATE TABLE `xf_navigation` (\n `navigation_id` varbinary(50) NOT NULL,\n `parent_navigation_id` varbinary(50) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n `navigation_type_id` varbinary(25) NOT NULL,\n `type_config` mediumtext NOT NULL,\n `condition_expression` mediumblob NOT NULL,\n `condition_setup` mediumblob NOT NULL,\n `data_expression` mediumblob NOT NULL,\n `data_setup` mediumblob NOT NULL,\n `global_setup` mediumblob NOT NULL,\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `default_value` mediumblob NOT NULL,\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\n PRIMARY KEY (`navigation_id`),\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_navigation_type":{"count":3,"create":"CREATE TABLE `xf_navigation_type` (\n `navigation_type_id` varbinary(25) NOT NULL,\n `handler_class` varchar(100) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`navigation_type_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"}},"portal_template":{"bytes":8623,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
Ньюфаундленды · знания · люди
"},{"line":9,"text":"
Дом сообщества ньюфаундлендов
"},{"line":10,"text":"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
"},{"line":11,"text":""},{"line":12,"text":"
"},{"line":17,"text":"
"},{"line":18,"text":" "},{"line":19,"text":""},{"line":20,"text":" "},{"line":21,"text":"
"},{"line":22,"text":" "},{"line":29,"text":""},{"line":30,"text":" "},{"line":31,"text":" "},{"line":32,"text":"
"},{"line":33,"text":" "},{"line":34,"text":" {$thread.title}"},{"line":35,"text":" {$thread.Forum.Node.title}"},{"line":36,"text":" "},{"line":37,"text":" "},{"line":38,"text":" "},{"line":39,"text":"
"},{"line":40,"text":" "},{"line":41,"text":" "},{"line":75,"text":"
"},{"line":76,"text":" "},{"line":77,"text":" "},{"line":78,"text":"
"},{"line":79,"text":" "},{"line":80,"text":" {$resource.title}"},{"line":81,"text":" {$resource.tag_line}"},{"line":82,"text":" "},{"line":83,"text":" "},{"line":84,"text":" "},{"line":85,"text":"
"},{"line":86,"text":" "},{"line":87,"text":" Проверенные материалы появятся здесь после публикации.
"},{"line":88,"text":" "},{"line":89,"text":" Открыть базу знаний"},{"line":90,"text":" "},{"line":91,"text":" "},{"line":92,"text":" База знаний доступна участникам с соответствующими правами."},{"line":93,"text":"
"},{"line":94,"text":" "},{"line":95,"text":" "},{"line":96,"text":""},{"line":97,"text":"
"},{"line":98,"text":" "},{"line":105,"text":""},{"line":106,"text":" "},{"line":107,"text":" "},{"line":108,"text":"
"},{"line":109,"text":" "},{"line":110,"text":" {$event.title}"},{"line":111,"text":" "},{"line":112,"text":"
"},{"line":113,"text":" "},{"line":114,"text":"
"},{"line":115,"text":" "},{"line":116,"text":" "},{"line":120,"text":"
"},{"line":121,"text":" Сообщество"},{"line":122,"text":"
Наши собаки
"},{"line":123,"text":" "},{"line":124,"text":"
Все собаки"},{"line":125,"text":" "},{"line":126,"text":""},{"line":127,"text":" "},{"line":128,"text":"
"},{"line":129,"text":"
"},{"line":130,"text":" "},{"line":131,"text":"
{$dog.full_name}{$dog.name}"},{"line":132,"text":"
{$dog.city}"},{"line":147,"text":"
"},{"line":148,"text":" "},{"line":149,"text":" "},{"line":158,"text":" "},{"line":159,"text":" Фотографии появятся здесь после публикации в галерее.
"},{"line":160,"text":" "},{"line":161,"text":" Открыть галерею"},{"line":162,"text":" "},{"line":163,"text":" "},{"line":164,"text":" Галерея доступна участникам с соответствующими правами."},{"line":165,"text":"
"},{"line":166,"text":" "},{"line":167,"text":" "},{"line":168,"text":"
"},{"line":169,"text":""},{"line":172,"text":" НьюфДом"},{"line":173,"text":" Полезное начинается с живого сообщества
"},{"line":174,"text":" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
"},{"line":175,"text":" "},{"line":176,"text":"
Перейти к форуму"},{"line":177,"text":" "},{"line":178,"text":"
"},{"line":179,"text":""}],"sha256":"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669","style_id":0,"template_id":1610},"schemas":{"xf_newfi_event":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"title","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(100)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"starts_at","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":"draft","Extra":"","Field":"state","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(25)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"fingerprint","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(64)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"created_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"updated_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event` (\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `title` varchar(100) NOT NULL,\n `starts_at` int(10) unsigned NOT NULL,\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\n `fingerprint` varbinary(64) NOT NULL,\n `created_at` int(10) unsigned NOT NULL,\n `updated_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_id`),\n KEY `starts_at` (`starts_at`),\n KEY `state` (`state`),\n KEY `fingerprint` (`fingerprint`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"starts_at","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"starts_at","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"state","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"state","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"fingerprint","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"fingerprint","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"}]},"xf_newfi_event_change":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_change_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"changed_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"change_note","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"text"}],"create":"CREATE TABLE `xf_newfi_event_change` (\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `changed_at` int(10) unsigned NOT NULL,\n `change_note` text NOT NULL,\n PRIMARY KEY (`event_change_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_change_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"}]},"xf_newfi_event_source":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_source_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"source_url","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(500)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"checked_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event_source` (\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `source_url` varchar(500) NOT NULL,\n `checked_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_source_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_source_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"}]}}}}
+NEWFI122R1_PUBLIC={"events_no_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events"},"events_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events/"},"portal":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/"}}
+NEWFI122R1_SAFE_REPORT={"changes_made":false,"decision":"PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED","event_counts":{"xf_newfi_event":0,"xf_newfi_event_change":0,"xf_newfi_event_source":0},"event_templates":1,"git_head":"a13361297ba22f9745bb64aac4ed90849242955a","portal_template_sha":"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669","public":{"events_no_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events"},"events_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events/"},"portal":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/"}},"source_files":9}
+NEWFI122R1_DECISION=PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED
+NEWFI122R1_NEXT_GATE=DESIGN_EVENTS208_FULL_UI_FROM_EXACT_SCHEMA
+
+OUTPUT_END
+CHAT_OUTPUT_END
diff --git a/runtime/latest.json b/runtime/latest.json
index c75f6867..ec473db5 100644
--- a/runtime/latest.json
+++ b/runtime/latest.json
@@ -1,38 +1,38 @@
{
"schema_version": 1,
"channel": "homelab-runtime",
- "command_id": "SUPPORT-260919-HOME-GRAM1-FINAL-REPAIR-STAFF-HBAR-APPLY-586R1",
+ "command_id": "NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1",
"status": "OK",
"rc": 0,
"host": "pve01",
- "mode": "change",
- "component": "home-gram1-final-repair-staff-hbar-apply",
- "started_at_utc": "2026-09-18T23:45:45Z",
- "finished_at_utc": "2026-09-18T23:47:31Z",
+ "mode": "read-only",
+ "component": "newfi-newfdom-events208-full-ui-foundation-audit-readonly-r1-php-linted",
+ "started_at_utc": "2026-09-18T23:47:33Z",
+ "finished_at_utc": "2026-09-18T23:47:37Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
- "command_sha256": "f533176c9ba0cb4a4a65cf28ae609ce3b316f57fe2e71a136b321eeff54068a1",
+ "command_sha256": "0c8ad785f454cccfac01e122c4b6dd81990c193c83ad7d8708f218a016ff4ed6",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
- "change_declared": true,
+ "change_declared": false,
"result_contract_valid": true,
- "result_contract_status": "OK",
+ "result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
- "changes_made": true,
+ "changes_made": false,
"rollback_started": false,
"rollback_restored": null,
- "mutation_outcome": "MUTATED",
+ "mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
- "raw_evidence_sha256": "4f7bfce990d60bd715c1403519bea17d0a12f39d68a94d3b8489caf7be6ea6d9",
- "sanitized_output_sha256": "4f7bfce990d60bd715c1403519bea17d0a12f39d68a94d3b8489caf7be6ea6d9",
+ "raw_evidence_sha256": "c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282",
+ "sanitized_output_sha256": "c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
- "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nEDGE_RAW_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"EDGE_BACKEND=backup|200\\nEDGE_BACKEND=proxmox|401\\nEDGE_BACKEND=nextcloud|200\\nEDGE_BACKEND=netbird|200\\nEDGE_BACKEND=hbarhub|200\\nEDGE_ENDPOINT=npmplus|200\\nEDGE_ENDPOINT=backup-health|200\\nEDGE_ENDPOINT=proxmox|200\\nEDGE_ENDPOINT=nextcloud|200\\nEDGE_ENDPOINT=netbird|200\\nEDGE_ENDPOINT=hbarhub|200\\nEDGE_NEW_SHA256=69bd5816d27d14529aef5cafc3f9caf69bb4e6ac6cd04a444272680c8fadb560\\nEDGE_APPLY=OK\\n\",\n \"out-truncated\" : 0\n}\n\nEDGE_RAW_END\nCORE_RAW_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"CORE_PREFLIGHT=backup|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=proxmox|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=nextcloud|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=netbird|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=hbarhub|status=200|rc=0|attempt=2\\nCORE_PREFLIGHT=chat|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=newfilya|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=CodeVipe Staff|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=GameVipe Staff|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=HKMods Staff|status=200|rc=0|attempt=1\\nCORE_PREFLIGHT=Zakrutim Staff|status=200|rc=0|attempt=2\\nCORE_PREFLIGHT=DSMods Staff|status=200|rc=0|attempt=2\\nCORE_PREFLIGHT=Newfi Staff|status=200|rc=0|attempt=2\\nCORE_PREFLIGHT=KingOfWolk Staff|status=200|rc=0|attempt=1\\nCORE_LOCAL_HOME_HTTP=200\\nFINAL_MONITOR=Authentik|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Vaultwarden|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Gitea|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Backup Health|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Uptime Kuma|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Grafana|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Prometheus|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Alertmanager|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Dozzle|status=200|rc=0|attempt=1\\nFINAL_MONITOR=ntfy|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Gotify|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Healthchecks|status=200|rc=0|attempt=1\\nFINAL_MONITOR=NPMplus|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Proxmox pve01|status=200|rc=0|attempt=1\\nFINAL_MONITOR=MinIO Console|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Filebrowser|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Gram Crypto|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Chat|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Nextcloud|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Immich|status=200|rc=0|attempt=1\\nFINAL_MONITOR=AdGuard DNS1|status=200|rc=0|attempt=1\\nFINAL_MONITOR=AdGuard DNS2|status=200|rc=0|attempt=1\\nFINAL_MONITOR=SmartApe|status=200|rc=0|attempt=1\\nFINAL_MONITOR=NetBird|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Cloudflare|status=403|rc=0|attempt=1\\nFINAL_MONITOR=AlexHost Billing|status=200|rc=0|attempt=1\\nFINAL_MONITOR=РоÑÑÐµÑ ÐоÑква|status=200|rc=0|attempt=1\\nFINAL_MONITOR=РоÑÑÐµÑ Ð´Ð°Ñа|status=200|rc=0|attempt=1\\nFINAL_MONITOR=XenForo.info|status=200|rc=0|attempt=1\\nFINAL_MONITOR=CodeVipe|status=200|rc=0|attempt=1\\nFINAL_MONITOR=GameVipe|status=200|rc=0|attempt=1\\nFINAL_MONITOR=HKMods|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Zakrutim|status=200|rc=0|attempt=1\\nFINAL_MONITOR=DSMods|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Newfi|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Hapusya|status=200|rc=0|attempt=1\\nFINAL_MONITOR=KingOfWolk|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Gram1|status=200|rc=0|attempt=1\\nFINAL_MONITOR=PVEPro|status=200|rc=0|attempt=1\\nFINAL_MONITOR=TaftAuto|status=200|rc=0|attempt=1\\nFINAL_MONITOR=NewFilya|status=200|rc=0|attempt=1\\nFINAL_MONITOR=HBAR Hub|status=200|rc=0|attempt=1\\nFINAL_MONITOR=CodeVipe Staff|status=200|rc=0|attempt=1\\nFINAL_MONITOR=GameVipe Staff|status=200|rc=0|attempt=1\\nFINAL_MONITOR=HKMods Staff|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Zakrutim Staff|status=200|rc=0|attempt=1\\nFINAL_MONITOR=DSMods Staff|status=200|rc=0|attempt=1\\nFINAL_MONITOR=Newfi Staff|status=200|rc=0|attempt=1\\nFINAL_MONITOR=KingOfWolk Staff|status=200|rc=0|attempt=1\\nFINAL_MONITOR_BAD_COUNT=0\\nHOMEPAGE_CONFIG_ERROR_LINES=0\\nCORE_NEW_SHA256=3ec4d293189fd97d33bb5b1e5b383572832f57d36bf3daa0647339a2ac5eb5e3\\nCORE_CARD_COUNT=49\\nCORE_STAFF_COUNT=7\\nCORE_MISSING_SITEMONITOR=0\\nCORE_MAIL_PRESENT=false\\nCORE_PAPERLESS_PRESENT=false\\nCORE_APPLY=OK\\n\",\n \"out-truncated\" : 0\n}\n\nCORE_RAW_END\nPUBLIC_HOME_HTTP=200\nHOME586R1_NEXT_GATE=VALIDATE_NEW_WINDOWS_PC\nHOME586R1_DECISION=PASS_FINAL_HOME_REPAIR_7_STAFF_HBAR\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260919-HOME-GRAM1-FINAL-REPAIR-STAFF-HBAR-APPLY-586R1\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n"
+ "output": "NEWFI122R1_BEGIN\nCOMMAND_ID=NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1\nNEWFI122R1_GIT={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"clean\":true,\"head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"remotes\":[{\"head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"remote\":\"origin\"}]}\nNEWFI122R1_WORKTREE_FILES=[{\"bytes\":1131,\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"rel\":\"Pub/View/Events.php\",\"sha256\":\"dabbfabaa95bfb8105cea2123827f3433a29f618347dd8f1551124ccaea2a0b2\"},{\"bytes\":2129,\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"rel\":\"_data/routes.xml\",\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\"},{\"bytes\":830,\"rel\":\"_data/templates.xml\",\"sha256\":\"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c\"},{\"bytes\":397,\"rel\":\"addon.json\",\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\"}]\nNEWFI122R1_STAGING={\"files\":[{\"bytes\":1131,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:Event';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],\"},{\"line\":18,\"text\":\" 'starts_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'state' => [\"},{\"line\":20,\"text\":\" 'type' => self::STR,\"},{\"line\":27,\"text\":\" 'updated_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":28,\"text\":\" ];\"},{\"line\":29,\"text\":\" return $structure;\"},{\"line\":30,\"text\":\" }\"},{\"line\":31,\"text\":\"}\"}],\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_change';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventChange';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_change_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'changed_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_source';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventSource';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_source_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],\"},{\"line\":19,\"text\":\" 'checked_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"matches\":[{\"line\":1,\"text\":\"finder('Newfi\\\\Events:Event')\"},{\"line\":12,\"text\":\" ->where('state', 'published')\"},{\"line\":13,\"text\":\" ->order('starts_at', 'ASC')\"},{\"line\":14,\"text\":\" ->order('event_id', 'ASC')\"},{\"line\":15,\"text\":\" ->fetch(100);\"},{\"line\":16,\"text\":\"\"},{\"line\":17,\"text\":\" return $this->view('Newfi\\\\Events:Events', 'newfi_events', [\"},{\"line\":18,\"text\":\" 'events' => $events\"},{\"line\":19,\"text\":\" ]);\"},{\"line\":20,\"text\":\" }\"}],\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"matches\":[{\"line\":1,\"text\":\"schemaManager();\"},{\"line\":13,\"text\":\"\"},{\"line\":14,\"text\":\" $sm->createTable('xf_newfi_event', function (Create $table)\"},{\"line\":15,\"text\":\" {\"},{\"line\":16,\"text\":\" $table->addColumn('event_id', 'int')->autoIncrement();\"},{\"line\":17,\"text\":\" $table->addColumn('title', 'varchar', 100);\"},{\"line\":18,\"text\":\" $table->addColumn('starts_at', 'int');\"},{\"line\":19,\"text\":\" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');\"},{\"line\":20,\"text\":\" $table->addColumn('fingerprint', 'varbinary', 64);\"},{\"line\":21,\"text\":\" $table->addColumn('created_at', 'int');\"},{\"line\":22,\"text\":\" $table->addColumn('updated_at', 'int');\"},{\"line\":23,\"text\":\" $table->addPrimaryKey('event_id');\"},{\"line\":24,\"text\":\" $table->addKey('starts_at');\"},{\"line\":25,\"text\":\" $table->addKey('state');\"},{\"line\":26,\"text\":\" $table->addKey('fingerprint');\"},{\"line\":27,\"text\":\" });\"},{\"line\":28,\"text\":\"\"},{\"line\":29,\"text\":\" $sm->createTable('xf_newfi_event_source', function (Create $table)\"},{\"line\":30,\"text\":\" {\"},{\"line\":31,\"text\":\" $table->addColumn('event_source_id', 'int')->autoIncrement();\"},{\"line\":32,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":33,\"text\":\" $table->addColumn('source_url', 'varchar', 500);\"},{\"line\":34,\"text\":\" $table->addColumn('checked_at', 'int');\"},{\"line\":35,\"text\":\" $table->addPrimaryKey('event_source_id');\"},{\"line\":36,\"text\":\" $table->addKey('event_id');\"},{\"line\":37,\"text\":\" });\"},{\"line\":38,\"text\":\"\"},{\"line\":39,\"text\":\" $sm->createTable('xf_newfi_event_change', function (Create $table)\"},{\"line\":40,\"text\":\" {\"},{\"line\":41,\"text\":\" $table->addColumn('event_change_id', 'int')->autoIncrement();\"},{\"line\":42,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":43,\"text\":\" $table->addColumn('changed_at', 'int');\"},{\"line\":44,\"text\":\" $table->addColumn('change_note', 'text');\"},{\"line\":45,\"text\":\" $table->addPrimaryKey('event_change_id');\"},{\"line\":46,\"text\":\" $table->addKey('event_id');\"},{\"line\":47,\"text\":\" });\"},{\"line\":48,\"text\":\"\"},{\"line\":58,\"text\":\" {\"},{\"line\":59,\"text\":\" $sm = $this->schemaManager();\"},{\"line\":60,\"text\":\" $sm->dropTable('xf_newfi_event_change');\"},{\"line\":61,\"text\":\" $sm->dropTable('xf_newfi_event_source');\"},{\"line\":62,\"text\":\" $sm->dropTable('xf_newfi_event');\"},{\"line\":63,\"text\":\" return null;\"},{\"line\":64,\"text\":\" }\"}],\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" \"},{\"line\":4,\"text\":\"\"}],\"rel\":\"_data/routes.xml\",\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\"},{\"bytes\":830,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" События\"},{\"line\":5,\"text\":\"\"},{\"line\":8,\"text\":\" \"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\"
\"},{\"line\":11,\"text\":\" \"},{\"line\":12,\"text\":\" \"},{\"line\":13,\"text\":\"
{$event.title}
\"},{\"line\":14,\"text\":\"
\"},{\"line\":15,\"text\":\"
\"},{\"line\":16,\"text\":\" \"},{\"line\":21,\"text\":\" \"},{\"line\":22,\"text\":\" \"},{\"line\":23,\"text\":\"]]>\"},{\"line\":24,\"text\":\"\"}],\"rel\":\"_data/templates.xml\",\"sha256\":\"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c\"},{\"bytes\":397,\"matches\":[{\"line\":1,\"text\":\"{\"},{\"line\":2,\"text\":\" \\\"title\\\": \\\"Newfi Events\\\",\"},{\"line\":3,\"text\":\" \\\"description\\\": \\\"Minimal private-staging events/calendar component for the Newfi closed MVP.\\\",\"},{\"line\":4,\"text\":\" \\\"version_id\\\": 1000010,\"},{\"line\":5,\"text\":\" \\\"version_string\\\": \\\"1.0.0 Alpha 1\\\",\"}],\"rel\":\"addon.json\",\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\"}],\"ok\":true,\"role\":\"staging\",\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Newfi/Events\",\"json_hash\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\",\"title\":\"Newfi Events\",\"version_id\":1000010,\"version_string\":\"1.0.0 Alpha 1\"},\"app_counts\":{\"drafts\":0,\"resources\":13,\"tag_content\":39,\"tags\":33,\"updates\":13,\"versions\":13},\"board\":\"0\",\"counts\":{\"xf_newfi_event\":0,\"xf_newfi_event_change\":0,\"xf_newfi_event_source\":0},\"errors\":{\"ids\":[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],\"old_fp\":\"e739c2c309539a508e20eba89b0ebc688640ef6ff9f919bbb419b2faad819f80\",\"rows\":[{\"error_id\":33,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":34,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":35,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":36,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":37,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":38,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":39,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":40,\"exception_type\":\"XF\\\\CssRenderException\",\"filename\":\"src/XF/CssRenderException.php\",\"line\":89,\"message\":\"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)\"},{\"error_id\":41,\"exception_type\":\"XF\\\\PrintableException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":1276,\"message\":\"Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal\"},{\"error_id\":42,\"exception_type\":\"LogicException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":645,\"message\":\"Attempted to set 'type' while a save was pending without forceSet\"},{\"error_id\":43,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":1276,\"message\":\"Fatal Error: Uncaught XF\\\\PrintableException: Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal in /var/www/forums/newfi/public/src/XF/Mvc/Entity/Entity.php:1276 Stack trace: #0 Command line code(31): XF\\\\Mvc\\\\Entity\\\\Entity->save(true, false) #1 {main} thrown\"},{\"error_id\":44,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"Fatal Error: Uncaught XF\\\\Db\\\\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\\\\'Gram/Support\\\\'' at line 1 in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\\\Db\\\\AbstractStatement->getException('...', 1064, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\\\Db\\\\Mysqli\\\\Statement->getException('...', 1064, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\\\Db\\\\Mysqli\\\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\\\Db\\\\Mysqli\\\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(152): XF\\\\Db\\\\AbstractAdapter->query('...', Array) #5 Command line code(1): XF\\\\Db\\\\AbstractAdapter->fetchOne('...') #6 {main} thrown\"},{\"error_id\":45,\"exception_type\":\"XF\\\\PrintableException\",\"filename\":\"src/XF/Mvc/Entity/Entity.php\",\"line\":1276,\"message\":\"Пожалуйста, введите корректный префикс роутинга.\"},{\"error_id\":46,\"exception_type\":\"ErrorException\",\"filename\":\"Command line code\",\"line\":5,\"message\":\"Fatal Error: Uncaught ReflectionException: Method XF\\\\AddOn\\\\AbstractSetup::applyGlobalPermissionByGroup() does not exist in Command line code:5 Stack trace: #0 Command line code(5): ReflectionMethod->__construct('...', '...') #1 {main} thrown\"},{\"error_id\":47,\"exception_type\":\"XF\\\\Db\\\\InvalidQueryException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1\"},{\"error_id\":48,\"exception_type\":\"XF\\\\Db\\\\InvalidQueryException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1\"},{\"error_id\":49,\"exception_type\":\"XF\\\\Db\\\\Exception\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1054]: Unknown column 'sub_name_format' in 'SELECT'\"},{\"error_id\":50,\"exception_type\":\"XF\\\\Db\\\\Exception\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT'\"},{\"error_id\":51,\"exception_type\":\"ErrorException\",\"filename\":\"Command line code\",\"line\":32,\"message\":\"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:32 Stack trace: #0 Command line code(32): XF::handlePhpError(2, '...', '...', 32) #1 {main} thrown\"},{\"error_id\":52,\"exception_type\":\"ErrorException\",\"filename\":\"Command line code\",\"line\":16,\"message\":\"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:16 Stack trace: #0 Command line code(16): XF::handlePhpError(2, '...', '...', 16) #1 {main} thrown\"},{\"error_id\":53,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"Fatal Error: Uncaught XF\\\\Db\\\\Exception: MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\\\Db\\\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\\\Db\\\\Mysqli\\\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\\\Db\\\\Mysqli\\\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\\\Db\\\\Mysqli\\\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\\\Db\\\\AbstractAdapter->query('...', Array) #5 Command line code(11): XF\\\\Db\\\\AbstractAdapter->fetchAll('...') #6 {main} thrown\"},{\"error_id\":54,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Service/ValidateAndSavableTrait.php\",\"line\":36,\"message\":\"Fatal Error: Uncaught LogicException: Cannot save with validation errors. Use validate() to ensure there are no errors. (First error: Пожалуйста, укажите корректную версию.) in /var/www/forums/newfi/public/src/XF/Service/ValidateAndSavableTrait.php:36 Stack trace: #0 Command line code(4): XFRM\\\\Service\\\\ResourceItem\\\\Create->save() #1 /var/www/forums/newfi/public/src/XF.php(950): {closure}() #2 Command line code(4): XF::asVisitor(Object(XFRM\\\\XF\\\\Entity\\\\User), Object(Closure)) #3 {main} thrown\"},{\"error_id\":55,\"exception_type\":\"ErrorException\",\"filename\":\"src/XF/Db/AbstractStatement.php\",\"line\":225,\"message\":\"Fatal Error: Uncaught XF\\\\Db\\\\Exception: MySQL statement prepare error [1054]: Unknown column 'r.category_id' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\\\Db\\\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\\\Db\\\\Mysqli\\\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\\\Db\\\\Mysqli\\\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\\\Db\\\\Mysqli\\\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\\\Db\\\\AbstractAdapter->query('...', Array) #5 Command line code(3): XF\\\\Db\\\\AbstractAdapter->fetchAll('...') #6 {main} thrown\"}]},\"event_templates\":[{\"bytes\":643,\"matches\":[{\"line\":6,\"text\":\" \"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
\"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\" \"},{\"line\":11,\"text\":\"
{$event.title}
\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\" \"},{\"line\":15,\"text\":\" \"}],\"sha256\":\"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543\",\"style_id\":0,\"template_id\":1612,\"title\":\"newfi_events\"}],\"jobs\":[],\"navigation_tables\":{\"xf_navigation\":{\"count\":56,\"create\":\"CREATE TABLE `xf_navigation` (\\n `navigation_id` varbinary(50) NOT NULL,\\n `parent_navigation_id` varbinary(50) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `type_config` mediumtext NOT NULL,\\n `condition_expression` mediumblob NOT NULL,\\n `condition_setup` mediumblob NOT NULL,\\n `data_expression` mediumblob NOT NULL,\\n `data_setup` mediumblob NOT NULL,\\n `global_setup` mediumblob NOT NULL,\\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `default_value` mediumblob NOT NULL,\\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\\n PRIMARY KEY (`navigation_id`),\\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_navigation_type\":{\"count\":3,\"create\":\"CREATE TABLE `xf_navigation_type` (\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `handler_class` varchar(100) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`navigation_type_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"}},\"portal_template\":{\"bytes\":8623,\"matches\":[{\"line\":6,\"text\":\" \"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
Ньюфаундленды · знания · люди
\"},{\"line\":9,\"text\":\"
Дом сообщества ньюфаундлендов
\"},{\"line\":10,\"text\":\"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
\"},{\"line\":11,\"text\":\"\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
К обсуждениям\"},{\"line\":14,\"text\":\"
События\"},{\"line\":15,\"text\":\"
Собаки\"},{\"line\":16,\"text\":\"
\"},{\"line\":17,\"text\":\"
\"},{\"line\":18,\"text\":\" \"},{\"line\":19,\"text\":\"\"},{\"line\":20,\"text\":\" \"},{\"line\":21,\"text\":\"
\"},{\"line\":22,\"text\":\" \"},{\"line\":29,\"text\":\"\"},{\"line\":30,\"text\":\" \"},{\"line\":31,\"text\":\" \"},{\"line\":32,\"text\":\"
\"},{\"line\":33,\"text\":\" \"},{\"line\":34,\"text\":\" {$thread.title}\"},{\"line\":35,\"text\":\" {$thread.Forum.Node.title}\"},{\"line\":36,\"text\":\" \"},{\"line\":37,\"text\":\" \"},{\"line\":38,\"text\":\" \"},{\"line\":39,\"text\":\"
\"},{\"line\":40,\"text\":\" \"},{\"line\":41,\"text\":\" \"},{\"line\":75,\"text\":\"
\"},{\"line\":76,\"text\":\" \"},{\"line\":77,\"text\":\" \"},{\"line\":78,\"text\":\"
\"},{\"line\":79,\"text\":\" \"},{\"line\":80,\"text\":\" {$resource.title}\"},{\"line\":81,\"text\":\" {$resource.tag_line}\"},{\"line\":82,\"text\":\" \"},{\"line\":83,\"text\":\" \"},{\"line\":84,\"text\":\" \"},{\"line\":85,\"text\":\"
\"},{\"line\":86,\"text\":\" \"},{\"line\":87,\"text\":\" Проверенные материалы появятся здесь после публикации.
\"},{\"line\":88,\"text\":\" \"},{\"line\":89,\"text\":\" Открыть базу знаний\"},{\"line\":90,\"text\":\" \"},{\"line\":91,\"text\":\" \"},{\"line\":92,\"text\":\" База знаний доступна участникам с соответствующими правами.\"},{\"line\":93,\"text\":\"
\"},{\"line\":94,\"text\":\" \"},{\"line\":95,\"text\":\" \"},{\"line\":96,\"text\":\"\"},{\"line\":97,\"text\":\"
\"},{\"line\":98,\"text\":\" \"},{\"line\":105,\"text\":\"\"},{\"line\":106,\"text\":\" \"},{\"line\":107,\"text\":\" \"},{\"line\":108,\"text\":\"
\"},{\"line\":109,\"text\":\" \"},{\"line\":110,\"text\":\" {$event.title}\"},{\"line\":111,\"text\":\" \"},{\"line\":112,\"text\":\"
\"},{\"line\":113,\"text\":\" \"},{\"line\":114,\"text\":\"
\"},{\"line\":115,\"text\":\" \"},{\"line\":116,\"text\":\" \"},{\"line\":120,\"text\":\"
\"},{\"line\":121,\"text\":\" Сообщество\"},{\"line\":122,\"text\":\"
Наши собаки
\"},{\"line\":123,\"text\":\" \"},{\"line\":124,\"text\":\"
Все собаки\"},{\"line\":125,\"text\":\" \"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\" \"},{\"line\":128,\"text\":\"
\"},{\"line\":129,\"text\":\"
\"},{\"line\":130,\"text\":\" \"},{\"line\":131,\"text\":\"
{$dog.full_name}{$dog.name}\"},{\"line\":132,\"text\":\"
{$dog.city}\"},{\"line\":147,\"text\":\"
\"},{\"line\":148,\"text\":\" \"},{\"line\":149,\"text\":\" \"},{\"line\":158,\"text\":\" \"},{\"line\":159,\"text\":\" Фотографии появятся здесь после публикации в галерее.
\"},{\"line\":160,\"text\":\" \"},{\"line\":161,\"text\":\" Открыть галерею\"},{\"line\":162,\"text\":\" \"},{\"line\":163,\"text\":\" \"},{\"line\":164,\"text\":\" Галерея доступна участникам с соответствующими правами.\"},{\"line\":165,\"text\":\"
\"},{\"line\":166,\"text\":\" \"},{\"line\":167,\"text\":\" \"},{\"line\":168,\"text\":\"
\"},{\"line\":169,\"text\":\"\"},{\"line\":172,\"text\":\" НьюфДом\"},{\"line\":173,\"text\":\" Полезное начинается с живого сообщества
\"},{\"line\":174,\"text\":\" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
\"},{\"line\":175,\"text\":\" \"},{\"line\":176,\"text\":\"
Перейти к форуму\"},{\"line\":177,\"text\":\" \"},{\"line\":178,\"text\":\"
\"},{\"line\":179,\"text\":\"\"}],\"sha256\":\"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669\",\"style_id\":0,\"template_id\":1610},\"schemas\":{\"xf_newfi_event\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"title\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(100)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"starts_at\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":\"draft\",\"Extra\":\"\",\"Field\":\"state\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(25)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"fingerprint\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(64)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"created_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"updated_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event` (\\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `title` varchar(100) NOT NULL,\\n `starts_at` int(10) unsigned NOT NULL,\\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\\n `fingerprint` varbinary(64) NOT NULL,\\n `created_at` int(10) unsigned NOT NULL,\\n `updated_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_id`),\\n KEY `starts_at` (`starts_at`),\\n KEY `state` (`state`),\\n KEY `fingerprint` (`fingerprint`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"starts_at\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"starts_at\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"state\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"state\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"fingerprint\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"fingerprint\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"}]},\"xf_newfi_event_change\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_change_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"changed_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"change_note\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"text\"}],\"create\":\"CREATE TABLE `xf_newfi_event_change` (\\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `changed_at` int(10) unsigned NOT NULL,\\n `change_note` text NOT NULL,\\n PRIMARY KEY (`event_change_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_change_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"}]},\"xf_newfi_event_source\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_source_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"source_url\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(500)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"checked_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event_source` (\\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `source_url` varchar(500) NOT NULL,\\n `checked_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_source_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_source_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"}]}}}}\nNEWFI122R1_PRODUCTION={\"files\":[{\"bytes\":1131,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:Event';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],\"},{\"line\":18,\"text\":\" 'starts_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'state' => [\"},{\"line\":20,\"text\":\" 'type' => self::STR,\"},{\"line\":27,\"text\":\" 'updated_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":28,\"text\":\" ];\"},{\"line\":29,\"text\":\" return $structure;\"},{\"line\":30,\"text\":\" }\"},{\"line\":31,\"text\":\"}\"}],\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_change';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventChange';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_change_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'changed_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_source';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventSource';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_source_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],\"},{\"line\":19,\"text\":\" 'checked_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"matches\":[{\"line\":1,\"text\":\"finder('Newfi\\\\Events:Event')\"},{\"line\":12,\"text\":\" ->where('state', 'published')\"},{\"line\":13,\"text\":\" ->order('starts_at', 'ASC')\"},{\"line\":14,\"text\":\" ->order('event_id', 'ASC')\"},{\"line\":15,\"text\":\" ->fetch(100);\"},{\"line\":16,\"text\":\"\"},{\"line\":17,\"text\":\" return $this->view('Newfi\\\\Events:Events', 'newfi_events', [\"},{\"line\":18,\"text\":\" 'events' => $events\"},{\"line\":19,\"text\":\" ]);\"},{\"line\":20,\"text\":\" }\"}],\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"matches\":[{\"line\":1,\"text\":\"schemaManager();\"},{\"line\":13,\"text\":\"\"},{\"line\":14,\"text\":\" $sm->createTable('xf_newfi_event', function (Create $table)\"},{\"line\":15,\"text\":\" {\"},{\"line\":16,\"text\":\" $table->addColumn('event_id', 'int')->autoIncrement();\"},{\"line\":17,\"text\":\" $table->addColumn('title', 'varchar', 100);\"},{\"line\":18,\"text\":\" $table->addColumn('starts_at', 'int');\"},{\"line\":19,\"text\":\" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');\"},{\"line\":20,\"text\":\" $table->addColumn('fingerprint', 'varbinary', 64);\"},{\"line\":21,\"text\":\" $table->addColumn('created_at', 'int');\"},{\"line\":22,\"text\":\" $table->addColumn('updated_at', 'int');\"},{\"line\":23,\"text\":\" $table->addPrimaryKey('event_id');\"},{\"line\":24,\"text\":\" $table->addKey('starts_at');\"},{\"line\":25,\"text\":\" $table->addKey('state');\"},{\"line\":26,\"text\":\" $table->addKey('fingerprint');\"},{\"line\":27,\"text\":\" });\"},{\"line\":28,\"text\":\"\"},{\"line\":29,\"text\":\" $sm->createTable('xf_newfi_event_source', function (Create $table)\"},{\"line\":30,\"text\":\" {\"},{\"line\":31,\"text\":\" $table->addColumn('event_source_id', 'int')->autoIncrement();\"},{\"line\":32,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":33,\"text\":\" $table->addColumn('source_url', 'varchar', 500);\"},{\"line\":34,\"text\":\" $table->addColumn('checked_at', 'int');\"},{\"line\":35,\"text\":\" $table->addPrimaryKey('event_source_id');\"},{\"line\":36,\"text\":\" $table->addKey('event_id');\"},{\"line\":37,\"text\":\" });\"},{\"line\":38,\"text\":\"\"},{\"line\":39,\"text\":\" $sm->createTable('xf_newfi_event_change', function (Create $table)\"},{\"line\":40,\"text\":\" {\"},{\"line\":41,\"text\":\" $table->addColumn('event_change_id', 'int')->autoIncrement();\"},{\"line\":42,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":43,\"text\":\" $table->addColumn('changed_at', 'int');\"},{\"line\":44,\"text\":\" $table->addColumn('change_note', 'text');\"},{\"line\":45,\"text\":\" $table->addPrimaryKey('event_change_id');\"},{\"line\":46,\"text\":\" $table->addKey('event_id');\"},{\"line\":47,\"text\":\" });\"},{\"line\":48,\"text\":\"\"},{\"line\":58,\"text\":\" {\"},{\"line\":59,\"text\":\" $sm = $this->schemaManager();\"},{\"line\":60,\"text\":\" $sm->dropTable('xf_newfi_event_change');\"},{\"line\":61,\"text\":\" $sm->dropTable('xf_newfi_event_source');\"},{\"line\":62,\"text\":\" $sm->dropTable('xf_newfi_event');\"},{\"line\":63,\"text\":\" return null;\"},{\"line\":64,\"text\":\" }\"}],\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" \"},{\"line\":4,\"text\":\"\"}],\"rel\":\"_data/routes.xml\",\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\"},{\"bytes\":830,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\" События\"},{\"line\":5,\"text\":\"\"},{\"line\":8,\"text\":\" \"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\"
\"},{\"line\":11,\"text\":\" \"},{\"line\":12,\"text\":\" \"},{\"line\":13,\"text\":\"
{$event.title}
\"},{\"line\":14,\"text\":\"
\"},{\"line\":15,\"text\":\"
\"},{\"line\":16,\"text\":\" \"},{\"line\":21,\"text\":\" \"},{\"line\":22,\"text\":\" \"},{\"line\":23,\"text\":\"]]>\"},{\"line\":24,\"text\":\"\"}],\"rel\":\"_data/templates.xml\",\"sha256\":\"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c\"},{\"bytes\":397,\"matches\":[{\"line\":1,\"text\":\"{\"},{\"line\":2,\"text\":\" \\\"title\\\": \\\"Newfi Events\\\",\"},{\"line\":3,\"text\":\" \\\"description\\\": \\\"Minimal private-staging events/calendar component for the Newfi closed MVP.\\\",\"},{\"line\":4,\"text\":\" \\\"version_id\\\": 1000010,\"},{\"line\":5,\"text\":\" \\\"version_string\\\": \\\"1.0.0 Alpha 1\\\",\"}],\"rel\":\"addon.json\",\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\"}],\"ok\":true,\"role\":\"production\",\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Newfi/Events\",\"json_hash\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\",\"title\":\"Newfi Events\",\"version_id\":1000010,\"version_string\":\"1.0.0 Alpha 1\"},\"app_counts\":{\"drafts\":0,\"resources\":13,\"tag_content\":39,\"tags\":33,\"updates\":13,\"versions\":13},\"board\":\"1\",\"counts\":{\"xf_newfi_event\":0,\"xf_newfi_event_change\":0,\"xf_newfi_event_source\":0},\"errors\":{\"ids\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],\"old_fp\":\"737935e0f156defd5fcd89c9e05899bb3577964371bc436e65db7c7e461be69b\",\"rows\":[{\"error_id\":1,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":2,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":3,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":4,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":5,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":6,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":7,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":8,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":9,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":10,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":11,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":12,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":13,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":14,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":15,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":16,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":17,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":18,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":19,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":20,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":21,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":22,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":23,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":24,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":25,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":26,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":27,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":28,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":29,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":30,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":31,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":32,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":33,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":34,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":35,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":36,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":37,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":38,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":39,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"},{\"error_id\":40,\"exception_type\":\"TypeError\",\"filename\":\"src/XF/Job/ContentIndexNow.php\",\"line\":51,\"message\":\"XF\\\\Job\\\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given\"}]},\"event_templates\":[{\"bytes\":643,\"matches\":[{\"line\":6,\"text\":\" \"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
\"},{\"line\":9,\"text\":\" \"},{\"line\":10,\"text\":\" \"},{\"line\":11,\"text\":\"
{$event.title}
\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\" \"},{\"line\":15,\"text\":\" \"}],\"sha256\":\"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543\",\"style_id\":0,\"template_id\":1612,\"title\":\"newfi_events\"}],\"jobs\":[],\"navigation_tables\":{\"xf_navigation\":{\"count\":56,\"create\":\"CREATE TABLE `xf_navigation` (\\n `navigation_id` varbinary(50) NOT NULL,\\n `parent_navigation_id` varbinary(50) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `type_config` mediumtext NOT NULL,\\n `condition_expression` mediumblob NOT NULL,\\n `condition_setup` mediumblob NOT NULL,\\n `data_expression` mediumblob NOT NULL,\\n `data_setup` mediumblob NOT NULL,\\n `global_setup` mediumblob NOT NULL,\\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `default_value` mediumblob NOT NULL,\\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\\n PRIMARY KEY (`navigation_id`),\\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_navigation_type\":{\"count\":3,\"create\":\"CREATE TABLE `xf_navigation_type` (\\n `navigation_type_id` varbinary(25) NOT NULL,\\n `handler_class` varchar(100) NOT NULL,\\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`navigation_type_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"}},\"portal_template\":{\"bytes\":8623,\"matches\":[{\"line\":6,\"text\":\" \"},{\"line\":7,\"text\":\" \"},{\"line\":8,\"text\":\"
Ньюфаундленды · знания · люди
\"},{\"line\":9,\"text\":\"
Дом сообщества ньюфаундлендов
\"},{\"line\":10,\"text\":\"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
\"},{\"line\":11,\"text\":\"\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
К обсуждениям\"},{\"line\":14,\"text\":\"
События\"},{\"line\":15,\"text\":\"
Собаки\"},{\"line\":16,\"text\":\"
\"},{\"line\":17,\"text\":\"
\"},{\"line\":18,\"text\":\" \"},{\"line\":19,\"text\":\"\"},{\"line\":20,\"text\":\" \"},{\"line\":21,\"text\":\"
\"},{\"line\":22,\"text\":\" \"},{\"line\":29,\"text\":\"\"},{\"line\":30,\"text\":\" \"},{\"line\":31,\"text\":\" \"},{\"line\":32,\"text\":\"
\"},{\"line\":33,\"text\":\" \"},{\"line\":34,\"text\":\" {$thread.title}\"},{\"line\":35,\"text\":\" {$thread.Forum.Node.title}\"},{\"line\":36,\"text\":\" \"},{\"line\":37,\"text\":\" \"},{\"line\":38,\"text\":\" \"},{\"line\":39,\"text\":\"
\"},{\"line\":40,\"text\":\" \"},{\"line\":41,\"text\":\" \"},{\"line\":75,\"text\":\"
\"},{\"line\":76,\"text\":\" \"},{\"line\":77,\"text\":\" \"},{\"line\":78,\"text\":\"
\"},{\"line\":79,\"text\":\" \"},{\"line\":80,\"text\":\" {$resource.title}\"},{\"line\":81,\"text\":\" {$resource.tag_line}\"},{\"line\":82,\"text\":\" \"},{\"line\":83,\"text\":\" \"},{\"line\":84,\"text\":\" \"},{\"line\":85,\"text\":\"
\"},{\"line\":86,\"text\":\" \"},{\"line\":87,\"text\":\" Проверенные материалы появятся здесь после публикации.
\"},{\"line\":88,\"text\":\" \"},{\"line\":89,\"text\":\" Открыть базу знаний\"},{\"line\":90,\"text\":\" \"},{\"line\":91,\"text\":\" \"},{\"line\":92,\"text\":\" База знаний доступна участникам с соответствующими правами.\"},{\"line\":93,\"text\":\"
\"},{\"line\":94,\"text\":\" \"},{\"line\":95,\"text\":\" \"},{\"line\":96,\"text\":\"\"},{\"line\":97,\"text\":\"
\"},{\"line\":98,\"text\":\" \"},{\"line\":105,\"text\":\"\"},{\"line\":106,\"text\":\" \"},{\"line\":107,\"text\":\" \"},{\"line\":108,\"text\":\"
\"},{\"line\":109,\"text\":\" \"},{\"line\":110,\"text\":\" {$event.title}\"},{\"line\":111,\"text\":\" \"},{\"line\":112,\"text\":\"
\"},{\"line\":113,\"text\":\" \"},{\"line\":114,\"text\":\"
\"},{\"line\":115,\"text\":\" \"},{\"line\":116,\"text\":\" \"},{\"line\":120,\"text\":\"
\"},{\"line\":121,\"text\":\" Сообщество\"},{\"line\":122,\"text\":\"
Наши собаки
\"},{\"line\":123,\"text\":\" \"},{\"line\":124,\"text\":\"
Все собаки\"},{\"line\":125,\"text\":\" \"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\" \"},{\"line\":128,\"text\":\"
\"},{\"line\":129,\"text\":\"
\"},{\"line\":130,\"text\":\" \"},{\"line\":131,\"text\":\"
{$dog.full_name}{$dog.name}\"},{\"line\":132,\"text\":\"
{$dog.city}\"},{\"line\":147,\"text\":\"
\"},{\"line\":148,\"text\":\" \"},{\"line\":149,\"text\":\" \"},{\"line\":158,\"text\":\" \"},{\"line\":159,\"text\":\" Фотографии появятся здесь после публикации в галерее.
\"},{\"line\":160,\"text\":\" \"},{\"line\":161,\"text\":\" Открыть галерею\"},{\"line\":162,\"text\":\" \"},{\"line\":163,\"text\":\" \"},{\"line\":164,\"text\":\" Галерея доступна участникам с соответствующими правами.\"},{\"line\":165,\"text\":\"
\"},{\"line\":166,\"text\":\" \"},{\"line\":167,\"text\":\" \"},{\"line\":168,\"text\":\"
\"},{\"line\":169,\"text\":\"\"},{\"line\":172,\"text\":\" НьюфДом\"},{\"line\":173,\"text\":\" Полезное начинается с живого сообщества
\"},{\"line\":174,\"text\":\" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
\"},{\"line\":175,\"text\":\" \"},{\"line\":176,\"text\":\"
Перейти к форуму\"},{\"line\":177,\"text\":\" \"},{\"line\":178,\"text\":\"
\"},{\"line\":179,\"text\":\"\"}],\"sha256\":\"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669\",\"style_id\":0,\"template_id\":1610},\"schemas\":{\"xf_newfi_event\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"title\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(100)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"starts_at\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":\"draft\",\"Extra\":\"\",\"Field\":\"state\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(25)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"fingerprint\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varbinary(64)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"created_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"updated_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event` (\\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `title` varchar(100) NOT NULL,\\n `starts_at` int(10) unsigned NOT NULL,\\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\\n `fingerprint` varbinary(64) NOT NULL,\\n `created_at` int(10) unsigned NOT NULL,\\n `updated_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_id`),\\n KEY `starts_at` (`starts_at`),\\n KEY `state` (`state`),\\n KEY `fingerprint` (`fingerprint`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"starts_at\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"starts_at\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"state\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"state\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"fingerprint\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"fingerprint\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event\"}]},\"xf_newfi_event_change\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_change_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"changed_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"change_note\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"text\"}],\"create\":\"CREATE TABLE `xf_newfi_event_change` (\\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `changed_at` int(10) unsigned NOT NULL,\\n `change_note` text NOT NULL,\\n PRIMARY KEY (`event_change_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_change_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_change\"}]},\"xf_newfi_event_source\":{\"columns\":[{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"auto_increment\",\"Field\":\"event_source_id\",\"Key\":\"PRI\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"event_id\",\"Key\":\"MUL\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"},{\"Collation\":\"utf8mb4_general_ci\",\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"source_url\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"varchar(500)\"},{\"Collation\":null,\"Comment\":\"\",\"Default\":null,\"Extra\":\"\",\"Field\":\"checked_at\",\"Key\":\"\",\"Null\":\"NO\",\"Privileges\":\"select,insert,update,references\",\"Type\":\"int(10) unsigned\"}],\"create\":\"CREATE TABLE `xf_newfi_event_source` (\\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `event_id` int(10) unsigned NOT NULL,\\n `source_url` varchar(500) NOT NULL,\\n `checked_at` int(10) unsigned NOT NULL,\\n PRIMARY KEY (`event_source_id`),\\n KEY `event_id` (`event_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\",\"indexes\":[{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_source_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"PRIMARY\",\"Non_unique\":0,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"},{\"Cardinality\":0,\"Collation\":\"A\",\"Column_name\":\"event_id\",\"Comment\":\"\",\"Ignored\":\"NO\",\"Index_comment\":\"\",\"Index_type\":\"BTREE\",\"Key_name\":\"event_id\",\"Non_unique\":1,\"Null\":\"\",\"Packed\":null,\"Seq_in_index\":1,\"Sub_part\":null,\"Table\":\"xf_newfi_event_source\"}]}}}}\nNEWFI122R1_PUBLIC={\"events_no_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events\"},\"events_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events/\"},\"portal\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/\"}}\nNEWFI122R1_SAFE_REPORT={\"changes_made\":false,\"decision\":\"PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED\",\"event_counts\":{\"xf_newfi_event\":0,\"xf_newfi_event_change\":0,\"xf_newfi_event_source\":0},\"event_templates\":1,\"git_head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"portal_template_sha\":\"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669\",\"public\":{\"events_no_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events\"},\"events_slash\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/events/\"},\"portal\":{\"http\":\"200\",\"rc\":0,\"stderr\":\"\",\"url\":\"https://newfi.ru/\"}},\"source_files\":9}\nNEWFI122R1_DECISION=PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED\nNEWFI122R1_NEXT_GATE=DESIGN_EVENTS208_FULL_UI_FROM_EXACT_SCHEMA\n"
}
diff --git a/runtime/latest.txt b/runtime/latest.txt
index bd48d684..725f9d01 100644
--- a/runtime/latest.txt
+++ b/runtime/latest.txt
@@ -1,56 +1,42 @@
CHAT_OUTPUT_BEGIN
-COMMAND_ID=SUPPORT-260919-HOME-GRAM1-FINAL-REPAIR-STAFF-HBAR-APPLY-586R1
+COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1
STATUS=OK
RC=0
HOST=pve01
-MODE=change
-COMPONENT=home-gram1-final-repair-staff-hbar-apply
+MODE=read-only
+COMPONENT=newfi-newfdom-events208-full-ui-foundation-audit-readonly-r1-php-linted
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
-COMMAND_SHA256=f533176c9ba0cb4a4a65cf28ae609ce3b316f57fe2e71a136b321eeff54068a1
+COMMAND_SHA256=0c8ad785f454cccfac01e122c4b6dd81990c193c83ad7d8708f218a016ff4ed6
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
-CHANGE_DECLARED=true
+CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
-RESULT_CONTRACT_STATUS=OK
+RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
-CHANGES_MADE=true
+CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
-MUTATION_OUTCOME=MUTATED
+MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
-RAW_EVIDENCE_SHA256=4f7bfce990d60bd715c1403519bea17d0a12f39d68a94d3b8489caf7be6ea6d9
-SANITIZED_OUTPUT_SHA256=4f7bfce990d60bd715c1403519bea17d0a12f39d68a94d3b8489caf7be6ea6d9
+RAW_EVIDENCE_SHA256=c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282
+SANITIZED_OUTPUT_SHA256=c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282
OUTPUT_BEGIN
-ERROR_REGISTER_CHECK=OK
-REFERENCE_CHECK=OK
-EDGE_RAW_BEGIN
-{
- "exitcode" : 0,
- "exited" : 1,
- "out-data" : "EDGE_BACKEND=backup|200\nEDGE_BACKEND=proxmox|401\nEDGE_BACKEND=nextcloud|200\nEDGE_BACKEND=netbird|200\nEDGE_BACKEND=hbarhub|200\nEDGE_ENDPOINT=npmplus|200\nEDGE_ENDPOINT=backup-health|200\nEDGE_ENDPOINT=proxmox|200\nEDGE_ENDPOINT=nextcloud|200\nEDGE_ENDPOINT=netbird|200\nEDGE_ENDPOINT=hbarhub|200\nEDGE_NEW_SHA256=69bd5816d27d14529aef5cafc3f9caf69bb4e6ac6cd04a444272680c8fadb560\nEDGE_APPLY=OK\n",
- "out-truncated" : 0
-}
-
-EDGE_RAW_END
-CORE_RAW_BEGIN
-{
- "exitcode" : 0,
- "exited" : 1,
- "out-data" : "CORE_PREFLIGHT=backup|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=proxmox|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=nextcloud|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=netbird|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=hbarhub|status=200|rc=0|attempt=2\nCORE_PREFLIGHT=chat|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=newfilya|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=CodeVipe Staff|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=GameVipe Staff|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=HKMods Staff|status=200|rc=0|attempt=1\nCORE_PREFLIGHT=Zakrutim Staff|status=200|rc=0|attempt=2\nCORE_PREFLIGHT=DSMods Staff|status=200|rc=0|attempt=2\nCORE_PREFLIGHT=Newfi Staff|status=200|rc=0|attempt=2\nCORE_PREFLIGHT=KingOfWolk Staff|status=200|rc=0|attempt=1\nCORE_LOCAL_HOME_HTTP=200\nFINAL_MONITOR=Authentik|status=200|rc=0|attempt=1\nFINAL_MONITOR=Vaultwarden|status=200|rc=0|attempt=1\nFINAL_MONITOR=Gitea|status=200|rc=0|attempt=1\nFINAL_MONITOR=Backup Health|status=200|rc=0|attempt=1\nFINAL_MONITOR=Uptime Kuma|status=200|rc=0|attempt=1\nFINAL_MONITOR=Grafana|status=200|rc=0|attempt=1\nFINAL_MONITOR=Prometheus|status=200|rc=0|attempt=1\nFINAL_MONITOR=Alertmanager|status=200|rc=0|attempt=1\nFINAL_MONITOR=Dozzle|status=200|rc=0|attempt=1\nFINAL_MONITOR=ntfy|status=200|rc=0|attempt=1\nFINAL_MONITOR=Gotify|status=200|rc=0|attempt=1\nFINAL_MONITOR=Healthchecks|status=200|rc=0|attempt=1\nFINAL_MONITOR=NPMplus|status=200|rc=0|attempt=1\nFINAL_MONITOR=Proxmox pve01|status=200|rc=0|attempt=1\nFINAL_MONITOR=MinIO Console|status=200|rc=0|attempt=1\nFINAL_MONITOR=Filebrowser|status=200|rc=0|attempt=1\nFINAL_MONITOR=Gram Crypto|status=200|rc=0|attempt=1\nFINAL_MONITOR=Chat|status=200|rc=0|attempt=1\nFINAL_MONITOR=Nextcloud|status=200|rc=0|attempt=1\nFINAL_MONITOR=Immich|status=200|rc=0|attempt=1\nFINAL_MONITOR=AdGuard DNS1|status=200|rc=0|attempt=1\nFINAL_MONITOR=AdGuard DNS2|status=200|rc=0|attempt=1\nFINAL_MONITOR=SmartApe|status=200|rc=0|attempt=1\nFINAL_MONITOR=NetBird|status=200|rc=0|attempt=1\nFINAL_MONITOR=Cloudflare|status=403|rc=0|attempt=1\nFINAL_MONITOR=AlexHost Billing|status=200|rc=0|attempt=1\nFINAL_MONITOR=РоÑÑÐµÑ ÐоÑква|status=200|rc=0|attempt=1\nFINAL_MONITOR=РоÑÑÐµÑ Ð´Ð°Ñа|status=200|rc=0|attempt=1\nFINAL_MONITOR=XenForo.info|status=200|rc=0|attempt=1\nFINAL_MONITOR=CodeVipe|status=200|rc=0|attempt=1\nFINAL_MONITOR=GameVipe|status=200|rc=0|attempt=1\nFINAL_MONITOR=HKMods|status=200|rc=0|attempt=1\nFINAL_MONITOR=Zakrutim|status=200|rc=0|attempt=1\nFINAL_MONITOR=DSMods|status=200|rc=0|attempt=1\nFINAL_MONITOR=Newfi|status=200|rc=0|attempt=1\nFINAL_MONITOR=Hapusya|status=200|rc=0|attempt=1\nFINAL_MONITOR=KingOfWolk|status=200|rc=0|attempt=1\nFINAL_MONITOR=Gram1|status=200|rc=0|attempt=1\nFINAL_MONITOR=PVEPro|status=200|rc=0|attempt=1\nFINAL_MONITOR=TaftAuto|status=200|rc=0|attempt=1\nFINAL_MONITOR=NewFilya|status=200|rc=0|attempt=1\nFINAL_MONITOR=HBAR Hub|status=200|rc=0|attempt=1\nFINAL_MONITOR=CodeVipe Staff|status=200|rc=0|attempt=1\nFINAL_MONITOR=GameVipe Staff|status=200|rc=0|attempt=1\nFINAL_MONITOR=HKMods Staff|status=200|rc=0|attempt=1\nFINAL_MONITOR=Zakrutim Staff|status=200|rc=0|attempt=1\nFINAL_MONITOR=DSMods Staff|status=200|rc=0|attempt=1\nFINAL_MONITOR=Newfi Staff|status=200|rc=0|attempt=1\nFINAL_MONITOR=KingOfWolk Staff|status=200|rc=0|attempt=1\nFINAL_MONITOR_BAD_COUNT=0\nHOMEPAGE_CONFIG_ERROR_LINES=0\nCORE_NEW_SHA256=3ec4d293189fd97d33bb5b1e5b383572832f57d36bf3daa0647339a2ac5eb5e3\nCORE_CARD_COUNT=49\nCORE_STAFF_COUNT=7\nCORE_MISSING_SITEMONITOR=0\nCORE_MAIL_PRESENT=false\nCORE_PAPERLESS_PRESENT=false\nCORE_APPLY=OK\n",
- "out-truncated" : 0
-}
-
-CORE_RAW_END
-PUBLIC_HOME_HTTP=200
-HOME586R1_NEXT_GATE=VALIDATE_NEW_WINDOWS_PC
-HOME586R1_DECISION=PASS_FINAL_HOME_REPAIR_7_STAFF_HBAR
-HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260919-HOME-GRAM1-FINAL-REPAIR-STAFF-HBAR-APPLY-586R1","status":"OK","changes_made":true,"rollback_started":false,"rollback_restored":null}
+NEWFI122R1_BEGIN
+COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1
+NEWFI122R1_GIT={"branch":"implementation/newfi-closed-mvp-20260906","clean":true,"head":"a13361297ba22f9745bb64aac4ed90849242955a","remotes":[{"head":"a13361297ba22f9745bb64aac4ed90849242955a","remote":"origin"}]}
+NEWFI122R1_WORKTREE_FILES=[{"bytes":1131,"rel":"Entity/Event.php","sha256":"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891"},{"bytes":777,"rel":"Entity/EventChange.php","sha256":"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602"},{"bytes":775,"rel":"Entity/EventSource.php","sha256":"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187"},{"bytes":494,"rel":"Pub/Controller/Events.php","sha256":"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b"},{"bytes":79,"rel":"Pub/View/Events.php","sha256":"dabbfabaa95bfb8105cea2123827f3433a29f618347dd8f1551124ccaea2a0b2"},{"bytes":2129,"rel":"Setup.php","sha256":"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b"},{"bytes":144,"rel":"_data/routes.xml","sha256":"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309"},{"bytes":830,"rel":"_data/templates.xml","sha256":"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c"},{"bytes":397,"rel":"addon.json","sha256":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3"}]
+NEWFI122R1_STAGING={"files":[{"bytes":1131,"matches":[{"line":1,"text":"table = 'xf_newfi_event';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:Event';"},{"line":14,"text":" $structure->primaryKey = 'event_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],"},{"line":18,"text":" 'starts_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'state' => ["},{"line":20,"text":" 'type' => self::STR,"},{"line":27,"text":" 'updated_at' => ['type' => self::UINT, 'required' => true]"},{"line":28,"text":" ];"},{"line":29,"text":" return $structure;"},{"line":30,"text":" }"},{"line":31,"text":"}"}],"rel":"Entity/Event.php","sha256":"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891"},{"bytes":777,"matches":[{"line":1,"text":"table = 'xf_newfi_event_change';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventChange';"},{"line":14,"text":" $structure->primaryKey = 'event_change_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'changed_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventChange.php","sha256":"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602"},{"bytes":775,"matches":[{"line":1,"text":"table = 'xf_newfi_event_source';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventSource';"},{"line":14,"text":" $structure->primaryKey = 'event_source_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],"},{"line":19,"text":" 'checked_at' => ['type' => self::UINT, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventSource.php","sha256":"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187"},{"bytes":494,"matches":[{"line":1,"text":"finder('Newfi\\Events:Event')"},{"line":12,"text":" ->where('state', 'published')"},{"line":13,"text":" ->order('starts_at', 'ASC')"},{"line":14,"text":" ->order('event_id', 'ASC')"},{"line":15,"text":" ->fetch(100);"},{"line":16,"text":""},{"line":17,"text":" return $this->view('Newfi\\Events:Events', 'newfi_events', ["},{"line":18,"text":" 'events' => $events"},{"line":19,"text":" ]);"},{"line":20,"text":" }"}],"rel":"Pub/Controller/Events.php","sha256":"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b"},{"bytes":79,"matches":[{"line":1,"text":"schemaManager();"},{"line":13,"text":""},{"line":14,"text":" $sm->createTable('xf_newfi_event', function (Create $table)"},{"line":15,"text":" {"},{"line":16,"text":" $table->addColumn('event_id', 'int')->autoIncrement();"},{"line":17,"text":" $table->addColumn('title', 'varchar', 100);"},{"line":18,"text":" $table->addColumn('starts_at', 'int');"},{"line":19,"text":" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');"},{"line":20,"text":" $table->addColumn('fingerprint', 'varbinary', 64);"},{"line":21,"text":" $table->addColumn('created_at', 'int');"},{"line":22,"text":" $table->addColumn('updated_at', 'int');"},{"line":23,"text":" $table->addPrimaryKey('event_id');"},{"line":24,"text":" $table->addKey('starts_at');"},{"line":25,"text":" $table->addKey('state');"},{"line":26,"text":" $table->addKey('fingerprint');"},{"line":27,"text":" });"},{"line":28,"text":""},{"line":29,"text":" $sm->createTable('xf_newfi_event_source', function (Create $table)"},{"line":30,"text":" {"},{"line":31,"text":" $table->addColumn('event_source_id', 'int')->autoIncrement();"},{"line":32,"text":" $table->addColumn('event_id', 'int');"},{"line":33,"text":" $table->addColumn('source_url', 'varchar', 500);"},{"line":34,"text":" $table->addColumn('checked_at', 'int');"},{"line":35,"text":" $table->addPrimaryKey('event_source_id');"},{"line":36,"text":" $table->addKey('event_id');"},{"line":37,"text":" });"},{"line":38,"text":""},{"line":39,"text":" $sm->createTable('xf_newfi_event_change', function (Create $table)"},{"line":40,"text":" {"},{"line":41,"text":" $table->addColumn('event_change_id', 'int')->autoIncrement();"},{"line":42,"text":" $table->addColumn('event_id', 'int');"},{"line":43,"text":" $table->addColumn('changed_at', 'int');"},{"line":44,"text":" $table->addColumn('change_note', 'text');"},{"line":45,"text":" $table->addPrimaryKey('event_change_id');"},{"line":46,"text":" $table->addKey('event_id');"},{"line":47,"text":" });"},{"line":48,"text":""},{"line":58,"text":" {"},{"line":59,"text":" $sm = $this->schemaManager();"},{"line":60,"text":" $sm->dropTable('xf_newfi_event_change');"},{"line":61,"text":" $sm->dropTable('xf_newfi_event_source');"},{"line":62,"text":" $sm->dropTable('xf_newfi_event');"},{"line":63,"text":" return null;"},{"line":64,"text":" }"}],"rel":"Setup.php","sha256":"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b"},{"bytes":144,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" "},{"line":4,"text":""}],"rel":"_data/routes.xml","sha256":"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309"},{"bytes":830,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" События"},{"line":5,"text":""},{"line":8,"text":" "},{"line":9,"text":" "},{"line":10,"text":"
"},{"line":11,"text":" "},{"line":12,"text":" "},{"line":13,"text":"
{$event.title}
"},{"line":14,"text":"
"},{"line":15,"text":"
"},{"line":16,"text":" "},{"line":21,"text":" "},{"line":22,"text":" "},{"line":23,"text":"]]>"},{"line":24,"text":""}],"rel":"_data/templates.xml","sha256":"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c"},{"bytes":397,"matches":[{"line":1,"text":"{"},{"line":2,"text":" \"title\": \"Newfi Events\","},{"line":3,"text":" \"description\": \"Minimal private-staging events/calendar component for the Newfi closed MVP.\","},{"line":4,"text":" \"version_id\": 1000010,"},{"line":5,"text":" \"version_string\": \"1.0.0 Alpha 1\","}],"rel":"addon.json","sha256":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3"}],"ok":true,"role":"staging","state":{"addon":{"active":1,"addon_id":"Newfi/Events","json_hash":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3","title":"Newfi Events","version_id":1000010,"version_string":"1.0.0 Alpha 1"},"app_counts":{"drafts":0,"resources":13,"tag_content":39,"tags":33,"updates":13,"versions":13},"board":"0","counts":{"xf_newfi_event":0,"xf_newfi_event_change":0,"xf_newfi_event_source":0},"errors":{"ids":[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],"old_fp":"e739c2c309539a508e20eba89b0ebc688640ef6ff9f919bbb419b2faad819f80","rows":[{"error_id":33,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)"},{"error_id":34,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)"},{"error_id":35,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)"},{"error_id":36,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)"},{"error_id":37,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:variations.less: ParseError: Unexpected input in public:variations.less on line 849, column 34 (on or near line 849)"},{"error_id":38,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:core.less: ParseError: Unexpected input in public:core.less on line 849, column 34 (on or near line 849)"},{"error_id":39,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:app.less: ParseError: Unexpected input in public:app.less on line 849, column 34 (on or near line 849)"},{"error_id":40,"exception_type":"XF\\CssRenderException","filename":"src/XF/CssRenderException.php","line":89,"message":"Error rendering template public:extra.less: ParseError: Unexpected input in public:extra.less on line 849, column 34 (on or near line 849)"},{"error_id":41,"exception_type":"XF\\PrintableException","filename":"src/XF/Mvc/Entity/Entity.php","line":1276,"message":"Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal"},{"error_id":42,"exception_type":"LogicException","filename":"src/XF/Mvc/Entity/Entity.php","line":645,"message":"Attempted to set 'type' while a save was pending without forceSet"},{"error_id":43,"exception_type":"ErrorException","filename":"src/XF/Mvc/Entity/Entity.php","line":1276,"message":"Fatal Error: Uncaught XF\\PrintableException: Строка 111: Ошибка синтаксиса - Название шаблона: public:newfi_portal in /var/www/forums/newfi/public/src/XF/Mvc/Entity/Entity.php:1276 Stack trace: #0 Command line code(31): XF\\Mvc\\Entity\\Entity->save(true, false) #1 {main} thrown"},{"error_id":44,"exception_type":"ErrorException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"Fatal Error: Uncaught XF\\Db\\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\\'Gram/Support\\'' at line 1 in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\Db\\AbstractStatement->getException('...', 1064, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\Db\\Mysqli\\Statement->getException('...', 1064, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\Db\\Mysqli\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\Db\\Mysqli\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(152): XF\\Db\\AbstractAdapter->query('...', Array) #5 Command line code(1): XF\\Db\\AbstractAdapter->fetchOne('...') #6 {main} thrown"},{"error_id":45,"exception_type":"XF\\PrintableException","filename":"src/XF/Mvc/Entity/Entity.php","line":1276,"message":"Пожалуйста, введите корректный префикс роутинга."},{"error_id":46,"exception_type":"ErrorException","filename":"Command line code","line":5,"message":"Fatal Error: Uncaught ReflectionException: Method XF\\AddOn\\AbstractSetup::applyGlobalPermissionByGroup() does not exist in Command line code:5 Stack trace: #0 Command line code(5): ReflectionMethod->__construct('...', '...') #1 {main} thrown"},{"error_id":47,"exception_type":"XF\\Db\\InvalidQueryException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1"},{"error_id":48,"exception_type":"XF\\Db\\InvalidQueryException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'enabled FROM xf_template_modification WHERE addon_id = ? ORDER BY modificatio...' at line 1"},{"error_id":49,"exception_type":"XF\\Db\\Exception","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1054]: Unknown column 'sub_name_format' in 'SELECT'"},{"error_id":50,"exception_type":"XF\\Db\\Exception","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT'"},{"error_id":51,"exception_type":"ErrorException","filename":"Command line code","line":32,"message":"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:32 Stack trace: #0 Command line code(32): XF::handlePhpError(2, '...', '...', 32) #1 {main} thrown"},{"error_id":52,"exception_type":"ErrorException","filename":"Command line code","line":16,"message":"Fatal Error: Uncaught ErrorException: [E_WARNING] Trying to access array offset on false in Command line code:16 Stack trace: #0 Command line code(16): XF::handlePhpError(2, '...', '...', 16) #1 {main} thrown"},{"error_id":53,"exception_type":"ErrorException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"Fatal Error: Uncaught XF\\Db\\Exception: MySQL statement prepare error [1054]: Unknown column 'display_in_list' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\Db\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\Db\\Mysqli\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\Db\\Mysqli\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\Db\\Mysqli\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\Db\\AbstractAdapter->query('...', Array) #5 Command line code(11): XF\\Db\\AbstractAdapter->fetchAll('...') #6 {main} thrown"},{"error_id":54,"exception_type":"ErrorException","filename":"src/XF/Service/ValidateAndSavableTrait.php","line":36,"message":"Fatal Error: Uncaught LogicException: Cannot save with validation errors. Use validate() to ensure there are no errors. (First error: Пожалуйста, укажите корректную версию.) in /var/www/forums/newfi/public/src/XF/Service/ValidateAndSavableTrait.php:36 Stack trace: #0 Command line code(4): XFRM\\Service\\ResourceItem\\Create->save() #1 /var/www/forums/newfi/public/src/XF.php(950): {closure}() #2 Command line code(4): XF::asVisitor(Object(XFRM\\XF\\Entity\\User), Object(Closure)) #3 {main} thrown"},{"error_id":55,"exception_type":"ErrorException","filename":"src/XF/Db/AbstractStatement.php","line":225,"message":"Fatal Error: Uncaught XF\\Db\\Exception: MySQL statement prepare error [1054]: Unknown column 'r.category_id' in 'SELECT' in /var/www/forums/newfi/public/src/XF/Db/AbstractStatement.php:225 Stack trace: #0 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(207): XF\\Db\\AbstractStatement->getException('...', 1054, '...') #1 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(43): XF\\Db\\Mysqli\\Statement->getException('...', 1054, '...') #2 /var/www/forums/newfi/public/src/XF/Db/Mysqli/Statement.php(61): XF\\Db\\Mysqli\\Statement->prepare() #3 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(96): XF\\Db\\Mysqli\\Statement->execute() #4 /var/www/forums/newfi/public/src/XF/Db/AbstractAdapter.php(157): XF\\Db\\AbstractAdapter->query('...', Array) #5 Command line code(3): XF\\Db\\AbstractAdapter->fetchAll('...') #6 {main} thrown"}]},"event_templates":[{"bytes":643,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
"},{"line":9,"text":" "},{"line":10,"text":" "},{"line":11,"text":"
{$event.title}
"},{"line":12,"text":"
"},{"line":13,"text":"
"},{"line":14,"text":" "},{"line":15,"text":" "}],"sha256":"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543","style_id":0,"template_id":1612,"title":"newfi_events"}],"jobs":[],"navigation_tables":{"xf_navigation":{"count":56,"create":"CREATE TABLE `xf_navigation` (\n `navigation_id` varbinary(50) NOT NULL,\n `parent_navigation_id` varbinary(50) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n `navigation_type_id` varbinary(25) NOT NULL,\n `type_config` mediumtext NOT NULL,\n `condition_expression` mediumblob NOT NULL,\n `condition_setup` mediumblob NOT NULL,\n `data_expression` mediumblob NOT NULL,\n `data_setup` mediumblob NOT NULL,\n `global_setup` mediumblob NOT NULL,\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `default_value` mediumblob NOT NULL,\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\n PRIMARY KEY (`navigation_id`),\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_navigation_type":{"count":3,"create":"CREATE TABLE `xf_navigation_type` (\n `navigation_type_id` varbinary(25) NOT NULL,\n `handler_class` varchar(100) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`navigation_type_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"}},"portal_template":{"bytes":8623,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
Ньюфаундленды · знания · люди
"},{"line":9,"text":"
Дом сообщества ньюфаундлендов
"},{"line":10,"text":"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
"},{"line":11,"text":""},{"line":12,"text":"
"},{"line":17,"text":"
"},{"line":18,"text":" "},{"line":19,"text":""},{"line":20,"text":" "},{"line":21,"text":"
"},{"line":22,"text":" "},{"line":29,"text":""},{"line":30,"text":" "},{"line":31,"text":" "},{"line":32,"text":"
"},{"line":33,"text":" "},{"line":34,"text":" {$thread.title}"},{"line":35,"text":" {$thread.Forum.Node.title}"},{"line":36,"text":" "},{"line":37,"text":" "},{"line":38,"text":" "},{"line":39,"text":"
"},{"line":40,"text":" "},{"line":41,"text":" "},{"line":75,"text":"
"},{"line":76,"text":" "},{"line":77,"text":" "},{"line":78,"text":"
"},{"line":79,"text":" "},{"line":80,"text":" {$resource.title}"},{"line":81,"text":" {$resource.tag_line}"},{"line":82,"text":" "},{"line":83,"text":" "},{"line":84,"text":" "},{"line":85,"text":"
"},{"line":86,"text":" "},{"line":87,"text":" Проверенные материалы появятся здесь после публикации.
"},{"line":88,"text":" "},{"line":89,"text":" Открыть базу знаний"},{"line":90,"text":" "},{"line":91,"text":" "},{"line":92,"text":" База знаний доступна участникам с соответствующими правами."},{"line":93,"text":"
"},{"line":94,"text":" "},{"line":95,"text":" "},{"line":96,"text":""},{"line":97,"text":"
"},{"line":98,"text":" "},{"line":105,"text":""},{"line":106,"text":" "},{"line":107,"text":" "},{"line":108,"text":"
"},{"line":109,"text":" "},{"line":110,"text":" {$event.title}"},{"line":111,"text":" "},{"line":112,"text":"
"},{"line":113,"text":" "},{"line":114,"text":"
"},{"line":115,"text":" "},{"line":116,"text":" "},{"line":120,"text":"
"},{"line":121,"text":" Сообщество"},{"line":122,"text":"
Наши собаки
"},{"line":123,"text":" "},{"line":124,"text":"
Все собаки"},{"line":125,"text":" "},{"line":126,"text":""},{"line":127,"text":" "},{"line":128,"text":"
"},{"line":129,"text":"
"},{"line":130,"text":" "},{"line":131,"text":"
{$dog.full_name}{$dog.name}"},{"line":132,"text":"
{$dog.city}"},{"line":147,"text":"
"},{"line":148,"text":" "},{"line":149,"text":" "},{"line":158,"text":" "},{"line":159,"text":" Фотографии появятся здесь после публикации в галерее.
"},{"line":160,"text":" "},{"line":161,"text":" Открыть галерею"},{"line":162,"text":" "},{"line":163,"text":" "},{"line":164,"text":" Галерея доступна участникам с соответствующими правами."},{"line":165,"text":"
"},{"line":166,"text":" "},{"line":167,"text":" "},{"line":168,"text":"
"},{"line":169,"text":""},{"line":172,"text":" НьюфДом"},{"line":173,"text":" Полезное начинается с живого сообщества
"},{"line":174,"text":" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
"},{"line":175,"text":" "},{"line":176,"text":"
Перейти к форуму"},{"line":177,"text":" "},{"line":178,"text":"
"},{"line":179,"text":""}],"sha256":"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669","style_id":0,"template_id":1610},"schemas":{"xf_newfi_event":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"title","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(100)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"starts_at","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":"draft","Extra":"","Field":"state","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(25)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"fingerprint","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(64)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"created_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"updated_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event` (\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `title` varchar(100) NOT NULL,\n `starts_at` int(10) unsigned NOT NULL,\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\n `fingerprint` varbinary(64) NOT NULL,\n `created_at` int(10) unsigned NOT NULL,\n `updated_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_id`),\n KEY `starts_at` (`starts_at`),\n KEY `state` (`state`),\n KEY `fingerprint` (`fingerprint`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"starts_at","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"starts_at","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"state","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"state","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"fingerprint","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"fingerprint","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"}]},"xf_newfi_event_change":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_change_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"changed_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"change_note","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"text"}],"create":"CREATE TABLE `xf_newfi_event_change` (\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `changed_at` int(10) unsigned NOT NULL,\n `change_note` text NOT NULL,\n PRIMARY KEY (`event_change_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_change_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"}]},"xf_newfi_event_source":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_source_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"source_url","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(500)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"checked_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event_source` (\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `source_url` varchar(500) NOT NULL,\n `checked_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_source_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_source_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"}]}}}}
+NEWFI122R1_PRODUCTION={"files":[{"bytes":1131,"matches":[{"line":1,"text":"table = 'xf_newfi_event';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:Event';"},{"line":14,"text":" $structure->primaryKey = 'event_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],"},{"line":18,"text":" 'starts_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'state' => ["},{"line":20,"text":" 'type' => self::STR,"},{"line":27,"text":" 'updated_at' => ['type' => self::UINT, 'required' => true]"},{"line":28,"text":" ];"},{"line":29,"text":" return $structure;"},{"line":30,"text":" }"},{"line":31,"text":"}"}],"rel":"Entity/Event.php","sha256":"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891"},{"bytes":777,"matches":[{"line":1,"text":"table = 'xf_newfi_event_change';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventChange';"},{"line":14,"text":" $structure->primaryKey = 'event_change_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'changed_at' => ['type' => self::UINT, 'required' => true],"},{"line":19,"text":" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventChange.php","sha256":"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602"},{"bytes":775,"matches":[{"line":1,"text":"table = 'xf_newfi_event_source';"},{"line":13,"text":" $structure->shortName = 'Newfi\\Events:EventSource';"},{"line":14,"text":" $structure->primaryKey = 'event_source_id';"},{"line":15,"text":" $structure->columns = ["},{"line":16,"text":" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":17,"text":" 'event_id' => ['type' => self::UINT, 'required' => true],"},{"line":18,"text":" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],"},{"line":19,"text":" 'checked_at' => ['type' => self::UINT, 'required' => true]"},{"line":20,"text":" ];"},{"line":21,"text":" return $structure;"},{"line":22,"text":" }"},{"line":23,"text":"}"}],"rel":"Entity/EventSource.php","sha256":"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187"},{"bytes":494,"matches":[{"line":1,"text":"finder('Newfi\\Events:Event')"},{"line":12,"text":" ->where('state', 'published')"},{"line":13,"text":" ->order('starts_at', 'ASC')"},{"line":14,"text":" ->order('event_id', 'ASC')"},{"line":15,"text":" ->fetch(100);"},{"line":16,"text":""},{"line":17,"text":" return $this->view('Newfi\\Events:Events', 'newfi_events', ["},{"line":18,"text":" 'events' => $events"},{"line":19,"text":" ]);"},{"line":20,"text":" }"}],"rel":"Pub/Controller/Events.php","sha256":"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b"},{"bytes":79,"matches":[{"line":1,"text":"schemaManager();"},{"line":13,"text":""},{"line":14,"text":" $sm->createTable('xf_newfi_event', function (Create $table)"},{"line":15,"text":" {"},{"line":16,"text":" $table->addColumn('event_id', 'int')->autoIncrement();"},{"line":17,"text":" $table->addColumn('title', 'varchar', 100);"},{"line":18,"text":" $table->addColumn('starts_at', 'int');"},{"line":19,"text":" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');"},{"line":20,"text":" $table->addColumn('fingerprint', 'varbinary', 64);"},{"line":21,"text":" $table->addColumn('created_at', 'int');"},{"line":22,"text":" $table->addColumn('updated_at', 'int');"},{"line":23,"text":" $table->addPrimaryKey('event_id');"},{"line":24,"text":" $table->addKey('starts_at');"},{"line":25,"text":" $table->addKey('state');"},{"line":26,"text":" $table->addKey('fingerprint');"},{"line":27,"text":" });"},{"line":28,"text":""},{"line":29,"text":" $sm->createTable('xf_newfi_event_source', function (Create $table)"},{"line":30,"text":" {"},{"line":31,"text":" $table->addColumn('event_source_id', 'int')->autoIncrement();"},{"line":32,"text":" $table->addColumn('event_id', 'int');"},{"line":33,"text":" $table->addColumn('source_url', 'varchar', 500);"},{"line":34,"text":" $table->addColumn('checked_at', 'int');"},{"line":35,"text":" $table->addPrimaryKey('event_source_id');"},{"line":36,"text":" $table->addKey('event_id');"},{"line":37,"text":" });"},{"line":38,"text":""},{"line":39,"text":" $sm->createTable('xf_newfi_event_change', function (Create $table)"},{"line":40,"text":" {"},{"line":41,"text":" $table->addColumn('event_change_id', 'int')->autoIncrement();"},{"line":42,"text":" $table->addColumn('event_id', 'int');"},{"line":43,"text":" $table->addColumn('changed_at', 'int');"},{"line":44,"text":" $table->addColumn('change_note', 'text');"},{"line":45,"text":" $table->addPrimaryKey('event_change_id');"},{"line":46,"text":" $table->addKey('event_id');"},{"line":47,"text":" });"},{"line":48,"text":""},{"line":58,"text":" {"},{"line":59,"text":" $sm = $this->schemaManager();"},{"line":60,"text":" $sm->dropTable('xf_newfi_event_change');"},{"line":61,"text":" $sm->dropTable('xf_newfi_event_source');"},{"line":62,"text":" $sm->dropTable('xf_newfi_event');"},{"line":63,"text":" return null;"},{"line":64,"text":" }"}],"rel":"Setup.php","sha256":"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b"},{"bytes":144,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" "},{"line":4,"text":""}],"rel":"_data/routes.xml","sha256":"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309"},{"bytes":830,"matches":[{"line":1,"text":""},{"line":2,"text":""},{"line":3,"text":" События"},{"line":5,"text":""},{"line":8,"text":" "},{"line":9,"text":" "},{"line":10,"text":"
"},{"line":11,"text":" "},{"line":12,"text":" "},{"line":13,"text":"
{$event.title}
"},{"line":14,"text":"
"},{"line":15,"text":"
"},{"line":16,"text":" "},{"line":21,"text":" "},{"line":22,"text":" "},{"line":23,"text":"]]>"},{"line":24,"text":""}],"rel":"_data/templates.xml","sha256":"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c"},{"bytes":397,"matches":[{"line":1,"text":"{"},{"line":2,"text":" \"title\": \"Newfi Events\","},{"line":3,"text":" \"description\": \"Minimal private-staging events/calendar component for the Newfi closed MVP.\","},{"line":4,"text":" \"version_id\": 1000010,"},{"line":5,"text":" \"version_string\": \"1.0.0 Alpha 1\","}],"rel":"addon.json","sha256":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3"}],"ok":true,"role":"production","state":{"addon":{"active":1,"addon_id":"Newfi/Events","json_hash":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3","title":"Newfi Events","version_id":1000010,"version_string":"1.0.0 Alpha 1"},"app_counts":{"drafts":0,"resources":13,"tag_content":39,"tags":33,"updates":13,"versions":13},"board":"1","counts":{"xf_newfi_event":0,"xf_newfi_event_change":0,"xf_newfi_event_source":0},"errors":{"ids":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"old_fp":"737935e0f156defd5fcd89c9e05899bb3577964371bc436e65db7c7e461be69b","rows":[{"error_id":1,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":2,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":3,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":4,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":5,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":6,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":7,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":8,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":9,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":10,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":11,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":12,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":13,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":14,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":15,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":16,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":17,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":18,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":19,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":20,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":21,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":22,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":23,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":24,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":25,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":26,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":27,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":28,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":29,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":30,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":31,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":32,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":33,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":34,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":35,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":36,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":37,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":38,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":39,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"},{"error_id":40,"exception_type":"TypeError","filename":"src/XF/Job/ContentIndexNow.php","line":51,"message":"XF\\Job\\ContentIndexNow: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given"}]},"event_templates":[{"bytes":643,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
"},{"line":9,"text":" "},{"line":10,"text":" "},{"line":11,"text":"
{$event.title}
"},{"line":12,"text":"
"},{"line":13,"text":"
"},{"line":14,"text":" "},{"line":15,"text":" "}],"sha256":"514dffc791acf6b30e0c2bda235e571e62ccc5752b72b31449beb8d2b34e4543","style_id":0,"template_id":1612,"title":"newfi_events"}],"jobs":[],"navigation_tables":{"xf_navigation":{"count":56,"create":"CREATE TABLE `xf_navigation` (\n `navigation_id` varbinary(50) NOT NULL,\n `parent_navigation_id` varbinary(50) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n `navigation_type_id` varbinary(25) NOT NULL,\n `type_config` mediumtext NOT NULL,\n `condition_expression` mediumblob NOT NULL,\n `condition_setup` mediumblob NOT NULL,\n `data_expression` mediumblob NOT NULL,\n `data_setup` mediumblob NOT NULL,\n `global_setup` mediumblob NOT NULL,\n `enabled` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `is_customized` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `default_value` mediumblob NOT NULL,\n `addon_id` varbinary(50) NOT NULL DEFAULT '',\n PRIMARY KEY (`navigation_id`),\n KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_navigation_type":{"count":3,"create":"CREATE TABLE `xf_navigation_type` (\n `navigation_type_id` varbinary(25) NOT NULL,\n `handler_class` varchar(100) NOT NULL,\n `display_order` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`navigation_type_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"}},"portal_template":{"bytes":8623,"matches":[{"line":6,"text":" "},{"line":7,"text":" "},{"line":8,"text":"
Ньюфаундленды · знания · люди
"},{"line":9,"text":"
Дом сообщества ньюфаундлендов
"},{"line":10,"text":"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
"},{"line":11,"text":""},{"line":12,"text":"
"},{"line":17,"text":"
"},{"line":18,"text":" "},{"line":19,"text":""},{"line":20,"text":" "},{"line":21,"text":"
"},{"line":22,"text":" "},{"line":29,"text":""},{"line":30,"text":" "},{"line":31,"text":" "},{"line":32,"text":"
"},{"line":33,"text":" "},{"line":34,"text":" {$thread.title}"},{"line":35,"text":" {$thread.Forum.Node.title}"},{"line":36,"text":" "},{"line":37,"text":" "},{"line":38,"text":" "},{"line":39,"text":"
"},{"line":40,"text":" "},{"line":41,"text":" "},{"line":75,"text":"
"},{"line":76,"text":" "},{"line":77,"text":" "},{"line":78,"text":"
"},{"line":79,"text":" "},{"line":80,"text":" {$resource.title}"},{"line":81,"text":" {$resource.tag_line}"},{"line":82,"text":" "},{"line":83,"text":" "},{"line":84,"text":" "},{"line":85,"text":"
"},{"line":86,"text":" "},{"line":87,"text":" Проверенные материалы появятся здесь после публикации.
"},{"line":88,"text":" "},{"line":89,"text":" Открыть базу знаний"},{"line":90,"text":" "},{"line":91,"text":" "},{"line":92,"text":" База знаний доступна участникам с соответствующими правами."},{"line":93,"text":"
"},{"line":94,"text":" "},{"line":95,"text":" "},{"line":96,"text":""},{"line":97,"text":"
"},{"line":98,"text":" "},{"line":105,"text":""},{"line":106,"text":" "},{"line":107,"text":" "},{"line":108,"text":"
"},{"line":109,"text":" "},{"line":110,"text":" {$event.title}"},{"line":111,"text":" "},{"line":112,"text":"
"},{"line":113,"text":" "},{"line":114,"text":"
"},{"line":115,"text":" "},{"line":116,"text":" "},{"line":120,"text":"
"},{"line":121,"text":" Сообщество"},{"line":122,"text":"
Наши собаки
"},{"line":123,"text":" "},{"line":124,"text":"
Все собаки"},{"line":125,"text":" "},{"line":126,"text":""},{"line":127,"text":" "},{"line":128,"text":"
"},{"line":129,"text":"
"},{"line":130,"text":" "},{"line":131,"text":"
{$dog.full_name}{$dog.name}"},{"line":132,"text":"
{$dog.city}"},{"line":147,"text":"
"},{"line":148,"text":" "},{"line":149,"text":" "},{"line":158,"text":" "},{"line":159,"text":" Фотографии появятся здесь после публикации в галерее.
"},{"line":160,"text":" "},{"line":161,"text":" Открыть галерею"},{"line":162,"text":" "},{"line":163,"text":" "},{"line":164,"text":" Галерея доступна участникам с соответствующими правами."},{"line":165,"text":"
"},{"line":166,"text":" "},{"line":167,"text":" "},{"line":168,"text":"
"},{"line":169,"text":""},{"line":172,"text":" НьюфДом"},{"line":173,"text":" Полезное начинается с живого сообщества
"},{"line":174,"text":" Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
"},{"line":175,"text":" "},{"line":176,"text":"
Перейти к форуму"},{"line":177,"text":" "},{"line":178,"text":"
"},{"line":179,"text":""}],"sha256":"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669","style_id":0,"template_id":1610},"schemas":{"xf_newfi_event":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"title","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(100)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"starts_at","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":"draft","Extra":"","Field":"state","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(25)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"fingerprint","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"varbinary(64)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"created_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"updated_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event` (\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `title` varchar(100) NOT NULL,\n `starts_at` int(10) unsigned NOT NULL,\n `state` varbinary(25) NOT NULL DEFAULT 'draft',\n `fingerprint` varbinary(64) NOT NULL,\n `created_at` int(10) unsigned NOT NULL,\n `updated_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_id`),\n KEY `starts_at` (`starts_at`),\n KEY `state` (`state`),\n KEY `fingerprint` (`fingerprint`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"starts_at","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"starts_at","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"state","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"state","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"},{"Cardinality":0,"Collation":"A","Column_name":"fingerprint","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"fingerprint","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event"}]},"xf_newfi_event_change":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_change_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"changed_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"change_note","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"text"}],"create":"CREATE TABLE `xf_newfi_event_change` (\n `event_change_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `changed_at` int(10) unsigned NOT NULL,\n `change_note` text NOT NULL,\n PRIMARY KEY (`event_change_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_change_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_change"}]},"xf_newfi_event_source":{"columns":[{"Collation":null,"Comment":"","Default":null,"Extra":"auto_increment","Field":"event_source_id","Key":"PRI","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"event_id","Key":"MUL","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"},{"Collation":"utf8mb4_general_ci","Comment":"","Default":null,"Extra":"","Field":"source_url","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"varchar(500)"},{"Collation":null,"Comment":"","Default":null,"Extra":"","Field":"checked_at","Key":"","Null":"NO","Privileges":"select,insert,update,references","Type":"int(10) unsigned"}],"create":"CREATE TABLE `xf_newfi_event_source` (\n `event_source_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `event_id` int(10) unsigned NOT NULL,\n `source_url` varchar(500) NOT NULL,\n `checked_at` int(10) unsigned NOT NULL,\n PRIMARY KEY (`event_source_id`),\n KEY `event_id` (`event_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci","indexes":[{"Cardinality":0,"Collation":"A","Column_name":"event_source_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"PRIMARY","Non_unique":0,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"},{"Cardinality":0,"Collation":"A","Column_name":"event_id","Comment":"","Ignored":"NO","Index_comment":"","Index_type":"BTREE","Key_name":"event_id","Non_unique":1,"Null":"","Packed":null,"Seq_in_index":1,"Sub_part":null,"Table":"xf_newfi_event_source"}]}}}}
+NEWFI122R1_PUBLIC={"events_no_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events"},"events_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events/"},"portal":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/"}}
+NEWFI122R1_SAFE_REPORT={"changes_made":false,"decision":"PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED","event_counts":{"xf_newfi_event":0,"xf_newfi_event_change":0,"xf_newfi_event_source":0},"event_templates":1,"git_head":"a13361297ba22f9745bb64aac4ed90849242955a","portal_template_sha":"31100610adcf19b8a5df5eac88cc3ea1eed1e642ccd9232be082343af018e669","public":{"events_no_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events"},"events_slash":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/events/"},"portal":{"http":"200","rc":0,"stderr":"","url":"https://newfi.ru/"}},"source_files":9}
+NEWFI122R1_DECISION=PASS_EVENTS208_FOUNDATION_UI_AUDIT_CAPTURED
+NEWFI122R1_NEXT_GATE=DESIGN_EVENTS208_FULL_UI_FROM_EXACT_SCHEMA
OUTPUT_END
CHAT_OUTPUT_END