/** * Get the properties on this source * @param boolean $parsed * @return array */ public function getProperties($parsed = false) { $properties = $this->get('properties'); $defaultProperties = $this->getDefaultProperties(); if (!empty($properties) && is_array($properties)) { foreach ($properties as &$property) { $property['overridden'] = 0; if (array_key_exists($property['name'], $defaultProperties)) { if ($defaultProperties[$property['name']]['value'] != $property['value']) { $property['overridden'] = 1; } } else { $property['overridden'] = 2; } } $properties = array_merge($defaultProperties, $properties); } else { $properties = $defaultProperties; } /** @var array $results Allow manipulation of media source properties via event */ $results = $this->xpdo->invokeEvent('OnMediaSourceGetProperties', array('properties' => $this->xpdo->toJson($properties))); if (!empty($results)) { foreach ($results as $result) { $result = is_array($result) ? $result : $this->xpdo->fromJSON($result); $properties = array_merge($properties, $result); } } if ($parsed) { $properties = $this->parseProperties($properties); } return $this->prepareProperties($properties); }
$plugin_events = is_array($events) ? array_merge($plugin_events, $events) : $plugin_events; $el_i++; } if (is_array($plugins)) { if ($category->addMany($plugins, 'Plugins')) { $helper->sendLog(modX::LOG_LEVEL_INFO, ' ' . $modx->lexicon('mc_packaged') . ' ' . count($plugins) . ' ' . $modx->lexicon('mc_plugins')); } else { $helper->sendLog(modX::LOG_LEVEL_FATAL, ' ' . $modx->lexicon('mc_adding_plugins_failed')); } } else { $helper->sendLog(modX::LOG_LEVEL_FATAL, ' ' . $modx->lexicon('mc_non_array_in') . ' transport.plugins.php'); } } $filename = $sources['resolvers'] . 'plugin.resolver.php'; if (file_exists($filename)) { $plugin_events = $modx->toJson($plugin_events); $content = file_get_contents($filename); $content = str_replace('{events}', $plugin_events, $content); file_put_contents($filename, $content); } /* Create Category attributes array dynamically * based on which elements are present */ $attr = array(xPDOTransport::UNIQUE_KEY => 'category', xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::RELATED_OBJECTS => true); /* Only add this on first pass if no subPackages */ if ($hasValidators && $i == 1 && !$hasSubPackages) { $attr[xPDOTransport::ABORT_INSTALL_ON_VEHICLE_FAIL] = true; } if ($hasSnippets) { $attr[xPDOTransport::RELATED_OBJECT_ATTRIBUTES]['Snippets'] = array(xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::UNIQUE_KEY => 'name'); }