public static function getManifest() { // Create the file manifest $manifest = new \GreenCape\Manifest\FileManifest(); // Meta data $manifest->setTarget('3.1')->setMethod('upgrade')->setName('files_joomla')->setAuthor('Joomla! Project')->setAuthorEmail('*****@*****.**')->setAuthorUrl('www.joomla.org')->setCopyright('2005 - 2013', 'Open Source Matters', false)->setLicense('GNU General Public License version 2 or later; see LICENSE.txt')->setVersion('3.1.1')->setCreationDate('April 2013')->setDescription('FILES_JOOMLA_XML_DESCRIPTION'); // Installer hooks $manifest->setScriptFile('administrator/components/com_admin/script.php'); // SQL files $update = new \GreenCape\Manifest\SchemaSection(); $update->addFolder('mysql', 'administrator/components/com_admin/sql/updates/mysql')->addFolder('sqlsrv', 'administrator/components/com_admin/sql/updates/sqlsrv')->addFolder('sqlazure', 'administrator/components/com_admin/sql/updates/sqlazure')->addFolder('postgresql', 'administrator/components/com_admin/sql/updates/postgresql'); $manifest->addSection('update', $update); // Front-end files $files = new \GreenCape\Manifest\FileSection(); $files->addFolder('administrator')->addFolder('cache')->addFolder('cli')->addFolder('components')->addFolder('images')->addFolder('includes')->addFolder('language')->addFolder('layouts')->addFolder('libraries')->addFolder('logs')->addFolder('media')->addFolder('modules')->addFolder('plugins')->addFolder('templates')->addFolder('tmp')->addFile('htaccess.txt')->addFile('web.config.txt')->addFile('LICENSE.txt')->addFile('README.txt')->addFile('index.php'); $fileset = new \GreenCape\Manifest\FilesetSection(); $fileset->addFileset($files); $manifest->addSection('fileset', $fileset); // Extension Update Specification $server = new \GreenCape\Manifest\ServerSection(); $server->addServer('collection', null, 'http://update.joomla.org/core/list.xml')->addServer('collection', null, 'http://update.joomla.org/jed/list.xml'); $manifest->addSection('updateservers', $server); return $manifest; }
public function testAttributesDoNotFlowIntoSiblings() { $files = new \GreenCape\Manifest\FileSection(); $files->setBase('site'); $files->addFile('foo.php'); $files->addFolder('bar'); $this->manifest->addSection('files', $files); preg_match_all('~\\<(\\w+)[^>]*folder="site"~sm', (string) $this->manifest, $matches, PREG_SET_ORDER); $this->assertEquals(1, count($matches)); $this->assertEquals('files', $matches[0][1]); }