39 lines
97 KiB
JSON
39 lines
97 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"channel": "homelab-runtime",
|
|
"command_id": "NEWFI-260919-NEWFDOM-CONTENT207-PUBLICRCA121R2",
|
|
"status": "OK",
|
|
"rc": 0,
|
|
"host": "pve01",
|
|
"mode": "read-only",
|
|
"component": "newfi-newfdom-content207-public-render-cache-xfrm-rca-readonly-r2-json-path-fix",
|
|
"started_at_utc": "2026-09-18T23:36:14Z",
|
|
"finished_at_utc": "2026-09-18T23:36:18Z",
|
|
"reference_register_checked": true,
|
|
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
|
|
"error_register_checked": true,
|
|
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
|
|
"command_sha256": "f739271047bc428da5abe24a53be462939138a138271b84da73622a3e4f2f144",
|
|
"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": "e955eca9162212fb2b13fae31531a7512463b8c34a9bb61d9f127bdfb83d81a7",
|
|
"sanitized_output_sha256": "e955eca9162212fb2b13fae31531a7512463b8c34a9bb61d9f127bdfb83d81a7",
|
|
"output_truncated_in_json": false,
|
|
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
|
"output": "NEWFI121R2_BEGIN\nCOMMAND_ID=NEWFI-260919-NEWFDOM-CONTENT207-PUBLICRCA121R2\nNEWFI121R2_GIT={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"clean\":true,\"head\":\"bcd970b0fa5d0f140aad4a3246773f44409ffe46\",\"remotes\":[{\"head\":\"bcd970b0fa5d0f140aad4a3246773f44409ffe46\",\"remote\":\"origin\"}]}\nNEWFI121R2_STAGING={\"_qga_transport\":\"stdin\",\"http_probes\":{},\"ok\":true,\"role\":\"staging\",\"source_scans\":[{\"matches\":[{\"line\":73,\"text\":\"\"},{\"line\":74,\"text\":\"\\t\\t$listParams = $overviewPlugin->getCoreListData($viewableCategoryIds);\"},{\"line\":75,\"text\":\"\"},{\"line\":76,\"text\":\"\\t\\t$this->assertValidPage($listParams['page'], $listParams['perPage'], $listParams['total'], 'resources');\"},{\"line\":77,\"text\":\"\\t\\t$this->assertCanonicalUrl($this->buildPaginatedLink('resources', null, $listParams['page']));\"},{\"line\":78,\"text\":\"\"},{\"line\":79,\"text\":\"\\t\\t$viewParams = $categoryParams + $listParams;\"},{\"line\":80,\"text\":\"\"},{\"line\":81,\"text\":\"\\t\\treturn $this->view('XFRM:Overview', 'xfrm_overview', $viewParams);\"},{\"line\":82,\"text\":\"\\t}\"},{\"line\":83,\"text\":\"\"},{\"line\":84,\"text\":\"\\tpublic function actionFilters()\"},{\"line\":85,\"text\":\"\\t{\"},{\"line\":86,\"text\":\"\\t\\t/** @var Overview $overviewPlugin */\"},{\"line\":87,\"text\":\"\\t\\t$overviewPlugin = $this->plugin('XFRM:Overview');\"},{\"line\":112,\"text\":\"\\t\\t$this->assertValidPage($page, $perPage, $total, 'resources/latest-reviews');\"},{\"line\":113,\"text\":\"\\t\\t$this->assertCanonicalUrl($this->buildPaginatedLink('resources/latest-reviews', null, $page));\"},{\"line\":114,\"text\":\"\"},{\"line\":115,\"text\":\"\\t\\t$reviews = $finder->limitByPage($page, $perPage)->fetch();\"},{\"line\":116,\"text\":\"\\t\\t$reviews = $reviews->filterViewable();\"},{\"line\":117,\"text\":\"\"},{\"line\":118,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":119,\"text\":\"\\t\\t\\t'reviews' => $reviews,\"},{\"line\":120,\"text\":\"\\t\\t\\t'page' => $page,\"},{\"line\":121,\"text\":\"\\t\\t\\t'perPage' => $perPage,\"},{\"line\":122,\"text\":\"\\t\\t\\t'total' => $total,\"},{\"line\":123,\"text\":\"\\t\\t];\"},{\"line\":124,\"text\":\"\\t\\treturn $this->view('XFRM:LatestReviews', 'xfrm_latest_reviews', $viewParams);\"},{\"line\":125,\"text\":\"\\t}\"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\"\\tpublic function actionAdd()\"},{\"line\":128,\"text\":\"\\t{\"},{\"line\":129,\"text\":\"\\t\\t/** @var User $visitor */\"},{\"line\":130,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":169,\"text\":\"\"},{\"line\":170,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":171,\"text\":\"\\t\\t});\"},{\"line\":172,\"text\":\"\"},{\"line\":173,\"text\":\"\\t\\t$categoryExtras = $categoryRepo->getCategoryListExtras($categoryTree);\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":176,\"text\":\"\\t\\t\\t'categoryTree' => $categoryTree,\"},{\"line\":177,\"text\":\"\\t\\t\\t'categoryExtras' => $categoryExtras,\"},{\"line\":178,\"text\":\"\\t\\t];\"},{\"line\":179,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\AddChooser', 'xfrm_resource_add_chooser', $viewParams);\"},{\"line\":180,\"text\":\"\\t}\"},{\"line\":181,\"text\":\"\"},{\"line\":182,\"text\":\"\\tpublic function actionView(ParameterBag $params)\"},{\"line\":183,\"text\":\"\\t{\"},{\"line\":184,\"text\":\"\\t\\t$this->assertNotEmbeddedImageRequest();\"},{\"line\":185,\"text\":\"\"},{\"line\":186,\"text\":\"\\t\\t$resource = $this->assertViewableResource($params->resource_id, $this->getResourceViewExtraWith());\"},{\"line\":187,\"text\":\"\"},{\"line\":188,\"text\":\"\\t\\t$this->assertCanonicalUrl($this->buildLink('resources', $resource));\"},{\"line\":231,\"text\":\"\\t\\t}\"},{\"line\":232,\"text\":\"\\t\\telse\"},{\"line\":233,\"text\":\"\\t\\t{\"},{\"line\":234,\"text\":\"\\t\\t\\t$authorOthers = $this->em()->getEmptyCollection();\"},{\"line\":235,\"text\":\"\\t\\t}\"},{\"line\":236,\"text\":\"\"},{\"line\":237,\"text\":\"\\t\\t$trimmedDescription = null;\"},{\"line\":238,\"text\":\"\"},{\"line\":239,\"text\":\"\\t\\tif (!$resource->canViewFullDescription())\"},{\"line\":240,\"text\":\"\\t\\t{\"},{\"line\":241,\"text\":\"\\t\\t\\t$snippet = $this->app->stringFormatter()->wholeWordTrim(\"},{\"line\":242,\"text\":\"\\t\\t\\t\\t$resource->Description->message,\"},{\"line\":243,\"text\":\"\\t\\t\\t\\t$this->options()->xfrmFilelessViewFull['length']\"},{\"line\":244,\"text\":\"\\t\\t\\t);\"},{\"line\":245,\"text\":\"\\t\\t\\tif (strlen($snippet) < strlen($resource->Description->message))\"},{\"line\":246,\"text\":\"\\t\\t\\t{\"},{\"line\":247,\"text\":\"\\t\\t\\t\\t// just cleaning BB code, so not passing the content\"},{\"line\":248,\"text\":\"\\t\\t\\t\\t$trimmedDescription = $this->app->bbCode()->render($snippet, 'bbCodeClean', 'resource_update', null);\"},{\"line\":249,\"text\":\"\\t\\t\\t}\"},{\"line\":250,\"text\":\"\\t\\t}\"},{\"line\":251,\"text\":\"\"},{\"line\":252,\"text\":\"\\t\\tif ($this->isContentViewCounted())\"},{\"line\":253,\"text\":\"\\t\\t{\"},{\"line\":254,\"text\":\"\\t\\t\\t$this->repository('XFRM:ResourceItem')->logResourceView($resource);\"},{\"line\":255,\"text\":\"\\t\\t}\"},{\"line\":256,\"text\":\"\"},{\"line\":257,\"text\":\"\\t\\t$shownUpdateIds = $latestUpdates->keys();\"},{\"line\":258,\"text\":\"\\t\\t$shownUpdateIds[] = $resource->description_update_id;\"},{\"line\":259,\"text\":\"\"},{\"line\":260,\"text\":\"\\t\\t/** @var UserAlert $userAlertRepo */\"},{\"line\":261,\"text\":\"\\t\\t$userAlertRepo = $this->repository('XF:UserAlert');\"},{\"line\":262,\"text\":\"\\t\\t$userAlertRepo->markUserAlertsReadForContent('resource_update', $shownUpdateIds);\"},{\"line\":263,\"text\":\"\\t\\t$userAlertRepo->markUserAlertsReadForContent('resource', $resource->resource_id);\"},{\"line\":264,\"text\":\"\"},{\"line\":265,\"text\":\"\\t\\t$description = $resource->Description;\"},{\"line\":266,\"text\":\"\"},{\"line\":267,\"text\":\"\\t\\t/** @var EmbedResolver $embedRepo */\"},{\"line\":268,\"text\":\"\\t\\t$embedRepo = $this->repository('XF:EmbedResolver');\"},{\"line\":269,\"text\":\"\\t\\t$embedRepo->addEmbedsToContent([$description]);\"},{\"line\":270,\"text\":\"\"},{\"line\":271,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":272,\"text\":\"\\t\\t\\t'resource' => $resource,\"},{\"line\":273,\"text\":\"\\t\\t\\t'category' => $resource->Category,\"},{\"line\":274,\"text\":\"\\t\\t\\t'description' => $description,\"},{\"line\":275,\"text\":\"\\t\\t\\t'trimmedDescription' => $trimmedDescription,\"},{\"line\":276,\"text\":\"\\t\\t\\t'latestUpdates' => $latestUpdates,\"},{\"line\":277,\"text\":\"\\t\\t\\t'latestReviews' => $latestReviews,\"},{\"line\":278,\"text\":\"\\t\\t\\t'teamMembers' => $teamMembers,\"},{\"line\":279,\"text\":\"\\t\\t\\t'authorOthers' => $authorOthers,\"},{\"line\":280,\"text\":\"\\t\\t\\t'iconError' => $this->filter('icon_error', 'bool'),\"},{\"line\":281,\"text\":\"\\t\\t];\"},{\"line\":282,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\View', 'xfrm_resource_view', $viewParams);\"},{\"line\":283,\"text\":\"\\t}\"},{\"line\":284,\"text\":\"\"},{\"line\":285,\"text\":\"\\tprotected function getResourceViewExtraWith()\"},{\"line\":286,\"text\":\"\\t{\"},{\"line\":287,\"text\":\"\\t\\t$extraWith = [];\"},{\"line\":288,\"text\":\"\\t\\t$userId = \\\\XF::visitor()->user_id;\"},{\"line\":289,\"text\":\"\\t\\tif ($userId)\"},{\"line\":290,\"text\":\"\\t\\t{\"},{\"line\":291,\"text\":\"\\t\\t\\t$extraWith[] = 'Watch|' . $userId;\"},{\"line\":292,\"text\":\"\\t\\t\\t$extraWith[] = 'CurrentVersion.Downloads|' . $userId;\"},{\"line\":293,\"text\":\"\\t\\t\\t$extraWith[] = 'Description.Reactions|' . $userId;\"},{\"line\":294,\"text\":\"\\t\\t}\"},{\"line\":295,\"text\":\"\"},{\"line\":296,\"text\":\"\\t\\treturn $extraWith;\"},{\"line\":297,\"text\":\"\\t}\"},{\"line\":298,\"text\":\"\"},{\"line\":299,\"text\":\"\\tpublic function actionExtra(ParameterBag $params)\"},{\"line\":301,\"text\":\"\\t\\t$resource = $this->assertViewableResource($params->resource_id);\"},{\"line\":302,\"text\":\"\\t\\tif (!$resource->hasExtraInfoTab())\"},{\"line\":303,\"text\":\"\\t\\t{\"},{\"line\":304,\"text\":\"\\t\\t\\treturn $this->redirect($this->buildLink('resources', $resource));\"},{\"line\":305,\"text\":\"\\t\\t}\"},{\"line\":306,\"text\":\"\"},{\"line\":307,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":308,\"text\":\"\\t\\t\\t'resource' => $resource,\"},{\"line\":309,\"text\":\"\\t\\t\\t'category' => $resource->Category,\"},{\"line\":310,\"text\":\"\\t\\t];\"},{\"line\":311,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\Extra', 'xfrm_resource_extra', $viewParams);\"},{\"line\":312,\"text\":\"\\t}\"},{\"line\":313,\"text\":\"\"},{\"line\":314,\"text\":\"\\tpublic function actionField(ParameterBag $params)\"},{\"line\":315,\"text\":\"\\t{\"},{\"line\":316,\"text\":\"\\t\\t$resource = $this->assertViewableResource($params->resource_id);\"},{\"line\":317,\"text\":\"\"},{\"line\":325,\"text\":\"\"},{\"line\":326,\"text\":\"\\t\\t/** @var Set $fieldSet */\"},{\"line\":327,\"text\":\"\\t\\t$fieldSet = $resource->custom_fields;\"},{\"line\":328,\"text\":\"\\t\\t$definition = $fieldSet->getDefinition($fieldId);\"},{\"line\":329,\"text\":\"\\t\\t$fieldValue = $fieldSet->getFieldValue($fieldId);\"},{\"line\":330,\"text\":\"\"},{\"line\":331,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":332,\"text\":\"\\t\\t\\t'resource' => $resource,\"},{\"line\":333,\"text\":\"\\t\\t\\t'category' => $resource->Category,\"},{\"line\":334,\"text\":\"\"},{\"line\":335,\"text\":\"\\t\\t\\t'fieldId' => $fieldId,\"},{\"line\":336,\"text\":\"\\t\\t\\t'fieldDefinition' => $definition,\"},{\"line\":337,\"text\":\"\\t\\t\\t'fieldValue' => $fieldValue,\"},{\"line\":338,\"text\":\"\\t\\t];\"},{\"line\":339,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\Field', 'xfrm_resource_field', $viewParams);\"},{\"line\":340,\"text\":\"\\t}\"},{\"line\":341,\"text\":\"\"},{\"line\":342,\"text\":\"\\tpublic function actionUpdates(ParameterBag $params)\"},{\"line\":343,\"text\":\"\\t{\"},{\"line\":344,\"text\":\"\\t\\t$this->assertNotEmbeddedImageRequest();\"}],\"path\":\"src/addons/XFRM/Pub/Controller/ResourceItem.php\",\"present\":true,\"sha256\":\"78aaaaaf3ad95aedde7b4a1e4d8ec026b9a305dd4a2a23172d28a756244b9f67\"},{\"matches\":[{\"line\":48,\"text\":\" * @property array $team_member_user_ids\"},{\"line\":49,\"text\":\" * @property string $resource_state\"},{\"line\":50,\"text\":\" * @property string $resource_type\"},{\"line\":51,\"text\":\" * @property int $resource_date\"},{\"line\":52,\"text\":\" * @property int $resource_category_id\"},{\"line\":53,\"text\":\" * @property int $current_version_id\"},{\"line\":54,\"text\":\" * @property int $description_update_id\"},{\"line\":55,\"text\":\" * @property int $discussion_thread_id\"},{\"line\":56,\"text\":\" * @property string $external_url\"},{\"line\":57,\"text\":\" * @property string $external_url_\"},{\"line\":58,\"text\":\" * @property string $external_purchase_url\"},{\"line\":59,\"text\":\" * @property string $external_purchase_url_\"},{\"line\":60,\"text\":\" * @property float $price\"},{\"line\":65,\"text\":\" * @property int $rating_sum\"},{\"line\":66,\"text\":\" * @property float $rating_avg\"},{\"line\":67,\"text\":\" * @property float $rating_weighted\"},{\"line\":68,\"text\":\" * @property array|null $rating_split\"},{\"line\":69,\"text\":\" * @property int $update_count\"},{\"line\":70,\"text\":\" * @property int $review_count\"},{\"line\":71,\"text\":\" * @property int $last_update\"},{\"line\":72,\"text\":\" * @property string $alt_support_url\"},{\"line\":73,\"text\":\" * @property string $alt_support_url_\"},{\"line\":74,\"text\":\" * @property array|null $custom_fields_\"},{\"line\":75,\"text\":\" * @property int $prefix_id\"},{\"line\":76,\"text\":\" * @property int $icon_date\"},{\"line\":77,\"text\":\" * @property bool $icon_optimized\"},{\"line\":89,\"text\":\" * @property-read string|null $cover_image\"},{\"line\":90,\"text\":\" *\"},{\"line\":91,\"text\":\" * RELATIONS\"},{\"line\":92,\"text\":\" * @property-read Category|null $Category\"},{\"line\":93,\"text\":\" * @property-read User|null $User\"},{\"line\":94,\"text\":\" * @property-read AbstractCollection<ResourceTeamMember> $TeamMembers\"},{\"line\":95,\"text\":\" * @property-read ResourceUpdate|null $Description\"},{\"line\":96,\"text\":\" * @property-read ResourceVersion|null $CurrentVersion\"},{\"line\":97,\"text\":\" * @property-read Thread|null $Discussion\"},{\"line\":98,\"text\":\" * @property-read ResourcePrefix|null $Prefix\"},{\"line\":99,\"text\":\" * @property-read AbstractCollection<ResourceWatch> $Watch\"},{\"line\":100,\"text\":\" * @property-read DeletionLog|null $DeletionLog\"},{\"line\":101,\"text\":\" * @property-read ApprovalQueue|null $ApprovalQueue\"},{\"line\":139,\"text\":\"\\t\\t$mainEntity = [\"},{\"line\":140,\"text\":\"\\t\\t\\t'@type' => 'CreativeWork',\"},{\"line\":141,\"text\":\"\\t\\t\\t'@id' => $resourceLink,\"},{\"line\":142,\"text\":\"\\t\\t\\t'headline' => $this->title,\"},{\"line\":143,\"text\":\"\\t\\t\\t'alternativeHeadline' => $this->tag_line,\"},{\"line\":144,\"text\":\"\\t\\t\\t'dateCreated' => gmdate('c', $this->resource_date),\"},{\"line\":145,\"text\":\"\\t\\t\\t'dateModified' => $this->last_update\"},{\"line\":146,\"text\":\"\\t\\t\\t\\t? gmdate('c', $this->last_update)\"},{\"line\":147,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":148,\"text\":\"\\t\\t\\t'keywords' => implode(', ', array_column($this->tags, 'tag')),\"},{\"line\":149,\"text\":\"\\t\\t\\t'url' => $resourceLink,\"},{\"line\":150,\"text\":\"\\t\\t\\t'thumbnailUrl' => $options->xfrmAllowIcons && $this->icon_date\"},{\"line\":151,\"text\":\"\\t\\t\\t\\t? $this->getIconUrl('s', true)\"},{\"line\":152,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":153,\"text\":\"\\t\\t\\t'version' => $this->isVersioned()\"},{\"line\":154,\"text\":\"\\t\\t\\t\\t? $this->CurrentVersion->version_string\"},{\"line\":155,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":156,\"text\":\"\\t\\t\\t'discussionUrl' => $this->hasViewableDiscussion()\"},{\"line\":157,\"text\":\"\\t\\t\\t\\t? $this->Discussion->getContentUrl(true)\"},{\"line\":158,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":159,\"text\":\"\\t\\t\\t'description' => $strFormatter->snippetString(\"},{\"line\":160,\"text\":\"\\t\\t\\t\\t$this->Description->message,\"},{\"line\":161,\"text\":\"\\t\\t\\t\\t0,\"},{\"line\":162,\"text\":\"\\t\\t\\t\\t['stripBbCode' => true]\"},{\"line\":163,\"text\":\"\\t\\t\\t),\"},{\"line\":164,\"text\":\"\\t\\t\\t'author' => [\"},{\"line\":165,\"text\":\"\\t\\t\\t\\t'@type' => 'Person',\"},{\"line\":166,\"text\":\"\\t\\t\\t\\t'@id' => $userLink,\"},{\"line\":168,\"text\":\"\\t\\t\\t\\t'url' => $userLink,\"},{\"line\":169,\"text\":\"\\t\\t\\t],\"},{\"line\":170,\"text\":\"\\t\\t\\t'interactionStatistic' => [\"},{\"line\":171,\"text\":\"\\t\\t\\t\\t[\"},{\"line\":172,\"text\":\"\\t\\t\\t\\t\\t'@type' => 'InteractionCounter',\"},{\"line\":173,\"text\":\"\\t\\t\\t\\t\\t'interactionType' => 'https://schema.org/LikeAction',\"},{\"line\":174,\"text\":\"\\t\\t\\t\\t\\t'userInteractionCount' => $this->Description->reaction_score,\"},{\"line\":175,\"text\":\"\\t\\t\\t\\t],\"},{\"line\":176,\"text\":\"\\t\\t\\t\\t[\"},{\"line\":177,\"text\":\"\\t\\t\\t\\t\\t'@type' => 'InteractionCounter',\"},{\"line\":178,\"text\":\"\\t\\t\\t\\t\\t'interactionType' => 'https://schema.org/ViewAction',\"},{\"line\":179,\"text\":\"\\t\\t\\t\\t\\t'userInteractionCount' => $this->view_count,\"},{\"line\":180,\"text\":\"\\t\\t\\t\\t],\"},{\"line\":212,\"text\":\"\\t\\t\\t'url' => $resourceLink,\"},{\"line\":213,\"text\":\"\\t\\t\\t'mainEntity' => $mainEntity,\"},{\"line\":214,\"text\":\"\\t\\t\\t'publisher' => [\"},{\"line\":215,\"text\":\"\\t\\t\\t\\t'@type' => 'Organization',\"},{\"line\":216,\"text\":\"\\t\\t\\t\\t'name' => $options->boardTitle,\"},{\"line\":217,\"text\":\"\\t\\t\\t\\t'alternateName' => $options->boardShortTitle ?: null,\"},{\"line\":218,\"text\":\"\\t\\t\\t\\t'description' => $options->boardDescription ?: null,\"},{\"line\":219,\"text\":\"\\t\\t\\t\\t'url' => $options->boardUrl,\"},{\"line\":220,\"text\":\"\\t\\t\\t\\t'logo' => $logo,\"},{\"line\":221,\"text\":\"\\t\\t\\t],\"},{\"line\":222,\"text\":\"\\t\\t];\"},{\"line\":223,\"text\":\"\"},{\"line\":224,\"text\":\"\\t\\treturn Arr::filterNull($structuredData, true);\"},{\"line\":314,\"text\":\"\"},{\"line\":315,\"text\":\"\\tpublic function canDownload(&$error = null)\"},{\"line\":316,\"text\":\"\\t{\"},{\"line\":317,\"text\":\"\\t\\treturn $this->hasPermission('download') || $this->isTeamMember();\"},{\"line\":318,\"text\":\"\\t}\"},{\"line\":319,\"text\":\"\"},{\"line\":320,\"text\":\"\\tpublic function canViewFullDescription()\"},{\"line\":321,\"text\":\"\\t{\"},{\"line\":322,\"text\":\"\\t\\tif ($this->resource_type != 'fileless')\"},{\"line\":323,\"text\":\"\\t\\t{\"},{\"line\":324,\"text\":\"\\t\\t\\treturn true;\"},{\"line\":325,\"text\":\"\\t\\t}\"},{\"line\":326,\"text\":\"\"},{\"line\":953,\"text\":\"\\t{\"},{\"line\":954,\"text\":\"\\t\\tif (!$teamUser)\"},{\"line\":955,\"text\":\"\\t\\t{\"},{\"line\":956,\"text\":\"\\t\\t\\t$teamUser = \\\\XF::visitor();\"},{\"line\":957,\"text\":\"\\t\\t}\"},{\"line\":958,\"text\":\"\"},{\"line\":959,\"text\":\"\\t\\t$update = $this->_em->create('XFRM:ResourceUpdate');\"},{\"line\":960,\"text\":\"\"},{\"line\":961,\"text\":\"\\t\\t$update->resource_id = $this->_getDeferredValue(function ()\"},{\"line\":962,\"text\":\"\\t\\t{\"},{\"line\":963,\"text\":\"\\t\\t\\treturn $this->resource_id;\"},{\"line\":964,\"text\":\"\\t\\t}, 'save');\"},{\"line\":965,\"text\":\"\"},{\"line\":996,\"text\":\"\\t{\"},{\"line\":997,\"text\":\"\\t\\treturn Draft::createFromEntity($this, 'DraftUpdates');\"},{\"line\":998,\"text\":\"\\t}\"},{\"line\":999,\"text\":\"\"},{\"line\":1000,\"text\":\"\\tpublic function getCoverImage(): ?string\"},{\"line\":1001,\"text\":\"\\t{\"},{\"line\":1002,\"text\":\"\\t\\t$description = $this->Description;\"},{\"line\":1003,\"text\":\"\\t\\tif (!$description)\"},{\"line\":1004,\"text\":\"\\t\\t{\"},{\"line\":1005,\"text\":\"\\t\\t\\treturn null;\"},{\"line\":1006,\"text\":\"\\t\\t}\"},{\"line\":1007,\"text\":\"\"},{\"line\":1008,\"text\":\"\\t\\t$attachments = $description->attach_count\"},{\"line\":1009,\"text\":\"\\t\\t\\t? $description->Attachments\"},{\"line\":1010,\"text\":\"\\t\\t\\t: $this->_em->getEmptyCollection();\"},{\"line\":1011,\"text\":\"\"},{\"line\":1012,\"text\":\"\\t\\treturn $this->getCoverImageInternal(\"},{\"line\":1013,\"text\":\"\\t\\t\\t$attachments,\"},{\"line\":1014,\"text\":\"\\t\\t\\t$this->canViewUpdateImages(),\"},{\"line\":1015,\"text\":\"\\t\\t\\t$description->embed_metadata,\"},{\"line\":1016,\"text\":\"\\t\\t\\t$description->message\"},{\"line\":1017,\"text\":\"\\t\\t);\"},{\"line\":1018,\"text\":\"\\t}\"},{\"line\":1019,\"text\":\"\"},{\"line\":1020,\"text\":\"\\tpublic function getFieldEditMode()\"},{\"line\":1021,\"text\":\"\\t{\"},{\"line\":1022,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":1055,\"text\":\"\\t\\tif (!$this->canViewDeletedContent() && !$this->canViewModeratedContent())\"},{\"line\":1056,\"text\":\"\\t\\t{\"},{\"line\":1057,\"text\":\"\\t\\t\\treturn $this->update_count;\"},{\"line\":1058,\"text\":\"\\t\\t}\"},{\"line\":1059,\"text\":\"\\t\\telse\"},{\"line\":1060,\"text\":\"\\t\\t{\"},{\"line\":1061,\"text\":\"\\t\\t\\t/** @var \\\\XFRM\\\\Repository\\\\ResourceUpdate $updateRepo */\"},{\"line\":1062,\"text\":\"\\t\\t\\t$updateRepo = $this->repository('XFRM:ResourceUpdate');\"},{\"line\":1063,\"text\":\"\\t\\t\\treturn $updateRepo->findUpdatesInResource($this)->total();\"},{\"line\":1064,\"text\":\"\\t\\t}\"},{\"line\":1065,\"text\":\"\\t}\"},{\"line\":1066,\"text\":\"\"},{\"line\":1067,\"text\":\"\\t/**\"},{\"line\":1068,\"text\":\"\\t * @return int\"}],\"path\":\"src/addons/XFRM/Entity/ResourceItem.php\",\"present\":true,\"sha256\":\"703773471dd35c876a0fed578a60dfc51e1dafc9520ad1493282b50fd9e05262\"},{\"matches\":[{\"line\":21,\"text\":\"use XF\\\\Mvc\\\\Entity\\\\Structure;\"},{\"line\":22,\"text\":\"use XF\\\\Repository\\\\UserAlert;\"},{\"line\":23,\"text\":\"use XF\\\\Spam\\\\ContentChecker;\"},{\"line\":24,\"text\":\"\"},{\"line\":25,\"text\":\"/**\"},{\"line\":26,\"text\":\" * COLUMNS\"},{\"line\":27,\"text\":\" * @property int|null $resource_update_id\"},{\"line\":28,\"text\":\" * @property int $resource_id\"},{\"line\":29,\"text\":\" * @property int $team_user_id\"},{\"line\":30,\"text\":\" * @property string $team_username\"},{\"line\":31,\"text\":\" * @property string $title\"},{\"line\":32,\"text\":\" * @property string $title_\"},{\"line\":33,\"text\":\" * @property string $message\"},{\"line\":34,\"text\":\" * @property string $message_state\"},{\"line\":35,\"text\":\" * @property int $post_date\"},{\"line\":36,\"text\":\" * @property int $attach_count\"},{\"line\":37,\"text\":\" * @property int $ip_id\"},{\"line\":38,\"text\":\" * @property int $warning_id\"},{\"line\":39,\"text\":\" * @property string $warning_message\"},{\"line\":40,\"text\":\" * @property int $last_edit_date\"},{\"line\":41,\"text\":\" * @property int $last_edit_user_id\"},{\"line\":42,\"text\":\" * @property int $edit_count\"},{\"line\":43,\"text\":\" * @property array|null $embed_metadata\"},{\"line\":44,\"text\":\" * @property int $reaction_score\"},{\"line\":45,\"text\":\" * @property array|null $reactions_\"},{\"line\":46,\"text\":\" * @property array|null $reaction_users_\"},{\"line\":47,\"text\":\" *\"},{\"line\":48,\"text\":\" * GETTERS\"},{\"line\":49,\"text\":\" * @property-read string $resource_title\"},{\"line\":50,\"text\":\" * @property mixed $reactions\"},{\"line\":51,\"text\":\" * @property mixed $reaction_users\"},{\"line\":52,\"text\":\" * @property-read array $Embeds\"},{\"line\":53,\"text\":\" *\"},{\"line\":54,\"text\":\" * RELATIONS\"},{\"line\":55,\"text\":\" * @property-read ResourceItem|null $Resource\"},{\"line\":56,\"text\":\" * @property-read User|null $TeamUser\"},{\"line\":57,\"text\":\" * @property-read AbstractCollection<Attachment> $Attachments\"},{\"line\":58,\"text\":\" * @property-read DeletionLog|null $DeletionLog\"},{\"line\":59,\"text\":\" * @property-read ApprovalQueue|null $ApprovalQueue\"},{\"line\":60,\"text\":\" * @property-read AbstractCollection<ReactionContent> $Reactions\"},{\"line\":61,\"text\":\" * @property-read AbstractCollection<BookmarkItem> $Bookmarks\"},{\"line\":62,\"text\":\" */\"},{\"line\":63,\"text\":\"class ResourceUpdate extends Entity implements RenderableContentInterface, LinkableInterface, ViewableInterface\"},{\"line\":64,\"text\":\"{\"},{\"line\":65,\"text\":\"\\tuse BookmarkTrait;\"},{\"line\":66,\"text\":\"\\tuse EmbedRendererTrait;\"},{\"line\":67,\"text\":\"\\tuse EmbedResolverTrait;\"},{\"line\":68,\"text\":\"\\tuse ReactionTrait;\"},{\"line\":69,\"text\":\"\"},{\"line\":70,\"text\":\"\\tpublic function canView(&$error = null)\"},{\"line\":71,\"text\":\"\\t{\"},{\"line\":72,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":73,\"text\":\"\"},{\"line\":74,\"text\":\"\\t\\tif (!$resource || !$resource->canView($error))\"},{\"line\":75,\"text\":\"\\t\\t{\"},{\"line\":76,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":77,\"text\":\"\\t\\t}\"},{\"line\":78,\"text\":\"\"},{\"line\":79,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":80,\"text\":\"\"},{\"line\":81,\"text\":\"\\t\\tif ($this->message_state == 'moderated')\"},{\"line\":82,\"text\":\"\\t\\t{\"},{\"line\":83,\"text\":\"\\t\\t\\tif (\"},{\"line\":84,\"text\":\"\\t\\t\\t\\t!$resource->hasPermission('viewModerated')\"},{\"line\":85,\"text\":\"\\t\\t\\t\\t&& (!$visitor->user_id || !$resource->isTeamMember())\"},{\"line\":86,\"text\":\"\\t\\t\\t)\"},{\"line\":87,\"text\":\"\\t\\t\\t{\"},{\"line\":88,\"text\":\"\\t\\t\\t\\treturn false;\"},{\"line\":89,\"text\":\"\\t\\t\\t}\"},{\"line\":90,\"text\":\"\\t\\t}\"},{\"line\":91,\"text\":\"\\t\\telse if ($this->message_state == 'deleted')\"},{\"line\":92,\"text\":\"\\t\\t{\"},{\"line\":93,\"text\":\"\\t\\t\\tif (!$resource->hasPermission('viewDeleted'))\"},{\"line\":94,\"text\":\"\\t\\t\\t{\"},{\"line\":95,\"text\":\"\\t\\t\\t\\treturn false;\"},{\"line\":96,\"text\":\"\\t\\t\\t}\"},{\"line\":97,\"text\":\"\\t\\t}\"},{\"line\":98,\"text\":\"\"},{\"line\":99,\"text\":\"\\t\\treturn true;\"},{\"line\":100,\"text\":\"\\t}\"},{\"line\":101,\"text\":\"\"},{\"line\":102,\"text\":\"\\tpublic function canEdit(&$error = null)\"},{\"line\":103,\"text\":\"\\t{\"},{\"line\":104,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":105,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":106,\"text\":\"\"},{\"line\":107,\"text\":\"\\t\\tif (!$visitor->user_id || !$resource)\"},{\"line\":108,\"text\":\"\\t\\t{\"},{\"line\":109,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":110,\"text\":\"\\t\\t}\"},{\"line\":111,\"text\":\"\"},{\"line\":112,\"text\":\"\\t\\treturn $resource->canEdit($error);\"},{\"line\":113,\"text\":\"\\t}\"},{\"line\":114,\"text\":\"\"},{\"line\":115,\"text\":\"\\tpublic function canViewHistory(&$error = null): bool\"},{\"line\":116,\"text\":\"\\t{\"},{\"line\":117,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":118,\"text\":\"\\t\\tif (!$visitor->user_id)\"},{\"line\":122,\"text\":\"\"},{\"line\":123,\"text\":\"\\t\\tif (!$this->app()->options()->editHistory['enabled'])\"},{\"line\":124,\"text\":\"\\t\\t{\"},{\"line\":125,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":126,\"text\":\"\\t\\t}\"},{\"line\":127,\"text\":\"\"},{\"line\":128,\"text\":\"\\t\\tif ($this->Resource && $this->Resource->hasPermission('editAny'))\"},{\"line\":129,\"text\":\"\\t\\t{\"},{\"line\":130,\"text\":\"\\t\\t\\treturn true;\"},{\"line\":131,\"text\":\"\\t\\t}\"},{\"line\":132,\"text\":\"\"},{\"line\":133,\"text\":\"\\t\\treturn false;\"},{\"line\":134,\"text\":\"\\t}\"},{\"line\":135,\"text\":\"\"},{\"line\":136,\"text\":\"\\tpublic function canDelete($type = 'soft', &$error = null)\"},{\"line\":137,\"text\":\"\\t{\"},{\"line\":138,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":139,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":140,\"text\":\"\"},{\"line\":141,\"text\":\"\\t\\tif ($this->isDescription() || !$visitor->user_id || !$resource)\"},{\"line\":142,\"text\":\"\\t\\t{\"},{\"line\":143,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":144,\"text\":\"\\t\\t}\"},{\"line\":145,\"text\":\"\"},{\"line\":146,\"text\":\"\\t\\tif ($type != 'soft')\"},{\"line\":147,\"text\":\"\\t\\t{\"},{\"line\":148,\"text\":\"\\t\\t\\treturn $resource->hasPermission('hardDeleteAny');\"},{\"line\":149,\"text\":\"\\t\\t}\"},{\"line\":150,\"text\":\"\"},{\"line\":151,\"text\":\"\\t\\tif ($resource->hasPermission('deleteAny'))\"},{\"line\":152,\"text\":\"\\t\\t{\"},{\"line\":153,\"text\":\"\\t\\t\\treturn true;\"},{\"line\":154,\"text\":\"\\t\\t}\"},{\"line\":155,\"text\":\"\"},{\"line\":156,\"text\":\"\\t\\tif (\"},{\"line\":157,\"text\":\"\\t\\t\\t$resource->isTeamMember()\"},{\"line\":158,\"text\":\"\\t\\t\\t&& $this->team_user_id == $visitor->user_id\"},{\"line\":159,\"text\":\"\\t\\t)\"},{\"line\":160,\"text\":\"\\t\\t{\"},{\"line\":161,\"text\":\"\\t\\t\\treturn $resource->hasPermission('updateOwn');\"},{\"line\":162,\"text\":\"\\t\\t}\"},{\"line\":163,\"text\":\"\"},{\"line\":164,\"text\":\"\\t\\treturn (\"},{\"line\":165,\"text\":\"\\t\\t\\t$resource->user_id == $visitor->user_id\"},{\"line\":166,\"text\":\"\\t\\t\\t&& $resource->hasPermission('updateOwn')\"},{\"line\":167,\"text\":\"\\t\\t);\"},{\"line\":168,\"text\":\"\\t}\"},{\"line\":169,\"text\":\"\"},{\"line\":170,\"text\":\"\\tpublic function canUndelete(&$error = null)\"},{\"line\":171,\"text\":\"\\t{\"},{\"line\":172,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":173,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\tif (!$visitor->user_id || !$resource)\"},{\"line\":176,\"text\":\"\\t\\t{\"},{\"line\":177,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":178,\"text\":\"\\t\\t}\"},{\"line\":179,\"text\":\"\"},{\"line\":180,\"text\":\"\\t\\treturn $resource->hasPermission('undelete');\"},{\"line\":181,\"text\":\"\\t}\"},{\"line\":182,\"text\":\"\"},{\"line\":183,\"text\":\"\\tpublic function canSendModeratorActionAlert()\"}],\"path\":\"src/addons/XFRM/Entity/ResourceUpdate.php\",\"present\":true,\"sha256\":\"9e978eeef933f5dd12a66afa34eba873eb0cae8ddb527ea96fcff6b058a9d05f\"}],\"state\":{\"contentindexnow_jobs\":0,\"counts\":{\"drafts\":0,\"resources\":13,\"tag_content\":39,\"tags\":33,\"updates\":13,\"versions\":13},\"error_ids\":[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],\"links\":{\"resource\":\"http://newfi-staging.gram1.ru/index.php?resources/n-yufaundlend-chto-vazhno-znat-o-porode.10/\",\"update\":\"http://newfi-staging.gram1.ru/index.php?resources/n-yufaundlend-chto-vazhno-znat-o-porode.10/update/10/\"},\"portal_sha\":\"5e4eae47a54970611a5f08875b2423d69e9bb57d53b3fc888d15d33a52b595ed\",\"resource\":{\"description_update_id\":10,\"last_update\":1789766861,\"resource_id\":10,\"state\":\"visible\",\"title\":\"Ньюфаундленд: что важно знать о породе\",\"type\":\"fileless\"},\"template_hits\":[{\"line\":48,\"text\":\"\\t\\t\\t\\t<xf:if is=\\\"$category.description\\\">\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":50,\"text\":\"\\t\\t\\t\\t\\t\\t{$category.description|raw}\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":100,\"text\":\"\\t\\t\\t\\t<xf:if is=\\\"$category.description\\\">\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":102,\"text\":\"\\t\\t\\t\\t\\t\\t{$category.description|raw}\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":52,\"text\":\"\\t\\t\\t<xf:macro id=\\\"xfrm_resource_edit_macros::description\\\"\",\"title\":\"xfrm_resource_edit\"},{\"line\":53,\"text\":\"\\t\\t\\t\\targ-description=\\\"{$resource.Description.message_}\\\"\",\"title\":\"xfrm_resource_edit\"},{\"line\":17,\"text\":\"\\t\\texplain=\\\"{{ phrase('xfrm_provide_very_brief_one_line_description_of_your_resource') }}\\\" />\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":63,\"text\":\"\\t\\t\\t\\thint=\\\"{{ phrase('xfrm_description_will_contain_contents_of_this_resource') }}\\\" />\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":84,\"text\":\"<xf:macro id=\\\"description\\\" arg-description=\\\"\\\" arg-attachmentData=\\\"{{ [] }}\\\" arg-previewUrl=\\\"\\\">\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":86,\"text\":\"\\t\\t<xf:editorrow name=\\\"description\\\" value=\\\"{$description}\\\" data-min-height=\\\"200\\\"\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":88,\"text\":\"\\t\\t\\tlabel=\\\"{{ phrase('description') }}\\\"\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":102,\"text\":\"\\t<xf:editorrow name=\\\"update_message\\\" data-min-height=\\\"200\\\"\",\"title\":\"xfrm_resource_post_update\"},{\"line\":103,\"text\":\"\\t\\tvalue=\\\"{$resource.draft_update.message}\\\"\",\"title\":\"xfrm_resource_post_update\"},{\"line\":105,\"text\":\"\\t\\tlabel=\\\"{{ phrase('xfrm_update_message') }}\\\"\",\"title\":\"xfrm_resource_post_update\"},{\"line\":23,\"text\":\"\\t\\t\\t<xf:textarearow name=\\\"message\\\" rows=\\\"2\\\" autosize=\\\"true\\\"\",\"title\":\"xfrm_resource_rate\"},{\"line\":28,\"text\":\"\\t\\t\\t\\tmaxlength=\\\"{$xf.options.messageMaxLength}\\\"\",\"title\":\"xfrm_resource_rate\"},{\"line\":6,\"text\":\"\\t<xf:css src=\\\"message.less\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":9,\"text\":\"\\t<div class=\\\"message message--simple{{ $review.isIgnored() ? ' is-ignored' : '' }}\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":11,\"text\":\"\\t\\t<div class=\\\"message-inner\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":12,\"text\":\"\\t\\t\\t<span class=\\\"message-cell message-cell--user\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":14,\"text\":\"\\t\\t\\t\\t\\t<xf:macro id=\\\"message_macros::user_info_simple\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":18,\"text\":\"\\t\\t\\t\\t\\t<xf:macro id=\\\"message_macros::user_info_simple\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":23,\"text\":\"\\t\\t\\t<div class=\\\"message-cell message-cell--main\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":24,\"text\":\"\\t\\t\\t\\t<div class=\\\"message-content js-messageContent\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":25,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-attribution message-attribution--plain\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":27,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-attribution-source\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":36,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<li class=\\\"message-attribution-user\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":62,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--deleted\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":72,\"text\":\"\\t\\t\\t\\t\\t\\targ-wrapperClass=\\\"message-fields message-fields--before\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":74,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-body\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":75,\"text\":\"\\t\\t\\t\\t\\t\\t{{ structured_text($review.message) }}\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":83,\"text\":\"\\t\\t\\t\\t\\t\\targ-wrapperClass=\\\"message-fields message-fields--after\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":87,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-actionBar actionBar\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":169,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-responses js-messageResponses\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":175,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"js-replyNewMessageContainer\\\"></div>\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":179,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<xf:js src=\\\"xf/action.js, xf/message.js\\\" min=\\\"1\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":180,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-responseRow js-commentsTarget-{$review.resource_rating_id} toggleTarget\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":183,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-message-container=\\\"< .js-messageResponses | .js-replyNewMessageContainer\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":191,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:textarea name=\\\"message\\\" rows=\\\"1\\\" autosize=\\\"true\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":192,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tmaxlength=\\\"{$xf.options.messageMaxLength}\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":217,\"text\":\"\\t\\t\\t\\t<div class=\\\"message-cell message-cell--vote\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":218,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-column\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":234,\"text\":\"\\t<div class=\\\"message-responseRow\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":278,\"text\":\"\\t\\t\\t<div class=\\\"contentRow-lesser\\\">{{ snippet($review.message, 100) }}</div>\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":15,\"text\":\"\\t\\t\\t<xf:editorrow name=\\\"message\\\" value=\\\"{$update.message}\\\" data-min-height=\\\"100\\\" rowtype=\\\"{{ $quickEdit ? 'fullWidth noLabel' : '' }}\\\"\",\"title\":\"xfrm_resource_update_edit\"},{\"line\":17,\"text\":\"\\t\\t\\t\\tlabel=\\\"{{ phrase('message') }}\\\"\",\"title\":\"xfrm_resource_update_edit\"},{\"line\":1,\"text\":\"<xf:macro id=\\\"xfrm_resource_update_macros::resource_update\\\"\",\"title\":\"xfrm_resource_update_edit_new_value\"},{\"line\":1,\"text\":\"<xf:macro id=\\\"resource_update\\\" arg-update=\\\"!\\\" arg-resource=\\\"!\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":2,\"text\":\"\\t<xf:css src=\\\"message.less\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":3,\"text\":\"\\t<div class=\\\"message message--simple js-resourceUpdate\\\" id=\\\"js-resourceUpdate-{$update.resource_update_id}\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":4,\"text\":\"\\t\\t<span class=\\\"u-anchorTarget\\\" id=\\\"resource-update-{$update.resource_update_id}\\\"></span>\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":5,\"text\":\"\\t\\t<div class=\\\"message-inner\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":6,\"text\":\"\\t\\t\\t<div class=\\\"message-cell message-cell--main\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":8,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-content js-messageContent\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":9,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"message-attribution message-attribution--split\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":10,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<h2 class=\\\"message-attribution-main block-textHeader\\\" style=\\\"margin: 0\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":13,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<ul class=\\\"message-attribution-opposite message-attribution-opposite--list\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":33,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.message_state == 'deleted'\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":34,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--deleted\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":37,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:elseif is=\\\"$update.message_state == 'moderated'\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":38,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--moderated\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":39,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t{{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }}\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":42,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.warning_message\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":43,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--warning\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":44,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t{$update.warning_message}\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":48,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"message-userContent lbContainer js-lbContainer\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":49,\"text\":\"\\t\\t\\t\\t\\t\\t\\tdata-lb-id=\\\"resource_update-{$update.resource_update_id}\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":52,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<blockquote class=\\\"message-body\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":53,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t{{ bb_code($update.message, 'resource_update', $update) }}\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":57,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t<xf:macro id=\\\"message_macros::attachments\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":59,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\targ-message=\\\"{$update}\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":65,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-lastEdit\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":71,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-actionBar actionBar\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":92,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:js src=\\\"xf/action.js, xf/message.js\\\" min=\\\"1\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":96,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-editor-target=\\\"#js-resourceUpdate-{$update.resource_update_id} .js-quickEditTarget\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":104,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-target=\\\"#js-resourceUpdate-{$update.resource_update_id} .js-historyTarget\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":115,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.message_state == 'deleted' AND $update.canUndelete()\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":137,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.message_state == 'moderated'\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":141,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:elseif is=\\\"$update.message_state == 'visible'\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":12,\"text\":\"<div class=\\\"block block--messages\\\">\",\"title\":\"xfrm_resource_updates\"},{\"line\":30,\"text\":\"\\t\\t\\t<xf:macro id=\\\"xfrm_resource_update_macros::resource_update\\\"\",\"title\":\"xfrm_resource_updates\"},{\"line\":3,\"text\":\"<xf:set var=\\\"$descSnippet\\\" value=\\\"{{ snippet($description.message, 250, {'stripBbCode': true}) }}\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":6,\"text\":\"\\targ-description=\\\"{$descSnippet}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":17,\"text\":\"\\t<div class=\\\"blockMessage blockMessage--error\\\">{{ phrase('xfrm_new_icon_could_not_be_applied_try_later') }}</div>\",\"title\":\"xfrm_resource_view\"},{\"line\":52,\"text\":\"\\t\\t\\t\\t\\t<xf:if is=\\\"$trimmedDescription\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":53,\"text\":\"\\t\\t\\t\\t\\t\\t{{ bb_code($trimmedDescription, 'resource_update', $description) }}\",\"title\":\"xfrm_resource_view\"},{\"line\":55,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"block-rowMessage block-rowMessage--important\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":62,\"text\":\"\\t\\t\\t\\t\\t\\t{{ bb_code($description.message, 'resource_update', $description) }}\",\"title\":\"xfrm_resource_view\"},{\"line\":73,\"text\":\"\\t\\t\\t\\t\\t<xf:if is=\\\"$description.attach_count\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":78,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:foreach loop=\\\"$description.Attachments\\\" value=\\\"$attachment\\\" if=\\\"!$description.isAttachmentEmbedded($attachment)\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":94,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:react content=\\\"{$description}\\\" link=\\\"resources/update/react\\\" list=\\\"< .js-resourceBody | .js-reactionsList\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":102,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.canReport()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":103,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/report', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":113,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.edit_count && $description.canViewHistory()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":114,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/history', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":122,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.canDelete('soft')\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":123,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/delete', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":128,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.visitor.canViewIps() && $description.ip_id\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":129,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/ip', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":134,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.canWarn()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":135,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/warn', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":138,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:elseif is=\\\"$description.warning_id && $xf.visitor.canViewWarnings()\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":139,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('warnings', {'warning_id': $description.warning_id}) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":168,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"reactionsBar js-reactionsList {{ $description.reactions ? 'is-active' : '' }}\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":169,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:reactions content=\\\"{$description}\\\" link=\\\"resources/update/reactions\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":172,\"text\":\"\\t\\t\\t\\t\\t<xf:if is=\\\"$description.edit_count && $description.canViewHistory()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":331,\"text\":\"\\t\\t\\t\\t\\t<div>{{ snippet($update.message, 100, {'stripBbCode': true}) }}</div>\",\"title\":\"xfrm_resource_view\"},{\"line\":19,\"text\":\"\\t\\t<div class=\\\"blockMessage blockMessage--alt blockMessage--small blockMessage--close\\\">\",\"title\":\"xfrm_resource_wrapper\"},{\"line\":20,\"text\":\"\\t\\t\\t<xf:contentcheck>{{ prefix_description('resource', $resource.prefix_id) }}</xf:contentcheck>\",\"title\":\"xfrm_resource_wrapper\"},{\"line\":61,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"p-description\\\">\",\"title\":\"xfrm_resource_wrapper_macros\"},{\"line\":108,\"text\":\"\\t\\t\\t\\t\\t<dd class=\\\"blockStatus-message blockStatus-message--deleted\\\">\",\"title\":\"xfrm_resource_wrapper_macros\"},{\"line\":112,\"text\":\"\\t\\t\\t\\t\\t<dd class=\\\"blockStatus-message blockStatus-message--moderated\\\">\",\"title\":\"xfrm_resource_wrapper_macros\"}],\"update\":{\"message_bytes\":6764,\"message_sha\":\"72be6b3055218854fd03ce9cb68906a1123141a78022518e32f494dc456baf77\",\"resource_update_id\":10,\"source_url\":true,\"verify_phrase\":true}}}\nNEWFI121R2_PRODUCTION={\"_qga_transport\":\"stdin\",\"http_probes\":{\"resource_bust\":{\"body_bytes\":65975,\"body_sha256\":\"8d985e5ba5dfe6f05acf4befcc4fcd4247564714525d69c7b0a2521489851f67\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/?content207_rca=NEWFI-260919-NEWFDOM-CONTENT207-PUBLICRCA121R2\",\"verify_phrase\":false},\"resource_nocache\":{\"body_bytes\":65975,\"body_sha256\":\"c2ef9332e95301e9611d6fc5ece6bb715961e2a651d65005c561ed64dd8e3e64\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/\",\"verify_phrase\":false},\"resource_normal\":{\"body_bytes\":65975,\"body_sha256\":\"f0110b8de5364b52bcf9d17d3dc639a4e723e3d609bc897e814f38a8ed947621\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/\",\"verify_phrase\":false},\"update_bust\":{\"body_bytes\":65975,\"body_sha256\":\"6e81140c90194a9fafa693b981c5c3a171b8157e9a2fb30e8bbf2158b06f36f8\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:18 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/update/4/?content207_rca=NEWFI-260919-NEWFDOM-CONTENT207-PUBLICRCA121R2\",\"verify_phrase\":false},\"update_normal\":{\"body_bytes\":65975,\"body_sha256\":\"9ca709a8ef1a6e7b9396737e8c0d7496eb488a1d62dc5b30dede7ebfbbb1a1ac\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/update/4/\",\"verify_phrase\":false}},\"ok\":true,\"role\":\"production\",\"source_scans\":[{\"matches\":[{\"line\":73,\"text\":\"\"},{\"line\":74,\"text\":\"\\t\\t$listParams = $overviewPlugin->getCoreListData($viewableCategoryIds);\"},{\"line\":75,\"text\":\"\"},{\"line\":76,\"text\":\"\\t\\t$this->assertValidPage($listParams['page'], $listParams['perPage'], $listParams['total'], 'resources');\"},{\"line\":77,\"text\":\"\\t\\t$this->assertCanonicalUrl($this->buildPaginatedLink('resources', null, $listParams['page']));\"},{\"line\":78,\"text\":\"\"},{\"line\":79,\"text\":\"\\t\\t$viewParams = $categoryParams + $listParams;\"},{\"line\":80,\"text\":\"\"},{\"line\":81,\"text\":\"\\t\\treturn $this->view('XFRM:Overview', 'xfrm_overview', $viewParams);\"},{\"line\":82,\"text\":\"\\t}\"},{\"line\":83,\"text\":\"\"},{\"line\":84,\"text\":\"\\tpublic function actionFilters()\"},{\"line\":85,\"text\":\"\\t{\"},{\"line\":86,\"text\":\"\\t\\t/** @var Overview $overviewPlugin */\"},{\"line\":87,\"text\":\"\\t\\t$overviewPlugin = $this->plugin('XFRM:Overview');\"},{\"line\":112,\"text\":\"\\t\\t$this->assertValidPage($page, $perPage, $total, 'resources/latest-reviews');\"},{\"line\":113,\"text\":\"\\t\\t$this->assertCanonicalUrl($this->buildPaginatedLink('resources/latest-reviews', null, $page));\"},{\"line\":114,\"text\":\"\"},{\"line\":115,\"text\":\"\\t\\t$reviews = $finder->limitByPage($page, $perPage)->fetch();\"},{\"line\":116,\"text\":\"\\t\\t$reviews = $reviews->filterViewable();\"},{\"line\":117,\"text\":\"\"},{\"line\":118,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":119,\"text\":\"\\t\\t\\t'reviews' => $reviews,\"},{\"line\":120,\"text\":\"\\t\\t\\t'page' => $page,\"},{\"line\":121,\"text\":\"\\t\\t\\t'perPage' => $perPage,\"},{\"line\":122,\"text\":\"\\t\\t\\t'total' => $total,\"},{\"line\":123,\"text\":\"\\t\\t];\"},{\"line\":124,\"text\":\"\\t\\treturn $this->view('XFRM:LatestReviews', 'xfrm_latest_reviews', $viewParams);\"},{\"line\":125,\"text\":\"\\t}\"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\"\\tpublic function actionAdd()\"},{\"line\":128,\"text\":\"\\t{\"},{\"line\":129,\"text\":\"\\t\\t/** @var User $visitor */\"},{\"line\":130,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":169,\"text\":\"\"},{\"line\":170,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":171,\"text\":\"\\t\\t});\"},{\"line\":172,\"text\":\"\"},{\"line\":173,\"text\":\"\\t\\t$categoryExtras = $categoryRepo->getCategoryListExtras($categoryTree);\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":176,\"text\":\"\\t\\t\\t'categoryTree' => $categoryTree,\"},{\"line\":177,\"text\":\"\\t\\t\\t'categoryExtras' => $categoryExtras,\"},{\"line\":178,\"text\":\"\\t\\t];\"},{\"line\":179,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\AddChooser', 'xfrm_resource_add_chooser', $viewParams);\"},{\"line\":180,\"text\":\"\\t}\"},{\"line\":181,\"text\":\"\"},{\"line\":182,\"text\":\"\\tpublic function actionView(ParameterBag $params)\"},{\"line\":183,\"text\":\"\\t{\"},{\"line\":184,\"text\":\"\\t\\t$this->assertNotEmbeddedImageRequest();\"},{\"line\":185,\"text\":\"\"},{\"line\":186,\"text\":\"\\t\\t$resource = $this->assertViewableResource($params->resource_id, $this->getResourceViewExtraWith());\"},{\"line\":187,\"text\":\"\"},{\"line\":188,\"text\":\"\\t\\t$this->assertCanonicalUrl($this->buildLink('resources', $resource));\"},{\"line\":231,\"text\":\"\\t\\t}\"},{\"line\":232,\"text\":\"\\t\\telse\"},{\"line\":233,\"text\":\"\\t\\t{\"},{\"line\":234,\"text\":\"\\t\\t\\t$authorOthers = $this->em()->getEmptyCollection();\"},{\"line\":235,\"text\":\"\\t\\t}\"},{\"line\":236,\"text\":\"\"},{\"line\":237,\"text\":\"\\t\\t$trimmedDescription = null;\"},{\"line\":238,\"text\":\"\"},{\"line\":239,\"text\":\"\\t\\tif (!$resource->canViewFullDescription())\"},{\"line\":240,\"text\":\"\\t\\t{\"},{\"line\":241,\"text\":\"\\t\\t\\t$snippet = $this->app->stringFormatter()->wholeWordTrim(\"},{\"line\":242,\"text\":\"\\t\\t\\t\\t$resource->Description->message,\"},{\"line\":243,\"text\":\"\\t\\t\\t\\t$this->options()->xfrmFilelessViewFull['length']\"},{\"line\":244,\"text\":\"\\t\\t\\t);\"},{\"line\":245,\"text\":\"\\t\\t\\tif (strlen($snippet) < strlen($resource->Description->message))\"},{\"line\":246,\"text\":\"\\t\\t\\t{\"},{\"line\":247,\"text\":\"\\t\\t\\t\\t// just cleaning BB code, so not passing the content\"},{\"line\":248,\"text\":\"\\t\\t\\t\\t$trimmedDescription = $this->app->bbCode()->render($snippet, 'bbCodeClean', 'resource_update', null);\"},{\"line\":249,\"text\":\"\\t\\t\\t}\"},{\"line\":250,\"text\":\"\\t\\t}\"},{\"line\":251,\"text\":\"\"},{\"line\":252,\"text\":\"\\t\\tif ($this->isContentViewCounted())\"},{\"line\":253,\"text\":\"\\t\\t{\"},{\"line\":254,\"text\":\"\\t\\t\\t$this->repository('XFRM:ResourceItem')->logResourceView($resource);\"},{\"line\":255,\"text\":\"\\t\\t}\"},{\"line\":256,\"text\":\"\"},{\"line\":257,\"text\":\"\\t\\t$shownUpdateIds = $latestUpdates->keys();\"},{\"line\":258,\"text\":\"\\t\\t$shownUpdateIds[] = $resource->description_update_id;\"},{\"line\":259,\"text\":\"\"},{\"line\":260,\"text\":\"\\t\\t/** @var UserAlert $userAlertRepo */\"},{\"line\":261,\"text\":\"\\t\\t$userAlertRepo = $this->repository('XF:UserAlert');\"},{\"line\":262,\"text\":\"\\t\\t$userAlertRepo->markUserAlertsReadForContent('resource_update', $shownUpdateIds);\"},{\"line\":263,\"text\":\"\\t\\t$userAlertRepo->markUserAlertsReadForContent('resource', $resource->resource_id);\"},{\"line\":264,\"text\":\"\"},{\"line\":265,\"text\":\"\\t\\t$description = $resource->Description;\"},{\"line\":266,\"text\":\"\"},{\"line\":267,\"text\":\"\\t\\t/** @var EmbedResolver $embedRepo */\"},{\"line\":268,\"text\":\"\\t\\t$embedRepo = $this->repository('XF:EmbedResolver');\"},{\"line\":269,\"text\":\"\\t\\t$embedRepo->addEmbedsToContent([$description]);\"},{\"line\":270,\"text\":\"\"},{\"line\":271,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":272,\"text\":\"\\t\\t\\t'resource' => $resource,\"},{\"line\":273,\"text\":\"\\t\\t\\t'category' => $resource->Category,\"},{\"line\":274,\"text\":\"\\t\\t\\t'description' => $description,\"},{\"line\":275,\"text\":\"\\t\\t\\t'trimmedDescription' => $trimmedDescription,\"},{\"line\":276,\"text\":\"\\t\\t\\t'latestUpdates' => $latestUpdates,\"},{\"line\":277,\"text\":\"\\t\\t\\t'latestReviews' => $latestReviews,\"},{\"line\":278,\"text\":\"\\t\\t\\t'teamMembers' => $teamMembers,\"},{\"line\":279,\"text\":\"\\t\\t\\t'authorOthers' => $authorOthers,\"},{\"line\":280,\"text\":\"\\t\\t\\t'iconError' => $this->filter('icon_error', 'bool'),\"},{\"line\":281,\"text\":\"\\t\\t];\"},{\"line\":282,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\View', 'xfrm_resource_view', $viewParams);\"},{\"line\":283,\"text\":\"\\t}\"},{\"line\":284,\"text\":\"\"},{\"line\":285,\"text\":\"\\tprotected function getResourceViewExtraWith()\"},{\"line\":286,\"text\":\"\\t{\"},{\"line\":287,\"text\":\"\\t\\t$extraWith = [];\"},{\"line\":288,\"text\":\"\\t\\t$userId = \\\\XF::visitor()->user_id;\"},{\"line\":289,\"text\":\"\\t\\tif ($userId)\"},{\"line\":290,\"text\":\"\\t\\t{\"},{\"line\":291,\"text\":\"\\t\\t\\t$extraWith[] = 'Watch|' . $userId;\"},{\"line\":292,\"text\":\"\\t\\t\\t$extraWith[] = 'CurrentVersion.Downloads|' . $userId;\"},{\"line\":293,\"text\":\"\\t\\t\\t$extraWith[] = 'Description.Reactions|' . $userId;\"},{\"line\":294,\"text\":\"\\t\\t}\"},{\"line\":295,\"text\":\"\"},{\"line\":296,\"text\":\"\\t\\treturn $extraWith;\"},{\"line\":297,\"text\":\"\\t}\"},{\"line\":298,\"text\":\"\"},{\"line\":299,\"text\":\"\\tpublic function actionExtra(ParameterBag $params)\"},{\"line\":301,\"text\":\"\\t\\t$resource = $this->assertViewableResource($params->resource_id);\"},{\"line\":302,\"text\":\"\\t\\tif (!$resource->hasExtraInfoTab())\"},{\"line\":303,\"text\":\"\\t\\t{\"},{\"line\":304,\"text\":\"\\t\\t\\treturn $this->redirect($this->buildLink('resources', $resource));\"},{\"line\":305,\"text\":\"\\t\\t}\"},{\"line\":306,\"text\":\"\"},{\"line\":307,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":308,\"text\":\"\\t\\t\\t'resource' => $resource,\"},{\"line\":309,\"text\":\"\\t\\t\\t'category' => $resource->Category,\"},{\"line\":310,\"text\":\"\\t\\t];\"},{\"line\":311,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\Extra', 'xfrm_resource_extra', $viewParams);\"},{\"line\":312,\"text\":\"\\t}\"},{\"line\":313,\"text\":\"\"},{\"line\":314,\"text\":\"\\tpublic function actionField(ParameterBag $params)\"},{\"line\":315,\"text\":\"\\t{\"},{\"line\":316,\"text\":\"\\t\\t$resource = $this->assertViewableResource($params->resource_id);\"},{\"line\":317,\"text\":\"\"},{\"line\":325,\"text\":\"\"},{\"line\":326,\"text\":\"\\t\\t/** @var Set $fieldSet */\"},{\"line\":327,\"text\":\"\\t\\t$fieldSet = $resource->custom_fields;\"},{\"line\":328,\"text\":\"\\t\\t$definition = $fieldSet->getDefinition($fieldId);\"},{\"line\":329,\"text\":\"\\t\\t$fieldValue = $fieldSet->getFieldValue($fieldId);\"},{\"line\":330,\"text\":\"\"},{\"line\":331,\"text\":\"\\t\\t$viewParams = [\"},{\"line\":332,\"text\":\"\\t\\t\\t'resource' => $resource,\"},{\"line\":333,\"text\":\"\\t\\t\\t'category' => $resource->Category,\"},{\"line\":334,\"text\":\"\"},{\"line\":335,\"text\":\"\\t\\t\\t'fieldId' => $fieldId,\"},{\"line\":336,\"text\":\"\\t\\t\\t'fieldDefinition' => $definition,\"},{\"line\":337,\"text\":\"\\t\\t\\t'fieldValue' => $fieldValue,\"},{\"line\":338,\"text\":\"\\t\\t];\"},{\"line\":339,\"text\":\"\\t\\treturn $this->view('XFRM:ResourceItem\\\\Field', 'xfrm_resource_field', $viewParams);\"},{\"line\":340,\"text\":\"\\t}\"},{\"line\":341,\"text\":\"\"},{\"line\":342,\"text\":\"\\tpublic function actionUpdates(ParameterBag $params)\"},{\"line\":343,\"text\":\"\\t{\"},{\"line\":344,\"text\":\"\\t\\t$this->assertNotEmbeddedImageRequest();\"}],\"path\":\"src/addons/XFRM/Pub/Controller/ResourceItem.php\",\"present\":true,\"sha256\":\"78aaaaaf3ad95aedde7b4a1e4d8ec026b9a305dd4a2a23172d28a756244b9f67\"},{\"matches\":[{\"line\":48,\"text\":\" * @property array $team_member_user_ids\"},{\"line\":49,\"text\":\" * @property string $resource_state\"},{\"line\":50,\"text\":\" * @property string $resource_type\"},{\"line\":51,\"text\":\" * @property int $resource_date\"},{\"line\":52,\"text\":\" * @property int $resource_category_id\"},{\"line\":53,\"text\":\" * @property int $current_version_id\"},{\"line\":54,\"text\":\" * @property int $description_update_id\"},{\"line\":55,\"text\":\" * @property int $discussion_thread_id\"},{\"line\":56,\"text\":\" * @property string $external_url\"},{\"line\":57,\"text\":\" * @property string $external_url_\"},{\"line\":58,\"text\":\" * @property string $external_purchase_url\"},{\"line\":59,\"text\":\" * @property string $external_purchase_url_\"},{\"line\":60,\"text\":\" * @property float $price\"},{\"line\":65,\"text\":\" * @property int $rating_sum\"},{\"line\":66,\"text\":\" * @property float $rating_avg\"},{\"line\":67,\"text\":\" * @property float $rating_weighted\"},{\"line\":68,\"text\":\" * @property array|null $rating_split\"},{\"line\":69,\"text\":\" * @property int $update_count\"},{\"line\":70,\"text\":\" * @property int $review_count\"},{\"line\":71,\"text\":\" * @property int $last_update\"},{\"line\":72,\"text\":\" * @property string $alt_support_url\"},{\"line\":73,\"text\":\" * @property string $alt_support_url_\"},{\"line\":74,\"text\":\" * @property array|null $custom_fields_\"},{\"line\":75,\"text\":\" * @property int $prefix_id\"},{\"line\":76,\"text\":\" * @property int $icon_date\"},{\"line\":77,\"text\":\" * @property bool $icon_optimized\"},{\"line\":89,\"text\":\" * @property-read string|null $cover_image\"},{\"line\":90,\"text\":\" *\"},{\"line\":91,\"text\":\" * RELATIONS\"},{\"line\":92,\"text\":\" * @property-read Category|null $Category\"},{\"line\":93,\"text\":\" * @property-read User|null $User\"},{\"line\":94,\"text\":\" * @property-read AbstractCollection<ResourceTeamMember> $TeamMembers\"},{\"line\":95,\"text\":\" * @property-read ResourceUpdate|null $Description\"},{\"line\":96,\"text\":\" * @property-read ResourceVersion|null $CurrentVersion\"},{\"line\":97,\"text\":\" * @property-read Thread|null $Discussion\"},{\"line\":98,\"text\":\" * @property-read ResourcePrefix|null $Prefix\"},{\"line\":99,\"text\":\" * @property-read AbstractCollection<ResourceWatch> $Watch\"},{\"line\":100,\"text\":\" * @property-read DeletionLog|null $DeletionLog\"},{\"line\":101,\"text\":\" * @property-read ApprovalQueue|null $ApprovalQueue\"},{\"line\":139,\"text\":\"\\t\\t$mainEntity = [\"},{\"line\":140,\"text\":\"\\t\\t\\t'@type' => 'CreativeWork',\"},{\"line\":141,\"text\":\"\\t\\t\\t'@id' => $resourceLink,\"},{\"line\":142,\"text\":\"\\t\\t\\t'headline' => $this->title,\"},{\"line\":143,\"text\":\"\\t\\t\\t'alternativeHeadline' => $this->tag_line,\"},{\"line\":144,\"text\":\"\\t\\t\\t'dateCreated' => gmdate('c', $this->resource_date),\"},{\"line\":145,\"text\":\"\\t\\t\\t'dateModified' => $this->last_update\"},{\"line\":146,\"text\":\"\\t\\t\\t\\t? gmdate('c', $this->last_update)\"},{\"line\":147,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":148,\"text\":\"\\t\\t\\t'keywords' => implode(', ', array_column($this->tags, 'tag')),\"},{\"line\":149,\"text\":\"\\t\\t\\t'url' => $resourceLink,\"},{\"line\":150,\"text\":\"\\t\\t\\t'thumbnailUrl' => $options->xfrmAllowIcons && $this->icon_date\"},{\"line\":151,\"text\":\"\\t\\t\\t\\t? $this->getIconUrl('s', true)\"},{\"line\":152,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":153,\"text\":\"\\t\\t\\t'version' => $this->isVersioned()\"},{\"line\":154,\"text\":\"\\t\\t\\t\\t? $this->CurrentVersion->version_string\"},{\"line\":155,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":156,\"text\":\"\\t\\t\\t'discussionUrl' => $this->hasViewableDiscussion()\"},{\"line\":157,\"text\":\"\\t\\t\\t\\t? $this->Discussion->getContentUrl(true)\"},{\"line\":158,\"text\":\"\\t\\t\\t\\t: null,\"},{\"line\":159,\"text\":\"\\t\\t\\t'description' => $strFormatter->snippetString(\"},{\"line\":160,\"text\":\"\\t\\t\\t\\t$this->Description->message,\"},{\"line\":161,\"text\":\"\\t\\t\\t\\t0,\"},{\"line\":162,\"text\":\"\\t\\t\\t\\t['stripBbCode' => true]\"},{\"line\":163,\"text\":\"\\t\\t\\t),\"},{\"line\":164,\"text\":\"\\t\\t\\t'author' => [\"},{\"line\":165,\"text\":\"\\t\\t\\t\\t'@type' => 'Person',\"},{\"line\":166,\"text\":\"\\t\\t\\t\\t'@id' => $userLink,\"},{\"line\":168,\"text\":\"\\t\\t\\t\\t'url' => $userLink,\"},{\"line\":169,\"text\":\"\\t\\t\\t],\"},{\"line\":170,\"text\":\"\\t\\t\\t'interactionStatistic' => [\"},{\"line\":171,\"text\":\"\\t\\t\\t\\t[\"},{\"line\":172,\"text\":\"\\t\\t\\t\\t\\t'@type' => 'InteractionCounter',\"},{\"line\":173,\"text\":\"\\t\\t\\t\\t\\t'interactionType' => 'https://schema.org/LikeAction',\"},{\"line\":174,\"text\":\"\\t\\t\\t\\t\\t'userInteractionCount' => $this->Description->reaction_score,\"},{\"line\":175,\"text\":\"\\t\\t\\t\\t],\"},{\"line\":176,\"text\":\"\\t\\t\\t\\t[\"},{\"line\":177,\"text\":\"\\t\\t\\t\\t\\t'@type' => 'InteractionCounter',\"},{\"line\":178,\"text\":\"\\t\\t\\t\\t\\t'interactionType' => 'https://schema.org/ViewAction',\"},{\"line\":179,\"text\":\"\\t\\t\\t\\t\\t'userInteractionCount' => $this->view_count,\"},{\"line\":180,\"text\":\"\\t\\t\\t\\t],\"},{\"line\":212,\"text\":\"\\t\\t\\t'url' => $resourceLink,\"},{\"line\":213,\"text\":\"\\t\\t\\t'mainEntity' => $mainEntity,\"},{\"line\":214,\"text\":\"\\t\\t\\t'publisher' => [\"},{\"line\":215,\"text\":\"\\t\\t\\t\\t'@type' => 'Organization',\"},{\"line\":216,\"text\":\"\\t\\t\\t\\t'name' => $options->boardTitle,\"},{\"line\":217,\"text\":\"\\t\\t\\t\\t'alternateName' => $options->boardShortTitle ?: null,\"},{\"line\":218,\"text\":\"\\t\\t\\t\\t'description' => $options->boardDescription ?: null,\"},{\"line\":219,\"text\":\"\\t\\t\\t\\t'url' => $options->boardUrl,\"},{\"line\":220,\"text\":\"\\t\\t\\t\\t'logo' => $logo,\"},{\"line\":221,\"text\":\"\\t\\t\\t],\"},{\"line\":222,\"text\":\"\\t\\t];\"},{\"line\":223,\"text\":\"\"},{\"line\":224,\"text\":\"\\t\\treturn Arr::filterNull($structuredData, true);\"},{\"line\":314,\"text\":\"\"},{\"line\":315,\"text\":\"\\tpublic function canDownload(&$error = null)\"},{\"line\":316,\"text\":\"\\t{\"},{\"line\":317,\"text\":\"\\t\\treturn $this->hasPermission('download') || $this->isTeamMember();\"},{\"line\":318,\"text\":\"\\t}\"},{\"line\":319,\"text\":\"\"},{\"line\":320,\"text\":\"\\tpublic function canViewFullDescription()\"},{\"line\":321,\"text\":\"\\t{\"},{\"line\":322,\"text\":\"\\t\\tif ($this->resource_type != 'fileless')\"},{\"line\":323,\"text\":\"\\t\\t{\"},{\"line\":324,\"text\":\"\\t\\t\\treturn true;\"},{\"line\":325,\"text\":\"\\t\\t}\"},{\"line\":326,\"text\":\"\"},{\"line\":953,\"text\":\"\\t{\"},{\"line\":954,\"text\":\"\\t\\tif (!$teamUser)\"},{\"line\":955,\"text\":\"\\t\\t{\"},{\"line\":956,\"text\":\"\\t\\t\\t$teamUser = \\\\XF::visitor();\"},{\"line\":957,\"text\":\"\\t\\t}\"},{\"line\":958,\"text\":\"\"},{\"line\":959,\"text\":\"\\t\\t$update = $this->_em->create('XFRM:ResourceUpdate');\"},{\"line\":960,\"text\":\"\"},{\"line\":961,\"text\":\"\\t\\t$update->resource_id = $this->_getDeferredValue(function ()\"},{\"line\":962,\"text\":\"\\t\\t{\"},{\"line\":963,\"text\":\"\\t\\t\\treturn $this->resource_id;\"},{\"line\":964,\"text\":\"\\t\\t}, 'save');\"},{\"line\":965,\"text\":\"\"},{\"line\":996,\"text\":\"\\t{\"},{\"line\":997,\"text\":\"\\t\\treturn Draft::createFromEntity($this, 'DraftUpdates');\"},{\"line\":998,\"text\":\"\\t}\"},{\"line\":999,\"text\":\"\"},{\"line\":1000,\"text\":\"\\tpublic function getCoverImage(): ?string\"},{\"line\":1001,\"text\":\"\\t{\"},{\"line\":1002,\"text\":\"\\t\\t$description = $this->Description;\"},{\"line\":1003,\"text\":\"\\t\\tif (!$description)\"},{\"line\":1004,\"text\":\"\\t\\t{\"},{\"line\":1005,\"text\":\"\\t\\t\\treturn null;\"},{\"line\":1006,\"text\":\"\\t\\t}\"},{\"line\":1007,\"text\":\"\"},{\"line\":1008,\"text\":\"\\t\\t$attachments = $description->attach_count\"},{\"line\":1009,\"text\":\"\\t\\t\\t? $description->Attachments\"},{\"line\":1010,\"text\":\"\\t\\t\\t: $this->_em->getEmptyCollection();\"},{\"line\":1011,\"text\":\"\"},{\"line\":1012,\"text\":\"\\t\\treturn $this->getCoverImageInternal(\"},{\"line\":1013,\"text\":\"\\t\\t\\t$attachments,\"},{\"line\":1014,\"text\":\"\\t\\t\\t$this->canViewUpdateImages(),\"},{\"line\":1015,\"text\":\"\\t\\t\\t$description->embed_metadata,\"},{\"line\":1016,\"text\":\"\\t\\t\\t$description->message\"},{\"line\":1017,\"text\":\"\\t\\t);\"},{\"line\":1018,\"text\":\"\\t}\"},{\"line\":1019,\"text\":\"\"},{\"line\":1020,\"text\":\"\\tpublic function getFieldEditMode()\"},{\"line\":1021,\"text\":\"\\t{\"},{\"line\":1022,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":1055,\"text\":\"\\t\\tif (!$this->canViewDeletedContent() && !$this->canViewModeratedContent())\"},{\"line\":1056,\"text\":\"\\t\\t{\"},{\"line\":1057,\"text\":\"\\t\\t\\treturn $this->update_count;\"},{\"line\":1058,\"text\":\"\\t\\t}\"},{\"line\":1059,\"text\":\"\\t\\telse\"},{\"line\":1060,\"text\":\"\\t\\t{\"},{\"line\":1061,\"text\":\"\\t\\t\\t/** @var \\\\XFRM\\\\Repository\\\\ResourceUpdate $updateRepo */\"},{\"line\":1062,\"text\":\"\\t\\t\\t$updateRepo = $this->repository('XFRM:ResourceUpdate');\"},{\"line\":1063,\"text\":\"\\t\\t\\treturn $updateRepo->findUpdatesInResource($this)->total();\"},{\"line\":1064,\"text\":\"\\t\\t}\"},{\"line\":1065,\"text\":\"\\t}\"},{\"line\":1066,\"text\":\"\"},{\"line\":1067,\"text\":\"\\t/**\"},{\"line\":1068,\"text\":\"\\t * @return int\"}],\"path\":\"src/addons/XFRM/Entity/ResourceItem.php\",\"present\":true,\"sha256\":\"703773471dd35c876a0fed578a60dfc51e1dafc9520ad1493282b50fd9e05262\"},{\"matches\":[{\"line\":21,\"text\":\"use XF\\\\Mvc\\\\Entity\\\\Structure;\"},{\"line\":22,\"text\":\"use XF\\\\Repository\\\\UserAlert;\"},{\"line\":23,\"text\":\"use XF\\\\Spam\\\\ContentChecker;\"},{\"line\":24,\"text\":\"\"},{\"line\":25,\"text\":\"/**\"},{\"line\":26,\"text\":\" * COLUMNS\"},{\"line\":27,\"text\":\" * @property int|null $resource_update_id\"},{\"line\":28,\"text\":\" * @property int $resource_id\"},{\"line\":29,\"text\":\" * @property int $team_user_id\"},{\"line\":30,\"text\":\" * @property string $team_username\"},{\"line\":31,\"text\":\" * @property string $title\"},{\"line\":32,\"text\":\" * @property string $title_\"},{\"line\":33,\"text\":\" * @property string $message\"},{\"line\":34,\"text\":\" * @property string $message_state\"},{\"line\":35,\"text\":\" * @property int $post_date\"},{\"line\":36,\"text\":\" * @property int $attach_count\"},{\"line\":37,\"text\":\" * @property int $ip_id\"},{\"line\":38,\"text\":\" * @property int $warning_id\"},{\"line\":39,\"text\":\" * @property string $warning_message\"},{\"line\":40,\"text\":\" * @property int $last_edit_date\"},{\"line\":41,\"text\":\" * @property int $last_edit_user_id\"},{\"line\":42,\"text\":\" * @property int $edit_count\"},{\"line\":43,\"text\":\" * @property array|null $embed_metadata\"},{\"line\":44,\"text\":\" * @property int $reaction_score\"},{\"line\":45,\"text\":\" * @property array|null $reactions_\"},{\"line\":46,\"text\":\" * @property array|null $reaction_users_\"},{\"line\":47,\"text\":\" *\"},{\"line\":48,\"text\":\" * GETTERS\"},{\"line\":49,\"text\":\" * @property-read string $resource_title\"},{\"line\":50,\"text\":\" * @property mixed $reactions\"},{\"line\":51,\"text\":\" * @property mixed $reaction_users\"},{\"line\":52,\"text\":\" * @property-read array $Embeds\"},{\"line\":53,\"text\":\" *\"},{\"line\":54,\"text\":\" * RELATIONS\"},{\"line\":55,\"text\":\" * @property-read ResourceItem|null $Resource\"},{\"line\":56,\"text\":\" * @property-read User|null $TeamUser\"},{\"line\":57,\"text\":\" * @property-read AbstractCollection<Attachment> $Attachments\"},{\"line\":58,\"text\":\" * @property-read DeletionLog|null $DeletionLog\"},{\"line\":59,\"text\":\" * @property-read ApprovalQueue|null $ApprovalQueue\"},{\"line\":60,\"text\":\" * @property-read AbstractCollection<ReactionContent> $Reactions\"},{\"line\":61,\"text\":\" * @property-read AbstractCollection<BookmarkItem> $Bookmarks\"},{\"line\":62,\"text\":\" */\"},{\"line\":63,\"text\":\"class ResourceUpdate extends Entity implements RenderableContentInterface, LinkableInterface, ViewableInterface\"},{\"line\":64,\"text\":\"{\"},{\"line\":65,\"text\":\"\\tuse BookmarkTrait;\"},{\"line\":66,\"text\":\"\\tuse EmbedRendererTrait;\"},{\"line\":67,\"text\":\"\\tuse EmbedResolverTrait;\"},{\"line\":68,\"text\":\"\\tuse ReactionTrait;\"},{\"line\":69,\"text\":\"\"},{\"line\":70,\"text\":\"\\tpublic function canView(&$error = null)\"},{\"line\":71,\"text\":\"\\t{\"},{\"line\":72,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":73,\"text\":\"\"},{\"line\":74,\"text\":\"\\t\\tif (!$resource || !$resource->canView($error))\"},{\"line\":75,\"text\":\"\\t\\t{\"},{\"line\":76,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":77,\"text\":\"\\t\\t}\"},{\"line\":78,\"text\":\"\"},{\"line\":79,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":80,\"text\":\"\"},{\"line\":81,\"text\":\"\\t\\tif ($this->message_state == 'moderated')\"},{\"line\":82,\"text\":\"\\t\\t{\"},{\"line\":83,\"text\":\"\\t\\t\\tif (\"},{\"line\":84,\"text\":\"\\t\\t\\t\\t!$resource->hasPermission('viewModerated')\"},{\"line\":85,\"text\":\"\\t\\t\\t\\t&& (!$visitor->user_id || !$resource->isTeamMember())\"},{\"line\":86,\"text\":\"\\t\\t\\t)\"},{\"line\":87,\"text\":\"\\t\\t\\t{\"},{\"line\":88,\"text\":\"\\t\\t\\t\\treturn false;\"},{\"line\":89,\"text\":\"\\t\\t\\t}\"},{\"line\":90,\"text\":\"\\t\\t}\"},{\"line\":91,\"text\":\"\\t\\telse if ($this->message_state == 'deleted')\"},{\"line\":92,\"text\":\"\\t\\t{\"},{\"line\":93,\"text\":\"\\t\\t\\tif (!$resource->hasPermission('viewDeleted'))\"},{\"line\":94,\"text\":\"\\t\\t\\t{\"},{\"line\":95,\"text\":\"\\t\\t\\t\\treturn false;\"},{\"line\":96,\"text\":\"\\t\\t\\t}\"},{\"line\":97,\"text\":\"\\t\\t}\"},{\"line\":98,\"text\":\"\"},{\"line\":99,\"text\":\"\\t\\treturn true;\"},{\"line\":100,\"text\":\"\\t}\"},{\"line\":101,\"text\":\"\"},{\"line\":102,\"text\":\"\\tpublic function canEdit(&$error = null)\"},{\"line\":103,\"text\":\"\\t{\"},{\"line\":104,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":105,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":106,\"text\":\"\"},{\"line\":107,\"text\":\"\\t\\tif (!$visitor->user_id || !$resource)\"},{\"line\":108,\"text\":\"\\t\\t{\"},{\"line\":109,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":110,\"text\":\"\\t\\t}\"},{\"line\":111,\"text\":\"\"},{\"line\":112,\"text\":\"\\t\\treturn $resource->canEdit($error);\"},{\"line\":113,\"text\":\"\\t}\"},{\"line\":114,\"text\":\"\"},{\"line\":115,\"text\":\"\\tpublic function canViewHistory(&$error = null): bool\"},{\"line\":116,\"text\":\"\\t{\"},{\"line\":117,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":118,\"text\":\"\\t\\tif (!$visitor->user_id)\"},{\"line\":122,\"text\":\"\"},{\"line\":123,\"text\":\"\\t\\tif (!$this->app()->options()->editHistory['enabled'])\"},{\"line\":124,\"text\":\"\\t\\t{\"},{\"line\":125,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":126,\"text\":\"\\t\\t}\"},{\"line\":127,\"text\":\"\"},{\"line\":128,\"text\":\"\\t\\tif ($this->Resource && $this->Resource->hasPermission('editAny'))\"},{\"line\":129,\"text\":\"\\t\\t{\"},{\"line\":130,\"text\":\"\\t\\t\\treturn true;\"},{\"line\":131,\"text\":\"\\t\\t}\"},{\"line\":132,\"text\":\"\"},{\"line\":133,\"text\":\"\\t\\treturn false;\"},{\"line\":134,\"text\":\"\\t}\"},{\"line\":135,\"text\":\"\"},{\"line\":136,\"text\":\"\\tpublic function canDelete($type = 'soft', &$error = null)\"},{\"line\":137,\"text\":\"\\t{\"},{\"line\":138,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":139,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":140,\"text\":\"\"},{\"line\":141,\"text\":\"\\t\\tif ($this->isDescription() || !$visitor->user_id || !$resource)\"},{\"line\":142,\"text\":\"\\t\\t{\"},{\"line\":143,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":144,\"text\":\"\\t\\t}\"},{\"line\":145,\"text\":\"\"},{\"line\":146,\"text\":\"\\t\\tif ($type != 'soft')\"},{\"line\":147,\"text\":\"\\t\\t{\"},{\"line\":148,\"text\":\"\\t\\t\\treturn $resource->hasPermission('hardDeleteAny');\"},{\"line\":149,\"text\":\"\\t\\t}\"},{\"line\":150,\"text\":\"\"},{\"line\":151,\"text\":\"\\t\\tif ($resource->hasPermission('deleteAny'))\"},{\"line\":152,\"text\":\"\\t\\t{\"},{\"line\":153,\"text\":\"\\t\\t\\treturn true;\"},{\"line\":154,\"text\":\"\\t\\t}\"},{\"line\":155,\"text\":\"\"},{\"line\":156,\"text\":\"\\t\\tif (\"},{\"line\":157,\"text\":\"\\t\\t\\t$resource->isTeamMember()\"},{\"line\":158,\"text\":\"\\t\\t\\t&& $this->team_user_id == $visitor->user_id\"},{\"line\":159,\"text\":\"\\t\\t)\"},{\"line\":160,\"text\":\"\\t\\t{\"},{\"line\":161,\"text\":\"\\t\\t\\treturn $resource->hasPermission('updateOwn');\"},{\"line\":162,\"text\":\"\\t\\t}\"},{\"line\":163,\"text\":\"\"},{\"line\":164,\"text\":\"\\t\\treturn (\"},{\"line\":165,\"text\":\"\\t\\t\\t$resource->user_id == $visitor->user_id\"},{\"line\":166,\"text\":\"\\t\\t\\t&& $resource->hasPermission('updateOwn')\"},{\"line\":167,\"text\":\"\\t\\t);\"},{\"line\":168,\"text\":\"\\t}\"},{\"line\":169,\"text\":\"\"},{\"line\":170,\"text\":\"\\tpublic function canUndelete(&$error = null)\"},{\"line\":171,\"text\":\"\\t{\"},{\"line\":172,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":173,\"text\":\"\\t\\t$resource = $this->Resource;\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\tif (!$visitor->user_id || !$resource)\"},{\"line\":176,\"text\":\"\\t\\t{\"},{\"line\":177,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":178,\"text\":\"\\t\\t}\"},{\"line\":179,\"text\":\"\"},{\"line\":180,\"text\":\"\\t\\treturn $resource->hasPermission('undelete');\"},{\"line\":181,\"text\":\"\\t}\"},{\"line\":182,\"text\":\"\"},{\"line\":183,\"text\":\"\\tpublic function canSendModeratorActionAlert()\"}],\"path\":\"src/addons/XFRM/Entity/ResourceUpdate.php\",\"present\":true,\"sha256\":\"9e978eeef933f5dd12a66afa34eba873eb0cae8ddb527ea96fcff6b058a9d05f\"}],\"state\":{\"contentindexnow_jobs\":0,\"counts\":{\"drafts\":0,\"resources\":13,\"tag_content\":39,\"tags\":33,\"updates\":13,\"versions\":13},\"error_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],\"links\":{\"resource\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/\",\"update\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/update/4/\"},\"portal_sha\":\"5e4eae47a54970611a5f08875b2423d69e9bb57d53b3fc888d15d33a52b595ed\",\"resource\":{\"description_update_id\":4,\"last_update\":1789766867,\"resource_id\":4,\"state\":\"visible\",\"title\":\"Ньюфаундленд: что важно знать о породе\",\"type\":\"fileless\"},\"template_hits\":[{\"line\":48,\"text\":\"\\t\\t\\t\\t<xf:if is=\\\"$category.description\\\">\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":50,\"text\":\"\\t\\t\\t\\t\\t\\t{$category.description|raw}\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":100,\"text\":\"\\t\\t\\t\\t<xf:if is=\\\"$category.description\\\">\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":102,\"text\":\"\\t\\t\\t\\t\\t\\t{$category.description|raw}\",\"title\":\"xfrm_resource_add_chooser\"},{\"line\":52,\"text\":\"\\t\\t\\t<xf:macro id=\\\"xfrm_resource_edit_macros::description\\\"\",\"title\":\"xfrm_resource_edit\"},{\"line\":53,\"text\":\"\\t\\t\\t\\targ-description=\\\"{$resource.Description.message_}\\\"\",\"title\":\"xfrm_resource_edit\"},{\"line\":17,\"text\":\"\\t\\texplain=\\\"{{ phrase('xfrm_provide_very_brief_one_line_description_of_your_resource') }}\\\" />\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":63,\"text\":\"\\t\\t\\t\\thint=\\\"{{ phrase('xfrm_description_will_contain_contents_of_this_resource') }}\\\" />\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":84,\"text\":\"<xf:macro id=\\\"description\\\" arg-description=\\\"\\\" arg-attachmentData=\\\"{{ [] }}\\\" arg-previewUrl=\\\"\\\">\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":86,\"text\":\"\\t\\t<xf:editorrow name=\\\"description\\\" value=\\\"{$description}\\\" data-min-height=\\\"200\\\"\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":88,\"text\":\"\\t\\t\\tlabel=\\\"{{ phrase('description') }}\\\"\",\"title\":\"xfrm_resource_edit_macros\"},{\"line\":102,\"text\":\"\\t<xf:editorrow name=\\\"update_message\\\" data-min-height=\\\"200\\\"\",\"title\":\"xfrm_resource_post_update\"},{\"line\":103,\"text\":\"\\t\\tvalue=\\\"{$resource.draft_update.message}\\\"\",\"title\":\"xfrm_resource_post_update\"},{\"line\":105,\"text\":\"\\t\\tlabel=\\\"{{ phrase('xfrm_update_message') }}\\\"\",\"title\":\"xfrm_resource_post_update\"},{\"line\":23,\"text\":\"\\t\\t\\t<xf:textarearow name=\\\"message\\\" rows=\\\"2\\\" autosize=\\\"true\\\"\",\"title\":\"xfrm_resource_rate\"},{\"line\":28,\"text\":\"\\t\\t\\t\\tmaxlength=\\\"{$xf.options.messageMaxLength}\\\"\",\"title\":\"xfrm_resource_rate\"},{\"line\":6,\"text\":\"\\t<xf:css src=\\\"message.less\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":9,\"text\":\"\\t<div class=\\\"message message--simple{{ $review.isIgnored() ? ' is-ignored' : '' }}\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":11,\"text\":\"\\t\\t<div class=\\\"message-inner\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":12,\"text\":\"\\t\\t\\t<span class=\\\"message-cell message-cell--user\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":14,\"text\":\"\\t\\t\\t\\t\\t<xf:macro id=\\\"message_macros::user_info_simple\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":18,\"text\":\"\\t\\t\\t\\t\\t<xf:macro id=\\\"message_macros::user_info_simple\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":23,\"text\":\"\\t\\t\\t<div class=\\\"message-cell message-cell--main\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":24,\"text\":\"\\t\\t\\t\\t<div class=\\\"message-content js-messageContent\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":25,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-attribution message-attribution--plain\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":27,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-attribution-source\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":36,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<li class=\\\"message-attribution-user\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":62,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--deleted\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":72,\"text\":\"\\t\\t\\t\\t\\t\\targ-wrapperClass=\\\"message-fields message-fields--before\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":74,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-body\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":75,\"text\":\"\\t\\t\\t\\t\\t\\t{{ structured_text($review.message) }}\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":83,\"text\":\"\\t\\t\\t\\t\\t\\targ-wrapperClass=\\\"message-fields message-fields--after\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":87,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-actionBar actionBar\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":169,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-responses js-messageResponses\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":175,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"js-replyNewMessageContainer\\\"></div>\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":179,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<xf:js src=\\\"xf/action.js, xf/message.js\\\" min=\\\"1\\\" />\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":180,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-responseRow js-commentsTarget-{$review.resource_rating_id} toggleTarget\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":183,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-message-container=\\\"< .js-messageResponses | .js-replyNewMessageContainer\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":191,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:textarea name=\\\"message\\\" rows=\\\"1\\\" autosize=\\\"true\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":192,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tmaxlength=\\\"{$xf.options.messageMaxLength}\\\"\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":217,\"text\":\"\\t\\t\\t\\t<div class=\\\"message-cell message-cell--vote\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":218,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-column\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":234,\"text\":\"\\t<div class=\\\"message-responseRow\\\">\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":278,\"text\":\"\\t\\t\\t<div class=\\\"contentRow-lesser\\\">{{ snippet($review.message, 100) }}</div>\",\"title\":\"xfrm_resource_review_macros\"},{\"line\":15,\"text\":\"\\t\\t\\t<xf:editorrow name=\\\"message\\\" value=\\\"{$update.message}\\\" data-min-height=\\\"100\\\" rowtype=\\\"{{ $quickEdit ? 'fullWidth noLabel' : '' }}\\\"\",\"title\":\"xfrm_resource_update_edit\"},{\"line\":17,\"text\":\"\\t\\t\\t\\tlabel=\\\"{{ phrase('message') }}\\\"\",\"title\":\"xfrm_resource_update_edit\"},{\"line\":1,\"text\":\"<xf:macro id=\\\"xfrm_resource_update_macros::resource_update\\\"\",\"title\":\"xfrm_resource_update_edit_new_value\"},{\"line\":1,\"text\":\"<xf:macro id=\\\"resource_update\\\" arg-update=\\\"!\\\" arg-resource=\\\"!\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":2,\"text\":\"\\t<xf:css src=\\\"message.less\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":3,\"text\":\"\\t<div class=\\\"message message--simple js-resourceUpdate\\\" id=\\\"js-resourceUpdate-{$update.resource_update_id}\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":4,\"text\":\"\\t\\t<span class=\\\"u-anchorTarget\\\" id=\\\"resource-update-{$update.resource_update_id}\\\"></span>\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":5,\"text\":\"\\t\\t<div class=\\\"message-inner\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":6,\"text\":\"\\t\\t\\t<div class=\\\"message-cell message-cell--main\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":8,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"message-content js-messageContent\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":9,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"message-attribution message-attribution--split\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":10,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<h2 class=\\\"message-attribution-main block-textHeader\\\" style=\\\"margin: 0\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":13,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<ul class=\\\"message-attribution-opposite message-attribution-opposite--list\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":33,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.message_state == 'deleted'\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":34,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--deleted\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":37,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:elseif is=\\\"$update.message_state == 'moderated'\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":38,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--moderated\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":39,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t{{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }}\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":42,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.warning_message\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":43,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"messageNotice messageNotice--warning\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":44,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t{$update.warning_message}\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":48,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"message-userContent lbContainer js-lbContainer\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":49,\"text\":\"\\t\\t\\t\\t\\t\\t\\tdata-lb-id=\\\"resource_update-{$update.resource_update_id}\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":52,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<blockquote class=\\\"message-body\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":53,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t{{ bb_code($update.message, 'resource_update', $update) }}\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":57,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t<xf:macro id=\\\"message_macros::attachments\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":59,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\targ-message=\\\"{$update}\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":65,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-lastEdit\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":71,\"text\":\"\\t\\t\\t\\t\\t\\t\\t<div class=\\\"message-actionBar actionBar\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":92,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:js src=\\\"xf/action.js, xf/message.js\\\" min=\\\"1\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":96,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-editor-target=\\\"#js-resourceUpdate-{$update.resource_update_id} .js-quickEditTarget\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":104,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-target=\\\"#js-resourceUpdate-{$update.resource_update_id} .js-historyTarget\\\"\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":115,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.message_state == 'deleted' AND $update.canUndelete()\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":137,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$update.message_state == 'moderated'\\\">\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":141,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:elseif is=\\\"$update.message_state == 'visible'\\\" />\",\"title\":\"xfrm_resource_update_macros\"},{\"line\":12,\"text\":\"<div class=\\\"block block--messages\\\">\",\"title\":\"xfrm_resource_updates\"},{\"line\":30,\"text\":\"\\t\\t\\t<xf:macro id=\\\"xfrm_resource_update_macros::resource_update\\\"\",\"title\":\"xfrm_resource_updates\"},{\"line\":3,\"text\":\"<xf:set var=\\\"$descSnippet\\\" value=\\\"{{ snippet($description.message, 250, {'stripBbCode': true}) }}\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":6,\"text\":\"\\targ-description=\\\"{$descSnippet}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":17,\"text\":\"\\t<div class=\\\"blockMessage blockMessage--error\\\">{{ phrase('xfrm_new_icon_could_not_be_applied_try_later') }}</div>\",\"title\":\"xfrm_resource_view\"},{\"line\":52,\"text\":\"\\t\\t\\t\\t\\t<xf:if is=\\\"$trimmedDescription\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":53,\"text\":\"\\t\\t\\t\\t\\t\\t{{ bb_code($trimmedDescription, 'resource_update', $description) }}\",\"title\":\"xfrm_resource_view\"},{\"line\":55,\"text\":\"\\t\\t\\t\\t\\t\\t<div class=\\\"block-rowMessage block-rowMessage--important\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":62,\"text\":\"\\t\\t\\t\\t\\t\\t{{ bb_code($description.message, 'resource_update', $description) }}\",\"title\":\"xfrm_resource_view\"},{\"line\":73,\"text\":\"\\t\\t\\t\\t\\t<xf:if is=\\\"$description.attach_count\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":78,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:foreach loop=\\\"$description.Attachments\\\" value=\\\"$attachment\\\" if=\\\"!$description.isAttachmentEmbedded($attachment)\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":94,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:react content=\\\"{$description}\\\" link=\\\"resources/update/react\\\" list=\\\"< .js-resourceBody | .js-reactionsList\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":102,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.canReport()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":103,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/report', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":113,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.edit_count && $description.canViewHistory()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":114,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/history', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":122,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.canDelete('soft')\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":123,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/delete', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":128,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.visitor.canViewIps() && $description.ip_id\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":129,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/ip', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":134,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$description.canWarn()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":135,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('resources/update/warn', $description) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":138,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:elseif is=\\\"$description.warning_id && $xf.visitor.canViewWarnings()\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":139,\"text\":\"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"{{ link('warnings', {'warning_id': $description.warning_id}) }}\\\"\",\"title\":\"xfrm_resource_view\"},{\"line\":168,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"reactionsBar js-reactionsList {{ $description.reactions ? 'is-active' : '' }}\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":169,\"text\":\"\\t\\t\\t\\t\\t\\t<xf:reactions content=\\\"{$description}\\\" link=\\\"resources/update/reactions\\\" />\",\"title\":\"xfrm_resource_view\"},{\"line\":172,\"text\":\"\\t\\t\\t\\t\\t<xf:if is=\\\"$description.edit_count && $description.canViewHistory()\\\">\",\"title\":\"xfrm_resource_view\"},{\"line\":331,\"text\":\"\\t\\t\\t\\t\\t<div>{{ snippet($update.message, 100, {'stripBbCode': true}) }}</div>\",\"title\":\"xfrm_resource_view\"},{\"line\":19,\"text\":\"\\t\\t<div class=\\\"blockMessage blockMessage--alt blockMessage--small blockMessage--close\\\">\",\"title\":\"xfrm_resource_wrapper\"},{\"line\":20,\"text\":\"\\t\\t\\t<xf:contentcheck>{{ prefix_description('resource', $resource.prefix_id) }}</xf:contentcheck>\",\"title\":\"xfrm_resource_wrapper\"},{\"line\":61,\"text\":\"\\t\\t\\t\\t\\t<div class=\\\"p-description\\\">\",\"title\":\"xfrm_resource_wrapper_macros\"},{\"line\":108,\"text\":\"\\t\\t\\t\\t\\t<dd class=\\\"blockStatus-message blockStatus-message--deleted\\\">\",\"title\":\"xfrm_resource_wrapper_macros\"},{\"line\":112,\"text\":\"\\t\\t\\t\\t\\t<dd class=\\\"blockStatus-message blockStatus-message--moderated\\\">\",\"title\":\"xfrm_resource_wrapper_macros\"}],\"update\":{\"message_bytes\":6764,\"message_sha\":\"72be6b3055218854fd03ce9cb68906a1123141a78022518e32f494dc456baf77\",\"resource_update_id\":4,\"source_url\":true,\"verify_phrase\":true}}}\nNEWFI121R2_SAFE_REPORT={\"changes_made\":false,\"decision\":\"PASS_CONTENT207_PUBLIC_RENDER_RCA_CAPTURED\",\"public_probes\":{\"resource_bust\":{\"body_bytes\":65975,\"body_sha256\":\"8d985e5ba5dfe6f05acf4befcc4fcd4247564714525d69c7b0a2521489851f67\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/?content207_rca=NEWFI-260919-NEWFDOM-CONTENT207-PUBLICRCA121R2\",\"verify_phrase\":false},\"resource_nocache\":{\"body_bytes\":65975,\"body_sha256\":\"c2ef9332e95301e9611d6fc5ece6bb715961e2a651d65005c561ed64dd8e3e64\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/\",\"verify_phrase\":false},\"resource_normal\":{\"body_bytes\":65975,\"body_sha256\":\"f0110b8de5364b52bcf9d17d3dc639a4e723e3d609bc897e814f38a8ed947621\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/\",\"verify_phrase\":false},\"update_bust\":{\"body_bytes\":65975,\"body_sha256\":\"6e81140c90194a9fafa693b981c5c3a171b8157e9a2fb30e8bbf2158b06f36f8\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:18 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/update/4/?content207_rca=NEWFI-260919-NEWFDOM-CONTENT207-PUBLICRCA121R2\",\"verify_phrase\":false},\"update_normal\":{\"body_bytes\":65975,\"body_sha256\":\"9ca709a8ef1a6e7b9396737e8c0d7496eb488a1d62dc5b30dede7ebfbbb1a1ac\",\"curl_rc\":0,\"editorial_sources_label\":false,\"headers\":{\"cache-control\":\"private, no-cache, max-age=0\",\"expires\":\"Thu, 19 Nov 1981 08:52:00 GMT\",\"last-modified\":\"Fri, 18 Sep 2026 23:36:17 GMT\",\"server\":\"nginx/1.28.3 (Ubuntu)\"},\"http\":\"200\",\"source_url\":false,\"stderr\":\"\",\"title\":true,\"url\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/update/4/\",\"verify_phrase\":false}},\"resource_link\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/\",\"source_scan_count\":3,\"template_hit_count\":112,\"update_link\":\"https://newfi.ru/resources/n-yufaundlend-chto-vazhno-znat-o-porode.4/update/4/\"}\nNEWFI121R2_DECISION=PASS_CONTENT207_PUBLIC_RENDER_RCA_CAPTURED\nNEWFI121R2_NEXT_GATE=BUILD_CONTENT207_PUBLIC_VISIBILITY_SAFE_RESUME\n"
|
|
}
|