CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260909-GRAM-XF-STAGING-FORENSIC-041
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=gram-support-vm211-staging-forensic
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=d31b61b5d80966157f8fd0416a1b84da417446fd716707606be2c40794e947e8
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=ca9e03a257db6318511bb3fc6ceedcb81edc9ac133b13de2e30f1d49e5091c20
SANITIZED_OUTPUT_SHA256=ca9e03a257db6318511bb3fc6ceedcb81edc9ac133b13de2e30f1d49e5091c20
OUTPUT_BEGIN
SUPPORT041_BEGIN
ERROR_REGISTER_CHECK=OK
REFERENCE_CHECK=OK
AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
SUPPORT041_SOURCE_POSTROLLBACK={"source_exists":false,"tmp_exists":false}
SUPPORT041_QGA_STATE={"exitcode":0,"state":"COMPLETE"}
SUPPORT041_VM211={"addon_path":{"state":"ABSENT"},"cli":{"commands":["xf:addon-disable","xf:addon-enable","xf:addon-install","xf:addon-list","xf:addon-rebuild","xf:addon-uninstall","xf:addon-upgrade"],"help":{"xf:addon-disable":{"mentions_no_interaction":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"aad85d19723401a92a03a7824069597c7729f537fbba1d9037e5c7ea46e2d057"},"xf:addon-enable":{"mentions_no_interaction":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"d55071cb0200757dba0a2a8f2c4427f8cf8f525103a9584c61a20d79aea1ca44"},"xf:addon-install":{"mentions_no_interaction":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"9dac6d249cac5938d1d908affe66cc652d0deaa1b24d9233f7bdebec96151104"},"xf:addon-list":{"mentions_no_interaction":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"7934a7143d5b6907a69f477063324e9c53e99f7404fd83af0887a828928e6dbe"},"xf:addon-rebuild":{"mentions_no_interaction":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"36c4af0714bfa9f732f46c004f0bd3ea109340b8b737ba0217dbce50330669c9"},"xf:addon-uninstall":{"mentions_no_interaction":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"c8f2162162c47f832d6c25822395cd2db42d260774e00ebc3bf765532f12ac97"},"xf:addon-upgrade":{"mentions_no_interaction":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"834372348cafa33db19e7545b6ae3f9f47d822c8ef3c5cadeb97d0bbbd6a4e40"}},"rc":0},"collection":"COMPLETE","command_id":"SUPPORT-260909-GRAM-XF-STAGING-FORENSIC-041","datatype_contract":{"AbstractDataType.php":{"exists":true,"sha256":"a4f6ec14e4009be0029548b07272dc77c6ad96f4cca4e067a7d3ea0004126815","snippets":[[{"line":30,"text":"\tabstract public function getContainerTag();"},{"line":31,"text":""},{"line":32,"text":"\tabstract public function getChildTag();"},{"line":33,"text":""},{"line":34,"text":"\tabstract public function exportAddOnData($addOnId, \\DOMElement $container);"},{"line":35,"text":""},{"line":36,"text":"\tabstract public function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0);"},{"line":37,"text":""},{"line":38,"text":"\tabstract public function deleteOrphanedAddOnData($addOnId, \\SimpleXMLElement $container);"},{"line":39,"text":""},{"line":40,"text":"\tpublic const USE_AUTO_CDATA = false;"},{"line":41,"text":""},{"line":42,"text":"\tpublic function __construct(Manager $em)"},{"line":43,"text":"\t{"}],[{"line":32,"text":"\tabstract public function getChildTag();"},{"line":33,"text":""},{"line":34,"text":"\tabstract public function exportAddOnData($addOnId, \\DOMElement $container);"},{"line":35,"text":""},{"line":36,"text":"\tabstract public function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0);"},{"line":37,"text":""},{"line":38,"text":"\tabstract public function deleteOrphanedAddOnData($addOnId, \\SimpleXMLElement $container);"},{"line":39,"text":""},{"line":40,"text":"\tpublic const USE_AUTO_CDATA = false;"},{"line":41,"text":""},{"line":42,"text":"\tpublic function __construct(Manager $em)"},{"line":43,"text":"\t{"},{"line":44,"text":"\t\t$this->em = $em;"},{"line":45,"text":"\t\t$this->structure = $em->getEntityStructure($this->getShortName());"}],[{"line":34,"text":"\tabstract public function exportAddOnData($addOnId, \\DOMElement $container);"},{"line":35,"text":""},{"line":36,"text":"\tabstract public function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0);"},{"line":37,"text":""},{"line":38,"text":"\tabstract public function deleteOrphanedAddOnData($addOnId, \\SimpleXMLElement $container);"},{"line":39,"text":""},{"line":40,"text":"\tpublic const USE_AUTO_CDATA = false;"},{"line":41,"text":""},{"line":42,"text":"\tpublic function __construct(Manager $em)"},{"line":43,"text":"\t{"},{"line":44,"text":"\t\t$this->em = $em;"},{"line":45,"text":"\t\t$this->structure = $em->getEntityStructure($this->getShortName());"},{"line":46,"text":"\t}"},{"line":47,"text":""}],[{"line":36,"text":"\tabstract public function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0);"},{"line":37,"text":""},{"line":38,"text":"\tabstract public function deleteOrphanedAddOnData($addOnId, \\SimpleXMLElement $container);"},{"line":39,"text":""},{"line":40,"text":"\tpublic const USE_AUTO_CDATA = false;"},{"line":41,"text":""},{"line":42,"text":"\tpublic function __construct(Manager $em)"},{"line":43,"text":"\t{"},{"line":44,"text":"\t\t$this->em = $em;"},{"line":45,"text":"\t\t$this->structure = $em->getEntityStructure($this->getShortName());"},{"line":46,"text":"\t}"},{"line":47,"text":""},{"line":48,"text":"\tpublic function getTypeFileName()"},{"line":49,"text":"\t{"}],[{"line":174,"text":"\tprotected function getMappedAttributes()"},{"line":175,"text":"\t{"},{"line":176,"text":"\t\treturn [];"},{"line":177,"text":"\t}"},{"line":178,"text":""},{"line":179,"text":"\tprotected function getMaintainedAttributes()"},{"line":180,"text":"\t{"},{"line":181,"text":"\t\treturn [];"},{"line":182,"text":"\t}"},{"line":183,"text":""},{"line":184,"text":"\tprotected function exportArrayToAttributes(\\DOMElement $tag, $attr, Entity $entity)"},{"line":185,"text":"\t{"},{"line":186,"text":"\t\tforeach ($entity->$attr AS $key => $value)"},{"line":187,"text":"\t\t{"}],[{"line":184,"text":"\tprotected function exportArrayToAttributes(\\DOMElement $tag, $attr, Entity $entity)"},{"line":185,"text":"\t{"},{"line":186,"text":"\t\tforeach ($entity->$attr AS $key => $value)"},{"line":187,"text":"\t\t{"},{"line":188,"text":"\t\t\tif ($value === '')"},{"line":189,"text":"\t\t\t{"},{"line":190,"text":"\t\t\t\tcontinue;"},{"line":191,"text":"\t\t\t}"},{"line":192,"text":"\t\t\tif (is_bool($value))"},{"line":193,"text":"\t\t\t{"},{"line":194,"text":"\t\t\t\t$value = $value ? 1 : 0;"},{"line":195,"text":"\t\t\t}"},{"line":196,"text":"\t\t\t$tag->setAttribute($attr . '_' . $key, $value);"},{"line":197,"text":"\t\t}"}],[{"line":200,"text":"\tprotected function exportCdataToNewNode(\\DOMElement $tag, $attr, Entity $entity)"},{"line":201,"text":"\t{"},{"line":202,"text":"\t\t$newNode = $tag->ownerDocument->createElement($attr);"},{"line":203,"text":"\t\t$this->exportCdata($newNode, $entity->{$attr});"},{"line":204,"text":"\t\t$tag->appendChild($newNode);"},{"line":205,"text":"\t}"},{"line":206,"text":""},{"line":207,"text":"\tprotected function exportMappedAttributes(\\DOMElement $tag, Entity $entity)"},{"line":208,"text":"\t{"},{"line":209,"text":"\t\tforeach ($this->getMappedAttributes() AS $attr)"},{"line":210,"text":"\t\t{"},{"line":211,"text":"\t\t\t$value = $entity->getValue($attr);"},{"line":212,"text":""},{"line":213,"text":"\t\t\tif ($value !== '')"}],[{"line":207,"text":"\tprotected function exportMappedAttributes(\\DOMElement $tag, Entity $entity)"},{"line":208,"text":"\t{"},{"line":209,"text":"\t\tforeach ($this->getMappedAttributes() AS $attr)"},{"line":210,"text":"\t\t{"},{"line":211,"text":"\t\t\t$value = $entity->getValue($attr);"},{"line":212,"text":""},{"line":213,"text":"\t\t\tif ($value !== '')"},{"line":214,"text":"\t\t\t{"},{"line":215,"text":"\t\t\t\tif (is_bool($value))"},{"line":216,"text":"\t\t\t\t{"},{"line":217,"text":"\t\t\t\t\t$value = $value ? 1 : 0;"},{"line":218,"text":"\t\t\t\t}"},{"line":219,"text":""},{"line":220,"text":"\t\t\t\t// CURRENTLY NOT USED DUE TO BC ISSUES WITH 2.0.x < 2.0.4"}]]},"CodeEventListener.php":{"exists":true,"sha256":"eba1c2560c9c5c48d1185886609203bf73665d664c2ae0f2db0ff17dbad574ab","snippets":[[{"line":16,"text":"\tpublic function getContainerTag()"},{"line":17,"text":"\t{"},{"line":18,"text":"\t\treturn 'code_event_listeners';"},{"line":19,"text":"\t}"},{"line":20,"text":""},{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'listener';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'listener';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->order(['event_id', 'callback_class', 'callback_method'])->fetch();"},{"line":31,"text":""},{"line":32,"text":"\t\tforeach ($entries AS $entry)"},{"line":33,"text":"\t\t{"},{"line":34,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"}],[{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->order(['event_id', 'callback_class', 'callback_method'])->fetch();"},{"line":31,"text":""},{"line":32,"text":"\t\tforeach ($entries AS $entry)"},{"line":33,"text":"\t\t{"},{"line":34,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":35,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":36,"text":"\t\t\t$container->appendChild($node);"},{"line":37,"text":"\t\t}"},{"line":38,"text":""},{"line":39,"text":"\t\treturn $entries->count() ? true : false;"}],[{"line":42,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":43,"text":"\t{"},{"line":44,"text":"\t\t$startTime = microtime(true);"},{"line":45,"text":""},{"line":46,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":47,"text":"\t\tif (!$entries)"},{"line":48,"text":"\t\t{"},{"line":49,"text":"\t\t\treturn false;"},{"line":50,"text":"\t\t}"},{"line":51,"text":""},{"line":52,"text":"\t\t$existing = [];"},{"line":53,"text":"\t\tforeach ($this->findAllForType($addOnId)->fetch() AS $listener)"},{"line":54,"text":"\t\t{"},{"line":55,"text":"\t\t\t$existing[$listener->getAddOnUniqueKey()] = $listener;"}],[{"line":127,"text":"\tprotected function getMappedAttributes()"},{"line":128,"text":"\t{"},{"line":129,"text":"\t\treturn ["},{"line":130,"text":"\t\t\t'event_id',"},{"line":131,"text":"\t\t\t'execute_order',"},{"line":132,"text":"\t\t\t'callback_class',"},{"line":133,"text":"\t\t\t'callback_method',"},{"line":134,"text":"\t\t\t'active',"},{"line":135,"text":"\t\t\t'hint',"},{"line":136,"text":"\t\t\t'description',"},{"line":137,"text":"\t\t];"},{"line":138,"text":"\t}"},{"line":139,"text":""},{"line":140,"text":"\tprotected function getAddOnUniqueKeyFromXml(\\SimpleXMLElement $entry)"}]]},"ContentTypeField.php":{"exists":true,"sha256":"6c954db974138ac73a76ba87a119c4efdfb85f922a81832928e9ee022e23f594","snippets":[[{"line":16,"text":"\tpublic function getContainerTag()"},{"line":17,"text":"\t{"},{"line":18,"text":"\t\treturn 'content_type_fields';"},{"line":19,"text":"\t}"},{"line":20,"text":""},{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'field';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'field';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->order(['content_type', 'field_name'])->fetch();"},{"line":31,"text":""},{"line":32,"text":"\t\t$doc = $container->ownerDocument;"},{"line":33,"text":""},{"line":34,"text":"\t\tforeach ($entries AS $entry)"}],[{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->order(['content_type', 'field_name'])->fetch();"},{"line":31,"text":""},{"line":32,"text":"\t\t$doc = $container->ownerDocument;"},{"line":33,"text":""},{"line":34,"text":"\t\tforeach ($entries AS $entry)"},{"line":35,"text":"\t\t{"},{"line":36,"text":"\t\t\t$node = $doc->createElement($this->getChildTag());"},{"line":37,"text":""},{"line":38,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":39,"text":"\t\t\t$node->appendChild($doc->createTextNode($entry->field_value));"}],[{"line":47,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":48,"text":"\t{"},{"line":49,"text":"\t\t$startTime = microtime(true);"},{"line":50,"text":""},{"line":51,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":52,"text":"\t\tif (!$entries)"},{"line":53,"text":"\t\t{"},{"line":54,"text":"\t\t\treturn false;"},{"line":55,"text":"\t\t}"},{"line":56,"text":""},{"line":57,"text":"\t\t$existing = $this->finder()->fetch()->groupBy('content_type', 'field_name');"},{"line":58,"text":""},{"line":59,"text":"\t\t$i = 0;"},{"line":60,"text":"\t\t$last = 0;"}],[{"line":132,"text":"\tprotected function getMappedAttributes()"},{"line":133,"text":"\t{"},{"line":134,"text":"\t\treturn ["},{"line":135,"text":"\t\t\t'content_type',"},{"line":136,"text":"\t\t\t'field_name',"},{"line":137,"text":"\t\t];"},{"line":138,"text":"\t}"},{"line":139,"text":"}"}]]},"Option.php":{"exists":true,"sha256":"d2a6129dbd3f40dde334388d185aec02a74e33e010b5f81305211f093d1e4e60","snippets":[[{"line":17,"text":"\tpublic function getContainerTag()"},{"line":18,"text":"\t{"},{"line":19,"text":"\t\treturn 'options';"},{"line":20,"text":"\t}"},{"line":21,"text":""},{"line":22,"text":"\tpublic function getChildTag()"},{"line":23,"text":"\t{"},{"line":24,"text":"\t\treturn 'option';"},{"line":25,"text":"\t}"},{"line":26,"text":""},{"line":27,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":28,"text":"\t{"},{"line":29,"text":"\t\t$entries = $this->finder()"},{"line":30,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":22,"text":"\tpublic function getChildTag()"},{"line":23,"text":"\t{"},{"line":24,"text":"\t\treturn 'option';"},{"line":25,"text":"\t}"},{"line":26,"text":""},{"line":27,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":28,"text":"\t{"},{"line":29,"text":"\t\t$entries = $this->finder()"},{"line":30,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":31,"text":"\t\t\t->order('option_id')->fetch();"},{"line":32,"text":""},{"line":33,"text":"\t\t$doc = $container->ownerDocument;"},{"line":34,"text":""},{"line":35,"text":"\t\tforeach ($entries AS $entry)"}],[{"line":27,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":28,"text":"\t{"},{"line":29,"text":"\t\t$entries = $this->finder()"},{"line":30,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":31,"text":"\t\t\t->order('option_id')->fetch();"},{"line":32,"text":""},{"line":33,"text":"\t\t$doc = $container->ownerDocument;"},{"line":34,"text":""},{"line":35,"text":"\t\tforeach ($entries AS $entry)"},{"line":36,"text":"\t\t{"},{"line":37,"text":"\t\t\t$node = $doc->createElement($this->getChildTag());"},{"line":38,"text":""},{"line":39,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":40,"text":"\t\t\t$node->appendChild(Xml::createDomElement($doc, 'default_value', $entry->getValue('default_value')));"}],[{"line":64,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":65,"text":"\t{"},{"line":66,"text":"\t\t$startTime = microtime(true);"},{"line":67,"text":""},{"line":68,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":69,"text":"\t\tif (!$entries)"},{"line":70,"text":"\t\t{"},{"line":71,"text":"\t\t\treturn false;"},{"line":72,"text":"\t\t}"},{"line":73,"text":""},{"line":74,"text":"\t\t$ids = $this->pluckXmlAttribute($entries, 'option_id');"},{"line":75,"text":"\t\t$existing = $this->findByIds($ids);"},{"line":76,"text":""},{"line":77,"text":"\t\t$i = 0;"}],[{"line":128,"text":"\tprotected function getMappedAttributes()"},{"line":129,"text":"\t{"},{"line":130,"text":"\t\treturn ["},{"line":131,"text":"\t\t\t'option_id',"},{"line":132,"text":"\t\t\t'edit_format',"},{"line":133,"text":"\t\t\t'data_type',"},{"line":134,"text":"\t\t\t'validation_class',"},{"line":135,"text":"\t\t\t'validation_method',"},{"line":136,"text":"\t\t\t'advanced',"},{"line":137,"text":"\t\t];"},{"line":138,"text":"\t}"},{"line":139,"text":"}"}]]},"OptionGroup.php":{"exists":true,"sha256":"9d75fc1cf5be6c69063ecaed7e0d89a5a2e29ff560e6e57125b59f90405718da","snippets":[[{"line":14,"text":"\tpublic function getContainerTag()"},{"line":15,"text":"\t{"},{"line":16,"text":"\t\treturn 'option_groups';"},{"line":17,"text":"\t}"},{"line":18,"text":""},{"line":19,"text":"\tpublic function getChildTag()"},{"line":20,"text":"\t{"},{"line":21,"text":"\t\treturn 'group';"},{"line":22,"text":"\t}"},{"line":23,"text":""},{"line":24,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":25,"text":"\t{"},{"line":26,"text":"\t\t$entries = $this->finder()"},{"line":27,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":19,"text":"\tpublic function getChildTag()"},{"line":20,"text":"\t{"},{"line":21,"text":"\t\treturn 'group';"},{"line":22,"text":"\t}"},{"line":23,"text":""},{"line":24,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":25,"text":"\t{"},{"line":26,"text":"\t\t$entries = $this->finder()"},{"line":27,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":28,"text":"\t\t\t->order('group_id')->fetch();"},{"line":29,"text":""},{"line":30,"text":"\t\tforeach ($entries AS $entry)"},{"line":31,"text":"\t\t{"},{"line":32,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"}],[{"line":24,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":25,"text":"\t{"},{"line":26,"text":"\t\t$entries = $this->finder()"},{"line":27,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":28,"text":"\t\t\t->order('group_id')->fetch();"},{"line":29,"text":""},{"line":30,"text":"\t\tforeach ($entries AS $entry)"},{"line":31,"text":"\t\t{"},{"line":32,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":33,"text":""},{"line":34,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":35,"text":""},{"line":36,"text":"\t\t\t$container->appendChild($node);"},{"line":37,"text":"\t\t}"}],[{"line":42,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":43,"text":"\t{"},{"line":44,"text":"\t\t$startTime = microtime(true);"},{"line":45,"text":""},{"line":46,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":47,"text":"\t\tif (!$entries)"},{"line":48,"text":"\t\t{"},{"line":49,"text":"\t\t\treturn false;"},{"line":50,"text":"\t\t}"},{"line":51,"text":""},{"line":52,"text":"\t\t$ids = $this->pluckXmlAttribute($entries, 'group_id');"},{"line":53,"text":"\t\t$existing = $this->findByIds($ids);"},{"line":54,"text":""},{"line":55,"text":"\t\t$i = 0;"}],[{"line":88,"text":"\tprotected function getMappedAttributes()"},{"line":89,"text":"\t{"},{"line":90,"text":"\t\treturn ["},{"line":91,"text":"\t\t\t'group_id',"},{"line":92,"text":"\t\t\t'icon',"},{"line":93,"text":"\t\t\t'display_order',"},{"line":94,"text":"\t\t\t'debug_only',"},{"line":95,"text":"\t\t];"},{"line":96,"text":"\t}"},{"line":97,"text":"}"}]]},"Permission.php":{"exists":true,"sha256":"8d6b8657e8585eb8da7f1401df882e0033f93e07179ce4df398b95d22d74c477","snippets":[[{"line":18,"text":"\tpublic function getContainerTag()"},{"line":19,"text":"\t{"},{"line":20,"text":"\t\treturn 'permissions';"},{"line":21,"text":"\t}"},{"line":22,"text":""},{"line":23,"text":"\tpublic function getChildTag()"},{"line":24,"text":"\t{"},{"line":25,"text":"\t\treturn 'permission';"},{"line":26,"text":"\t}"},{"line":27,"text":""},{"line":28,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":29,"text":"\t{"},{"line":30,"text":"\t\t$entries = $this->finder()"},{"line":31,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":23,"text":"\tpublic function getChildTag()"},{"line":24,"text":"\t{"},{"line":25,"text":"\t\treturn 'permission';"},{"line":26,"text":"\t}"},{"line":27,"text":""},{"line":28,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":29,"text":"\t{"},{"line":30,"text":"\t\t$entries = $this->finder()"},{"line":31,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":32,"text":"\t\t\t->order(['permission_group_id', 'permission_id'])->fetch();"},{"line":33,"text":""},{"line":34,"text":"\t\tforeach ($entries AS $entry)"},{"line":35,"text":"\t\t{"},{"line":36,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"}],[{"line":28,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":29,"text":"\t{"},{"line":30,"text":"\t\t$entries = $this->finder()"},{"line":31,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":32,"text":"\t\t\t->order(['permission_group_id', 'permission_id'])->fetch();"},{"line":33,"text":""},{"line":34,"text":"\t\tforeach ($entries AS $entry)"},{"line":35,"text":"\t\t{"},{"line":36,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":37,"text":""},{"line":38,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":39,"text":""},{"line":40,"text":"\t\t\t$container->appendChild($node);"},{"line":41,"text":"\t\t}"}],[{"line":46,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":47,"text":"\t{"},{"line":48,"text":"\t\t$startTime = microtime(true);"},{"line":49,"text":""},{"line":50,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":51,"text":"\t\tif (!$entries)"},{"line":52,"text":"\t\t{"},{"line":53,"text":"\t\t\treturn false;"},{"line":54,"text":"\t\t}"},{"line":55,"text":""},{"line":56,"text":"\t\t$conditions = [];"},{"line":57,"text":"\t\tforeach ($entries AS $entry)"},{"line":58,"text":"\t\t{"},{"line":59,"text":"\t\t\t$conditions[] = ["}],[{"line":149,"text":"\tprotected function getMappedAttributes()"},{"line":150,"text":"\t{"},{"line":151,"text":"\t\treturn ["},{"line":152,"text":"\t\t\t'permission_group_id',"},{"line":153,"text":"\t\t\t'permission_id',"},{"line":154,"text":"\t\t\t'permission_type',"},{"line":155,"text":"\t\t\t'depend_permission_id',"},{"line":156,"text":"\t\t\t'interface_group_id',"},{"line":157,"text":"\t\t\t'display_order',"},{"line":158,"text":"\t\t];"},{"line":159,"text":"\t}"},{"line":160,"text":"}"}]]},"PermissionInterfaceGroup.php":{"exists":true,"sha256":"b2b1397ba1dc3174f680ebe4796a88904aa577db969177485d56cd7568c1f8d6","snippets":[[{"line":15,"text":"\tpublic function getContainerTag()"},{"line":16,"text":"\t{"},{"line":17,"text":"\t\treturn 'permission_interface_groups';"},{"line":18,"text":"\t}"},{"line":19,"text":""},{"line":20,"text":"\tpublic function getChildTag()"},{"line":21,"text":"\t{"},{"line":22,"text":"\t\treturn 'interface_group';"},{"line":23,"text":"\t}"},{"line":24,"text":""},{"line":25,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":26,"text":"\t{"},{"line":27,"text":"\t\t$entries = $this->finder()"},{"line":28,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":20,"text":"\tpublic function getChildTag()"},{"line":21,"text":"\t{"},{"line":22,"text":"\t\treturn 'interface_group';"},{"line":23,"text":"\t}"},{"line":24,"text":""},{"line":25,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":26,"text":"\t{"},{"line":27,"text":"\t\t$entries = $this->finder()"},{"line":28,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":29,"text":"\t\t\t->order('interface_group_id')->fetch();"},{"line":30,"text":""},{"line":31,"text":"\t\tforeach ($entries AS $entry)"},{"line":32,"text":"\t\t{"},{"line":33,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"}],[{"line":25,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":26,"text":"\t{"},{"line":27,"text":"\t\t$entries = $this->finder()"},{"line":28,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":29,"text":"\t\t\t->order('interface_group_id')->fetch();"},{"line":30,"text":""},{"line":31,"text":"\t\tforeach ($entries AS $entry)"},{"line":32,"text":"\t\t{"},{"line":33,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":34,"text":""},{"line":35,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":36,"text":""},{"line":37,"text":"\t\t\t$container->appendChild($node);"},{"line":38,"text":"\t\t}"}],[{"line":43,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":44,"text":"\t{"},{"line":45,"text":"\t\t$startTime = microtime(true);"},{"line":46,"text":""},{"line":47,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":48,"text":"\t\tif (!$entries)"},{"line":49,"text":"\t\t{"},{"line":50,"text":"\t\t\treturn false;"},{"line":51,"text":"\t\t}"},{"line":52,"text":""},{"line":53,"text":"\t\t$ids = $this->pluckXmlAttribute($entries, 'interface_group_id');"},{"line":54,"text":"\t\t$existing = $this->findByIds($ids);"},{"line":55,"text":""},{"line":56,"text":"\t\t$i = 0;"}],[{"line":95,"text":"\tprotected function getMappedAttributes()"},{"line":96,"text":"\t{"},{"line":97,"text":"\t\treturn ["},{"line":98,"text":"\t\t\t'interface_group_id',"},{"line":99,"text":"\t\t\t'display_order',"},{"line":100,"text":"\t\t\t'is_moderator',"},{"line":101,"text":"\t\t];"},{"line":102,"text":"\t}"},{"line":103,"text":"}"}]]},"Phrase.php":{"exists":true,"sha256":"af1d53936447b820d9f3dc3e50a7058dfe96890417f5fd466fb1361d99988266","snippets":[[{"line":16,"text":"\tpublic function getContainerTag()"},{"line":17,"text":"\t{"},{"line":18,"text":"\t\treturn 'phrases';"},{"line":19,"text":"\t}"},{"line":20,"text":""},{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'phrase';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'phrase';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->where('language_id', 0)"},{"line":31,"text":"\t\t\t->order('title')->fetch();"},{"line":32,"text":"\t\tforeach ($entries AS $entry)"},{"line":33,"text":"\t\t{"},{"line":34,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"}],[{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->where('language_id', 0)"},{"line":31,"text":"\t\t\t->order('title')->fetch();"},{"line":32,"text":"\t\tforeach ($entries AS $entry)"},{"line":33,"text":"\t\t{"},{"line":34,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":35,"text":""},{"line":36,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":37,"text":"\t\t\tif ($entry['global_cache'])"},{"line":38,"text":"\t\t\t{"},{"line":39,"text":"\t\t\t\t$node->setAttribute('global_cache', '1');"}],[{"line":49,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":50,"text":"\t{"},{"line":51,"text":"\t\t$startTime = microtime(true);"},{"line":52,"text":""},{"line":53,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":54,"text":"\t\tif (!$entries)"},{"line":55,"text":"\t\t{"},{"line":56,"text":"\t\t\treturn false;"},{"line":57,"text":"\t\t}"},{"line":58,"text":""},{"line":59,"text":"\t\t$ids = $this->pluckXmlAttribute($entries, 'title');"},{"line":60,"text":""},{"line":61,"text":"\t\t// This chucking approach has been taken due to a MariaDB performance regression with large"},{"line":62,"text":"\t\t// IN clauses (see #187523). However, this may have benefits on some slower servers as this"}],[{"line":121,"text":"\tprotected function getMappedAttributes()"},{"line":122,"text":"\t{"},{"line":123,"text":"\t\treturn ["},{"line":124,"text":"\t\t\t'title',"},{"line":125,"text":"\t\t\t'version_id',"},{"line":126,"text":"\t\t\t'version_string',"},{"line":127,"text":"\t\t];"},{"line":128,"text":"\t}"},{"line":129,"text":"}"}]]},"Route.php":{"exists":true,"sha256":"ffd5dc9411b761a264810af2241af71c553ab2b409f670305687e9d4d75a34bb","snippets":[[{"line":16,"text":"\tpublic function getContainerTag()"},{"line":17,"text":"\t{"},{"line":18,"text":"\t\treturn 'routes';"},{"line":19,"text":"\t}"},{"line":20,"text":""},{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'route';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":21,"text":"\tpublic function getChildTag()"},{"line":22,"text":"\t{"},{"line":23,"text":"\t\treturn 'route';"},{"line":24,"text":"\t}"},{"line":25,"text":""},{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->order(['route_type', 'route_prefix', 'sub_name'])->fetch();"},{"line":31,"text":"\t\tforeach ($entries AS $entry)"},{"line":32,"text":"\t\t{"},{"line":33,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":34,"text":""}],[{"line":26,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":27,"text":"\t{"},{"line":28,"text":"\t\t$entries = $this->finder()"},{"line":29,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":30,"text":"\t\t\t->order(['route_type', 'route_prefix', 'sub_name'])->fetch();"},{"line":31,"text":"\t\tforeach ($entries AS $entry)"},{"line":32,"text":"\t\t{"},{"line":33,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":34,"text":""},{"line":35,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":36,"text":""},{"line":37,"text":"\t\t\t$container->appendChild($node);"},{"line":38,"text":"\t\t}"},{"line":39,"text":""}],[{"line":43,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":44,"text":"\t{"},{"line":45,"text":"\t\t$startTime = microtime(true);"},{"line":46,"text":""},{"line":47,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":48,"text":"\t\tif (!$entries)"},{"line":49,"text":"\t\t{"},{"line":50,"text":"\t\t\treturn false;"},{"line":51,"text":"\t\t}"},{"line":52,"text":""},{"line":53,"text":"\t\t$conditions = [];"},{"line":54,"text":"\t\t$existing = [];"},{"line":55,"text":"\t\tforeach ($entries AS $entry)"},{"line":56,"text":"\t\t{"}],[{"line":154,"text":"\tprotected function getMappedAttributes()"},{"line":155,"text":"\t{"},{"line":156,"text":"\t\treturn ["},{"line":157,"text":"\t\t\t'route_type',"},{"line":158,"text":"\t\t\t'route_prefix',"},{"line":159,"text":"\t\t\t'sub_name',"},{"line":160,"text":"\t\t\t'format',"},{"line":161,"text":"\t\t\t'build_class',"},{"line":162,"text":"\t\t\t'build_method',"},{"line":163,"text":"\t\t\t'controller',"},{"line":164,"text":"\t\t\t'context',"},{"line":165,"text":"\t\t\t'action_prefix',"},{"line":166,"text":"\t\t];"},{"line":167,"text":"\t}"}]]},"Template.php":{"exists":true,"sha256":"fecae5772cfd98cb53672180957a3a50a521d6ee6194dd5d7a346630afb3933a","snippets":[[{"line":15,"text":"\tpublic function getContainerTag()"},{"line":16,"text":"\t{"},{"line":17,"text":"\t\treturn 'templates';"},{"line":18,"text":"\t}"},{"line":19,"text":""},{"line":20,"text":"\tpublic function getChildTag()"},{"line":21,"text":"\t{"},{"line":22,"text":"\t\treturn 'template';"},{"line":23,"text":"\t}"},{"line":24,"text":""},{"line":25,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":26,"text":"\t{"},{"line":27,"text":"\t\t$entries = $this->finder()"},{"line":28,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":20,"text":"\tpublic function getChildTag()"},{"line":21,"text":"\t{"},{"line":22,"text":"\t\treturn 'template';"},{"line":23,"text":"\t}"},{"line":24,"text":""},{"line":25,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":26,"text":"\t{"},{"line":27,"text":"\t\t$entries = $this->finder()"},{"line":28,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":29,"text":"\t\t\t->where('style_id', 0)"},{"line":30,"text":"\t\t\t->order(['type', 'title'])->fetch();"},{"line":31,"text":"\t\tforeach ($entries AS $entry)"},{"line":32,"text":"\t\t{"},{"line":33,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"}],[{"line":25,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":26,"text":"\t{"},{"line":27,"text":"\t\t$entries = $this->finder()"},{"line":28,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":29,"text":"\t\t\t->where('style_id', 0)"},{"line":30,"text":"\t\t\t->order(['type', 'title'])->fetch();"},{"line":31,"text":"\t\tforeach ($entries AS $entry)"},{"line":32,"text":"\t\t{"},{"line":33,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":34,"text":""},{"line":35,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":36,"text":"\t\t\t$this->exportCdata($node, $entry->template);"},{"line":37,"text":""},{"line":38,"text":"\t\t\t$container->appendChild($node);"}],[{"line":44,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":45,"text":"\t{"},{"line":46,"text":"\t\t$startTime = microtime(true);"},{"line":47,"text":""},{"line":48,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":49,"text":"\t\tif (!$entries)"},{"line":50,"text":"\t\t{"},{"line":51,"text":"\t\t\treturn false;"},{"line":52,"text":"\t\t}"},{"line":53,"text":""},{"line":54,"text":"\t\t$conditions = [];"},{"line":55,"text":"\t\tforeach ($entries AS $entry)"},{"line":56,"text":"\t\t{"},{"line":57,"text":"\t\t\t$conditions[] = ["}],[{"line":156,"text":"\tprotected function getMappedAttributes()"},{"line":157,"text":"\t{"},{"line":158,"text":"\t\treturn ["},{"line":159,"text":"\t\t\t'type',"},{"line":160,"text":"\t\t\t'title',"},{"line":161,"text":"\t\t\t'version_id',"},{"line":162,"text":"\t\t\t'version_string',"},{"line":163,"text":"\t\t];"},{"line":164,"text":"\t}"},{"line":165,"text":"}"}]]},"TemplateModification.php":{"exists":true,"sha256":"c27e2bb5baa379dcaf0eab73f35fcc62f5ce656fbccbcb4d6ded095d83b4b31a","snippets":[[{"line":18,"text":"\tpublic function getContainerTag()"},{"line":19,"text":"\t{"},{"line":20,"text":"\t\treturn 'template_modifications';"},{"line":21,"text":"\t}"},{"line":22,"text":""},{"line":23,"text":"\tpublic function getChildTag()"},{"line":24,"text":"\t{"},{"line":25,"text":"\t\treturn 'modification';"},{"line":26,"text":"\t}"},{"line":27,"text":""},{"line":28,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":29,"text":"\t{"},{"line":30,"text":"\t\t$entries = $this->finder()"},{"line":31,"text":"\t\t\t->where('addon_id', $addOnId)"}],[{"line":23,"text":"\tpublic function getChildTag()"},{"line":24,"text":"\t{"},{"line":25,"text":"\t\treturn 'modification';"},{"line":26,"text":"\t}"},{"line":27,"text":""},{"line":28,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":29,"text":"\t{"},{"line":30,"text":"\t\t$entries = $this->finder()"},{"line":31,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":32,"text":"\t\t\t->order(['template', 'modification_key'])->fetch();"},{"line":33,"text":"\t\tforeach ($entries AS $entry)"},{"line":34,"text":"\t\t{"},{"line":35,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":36,"text":""}],[{"line":28,"text":"\tpublic function exportAddOnData($addOnId, \\DOMElement $container)"},{"line":29,"text":"\t{"},{"line":30,"text":"\t\t$entries = $this->finder()"},{"line":31,"text":"\t\t\t->where('addon_id', $addOnId)"},{"line":32,"text":"\t\t\t->order(['template', 'modification_key'])->fetch();"},{"line":33,"text":"\t\tforeach ($entries AS $entry)"},{"line":34,"text":"\t\t{"},{"line":35,"text":"\t\t\t$node = $container->ownerDocument->createElement($this->getChildTag());"},{"line":36,"text":""},{"line":37,"text":"\t\t\t$this->exportMappedAttributes($node, $entry);"},{"line":38,"text":""},{"line":39,"text":"\t\t\t$this->exportCdataToNewNode($node, 'find', $entry);"},{"line":40,"text":"\t\t\t$this->exportCdataToNewNode($node, 'replace', $entry);"},{"line":41,"text":""}],[{"line":48,"text":"\tpublic function importAddOnData($addOnId, \\SimpleXMLElement $container, $start = 0, $maxRunTime = 0)"},{"line":49,"text":"\t{"},{"line":50,"text":"\t\t$startTime = microtime(true);"},{"line":51,"text":""},{"line":52,"text":"\t\t$entries = $this->getEntries($container, $start);"},{"line":53,"text":"\t\tif (!$entries)"},{"line":54,"text":"\t\t{"},{"line":55,"text":"\t\t\treturn false;"},{"line":56,"text":"\t\t}"},{"line":57,"text":""},{"line":58,"text":"\t\t$keys = $this->pluckXmlAttribute($entries, 'modification_key');"},{"line":59,"text":"\t\t$existing = $this->finder()"},{"line":60,"text":"\t\t\t->where('modification_key', $keys)"},{"line":61,"text":"\t\t\t->keyedBy('modification_key')"}],[{"line":140,"text":"\tprotected function getMappedAttributes()"},{"line":141,"text":"\t{"},{"line":142,"text":"\t\treturn ["},{"line":143,"text":"\t\t\t'type',"},{"line":144,"text":"\t\t\t'template',"},{"line":145,"text":"\t\t\t'modification_key',"},{"line":146,"text":"\t\t\t'description',"},{"line":147,"text":"\t\t\t'execution_order',"},{"line":148,"text":"\t\t\t'enabled',"},{"line":149,"text":"\t\t\t'action',"},{"line":150,"text":"\t\t];"},{"line":151,"text":"\t}"},{"line":152,"text":""},{"line":153,"text":"\tprotected function getMaintainedAttributes()"}]]}},"db":null,"db_probe":{"rc":0,"stderr_sha256":""},"error_probe":{"rc":0,"stderr_sha256":""},"errors_after_43":null,"guest":"newfi-staging","identity_ok":true,"root":{"state":"DIR"},"runtime":{"http_code":"503","http_rc":0,"services":{"mariadb":{"rc":0,"state":"active"},"nginx":{"rc":0,"state":"active"},"php8.3-fpm":{"rc":0,"state":"active"}}},"scope":"READ_ONLY_NO_MUTATION","setup_contract":{"src/XF/AddOn/AbstractSetup.php":{"exists":true,"hits":[{"line":25,"text":"abstract public function install(array $stepParams = []);"},{"line":39,"text":"abstract public function uninstall(array $stepParams = []);"}],"sha256":"6bdd3fe834e15b963a52c9357f54262f2d12f3c7c3686fc31333b549cddf2d88"},"src/XF/AddOn/StepRunnerInstallTrait.php":{"exists":true,"hits":[{"line":17,"text":"public function install(array $stepParams = [])"},{"line":53,"text":"private function installStepRunner($step, array $stepParams)"}],"sha256":"1f441b8a3101b97009ae04e62c04e79062a89f1e01a08ae9e07c5e629c76d5f2"},"src/XF/AddOn/StepRunnerUninstallTrait.php":{"exists":true,"hits":[{"line":17,"text":"public function uninstall(array $stepParams = [])"},{"line":52,"text":"private function uninstallStepRunner($step, array $stepParams)"}],"sha256":"e58a9ab9c30e3cf3c41a0be392e8c5ac37f744578f7b91f76d663139649c49a9"},"src/XF/Db/Schema/Column.php":{"exists":true,"hits":[{"line":254,"text":"public function unsigned($unsigned = null)"},{"line":276,"text":"public function setDefault($default)"},{"line":283,"text":"public function autoIncrement($autoIncrement = null, $setAsPrimary = true)"}],"sha256":"d6749157309835460b98e3e09d33533409850a1fb808417f28e89a97a3775730"},"src/XF/Db/Schema/Create.php":{"exists":true,"hits":[],"sha256":"4b2f0bf31fc3f133b10577c24024f2883c80296478ee4adf5c91930c6b896ddd"}},"stage039":{"state":"ABSENT"},"xml_exemplars":{"code_event_listeners.xml":[],"content_type_fields.xml":[],"option_groups.xml":[],"options.xml":[],"permission_interface_groups.xml":[],"permissions.xml":[],"phrases.xml":[{"addon":"src/addons/Newfi/Portal","child_count":1,"first":[{"attrs":{"title":"nav.newfiPortal","version_id":"1000010","version_string":"1.0.0 Alpha 1"},"tag":"phrase","text_len":5,"text_sha256":"661a914783b315dcc04a526122b417b6cfe9b77f351a51c9cab31baf158bdcba"}],"root":"phrases","root_attrs":{}}],"routes.xml":[{"addon":"src/addons/Newfi/Dogs","child_count":1,"first":[{"attrs":{"controller":"Newfi\\Dogs:Dogs","route_prefix":"dogs","route_type":"public"},"tag":"route"}],"root":"routes","root_attrs":{}},{"addon":"src/addons/Newfi/Events","child_count":1,"first":[{"attrs":{"controller":"Newfi\\Events:Events","route_prefix":"events","route_type":"public"},"tag":"route"}],"root":"routes","root_attrs":{}}],"template_modifications.xml":[],"templates.xml":[{"addon":"src/addons/Newfi/Dogs","child_count":1,"first":[{"attrs":{"title":"newfi_dogs","type":"public","version_id":"1000010","version_string":"1.0.0 Alpha 1"},"tag":"template","text_len":670,"text_sha256":"02296119da34471dde7d4ef03b599fd0338d4fa5853d43e55bb163bb9921a229"}],"root":"templates","root_attrs":{}},{"addon":"src/addons/Newfi/Events","child_count":1,"first":[{"attrs":{"title":"newfi_events","type":"public","version_id":"1000010","version_string":"1.0.0 Alpha 1"},"tag":"template","text_len":590,"text_sha256":"5c6d907b5b263765bf4d1d34f025aaf26cf6a268675028224826ca2882a947e9"}],"root":"templates","root_attrs":{}}]}}
SUPPORT041_RESIDUAL_SUM=0
SUPPORT041_DECISION=HOLD_POSTROLLBACK_OR_RUNTIME_DRIFT
SUPPORT041_MUTATION_SCOPE=NONE_READ_ONLY
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260909-GRAM-XF-STAGING-FORENSIC-041","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
SUPPORT041_END

OUTPUT_END
CHAT_OUTPUT_END
