/** * Loading of related XML files * * @param string $extensionName Extension name * * @return array List of objects */ public static function loadContentElements($extensionName = '') { jimport('joomla.filesystem.folder'); $extensions = array(); if (empty($extensionName)) { $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(JPATH_SITE . '/media/redcore/translations')); /** @var SplFileInfo $fileInfo */ foreach ($iterator as $fileInfo) { if ($fileInfo->isDir()) { $extensions[] = $fileInfo->getFilename(); } } } else { $extensions[] = $extensionName; } foreach ($extensions as $extension) { $contentElementsXml = array(); $contentElementsXmlRedcorePath = RTranslationContentElement::getContentElementFolderPath($extension, true); if (is_dir($contentElementsXmlRedcorePath)) { $contentElementsXml = JFolder::files($contentElementsXmlRedcorePath, '.xml', true); } $contentElementsXmlExtensionPath = RTranslationContentElement::getContentElementFolderPath($extension); if (is_dir($contentElementsXmlExtensionPath)) { $contentElementsXmlExtension = JFolder::files($contentElementsXmlExtensionPath, '.xml', true); if (!empty($contentElementsXmlExtension)) { $contentElementsXml = array_merge($contentElementsXml, $contentElementsXmlExtension); } } if (!empty($contentElementsXml)) { self::$contentElements[$extension] = array(); foreach ($contentElementsXml as $contentElementXml) { $contentElement = new RTranslationContentElement($extension, $contentElementXml); self::$contentElements[$extension][$contentElement->table] = $contentElement; } } } }
/** * Upload Content Element to redcore media location * * @param string $option The Extension Name ex. com_redcore * @param array $files The array of Files (file descriptor returned by PHP) * * @return boolean Returns true if Upload was successful */ public static function uploadContentElement($option = 'com_redcore', $files = array()) { $uploadOptions = array('allowedFileExtensions' => 'xml', 'allowedMIMETypes' => 'application/xml, text/xml', 'overrideExistingFile' => true); return RFilesystemFile::uploadFiles($files, RTranslationContentElement::getContentElementFolderPath($option), $uploadOptions); }