CHAT_OUTPUT_BEGIN
COMMAND_ID=NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=newfi-newfdom-notify213-xenforo-alert-push-contract-readonly
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=c263a21ba533a05176ca6a52559628095df424d4edac189fe188176f8333894e
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=788c33605da51d3a968984b95b4cc5a8f394a11e22d6105b9cfa73dcfd7aebea
SANITIZED_OUTPUT_SHA256=788c33605da51d3a968984b95b4cc5a8f394a11e22d6105b9cfa73dcfd7aebea
OUTPUT_BEGIN
NEWFI171_BEGIN=true
COMMAND_ID=NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171
NEWFI171_GIT={"branch":"implementation/newfi-closed-mvp-20260906","clean":true,"head":"92de706841be89597b4b6d9738c64780e9f940e5","remote_head":"92de706841be89597b4b6d9738c64780e9f940e5"}
NEWFI171_GIT_SOURCE={"src/addons/Newfi/AutoContent/Entity/EditorialItem.php":{"bytes":1677,"sha256":"57ef31a09736773b1ce05394f741145b0290b1e58be5e25e2605802e4fa140ab","text":"<?php\nnamespace Newfi\\AutoContent\\Entity;\nuse XF\\Mvc\\Entity\\Entity;\nuse XF\\Mvc\\Entity\\Structure;\n\nclass EditorialItem extends Entity\n{\n    public static function getStructure(Structure $s)\n    {\n        $s->table='xf_newfi_autocontent_item';\n        $s->shortName='Newfi\\AutoContent:EditorialItem';\n        $s->primaryKey='item_id';\n        $s->columns=[\n            'item_id'=>['type'=>self::UINT,'autoIncrement'=>true,'nullable'=>true],\n            'source_id'=>['type'=>self::UINT,'required'=>true],\n            'source_identity'=>['type'=>self::BINARY,'maxLength'=>190,'required'=>true],\n            'fingerprint'=>['type'=>self::BINARY,'maxLength'=>64,'required'=>true],\n            'event_id'=>['type'=>self::UINT,'default'=>0],\n            'editorial_state'=>['type'=>self::BINARY,'maxLength'=>25,'default'=>'draft','allowedValues'=>['draft','review','published','rejected']],\n            'title'=>['type'=>self::STR,'maxLength'=>100,'required'=>true],\n            'starts_at'=>['type'=>self::UINT,'required'=>true],\n            'ends_at'=>['type'=>self::UINT,'default'=>0],\n            'region'=>['type'=>self::STR,'maxLength'=>100,'default'=>''],\n            'location'=>['type'=>self::STR,'maxLength'=>255,'default'=>''],\n            'description'=>['type'=>self::STR,'default'=>''],\n            'source_url'=>['type'=>self::STR,'maxLength'=>500,'required'=>true],\n            'cancelled'=>['type'=>self::BOOL,'default'=>false],\n            'first_seen_at'=>['type'=>self::UINT,'required'=>true],\n            'last_seen_at'=>['type'=>self::UINT,'required'=>true],\n            'updated_at'=>['type'=>self::UINT,'required'=>true],\n        ];\n        return $s;\n    }\n}\n"},"src/addons/Newfi/AutoContent/Service/Monitor.php":{"bytes":8213,"sha256":"af8a30b1bb0dd53bd9e8283fb515ed2b336288354227080e4bc504b4c0751754","text":"<?php\nnamespace Newfi\\AutoContent\\Service;\nuse Newfi\\AutoContent\\Entity\\MonitorState;\nuse Newfi\\AutoContent\\Entity\\Observation;\nuse Newfi\\AutoContent\\Entity\\SourceState;\nuse Newfi\\AutoContent\\Job\\MonitorSource;\nuse Newfi\\AutoContent\\MonitorPolicy;\nuse Newfi\\AutoContent\\Policy;\nuse Newfi\\AutoContent\\Parser\\FciShowSchedule;\nuse Newfi\\AutoContent\\Parser\\RkfExhibitionActivity;\nuse Newfi\\Events\\Entity\\SourceRegistry;\nclass Monitor extends \\XF\\Service\\AbstractService\n{\n    private function enabled(): bool{return $this->app->service(Collector::class)->isEnabled();}\n    private function lock(int $id): bool{return (int)$this->db()->fetchOne('SELECT GET_LOCK(?, 0)',Policy::monitorJobKey($id))===1;}\n    private function unlock(int $id): void{$this->db()->fetchOne('SELECT RELEASE_LOCK(?)',Policy::monitorJobKey($id));}\n    public function scheduleDue(): int\n    {\n        if(!$this->enabled())return 0;$queued=0;$now=time();\n        foreach($this->finder(MonitorState::class)->order('source_id')->fetch() as $m){$id=(int)$m->source_id;if((int)$m->next_attempt_at>$now)continue;$state=$this->em()->find(SourceState::class,$id);$source=$this->em()->find(SourceRegistry::class,$id);if(!$state||!$source||!$source->enabled)continue;try{$policy=Policy::source($source->toArray());}catch(\\InvalidArgumentException $e){continue;}if((string)$state->snapshot_url!==$policy['url']||(string)$state->body_sha256===''||(string)$m->last_snapshot_sha256===(string)$state->body_sha256)continue;\n            $jobs=$this->app->jobManager();$key=Policy::monitorJobKey($id);if($jobs->getUniqueJob($key))continue;if($jobs->enqueueUnique($key,MonitorSource::class,['source_id'=>$id],false)!==null)++$queued;\n        }return $queued;\n    }\n    public function runSource(int $id,float $budgetSeconds): string\n    {\n        $start=microtime(true);if(!$this->enabled())return 'disabled';if($budgetSeconds<3)return 'budget';if(!$this->lock($id))return 'busy';\n        try{$source=$this->em()->find(SourceRegistry::class,$id);$state=$this->em()->find(SourceState::class,$id);$monitor=$this->em()->find(MonitorState::class,$id);if(!$source||!$state||!$monitor)return 'disabled';$policy=Policy::source($source->toArray());if((string)$state->snapshot_url!==$policy['url']||(string)$state->body_sha256==='')return 'no_snapshot';if((string)$monitor->last_snapshot_sha256===(string)$state->body_sha256)return 'current';if($budgetSeconds-(microtime(true)-$start)<2)return 'budget';\n            try{$parsed=$this->parse((string)$source->parser_strategy,(string)$state->snapshot,$id);$records=MonitorPolicy::window($parsed['events']??[],time());$this->apply($source,$state,$monitor,$records,count($parsed['discoveries']??[]));return 'ok';}\n            catch(\\Throwable $e){$this->failed($monitor,$this->code($e),time());return 'retry';}\n        }finally{$this->unlock($id);}\n    }\n    private function parse(string $strategy,string $body,int $id): array\n    {\n        if($strategy==='html_fci_show_schedule_v1')return (new FciShowSchedule())->parse($body,$id);\n        if($strategy==='html_rkf_exhibition_activity_v1')return (new RkfExhibitionActivity())->parse($body);\n        throw new \\RuntimeException('MONITOR_PARSER');\n    }\n    private function apply(SourceRegistry $source,SourceState $state,MonitorState $monitor,array $records,int $discoveries): void\n    {\n        $now=time();$db=$this->db();$oldFailures=(int)$monitor->failures;$db->beginTransaction();\n        try{$existing=[];foreach($this->finder(Observation::class)->where('source_id',(int)$source->source_id)->fetch() as $o)$existing[]=$this->obsArray($o);\n            if(!$monitor->baseline_ready){foreach($records as $r)$this->createObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);$counts=['new'=>0,'changed'=>0,'cancelled'=>0];}\n            else{$plan=MonitorPolicy::plan($existing,$records,$now);$ingestor=$this->app->service(Ingestor::class);foreach($plan['unchanged'] as $r)$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);foreach($plan['changed'] as $r){$ingestor->ingest($r,$now);$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);}foreach($plan['new'] as $r){$ingestor->ingest($r,$now);$this->createObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);}foreach($plan['missing'] as $r)$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256,false);foreach($plan['cancelled'] as $r){$ingestor->ingest($r,$now);$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256,false);}$counts=['new'=>count($plan['new']),'changed'=>count($plan['changed']),'cancelled'=>count($plan['cancelled'])];}\n            $history=is_array($monitor->history)?$monitor->history:[];$history[]=['checked_at'=>$now,'snapshot_sha256'=>(string)$state->body_sha256,'observed'=>count($records),'discoveries'=>$discoveries,'new'=>$counts['new'],'changed'=>$counts['changed'],'cancelled'=>$counts['cancelled'],'status'=>'OK'];$monitor->bulkSet(['baseline_ready'=>true,'last_snapshot_sha256'=>(string)$state->body_sha256,'last_run_at'=>$now,'last_success_at'=>$now,'next_attempt_at'=>0,'failures'=>0,'last_error'=>'','observed_count'=>count($records),'new_count'=>$counts['new'],'changed_count'=>$counts['changed'],'cancelled_count'=>$counts['cancelled'],'history'=>array_slice($history,-32)]);$monitor->save();$db->commit();\n        }catch(\\Throwable $e){$db->rollback();throw $e;}\n    }\n    private function failed(MonitorState $m,string $code,int $now): void\n    {\n        $fail=min(1000000,(int)$m->failures+1);$history=is_array($m->history)?$m->history:[];$history[]=['checked_at'=>$now,'snapshot_sha256'=>(string)$m->last_snapshot_sha256,'observed'=>0,'discoveries'=>0,'new'=>0,'changed'=>0,'cancelled'=>0,'status'=>$code];$alert=in_array($fail,[1,3,6],true);$m->bulkSet(['last_run_at'=>$now,'last_failure_at'=>$now,'next_attempt_at'=>$now+MonitorPolicy::retryDelay($fail),'failures'=>$fail,'last_error'=>$code,'last_alert_at'=>$alert?$now:(int)$m->last_alert_at,'history'=>array_slice($history,-32)]);$m->save();if($alert)$this->alert((int)$m->source_id,$code,$fail);\n    }\n    private function alert(int $id,string $code,int $count): void{\\XF::logError('[Newfi EventBot] source='.$id.' code='.$code.' count='.$count);}\n    private function code(\\Throwable $e): string{$c=$e->getMessage();return in_array($c,['DOM_EXTENSION','FCI_HTML','RKF_HTML','MONITOR_RECORD_LIMIT','MONITOR_RECORD','MONITOR_PARSER','INGEST_REQUIRED','INGEST_ENDS_BEFORE_START','INGEST_LENGTH','INGEST_SOURCE_URL'],true)?$c:'MONITOR_ERROR';}\n    private function createObservation(int $sourceId,array $r,int $now,string $sha): Observation{$o=$this->em()->create(Observation::class);$o->bulkSet($this->obsData($sourceId,$r)+['first_seen_at'=>$now,'last_seen_at'=>$now,'evidence_sha256'=>$sha]);$o->save();return $o;}\n    private function upsertObservation(int $sourceId,array $r,int $now,string $sha,bool $seen=true): Observation{$o=$this->finder(Observation::class)->where('source_id',$sourceId)->where('source_identity',$r['source_identity'])->fetchOne();if(!$o)return $this->createObservation($sourceId,$r,$now,$sha);$o->bulkSet($this->obsData($sourceId,$r));if($seen)$o->last_seen_at=$now;$o->evidence_sha256=$sha;$o->save();return $o;}\n    private function obsData(int $sourceId,array $r): array{return ['source_id'=>$sourceId,'source_identity'=>$r['source_identity'],'match_key'=>$r['match_key'],'fingerprint'=>$r['fingerprint'],'title'=>$r['title'],'starts_at'=>$r['starts_at'],'ends_at'=>$r['ends_at']??0,'region'=>$r['region'],'location'=>$r['location'],'source_url'=>$r['source_url'],'cancelled'=>!empty($r['cancelled']),'missing_count'=>(int)($r['missing_count']??0)];}\n    private function obsArray(Observation $o): array{return ['source_id'=>(int)$o->source_id,'source_identity'=>(string)$o->source_identity,'match_key'=>(string)$o->match_key,'fingerprint'=>(string)$o->fingerprint,'title'=>(string)$o->title,'starts_at'=>(int)$o->starts_at,'ends_at'=>(int)$o->ends_at,'region'=>(string)$o->region,'location'=>(string)$o->location,'source_url'=>(string)$o->source_url,'cancelled'=>(bool)$o->cancelled,'missing_count'=>(int)$o->missing_count];}\n}\n"},"src/addons/Newfi/Events/Entity/Event.php":{"bytes":1449,"sha256":"8c2c6caf42390df552e64c7d95d225c394a27005ebcaaf7f8ebe2cb7f2e7bdf0","text":"<?php\n\nnamespace Newfi\\Events\\Entity;\n\nuse XF\\Mvc\\Entity\\Entity;\nuse XF\\Mvc\\Entity\\Structure;\n\nclass Event extends Entity\n{\n    public static function getStructure(Structure $structure)\n    {\n        $structure->table = 'xf_newfi_event';\n        $structure->shortName = 'Newfi\\\\Events:Event';\n        $structure->primaryKey = 'event_id';\n        $structure->columns = [\n            'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\n            'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],\n            'starts_at' => ['type' => self::UINT, 'required' => true],\n            'ends_at' => ['type' => self::UINT, 'default' => 0],\n            'region' => ['type' => self::STR, 'maxLength' => 100, 'default' => ''],\n            'location' => ['type' => self::STR, 'maxLength' => 255, 'default' => ''],\n            'description' => ['type' => self::STR, 'maxLength' => 10000, 'default' => ''],\n            'state' => [\n                'type' => self::STR,\n                'maxLength' => 25,\n                'default' => 'draft',\n                'allowedValues' => ['draft', 'published', 'cancelled']\n            ],\n            'fingerprint' => ['type' => self::STR, 'maxLength' => 64, 'required' => true],\n            'created_at' => ['type' => self::UINT, 'required' => true],\n            'updated_at' => ['type' => self::UINT, 'required' => true]\n        ];\n        return $structure;\n    }\n}\n"},"src/addons/Newfi/Events/Entity/EventChange.php":{"bytes":777,"sha256":"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602","text":"<?php\n\nnamespace Newfi\\Events\\Entity;\n\nuse XF\\Mvc\\Entity\\Entity;\nuse XF\\Mvc\\Entity\\Structure;\n\nclass EventChange extends Entity\n{\n    public static function getStructure(Structure $structure)\n    {\n        $structure->table = 'xf_newfi_event_change';\n        $structure->shortName = 'Newfi\\Events:EventChange';\n        $structure->primaryKey = 'event_change_id';\n        $structure->columns = [\n            'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\n            'event_id' => ['type' => self::UINT, 'required' => true],\n            'changed_at' => ['type' => self::UINT, 'required' => true],\n            'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]\n        ];\n        return $structure;\n    }\n}\n"},"src/addons/Newfi/Events/Setup.php":{"bytes":5005,"sha256":"d644a93ec86ff75d9325564c9f0d9ecd36a8059cab4437df62e8be0c561efef0","text":"<?php\n\nnamespace Newfi\\Events;\n\nuse XF\\AddOn\\AbstractSetup;\nuse XF\\Db\\Schema\\Create;\n\nclass Setup extends AbstractSetup\n{\n    public function install(array $stepParams = [])\n    {\n        $sm = $this->schemaManager();\n\n        $sm->createTable('xf_newfi_event', function (Create $table)\n        {\n            $table->addColumn('event_id', 'int')->autoIncrement();\n            $table->addColumn('title', 'varchar', 100);\n            $table->addColumn('starts_at', 'int');\n            $table->addColumn('ends_at', 'int')->setDefault(0);\n            $table->addColumn('region', 'varchar', 100)->setDefault('');\n            $table->addColumn('location', 'varchar', 255)->setDefault('');\n            $table->addColumn('description', 'text');\n            $table->addColumn('state', 'varbinary', 25)->setDefault('draft');\n            $table->addColumn('fingerprint', 'varbinary', 64);\n            $table->addColumn('created_at', 'int');\n            $table->addColumn('updated_at', 'int');\n            $table->addPrimaryKey('event_id');\n            $table->addKey('starts_at');\n            $table->addKey('state');\n            $table->addKey('fingerprint');\n            $table->addKey('region');\n        });\n\n        $sm->createTable('xf_newfi_event_source', function (Create $table)\n        {\n            $table->addColumn('event_source_id', 'int')->autoIncrement();\n            $table->addColumn('event_id', 'int');\n            $table->addColumn('source_url', 'varchar', 500);\n            $table->addColumn('checked_at', 'int');\n            $table->addPrimaryKey('event_source_id');\n            $table->addKey('event_id');\n        });\n\n        $sm->createTable('xf_newfi_event_change', function (Create $table)\n        {\n            $table->addColumn('event_change_id', 'int')->autoIncrement();\n            $table->addColumn('event_id', 'int');\n            $table->addColumn('changed_at', 'int');\n            $table->addColumn('change_note', 'text');\n            $table->addPrimaryKey('event_change_id');\n            $table->addKey('event_id');\n        });\n\n\n        $sm->createTable('xf_newfi_source_registry', function (Create $table)\n        {\n            $table->addColumn('source_id', 'int')->autoIncrement();\n            $table->addColumn('source_key', 'varbinary', 64);\n            $table->addColumn('title', 'varchar', 150);\n            $table->addColumn('base_url', 'varchar', 500);\n            $table->addColumn('source_type', 'varbinary', 50);\n            $table->addColumn('locale', 'varbinary', 20);\n            $table->addColumn('region', 'varbinary', 50);\n            $table->addColumn('parser_strategy', 'varbinary', 100);\n            $table->addColumn('poll_interval_seconds', 'int')->unsigned();\n            $table->addColumn('last_success_at', 'int')->unsigned()->setDefault(0);\n            $table->addColumn('last_failure_at', 'int')->unsigned()->setDefault(0);\n            $table->addColumn('failure_count', 'int')->unsigned()->setDefault(0);\n            $table->addColumn('last_error', 'varchar', 500)->setDefault('');\n            $table->addColumn('provenance_policy', 'varchar', 500);\n            $table->addColumn('enabled', 'tinyint')->unsigned()->setDefault(1);\n            $table->addColumn('created_at', 'int')->unsigned();\n            $table->addColumn('updated_at', 'int')->unsigned();\n            $table->addPrimaryKey('source_id');\n            $table->addUniqueKey('source_key');\n            $table->addKey('enabled');\n            $table->addKey('source_type');\n            $table->addKey('region');\n        });\n\n        $seedPath = __DIR__ . '/public_sources.json';\n        $seedRows = json_decode((string)file_get_contents($seedPath), true, 512, JSON_THROW_ON_ERROR);\n        $now = time();\n        foreach ($seedRows as $row)\n        {\n            $db = \\XF::db();\n            $db->insert('xf_newfi_source_registry', [\n                'source_key' => $row['source_key'],\n                'title' => $row['title'],\n                'base_url' => $row['base_url'],\n                'source_type' => $row['source_type'],\n                'locale' => $row['locale'],\n                'region' => $row['region'],\n                'parser_strategy' => $row['parser_strategy'],\n                'poll_interval_seconds' => (int)$row['poll_interval_seconds'],\n                'last_success_at' => 0,\n                'last_failure_at' => 0,\n                'failure_count' => 0,\n                'last_error' => '',\n                'provenance_policy' => $row['provenance_policy'],\n                'enabled' => !empty($row['enabled']) ? 1 : 0,\n                'created_at' => $now,\n                'updated_at' => $now\n            ]);\n        }\n\n        return null;\n    }\n\n    public function uninstall(array $stepParams = [])\n    {\n        $sm = $this->schemaManager();\n        $sm->dropTable('xf_newfi_source_registry');\n        $sm->dropTable('xf_newfi_event_change');\n        $sm->dropTable('xf_newfi_event_source');\n        $sm->dropTable('xf_newfi_event');\n        return null;\n    }\n}\n"},"src/addons/Newfi/Events/_data/routes.xml":{"bytes":144,"sha256":"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309","text":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<routes>\n  <route route_type=\"public\" route_prefix=\"events\" controller=\"Newfi\\Events:Events\"/>\n</routes>\n"},"src/addons/Newfi/Events/_data/templates.xml":{"bytes":12199,"sha256":"7d14721613e241c5e6718c92fe035a8208364a926417a6b75264e98cf5413b4b","text":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<templates>\n  <template type=\"public\" title=\"newfi_events\" version_id=\"1000010\" version_string=\"1.0.0 Alpha 1\"><![CDATA[\n<xf:title>\u0421\u043e\u0431\u044b\u0442\u0438\u044f</xf:title>\n<xf:css src=\"newfi_events.less\" />\n\n<div class=\"newfiEvents\" data-events208=\"calendar-ui-v1\">\n  <section class=\"newfiEvents-hero\">\n    <div>\n      <span class=\"newfiEvents-kicker\">\u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u041d\u044c\u044e\u0444\u0414\u043e\u043c\u0430</span>\n      <h1>\u0421\u043e\u0431\u044b\u0442\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430</h1>\n      <p>\u0412\u044b\u0441\u0442\u0430\u0432\u043a\u0438, \u0432\u0441\u0442\u0440\u0435\u0447\u0438, \u0432\u043e\u0434\u043d\u044b\u0435 \u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430.</p>\n    </div>\n    <nav class=\"newfiEvents-tabs\" aria-label=\"\u041f\u0435\u0440\u0438\u043e\u0434\">\n      <a href=\"{{ link('events', null, {'period':'upcoming'}) }}\">\u041f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0438\u0435</a>\n      <a href=\"{{ link('events', null, {'period':'past'}) }}\">\u041f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0435</a>\n      <a href=\"{{ link('events', null, {'period':'all'}) }}\">\u0412\u0441\u0435</a>\n    </nav>\n  </section>\n\n  <section class=\"newfiEvents-panel\">\n    <h2>\u0424\u0438\u043b\u044c\u0442\u0440\u044b</h2>\n    <form action=\"{{ link('events') }}\" method=\"get\" class=\"newfiEvents-filters\">\n      <label><span>\u041f\u0435\u0440\u0438\u043e\u0434</span>\n        <select name=\"period\">\n          <option value=\"upcoming\">\u041f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0438\u0435</option>\n          <option value=\"past\">\u041f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0435</option>\n          <option value=\"all\">\u0412\u0441\u0435</option>\n        </select>\n      </label>\n      <label><span>\u0420\u0435\u0433\u0438\u043e\u043d</span>\n        <select name=\"region\">\n          <option value=\"\">\u0412\u0441\u0435 \u0440\u0435\u0433\u0438\u043e\u043d\u044b</option>\n          <xf:foreach loop=\"$regions\" value=\"$region\"><option value=\"{$region}\">{$region}</option></xf:foreach>\n        </select>\n      </label>\n      <label><span>\u041c\u0435\u0441\u0442\u043e</span><input type=\"search\" name=\"location\" value=\"{$filters.location}\" placeholder=\"\u0413\u043e\u0440\u043e\u0434, \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\" /></label>\n      <label><span>\u0421 \u0434\u0430\u0442\u044b</span><input type=\"date\" name=\"from\" value=\"{$filters.from}\" /></label>\n      <label><span>\u041f\u043e \u0434\u0430\u0442\u0443</span><input type=\"date\" name=\"to\" value=\"{$filters.to}\" /></label>\n      <input type=\"hidden\" name=\"month\" value=\"{$filters.month}\" />\n      <div class=\"newfiEvents-filterActions\">\n        <button type=\"submit\" class=\"button button--primary\">\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c</button>\n        <a class=\"button\" href=\"{{ link('events') }}\">\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c</a>\n      </div>\n    </form>\n  </section>\n\n  <section class=\"newfiEvents-panel\">\n    <header class=\"newfiEvents-sectionHeader\">\n      <div><span class=\"newfiEvents-kicker\">\u041c\u0435\u0441\u044f\u0446</span><h2>{$calendarMonthLabel}</h2></div>\n      <div class=\"newfiEvents-monthNav\">\n        <a class=\"button\" href=\"{{ link('events', null, {'month':$calendarPrev,'period':$filters.period,'region':$filters.region,'location':$filters.location}) }}\">\u2190</a>\n        <a class=\"button\" href=\"{{ link('events', null, {'month':$calendarNext,'period':$filters.period,'region':$filters.region,'location':$filters.location}) }}\">\u2192</a>\n      </div>\n    </header>\n    <div class=\"newfiEvents-calendarWeekdays\" aria-hidden=\"true\"><span>\u041f\u043d</span><span>\u0412\u0442</span><span>\u0421\u0440</span><span>\u0427\u0442</span><span>\u041f\u0442</span><span>\u0421\u0431</span><span>\u0412\u0441</span></div>\n    <div class=\"newfiEvents-calendar\">\n      <xf:foreach loop=\"$calendarWeeks\" value=\"$week\">\n        <xf:foreach loop=\"$week\" value=\"$cell\">\n          <xf:if is=\"$cell\">\n            <div class=\"newfiEvents-day\">\n              <strong>{$cell.day}</strong>\n              <xf:foreach loop=\"$cell.events\" value=\"$event\">\n                <a class=\"newfiEvents-dayEvent\" href=\"{{ link('events/view', null, {'event_id':$event.event_id}) }}\">{$event.title}</a>\n              </xf:foreach>\n            </div>\n          <xf:else />\n            <div class=\"newfiEvents-day newfiEvents-day--empty\"></div>\n          </xf:if>\n        </xf:foreach>\n      </xf:foreach>\n    </div>\n  </section>\n\n  <section class=\"newfiEvents-panel\">\n    <header class=\"newfiEvents-sectionHeader\">\n      <div><span class=\"newfiEvents-kicker\">\u0421\u043f\u0438\u0441\u043e\u043a</span><h2><xf:if is=\"$filters.period == 'past'\">\u041f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f<xf:elseif is=\"$filters.period == 'all'\" />\u0412\u0441\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f<xf:else />\u041f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f</xf:if></h2></div>\n    </header>\n    <xf:if is=\"$events\">\n      <div class=\"newfiEvents-list\">\n        <xf:foreach loop=\"$events\" value=\"$event\">\n          <article class=\"newfiEvents-card\">\n            <div class=\"newfiEvents-cardDate\"><xf:date time=\"$event.starts_at\" /></div>\n            <div class=\"newfiEvents-cardBody\">\n              <div class=\"newfiEvents-cardMeta\">\n                <xf:if is=\"$event.state == 'cancelled'\"><span class=\"newfiEvents-status newfiEvents-status--cancelled\">\u041e\u0442\u043c\u0435\u043d\u0435\u043d\u043e</span></xf:if>\n                <xf:if is=\"$event.region\"><span>{$event.region}</span></xf:if>\n                <xf:if is=\"$event.location\"><span>{$event.location}</span></xf:if>\n              </div>\n              <h3><a href=\"{{ link('events/view', null, {'event_id':$event.event_id}) }}\">{$event.title}</a></h3>\n              <xf:if is=\"$event.description\"><p>{{ snippet($event.description, 220) }}</p></xf:if>\n            </div>\n            <a class=\"button\" href=\"{{ link('events/view', null, {'event_id':$event.event_id}) }}\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435</a>\n          </article>\n        </xf:foreach>\n      </div>\n    <xf:else />\n      <div class=\"newfiEvents-empty\" data-events-empty=\"true\">\n        <strong>\u0421\u043e\u0431\u044b\u0442\u0438\u0439 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442</strong>\n        <p>\u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0433\u043e\u0442\u043e\u0432. \u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432.</p>\n      </div>\n    </xf:if>\n  </section>\n</div>\n]]></template>\n  <template type=\"public\" title=\"newfi_event_view\" version_id=\"1000010\" version_string=\"1.0.0 Alpha 1\"><![CDATA[\n<xf:title>{$event.title}</xf:title>\n<xf:css src=\"newfi_events.less\" />\n\n<div class=\"newfiEvents newfiEvents--detail\" data-events208-detail=\"v1\">\n  <a class=\"newfiEvents-back\" href=\"{{ link('events') }}\">\u2190 \u0412\u0441\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f</a>\n  <article class=\"newfiEvents-panel newfiEvents-detail\">\n    <header class=\"newfiEvents-detailHeader\">\n      <div>\n        <span class=\"newfiEvents-kicker\">\u0421\u043e\u0431\u044b\u0442\u0438\u0435</span>\n        <h1>{$event.title}</h1>\n        <div class=\"newfiEvents-cardMeta\">\n          <xf:if is=\"$event.state == 'cancelled'\"><span class=\"newfiEvents-status newfiEvents-status--cancelled\">\u041e\u0442\u043c\u0435\u043d\u0435\u043d\u043e</span></xf:if>\n          <xf:if is=\"$event.region\"><span>{$event.region}</span></xf:if>\n          <xf:if is=\"$event.location\"><span>{$event.location}</span></xf:if>\n        </div>\n      </div>\n      <div class=\"newfiEvents-detailDate\">\n        <strong><xf:date time=\"$event.starts_at\" /></strong>\n        <xf:if is=\"$event.ends_at AND $event.ends_at > $event.starts_at\"><span>\u0434\u043e <xf:date time=\"$event.ends_at\" /></span></xf:if>\n      </div>\n    </header>\n    <xf:if is=\"$event.state == 'cancelled'\"><div class=\"blockMessage blockMessage--error\">\u0421\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a.</div></xf:if>\n    <xf:if is=\"$event.description\"><section class=\"newfiEvents-detailSection\"><h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435</h2><div class=\"newfiEvents-description\">{$event.description}</div></section></xf:if>\n    <section class=\"newfiEvents-detailSection\">\n      <h2>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438</h2>\n      <xf:if is=\"$sources\">\n        <ul class=\"newfiEvents-sourceList\">\n          <xf:foreach loop=\"$sources\" value=\"$source\"><li><a href=\"{$source.source_url}\" target=\"_blank\" rel=\"nofollow noopener\">\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a</a><small>\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e: <xf:date time=\"$source.checked_at\" /></small></li></xf:foreach>\n        </ul>\n      <xf:else /><p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u043e\u043a\u0430 \u043d\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d.</p></xf:if>\n    </section>\n    <section class=\"newfiEvents-detailSection\">\n      <h2>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439</h2>\n      <xf:if is=\"$changes\">\n        <ol class=\"newfiEvents-history\"><xf:foreach loop=\"$changes\" value=\"$change\"><li><strong><xf:date time=\"$change.changed_at\" /></strong><span>{$change.change_note}</span></li></xf:foreach></ol>\n      <xf:else /><p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e\u0441\u043b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442.</p></xf:if>\n    </section>\n  </article>\n</div>\n]]></template>\n  <template type=\"public\" title=\"newfi_events.less\" version_id=\"1000010\" version_string=\"1.0.0 Alpha 1\"><![CDATA[\n.newfiEvents { max-width:1180px; margin:0 auto; display:grid; gap:20px; }\n.newfiEvents-hero,.newfiEvents-panel { background:@xf-contentBg; border:1px solid @xf-borderColor; border-radius:@xf-borderRadiusLarge; padding:22px; }\n.newfiEvents-hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; }\n.newfiEvents-kicker { display:block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:@xf-textColorMuted; }\n.newfiEvents-hero h1,.newfiEvents-sectionHeader h2,.newfiEvents-detailHeader h1 { margin:4px 0 0; }\n.newfiEvents-tabs,.newfiEvents-monthNav,.newfiEvents-filterActions { display:flex; gap:8px; flex-wrap:wrap; }\n.newfiEvents-tabs a { display:inline-flex; padding:8px 12px; border-radius:@xf-borderRadiusSmall; background:@xf-contentAltBg; font-weight:600; }\n.newfiEvents-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:end; }\n.newfiEvents-filters label { display:grid; gap:5px; }\n.newfiEvents-filters input,.newfiEvents-filters select { width:100%; padding:8px 10px; border:1px solid @xf-borderColor; border-radius:@xf-borderRadiusSmall; background:@xf-inputBg; color:@xf-textColor; }\n.newfiEvents-sectionHeader,.newfiEvents-detailHeader { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:16px; }\n.newfiEvents-calendarWeekdays,.newfiEvents-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }\n.newfiEvents-calendarWeekdays span { text-align:center; padding:8px 4px; font-weight:700; color:@xf-textColorMuted; }\n.newfiEvents-day { min-height:118px; padding:9px; border:1px solid @xf-borderColor; background:@xf-contentBg; }\n.newfiEvents-day--empty { background:@xf-contentAltBg; }\n.newfiEvents-dayEvent { display:block; margin-top:6px; padding:5px 7px; border-radius:@xf-borderRadiusSmall; background:@xf-contentAltBg; font-size:12px; line-height:1.25; }\n.newfiEvents-list { display:grid; gap:12px; }\n.newfiEvents-card { display:grid; grid-template-columns:minmax(120px,170px) 1fr auto; gap:16px; align-items:center; padding:16px; border:1px solid @xf-borderColor; border-radius:@xf-borderRadiusMedium; }\n.newfiEvents-card h3 { margin:4px 0 6px; }\n.newfiEvents-cardDate { font-weight:700; }\n.newfiEvents-cardMeta { display:flex; flex-wrap:wrap; gap:7px 12px; color:@xf-textColorMuted; font-size:13px; }\n.newfiEvents-status { display:inline-flex; padding:2px 7px; border-radius:999px; font-weight:700; }\n.newfiEvents-status--cancelled { background:@xf-errorBg; color:@xf-errorColor; }\n.newfiEvents-empty { padding:28px; text-align:center; background:@xf-contentAltBg; border-radius:@xf-borderRadiusMedium; }\n.newfiEvents-back { display:inline-flex; width:fit-content; }\n.newfiEvents-detailDate { display:grid; text-align:right; gap:3px; }\n.newfiEvents-detailSection { margin-top:22px; padding-top:18px; border-top:1px solid @xf-borderColor; }\n.newfiEvents-description { white-space:pre-line; line-height:1.6; }\n.newfiEvents-sourceList,.newfiEvents-history { display:grid; gap:10px; padding-left:22px; }\n.newfiEvents-sourceList li,.newfiEvents-history li { display:grid; gap:3px; }\n@media (max-width:@xf-responsiveMedium) {\n .newfiEvents-hero,.newfiEvents-sectionHeader,.newfiEvents-detailHeader { display:grid; }\n .newfiEvents-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }\n .newfiEvents-card { grid-template-columns:1fr; }\n .newfiEvents-detailDate { text-align:left; }\n}\n@media (max-width:@xf-responsiveNarrow) {\n .newfiEvents-filters { grid-template-columns:1fr; }\n .newfiEvents-calendarWeekdays { display:none; }\n .newfiEvents-calendar { grid-template-columns:1fr; gap:8px; }\n .newfiEvents-day--empty { display:none; }\n .newfiEvents-day { min-height:0; }\n}\n\n]]></template>\n</templates>\n"},"src/addons/Newfi/Events/addon.json":{"bytes":397,"sha256":"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3","text":"{\n  \"title\": \"Newfi Events\",\n  \"description\": \"Minimal private-staging events/calendar component for the Newfi closed MVP.\",\n  \"version_id\": 1000010,\n  \"version_string\": \"1.0.0 Alpha 1\",\n  \"dev\": \"Newfi\",\n  \"dev_url\": \"\",\n  \"faq_url\": \"\",\n  \"support_url\": \"\",\n  \"extra_urls\": [],\n  \"require\": {\n    \"XF\": [\n      2031270,\n      \"XenForo 2.3.12+\"\n    ]\n  },\n  \"icon\": \"\",\n  \"legacy_addon_id\": \"\"\n}\n"}}
NEWFI171_FRAMEWORK={"addon_samples":{"addons/XFRM/Alert/ResourceItem.php":{"bytes":280,"matches":[{"context":[{"line":2,"text":""},{"line":3,"text":"namespace XFRM\\Alert;"},{"line":4,"text":""},{"line":5,"text":"use XF\\Alert\\AbstractHandler;"},{"line":6,"text":""}],"line":3,"text":"namespace XFRM\\Alert;"},{"context":[{"line":4,"text":""},{"line":5,"text":"use XF\\Alert\\AbstractHandler;"},{"line":6,"text":""},{"line":7,"text":"class ResourceItem extends AbstractHandler"},{"line":8,"text":"{"}],"line":5,"text":"use XF\\Alert\\AbstractHandler;"},{"context":[{"line":8,"text":"{"},{"line":9,"text":"\tpublic function getEntityWith(): array"},{"line":10,"text":"\t{"},{"line":11,"text":"\t\t$visitor = \\XF::visitor();"},{"line":12,"text":""}],"line":9,"text":"\tpublic function getEntityWith(): array"}],"path":"/var/www/forums/newfi/public/src/addons/XFRM/Alert/ResourceItem.php","present":true,"sha256":"6c57bdaba8e5fa2a943222faf41c1f7acf9ffedc36427018707944226d7225a3"},"addons/XFRM/Repository/ResourceWatch.php":{"bytes":2771,"matches":[{"context":[{"line":11,"text":"{"},{"line":12,"text":"\tpublic function autoWatchResource(ResourceItem $resource, User $user, $onCreation = false)"},{"line":13,"text":"\t{"},{"line":14,"text":"\t\t$userField = $onCreation ? 'creation_watch_state' : 'interaction_watch_state';"},{"line":15,"text":""}],"line":12,"text":"\tpublic function autoWatchResource(ResourceItem $resource, User $user, $onCreation = false)"},{"context":[{"line":46,"text":""},{"line":47,"text":"\tpublic function setWatchState(ResourceItem $resource, User $user, $action, array $config = [])"},{"line":48,"text":"\t{"},{"line":49,"text":"\t\tif (!$resource->resource_id || !$user->user_id)"},{"line":50,"text":"\t\t{"}],"line":47,"text":"\tpublic function setWatchState(ResourceItem $resource, User $user, $action, array $config = [])"},{"context":[{"line":95,"text":""},{"line":96,"text":"\tpublic function setWatchStateForAll(User $user, $action, array $updates = [])"},{"line":97,"text":"\t{"},{"line":98,"text":"\t\tif (!$user->user_id)"},{"line":99,"text":"\t\t{"}],"line":96,"text":"\tpublic function setWatchStateForAll(User $user, $action, array $updates = [])"},{"context":[{"line":118,"text":""},{"line":119,"text":"\tpublic function isValidWatchState($state)"},{"line":120,"text":"\t{"},{"line":121,"text":"\t\tswitch ($state)"},{"line":122,"text":"\t\t{"}],"line":119,"text":"\tpublic function isValidWatchState($state)"}],"path":"/var/www/forums/newfi/public/src/addons/XFRM/Repository/ResourceWatch.php","present":true,"sha256":"dd9e4aabfe7a62402cec3b02df18dbecf1c21e12021930b27f176e04c75dcd76"},"addons/XFRM/_data/content_type_fields.xml":{"bytes":6442,"matches":[{"context":[{"line":1,"text":"<?xml version=\"1.0\" encoding=\"utf-8\"?>"},{"line":2,"text":"<content_type_fields>"},{"line":3,"text":"  <field content_type=\"resource\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceItemHandler</field>"},{"line":4,"text":"  <field content_type=\"resource\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceItem</field>"},{"line":5,"text":"  <field content_type=\"resource\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceItem</field>"}],"line":2,"text":"<content_type_fields>"},{"context":[{"line":2,"text":"<content_type_fields>"},{"line":3,"text":"  <field content_type=\"resource\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceItemHandler</field>"},{"line":4,"text":"  <field content_type=\"resource\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceItem</field>"},{"line":5,"text":"  <field content_type=\"resource\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceItem</field>"},{"line":6,"text":"  <field content_type=\"resource\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceItem</field>"}],"line":3,"text":"  <field content_type=\"resource\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceItemHandler</field>"},{"context":[{"line":3,"text":"  <field content_type=\"resource\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceItemHandler</field>"},{"line":4,"text":"  <field content_type=\"resource\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceItem</field>"},{"line":5,"text":"  <field content_type=\"resource\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceItem</field>"},{"line":6,"text":"  <field content_type=\"resource\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceItem</field>"},{"line":7,"text":"  <field content_type=\"resource\" field_name=\"email_stop_class\">XFRM\\EmailStop\\ResourceItem</field>"}],"line":4,"text":"  <field content_type=\"resource\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceItem</field>"},{"context":[{"line":4,"text":"  <field content_type=\"resource\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceItem</field>"},{"line":5,"text":"  <field content_type=\"resource\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceItem</field>"},{"line":6,"text":"  <field content_type=\"resource\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceItem</field>"},{"line":7,"text":"  <field content_type=\"resource\" field_name=\"email_stop_class\">XFRM\\EmailStop\\ResourceItem</field>"},{"line":8,"text":"  <field content_type=\"resource\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceItem</field>"}],"line":5,"text":"  <field content_type=\"resource\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceItem</field>"},{"context":[{"line":5,"text":"  <field content_type=\"resource\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceItem</field>"},{"line":6,"text":"  <field content_type=\"resource\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceItem</field>"},{"line":7,"text":"  <field content_type=\"resource\" field_name=\"email_stop_class\">XFRM\\EmailStop\\ResourceItem</field>"},{"line":8,"text":"  <field content_type=\"resource\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceItem</field>"},{"line":9,"text":"  <field content_type=\"resource\" field_name=\"entity\">XFRM:ResourceItem</field>"}],"line":6,"text":"  <field content_type=\"resource\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceItem</field>"},{"context":[{"line":6,"text":"  <field content_type=\"resource\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceItem</field>"},{"line":7,"text":"  <field content_type=\"resource\" field_name=\"email_stop_class\">XFRM\\EmailStop\\ResourceItem</field>"},{"line":8,"text":"  <field content_type=\"resource\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceItem</field>"},{"line":9,"text":"  <field content_type=\"resource\" field_name=\"entity\">XFRM:ResourceItem</field>"},{"line":10,"text":"  <field content_type=\"resource\" field_name=\"featured_content_handler_class\">XFRM\\FeaturedContent\\ResourceItem</field>"}],"line":7,"text":"  <field content_type=\"resource\" field_name=\"email_stop_class\">XFRM\\EmailStop\\ResourceItem</field>"},{"context":[{"line":7,"text":"  <field content_type=\"resource\" field_name=\"email_stop_class\">XFRM\\EmailStop\\ResourceItem</field>"},{"line":8,"text":"  <field content_type=\"resource\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceItem</field>"},{"line":9,"text":"  <field content_type=\"resource\" field_name=\"entity\">XFRM:ResourceItem</field>"},{"line":10,"text":"  <field content_type=\"resource\" field_name=\"featured_content_handler_class\">XFRM\\FeaturedContent\\ResourceItem</field>"},{"line":11,"text":"  <field content_type=\"resource\" field_name=\"find_new_handler_class\">XFRM\\FindNew\\ResourceItem</field>"}],"line":8,"text":"  <field content_type=\"resource\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceItem</field>"},{"context":[{"line":8,"text":"  <field content_type=\"resource\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceItem</field>"},{"line":9,"text":"  <field content_type=\"resource\" field_name=\"entity\">XFRM:ResourceItem</field>"},{"line":10,"text":"  <field content_type=\"resource\" field_name=\"featured_content_handler_class\">XFRM\\FeaturedContent\\ResourceItem</field>"},{"line":11,"text":"  <field content_type=\"resource\" field_name=\"find_new_handler_class\">XFRM\\FindNew\\ResourceItem</field>"},{"line":12,"text":"  <field content_type=\"resource\" field_name=\"inline_mod_handler_class\">XFRM\\InlineMod\\ResourceItem</field>"}],"line":9,"text":"  <field content_type=\"resource\" field_name=\"entity\">XFRM:ResourceItem</field>"},{"context":[{"line":9,"text":"  <field content_type=\"resource\" field_name=\"entity\">XFRM:ResourceItem</field>"},{"line":10,"text":"  <field content_type=\"resource\" field_name=\"featured_content_handler_class\">XFRM\\FeaturedContent\\ResourceItem</field>"},{"line":11,"text":"  <field content_type=\"resource\" field_name=\"find_new_handler_class\">XFRM\\FindNew\\ResourceItem</field>"},{"line":12,"text":"  <field content_type=\"resource\" field_name=\"inline_mod_handler_class\">XFRM\\InlineMod\\ResourceItem</field>"},{"line":13,"text":"  <field content_type=\"resource\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceItem</field>"}],"line":10,"text":"  <field content_type=\"resource\" field_name=\"featured_content_handler_class\">XFRM\\FeaturedContent\\ResourceItem</field>"},{"context":[{"line":10,"text":"  <field content_type=\"resource\" field_name=\"featured_content_handler_class\">XFRM\\FeaturedContent\\ResourceItem</field>"},{"line":11,"text":"  <field content_type=\"resource\" field_name=\"find_new_handler_class\">XFRM\\FindNew\\ResourceItem</field>"},{"line":12,"text":"  <field content_type=\"resource\" field_name=\"inline_mod_handler_class\">XFRM\\InlineMod\\ResourceItem</field>"},{"line":13,"text":"  <field content_type=\"resource\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceItem</field>"},{"line":14,"text":"  <field content_type=\"resource\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceItem</field>"}],"line":11,"text":"  <field content_type=\"resource\" field_name=\"find_new_handler_class\">XFRM\\FindNew\\ResourceItem</field>"},{"context":[{"line":11,"text":"  <field content_type=\"resource\" field_name=\"find_new_handler_class\">XFRM\\FindNew\\ResourceItem</field>"},{"line":12,"text":"  <field content_type=\"resource\" field_name=\"inline_mod_handler_class\">XFRM\\InlineMod\\ResourceItem</field>"},{"line":13,"text":"  <field content_type=\"resource\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceItem</field>"},{"line":14,"text":"  <field content_type=\"resource\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceItem</field>"},{"line":15,"text":"  <field content_type=\"resource\" field_name=\"phrase\">xfrm_resource</field>"}],"line":12,"text":"  <field content_type=\"resource\" field_name=\"inline_mod_handler_class\">XFRM\\InlineMod\\ResourceItem</field>"},{"context":[{"line":12,"text":"  <field content_type=\"resource\" field_name=\"inline_mod_handler_class\">XFRM\\InlineMod\\ResourceItem</field>"},{"line":13,"text":"  <field content_type=\"resource\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceItem</field>"},{"line":14,"text":"  <field content_type=\"resource\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceItem</field>"},{"line":15,"text":"  <field content_type=\"resource\" field_name=\"phrase\">xfrm_resource</field>"},{"line":16,"text":"  <field content_type=\"resource\" field_name=\"phrase_plural\">xfrm_resources</field>"}],"line":13,"text":"  <field content_type=\"resource\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceItem</field>"},{"context":[{"line":13,"text":"  <field content_type=\"resource\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceItem</field>"},{"line":14,"text":"  <field content_type=\"resource\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceItem</field>"},{"line":15,"text":"  <field content_type=\"resource\" field_name=\"phrase\">xfrm_resource</field>"},{"line":16,"text":"  <field content_type=\"resource\" field_name=\"phrase_plural\">xfrm_resources</field>"},{"line":17,"text":"  <field content_type=\"resource\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceItem</field>"}],"line":14,"text":"  <field content_type=\"resource\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceItem</field>"},{"context":[{"line":14,"text":"  <field content_type=\"resource\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceItem</field>"},{"line":15,"text":"  <field content_type=\"resource\" field_name=\"phrase\">xfrm_resource</field>"},{"line":16,"text":"  <field content_type=\"resource\" field_name=\"phrase_plural\">xfrm_resources</field>"},{"line":17,"text":"  <field content_type=\"resource\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceItem</field>"},{"line":18,"text":"  <field content_type=\"resource\" field_name=\"sitemap_handler_class\">XFRM\\Sitemap\\ResourceItem</field>"}],"line":15,"text":"  <field content_type=\"resource\" field_name=\"phrase\">xfrm_resource</field>"},{"context":[{"line":15,"text":"  <field content_type=\"resource\" field_name=\"phrase\">xfrm_resource</field>"},{"line":16,"text":"  <field content_type=\"resource\" field_name=\"phrase_plural\">xfrm_resources</field>"},{"line":17,"text":"  <field content_type=\"resource\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceItem</field>"},{"line":18,"text":"  <field content_type=\"resource\" field_name=\"sitemap_handler_class\">XFRM\\Sitemap\\ResourceItem</field>"},{"line":19,"text":"  <field content_type=\"resource\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceItem</field>"}],"line":16,"text":"  <field content_type=\"resource\" field_name=\"phrase_plural\">xfrm_resources</field>"},{"context":[{"line":16,"text":"  <field content_type=\"resource\" field_name=\"phrase_plural\">xfrm_resources</field>"},{"line":17,"text":"  <field content_type=\"resource\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceItem</field>"},{"line":18,"text":"  <field content_type=\"resource\" field_name=\"sitemap_handler_class\">XFRM\\Sitemap\\ResourceItem</field>"},{"line":19,"text":"  <field content_type=\"resource\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceItem</field>"},{"line":20,"text":"  <field content_type=\"resource\" field_name=\"stats_handler_class\">XFRM\\Stats\\ResourceItem</field>"}],"line":17,"text":"  <field content_type=\"resource\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceItem</field>"},{"context":[{"line":17,"text":"  <field content_type=\"resource\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceItem</field>"},{"line":18,"text":"  <field content_type=\"resource\" field_name=\"sitemap_handler_class\">XFRM\\Sitemap\\ResourceItem</field>"},{"line":19,"text":"  <field content_type=\"resource\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceItem</field>"},{"line":20,"text":"  <field content_type=\"resource\" field_name=\"stats_handler_class\">XFRM\\Stats\\ResourceItem</field>"},{"line":21,"text":"  <field content_type=\"resource\" field_name=\"tag_handler_class\">XFRM\\Tag\\ResourceItem</field>"}],"line":18,"text":"  <field content_type=\"resource\" field_name=\"sitemap_handler_class\">XFRM\\Sitemap\\ResourceItem</field>"},{"context":[{"line":18,"text":"  <field content_type=\"resource\" field_name=\"sitemap_handler_class\">XFRM\\Sitemap\\ResourceItem</field>"},{"line":19,"text":"  <field content_type=\"resource\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceItem</field>"},{"line":20,"text":"  <field content_type=\"resource\" field_name=\"stats_handler_class\">XFRM\\Stats\\ResourceItem</field>"},{"line":21,"text":"  <field content_type=\"resource\" field_name=\"tag_handler_class\">XFRM\\Tag\\ResourceItem</field>"},{"line":22,"text":"  <field content_type=\"resource\" field_name=\"trending_content_handler_class\">XFRM\\TrendingContent\\ResourceItemHandler</field>"}],"line":19,"text":"  <field content_type=\"resource\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceItem</field>"},{"context":[{"line":19,"text":"  <field content_type=\"resource\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceItem</field>"},{"line":20,"text":"  <field content_type=\"resource\" field_name=\"stats_handler_class\">XFRM\\Stats\\ResourceItem</field>"},{"line":21,"text":"  <field content_type=\"resource\" field_name=\"tag_handler_class\">XFRM\\Tag\\ResourceItem</field>"},{"line":22,"text":"  <field content_type=\"resource\" field_name=\"trending_content_handler_class\">XFRM\\TrendingContent\\ResourceItemHandler</field>"},{"line":23,"text":"  <field content_type=\"resource\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceItem</field>"}],"line":20,"text":"  <field content_type=\"resource\" field_name=\"stats_handler_class\">XFRM\\Stats\\ResourceItem</field>"},{"context":[{"line":20,"text":"  <field content_type=\"resource\" field_name=\"stats_handler_class\">XFRM\\Stats\\ResourceItem</field>"},{"line":21,"text":"  <field content_type=\"resource\" field_name=\"tag_handler_class\">XFRM\\Tag\\ResourceItem</field>"},{"line":22,"text":"  <field content_type=\"resource\" field_name=\"trending_content_handler_class\">XFRM\\TrendingContent\\ResourceItemHandler</field>"},{"line":23,"text":"  <field content_type=\"resource\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceItem</field>"},{"line":24,"text":"  <field content_type=\"resource_category\" field_name=\"email_stop_class\">XFRM\\EmailStop\\Category</field>"}],"line":21,"text":"  <field content_type=\"resource\" field_name=\"tag_handler_class\">XFRM\\Tag\\ResourceItem</field>"},{"context":[{"line":21,"text":"  <field content_type=\"resource\" field_name=\"tag_handler_class\">XFRM\\Tag\\ResourceItem</field>"},{"line":22,"text":"  <field content_type=\"resource\" field_name=\"trending_content_handler_class\">XFRM\\TrendingContent\\ResourceItemHandler</field>"},{"line":23,"text":"  <field content_type=\"resource\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceItem</field>"},{"line":24,"text":"  <field content_type=\"resource_category\" field_name=\"email_stop_class\">XFRM\\EmailStop\\Category</field>"},{"line":25,"text":"  <field content_type=\"resource_category\" field_name=\"permission_handler_class\">XFRM\\Permission\\CategoryPermissions</field>"}],"line":22,"text":"  <field content_type=\"resource\" field_name=\"trending_content_handler_class\">XFRM\\TrendingContent\\ResourceItemHandler</field>"},{"context":[{"line":22,"text":"  <field content_type=\"resource\" field_name=\"trending_content_handler_class\">XFRM\\TrendingContent\\ResourceItemHandler</field>"},{"line":23,"text":"  <field content_type=\"resource\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceItem</field>"},{"line":24,"text":"  <field content_type=\"resource_category\" field_name=\"email_stop_class\">XFRM\\EmailStop\\Category</field>"},{"line":25,"text":"  <field content_type=\"resource_category\" field_name=\"permission_handler_class\">XFRM\\Permission\\CategoryPermissions</field>"},{"line":26,"text":"  <field content_type=\"resource_category\" field_name=\"phrase\">xfrm_resource_category</field>"}],"line":23,"text":"  <field content_type=\"resource\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceItem</field>"},{"context":[{"line":23,"text":"  <field content_type=\"resource\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceItem</field>"},{"line":24,"text":"  <field content_type=\"resource_category\" field_name=\"email_stop_class\">XFRM\\EmailStop\\Category</field>"},{"line":25,"text":"  <field content_type=\"resource_category\" field_name=\"permission_handler_class\">XFRM\\Permission\\CategoryPermissions</field>"},{"line":26,"text":"  <field content_type=\"resource_category\" field_name=\"phrase\">xfrm_resource_category</field>"},{"line":27,"text":"  <field content_type=\"resource_category\" field_name=\"phrase_plural\">xfrm_resource_categories</field>"}],"line":24,"text":"  <field content_type=\"resource_category\" field_name=\"email_stop_class\">XFRM\\EmailStop\\Category</field>"},{"context":[{"line":24,"text":"  <field content_type=\"resource_category\" field_name=\"email_stop_class\">XFRM\\EmailStop\\Category</field>"},{"line":25,"text":"  <field content_type=\"resource_category\" field_name=\"permission_handler_class\">XFRM\\Permission\\CategoryPermissions</field>"},{"line":26,"text":"  <field content_type=\"resource_category\" field_name=\"phrase\">xfrm_resource_category</field>"},{"line":27,"text":"  <field content_type=\"resource_category\" field_name=\"phrase_plural\">xfrm_resource_categories</field>"},{"line":28,"text":"  <field content_type=\"resource_rating\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceRating</field>"}],"line":25,"text":"  <field content_type=\"resource_category\" field_name=\"permission_handler_class\">XFRM\\Permission\\CategoryPermissions</field>"},{"context":[{"line":25,"text":"  <field content_type=\"resource_category\" field_name=\"permission_handler_class\">XFRM\\Permission\\CategoryPermissions</field>"},{"line":26,"text":"  <field content_type=\"resource_category\" field_name=\"phrase\">xfrm_resource_category</field>"},{"line":27,"text":"  <field content_type=\"resource_category\" field_name=\"phrase_plural\">xfrm_resource_categories</field>"},{"line":28,"text":"  <field content_type=\"resource_rating\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceRating</field>"},{"line":29,"text":"  <field content_type=\"resource_rating\" field_name=\"content_vote_handler_class\">XFRM\\ContentVote\\ResourceRating</field>"}],"line":26,"text":"  <field content_type=\"resource_category\" field_name=\"phrase\">xfrm_resource_category</field>"},{"context":[{"line":26,"text":"  <field content_type=\"resource_category\" field_name=\"phrase\">xfrm_resource_category</field>"},{"line":27,"text":"  <field content_type=\"resource_category\" field_name=\"phrase_plural\">xfrm_resource_categories</field>"},{"line":28,"text":"  <field content_type=\"resource_rating\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceRating</field>"},{"line":29,"text":"  <field content_type=\"resource_rating\" field_name=\"content_vote_handler_class\">XFRM\\ContentVote\\ResourceRating</field>"},{"line":30,"text":"  <field content_type=\"resource_rating\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceRating</field>"}],"line":27,"text":"  <field content_type=\"resource_category\" field_name=\"phrase_plural\">xfrm_resource_categories</field>"},{"context":[{"line":27,"text":"  <field content_type=\"resource_category\" field_name=\"phrase_plural\">xfrm_resource_categories</field>"},{"line":28,"text":"  <field content_type=\"resource_rating\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceRating</field>"},{"line":29,"text":"  <field content_type=\"resource_rating\" field_name=\"content_vote_handler_class\">XFRM\\ContentVote\\ResourceRating</field>"},{"line":30,"text":"  <field content_type=\"resource_rating\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceRating</field>"},{"line":31,"text":"  <field content_type=\"resource_rating\" field_name=\"entity\">XFRM:ResourceRating</field>"}],"line":28,"text":"  <field content_type=\"resource_rating\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceRating</field>"},{"context":[{"line":28,"text":"  <field content_type=\"resource_rating\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceRating</field>"},{"line":29,"text":"  <field content_type=\"resource_rating\" field_name=\"content_vote_handler_class\">XFRM\\ContentVote\\ResourceRating</field>"},{"line":30,"text":"  <field content_type=\"resource_rating\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceRating</field>"},{"line":31,"text":"  <field content_type=\"resource_rating\" field_name=\"entity\">XFRM:ResourceRating</field>"},{"line":32,"text":"  <field content_type=\"resource_rating\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceRating</field>"}],"line":29,"text":"  <field content_type=\"resource_rating\" field_name=\"content_vote_handler_class\">XFRM\\ContentVote\\ResourceRating</field>"},{"context":[{"line":29,"text":"  <field content_type=\"resource_rating\" field_name=\"content_vote_handler_class\">XFRM\\ContentVote\\ResourceRating</field>"},{"line":30,"text":"  <field content_type=\"resource_rating\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceRating</field>"},{"line":31,"text":"  <field content_type=\"resource_rating\" field_name=\"entity\">XFRM:ResourceRating</field>"},{"line":32,"text":"  <field content_type=\"resource_rating\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceRating</field>"},{"line":33,"text":"  <field content_type=\"resource_rating\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceRating</field>"}],"line":30,"text":"  <field content_type=\"resource_rating\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceRating</field>"},{"context":[{"line":30,"text":"  <field content_type=\"resource_rating\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceRating</field>"},{"line":31,"text":"  <field content_type=\"resource_rating\" field_name=\"entity\">XFRM:ResourceRating</field>"},{"line":32,"text":"  <field content_type=\"resource_rating\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceRating</field>"},{"line":33,"text":"  <field content_type=\"resource_rating\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceRating</field>"},{"line":34,"text":"  <field content_type=\"resource_rating\" field_name=\"phrase\">xfrm_resource_rating</field>"}],"line":31,"text":"  <field content_type=\"resource_rating\" field_name=\"entity\">XFRM:ResourceRating</field>"},{"context":[{"line":31,"text":"  <field content_type=\"resource_rating\" field_name=\"entity\">XFRM:ResourceRating</field>"},{"line":32,"text":"  <field content_type=\"resource_rating\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceRating</field>"},{"line":33,"text":"  <field content_type=\"resource_rating\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceRating</field>"},{"line":34,"text":"  <field content_type=\"resource_rating\" field_name=\"phrase\">xfrm_resource_rating</field>"},{"line":35,"text":"  <field content_type=\"resource_rating\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceRating</field>"}],"line":32,"text":"  <field content_type=\"resource_rating\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceRating</field>"},{"context":[{"line":32,"text":"  <field content_type=\"resource_rating\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceRating</field>"},{"line":33,"text":"  <field content_type=\"resource_rating\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceRating</field>"},{"line":34,"text":"  <field content_type=\"resource_rating\" field_name=\"phrase\">xfrm_resource_rating</field>"},{"line":35,"text":"  <field content_type=\"resource_rating\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceRating</field>"},{"line":36,"text":"  <field content_type=\"resource_rating\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceRating</field>"}],"line":33,"text":"  <field content_type=\"resource_rating\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceRating</field>"},{"context":[{"line":33,"text":"  <field content_type=\"resource_rating\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceRating</field>"},{"line":34,"text":"  <field content_type=\"resource_rating\" field_name=\"phrase\">xfrm_resource_rating</field>"},{"line":35,"text":"  <field content_type=\"resource_rating\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceRating</field>"},{"line":36,"text":"  <field content_type=\"resource_rating\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceRating</field>"},{"line":37,"text":"  <field content_type=\"resource_rating\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceRating</field>"}],"line":34,"text":"  <field content_type=\"resource_rating\" field_name=\"phrase\">xfrm_resource_rating</field>"},{"context":[{"line":34,"text":"  <field content_type=\"resource_rating\" field_name=\"phrase\">xfrm_resource_rating</field>"},{"line":35,"text":"  <field content_type=\"resource_rating\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceRating</field>"},{"line":36,"text":"  <field content_type=\"resource_rating\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceRating</field>"},{"line":37,"text":"  <field content_type=\"resource_rating\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceRating</field>"},{"line":38,"text":"  <field content_type=\"resource_rating\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceRating</field>"}],"line":35,"text":"  <field content_type=\"resource_rating\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceRating</field>"},{"context":[{"line":35,"text":"  <field content_type=\"resource_rating\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceRating</field>"},{"line":36,"text":"  <field content_type=\"resource_rating\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceRating</field>"},{"line":37,"text":"  <field content_type=\"resource_rating\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceRating</field>"},{"line":38,"text":"  <field content_type=\"resource_rating\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceRating</field>"},{"line":39,"text":"  <field content_type=\"resource_update\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceUpdateHandler</field>"}],"line":36,"text":"  <field content_type=\"resource_rating\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceRating</field>"},{"context":[{"line":36,"text":"  <field content_type=\"resource_rating\" field_name=\"spam_handler_class\">XFRM\\Spam\\Cleaner\\ResourceRating</field>"},{"line":37,"text":"  <field content_type=\"resource_rating\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceRating</field>"},{"line":38,"text":"  <field content_type=\"resource_rating\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceRating</field>"},{"line":39,"text":"  <field content_type=\"resource_update\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceUpdateHandler</field>"},{"line":40,"text":"  <field content_type=\"resource_update\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceUpdate</field>"}],"line":37,"text":"  <field content_type=\"resource_rating\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceRating</field>"},{"context":[{"line":37,"text":"  <field content_type=\"resource_rating\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceRating</field>"},{"line":38,"text":"  <field content_type=\"resource_rating\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceRating</field>"},{"line":39,"text":"  <field content_type=\"resource_update\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceUpdateHandler</field>"},{"line":40,"text":"  <field content_type=\"resource_update\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceUpdate</field>"},{"line":41,"text":"  <field content_type=\"resource_update\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceUpdate</field>"}],"line":38,"text":"  <field content_type=\"resource_rating\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceRating</field>"},{"context":[{"line":38,"text":"  <field content_type=\"resource_rating\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceRating</field>"},{"line":39,"text":"  <field content_type=\"resource_update\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceUpdateHandler</field>"},{"line":40,"text":"  <field content_type=\"resource_update\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceUpdate</field>"},{"line":41,"text":"  <field content_type=\"resource_update\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceUpdate</field>"},{"line":42,"text":"  <field content_type=\"resource_update\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceUpdate</field>"}],"line":39,"text":"  <field content_type=\"resource_update\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceUpdateHandler</field>"},{"context":[{"line":39,"text":"  <field content_type=\"resource_update\" field_name=\"activity_log_handler_class\">XFRM\\ActivityLog\\ResourceUpdateHandler</field>"},{"line":40,"text":"  <field content_type=\"resource_update\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceUpdate</field>"},{"line":41,"text":"  <field content_type=\"resource_update\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceUpdate</field>"},{"line":42,"text":"  <field content_type=\"resource_update\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceUpdate</field>"},{"line":43,"text":"  <field content_type=\"resource_update\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceUpdate</field>"}],"line":40,"text":"  <field content_type=\"resource_update\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceUpdate</field>"},{"context":[{"line":40,"text":"  <field content_type=\"resource_update\" field_name=\"alert_handler_class\">XFRM\\Alert\\ResourceUpdate</field>"},{"line":41,"text":"  <field content_type=\"resource_update\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceUpdate</field>"},{"line":42,"text":"  <field content_type=\"resource_update\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceUpdate</field>"},{"line":43,"text":"  <field content_type=\"resource_update\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceUpdate</field>"},{"line":44,"text":"  <field content_type=\"resource_update\" field_name=\"edit_history_handler_class\">XFRM\\EditHistory\\ResourceUpdate</field>"}],"line":41,"text":"  <field content_type=\"resource_update\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceUpdate</field>"},{"context":[{"line":41,"text":"  <field content_type=\"resource_update\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceUpdate</field>"},{"line":42,"text":"  <field content_type=\"resource_update\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceUpdate</field>"},{"line":43,"text":"  <field content_type=\"resource_update\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceUpdate</field>"},{"line":44,"text":"  <field content_type=\"resource_update\" field_name=\"edit_history_handler_class\">XFRM\\EditHistory\\ResourceUpdate</field>"},{"line":45,"text":"  <field content_type=\"resource_update\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceUpdate</field>"}],"line":42,"text":"  <field content_type=\"resource_update\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceUpdate</field>"},{"context":[{"line":42,"text":"  <field content_type=\"resource_update\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceUpdate</field>"},{"line":43,"text":"  <field content_type=\"resource_update\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceUpdate</field>"},{"line":44,"text":"  <field content_type=\"resource_update\" field_name=\"edit_history_handler_class\">XFRM\\EditHistory\\ResourceUpdate</field>"},{"line":45,"text":"  <field content_type=\"resource_update\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceUpdate</field>"},{"line":46,"text":"  <field content_type=\"resource_update\" field_name=\"entity\">XFRM:ResourceUpdate</field>"}],"line":43,"text":"  <field content_type=\"resource_update\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceUpdate</field>"},{"context":[{"line":43,"text":"  <field content_type=\"resource_update\" field_name=\"bookmark_handler_class\">XFRM\\Bookmark\\ResourceUpdate</field>"},{"line":44,"text":"  <field content_type=\"resource_update\" field_name=\"edit_history_handler_class\">XFRM\\EditHistory\\ResourceUpdate</field>"},{"line":45,"text":"  <field content_type=\"resource_update\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceUpdate</field>"},{"line":46,"text":"  <field content_type=\"resource_update\" field_name=\"entity\">XFRM:ResourceUpdate</field>"},{"line":47,"text":"  <field content_type=\"resource_update\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceUpdate</field>"}],"line":44,"text":"  <field content_type=\"resource_update\" field_name=\"edit_history_handler_class\">XFRM\\EditHistory\\ResourceUpdate</field>"},{"context":[{"line":44,"text":"  <field content_type=\"resource_update\" field_name=\"edit_history_handler_class\">XFRM\\EditHistory\\ResourceUpdate</field>"},{"line":45,"text":"  <field content_type=\"resource_update\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceUpdate</field>"},{"line":46,"text":"  <field content_type=\"resource_update\" field_name=\"entity\">XFRM:ResourceUpdate</field>"},{"line":47,"text":"  <field content_type=\"resource_update\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceUpdate</field>"},{"line":48,"text":"  <field content_type=\"resource_update\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceUpdate</field>"}],"line":45,"text":"  <field content_type=\"resource_update\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceUpdate</field>"},{"context":[{"line":45,"text":"  <field content_type=\"resource_update\" field_name=\"embed_resolver_class\">XFRM\\EmbedResolver\\ResourceUpdate</field>"},{"line":46,"text":"  <field content_type=\"resource_update\" field_name=\"entity\">XFRM:ResourceUpdate</field>"},{"line":47,"text":"  <field content_type=\"resource_update\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceUpdate</field>"},{"line":48,"text":"  <field content_type=\"resource_update\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceUpdate</field>"},{"line":49,"text":"  <field content_type=\"resource_update\" field_name=\"phrase\">xfrm_resource_update</field>"}],"line":46,"text":"  <field content_type=\"resource_update\" field_name=\"entity\">XFRM:ResourceUpdate</field>"},{"context":[{"line":46,"text":"  <field content_type=\"resource_update\" field_name=\"entity\">XFRM:ResourceUpdate</field>"},{"line":47,"text":"  <field content_type=\"resource_update\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceUpdate</field>"},{"line":48,"text":"  <field content_type=\"resource_update\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceUpdate</field>"},{"line":49,"text":"  <field content_type=\"resource_update\" field_name=\"phrase\">xfrm_resource_update</field>"},{"line":50,"text":"  <field content_type=\"resource_update\" field_name=\"phrase_plural\">xfrm_resource_updates</field>"}],"line":47,"text":"  <field content_type=\"resource_update\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceUpdate</field>"},{"context":[{"line":47,"text":"  <field content_type=\"resource_update\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceUpdate</field>"},{"line":48,"text":"  <field content_type=\"resource_update\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceUpdate</field>"},{"line":49,"text":"  <field content_type=\"resource_update\" field_name=\"phrase\">xfrm_resource_update</field>"},{"line":50,"text":"  <field content_type=\"resource_update\" field_name=\"phrase_plural\">xfrm_resource_updates</field>"},{"line":51,"text":"  <field content_type=\"resource_update\" field_name=\"reaction_handler_class\">XFRM\\Reaction\\ResourceUpdate</field>"}],"line":48,"text":"  <field content_type=\"resource_update\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceUpdate</field>"},{"context":[{"line":48,"text":"  <field content_type=\"resource_update\" field_name=\"news_feed_handler_class\">XFRM\\NewsFeed\\ResourceUpdate</field>"},{"line":49,"text":"  <field content_type=\"resource_update\" field_name=\"phrase\">xfrm_resource_update</field>"},{"line":50,"text":"  <field content_type=\"resource_update\" field_name=\"phrase_plural\">xfrm_resource_updates</field>"},{"line":51,"text":"  <field content_type=\"resource_update\" field_name=\"reaction_handler_class\">XFRM\\Reaction\\ResourceUpdate</field>"},{"line":52,"text":"  <field content_type=\"resource_update\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceUpdate</field>"}],"line":49,"text":"  <field content_type=\"resource_update\" field_name=\"phrase\">xfrm_resource_update</field>"},{"context":[{"line":49,"text":"  <field content_type=\"resource_update\" field_name=\"phrase\">xfrm_resource_update</field>"},{"line":50,"text":"  <field content_type=\"resource_update\" field_name=\"phrase_plural\">xfrm_resource_updates</field>"},{"line":51,"text":"  <field content_type=\"resource_update\" field_name=\"reaction_handler_class\">XFRM\\Reaction\\ResourceUpdate</field>"},{"line":52,"text":"  <field content_type=\"resource_update\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceUpdate</field>"},{"line":53,"text":"  <field content_type=\"resource_update\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceUpdate</field>"}],"line":50,"text":"  <field content_type=\"resource_update\" field_name=\"phrase_plural\">xfrm_resource_updates</field>"},{"context":[{"line":50,"text":"  <field content_type=\"resource_update\" field_name=\"phrase_plural\">xfrm_resource_updates</field>"},{"line":51,"text":"  <field content_type=\"resource_update\" field_name=\"reaction_handler_class\">XFRM\\Reaction\\ResourceUpdate</field>"},{"line":52,"text":"  <field content_type=\"resource_update\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceUpdate</field>"},{"line":53,"text":"  <field content_type=\"resource_update\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceUpdate</field>"},{"line":54,"text":"  <field content_type=\"resource_update\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceUpdate</field>"}],"line":51,"text":"  <field content_type=\"resource_update\" field_name=\"reaction_handler_class\">XFRM\\Reaction\\ResourceUpdate</field>"},{"context":[{"line":51,"text":"  <field content_type=\"resource_update\" field_name=\"reaction_handler_class\">XFRM\\Reaction\\ResourceUpdate</field>"},{"line":52,"text":"  <field content_type=\"resource_update\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceUpdate</field>"},{"line":53,"text":"  <field content_type=\"resource_update\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceUpdate</field>"},{"line":54,"text":"  <field content_type=\"resource_update\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceUpdate</field>"},{"line":55,"text":"  <field content_type=\"resource_update\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceUpdate</field>"}],"line":52,"text":"  <field content_type=\"resource_update\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceUpdate</field>"},{"context":[{"line":52,"text":"  <field content_type=\"resource_update\" field_name=\"report_handler_class\">XFRM\\Report\\ResourceUpdate</field>"},{"line":53,"text":"  <field content_type=\"resource_update\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceUpdate</field>"},{"line":54,"text":"  <field content_type=\"resource_update\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceUpdate</field>"},{"line":55,"text":"  <field content_type=\"resource_update\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceUpdate</field>"},{"line":56,"text":"  <field content_type=\"resource_version\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceVersion</field>"}],"line":53,"text":"  <field content_type=\"resource_update\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceUpdate</field>"},{"context":[{"line":53,"text":"  <field content_type=\"resource_update\" field_name=\"search_handler_class\">XFRM\\Search\\Data\\ResourceUpdate</field>"},{"line":54,"text":"  <field content_type=\"resource_update\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceUpdate</field>"},{"line":55,"text":"  <field content_type=\"resource_update\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceUpdate</field>"},{"line":56,"text":"  <field content_type=\"resource_version\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceVersion</field>"},{"line":57,"text":"  <field content_type=\"resource_version\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceVersion</field>"}],"line":54,"text":"  <field content_type=\"resource_update\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceUpdate</field>"},{"context":[{"line":54,"text":"  <field content_type=\"resource_update\" field_name=\"warning_handler_class\">XFRM\\Warning\\ResourceUpdate</field>"},{"line":55,"text":"  <field content_type=\"resource_update\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceUpdate</field>"},{"line":56,"text":"  <field content_type=\"resource_version\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceVersion</field>"},{"line":57,"text":"  <field content_type=\"resource_version\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceVersion</field>"},{"line":58,"text":"  <field content_type=\"resource_version\" field_name=\"entity\">XFRM:ResourceVersion</field>"}],"line":55,"text":"  <field content_type=\"resource_update\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceUpdate</field>"},{"context":[{"line":55,"text":"  <field content_type=\"resource_update\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceUpdate</field>"},{"line":56,"text":"  <field content_type=\"resource_version\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceVersion</field>"},{"line":57,"text":"  <field content_type=\"resource_version\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceVersion</field>"},{"line":58,"text":"  <field content_type=\"resource_version\" field_name=\"entity\">XFRM:ResourceVersion</field>"},{"line":59,"text":"  <field content_type=\"resource_version\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceVersion</field>"}],"line":56,"text":"  <field content_type=\"resource_version\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceVersion</field>"},{"context":[{"line":56,"text":"  <field content_type=\"resource_version\" field_name=\"approval_queue_handler_class\">XFRM\\ApprovalQueue\\ResourceVersion</field>"},{"line":57,"text":"  <field content_type=\"resource_version\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceVersion</field>"},{"line":58,"text":"  <field content_type=\"resource_version\" field_name=\"entity\">XFRM:ResourceVersion</field>"},{"line":59,"text":"  <field content_type=\"resource_version\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceVersion</field>"},{"line":60,"text":"  <field content_type=\"resource_version\" field_name=\"phrase\">xfrm_resource_version</field>"}],"line":57,"text":"  <field content_type=\"resource_version\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceVersion</field>"},{"context":[{"line":57,"text":"  <field content_type=\"resource_version\" field_name=\"attachment_handler_class\">XFRM\\Attachment\\ResourceVersion</field>"},{"line":58,"text":"  <field content_type=\"resource_version\" field_name=\"entity\">XFRM:ResourceVersion</field>"},{"line":59,"text":"  <field content_type=\"resource_version\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceVersion</field>"},{"line":60,"text":"  <field content_type=\"resource_version\" field_name=\"phrase\">xfrm_resource_version</field>"},{"line":61,"text":"  <field content_type=\"resource_version\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceVersion</field>"}],"line":58,"text":"  <field content_type=\"resource_version\" field_name=\"entity\">XFRM:ResourceVersion</field>"},{"context":[{"line":58,"text":"  <field content_type=\"resource_version\" field_name=\"entity\">XFRM:ResourceVersion</field>"},{"line":59,"text":"  <field content_type=\"resource_version\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceVersion</field>"},{"line":60,"text":"  <field content_type=\"resource_version\" field_name=\"phrase\">xfrm_resource_version</field>"},{"line":61,"text":"  <field content_type=\"resource_version\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceVersion</field>"},{"line":62,"text":"</content_type_fields>"}],"line":59,"text":"  <field content_type=\"resource_version\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceVersion</field>"},{"context":[{"line":59,"text":"  <field content_type=\"resource_version\" field_name=\"moderator_log_handler_class\">XFRM\\ModeratorLog\\ResourceVersion</field>"},{"line":60,"text":"  <field content_type=\"resource_version\" field_name=\"phrase\">xfrm_resource_version</field>"},{"line":61,"text":"  <field content_type=\"resource_version\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceVersion</field>"},{"line":62,"text":"</content_type_fields>"}],"line":60,"text":"  <field content_type=\"resource_version\" field_name=\"phrase\">xfrm_resource_version</field>"},{"context":[{"line":60,"text":"  <field content_type=\"resource_version\" field_name=\"phrase\">xfrm_resource_version</field>"},{"line":61,"text":"  <field content_type=\"resource_version\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceVersion</field>"},{"line":62,"text":"</content_type_fields>"}],"line":61,"text":"  <field content_type=\"resource_version\" field_name=\"webhook_handler_class\">XFRM\\Webhook\\Event\\ResourceVersion</field>"}],"path":"/var/www/forums/newfi/public/src/addons/XFRM/_data/content_type_fields.xml","present":true,"sha256":"0c55319843d04701f1f6fa7fdfeb1ae8883b6d3bb95fceb6e0cf245638543474"},"addons/XFRM/_data/routes.xml":{"bytes":3869,"matches":[{"context":[{"line":2,"text":"<routes>"},{"line":3,"text":"  <route route_type=\"admin\" route_prefix=\"permissions\" sub_name=\"resource-categories\" format=\"resource-categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Permission\" context=\"xfrmCategoryPermissions\" action_prefix=\"category\"/>"},{"line":4,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"line":5,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrmCategories\"/>"},{"line":6,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"fields\" format=\"fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceField\" context=\"xfrmFields\"/>"}],"line":3,"text":"  <route route_type=\"admin\" route_prefix=\"permissions\" sub_name=\"resource-categories\" format=\"resource-categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Permission\" context=\"xfrmCategoryPermissions\" action_prefix=\"category\"/>"},{"context":[{"line":3,"text":"  <route route_type=\"admin\" route_prefix=\"permissions\" sub_name=\"resource-categories\" format=\"resource-categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Permission\" context=\"xfrmCategoryPermissions\" action_prefix=\"category\"/>"},{"line":4,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"line":5,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrmCategories\"/>"},{"line":6,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"fields\" format=\"fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceField\" context=\"xfrmFields\"/>"},{"line":7,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes\" format=\"prefixes/:int&lt;prefix_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\"/>"}],"line":4,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"context":[{"line":4,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"line":5,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrmCategories\"/>"},{"line":6,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"fields\" format=\"fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceField\" context=\"xfrmFields\"/>"},{"line":7,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes\" format=\"prefixes/:int&lt;prefix_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\"/>"},{"line":8,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes/group\" format=\"prefixes/group/:int&lt;prefix_group_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\" action_prefix=\"Group\"/>"}],"line":5,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrmCategories\"/>"},{"context":[{"line":5,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrmCategories\"/>"},{"line":6,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"fields\" format=\"fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceField\" context=\"xfrmFields\"/>"},{"line":7,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes\" format=\"prefixes/:int&lt;prefix_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\"/>"},{"line":8,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes/group\" format=\"prefixes/group/:int&lt;prefix_group_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\" action_prefix=\"Group\"/>"},{"line":9,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"review-fields\" format=\"review-fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceReviewField\" context=\"xfrmReviewFields\"/>"}],"line":6,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"fields\" format=\"fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceField\" context=\"xfrmFields\"/>"},{"context":[{"line":6,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"fields\" format=\"fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceField\" context=\"xfrmFields\"/>"},{"line":7,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes\" format=\"prefixes/:int&lt;prefix_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\"/>"},{"line":8,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes/group\" format=\"prefixes/group/:int&lt;prefix_group_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\" action_prefix=\"Group\"/>"},{"line":9,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"review-fields\" format=\"review-fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceReviewField\" context=\"xfrmReviewFields\"/>"},{"line":10,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" controller=\"XFRM:Categories\"/>"}],"line":7,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes\" format=\"prefixes/:int&lt;prefix_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\"/>"},{"context":[{"line":7,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes\" format=\"prefixes/:int&lt;prefix_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\"/>"},{"line":8,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes/group\" format=\"prefixes/group/:int&lt;prefix_group_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\" action_prefix=\"Group\"/>"},{"line":9,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"review-fields\" format=\"review-fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceReviewField\" context=\"xfrmReviewFields\"/>"},{"line":10,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" controller=\"XFRM:Categories\"/>"},{"line":11,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" sub_name=\"-\" format=\":+int&lt;resource_category_id&gt;/\" controller=\"XFRM:Category\"/>"}],"line":8,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes/group\" format=\"prefixes/group/:int&lt;prefix_group_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\" action_prefix=\"Group\"/>"},{"context":[{"line":8,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"prefixes/group\" format=\"prefixes/group/:int&lt;prefix_group_id,title&gt;/\" controller=\"XFRM:ResourcePrefix\" context=\"xfrmPrefixes\" action_prefix=\"Group\"/>"},{"line":9,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"review-fields\" format=\"review-fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceReviewField\" context=\"xfrmReviewFields\"/>"},{"line":10,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" controller=\"XFRM:Categories\"/>"},{"line":11,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" sub_name=\"-\" format=\":+int&lt;resource_category_id&gt;/\" controller=\"XFRM:Category\"/>"},{"line":12,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" controller=\"XFRM:ResourceReviews\"/>"}],"line":9,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"review-fields\" format=\"review-fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceReviewField\" context=\"xfrmReviewFields\"/>"},{"context":[{"line":9,"text":"  <route route_type=\"admin\" route_prefix=\"resource-manager\" sub_name=\"review-fields\" format=\"review-fields/:str&lt;field_id&gt;/\" controller=\"XFRM:ResourceReviewField\" context=\"xfrmReviewFields\"/>"},{"line":10,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" controller=\"XFRM:Categories\"/>"},{"line":11,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" sub_name=\"-\" format=\":+int&lt;resource_category_id&gt;/\" controller=\"XFRM:Category\"/>"},{"line":12,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" controller=\"XFRM:ResourceReviews\"/>"},{"line":13,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" sub_name=\"-\" format=\":+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\"/>"}],"line":10,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" controller=\"XFRM:Categories\"/>"},{"context":[{"line":10,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" controller=\"XFRM:Categories\"/>"},{"line":11,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" sub_name=\"-\" format=\":+int&lt;resource_category_id&gt;/\" controller=\"XFRM:Category\"/>"},{"line":12,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" controller=\"XFRM:ResourceReviews\"/>"},{"line":13,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" sub_name=\"-\" format=\":+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\"/>"},{"line":14,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" controller=\"XFRM:ResourceUpdates\"/>"}],"line":11,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" sub_name=\"-\" format=\":+int&lt;resource_category_id&gt;/\" controller=\"XFRM:Category\"/>"},{"context":[{"line":11,"text":"  <route route_type=\"api\" route_prefix=\"resource-categories\" sub_name=\"-\" format=\":+int&lt;resource_category_id&gt;/\" controller=\"XFRM:Category\"/>"},{"line":12,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" controller=\"XFRM:ResourceReviews\"/>"},{"line":13,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" sub_name=\"-\" format=\":+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\"/>"},{"line":14,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" controller=\"XFRM:ResourceUpdates\"/>"},{"line":15,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" sub_name=\"-\" format=\":+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\"/>"}],"line":12,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" controller=\"XFRM:ResourceReviews\"/>"},{"context":[{"line":12,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" controller=\"XFRM:ResourceReviews\"/>"},{"line":13,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" sub_name=\"-\" format=\":+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\"/>"},{"line":14,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" controller=\"XFRM:ResourceUpdates\"/>"},{"line":15,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" sub_name=\"-\" format=\":+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\"/>"},{"line":16,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" controller=\"XFRM:ResourceVersions\"/>"}],"line":13,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" sub_name=\"-\" format=\":+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\"/>"},{"context":[{"line":13,"text":"  <route route_type=\"api\" route_prefix=\"resource-reviews\" sub_name=\"-\" format=\":+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\"/>"},{"line":14,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" controller=\"XFRM:ResourceUpdates\"/>"},{"line":15,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" sub_name=\"-\" format=\":+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\"/>"},{"line":16,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" controller=\"XFRM:ResourceVersions\"/>"},{"line":17,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" sub_name=\"-\" format=\":+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\"/>"}],"line":14,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" controller=\"XFRM:ResourceUpdates\"/>"},{"context":[{"line":14,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" controller=\"XFRM:ResourceUpdates\"/>"},{"line":15,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" sub_name=\"-\" format=\":+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\"/>"},{"line":16,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" controller=\"XFRM:ResourceVersions\"/>"},{"line":17,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" sub_name=\"-\" format=\":+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\"/>"},{"line":18,"text":"  <route route_type=\"api\" route_prefix=\"resources\" controller=\"XFRM:ResourceItems\"/>"}],"line":15,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" sub_name=\"-\" format=\":+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\"/>"},{"context":[{"line":15,"text":"  <route route_type=\"api\" route_prefix=\"resource-updates\" sub_name=\"-\" format=\":+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\"/>"},{"line":16,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" controller=\"XFRM:ResourceVersions\"/>"},{"line":17,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" sub_name=\"-\" format=\":+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\"/>"},{"line":18,"text":"  <route route_type=\"api\" route_prefix=\"resources\" controller=\"XFRM:ResourceItems\"/>"},{"line":19,"text":"  <route route_type=\"api\" route_prefix=\"resources\" sub_name=\"-\" format=\":+int&lt;resource_id&gt;/\" controller=\"XFRM:ResourceItem\"/>"}],"line":16,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" controller=\"XFRM:ResourceVersions\"/>"},{"context":[{"line":16,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" controller=\"XFRM:ResourceVersions\"/>"},{"line":17,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" sub_name=\"-\" format=\":+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\"/>"},{"line":18,"text":"  <route route_type=\"api\" route_prefix=\"resources\" controller=\"XFRM:ResourceItems\"/>"},{"line":19,"text":"  <route route_type=\"api\" route_prefix=\"resources\" sub_name=\"-\" format=\":+int&lt;resource_id&gt;/\" controller=\"XFRM:ResourceItem\"/>"},{"line":20,"text":"  <route route_type=\"public\" route_prefix=\"resources\" format=\":int&lt;resource_id,title&gt;/\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"}],"line":17,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" sub_name=\"-\" format=\":+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\"/>"},{"context":[{"line":17,"text":"  <route route_type=\"api\" route_prefix=\"resource-versions\" sub_name=\"-\" format=\":+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\"/>"},{"line":18,"text":"  <route route_type=\"api\" route_prefix=\"resources\" controller=\"XFRM:ResourceItems\"/>"},{"line":19,"text":"  <route route_type=\"api\" route_prefix=\"resources\" sub_name=\"-\" format=\":+int&lt;resource_id&gt;/\" controller=\"XFRM:ResourceItem\"/>"},{"line":20,"text":"  <route route_type=\"public\" route_prefix=\"resources\" format=\":int&lt;resource_id,title&gt;/\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"line":21,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"authors\" format=\"authors/:int&lt;user_id,username&gt;/\" controller=\"XFRM:Author\" context=\"xfrm\"/>"}],"line":18,"text":"  <route route_type=\"api\" route_prefix=\"resources\" controller=\"XFRM:ResourceItems\"/>"},{"context":[{"line":18,"text":"  <route route_type=\"api\" route_prefix=\"resources\" controller=\"XFRM:ResourceItems\"/>"},{"line":19,"text":"  <route route_type=\"api\" route_prefix=\"resources\" sub_name=\"-\" format=\":+int&lt;resource_id&gt;/\" controller=\"XFRM:ResourceItem\"/>"},{"line":20,"text":"  <route route_type=\"public\" route_prefix=\"resources\" format=\":int&lt;resource_id,title&gt;/\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"line":21,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"authors\" format=\"authors/:int&lt;user_id,username&gt;/\" controller=\"XFRM:Author\" context=\"xfrm\"/>"},{"line":22,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrm\"/>"}],"line":19,"text":"  <route route_type=\"api\" route_prefix=\"resources\" sub_name=\"-\" format=\":+int&lt;resource_id&gt;/\" controller=\"XFRM:ResourceItem\"/>"},{"context":[{"line":19,"text":"  <route route_type=\"api\" route_prefix=\"resources\" sub_name=\"-\" format=\":+int&lt;resource_id&gt;/\" controller=\"XFRM:ResourceItem\"/>"},{"line":20,"text":"  <route route_type=\"public\" route_prefix=\"resources\" format=\":int&lt;resource_id,title&gt;/\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"line":21,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"authors\" format=\"authors/:int&lt;user_id,username&gt;/\" controller=\"XFRM:Author\" context=\"xfrm\"/>"},{"line":22,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrm\"/>"},{"line":23,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"review\" format=\":+int&lt;resource_id,resource_title&gt;/review/:+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\" context=\"xfrm\"/>"}],"line":20,"text":"  <route route_type=\"public\" route_prefix=\"resources\" format=\":int&lt;resource_id,title&gt;/\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"context":[{"line":20,"text":"  <route route_type=\"public\" route_prefix=\"resources\" format=\":int&lt;resource_id,title&gt;/\" controller=\"XFRM:ResourceItem\" context=\"xfrm\"/>"},{"line":21,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"authors\" format=\"authors/:int&lt;user_id,username&gt;/\" controller=\"XFRM:Author\" context=\"xfrm\"/>"},{"line":22,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrm\"/>"},{"line":23,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"review\" format=\":+int&lt;resource_id,resource_title&gt;/review/:+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\" context=\"xfrm\"/>"},{"line":24,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"update\" format=\":+int&lt;resource_id,resource_title&gt;/update/:+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\" context=\"xfrm\"/>"}],"line":21,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"authors\" format=\"authors/:int&lt;user_id,username&gt;/\" controller=\"XFRM:Author\" context=\"xfrm\"/>"},{"context":[{"line":21,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"authors\" format=\"authors/:int&lt;user_id,username&gt;/\" controller=\"XFRM:Author\" context=\"xfrm\"/>"},{"line":22,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrm\"/>"},{"line":23,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"review\" format=\":+int&lt;resource_id,resource_title&gt;/review/:+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\" context=\"xfrm\"/>"},{"line":24,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"update\" format=\":+int&lt;resource_id,resource_title&gt;/update/:+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\" context=\"xfrm\"/>"},{"line":25,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"version\" format=\":+int&lt;resource_id,resource_title&gt;/version/:+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\" context=\"xfrm\"/>"}],"line":22,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrm\"/>"},{"context":[{"line":22,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"categories\" format=\"categories/:int&lt;resource_category_id,title&gt;/\" controller=\"XFRM:Category\" context=\"xfrm\"/>"},{"line":23,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"review\" format=\":+int&lt;resource_id,resource_title&gt;/review/:+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\" context=\"xfrm\"/>"},{"line":24,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"update\" format=\":+int&lt;resource_id,resource_title&gt;/update/:+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\" context=\"xfrm\"/>"},{"line":25,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"version\" format=\":+int&lt;resource_id,resource_title&gt;/version/:+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\" context=\"xfrm\"/>"},{"line":26,"text":"  <route route_type=\"public\" route_prefix=\"whats-new\" sub_name=\"resources\" format=\"resources/:int&lt;find_new_id&gt;/:page\" controller=\"XFRM:WhatsNewResource\" context=\"xfrm\"/>"}],"line":23,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"review\" format=\":+int&lt;resource_id,resource_title&gt;/review/:+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\" context=\"xfrm\"/>"},{"context":[{"line":23,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"review\" format=\":+int&lt;resource_id,resource_title&gt;/review/:+int&lt;resource_rating_id&gt;/\" controller=\"XFRM:ResourceReview\" context=\"xfrm\"/>"},{"line":24,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"update\" format=\":+int&lt;resource_id,resource_title&gt;/update/:+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\" context=\"xfrm\"/>"},{"line":25,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"version\" format=\":+int&lt;resource_id,resource_title&gt;/version/:+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\" context=\"xfrm\"/>"},{"line":26,"text":"  <route route_type=\"public\" route_prefix=\"whats-new\" sub_name=\"resources\" format=\"resources/:int&lt;find_new_id&gt;/:page\" controller=\"XFRM:WhatsNewResource\" context=\"xfrm\"/>"},{"line":27,"text":"</routes>"}],"line":24,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"update\" format=\":+int&lt;resource_id,resource_title&gt;/update/:+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\" context=\"xfrm\"/>"},{"context":[{"line":24,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"update\" format=\":+int&lt;resource_id,resource_title&gt;/update/:+int&lt;resource_update_id&gt;/\" controller=\"XFRM:ResourceUpdate\" context=\"xfrm\"/>"},{"line":25,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"version\" format=\":+int&lt;resource_id,resource_title&gt;/version/:+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\" context=\"xfrm\"/>"},{"line":26,"text":"  <route route_type=\"public\" route_prefix=\"whats-new\" sub_name=\"resources\" format=\"resources/:int&lt;find_new_id&gt;/:page\" controller=\"XFRM:WhatsNewResource\" context=\"xfrm\"/>"},{"line":27,"text":"</routes>"}],"line":25,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"version\" format=\":+int&lt;resource_id,resource_title&gt;/version/:+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\" context=\"xfrm\"/>"},{"context":[{"line":25,"text":"  <route route_type=\"public\" route_prefix=\"resources\" sub_name=\"version\" format=\":+int&lt;resource_id,resource_title&gt;/version/:+int&lt;resource_version_id&gt;/\" controller=\"XFRM:ResourceVersion\" context=\"xfrm\"/>"},{"line":26,"text":"  <route route_type=\"public\" route_prefix=\"whats-new\" sub_name=\"resources\" format=\"resources/:int&lt;find_new_id&gt;/:page\" controller=\"XFRM:WhatsNewResource\" context=\"xfrm\"/>"},{"line":27,"text":"</routes>"}],"line":26,"text":"  <route route_type=\"public\" route_prefix=\"whats-new\" sub_name=\"resources\" format=\"resources/:int&lt;find_new_id&gt;/:page\" controller=\"XFRM:WhatsNewResource\" context=\"xfrm\"/>"}],"path":"/var/www/forums/newfi/public/src/addons/XFRM/_data/routes.xml","present":true,"sha256":"254372f8f417cada060151063edda30884694a4d0a07eaca959674a80ae078be"},"addons/XFRM/_data/templates.xml":{"bytes":244652,"matches":[{"context":[{"line":2,"text":"<templates>"},{"line":3,"text":"  <template type=\"admin\" title=\"activity_summary_options_xfrm_latest_resources\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<hr class=\"formRowSep\" />"},{"line":4,"text":""},{"line":5,"text":"<xf:numberboxrow name=\"options[limit]\" value=\"{$options.limit}\" min=\"1\""},{"line":6,"text":"\tlabel=\"{{ phrase('maximum_entries') }}\" />"}],"line":3,"text":"  <template type=\"admin\" title=\"activity_summary_options_xfrm_latest_resources\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<hr class=\"formRowSep\" />"},{"context":[{"line":42,"text":"</xf:formrow>]]></template>"},{"line":43,"text":"  <template type=\"admin\" title=\"activity_summary_options_xfrm_latest_reviews\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<hr class=\"formRowSep\" />"},{"line":44,"text":""},{"line":45,"text":"<xf:numberboxrow name=\"options[limit]\" value=\"{$options.limit}\" min=\"1\""},{"line":46,"text":"\tlabel=\"{{ phrase('maximum_entries') }}\" />"}],"line":43,"text":"  <template type=\"admin\" title=\"activity_summary_options_xfrm_latest_reviews\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<hr class=\"formRowSep\" />"},{"context":[{"line":57,"text":"</xf:selectrow>]]></template>"},{"line":58,"text":"  <template type=\"admin\" title=\"option_template_xfrmResourceDeleteThreadAction\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:formrow"},{"line":59,"text":"\tlabel=\"{$option.title}\""},{"line":60,"text":"\thint=\"{$hintHtml}\""},{"line":61,"text":"\thtml=\"{$listedHtml}\">"}],"line":58,"text":"  <template type=\"admin\" title=\"option_template_xfrmResourceDeleteThreadAction\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:formrow"},{"context":[{"line":83,"text":"</xf:formrow>]]></template>"},{"line":84,"text":"  <template type=\"admin\" title=\"widget_def_options_xfrm_latest_reviews\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<hr class=\"formRowSep\" />"},{"line":85,"text":""},{"line":86,"text":"<xf:numberboxrow name=\"options[limit]\" value=\"{$options.limit}\" min=\"1\""},{"line":87,"text":"\tlabel=\"{{ phrase('maximum_entries') }}\" />]]></template>"}],"line":84,"text":"  <template type=\"admin\" title=\"widget_def_options_xfrm_latest_reviews\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<hr class=\"formRowSep\" />"},{"context":[{"line":87,"text":"\tlabel=\"{{ phrase('maximum_entries') }}\" />]]></template>"},{"line":88,"text":"  <template type=\"admin\" title=\"widget_def_options_xfrm_new_resources\" version_id=\"2020032\" version_string=\"2.2.0 Beta 2\"><![CDATA[<hr class=\"formRowSep\" />"},{"line":89,"text":""},{"line":90,"text":"<xf:numberboxrow name=\"options[limit]\" value=\"{$options.limit}\" min=\"1\""},{"line":91,"text":"\tlabel=\"{{ phrase('maximum_entries') }}\" />"}],"line":88,"text":"  <template type=\"admin\" title=\"widget_def_options_xfrm_new_resources\" version_id=\"2020032\" version_string=\"2.2.0 Beta 2\"><![CDATA[<hr class=\"formRowSep\" />"},{"context":[{"line":113,"text":"</xf:selectrow>]]></template>"},{"line":114,"text":"  <template type=\"admin\" title=\"widget_def_options_xfrm_top_resources\" version_id=\"2020032\" version_string=\"2.2.0 Beta 2\"><![CDATA[<hr class=\"formRowSep\" />"},{"line":115,"text":""},{"line":116,"text":"<xf:numberboxrow name=\"options[limit]\" value=\"{$options.limit}\" min=\"1\""},{"line":117,"text":"\tlabel=\"{{ phrase('maximum_entries') }}\" />"}],"line":114,"text":"  <template type=\"admin\" title=\"widget_def_options_xfrm_top_resources\" version_id=\"2020032\" version_string=\"2.2.0 Beta 2\"><![CDATA[<hr class=\"formRowSep\" />"},{"context":[{"line":140,"text":"</xf:selectrow>]]></template>"},{"line":141,"text":"  <template type=\"admin\" title=\"xfrm_category_delete\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('confirm_action') }}</xf:title>"},{"line":142,"text":""},{"line":143,"text":"<xf:macro id=\"category_tree_macros::category_delete_form\""},{"line":144,"text":"\targ-linkPrefix=\"resource-manager/categories\""}],"line":141,"text":"  <template type=\"admin\" title=\"xfrm_category_delete\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('confirm_action') }}</xf:title>"},{"context":[{"line":145,"text":"\targ-category=\"{$category}\" />]]></template>"},{"line":146,"text":"  <template type=\"admin\" title=\"xfrm_category_edit\" version_id=\"2030031\" version_string=\"2.3.0 Beta 1\"><![CDATA[<xf:if is=\"$category.isInsert()\">"},{"line":147,"text":"\t<xf:title>{{ phrase('add_category') }}</xf:title>"},{"line":148,"text":"<xf:else />"},{"line":149,"text":"\t<xf:title>{{ phrase('edit_category:') }} {$category.title}</xf:title>"}],"line":146,"text":"  <template type=\"admin\" title=\"xfrm_category_edit\" version_id=\"2030031\" version_string=\"2.3.0 Beta 1\"><![CDATA[<xf:if is=\"$category.isInsert()\">"},{"context":[{"line":282,"text":"</xf:form>]]></template>"},{"line":283,"text":"  <template type=\"admin\" title=\"xfrm_category_list\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_categories') }}</xf:title>"},{"line":284,"text":""},{"line":285,"text":"<xf:macro id=\"category_tree_macros::page_action\""},{"line":286,"text":"\targ-linkPrefix=\"resource-manager/categories\" />"}],"line":283,"text":"  <template type=\"admin\" title=\"xfrm_category_list\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_categories') }}</xf:title>"},{"context":[{"line":293,"text":"/>]]></template>"},{"line":294,"text":"  <template type=\"admin\" title=\"xfrm_category_permission_edit\" version_id=\"2030470\" version_string=\"2.3.4\"><![CDATA[<xf:if is=\"$userGroup\">"},{"line":295,"text":"\t<xf:title>{$userGroup.title}</xf:title>"},{"line":296,"text":"<xf:else />"},{"line":297,"text":"\t<xf:title>{$user.username}</xf:title>"}],"line":294,"text":"  <template type=\"admin\" title=\"xfrm_category_permission_edit\" version_id=\"2030470\" version_string=\"2.3.4\"><![CDATA[<xf:if is=\"$userGroup\">"},{"context":[{"line":314,"text":"]]></template>"},{"line":315,"text":"  <template type=\"admin\" title=\"xfrm_category_permission_list\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('permissions:') }} {$record.title}</xf:title>"},{"line":316,"text":""},{"line":317,"text":"<xf:macro id=\"permission_category_macros::list\""},{"line":318,"text":"\targ-category=\"{$record}\""}],"line":315,"text":"  <template type=\"admin\" title=\"xfrm_category_permission_list\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('permissions:') }} {$record.title}</xf:title>"},{"context":[{"line":324,"text":"]]></template>"},{"line":325,"text":"  <template type=\"admin\" title=\"xfrm_category_sort\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('sort_categories') }}</xf:title>"},{"line":326,"text":""},{"line":327,"text":"<xf:macro id=\"category_tree_macros::sortable_form\""},{"line":328,"text":"\targ-categoryTree=\"{$categoryTree}\""}],"line":325,"text":"  <template type=\"admin\" title=\"xfrm_category_sort\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('sort_categories') }}</xf:title>"},{"context":[{"line":329,"text":"\targ-linkPrefix=\"resource-manager/categories\" />]]></template>"},{"line":330,"text":"  <template type=\"admin\" title=\"xfrm_permission_category_edit\" version_id=\"2030470\" version_string=\"2.3.4\"><![CDATA[<xf:if is=\"$userGroup\">"},{"line":331,"text":"\t<xf:title>{$userGroup.title}</xf:title>"},{"line":332,"text":"<xf:else />"},{"line":333,"text":"\t<xf:title>{$user.username}</xf:title>"}],"line":330,"text":"  <template type=\"admin\" title=\"xfrm_permission_category_edit\" version_id=\"2030470\" version_string=\"2.3.4\"><![CDATA[<xf:if is=\"$userGroup\">"},{"context":[{"line":350,"text":"]]></template>"},{"line":351,"text":"  <template type=\"admin\" title=\"xfrm_permission_category_list\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{$record.title}</xf:title>"},{"line":352,"text":""},{"line":353,"text":"<xf:macro id=\"permission_category_macros::list\""},{"line":354,"text":"\targ-category=\"{$record}\""}],"line":351,"text":"  <template type=\"admin\" title=\"xfrm_permission_category_list\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{$record.title}</xf:title>"},{"context":[{"line":360,"text":"]]></template>"},{"line":361,"text":"  <template type=\"admin\" title=\"xfrm_permission_category_overview\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_category_permissions') }}</xf:title>"},{"line":362,"text":""},{"line":363,"text":"<xf:if is=\"$categoryTree.countChildren()\">"},{"line":364,"text":"\t<div class=\"block\">"}],"line":361,"text":"  <template type=\"admin\" title=\"xfrm_permission_category_overview\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_category_permissions') }}</xf:title>"},{"context":[{"line":390,"text":"</xf:if>]]></template>"},{"line":391,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_delete\" />]]></template>"},{"line":392,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_edit\">"},{"line":393,"text":"\t<xf:set var=\"$extraOptions\">"},{"line":394,"text":"\t\t<xf:macro id=\"base_custom_field_macros::common_options\""}],"line":391,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_delete\" />]]></template>"},{"context":[{"line":391,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_delete\" />]]></template>"},{"line":392,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_edit\">"},{"line":393,"text":"\t<xf:set var=\"$extraOptions\">"},{"line":394,"text":"\t\t<xf:macro id=\"base_custom_field_macros::common_options\""},{"line":395,"text":"\t\t\targ-field=\"{$field}\" />"}],"line":392,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_edit\">"},{"context":[{"line":413,"text":"</xf:include>]]></template>"},{"line":414,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_list\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_fields') }}</xf:title>"},{"line":415,"text":""},{"line":416,"text":"<xf:include template=\"base_custom_field_list\" />]]></template>"},{"line":417,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_delete\" />]]></template>"}],"line":414,"text":"  <template type=\"admin\" title=\"xfrm_resource_field_list\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_fields') }}</xf:title>"},{"context":[{"line":416,"text":"<xf:include template=\"base_custom_field_list\" />]]></template>"},{"line":417,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_delete\" />]]></template>"},{"line":418,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_edit\">"},{"line":419,"text":"\t<xf:set var=\"$extraOptions\">"},{"line":420,"text":"\t\t<xf:macro id=\"xfrm_resource_prefix_edit_macros::category_ids\""}],"line":417,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_delete\" />]]></template>"},{"context":[{"line":417,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_delete\" />]]></template>"},{"line":418,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_edit\">"},{"line":419,"text":"\t<xf:set var=\"$extraOptions\">"},{"line":420,"text":"\t\t<xf:macro id=\"xfrm_resource_prefix_edit_macros::category_ids\""},{"line":421,"text":"\t\t\targ-categoryIds=\"{$prefix.resource_category_ids}\""}],"line":418,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_edit\">"},{"context":[{"line":424,"text":"</xf:include>]]></template>"},{"line":425,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_edit_macros\" version_id=\"2030031\" version_string=\"2.3.0 Beta 1\"><![CDATA[<xf:macro id=\"category_ids\" arg-categoryIds=\"!\" arg-categoryTree=\"!\" arg-withRow=\"1\">"},{"line":426,"text":"\t<xf:set var=\"$inner\">"},{"line":427,"text":"\t\t<ul class=\"inputList\">"},{"line":428,"text":"\t\t\t<li><xf:select name=\"resource_category_ids[]\" size=\"7\" multiple=\"multiple\" value=\"{$categoryIds}\" id=\"js-applicableCategories\">"}],"line":425,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_edit_macros\" version_id=\"2030031\" version_string=\"2.3.0 Beta 1\"><![CDATA[<xf:macro id=\"category_ids\" arg-categoryIds=\"!\" arg-categoryTree=\"!\" arg-withRow=\"1\">"},{"context":[{"line":464,"text":"</xf:macro>]]></template>"},{"line":465,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_group_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_group_delete\" />]]></template>"},{"line":466,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_group_edit\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_group_edit\" />]]></template>"},{"line":467,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_list\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>"},{"line":468,"text":""}],"line":465,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_group_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_group_delete\" />]]></template>"},{"context":[{"line":465,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_group_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_group_delete\" />]]></template>"},{"line":466,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_group_edit\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_group_edit\" />]]></template>"},{"line":467,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_list\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>"},{"line":468,"text":""},{"line":469,"text":"<xf:include template=\"base_prefix_list\" />]]></template>"}],"line":466,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_group_edit\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_group_edit\" />]]></template>"},{"context":[{"line":466,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_group_edit\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_group_edit\" />]]></template>"},{"line":467,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_list\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>"},{"line":468,"text":""},{"line":469,"text":"<xf:include template=\"base_prefix_list\" />]]></template>"},{"line":470,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_quickset_chooser\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_quickset_chooser\">"}],"line":467,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_list\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>"},{"context":[{"line":469,"text":"<xf:include template=\"base_prefix_list\" />]]></template>"},{"line":470,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_quickset_chooser\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_quickset_chooser\">"},{"line":471,"text":"\t<xf:set var=\"$prefixType\" value=\"resource\" />"},{"line":472,"text":"</xf:include>]]></template>"},{"line":473,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_quickset_editor\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_quickset_editor\">"}],"line":470,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_quickset_chooser\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_quickset_chooser\">"},{"context":[{"line":472,"text":"</xf:include>]]></template>"},{"line":473,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_quickset_editor\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_quickset_editor\">"},{"line":474,"text":"\t<xf:set var=\"$extraOptions\">"},{"line":475,"text":"\t\t<xf:checkboxrow name=\"apply_resource_category_ids\""},{"line":476,"text":"\t\t\tlabel=\"{{ phrase('xfrm_applicable_categories') }}\">"}],"line":473,"text":"  <template type=\"admin\" title=\"xfrm_resource_prefix_quickset_editor\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_prefix_quickset_editor\">"},{"context":[{"line":488,"text":"</xf:include>]]></template>"},{"line":489,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_delete\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_delete\" />]]></template>"},{"line":490,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_edit\">"},{"line":491,"text":"\t<xf:set var=\"$extraOptions\">"},{"line":492,"text":"\t\t<xf:macro id=\"base_custom_field_macros::common_options\""}],"line":489,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_delete\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_delete\" />]]></template>"},{"context":[{"line":489,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_delete\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_delete\" />]]></template>"},{"line":490,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_edit\">"},{"line":491,"text":"\t<xf:set var=\"$extraOptions\">"},{"line":492,"text":"\t\t<xf:macro id=\"base_custom_field_macros::common_options\""},{"line":493,"text":"\t\t\targ-field=\"{$field}\" />"}],"line":490,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_edit\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:include template=\"base_custom_field_edit\">"},{"context":[{"line":505,"text":"</xf:include>]]></template>"},{"line":506,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_list\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_review_fields') }}</xf:title>"},{"line":507,"text":""},{"line":508,"text":"<xf:include template=\"base_custom_field_list\" />]]></template>"},{"line":509,"text":"  <template type=\"admin\" title=\"xfrm_tools_rebuild\" version_id=\"2030870\" version_string=\"2.3.8\"><![CDATA[<xf:macro id=\"tools_rebuild::rebuild_job\""}],"line":506,"text":"  <template type=\"admin\" title=\"xfrm_resource_review_field_list\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_review_fields') }}</xf:title>"},{"context":[{"line":508,"text":"<xf:include template=\"base_custom_field_list\" />]]></template>"},{"line":509,"text":"  <template type=\"admin\" title=\"xfrm_tools_rebuild\" version_id=\"2030870\" version_string=\"2.3.8\"><![CDATA[<xf:macro id=\"tools_rebuild::rebuild_job\""},{"line":510,"text":"\targ-header=\"XFRM: {{ phrase('xfrm_rebuild_resources') }}\""},{"line":511,"text":"\targ-job=\"XFRM:ResourceItem\" />"},{"line":512,"text":"<!--[XF:after_rm_resource]-->"}],"line":509,"text":"  <template type=\"admin\" title=\"xfrm_tools_rebuild\" version_id=\"2030870\" version_string=\"2.3.8\"><![CDATA[<xf:macro id=\"tools_rebuild::rebuild_job\""},{"context":[{"line":552,"text":"<!--[XF:after_rm_metadata]-->]]></template>"},{"line":553,"text":"  <template type=\"email\" title=\"approval_item_resource\" version_id=\"2030170\" version_string=\"2.3.1\"><![CDATA[<xf:extends template=\"approval_item_create\" />"},{"line":554,"text":""},{"line":555,"text":"<xf:extension name=\"header\">"},{"line":556,"text":"\t<h2>"}],"line":553,"text":"  <template type=\"email\" title=\"approval_item_resource\" version_id=\"2030170\" version_string=\"2.3.1\"><![CDATA[<xf:extends template=\"approval_item_create\" />"},{"context":[{"line":572,"text":"</xf:extension>]]></template>"},{"line":573,"text":"  <template type=\"email\" title=\"approval_item_resource_update\" version_id=\"2030170\" version_string=\"2.3.1\"><![CDATA[<xf:extends template=\"approval_item_create\" />"},{"line":574,"text":""},{"line":575,"text":"<xf:extension name=\"header\">"},{"line":576,"text":"\t<h2>"}],"line":573,"text":"  <template type=\"email\" title=\"approval_item_resource_update\" version_id=\"2030170\" version_string=\"2.3.1\"><![CDATA[<xf:extends template=\"approval_item_create\" />"},{"context":[{"line":592,"text":"</xf:extension>]]></template>"},{"line":593,"text":"  <template type=\"email\" title=\"approval_item_resource_version\" version_id=\"2030170\" version_string=\"2.3.1\"><![CDATA[<xf:extends template=\"approval_item_create\" />"},{"line":594,"text":""},{"line":595,"text":"<xf:extension name=\"header\">"},{"line":596,"text":"\t<h2>"}],"line":593,"text":"  <template type=\"email\" title=\"approval_item_resource_version\" version_id=\"2030170\" version_string=\"2.3.1\"><![CDATA[<xf:extends template=\"approval_item_create\" />"},{"context":[{"line":603,"text":"</xf:extension>]]></template>"},{"line":604,"text":"  <template type=\"email\" title=\"xfrm_activity_summary_latest_resources\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:if is=\"$resources is not empty\">"},{"line":605,"text":"\t<xf:macro id=\"activity_summary_macros::outer_header\""},{"line":606,"text":"\t\targ-title=\"{$title}\" />"},{"line":607,"text":""}],"line":604,"text":"  <template type=\"email\" title=\"xfrm_activity_summary_latest_resources\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:if is=\"$resources is not empty\">"},{"context":[{"line":629,"text":"</xf:if>]]></template>"},{"line":630,"text":"  <template type=\"email\" title=\"xfrm_activity_summary_latest_reviews\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:if is=\"$reviews is not empty\">"},{"line":631,"text":"\t<xf:macro id=\"activity_summary_macros::outer_header\""},{"line":632,"text":"\t\targ-title=\"{$title}\" />"},{"line":633,"text":""}],"line":630,"text":"  <template type=\"email\" title=\"xfrm_activity_summary_latest_reviews\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:if is=\"$reviews is not empty\">"},{"context":[{"line":668,"text":"</xf:if>]]></template>"},{"line":669,"text":"  <template type=\"email\" title=\"xfrm_resource_macros\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:macro id=\"go_resource_bar\" arg-resource=\"!\" arg-watchType=\"!\">"},{"line":670,"text":"\t<table cellpadding=\"10\" cellspacing=\"0\" border=\"0\" width=\"100%\" class=\"linkBar\">"},{"line":671,"text":"\t<tr>"},{"line":672,"text":"\t\t<td>"}],"line":669,"text":"  <template type=\"email\" title=\"xfrm_resource_macros\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<xf:macro id=\"go_resource_bar\" arg-resource=\"!\" arg-watchType=\"!\">"},{"context":[{"line":702,"text":"</xf:macro>]]></template>"},{"line":703,"text":"  <template type=\"email\" title=\"xfrm_watched_category_resource\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<mail:subject>"},{"line":704,"text":"\t{{ phrase('xfrm_resource_x_new_watched_category', {"},{"line":705,"text":"\t\t'resource': prefix('resource', $resource, 'escaped') . $resource.title"},{"line":706,"text":"\t}) }}"}],"line":703,"text":"  <template type=\"email\" title=\"xfrm_watched_category_resource\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<mail:subject>"},{"context":[{"line":724,"text":"]]></template>"},{"line":725,"text":"  <template type=\"email\" title=\"xfrm_watched_category_update\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<mail:subject>"},{"line":726,"text":"\t{{ phrase('xfrm_resource_x_updated_y', {"},{"line":727,"text":"\t\t'resource': prefix('resource', $resource, 'escaped') . $resource.title,"},{"line":728,"text":"\t\t'update': $update.title"}],"line":725,"text":"  <template type=\"email\" title=\"xfrm_watched_category_update\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<mail:subject>"},{"context":[{"line":751,"text":"]]></template>"},{"line":752,"text":"  <template type=\"email\" title=\"xfrm_watched_resource_update\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<mail:subject>"},{"line":753,"text":"\t{{ phrase('xfrm_resource_x_updated_y', {"},{"line":754,"text":"\t\t'resource': prefix('resource', $resource, 'escaped') . $resource.title,"},{"line":755,"text":"\t\t'update': $update.title"}],"line":752,"text":"  <template type=\"email\" title=\"xfrm_watched_resource_update\" version_id=\"2030010\" version_string=\"2.3.0 Alpha\"><![CDATA[<mail:subject>"},{"context":[{"line":777,"text":"<xf:macro id=\"xfrm_resource_macros::watched_resource_footer\" arg-resource=\"{$resource}\" />]]></template>"},{"line":778,"text":"  <template type=\"public\" title=\"alert_resource_rating_pre_reg\" version_id=\"2020270\" version_string=\"2.2.2\"><![CDATA[<xf:if is=\"$extra.welcome\">"},{"line":779,"text":"\t{{ phrase('welcome_to_boardtitle', {'boardTitle': $xf.options.boardTitle}) }}"},{"line":780,"text":"</xf:if>"},{"line":781,"text":"{{ phrase('xfrm_your_review_to_resource_x_was_submitted', {"}],"line":778,"text":"  <template type=\"public\" title=\"alert_resource_rating_pre_reg\" version_id=\"2020270\" version_string=\"2.2.2\"><![CDATA[<xf:if is=\"$extra.welcome\">"},{"context":[{"line":783,"text":"}) }}]]></template>"},{"line":784,"text":"  <template type=\"public\" title=\"alert_resource_rating_reply\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_replied_review_resource_y', {"},{"line":785,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":786,"text":"\t'title': '<a href=\"' . link('resources/review', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":787,"text":"}) }}]]></template>"}],"line":784,"text":"  <template type=\"public\" title=\"alert_resource_rating_reply\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_replied_review_resource_y', {"},{"context":[{"line":784,"text":"  <template type=\"public\" title=\"alert_resource_rating_reply\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_replied_review_resource_y', {"},{"line":785,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":786,"text":"\t'title': '<a href=\"' . link('resources/review', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":787,"text":"}) }}]]></template>"},{"line":788,"text":"  <template type=\"public\" title=\"alert_resource_rating_review\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {"}],"line":785,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":787,"text":"}) }}]]></template>"},{"line":788,"text":"  <template type=\"public\" title=\"alert_resource_rating_review\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {"},{"line":789,"text":"\t'username': username_link($user, false, {'defaultname': $alert.username}),"},{"line":790,"text":"\t'title': '<a href=\"' . link('resources/review', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":791,"text":"}) }}]]></template>"}],"line":788,"text":"  <template type=\"public\" title=\"alert_resource_rating_review\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {"},{"context":[{"line":788,"text":"  <template type=\"public\" title=\"alert_resource_rating_review\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {"},{"line":789,"text":"\t'username': username_link($user, false, {'defaultname': $alert.username}),"},{"line":790,"text":"\t'title': '<a href=\"' . link('resources/review', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":791,"text":"}) }}]]></template>"},{"line":792,"text":"  <template type=\"public\" title=\"alert_resource_team_member_add\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {"}],"line":789,"text":"\t'username': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":791,"text":"}) }}]]></template>"},{"line":792,"text":"  <template type=\"public\" title=\"alert_resource_team_member_add\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {"},{"line":793,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":794,"text":"\t'title': '<a href=\"' . link('resources', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content) . $content.title . '</a>'"},{"line":795,"text":"}) }}]]></template>"}],"line":792,"text":"  <template type=\"public\" title=\"alert_resource_team_member_add\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {"},{"context":[{"line":792,"text":"  <template type=\"public\" title=\"alert_resource_team_member_add\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {"},{"line":793,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":794,"text":"\t'title': '<a href=\"' . link('resources', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content) . $content.title . '</a>'"},{"line":795,"text":"}) }}]]></template>"},{"line":796,"text":"  <template type=\"public\" title=\"alert_resource_team_member_leave\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {"}],"line":793,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":795,"text":"}) }}]]></template>"},{"line":796,"text":"  <template type=\"public\" title=\"alert_resource_team_member_leave\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {"},{"line":797,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":798,"text":"\t'title': '<a href=\"' . link('resources', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content) . $content.title . '</a>'"},{"line":799,"text":"}) }}]]></template>"}],"line":796,"text":"  <template type=\"public\" title=\"alert_resource_team_member_leave\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {"},{"context":[{"line":796,"text":"  <template type=\"public\" title=\"alert_resource_team_member_leave\" version_id=\"2020010\" version_string=\"2.2.0 Alpha\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {"},{"line":797,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":798,"text":"\t'title': '<a href=\"' . link('resources', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content) . $content.title . '</a>'"},{"line":799,"text":"}) }}]]></template>"},{"line":800,"text":"  <template type=\"public\" title=\"alert_resource_update_insert\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:if is=\"$content.isDescription()\">"}],"line":797,"text":"\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":799,"text":"}) }}]]></template>"},{"line":800,"text":"  <template type=\"public\" title=\"alert_resource_update_insert\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:if is=\"$content.isDescription()\">"},{"line":801,"text":"\t{{ phrase('xfrm_x_created_resource_y', {"},{"line":802,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":803,"text":"\t\t'title': '<a href=\"' . link('resources', $content.Resource) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"}],"line":800,"text":"  <template type=\"public\" title=\"alert_resource_update_insert\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:if is=\"$content.isDescription()\">"},{"context":[{"line":801,"text":"\t{{ phrase('xfrm_x_created_resource_y', {"},{"line":802,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":803,"text":"\t\t'title': '<a href=\"' . link('resources', $content.Resource) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":804,"text":"\t}) }}"},{"line":805,"text":"<xf:else />"}],"line":802,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":806,"text":"\t{{ phrase('xfrm_x_updated_resource_y', {"},{"line":807,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":808,"text":"\t\t'title': '<a href=\"' . link('resources/update', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":809,"text":"\t}) }}"},{"line":810,"text":"</xf:if>]]></template>"}],"line":807,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":810,"text":"</xf:if>]]></template>"},{"line":811,"text":"  <template type=\"public\" title=\"alert_resource_update_mention\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:if is=\"$content.isDescription()\">"},{"line":812,"text":"\t{{ phrase('xfrm_x_mentioned_you_in_resource_y', {"},{"line":813,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":814,"text":"\t\t'title': '<a href=\"' . link('resources', $content.Resource) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"}],"line":811,"text":"  <template type=\"public\" title=\"alert_resource_update_mention\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[<xf:if is=\"$content.isDescription()\">"},{"context":[{"line":812,"text":"\t{{ phrase('xfrm_x_mentioned_you_in_resource_y', {"},{"line":813,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":814,"text":"\t\t'title': '<a href=\"' . link('resources', $content.Resource) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":815,"text":"\t}) }}"},{"line":816,"text":"<xf:else />"}],"line":813,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":817,"text":"\t{{ phrase('xfrm_x_mentioned_you_in_update_resource_y', {"},{"line":818,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":819,"text":"\t\t'title': '<a href=\"' . link('resources/update', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'"},{"line":820,"text":"\t}) }}"},{"line":821,"text":"</xf:if>]]></template>"}],"line":818,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":821,"text":"</xf:if>]]></template>"},{"line":822,"text":"  <template type=\"public\" title=\"alert_resource_update_reaction\" version_id=\"2010010\" version_string=\"2.1.0 Alpha\"><![CDATA[<xf:if is=\"$content.isDescription()\">"},{"line":823,"text":"\t{{ phrase('xfrm_x_reacted_to_your_resource_y', {"},{"line":824,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":825,"text":"\t\t'title': '<a href=\"' . link('resources', $content.Resource) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',"}],"line":822,"text":"  <template type=\"public\" title=\"alert_resource_update_reaction\" version_id=\"2010010\" version_string=\"2.1.0 Alpha\"><![CDATA[<xf:if is=\"$content.isDescription()\">"},{"context":[{"line":823,"text":"\t{{ phrase('xfrm_x_reacted_to_your_resource_y', {"},{"line":824,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":825,"text":"\t\t'title': '<a href=\"' . link('resources', $content.Resource) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',"},{"line":826,"text":"\t\t'reaction': alert_reaction($extra.reaction_id)|preescaped"},{"line":827,"text":"\t}) }}"}],"line":824,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":825,"text":"\t\t'title': '<a href=\"' . link('resources', $content.Resource) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',"},{"line":826,"text":"\t\t'reaction': alert_reaction($extra.reaction_id)|preescaped"},{"line":827,"text":"\t}) }}"},{"line":828,"text":"<xf:else />"},{"line":829,"text":"\t{{ phrase('xfrm_x_reacted_to_your_update_resource_y', {"}],"line":826,"text":"\t\t'reaction': alert_reaction($extra.reaction_id)|preescaped"},{"context":[{"line":829,"text":"\t{{ phrase('xfrm_x_reacted_to_your_update_resource_y', {"},{"line":830,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"line":831,"text":"\t\t'title': '<a href=\"' . link('resources/update', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',"},{"line":832,"text":"\t\t'reaction': alert_reaction($extra.reaction_id)|preescaped"},{"line":833,"text":"\t}) }}"}],"line":830,"text":"\t\t'name': username_link($user, false, {'defaultname': $alert.username}),"},{"context":[{"line":831,"text":"\t\t'title': '<a href=\"' . link('resources/update', $content) . '\" class=\"fauxBlockLink-blockLink\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',"},{"line":832,"text":"\t\t'reaction': alert_reaction($extra.reaction_id)|preescaped"},{"line":833,"text":"\t}) }}"},{"line":834,"text":"</xf:if>]]></template>"},{"line":835,"text":"  <template type=\"public\" title=\"alert_user_resource_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_your_resource_x_was_deleted', {"}],"line":832,"text":"\t\t'reaction': alert_reaction($extra.reaction_id)|preescaped"},{"context":[{"line":834,"text":"</xf:if>]]></template>"},{"line":835,"text":"  <template type=\"public\" title=\"alert_user_resource_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_your_resource_x_was_deleted', {"},{"line":836,"text":"\t'title': prefix('resource', $extra.prefix_id) . $extra.title"},{"line":837,"text":"}) }}"},{"line":838,"text":"<xf:if is=\"$extra.reason\">{{ phrase('reason:') }} {$extra.reason}</xf:if>]]></template>"}],"line":835,"text":"  <template type=\"public\" title=\"alert_user_resource_delete\" version_id=\"2000010\" version_string=\"2.0.0 Alpha\"><![CDATA[{{ phrase('xfrm_your_resource_x_was_deleted', {"}],"path":"/var/www/forums/newfi/public/src/addons/XFRM/_data/templates.xml","present":true,"sha256":"50950be731ba43367357081cd603c5d16caa8ba1a4155f8e4aa1cfb306d71ead"}},"command_id":"NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171","framework":{"account_controller":{"bytes":null,"matches":[],"path":"/var/www/forums/newfi/public/src/XF/Pub/Controller/Account.php","present":false,"sha256":null},"alert_abstract_handler":{"bytes":4761,"matches":[{"context":[{"line":5,"text":"use XF\\Entity\\User;"},{"line":6,"text":"use XF\\Entity\\UserAlert;"},{"line":7,"text":"use XF\\Mvc\\Entity\\AbstractCollection;"},{"line":8,"text":"use XF\\Mvc\\Entity\\Entity;"},{"line":9,"text":""},{"line":10,"text":"/**"},{"line":11,"text":" * @template T of Entity"},{"line":12,"text":" */"}],"line":7,"text":"use XF\\Mvc\\Entity\\AbstractCollection;"},{"context":[{"line":11,"text":" * @template T of Entity"},{"line":12,"text":" */"},{"line":13,"text":"abstract class AbstractHandler"},{"line":14,"text":"{"},{"line":15,"text":"\t/**"},{"line":16,"text":"\t * @var string"},{"line":17,"text":"\t */"},{"line":18,"text":"\tprotected $contentType;"}],"line":13,"text":"abstract class AbstractHandler"},{"context":[{"line":21,"text":"\t * @param string $contentType"},{"line":22,"text":"\t */"},{"line":23,"text":"\tpublic function __construct($contentType)"},{"line":24,"text":"\t{"},{"line":25,"text":"\t\t$this->contentType = $contentType;"},{"line":26,"text":"\t}"},{"line":27,"text":""},{"line":28,"text":"\t/**"}],"line":23,"text":"\tpublic function __construct($contentType)"},{"context":[{"line":32,"text":"\t * @return bool"},{"line":33,"text":"\t */"},{"line":34,"text":"\tpublic function canViewContent(Entity $entity, &$error = null)"},{"line":35,"text":"\t{"},{"line":36,"text":"\t\tif (method_exists($entity, 'canView'))"},{"line":37,"text":"\t\t{"},{"line":38,"text":"\t\t\treturn $entity->canView($error);"},{"line":39,"text":"\t\t}"}],"line":34,"text":"\tpublic function canViewContent(Entity $entity, &$error = null)"},{"context":[{"line":47,"text":"\t * @return bool"},{"line":48,"text":"\t */"},{"line":49,"text":"\tpublic function canViewAlert(UserAlert $alert, &$error = null)"},{"line":50,"text":"\t{"},{"line":51,"text":"\t\treturn true;"},{"line":52,"text":"\t}"},{"line":53,"text":""},{"line":54,"text":"\t/**"}],"line":49,"text":"\tpublic function canViewAlert(UserAlert $alert, &$error = null)"},{"context":[{"line":53,"text":""},{"line":54,"text":"\t/**"},{"line":55,"text":"\t * For alerts which are pushed, you can create a push specific template which should be text only."},{"line":56,"text":"\t * If no value is provided or the template does not exist, the push contents will come from a"},{"line":57,"text":"\t * rendered version of the normal alert template with HTML tags stripped."},{"line":58,"text":"\t *"},{"line":59,"text":"\t * @param string $action"},{"line":60,"text":"\t *"}],"line":55,"text":"\t * For alerts which are pushed, you can create a push specific template which should be text only."},{"context":[{"line":54,"text":"\t/**"},{"line":55,"text":"\t * For alerts which are pushed, you can create a push specific template which should be text only."},{"line":56,"text":"\t * If no value is provided or the template does not exist, the push contents will come from a"},{"line":57,"text":"\t * rendered version of the normal alert template with HTML tags stripped."},{"line":58,"text":"\t *"},{"line":59,"text":"\t * @param string $action"},{"line":60,"text":"\t *"},{"line":61,"text":"\t * @return string|null"}],"line":56,"text":"\t * If no value is provided or the template does not exist, the push contents will come from a"},{"context":[{"line":55,"text":"\t * For alerts which are pushed, you can create a push specific template which should be text only."},{"line":56,"text":"\t * If no value is provided or the template does not exist, the push contents will come from a"},{"line":57,"text":"\t * rendered version of the normal alert template with HTML tags stripped."},{"line":58,"text":"\t *"},{"line":59,"text":"\t * @param string $action"},{"line":60,"text":"\t *"},{"line":61,"text":"\t * @return string|null"},{"line":62,"text":"\t */"}],"line":57,"text":"\t * rendered version of the normal alert template with HTML tags stripped."},{"context":[{"line":61,"text":"\t * @return string|null"},{"line":62,"text":"\t */"},{"line":63,"text":"\tpublic function getPushTemplateName($action)"},{"line":64,"text":"\t{"},{"line":65,"text":"\t\treturn 'public:push_' . $this->contentType . '_' . $action;"},{"line":66,"text":"\t}"},{"line":67,"text":""},{"line":68,"text":"\t/**"}],"line":63,"text":"\tpublic function getPushTemplateName($action)"},{"context":[{"line":63,"text":"\tpublic function getPushTemplateName($action)"},{"line":64,"text":"\t{"},{"line":65,"text":"\t\treturn 'public:push_' . $this->contentType . '_' . $action;"},{"line":66,"text":"\t}"},{"line":67,"text":""},{"line":68,"text":"\t/**"},{"line":69,"text":"\t * @param string $action"},{"line":70,"text":"\t *"}],"line":65,"text":"\t\treturn 'public:push_' . $this->contentType . '_' . $action;"},{"context":[{"line":71,"text":"\t * @return string"},{"line":72,"text":"\t */"},{"line":73,"text":"\tpublic function getTemplateName($action)"},{"line":74,"text":"\t{"},{"line":75,"text":"\t\treturn 'public:alert_' . $this->contentType . '_' . $action;"},{"line":76,"text":"\t}"},{"line":77,"text":""},{"line":78,"text":"\t/**"}],"line":73,"text":"\tpublic function getTemplateName($action)"},{"context":[{"line":87,"text":"\t * }"},{"line":88,"text":"\t */"},{"line":89,"text":"\tpublic function getTemplateData($action, UserAlert $alert, ?Entity $content = null)"},{"line":90,"text":"\t{"},{"line":91,"text":"\t\tif (!$content)"},{"line":92,"text":"\t\t{"},{"line":93,"text":"\t\t\t$content = $alert->Content;"},{"line":94,"text":"\t\t}"}],"line":89,"text":"\tpublic function getTemplateData($action, UserAlert $alert, ?Entity $content = null)"},{"context":[{"line":107,"text":"\t * @return string"},{"line":108,"text":"\t */"},{"line":109,"text":"\tpublic function render(UserAlert $alert, ?Entity $content = null)"},{"line":110,"text":"\t{"},{"line":111,"text":"\t\tif (!$content)"},{"line":112,"text":"\t\t{"},{"line":113,"text":"\t\t\t$content = $alert->Content;"},{"line":114,"text":"\t\t\tif (!$content)"}],"line":109,"text":"\tpublic function render(UserAlert $alert, ?Entity $content = null)"},{"context":[{"line":122,"text":"\t\t$data = $this->getTemplateData($action, $alert, $content);"},{"line":123,"text":""},{"line":124,"text":"\t\treturn \\XF::app()->templater()->renderTemplate($template, $data);"},{"line":125,"text":"\t}"},{"line":126,"text":""},{"line":127,"text":"\t/**"},{"line":128,"text":"\t * @return bool"},{"line":129,"text":"\t */"}],"line":124,"text":"\t\treturn \\XF::app()->templater()->renderTemplate($template, $data);"},{"context":[{"line":128,"text":"\t * @return bool"},{"line":129,"text":"\t */"},{"line":130,"text":"\tpublic function isAlertRenderable(UserAlert $alert)"},{"line":131,"text":"\t{"},{"line":132,"text":"\t\t$template = $this->getTemplateName($alert->action);"},{"line":133,"text":"\t\treturn \\XF::app()->templater()->isKnownTemplate($template);"},{"line":134,"text":"\t}"},{"line":135,"text":""}],"line":130,"text":"\tpublic function isAlertRenderable(UserAlert $alert)"},{"context":[{"line":140,"text":"\t * }"},{"line":141,"text":"\t */"},{"line":142,"text":"\tpublic function getApiOutput(UserAlert $alert)"},{"line":143,"text":"\t{"},{"line":144,"text":"\t\t$templater = \\XF::app()->templater();"},{"line":145,"text":"\t\t$content = $alert->Content;"},{"line":146,"text":"\t\tif (!$content)"},{"line":147,"text":"\t\t{"}],"line":142,"text":"\tpublic function getApiOutput(UserAlert $alert)"},{"context":[{"line":149,"text":"\t\t}"},{"line":150,"text":""},{"line":151,"text":"\t\t$templateName = $this->getPushTemplateName($alert->action);"},{"line":152,"text":"\t\tif (!$templater->isKnownTemplate($templateName))"},{"line":153,"text":"\t\t{"},{"line":154,"text":"\t\t\t$templateName = $this->getTemplateName($alert->action);"},{"line":155,"text":"\t\t}"},{"line":156,"text":"\t\t$templateData = $this->getTemplateData($alert->action, $alert, $content);"}],"line":151,"text":"\t\t$templateName = $this->getPushTemplateName($alert->action);"},{"context":[{"line":156,"text":"\t\t$templateData = $this->getTemplateData($alert->action, $alert, $content);"},{"line":157,"text":""},{"line":158,"text":"\t\t$pushContent = $templater->renderTemplate($templateName, $templateData);"},{"line":159,"text":""},{"line":160,"text":"\t\tif (preg_match('#<push:url>(.*)</push:url>#siU', $pushContent, $match))"},{"line":161,"text":"\t\t{"},{"line":162,"text":"\t\t\t$alertUrl = trim(htmlspecialchars_decode($match[1], ENT_QUOTES));"},{"line":163,"text":"\t\t\t$alertUrl = \\XF::canonicalizeUrl($alertUrl);"}],"line":158,"text":"\t\t$pushContent = $templater->renderTemplate($templateName, $templateData);"},{"context":[{"line":158,"text":"\t\t$pushContent = $templater->renderTemplate($templateName, $templateData);"},{"line":159,"text":""},{"line":160,"text":"\t\tif (preg_match('#<push:url>(.*)</push:url>#siU', $pushContent, $match))"},{"line":161,"text":"\t\t{"},{"line":162,"text":"\t\t\t$alertUrl = trim(htmlspecialchars_decode($match[1], ENT_QUOTES));"},{"line":163,"text":"\t\t\t$alertUrl = \\XF::canonicalizeUrl($alertUrl);"},{"line":164,"text":"\t\t}"},{"line":165,"text":"\t\telse"}],"line":160,"text":"\t\tif (preg_match('#<push:url>(.*)</push:url>#siU', $pushContent, $match))"},{"context":[{"line":168,"text":"\t\t}"},{"line":169,"text":""},{"line":170,"text":"\t\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\1>#siU', '', $pushContent);"},{"line":171,"text":"\t\t$pushContent = strip_tags($pushContent);"},{"line":172,"text":"\t\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);"},{"line":173,"text":"\t\t$pushContent = trim($pushContent);"},{"line":174,"text":""},{"line":175,"text":"\t\treturn ["}],"line":170,"text":"\t\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\1>#siU', '', $pushContent);"},{"context":[{"line":169,"text":""},{"line":170,"text":"\t\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\1>#siU', '', $pushContent);"},{"line":171,"text":"\t\t$pushContent = strip_tags($pushContent);"},{"line":172,"text":"\t\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);"},{"line":173,"text":"\t\t$pushContent = trim($pushContent);"},{"line":174,"text":""},{"line":175,"text":"\t\treturn ["},{"line":176,"text":"\t\t\t'text' => $pushContent,"}],"line":171,"text":"\t\t$pushContent = strip_tags($pushContent);"},{"context":[{"line":170,"text":"\t\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\1>#siU', '', $pushContent);"},{"line":171,"text":"\t\t$pushContent = strip_tags($pushContent);"},{"line":172,"text":"\t\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);"},{"line":173,"text":"\t\t$pushContent = trim($pushContent);"},{"line":174,"text":""},{"line":175,"text":"\t\treturn ["},{"line":176,"text":"\t\t\t'text' => $pushContent,"},{"line":177,"text":"\t\t\t'url' => $alertUrl,"}],"line":172,"text":"\t\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);"},{"context":[{"line":171,"text":"\t\t$pushContent = strip_tags($pushContent);"},{"line":172,"text":"\t\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);"},{"line":173,"text":"\t\t$pushContent = trim($pushContent);"},{"line":174,"text":""},{"line":175,"text":"\t\treturn ["},{"line":176,"text":"\t\t\t'text' => $pushContent,"},{"line":177,"text":"\t\t\t'url' => $alertUrl,"},{"line":178,"text":"\t\t];"}],"line":173,"text":"\t\t$pushContent = trim($pushContent);"},{"context":[{"line":174,"text":""},{"line":175,"text":"\t\treturn ["},{"line":176,"text":"\t\t\t'text' => $pushContent,"},{"line":177,"text":"\t\t\t'url' => $alertUrl,"},{"line":178,"text":"\t\t];"},{"line":179,"text":"\t}"},{"line":180,"text":""},{"line":181,"text":"\t/**"}],"line":176,"text":"\t\t\t'text' => $pushContent,"},{"context":[{"line":182,"text":"\t * @return list<string>"},{"line":183,"text":"\t */"},{"line":184,"text":"\tpublic function getEntityWith()"},{"line":185,"text":"\t{"},{"line":186,"text":"\t\treturn [];"},{"line":187,"text":"\t}"},{"line":188,"text":""},{"line":189,"text":"\t/**"}],"line":184,"text":"\tpublic function getEntityWith()"},{"context":[{"line":190,"text":"\t * @param int|list<int> $id"},{"line":191,"text":"\t *"},{"line":192,"text":"\t * @return T|AbstractCollection<T>"},{"line":193,"text":"\t */"},{"line":194,"text":"\tpublic function getContent($id)"},{"line":195,"text":"\t{"},{"line":196,"text":"\t\treturn \\XF::app()->findByContentType($this->contentType, $id, $this->getEntityWith());"},{"line":197,"text":"\t}"}],"line":192,"text":"\t * @return T|AbstractCollection<T>"},{"context":[{"line":192,"text":"\t * @return T|AbstractCollection<T>"},{"line":193,"text":"\t */"},{"line":194,"text":"\tpublic function getContent($id)"},{"line":195,"text":"\t{"},{"line":196,"text":"\t\treturn \\XF::app()->findByContentType($this->contentType, $id, $this->getEntityWith());"},{"line":197,"text":"\t}"},{"line":198,"text":""},{"line":199,"text":"\t/**"}],"line":194,"text":"\tpublic function getContent($id)"},{"context":[{"line":200,"text":"\t * @return string"},{"line":201,"text":"\t */"},{"line":202,"text":"\tpublic function getContentType()"},{"line":203,"text":"\t{"},{"line":204,"text":"\t\treturn $this->contentType;"},{"line":205,"text":"\t}"},{"line":206,"text":""},{"line":207,"text":"\t/**"}],"line":202,"text":"\tpublic function getContentType()"},{"context":[{"line":210,"text":"\t * @return list<string>"},{"line":211,"text":"\t */"},{"line":212,"text":"\tpublic function getOptOutActions()"},{"line":213,"text":"\t{"},{"line":214,"text":"\t\treturn [];"},{"line":215,"text":"\t}"},{"line":216,"text":""},{"line":217,"text":"\t/**"}],"line":212,"text":"\tpublic function getOptOutActions()"},{"context":[{"line":220,"text":"\t * @return int"},{"line":221,"text":"\t */"},{"line":222,"text":"\tpublic function getOptOutDisplayOrder()"},{"line":223,"text":"\t{"},{"line":224,"text":"\t\treturn 0;"},{"line":225,"text":"\t}"},{"line":226,"text":""},{"line":227,"text":"\t/**"}],"line":222,"text":"\tpublic function getOptOutDisplayOrder()"},{"context":[{"line":228,"text":"\t * @return array<string, string|\\Stringable>"},{"line":229,"text":"\t */"},{"line":230,"text":"\tpublic function getOptOutsMap()"},{"line":231,"text":"\t{"},{"line":232,"text":"\t\t$optOuts = $this->getOptOutActions();"},{"line":233,"text":"\t\tif (!$optOuts)"},{"line":234,"text":"\t\t{"},{"line":235,"text":"\t\t\treturn [];"}],"line":230,"text":"\tpublic function getOptOutsMap()"},{"context":[{"line":230,"text":"\tpublic function getOptOutsMap()"},{"line":231,"text":"\t{"},{"line":232,"text":"\t\t$optOuts = $this->getOptOutActions();"},{"line":233,"text":"\t\tif (!$optOuts)"},{"line":234,"text":"\t\t{"},{"line":235,"text":"\t\t\treturn [];"},{"line":236,"text":"\t\t}"},{"line":237,"text":""}],"line":232,"text":"\t\t$optOuts = $this->getOptOutActions();"}],"path":"/var/www/forums/newfi/public/src/XF/Alert/AbstractHandler.php","present":true,"sha256":"1d48488be1e561809a8d53ea9f43a3de2f04e70c5cc7c7e9a334fe12abcd2992"},"alert_handler_scan":["src/XF/Alert/ConversationMessageHandler.php","src/XF/Alert/PostHandler.php","src/XF/Alert/ProfilePostCommentHandler.php","src/XF/Alert/ProfilePostHandler.php","src/XF/Alert/ThreadHandler.php","src/XF/Alert/UserHandler.php"],"alert_post_handler":{"bytes":null,"matches":[],"path":"/var/www/forums/newfi/public/src/XF/Alert/Post.php","present":false,"sha256":null},"push_subscription_entity":{"bytes":null,"matches":[],"path":"/var/www/forums/newfi/public/src/XF/Entity/UserPushSubscription.php","present":false,"sha256":null},"repository_name_scan":["src/XF/Repository/UserAlertRepository.php","src/XF/Repository/UserPushRepository.php"],"service_worker":{"bytes":6000,"matches":[{"context":[{"line":38,"text":"{"},{"line":39,"text":"\tconst clientId = event.source.id"},{"line":40,"text":"\tconst message = event.data"},{"line":41,"text":"\tif (typeof message !== 'object' || message === null)"},{"line":42,"text":"\t{"},{"line":43,"text":"\t\tconsole.error('Invalid message:', message)"},{"line":44,"text":"\t\treturn"},{"line":45,"text":"\t}"}],"line":40,"text":"\tconst message = event.data"},{"context":[{"line":83,"text":"})"},{"line":84,"text":""},{"line":85,"text":"self.addEventListener('push', event =>"},{"line":86,"text":"{"},{"line":87,"text":"\tif (!(self.Notification && self.Notification.permission === 'granted'))"},{"line":88,"text":"\t{"},{"line":89,"text":"\t\treturn"},{"line":90,"text":"\t}"}],"line":85,"text":"self.addEventListener('push', event =>"},{"context":[{"line":94,"text":"\ttry"},{"line":95,"text":"\t{"},{"line":96,"text":"\t\tdata = event.data.json()"},{"line":97,"text":"\t}"},{"line":98,"text":"\tcatch (e)"},{"line":99,"text":"\t{"},{"line":100,"text":"\t\tconsole.warn('Received push notification but payload not in the expected format.', e)"},{"line":101,"text":"\t\tconsole.warn('Received data:', event.data.text())"}],"line":96,"text":"\t\tdata = event.data.json()"},{"context":[{"line":98,"text":"\tcatch (e)"},{"line":99,"text":"\t{"},{"line":100,"text":"\t\tconsole.warn('Received push notification but payload not in the expected format.', e)"},{"line":101,"text":"\t\tconsole.warn('Received data:', event.data.text())"},{"line":102,"text":"\t\treturn"},{"line":103,"text":"\t}"},{"line":104,"text":""},{"line":105,"text":"\tif (!data || !data.title || !data.body)"}],"line":100,"text":"\t\tconsole.warn('Received push notification but payload not in the expected format.', e)"},{"context":[{"line":99,"text":"\t{"},{"line":100,"text":"\t\tconsole.warn('Received push notification but payload not in the expected format.', e)"},{"line":101,"text":"\t\tconsole.warn('Received data:', event.data.text())"},{"line":102,"text":"\t\treturn"},{"line":103,"text":"\t}"},{"line":104,"text":""},{"line":105,"text":"\tif (!data || !data.title || !data.body)"},{"line":106,"text":"\t{"}],"line":101,"text":"\t\tconsole.warn('Received data:', event.data.text())"},{"context":[{"line":105,"text":"\tif (!data || !data.title || !data.body)"},{"line":106,"text":"\t{"},{"line":107,"text":"\t\tconsole.warn('Received push notification but no payload data or required fields missing.', data)"},{"line":108,"text":"\t\treturn"},{"line":109,"text":"\t}"},{"line":110,"text":""},{"line":111,"text":"\tconst options = {"},{"line":112,"text":"\t\tbody: data.body,"}],"line":107,"text":"\t\tconsole.warn('Received push notification but no payload data or required fields missing.', data)"},{"context":[{"line":123,"text":"\t}"},{"line":124,"text":""},{"line":125,"text":"\tconst notificationPromise = self.registration.showNotification(data.title, options)"},{"line":126,"text":""},{"line":127,"text":"\tif ('setAppBadge' in self.navigator && 'clearAppBadge' in self.navigator)"},{"line":128,"text":"\t{"},{"line":129,"text":"\t\tlet newCount = parseInt(String(data.total_unread).replace(/[,. ]/g, ''))"},{"line":130,"text":""}],"line":125,"text":"\tconst notificationPromise = self.registration.showNotification(data.title, options)"},{"context":[{"line":142,"text":"})"},{"line":143,"text":""},{"line":144,"text":"self.addEventListener('notificationclick', event =>"},{"line":145,"text":"{"},{"line":146,"text":"\tconst notification = event.notification"},{"line":147,"text":"\tnotification.close()"},{"line":148,"text":""},{"line":149,"text":"\tconst url = notification.data.url"}],"line":144,"text":"self.addEventListener('notificationclick', event =>"},{"context":[{"line":286,"text":"\t\t\t\tconst key = response.key || null"},{"line":287,"text":"\t\t\t\tconst files = response.files || []"},{"line":288,"text":"\t\t\t\tfiles.push(OFFLINE_ROUTE)"},{"line":289,"text":""},{"line":290,"text":"\t\t\t\treturn cache.addAll(files)"},{"line":291,"text":"\t\t\t\t\t.then(() => key)"},{"line":292,"text":"\t\t\t}))"},{"line":293,"text":"\t\t.catch(error =>"}],"line":288,"text":"\t\t\t\tfiles.push(OFFLINE_ROUTE)"}],"path":"/var/www/forums/newfi/public/service_worker.js","present":true,"sha256":"e422cd54e00c05c4e7a7a803894b95826f2ada4a2e3e5129eba742d95dcfa4f9"},"user_alert_entity":{"bytes":6367,"matches":[{"context":[{"line":14,"text":" * @property int $user_id"},{"line":15,"text":" * @property string $username"},{"line":16,"text":" * @property string $content_type"},{"line":17,"text":" * @property int $content_id"},{"line":18,"text":" * @property string $action"},{"line":19,"text":" * @property int $event_date"},{"line":20,"text":" * @property int $view_date"},{"line":21,"text":" * @property int $read_date"}],"line":16,"text":" * @property string $content_type"},{"context":[{"line":16,"text":" * @property string $content_type"},{"line":17,"text":" * @property int $content_id"},{"line":18,"text":" * @property string $action"},{"line":19,"text":" * @property int $event_date"},{"line":20,"text":" * @property int $view_date"},{"line":21,"text":" * @property int $read_date"},{"line":22,"text":" * @property bool $auto_read"},{"line":23,"text":" * @property array|null $extra_data"}],"line":18,"text":" * @property string $action"},{"context":[{"line":21,"text":" * @property int $read_date"},{"line":22,"text":" * @property bool $auto_read"},{"line":23,"text":" * @property array|null $extra_data"},{"line":24,"text":" * @property string $depends_on_addon_id"},{"line":25,"text":" *"},{"line":26,"text":" * GETTERS"},{"line":27,"text":" * @property-read Entity|null $Content"},{"line":28,"text":" *"}],"line":23,"text":" * @property array|null $extra_data"},{"context":[{"line":34,"text":"class UserAlert extends Entity implements ViewableInterface"},{"line":35,"text":"{"},{"line":36,"text":"\tpublic function canView(&$error = null)"},{"line":37,"text":"\t{"},{"line":38,"text":"\t\t$handler = $this->getHandler();"},{"line":39,"text":"\t\t$content = $this->Content;"},{"line":40,"text":""},{"line":41,"text":"\t\tif ($handler && $content)"}],"line":36,"text":"\tpublic function canView(&$error = null)"},{"context":[{"line":49,"text":"\t}"},{"line":50,"text":""},{"line":51,"text":"\tpublic function getHandler()"},{"line":52,"text":"\t{"},{"line":53,"text":"\t\treturn $this->getAlertRepo()->getAlertHandler($this->content_type);"},{"line":54,"text":"\t}"},{"line":55,"text":""},{"line":56,"text":"\t/**"}],"line":51,"text":"\tpublic function getHandler()"},{"context":[{"line":51,"text":"\tpublic function getHandler()"},{"line":52,"text":"\t{"},{"line":53,"text":"\t\treturn $this->getAlertRepo()->getAlertHandler($this->content_type);"},{"line":54,"text":"\t}"},{"line":55,"text":""},{"line":56,"text":"\t/**"},{"line":57,"text":"\t * @return Entity|null"},{"line":58,"text":"\t */"}],"line":53,"text":"\t\treturn $this->getAlertRepo()->getAlertHandler($this->content_type);"},{"context":[{"line":57,"text":"\t * @return Entity|null"},{"line":58,"text":"\t */"},{"line":59,"text":"\tpublic function getContent()"},{"line":60,"text":"\t{"},{"line":61,"text":"\t\t$handler = $this->getHandler();"},{"line":62,"text":"\t\treturn $handler ? $handler->getContent($this->content_id) : null;"},{"line":63,"text":"\t}"},{"line":64,"text":""}],"line":59,"text":"\tpublic function getContent()"},{"context":[{"line":63,"text":"\t}"},{"line":64,"text":""},{"line":65,"text":"\tpublic function setContent(?Entity $content = null)"},{"line":66,"text":"\t{"},{"line":67,"text":"\t\t$this->_getterCache['Content'] = $content;"},{"line":68,"text":"\t}"},{"line":69,"text":""},{"line":70,"text":"\tpublic function render()"}],"line":65,"text":"\tpublic function setContent(?Entity $content = null)"},{"context":[{"line":68,"text":"\t}"},{"line":69,"text":""},{"line":70,"text":"\tpublic function render()"},{"line":71,"text":"\t{"},{"line":72,"text":"\t\t$handler = $this->getHandler();"},{"line":73,"text":"\t\treturn $handler ? $handler->render($this) : '';"},{"line":74,"text":"\t}"},{"line":75,"text":""}],"line":70,"text":"\tpublic function render()"},{"context":[{"line":74,"text":"\t}"},{"line":75,"text":""},{"line":76,"text":"\tpublic function isAlertRenderable()"},{"line":77,"text":"\t{"},{"line":78,"text":"\t\t$handler = $this->getHandler();"},{"line":79,"text":"\t\treturn $handler ? $handler->isAlertRenderable($this) : false;"},{"line":80,"text":"\t}"},{"line":81,"text":""}],"line":76,"text":"\tpublic function isAlertRenderable()"},{"context":[{"line":83,"text":"\t * @return bool"},{"line":84,"text":"\t */"},{"line":85,"text":"\tpublic function isUnviewed()"},{"line":86,"text":"\t{"},{"line":87,"text":"\t\treturn !$this->view_date;"},{"line":88,"text":"\t}"},{"line":89,"text":""},{"line":90,"text":"\t/**"}],"line":85,"text":"\tpublic function isUnviewed()"},{"context":[{"line":91,"text":"\t * @return bool"},{"line":92,"text":"\t */"},{"line":93,"text":"\tpublic function isUnread()"},{"line":94,"text":"\t{"},{"line":95,"text":"\t\treturn !$this->read_date;"},{"line":96,"text":"\t}"},{"line":97,"text":""},{"line":98,"text":"\t/**"}],"line":93,"text":"\tpublic function isUnread()"},{"context":[{"line":99,"text":"\t * @return bool"},{"line":100,"text":"\t */"},{"line":101,"text":"\tpublic function isUnreadInUi(): bool"},{"line":102,"text":"\t{"},{"line":103,"text":"\t\tif ($this->getOption('force_unread_in_ui'))"},{"line":104,"text":"\t\t{"},{"line":105,"text":"\t\t\treturn true;"},{"line":106,"text":"\t\t}"}],"line":101,"text":"\tpublic function isUnreadInUi(): bool"},{"context":[{"line":109,"text":"\t}"},{"line":110,"text":""},{"line":111,"text":"\tpublic function isRecentlyRead()"},{"line":112,"text":"\t{"},{"line":113,"text":"\t\treturn ($this->read_date && $this->read_date >= \\XF::$time - 900);"},{"line":114,"text":"\t}"},{"line":115,"text":""},{"line":116,"text":"\tprotected function _saveToSource()"}],"line":111,"text":"\tpublic function isRecentlyRead()"},{"context":[{"line":209,"text":"\t}"},{"line":210,"text":""},{"line":211,"text":"\tpublic static function getStructure(Structure $structure)"},{"line":212,"text":"\t{"},{"line":213,"text":"\t\t$structure->table = 'xf_user_alert';"},{"line":214,"text":"\t\t$structure->shortName = 'XF:UserAlert';"},{"line":215,"text":"\t\t$structure->primaryKey = 'alert_id';"},{"line":216,"text":"\t\t$structure->columns = ["}],"line":211,"text":"\tpublic static function getStructure(Structure $structure)"},{"context":[{"line":219,"text":"\t\t\t'user_id' => ['type' => self::UINT, 'default' => 0, 'api' => true],"},{"line":220,"text":"\t\t\t'username' => ['type' => self::STR, 'maxLength' => 50, 'default' => '', 'api' => true],"},{"line":221,"text":"\t\t\t'content_type' => ['type' => self::STR, 'maxLength' => 25, 'required' => true, 'api' => true],"},{"line":222,"text":"\t\t\t'content_id' => ['type' => self::UINT, 'required' => true, 'api' => true],"},{"line":223,"text":"\t\t\t'action' => ['type' => self::STR, 'maxLength' => 30, 'required' => true, 'api' => true],"},{"line":224,"text":"\t\t\t'event_date' => ['type' => self::UINT, 'default' => \\XF::$time, 'api' => true],"},{"line":225,"text":"\t\t\t'view_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],"},{"line":226,"text":"\t\t\t'read_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],"}],"line":221,"text":"\t\t\t'content_type' => ['type' => self::STR, 'maxLength' => 25, 'required' => true, 'api' => true],"},{"context":[{"line":221,"text":"\t\t\t'content_type' => ['type' => self::STR, 'maxLength' => 25, 'required' => true, 'api' => true],"},{"line":222,"text":"\t\t\t'content_id' => ['type' => self::UINT, 'required' => true, 'api' => true],"},{"line":223,"text":"\t\t\t'action' => ['type' => self::STR, 'maxLength' => 30, 'required' => true, 'api' => true],"},{"line":224,"text":"\t\t\t'event_date' => ['type' => self::UINT, 'default' => \\XF::$time, 'api' => true],"},{"line":225,"text":"\t\t\t'view_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],"},{"line":226,"text":"\t\t\t'read_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],"},{"line":227,"text":"\t\t\t'auto_read' => ['type' => self::BOOL, 'default' => true, 'api' => true],"},{"line":228,"text":"\t\t\t'extra_data' => ['type' => self::JSON_ARRAY, 'default' => []],"}],"line":223,"text":"\t\t\t'action' => ['type' => self::STR, 'maxLength' => 30, 'required' => true, 'api' => true],"},{"context":[{"line":226,"text":"\t\t\t'read_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],"},{"line":227,"text":"\t\t\t'auto_read' => ['type' => self::BOOL, 'default' => true, 'api' => true],"},{"line":228,"text":"\t\t\t'extra_data' => ['type' => self::JSON_ARRAY, 'default' => []],"},{"line":229,"text":"\t\t\t'depends_on_addon_id' => ['type' => self::BINARY, 'maxLength' => 50, 'default' => ''],"},{"line":230,"text":"\t\t];"},{"line":231,"text":"\t\t$structure->getters = ["},{"line":232,"text":"\t\t\t'Content' => true,"},{"line":233,"text":"\t\t];"}],"line":228,"text":"\t\t\t'extra_data' => ['type' => self::JSON_ARRAY, 'default' => []],"}],"path":"/var/www/forums/newfi/public/src/XF/Entity/UserAlert.php","present":true,"sha256":"a749d5470269ec4fa9cc9fe419b9e4446208d8914e905ce5d8442292494a5cd2"},"user_alert_repo":{"bytes":null,"matches":[],"path":"/var/www/forums/newfi/public/src/XF/Repository/UserAlert.php","present":false,"sha256":null},"user_entity":{"bytes":65143,"matches":[{"context":[{"line":1051,"text":"\t}"},{"line":1052,"text":""},{"line":1053,"text":"\tpublic function canUsePushNotifications()"},{"line":1054,"text":"\t{"},{"line":1055,"text":"\t\tif (!\\XF::isPushUsable())"},{"line":1056,"text":"\t\t{"},{"line":1057,"text":"\t\t\treturn false;"},{"line":1058,"text":"\t\t}"}],"line":1053,"text":"\tpublic function canUsePushNotifications()"},{"context":[{"line":1882,"text":"\t * @api-out <perm> bool $activity_visible"},{"line":1883,"text":"\t * @api-out <cond> int $age The user's current age. Only included if available."},{"line":1884,"text":"\t * @api-out <perm|verbose> array $alert_optout"},{"line":1885,"text":"\t * @api-out <perm|verbose> string $allow_post_profile"},{"line":1886,"text":"\t * @api-out <perm|verbose> string $allow_receive_news_feed"},{"line":1887,"text":"\t * @api-out <perm|verbose> string $allow_send_personal_conversation"},{"line":1888,"text":"\t * @api-out <perm|verbose> string $allow_view_identities"},{"line":1889,"text":"\t * @api-out <perm|verbose> string $allow_view_profile"}],"line":1884,"text":"\t * @api-out <perm|verbose> array $alert_optout"},{"context":[{"line":1917,"text":"\t * @api-out <perm> int $last_activity Unix timestamp of user's last activity, if available."},{"line":1918,"text":"\t * @api-out str $location"},{"line":1919,"text":"\t * @api-out <perm|verbose> bool $push_on_conversation"},{"line":1920,"text":"\t * @api-out <perm|verbose> array $push_optout"},{"line":1921,"text":"\t * @api-out <perm|verbose> bool $receive_admin_email"},{"line":1922,"text":"\t * @api-out <perm> array $secondary_group_ids"},{"line":1923,"text":"\t * @api-out <perm|verbose> bool $show_dob_date"},{"line":1924,"text":"\t * @api-out <perm|verbose> bool $show_dob_year"}],"line":1919,"text":"\t * @api-out <perm|verbose> bool $push_on_conversation"},{"context":[{"line":1918,"text":"\t * @api-out str $location"},{"line":1919,"text":"\t * @api-out <perm|verbose> bool $push_on_conversation"},{"line":1920,"text":"\t * @api-out <perm|verbose> array $push_optout"},{"line":1921,"text":"\t * @api-out <perm|verbose> bool $receive_admin_email"},{"line":1922,"text":"\t * @api-out <perm> array $secondary_group_ids"},{"line":1923,"text":"\t * @api-out <perm|verbose> bool $show_dob_date"},{"line":1924,"text":"\t * @api-out <perm|verbose> bool $show_dob_year"},{"line":1925,"text":"\t * @api-out str $signature"}],"line":1920,"text":"\t * @api-out <perm|verbose> array $push_optout"},{"context":[{"line":2076,"text":"\t\t\t\t\t\t'receive_admin_email' => $option->receive_admin_email,"},{"line":2077,"text":"\t\t\t\t\t\t'email_on_conversation' => $option->email_on_conversation,"},{"line":2078,"text":"\t\t\t\t\t\t'push_on_conversation' => $option->push_on_conversation,"},{"line":2079,"text":"\t\t\t\t\t\t'creation_watch_state' => $option->creation_watch_state,"},{"line":2080,"text":"\t\t\t\t\t\t'interaction_watch_state' => $option->interaction_watch_state,"},{"line":2081,"text":"\t\t\t\t\t\t'alert_optout' => $option->alert_optout,"},{"line":2082,"text":"\t\t\t\t\t\t'push_optout' => $option->push_optout,"},{"line":2083,"text":"\t\t\t\t\t\t'use_tfa' => $option->use_tfa,"}],"line":2078,"text":"\t\t\t\t\t\t'push_on_conversation' => $option->push_on_conversation,"},{"context":[{"line":2079,"text":"\t\t\t\t\t\t'creation_watch_state' => $option->creation_watch_state,"},{"line":2080,"text":"\t\t\t\t\t\t'interaction_watch_state' => $option->interaction_watch_state,"},{"line":2081,"text":"\t\t\t\t\t\t'alert_optout' => $option->alert_optout,"},{"line":2082,"text":"\t\t\t\t\t\t'push_optout' => $option->push_optout,"},{"line":2083,"text":"\t\t\t\t\t\t'use_tfa' => $option->use_tfa,"},{"line":2084,"text":"\t\t\t\t\t]);"},{"line":2085,"text":"\t\t\t\t\t$result->includeExtra(["},{"line":2086,"text":"\t\t\t\t\t\t'allow_view_profile' => $privacy->allow_view_profile,"}],"line":2081,"text":"\t\t\t\t\t\t'alert_optout' => $option->alert_optout,"},{"context":[{"line":2080,"text":"\t\t\t\t\t\t'interaction_watch_state' => $option->interaction_watch_state,"},{"line":2081,"text":"\t\t\t\t\t\t'alert_optout' => $option->alert_optout,"},{"line":2082,"text":"\t\t\t\t\t\t'push_optout' => $option->push_optout,"},{"line":2083,"text":"\t\t\t\t\t\t'use_tfa' => $option->use_tfa,"},{"line":2084,"text":"\t\t\t\t\t]);"},{"line":2085,"text":"\t\t\t\t\t$result->includeExtra(["},{"line":2086,"text":"\t\t\t\t\t\t'allow_view_profile' => $privacy->allow_view_profile,"},{"line":2087,"text":"\t\t\t\t\t\t'allow_post_profile' => $privacy->allow_post_profile,"}],"line":2082,"text":"\t\t\t\t\t\t'push_optout' => $option->push_optout,"},{"context":[{"line":2125,"text":"\t\t\t\t'receive_admin_email' => $option->receive_admin_email,"},{"line":2126,"text":"\t\t\t\t'email_on_conversation' => $option->email_on_conversation,"},{"line":2127,"text":"\t\t\t\t'push_on_conversation' => $option->push_on_conversation,"},{"line":2128,"text":"\t\t\t\t'creation_watch_state' => $option->creation_watch_state,"},{"line":2129,"text":"\t\t\t\t'interaction_watch_state' => $option->interaction_watch_state,"},{"line":2130,"text":"\t\t\t\t'alert_optout' => $option->alert_optout,"},{"line":2131,"text":"\t\t\t\t'push_optout' => $option->push_optout,"},{"line":2132,"text":"\t\t\t\t'use_tfa' => $option->use_tfa,"}],"line":2127,"text":"\t\t\t\t'push_on_conversation' => $option->push_on_conversation,"},{"context":[{"line":2128,"text":"\t\t\t\t'creation_watch_state' => $option->creation_watch_state,"},{"line":2129,"text":"\t\t\t\t'interaction_watch_state' => $option->interaction_watch_state,"},{"line":2130,"text":"\t\t\t\t'alert_optout' => $option->alert_optout,"},{"line":2131,"text":"\t\t\t\t'push_optout' => $option->push_optout,"},{"line":2132,"text":"\t\t\t\t'use_tfa' => $option->use_tfa,"},{"line":2133,"text":"\t\t\t]);"},{"line":2134,"text":""},{"line":2135,"text":"\t\t\t$fieldValues = $profile->custom_fields->getFieldValues();"}],"line":2130,"text":"\t\t\t\t'alert_optout' => $option->alert_optout,"},{"context":[{"line":2129,"text":"\t\t\t\t'interaction_watch_state' => $option->interaction_watch_state,"},{"line":2130,"text":"\t\t\t\t'alert_optout' => $option->alert_optout,"},{"line":2131,"text":"\t\t\t\t'push_optout' => $option->push_optout,"},{"line":2132,"text":"\t\t\t\t'use_tfa' => $option->use_tfa,"},{"line":2133,"text":"\t\t\t]);"},{"line":2134,"text":""},{"line":2135,"text":"\t\t\t$fieldValues = $profile->custom_fields->getFieldValues();"},{"line":2136,"text":"\t\t\t$result->custom_fields = (object) $fieldValues;"}],"line":2131,"text":"\t\t\t\t'push_optout' => $option->push_optout,"}],"path":"/var/www/forums/newfi/public/src/XF/Entity/User.php","present":true,"sha256":"1ea738d44993ad4cb7f5db12e8b2ee06c37bd2b2c7ae1714b068fb64bbb82758"}},"role":"staging","status":"OK"}
NEWFI171_DECISION=PASS_NOTIFY213_EXACT_FRAMEWORK_SOURCE_CONTRACT
NEWFI171_NEXT_GATE=BUILD_NOTIFY213_STAGING_CANDIDATE_FROM_EXACT_CONTRACT
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}

OUTPUT_END
CHAT_OUTPUT_END
